HNHacker News
TopNewBestAskShowJobs

chaddeshon

586 karma · joined April 25, 2010

chad dot deshon at gmail dot com @chaddeshon

www.BoardGameTables.com

@RoyalsUmp (and every other MLB Team Ump) - Did an MLB umpire make a bad ball/strike call? Tweets when umpires make bad calls.

submissionscomments
chaddeshon··on The Humble Programmer (1972)
These are two of the most depressing comment I've ever read, not just on Hackernews, but on the whole internet. So much so that I wonder if they were written with sarcasm that escapes me.

They represent a philosophy that is referenced often but always before as an unintentional consequence of our internal laziness -- a laziness that should be fought against. However here it is being presented as a conscious choice. Indeed a right, proper, and good, choice.

The commenters seem to be arguing that reading is only worth the time if the content has been distilled to its basic facts, and further that that facts need to be immediately actionable. Have we no room for soul? Do we lack the energy to take general concepts and apply them to new areas in new ways?

When we break a larger writing down and extract just the main theses, we make it easier and quicker to under understand, but we also neuter and even change the meaning. Sometimes what we learn or what we experience is subtle. Sometimes writing doesn't give us a todo list, but instead it ever-so-gently shades and nudges all our todo lists.

chaddeshon··on SEO in JavaScript Web Apps
I made a web service that will do javascript SEO for you. Check it out at BromBone.com.

We render your entire page for you a save it has html on a CDN. Then you can just do the simple routing described in this article, but send Google the page from our CDN instead. That way Google sees the exact same thing as your users, but you don't have to code it again.

chaddeshon··on Show HN: I'm a single founder. Please review my bootstrapped startup
So what process am I using now that you are going to replace? I must be doing something because my code gets deployed.

Give point by point details about how what I am doing right now sucks. It make me hate my job, keeps me up at night, turns away customers, and loses me money.

Then, after you have convinced me that my current process sucks (and epiphanized with me that it was the best I could do at the time), go back though every point and tell me how you have fixed them.

chaddeshon··on Show HN: I'm a single founder. Please review my bootstrapped startup
I think you should spend some time to talk about the pain you are fixing. There's no hook. What problem am I having now that you are going to make go away?
chaddeshon··on Show HN: I'm a single founder. Please review my bootstrapped startup
You just have a signup for beta button that you are using to collect email address instead of a full pricing page. I understand why people tend to do their for their first version. You're scared that not everything works yet, and you don't want to take the time to setup the payment system if no one even wants it.

However, this does a disservice to you and to me.

To you: You don't really know if people want to buy your product or not. Collecting email addresses is way easier that collecting money. It's also not nearly as exciting. Don't remove the option for me to just give you just my email address, but also let me give you money.

You'll know I really want your product that way. Also, initial customers are probably more forgiving that you imagine. Worst case scenario, you can just refund the money.

To me: Without the pricing page, I can't really tell what your product does. For all the description and "how it works" pages in the world, nothing really tells me what you are selling like your pricing page.

Companies tend to charge where they are adding value. If I can see what you are charging for, I can see where you are going to add value to my company. Are you charging per server, per deploy, per employee, per user? Without the pricing page, I don't understand what I'm buying.

chaddeshon··on Ask HN: How do you backup your web app/business/startup?
I use Dropbox, which also makes it easy to switch between the desktop and laptop.
chaddeshon··on Ask HN: When did people start paying for your SaaS and why?
We follow all of Google's recommendations for making AJAX website crawlable. https://developers.google.com/webmasters/ajax-crawling/

Google does process some javascript, but it can't crawl full blown AJAX websites.

chaddeshon··on Ask HN: When did people start paying for your SaaS and why?
You don't happen to know anyone who works there do you?
chaddeshon··on Ask HN: When did people start paying for your SaaS and why?
Do you mean how did I decide which market to target or how have I marketed to those people? Either way, same answer. I choose a market/community I was already part of and understood.

My mistake was not doing that the first time. I knew there would be a market for a headless browser service in the client-side javascript framework community. I tried to expand it to also include testing and screen capture. I didn't understand those markets. I wasn't able to offer value there, but trying prevented me from offering max value to the market I did understand.

chaddeshon··on Ask HN: When did people start paying for your SaaS and why?
I launched BromBone a few months ago. About 150 people signed up and tried it at least once. Most of them never came back after that. No one ever paid.

