HN user

binaryfinery

393 karma
Posts1
Comments171
View on HN

You need more CPUs then :-)

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).

Absolutely:

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.

Oh, yeah, of course. You ARE going to need it. You're different. Mod me down for my lack of understanding how awesome you are.

"Mac iOS dev tools are beautiful and extremely slick"

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.

The problem Feathers describes has a simple cause: the classes in java, C# etc are a premature optimization. The rewrite described, in my experience, is caused because having to reclassify everything is annoying and error prone when:

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.

As you read these wonderful theories, remember that economist who was chosen as the best economist to run the US Federal Reserve said in 2005 that "now is the best time to get an ARM".

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.

Nice, neat, simple equations and math, at the Macro level.

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.

Yes, quite right. We'll benefit in the same way that countries like Equador or Nigeria benefit from the USA's innovation, wealth and power.

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".

"A (protectionist) wall may keep the outsiders out; but it also keeps the insiders in...."

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?

Could we do something about this? Yes. Will "we", and by "we" I mean the government run by rich folks? Never.

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.

Ah yes, the "Rome will stand forever" argument. No, wait, it was the "Mongol Empire shall stand forever". No, thats not it. "The Macedonian Empire shall stand forever". Hmm. Or was it "The Holy Roman Empire shall stand forever". No wait, it was the "British Empire shall rule the waves forever".

No, I got it, its "The USA shall rule forever!"

Depends. Let me start by addressing the HTML/javascript toolchains out there: they suck. One of my clients has experience of this. The first thing they tried was using one of those javascript/html systems. Its a fairly simple app that one would think was ideal for HTML/javascript, but it was barely usable and tech support was awful. Thats why they hired me.

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.

Since the site has hit its quota, I'll post my reply here:

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.

Just Make It Faster 16 years ago

Ain't nothing faster than 0. I've done games for 20 years. The best optimizations are figuring out how to avoid running the code in the first place. This is where full-stack programmers come in.

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.

Just Make It Faster 16 years ago

If everyone could just say "I'm a full-stack" or "I'm a generalist" it'd save me a lot of reading. Thanks. :-)

Just Make It Faster 16 years ago

Which is just what the guy describes in his article. At least, thats how I read it. If you only hire people who only know about cars, you're fucked. You'd need someone who knows about a ton of different transport "technologies", and knows, say, that you can combine the technologies optimally, say taking a shuttle to the airport whereas the trolly station terminates two miles away and the cab rank is always empty.

They'd be about as expensive as throwing an exception. And the live objects would, I assume, quickly pull all the other live objects into the active pages. I love this hack.