HNHacker News
TopNewBestAskShowJobs

devinj

687 karma · joined February 25, 2010

I'm a programmer who enjoys video games and long walks on the beach.
submissionscomments
devinj··on 10 tips for writing perl one-liners
I think this article has convinced me that I should learn Perl. Looks bloody useful for shell scripts, indeed ("a better awk" is the phrasing I've heard).
devinj··on Why Lawyers Don’t Run Startups
Whose fault is it then if a lawyer impedes progress on an important deal? In my opinion, the fault lies with the business side. Lawyers provide a service - just like consultants. You wouldn't let a consultant run your business, so what's up with placing all the blaim on lawyers if deals get stuck? It's the business side's fault for not properly managing their lawyer and not telling him what exactly he is there for.

I'm pretty sure that's exactly what the author is suggesting. For example, notice things like,

"When I was a younger entrepreneur my answer would have been, “Ok. See if you can get us better terms. Call me when you’re done.” This time I said, “Make a list of the issues in bullet form, send them to me and I’ll get back to you.”"

My interpretation was that he is saying, "don't let your lawyer run your company strategy, that's your job", and this is fundamentally what you are saying as well (though with different focus).

devinj··on Head mounted camera tracks with your eyes
Seeing how the wearer reads is really-- staccato. It also makes me want to see what people look at when they play video games. Do game designers use eye tracking software? I can't really tell what my eyes focus on versus my brain.
devinj··on And, Why Didn't Dijkstra Like Lisp?
> The existence of a parser does not imply its availability. As you said "Some of them don't have the parsers available at all (e.g. C),"

No, but it guarantees that, at least in theory, such a parser could be made available. In practice many languages do make it available. Your argument was a general one, that is that all "traditional languages" have this property.

> Actually it does because there are very few "traditional languages" that even approach Python's in-language support for their own AST

It only takes one counterexample to break a general claim. "Very few" is enough. Nothing about traditional languages has any intrinsic property of being parser and AST-free-- it is merely laziness, minimalism, or coincidence that causes many to not. As examples like Python show, it is quite easy to find a mainstream "traditional language" with a full-blown (actually several full-blown) interfaces to the parser available. Other languages have this too, although examples are not incredibly widespread. Lua has implementations which provide an AST, and even the hyper-traditional language C# has the Expressions framework, which lets you parse/modify/etc. the AST of an expression (including, of course, the new lambdas).

It's just not true that Lisp is the only game in town for AST support, nor that "traditional languages" don't have it in general (although it may be true that most do not, this is not the same as claiming that as a group they do not).

devinj··on Google age bias suit reaches California Supreme Court
No, that's probably so that they can pay below minimum wage (or, indeed, have the strippers pay the club).
devinj··on And, Why Didn't Dijkstra Like Lisp?
> Actually, no. They're a way of unambiguously representing said AST.

I'm not sure how that's a contradiction. "unambiguously representing" is still representing.

> Why do I say that? Because very few people know the full precedence of expressions. So, they break expressions in unnecessary places and/or add redundant parentheses.

Interesting, but not really relevant. They prefer the syntax, knowing that there are things they don't know about it.

> And then there's the problem of manipulating said AST. To do so for a traditional language requires a parser and a bunch of datastructures, which every project reimplements. Everything that you need for lisp is built-in.

Er, I don't understand how you can make that claim. A parser is necessarily built in to any interpreter/compiler for language with syntax, whether that language be a lisp or an assembly language or Java. Some of them don't have the parsers available at all (e.g. C), but some do (e.g. Python), and for some the parser is irrelevant (Lisps, machine code) because the AST (or "AST" perhaps, in the case of machine code) is always directly available regardless of explicitly calling out to the parser. In any case, your claim does not hold for "traditional languages" in any generality, there is too much variety.

devinj··on And, Why Didn't Dijkstra Like Lisp?
I see what you mean. But I don't think that's what he meant by Lisp.

After all, if you believe that, then Python is a Lisp too[1]. And when people say "Lisp", they don't mean "Scheme and CL and [...] and Python".

Sure, like any class of languages, there is not a single syntax. But every lisp has a syntax. And the languages people associate with the class "Lisp" use parens. And in many peoples' opinions, there are better ways of representing an AST. Like indentation, for example. Or curly brackets.

1: http://norvig.com/python-lisp.html

devinj··on And, Why Didn't Dijkstra Like Lisp?
> Come up with a better way of representing an Abstract Syntax Tree in text, please.

If in programming what we're really doing is telling the compiler stuff, and the compiler only sees an abstract syntax tree, traditional syntaxes are a way of representing an AST in text, and commonly considered to be "better" by the particular language's adherents (Ruby programmers like Ruby syntax, Java programmers like Java syntax, etc.). Sure, you don't get to apply proper macros, but Java/Ruby/etc. programmers don't care about that. What representation is "better" really boils down to taste and opinion.

devinj··on Clarifying SourceForge.net’s denial of site access for certain persons
"there'll probably be a successor soon"? I don't know about you, but I've been using alternative services for years. The time for successors has already passed.
devinj··on A cure for America’s lame and costly broadband?
Or lack thereof. The article posits that the lack of government interference has caused the duopolies: the cost of entering a market is so high that only two bother, after that it's not worth it. The alternative is a system where the government pays the costs itself, or has the telecoms share the cost, thus reducing cost of entry and encouraging competition.

The way you word it makes it sound as if the government is regulating where it shouldn't be, but that's not what the article says at all.

devinj··on Our solar system - A Webkit Animation using CSS3
Only old IE is forever. Chrome autoupdates very fast, Firefox a bit less so. I don't remember about Safari but I think they upgrade fast too.
devinj··on We will be able to live to 1,000
People still die, from accidents and what have you. In terms of multiples of the average death rate, generational change will be exactly the same. But generations are 10+ times as long in this view.
devinj··on Patent Troll Larry Horn of MPEG-LA Assembling VP8 Patent Pool
Not any-- only whitelisted codecs work with the <video> element from what I understand. Sure, QuickTime (or whatever) can play it, but that's a different story.
devinj··on Why Diaspora will fail
It emphasized that the creators were "kids" who had "high school English". If he didn't state it outright, he implied it.
devinj··on Ex-Hacker Adrian Lamo Institutionalized for Asperger's
Drugs don't kill the analytical mind, they just make socializing easier. "Drugs" are not ipso facto bad.
devinj··on Ex-Hacker Adrian Lamo Institutionalized for Asperger's
It scares me. It reminds me very strongly of the way things worked back in the 50s and 60s. I thought we were past forced institutionalization for disorders that didn't cause serious danger.
devinj··on Debugging in Python (2009)
Worst named debugger of all time. I love how everyone always has to clarify with "Not windows only" :)
devinj··on Twitter's Alex Payne quits, heads onto something new.
Er, you pay fees as a student?

