HNHacker News
TopNewBestAskShowJobs

jamess

301 karma · joined April 15, 2008

submissionscomments
jamess··on Ask HN: coding challenges as part of interviews: yes or no?
Trick questions, or questions with some kind of gottcha have no place in interviews, However, simple, straightforward programming exercises are essential. I've seen people who claim to have X years of industry experience who can talk a good game, but literally can't write a switch statement without reference to the internet.

I also like to ask people to peer review some code with both obvious and more subtle errors in it. That's a pretty important skill to me too. Anyway, ask them to code some fairly simple algorithm and then critique their own work. If there are several ways to solve the same problem, some more efficient than others, all the better.

jamess··on SSL Blacklist for Firefox
This seems like rather a waste of user and processor time. While the Debian OpenSSL disaster is both hilarious and embarrassing, the impact on the end user is more or less non-existent.

For one thing, in path attacks not on the local network are more or less impossible. Even if you're talking to a server which has a weak key, the chances that your data will be compromised is small.

Second, nowhere that collects important details is going to have a weak key. This is Debian we're talking about. This is not a distribution that is used by a many online retailers. Even if it was, anywhere you're likely to trust is going to be using TLS offload cards anyway, which have hardware secure random number generators.

Third, anywhere you'd trust with important personal details has already reacted and generated new keys. If the people you're dealing with aren't keeping up with high publicity security advisories sure as hell aren't keeping up with much lower profile advisories. This will tend to mean you are far more at risk from the server itself being compromised, rather than any communication in progress.

jamess··on Ask YC: Any experience with Asus eee?
I've got one I use for demos, since my main work laptop is cluttered with stuff which I may or may not want customers to see, and since it runs XP in "look like Windows 2000 mode" or as I like to think of it "emulate the last version of Windows that actually was useful". It isn't much for eye candy.

I've rejigged the EEEPC with some of the enlightenement eye candy like the Entrance display manager with a nice theme I've designed. It's about as close to the laptops used in the film "hackers" as you can get in real, useful software.

I really like the eeepc. It isn't good for the same stuff as my work laptop is. I couldn't really do any serious work on it, but it's great for doing browser based demos on. It's not a terribly butch machine processor/RAM wise. But it's attractive in hardware and in software if you work at it.

jamess··on Ask YC: How big of a failure is SOAP?
Indeed, my experience of SOAP seems to be data transfer overheads often totalling several hundred percent of the data transferred. This always seems to me to be wrong on principle.

I don't think I've ever seen an instance of SOAP used appropriately, and I'm finding it hard to think of even a theoretical example where it would be a good idea. Maybe I'm not the target audience, but it seems to me the code, object size and data transmission overheads are almost never made up by any advantage SOAP offers. I think I'd consider ASN.1's XML encoding before I ever considered sending a SOAP message somewhere. At least then you could translate it to DER for efficiency.

jamess··on Lies We Tell Kids
Keeping a taboo when the underlying reason for it has gone away tends to be detrimental for society. I saw a wonderful documentary recently called "Born rich" (I highly recommend it, amongst other things from it I finally learned why there are a number of US personalities whose educational background seems so at odds with their outward demeanour. It's that the privileged simply can't get chucked out of a University, no matter how poorly they perform.) in which one of the interviewees was worrying about whether it was OK to have taken a group of her Jewish friends to lunch at her club, and speculating that it certainly would have been frowned upon had they been black.

I've no idea whether this taboo she transgressed is real or not. I'd certainly suggest it shouldn't be, it's the kind of prejudice you giggle at when you read it in the popular literature of the 30s and 40s. However, if it isn't real, the mere concern over it in the mind of the members keeps them from expanding their cultural horizons. It has become a permanently inhibiting fear, without any real referent.

In short, if you suspect a taboo is no longer culturally relevant you should probably consider yourself to have a duty to break it to get it out of the way as quickly as possible.

jamess··on Lies We Tell Kids
Yes, that's the thing. There's literally millions of people in Africa who get little or no animal protein, and they grow up just fine. The point is that study after study shows that with just a tiny portion of animal protein, they end up a whole lot smarter.

I'm not trying to suggest you aren't yourself a smart person, just that simply because you can't see the ill effects your actions cause doesn't mean they don't exist.

jamess··on Lies We Tell Kids
Erm, hardly shocking. It has been established since at least the 80s that vitamin B12 is essential for brain development, and any number of large scale developmental studies have been carried out to that effect.There are no non-animal sources for vitamin B12. If you find any doctor of medicine who will recommend a vegan or vegetarian diet to either a breast feeding mother or to a child, then they ought to be struck off.

