HNHacker News
TopNewBestAskShowJobs

drobilla

158 karma · joined February 20, 2009

submissionscomments
drobilla··on Microsoft tablet OS not coming until fall 2012?
Microsoft playing the "Look everyone, we're going to do that too - and more! The greatest thing ever is coming out from us real soon now so you should stick with us and not switch to that shiny thing over there" game is hardly surprising...

What's the Windows version right around the corner this time? 8? Oh. /This/ time it's going to be great, honest? Tablets? Yeah... exciting.

Whatever, Microsoft. Fool me once...

drobilla··on What can you do in 2k LOC of C?
I recently wrote a Turtle[1] parser and abbreviating serialiser[2] in just over 2K lines, which I'd say is roughly equivalent in complexity to doing the same for JSON. This is with UTF-8 support, full conformance, URI parsing/resolution, line/column error reporting, etc. A more kludgy job could be quite a bit smaller still...

[1]: http://www.w3.org/TeamSubmission/turtle/ [2]: http://drobilla.net/software/serd/

drobilla··on Ask HN: Anyone else here struggle with the alcohol?
Get it out of the house.

You're unlikely to ever get rid of that "it's late, just one beer to take the edge off" (that rapidly turns into 6) if it's just a trip to the fridge away. Having to actually go out to slowly poison yourself raises the bar high enough that you realize what you're doing, and makes not doing it far, far easier. It's much easier to control yourself on shopping trips than at the moment you really want that beer (this also applies to bad eating habits, drugs, etc.)

Get it out of the house.

drobilla··on Ask HN: What do you drink?
Switching from coffee to white tea is one of the best things I've ever done. I typically drink several litres a day.
drobilla··on Tokyo cabinet database - things made wrong
Fourth and fifth are not actually true for some of the database types...
drobilla··on Open Letter to the Diaspora Dudes
"Even email is centralized"?

I can start my own email server (or use one of millions of others) and send/receive to/from users on any other server... clearly decentralized (where is the center?)

drobilla··on Ask HN: How do you overcome perfectionism?
Realise that adding features does not make anything "perfect". Perfect software is robust, stable, tested, used, solid, etc. The only way of attaining this is to have it be widely used.

Therefore, in order to make perfect software, you have to crank out releases and get it into the hands of users who will find any imperfections for you (including both bugs and 'softer' imperfections like an inefficient UI).

drobilla··on [dead]
While there are certainly a lot to look in to with this whole thing, could we get posts from a slightly more objective source? ESR is pretty obviously an extremely biased wingnut chomping at the bit to blow this up as much as possible.

I'd expect posts from a bit more level-headed source to make HN front page...

drobilla··on Poll: Do you develop primarily on a desktop, or a laptop machine?
I really want to go laptop, but I can't live without 4 cores.

When laptops with 4 cores are common, 8 will probably be a cheap upgrade for the desktop, and then I won't be able to live without 8 cores :)

drobilla··on Ask HN: Is there any excuse not to know Java?
I "know" Java because I had to do many undergrad projects in it, but I don't advertise the fact that I know Java at all because I actively do not want to work with it. It is a language designed for incompetent replaceable programmers, and I find working with it sort of insulting in a way, and just not enjoyable in general.

