393 karma · joined July 1, 2010
Also, there really is a difference between SSDs available right now. My Kingston SSDs have blocksizes of 120k (!). My OCZ Vertex2 has blocksize of 4k. Its 4k write speed is off the chart. Like 40x faster than some SSDs.
I'm on OSX (2 cores), Windows (8 cores) and CentOS (4 cores).
Ok, perhaps not what you were asking, but they made a big difference for me. I have two, raid0 in my desktop, and a sandforce in my MBP. What a difference. Compiling, linking, copying, everything not just faster, but almost instantaneous. Yum.
http://blog.binaryfinery.com/monotouch-qa
This is written for potential clients, rather than hackers, but I do go a bit deeper into why ObjectiveC sucks near the bottom.
Basically, use good tools. What hacker would create a website without analytics these days? Yet Apple wants us to settle for an editor that is dumb as bricks, when tools like Resharper or Eclipse that can not only analyze our code but refactor it automatically. XCode has 6 refactorings, and all of them will fail to do what you want, or just flat out refuse. Resharper has, I think, 120?
Resharper analyzes my code as I type. I develop iPhone apps on my PC in C# and even before I compile it on the Mac, I know its going to compile because Resharper has been analyzing it the whole time.
There are basically two problems with XCode and Objc and neither of them are solvable:
1) Writing tools for languages that have header files that can be included multiple times, and which require a class to be declared all over the place, is hard.
2) There's a shit load more developers for java, C, C++ and C# than there are for Objective-C. This may change, enough to incentivize groups (companies/oss) to write better tools, but they'll still be years behind groups like jetbrains or eclipse.
Now, C and C++ may be 20+ years old, but they've been in constant use and development that whole time, and by a majority of programmers. Yet even these languages have poor tools (the whole header issue). Objective-C is 20 years old, but with, what, a 15 year hiatus.
So the solution is to say "Why the fuck am I using a 20 year old language that lacks 20 years of tool development" and move on to something thats either a) newer or b) well established. I recommend MonoTouch.
And yet have features found in SlickEdit circa 1992.
Twenty fucking years later I'd expect my IDE to a bit smarter. It might look beautiful (to you) but its brain dead.
a) classes are part of the language and,
b) classes are defined by a stream of characters in a flat file on a disc
C++ makes it even more difficult to automate the redoing of classification by requiring that the definition of a class is stored in multiple such files.
These genius suggested buying a house on an adjustable rate mortgage, at the peak of the market, when interest rates were the lowest they'd ever been. Bravo. Apparently, even the best economist in the USA is unable to see a bubble when its staring him in the face.
Fuck economists and their religion. Welcome to HN: where people have brains, can do math, and critical thinking.
To put this in hacker terms, these simple rules are about as simple as the http protocol. Now imagine the software that implements this simple protocol. Think of all the different ways to exploit it. Now imagine all the complex systems that can be created using these simple rules. Now add hackers, DDOS, government censorship, wikileaks, peering disputes, etc.
Economists would have us believe that these simple rules are "how it is". Now imagine the millions of people it takes to actually implement these simple rules. Imagine what it takes to actually make wine in Portugal. Now add that these people want pensions. Now include that these simple rules assume currency equivalence, or something like the gold standard to mediate production disparities. Now add the governments on top of this "protocol".
To believe this "proven economic theory" you have to live in a virtual machine.
Which is to say, if that if we have something that a Chinese superpower wants, they'll take it by force, or by installing a puppet government, and if we don't, then good luck buying those medicines: they are 10000yn, with $10 to the yn.
The "economists" who take your statements as fact do so because they are paid to do so. The ones who advocate protectionism are dismissed as communists or marxists.
The trade theory you talk about assumes a balance of payments, required by something like the gold standard, which simply doesn't exists now. This is economic war and the USA is losing. I did some International Relations at Cambridge University. You should try thinking instead of just "accepting as fact".
As opposed to our policy, which is to give hundreds of billions of dollars to China every year. That's working out so well! Or are you one of these people that doesnt believe that empires fall, or that an empire can fall simply because it runs out of money?
But as the rich destroy the social fabric of the USA, they will get their due. The USA is as small to India and China as Britain is to the USA. Britain ruled the world just 70 years ago. It lost its wealth in a massive transfer to the USA industrial machine in WWII. The USA is managing to transfer its wealth quite happily without a war. The difference is, the rich Brits fit in quite well in the USA. Good luck with that in China, rich americans!
What can we do? Protectionism. The rich can show you all sorts of reasons why this doesn't work. Just add "for the rich" on the end of everything they say and its true: "protectionism doesn't work for the rich". I'm not sure we can manage IT protectionism (unfortunately, since this is what I do), but we can manage protectionism for manufactured goods. That's basically our only hope.
If we can get a manufacturing industry going again, we can have a genuine middle class, not funded by debt. That, in turn, can fund education and innovation.
Or we can do what Britain did: "We don't need manufacturing because we have our science, services and financial services". But manufacturing funded our R&D. "Well we don't need science, because we have services and financial services". But our services can be run from India. "Well we dont need a service industry because we have the city of london." So know if you live outside of the spending radii if the 20yr olds earning $5m then you're fucked. Hooker or coke-dealer is the most promising profession for a young brit.
He passed away before he had to see this: http://www.flickr.com/photos/jimmyspics/420430027/
No, I got it, its "The USA shall rule forever!"
What platforms are your target - the "etc" you mention? Blackberry? Blackberry is still huge but by iPhone and Android standards they are hardly smartphones. How about WP7? Interesting but so far tiny.
Next question: what kind of app? If its games, you use C/C++ and OpenGL for Android and iPhone.
Personally, I use C# and manage core business logic libraries with platform-specific user interfaces in Silverlight, MonoTouch and MonoDroid. I have a client who wants Android and later Blackberry, so for that we do the Android version in "normal" java so we can share libs with Blackberry in the future.
I don't think there's a one size fits all. The ones that do (e.g. Flash, or HTML/javascript) end up looking or running like ass.
I had the same experience, just ten years earlier. I was the lead programmer of resident evil 2 for the N64. Project was on time, under budget. Client was so happy it got Angel a little title called "Red Dead Revolver", which R* took over from Capcom when they bought Angel.
You want to know how we got the RE2 deal? I'll tell you: Chris Fodor and I noticed that you could spend 5 days a week totally fucking everything up and not get fired. You could lose Nintendo as a client by utterly failing to hit any deadline - and not get fired. You could be lead of a project that didnt ship, and then be lead of another project that didnt ship, rinse, repeat.
So we decided to spend monday working on our job, and the rest of the time working on a tech demo. We then presented our ideas to the programmers at the company. Of course, only a few senior programmers voiced their opinion, and their opinion was "that wont work". So then we ran the demo of it working.
Diego showed up a week later with a choice of two titles, one of which was porting RE2 to the N64.
I was fired a few weeks after we shipped.
I used to believe that the role of an employee was to maximize the value for shareholders. I still choose to believe this role, which is basically why I am only employable at start-ups, where it is still true. At any other company, the role of the employee is to maximize the value for the employee and the other employees that think likewise.
So welcome to the world of start-ups. You're now unemployable by most everyone else.
There seems to be a battle here between full-stackers and specialists, but if you think of a full-stacker as "an extremely experienced generalist", then I think there are plenty of "extremely experienced specialists" who fit that description too. That is to say, an extremely experienced "database optimizer" is going to know how the presentation layer hits the database and how the database hits the disc, and I expect they would know many different database technologies.