Simply Googling for "vitamin B12 brain development" will return you any number of papers on the subject, but most of them are behind their respective journal's paywalls unfortunately. However, the fact their abstracts include works like "cerebral atrophy" might give you some idea of their content.

jamess··on Lies We Tell Kids
I don't think this is true. I think you'd be hard pressed to find anyone under the age of 40 (that is, approximately of breeding age) who is genuinely offended by most words that are designated taboo. Any offence that is publicly displayed is most likely a put-on to illustrate they are more cultured that the offender.

What's worse is that it's entirely subjective what words a culture counts as taboo. I've seen US TV shows aimed at teenagers for 5-6PM time slots that repeatedly use the word 'bollocks' when portraying a stereotypically British person. In the US, 'bollocks' is just a funny word, but in Britain it is considered a swear word albeit a fairly mild one that I'm not averse to muttering when I walk out of the supermarket having forgotten to buy something.

There's nothing intrinsically wrong with saying these words, it's simply taboo because someone hearing them might take offence. but we've lost the people who might be offended and still kept the taboo. It's brain dead.

jamess··on Lies We Tell Kids
For their own sake, don't let your kids be vegetarian until they're at least 16, that's the worst disservice you could ever do them. I speak as a vegetarian myself, but you've got to be pragmatic.

Your kids need animal protein right up until their brains are done developing. It doesn't have to be very much animal protein, as little as a teaspoon a day does the trick, but there is no artificial or vegetable substitute yet derived that will work.

Personally, I think either letting or forcing a child to become vegetarian borders very close on child abuse. You'd be actively and artificially limiting their chances in life.

jamess··on HP close to $12-13 billion deal to buy EDS
Ah, the cycle of incompetence. Mphasis employs too many stupid people to live. Mphasis is acquired by EDS. EDS employs too many stupid people to live. EDS is acquired by HP. HP employs too many stupid people to live, who will bail them out? Taking all bets, folks.
jamess··on [dead]
Uh huh. So after a hard day killing people, they can blog about it? They're gainfully employed, if they want a damn laptop let them buy their own.

On a list of people deserving of charity, soldiers come way down mine. Surely there are some people who are actually impoverished you can think of who could use your time and money? Stray kitties and puppies too. Even the narcissistic navel gazers at the EFF would seem like a better bet for volunteering and donating to.

jamess··on Ask YC: What Mobile programming tools do you use?
Not exactly a secret, but Nokia's Remote Device Access (RDA) is insanely great. As far as I know, it's unique in the industry. It lets me test UIs on every single iteration of every target phone quickly and simply, and it means I can keep my own device library reasonably compact. I tend to take a week over the UI QA process, booking time on every device and going through the checklist for each. It works very, very well for me at least.

As to your own site, sorry to say this but I couldn't finish watching the video. I found it pretty tedious, and I couldn't really figure out what it is your software does and why I'd need it. As near as I can figure it's a way to bundle scripts in to SMS, and then the phone executes them. That just screams "security nightmare, don't touch with lead lined gloves" to me. Couldn't you add some text saying what it is, so I don't have to sit through an extremely amateur 15 minute video and still learn less than a paragraph of text would tell me?

jamess··on Ask YC: Getting started with smartphone hacking
Platforms that support open development:

- Symbian (Nokia S60/Sony-Ericsson UIQ) - Windows Mobile (various flavours thereof) - Android (No real hardware yet available) - Non-Native development (J2ME et al.)

The best way to get started would be to download an SDK for one of these environments. They all come with emulators, so you can start playing around with writing apps without any investment in hardware.

I'm not from the USA, but I've spent most of my working life in the mobile industry so I believe I know what I'm talking about. In the USA, only certain places have GSM networks. This includes most of the major cities, San Fran, New York, Atlanta, LA, etc. Pretty much any Smart Phone you can buy is a GSM phone. There are a few exceptions, some of the older Palm phones were CDMA, but Palm is essentially dead now. Before you buy a new phone, just make sure your current network is a GSM network. While I understand it isn't a terribly common thing to do in the US, most developers will buy development phones unlocked direct from the manufacturer (or a reseller) and put a SIM they already own in it. In the UK, you are pretty much drowing in SIM cards. Both Orange and O2 give away pay as you talk SIM cards on a regular basis online, and I tend to grab as many as I can on each occasion, since they tend to get deactivated after a while because they sit in various of my phones not getting topped up.

As for what phone to buy, wanting GPS limits you a little. I'd recommend the Nokia N95 8GB as a good start. It's a Symbian S60 phone with built in GPS and WiFi.