Depends on your (or your student's) approach to employment, really. If you want any programming job at any cost, of course you should know Java. There are lots of Java jobs, though the flip-side to that is that the market for Java programmers is extremely flooded.

On the other hand, if you're more worried about actually finding "interesting" work, pitching yourself as a Java programmer might help more than hurt. I would personally rather stack boxes or something along those lines than work on some kind of enterprise payroll nightmare in Java. Some would not. As always, it depends.

That said, Java is pretty simplistic if you're familiar with any even vaguely similar language (which you certainly should be, since the overwhelming majority of code out there is written in them). There's really very little to "learn" anyway...

drobilla··on Ask HN: How do you stay (somewhat) healthy?
A (what I call) "real food vegetarian", anyway. There are "vegetarians" out there who consume crazy amounts of horrible processed foods.

IMO people tend to severely overthink diet. It's pretty hard to be unhealthy when you exclusively eat good, real, whole, food. Diet fads come and go, and are often completely contradictory, but this guideline has always, and will always, be more or less true.

Vegans on the left, Atkins people on the right... drop your food religions and just stop eating crap! It's not that difficult.

If you're trying to lose weight, EAT LESS. You can eat the most extremely healthy diet in the world, if you eat a lot, you will get fat. That's how the body works. Again, it's not exactly rocket science.

drobilla··on Writing Your Own Toy Compiler Using Flex, Bison and LLVM
Maybe 'better' in some academic sense, but C is what all machines have. If you want to write a good native compiler userful to people without massive dependencies, you write it in C/C++.

Writing it in ML may be nice, but nobody wants to install ML just to get at another language. The kind of person that would do this is probably aspiring to a good language implementation of their own that could be considered a /peer/ of ML (or Perl, or Python, or Scheme, or Java, or....). High level languages written in yet another high level language are more of an academic curiosity than a tool anyone's likely to use.

While, yes, you're talking about prototyping, that assumes doing so in ML is much simpler. Maybe for you, but not for a C/C++ coder who doesn't know ML. There are a very, very large number of such coders.

Why write a prototype then have to rewrite the whole thing in C to have a "serious" language implementation? For small languages, the effort spent in prototyping then rewriting is going to be more effort than just writing a good stand-alone implementation from the outset. My hobby "prototype" compilers are small, portable, fast, depend on almost nothing, and integrate with the system and command line nicely. If the language was to become useful embedded in some program, say, I could do so immediately because I wrote the implementations to be good from the start. As a user, I'd take that over something I have to run in ML or some other massive high level language any day...

Would it be nice if the system's language was something better (somewhat) like ML? Sure. Is it? No.

Anyway, from the implementation point of view, when it comes time to write your GC, or any other low level details (parallelism?) writing in something like ML is a severe handicap. As far as performance goes, LLVM makes /fast/ code, and a lot of work is constantly being poured into it by a lot of people to make it even faster. This is a HUGE amount of work (i.e. far beyond what one person writing a language, or the people involved in the projects you have mentioned, can or will do), and it's already been done for you if you use LLVM (of course LLVM does have ML bindings).

Anyway, the point is, if you're trying to "prototype" or do PLT research, and you know ML well, and all you care about is the language itself you're implementing (and not the qualities/bloat/dependencies/performance of the implementation); sure, using ML probably makes sense. However these things are certainly not true of everyone writing a compiler.

drobilla··on ICFP '09: "Get rid of cons!" Guy Steele on parallel algorithms & data structures
This aspect of the talk is a big justification for more abstraction in a lisp (namely interfaces / type classes / similar).

This decision should not actually affect written code, other than maybe a type declaration or similar to say "this is a singly linked list" or "this is a tree list". Even if you ignore performance, that car really means "get the first element of this two element cons cell" rather than "get the first element of this sequence" is one of the most obvious limitations / warts of (classical) lisp (and scheme) as compared to more modern languages designed with data abstraction in mind.

Of course, this is "modern" as in OO decades ago (Java, C++, etc). Taking it a step further you could omit the type declaration entirely and infer at compile or runtime (via profiling + JIT) which list implementation is best.

drobilla··on Scheme to become two languages
That is exactly why one of the goals needs to be a small, understandable, core.

Committees degrade into uselessness when the discussion degrades into warring over features. Everyone has a pet feature, and nobody lets their pet feature go.

When you have a stated goal of minimalism (for at least part of the greater thing you're trying to define), then the argument to include this or that can be a /logical/ one based on whether it is actually /required/.

drobilla··on Ask HN: Advice on creating a POS system?
The dual meaning of this acronym is always hilarious :)
drobilla··on Ask HN: What do you think of e-cigarettes?
That addiction - that very, very strong addiction - will never leave you. Ever.

Understand? If you quit entirely, and never smoke for 10 years, if you were to smoke at all, it would be the greatest thing, ever. Good luck not starting again if you ever do. Even reading this thread about someone considering something I know is so utterly stupid flicks the switch in my brain.

If you want new highs, go get some real drugs that you can actually use to hack your brain and/or make yourself a better person. Nicotine has absolutely no redeeming qualities whatsoever. It is a POISON. How could deliberately setting out to get yourself addicted to a poison with no positive benefits not be an absolutely idiotic thing to do? Especially when it's without the enjoyment/day punctuating/social aspects of smoking normal cigarettes. I can't imagine many things that look more depraved and pathetic than someone sucking on some electronic cigarette gadget. You want to be /that/ guy? Really?

Whatever "high" you seem to think is there isn't. Maybe about as much of a beneficial "high" as holding your breath and spinning around really fast a few times. Gee, that sounds worth a lifetime of powerful addiction to an expensive poison, doesn't it? Go huff on a whipped cream container or something if you want a head-rush that badly.

There is no possible way you wouldn't regret this.

drobilla··on Ask HN: Review my idea: Python programming by voice
Efficiently? This would be FAR slower and FAR less accurate than typing.

Frankly, I can't see any programmer taking this idea seriously at all. Go look at a piece of code, then dictate it PRECISELY in a way that could be unambiguously interpreted by such a thing. There's no way...

drobilla··on Ask HN: Trivial etiquette question - can he touch my laptop screen?
This is what I do, and it's never a problem. The reasons why you wouldn't want somebody touching your scren are pretty obvious. I'm not apologizing to someone else for /them/ smudging their filthy hand marks all over /my/ screen!

There's a "please", it's not like it's rude...

drobilla··on The Fall of Hacking
What this really sounds like is a rant about how Hacker News is not a very precisely named website.

Hacker culture is alive and well, and there are plenty of heroes hacking the night away staring at their monitors (though LCD these days), just as there 'always' has been. There are probably more now than there ever has been, actually. There's just a lot more parasites and poseurs around, because computers are mainstream now and there's a lot more money around.

There is a lot more to hacker culture than web startup culture! I don't even consider virtually anything you mentioned a part of hacker culture. PHP and databases? "Software Visionaire/Ruby Ninja"? (bad) business ideas?

Of course people understand the internals of the Linux kernel. You think the people working on it don't understand it? That's a pretty good example of an island in contemporary hacker culture. You don't have to look far in a sea of recreational kernel hackers to find... hackers. The associated mailing lists generate quite a bit more discussion than HN does...

There have always been poseurs and businessman hangers-on, and there always will be. They are obviously not hackers.

Hacker culture, and the existence of true hackers, can never die out. It's hard wired in.

drobilla··on Ask HN: What is your opinion of Crypto-anarchism and anarcho-capitalism?
I am. I almost didn't go there because, yes, this isn't really HN material, but you did ask :)