A few weeks ago, I refocused BromBone into a subset of what it was before. I've already got a handful of paid accounts and I expect a few more soon. I'm not rich yet, but some people paying is way better than no one paying. There is hope this time.

For BromBone, I think there are two main things that have made the difference:

1) The first version of the service would make developer's lives a little easier but still leaves a lot of development for them to do. The new version completely eliminates a pain for them with very little work on their part.

The first version could have been helpful to a lot of different people. I thought a bigger market would be better. Instead it meant: * I couldn't focus on one community * I had to try to market to communities I didn't really understand * It fix half of a lot of people's problems, but didn't completely fix anyone's

2) The new version has a landing page that looks more like a traditional SaaS landing page. I tried to go my own way to much with the previous landing page. I'm not a designer, and I didn't pull it off. I think the new landing page looks more legit to people and makes them more likely to recommend it to their boss.

--

BromBone v1 was a "Headless Browser as a Service". BromBone v2 is "Make your AngularJS, EmberJS, or BackboneJS website Crawlable by Google". http://www.BromBone.com

chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
Thanks for your suggestion about CloudFlare. I am looking into it.
chaddeshon··on What Lazy Evaluation Really Means
I was excited to read the article, but it was really long. Seemed like it might take a lot of work to read.
chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
You're right. Getting these first ten is SO hard.

After I have ten customers, I will have much more information to base my prices and differentiators on.

chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
I have a section about that. I hope people will read it.
chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
I don't know. That was brought up in my previous posting, and I've had some people email me about it. It's hard for me to tell. I'm just not in that community enough to understand their needs.

I'm afraid that every scraping project is just enough different that it would be hard to write something that offered value to a lot of people.

chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
I almost did that. Ultimately I decided to take an "it just works" philosophy to crawl frequency (unless you need realtime).

Would you segment the number of pages differently? I think some sites with a lot of user generated content might actually have a ton of pages. But it is hard to get real numbers.

chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
This is actually the method that Google recommends for these AJAX powered websites. https://developers.google.com/webmasters/ajax-crawling/

I am just letting people out source the hard work. Since the rendered page will be proxied from BromBone, there will be no way to tell that the same it rendered the file instead of the normal webserver.

chaddeshon··on Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google
Clickable: http://www.brombone.com
chaddeshon··on Why Aren't Top Journalists Rich?
It was the article's idea to compare these two groups, not mine.
chaddeshon··on Why Aren't Top Journalists Rich?
It looks like the top journalists are rich. The article says Anderson Cooper is making $10 million per year just from his show and Fareed Zakaria is commanding $75K per appearance.

The article says they don't count because they aren't print journalists. Isn't that like a orchestra violist asking why top musicians aren't rich, but then saying Justin Timberlake and Rihanna don't count because they aren't orchestra musicians?

It seems like the big money in journalism is in video, not print. Just like the big money in music is in pop, not classical.

I suspect this is because it is easier for the casual viewer to quickly notice the difference between two people on screen compared to two people's writing. Being easier to recognize makes it easier to gain a following.

chaddeshon··on Sell HN: Do you have a side project you want to sell?
I have CrosswordPuzzleMaker.org. It was an attempt to copy Bingo Card Creator for crossword puzzles. I have about 300 trial accounts (with email addresses), but no paid accounts.

I'm on the second page when you Google Crossword Puzzle Maker, but that only brings in about 10 visitors/day. Getting to the first page could bring some decent traffic.

The site works, but its features right now are pretty minimal.

chaddeshon··on Hands-on AngularJS with Backlift part 2: Wiring up a back-end API
Sweet.

"In the future backlift will support custom URLs using your own domain." http://backlift.github.io/docs/all.html

also: https://github.com/backlift/docs/issues/6

chaddeshon··on Hands-on AngularJS with Backlift part 2: Wiring up a back-end API
I was about to signup, but I saw that you don't support custom domains yet. Any idea when that is coming?
chaddeshon··on Lessons Learned: A Year with a Large AngularJS Project
Everyone is telling you ways to get around this, but IMO, if you aren't using Angular templates, then you really aren't using Angular.

ng-repeat, and other powerful directives are what's great about Angular. Instead of writing code to loop through something, you declare that it should be repeated. Templates are much easier to read this way.