My bank (RBC) is run by old men in suits, plus I pay no mandatory fees. Optional fees are another thing. If I want the convenience of using an ATM not run by the bank, I pay a surcharge. But, it's a big bank, with ATMs everywhere I go. The surcharge is never paid. :)

devinj··on Referential Magic in Python
In "Python", period. Implementation details don't affect statements about the language!
devinj··on Congress Cuts Debit Fees In Rare Loss for Largest U.S. Banks
I love that added incentive on top towards small banks: this only applies to the biggest banks. It's a small, but clever, change.
devinj··on Referential Magic in Python
The value can be a reference to an object sometimes - that's pretty much it.

No, it's always a reference to an object. It's just that some objects are immutable and so the distinction is not so clear. Otherwise, all-around agreement. +1

devinj··on Computer Software Engineer in list of least stressful careers... WTF?
It mentions game development. Game development has extremely low pay for the amount of stress it causes.

I mean, everybody wants to be a game developer. Any prospective developer is screwed by supply and demand and a broken development model that allows for insane crunch time.

Or have things changed?

devinj··on Adobe Flash: Almost as Open as Microsoft Office
Wait, he missed a step. Since when was MS Office the same as OOXML?
devinj··on Google Voice invites for students
"for students who have a .edu email address", no?

My university doesn't hand those out. :(

devinj··on The End of the Facebook Era
ad hominem much?
devinj··on Ask HN: Features you'd like to see in Gmail?
lynx/w3m/etc. support. I'm told it used to work, but when faced with a situation where I needed to check my mail and only had a terminal, I couldn't get it to. Which is a shame, I had to run across the block to a library.
devinj··on Arrington : "You’re Welcome, You Bastards"
Copyright is reserved unless explicitly given. That is, what you have said may be perfectly true, and Arrington could still be in the wrong. All they have to have done is to not give him explicit permission.
devinj··on Three Things I Love About C
Macros are better because of performance? That's premature optimization if I ever saw it. OS-specific configuration / function definition is not going to be the performance bottleneck on pretty much any app I've seen. Maybe if you're writing a CGI program where it's run many times and has to do this setup each time, but then CGI is dead for a reason. Macros have plenty of problems that result in weird edge-case behavior, and I'd really rather not have them.

Oh, and finally, they aren't unique to C. You can use the macro preprocessor on any source code you like.

devinj··on [C4 release];
You manually count references. It has plenty of the downsides of manual memory management, even if some silly technical distinction puts it into the camp of the vastly superior (in terms of programmer time) solutions offered by higher level languages (Java, lisps, Python, Ruby, Perl, C#, etc.).
devinj··on HTC Sues Apple for Patent Infringement
My response was directed at a comment that claimed they said, "we are suing Apple because they sued us". In fact, they said "we're suing Apple to help our customers (etc.)!" which is much different.

Your argument is less direct, and it doesn't interest me so much. Yes, by fighting for their self-preservation (if it is at stake) they help consumers by maintaining competition and/or variety.

← PreviousPage 5 of 9Next →