jamess··on Ask HN: Which mobile platform is your favorite?
While I've met many of the guys who work at OpenMoko and think they're great engineers, OpenMoko just isn't any sort of serious mobile platform. They can't even claim the kind of industry support SavaJe had before they went tits up.

They're also making a touch screen handset/platform which makes them automatically a niche player everywhere except China. If one of the first tier handset manufacturers expressed some interest in the platform, it might be worth considering, but in advance of that extremely unlikely event it's just an amusing novelty.

jamess··on Ask HN: Which mobile platform is your favorite?
From the software engineer's point of view, there can be no question that Symbian is by far the nicest platform to work on. It's got the same two decades of heritage as pretty much every other popular operating system that exists today, but it shows what can be achieved if the people who designed the OS in the 80s were thinking clearly about the future.

It's so refreshing to work on an Operating System where character sets aren't anything you have to worry about, that has Unicode designed in to every component from the file server on up. To use processes rather than DLLs as the basic unit of code reuse is just great, and with platsec to have a decent mechanism for policing access to those processes... Well, I could go on and on, but I better not.

It also helps to have a quarter of a billion phone installed base, and almost 1 in every 10 phones shipped being a Symbian phone. Not just Smartphones, mind, all types of phone.

jamess··on Ask YC: What's the most hacker-friendly keyboard?
Seconded. I'm still using a 15 year old buckling spring keyboard, they're robust and they have great tactile feedback. Although if I were working in open plan, I'm sure the noise would drive everyone else spare.

You can get new keyboards from here: http://pckeyboards.stores.yahoo.net/cus101usenon.html

jamess··on Killing Twitter Before It Can hurt Us
No, people who you don't follow can ping you saying they've sent you a message. Your software can simply drop them on the floor if you don't care to receive messages from people who you aren't following (AKA people who aren't on your whitelist.)

No polling is involved.

jamess··on Killing Twitter Before It Can hurt Us
What's your point? You might as well say HTTP is a method that allows strangers to get files from my server! While technically true, it doesn't say much.

Yes, people can send you false pings, which is why you need to go back through the name server and do a reverse lookup, and once you fetch the message you need to parse it and make sure it within bounds (less than 160 characters or whatever) and addressed to you (has @foo in the message text.) and is not spam (the name isn't in your killfile, is in your whitelist, akismet says it isn't spam, etc.) Rate limiting helps too, real people aren't going to send you 100 messages a second.

jamess··on Killing Twitter Before It Can hurt Us
If you think it's a hard problem, you aren't thinking about it correctly.

When you say "@foo Hi, foo!" You're sending a message to some person named foo. That's a push. If you start thinking of it as a pull, then you get in to the sort of trouble you're mired in.

In a distributed system the process goes like this:

1) Sender queries name server: WHOIS foo? 2) Nameserver responds foo is http://www.foo.com/mytwitterfeed. 3) Sender pings recipient http//www.foo.com/mytwitterfeed?ping=messageid&origin=bar 4) Recipient queries name server: WHOIS bar? 5) Name server responds http://bar.com/mytwitterfeed 6) Recipient requests message text, http://bar.com/mytwitterfeed?id=messageid and verifies it actually is addressed to him.

From then on, you have to worry about spam but that's a solved problem (killfiles, Bayesian filtering, etc.) No caching is involved. Recipients store messages addressed to them, just like any other messaging system. This isn't at all a hard problem.

jamess··on Killing Twitter Before It Can hurt Us
Does anyone else think that all this head scratching over what is the most trivial of problems is hilarious? Twitter is just another naming service. Instead of addressing someone as foo@foo.com, they're now just @foo. All that's needed to make twitter distributed is a new protocol for name resolution. It could be as simple as GET http://distribtwitter.com/whois?foo returning <name>http://www.foo.com/mytwitterfeed</name>. You could write it in a day as a wordpress plugin.

Then other people could come along and write recursive caching distribtwitter name servers so that they can still twitter at people they've never twittered before when distribtwitter.com is down.

The only conclusion I can draw from this is that web 2.0 rots the mind and turns trivial problems in to seemingly impossible problems.

jamess··on An Under-Appreciated Fact: We Don't Know How We Program
This isn't really true for all software development. If you write a detailed design, the process for writing the software is as simple as "write what the design says you should write, then test it conforms" It's only true for the sort of software development where you design while you write, AKA hacking.

