(Disclaimer: I haven't tried it yet. Would be interesting to hear others' feedback.)
2,045 karma · joined April 5, 2010
Realizing every day how much I still need to learn.
(Disclaimer: I haven't tried it yet. Would be interesting to hear others' feedback.)
Note that I of course have no gripes with Android OS/concept itself -- it's a good contender to iOS. My gripe is with the current gouging of consumers by hardware manufacturers/cell phone companies, of the fragmented/poor/outdated hardware coverage in many models, lack of upgrades, et cetera. And don't forget the mandatory "crapware" that carriers pre-install.
This is quite different from buying, say, a Dell/HP PC vs. a Mac -- in both cases do you get a working, upgradeable machine.
Also, something should be said about efficiency. If you're primarily coding on a slow/old computer where compiles, etc. take longer, you may be wasting precious time. It's worth having the best tools for the job.
In your position, I wouldn't recommend quitting the day job just yet until you have some financial buffer, so you'd need to figure out a revenue stream first. You don't have to passively wait until things get better, but instead focus on shipping some things and perfecting your art.
Finally, your family (and especially your spouse) has to be on board with this, and it will help you immensely. If you're spending those few hours on a computer, they should know that you're working on something and not, say, reading the news. It'll take some time (or achievements) for them to take it seriously, but, again, this will really help you.
Best of luck to you, and don't feel trapped. You have to be genuinely excited and know that you're doing the right thing every day that'll take you to where you want to be.
That said, keeping momentum, coding away, and most of all greatly enjoying the process of creating something will really help you.
Some things are tougher IMO, like setting up sendmail/e-mail related configuration in general, to make sure your e-mails don't bounce. But that brings me to another point that is valid in 2011 -- fortunately you can "outsource" many tasks to cloud service providers such as Amazon. Definitely know what goes on under the hood, but don't spend precious time maintaining the infrastructure yourself.
If you do hit a point when for some reason the "cloud" solution is too pricy or doesn't scale to your needs, you'll likely be having other (good) problems. In other words, don't worry about that until you're successful, and then hire help if so need be.
It also underscores the importance of being able to translate tech "pieces" into compelling products. I'm an app developer. When reading documentation for the latest release of iOS or Lion SDKs, and seeing all of the new APIs, I feel like a kid with a brand-new box of Legos. The challenge (and art) is in combining these technologies to build something actually catchy.
This year, I was upgrading from the 2010 Air (2.13Ghz model) to the newer Air (1.8Ghz model) and was concerned that the Ghz mattered here. It appears that the new processor makes a huge difference, since the benchmarks I ran out of curiosity (GeekBench) indicate a 2x improvement, and the actual use ( say, compiling a huge project in Xcode) is significantly faster.
Some other benchmarks I read before making my purchase: http://www.anandtech.com/show/4528/the-2011-macbook-air-11-1... ("Both the 11 and 13-inch MacBook Air are fast enough to replace your 3 year old MacBook Pro and still deliver better performance. You can even move from a 2010 MacBook Pro to an upgraded MacBook Air and not notice any drop in performance. All of this is thanks to Intel's Sandy Bridge CPU.")
(I have the highest spec 13" model, with the i7 processor.)
My previous laptop was a 15" MBP -- I liked it, but it was a bit too heavy to "take with me every time." As a result, it mostly sat on my desk.
"How To Design A Good API and Why it Matters": http://www.youtube.com/watch?v=aAb7hSCtvGw
I haven't posted it on HN before, but I'd be absolutely grateful if anyone tried it out. As a developer I get some promo codes, so here are some codes (hit Featured, then Redeem to grab it. Or if none of them work, e-mail me and I'd be happy to give you one.)
F7KTWHLM9H7P
3XKY3YEJX9EK
K63HX7WE9X77
3RX6ENHL34EE
WY7X3LRMHKPJ
JFXETAJH3XYP
XJXNHTXFEF4PI was recently travelling abroad, and decided to buy Glyphish icons to finish an app I was working on. This proved to be tough. Upon logging in to my PayPal account, I got locked out.
"We want to check with you to make sure that no one has logged in to your account without your permission."
My account now states that it is "limited" and has some drivel about me having to send my driver license/passport/etc. copies to re-enable my account. I understand that this is all in the name of security, but really, I wish they didn't use such heavy-handed one-size-fits-all measures.
(Borrowing words from the article) Warning sign: During the development, dozens of times, I have to go through step 1 in my UI, select a person, go to step 2, enter an address, select a state, go to step 3, and so on.
He/she could have written:
(1) What have they tried
(2) What errors were they getting (Compiler errors are ROUGH for someone just starting to code. That trivial missing semicolon can waste hours.)
(3) What ideas they might pursue to get it working
I've taught programming to several friends in the past (and I've also seen many other friends drop out of CS in frustration.) It seems that teaching just how to formulate such questions and walk through "what exactly does not work" is a critical step to CS education that is omitted in curricula out there.
I'm from New York and frequently travel to China, both of which obviously have "old" spots. For some reason, "old" there for me evokes the feeling of appreciation for history, while the San Francisco "old" makes me sad.