Directives change you way you view your markup. Instead of writing a script that generates the markup you want, you are using a new, more powerful markup language that knows about repeated elements (among other things).

And when the data changes, the webpage just updates, with no thought required by you. Recently, I have started using Firebase, which makes this even more powerful (any realtime updating database library would do the same). I just have to say where in Firebase I want to fetch the data from, and where that data goes in the template. From then on, my webpage stays up to date as the data in the database changes (regardless of who changes it).

chaddeshon··on Lessons Learned: A Year with a Large AngularJS Project
I really think AngularJS with Firebase is the future. Using Firebase makes you app real-time, with no additional development.

When you don't have to write any server side code at all, it can really speed things up.

chaddeshon··on Lessons Learned: A Year with a Large AngularJS Project
I agree. I think when people say "large" they mean that spaghetti jQuery code wasn't working anymore. I was able to get to 10K LOC with a well thought out hombrew jQuery framework (Angular, Backbone, etc weren't available when we started), and it was still fairly maintainable. As I approach 20K lines of code it is getting out of hand. I would like to switch the project o Angular.

I'd love to hear more about the problems/questions you are having. Have you found answers to some? Here's what I have come up with. How does it compare to what you are doing?

"can views do I/O" I've put file I/O in a controller. If I would have needed to share it across multiple pages, then I would have put it in a service

"does a view own his model" I have model classes defined outside of Angular. Services access my API to create new objects (of types defined by my models). Controllers request data from the services. The service figures out if it already has the data or if it needs to call the API.

"how deeply should views nest" I often wonder how much I should be breaking up my views into smaller view. For the moment, I only create "subviews" if I am going to reuse the subview in another view. This has lead to some large template files. I may need to reconsider if they get much bigger.

"should my models be tree-like or rectangular" I don't understand what you are asking. What's the difference?

"can my contracted designer write arbitrary markup with arbitrary UI widgets or does the framework not like that" Again, I'm not sure what you are getting at. Arbitrary markup and UI widgets as apposed to what?

chaddeshon··on Lessons Learned: A Year with a Large AngularJS Project
Sometimes it is smarter for the short and long term just to right a little jQuery in your controller. You are right, don't worry about reusability until you actually reuse something for the 3rd time.

If you are going to be doing something a lot (capitalizing the first letter in your example), then I think writing the filter does save you in the long run. Writing the filter doesn't seem worth it when you project is small. When you project gets big, and there are little one off jQuery statements everywhere, it gets unmanageable.

The filter allows you to look at your template and immediately know why that word is being capitalized. With jQuery, a year from now you won't remember why/how it is being capitalized, and you'll be grepping for ids and class names.

chaddeshon··on Supreme Court sides with student in case over textbooks
I've noticed that as well. I think it is because whoever is writing the majority opinion has to temper the opinion to make it agreeable to a majority of the justices. Authors of minority opinions have no such restriction and can swing with full force.
chaddeshon··on Supreme Court sides with student in case over textbooks
Thanks for that explanation. I hadn't had time to read the whole opinion. Perhaps my statement came off too harsh. I am nothing close to a lawyer, but I found the "parade of horribles" to be a little troubling. Shouldn't the Congress be the one evaluating the consequences on the law? I guess the counterargument is that those things are so horrible that we can assume that isn't what Congress meant.

When reading Supreme Court opinions, I am often blown away by the well reasoned, logical arguments, that support findings I disagree with. You can disagree, but you can't say they don't have some facts and logic to stand on.

If you've never read an actual Supreme Court opinion, I would highly encourage you to do do. The linked article here is just awful. It doesn't even provide the case name. The opinions are surprising easy to read, and flow pretty well. The language isn't difficult, and they can be surprising humorous. If you can make it through a C++ book, then you'll have no problem understanding the basics.

chaddeshon··on Supreme Court sides with student in case over textbooks
The mass media doesn't often doesn't even try distinguish between the two. For hot button issues that make it to the Supreme Court, there is always a lot of talk about "I think people should be allowed to X" not "the law says Y" or "The Constitution allows Z".

If we want to be in control of our own governance, we would be better served if elected Congressmen make the laws rather than nine old people who are accountable to no one (even if those nine old people are brilliant thinkers).

← PreviousPage 2 of 4Next →