I'm not against hacking per se. I'm doing it right now. But to take it as the de facto way the software industry functions is wrong. Hacking has certain problems, like unanticipated problems tend to stall the process (My own recent encounter had me blocked for three days, trying to think of an adequate solution to the problem of how authentication should work in an environment where HTTP servers and clients are essentially "decoupled", that is a solution to the problem of where presentation and application data are coming from two different sources, how does the data provider verify the presentation logic is trustworthy? It's a hard problem to which I have only a partially satisfactory answer... but I digress.)

The process for writing code tends to be unwritten, simply because in the best case it is so trivial that writing it is an insult to the reader. I guess the industry's collective problem is that the best case happens so seldom.

jamess··on Ask HN: What load balancing software do you use ?
+1. Round robin DNS has worked well for me in the past,
jamess··on Why the Semantic Web is More Pipe Bomb than Pipe Dream
Pipe bomb in that when you hear about it you have the urge to call a bunch of men in padded jackets to safely defuse it? Yeah, I quite agree.

A small hint: If you were to draw a venn diagram of the internet, the intersection of the most syntactically and semantically correct pages and the most interesting pages would be very, very small indeed. Why on earth would search engines possibly give higher placement to pages with semantic markup? Their whole purpose is to locate the most useful content regardless of its format, hence Google indexes not only HTML documents but also word, PDF and plain text without hindrance or let. The second they start serving inferior results to serve a political agenda, that's the very second they start losing market share to their rivals.

jamess··on How to ask smart questions, by Eric Raymond
Spoken like a man who hasn't read ESR's sex tips for geeks. ESR is a weirdo, and has had more or less nothing to do with open source for more than a decade now.
jamess··on Are all the good domains taken?
Not all the good ones are gone, but it's certainly getting increasingly hard to find a sensible domain name. What worked for me recently is although I couldn't find a domain name that wasn't taken, I found a good one that was registered but isn't in use, then used the coarse expedient of offering the owner a few hundred quid for it.

My main concern is that most of the domains are ending up owned by a very few individuals concerned only with slapping cheap advertising on them. I refuse to attempt to buy domains from these bottom feeders, and I would suggest that everyone else do likewise. However, it's an increasing problem that's going to require either the advertising industry or ICANN to crack down on one of these days.

jamess··on What They Don't Tell You About Starting a Startup
Top startup tip: Never take advice from someone who doesn't know the difference between "advice" and "advise."
jamess··on Distribute GPL'd software with closed source library?
Loadable modules are something of a grey area, but in general the consensus is that yes they are derived works of the loading program, and thus must will be covered by the GPL if the overall program is itself GPL'd. The standard disclaimer applies, I am not a lawyer and this is not legal advice.
jamess··on If the next "version" of the web is all about semantics, why aren't more people using microformats?
If you had a machine that could recognise addresses with reasonable accuracy and zero false positives, you wouldn't NEED microformats or the semantic web. That's the whole point, smart humans spending their time compensating for the stupidity of machines. It's a boil the ocean strategy that only makes any kind of economic sense of consider your users peons whose time has no value. Spending time making machines smarter is an investment in the future, the semantic web is an admission of defeat.

Also, Google doesn't parse addresses at all, it uses its index data the same way it does spell checking.

jamess··on If the next "version" of the web is all about semantics, why aren't more people using microformats?
Well, imagine you're right. What then? Once you have all the magical, microformatted metadata what is it exactly you do with it?

The canonical semantic web idea is that you build ontologies and search them. Now you have a new problem. How do you know which metadata is trustworthy? You'd be a fool to think people aren't going to attempt to game the system. If I search for "all articles about Lucy Liu", how is it that your semantic web search engine filters articles that are really about Lucy Liu from those that are merely marked up to make them appear so? You've just substituted a problem that requires as much intelligence as adding the metadata in the first place. Hell, what am I saying? Trust is a far harder problem. Even Google haven't cracked that one yet.

jamess··on If the next "version" of the web is all about semantics, why aren't more people using microformats?
Only in the sense of "metadata you get for free."

It's perfectly reasonable for, say, a CMS to semantically mark up when an article was posted. That's free. The server knows the date, so why not? It's not hurting anyone. Similarly, a camera with a GPS chip could easily add LAT/LONG EXIF metadata to every photo, except for the power, that's free too. You could use that to answer queries like "give me all photos taken in Laos in the past year", for example. Nothing wrong with that.

Where it breaks down is that there isn't enough free metadata to make the semantic web worthwhile. It relies on people actually saying "This is an address I'm typing right now... this is the street component of the address... This is the City..." It's ridiculous. Certainly, there'll be special purpose applications making use of free metadata in the future, but the whole web being semantic will never happen.

← PreviousPage 3 of 4Next →