We could discuss it further I suppose, but it's somewhat dull well-treaded material IMO. Anything about the definition of anarchism is up for debate of course, but completely un-checked capitalism certainly does not inherently result in a society that fits the criteria. What could possibly be anarchistic about a society full of wage slaves? That's certainly one likely outcome of such a society (note I'm not saying it /would be/ the outcome). Corporations can - and do - coerce every bit as much as the state does, if not more.

If you're an anarchist and not a socialist, fine. The term "individualist" works well. It's not the ideas of free markets and commerce, it's the /term/ capitalist. The word itself is pejorative. Anarchism is traditionally a leftist movement that came from the same kind of time and place as communism - "capitalists", the class, are the enemy, and exploit by definition. In the world of political discourse in which anarchism lives, If you call yourself a capitalist, you are essentially saying "I exploit others who actually do work as my source of income". You are NOT saying "I think free economic exchange is a good idea", which is probably what you actually mean to say. If you want to have serious discussion with anarchists, you can't call yourself a capitalist. All you will get is endless tirades about why you are not an anarchist, like this one. You might as well show up at a hard right think tank and call yourself a libertarian-stalinist.

drobilla··on Ask HN: What is your opinion of Crypto-anarchism and anarcho-capitalism?
Anarcho-capitalism is a contradiction in terms. You can't have an absence of power heirarchy when some people are filthy rich and others are starving to death. It's called "libertarianism" (and why libertarians try to co-opt the anarcho prefix is beyond me, it's not as if it wins you popularity points).

Usually this stems from an arbitrary distinction between oppression of "the government" and oppression by a private party. When you make the (absurd) assumption that oppression can only come from the government, sure, it makes sense. However... well, it's an absurd assumption. At the end of the day, oppression is oppression (and the distinction between government and private enterprise gets awfully fuzzy in the kinds of worlds these so-called "anarcho-capitalists" envision anyway. If the police and the military are corporations, what's the difference?).

Libertarians (or "anarcho-capitalists") tend to put themselves in the rich person's shoes, so they glaze over the oppression part. Nobody is oppressing /them/ because in their ideal world they are, of course, filthy rich. They have only considered half of the equation...

In short, "It's okay for me to stomp on another's face as long as the government doesn't stomp on mine" is not anarchism in virtually every other sort of serious anarchist's view (and, IMO, is hardly an admirable world view regardless...).

drobilla··on A Trivial LLVM Lisp
Author here. This is really not a useful thing at all (most obviously there's no allocation whatsoever), and it is quite an old version. I pastebin'd it to show to someone on IRC, certainly not to have it show up on the front page of HN :)

Just me tinkering with LLVM, though it will probably turn into something useful (and, ahem, deliberately public) someday... (email of course appreciated if anyone happens to run with it).

← PreviousPage 2 of 2