HNHacker News
TopNewBestAskShowJobs

ericlavigne

393 karma · joined August 22, 2008

http://ericlavigne.net

http://github.com/ericlavigne

http://ericlavigne.wordpress.com

.

submissionscomments
ericlavigne··on Software Design Review
Just the fact that he links to SEIA would be enough to make this the best post I have read all day.

http://philip.greenspun.com/seia/

This is the textbook for the MIT course "Software Engineering for Internet Applications" ... The most concise statement of the course goal is that "The student finishes knowing how to build amazon.com by him or herself."

I intend to spend the next few months reading through this book, completing the exercises, and coming as close to the experience of that course as I can without moving to Massachusetts.

ericlavigne··on In which I stomp on some of our glorious “green shoots”
Appearance -> Extras -> Enable mShots site previews

I am on wordpress now, and just turned mShots off a few minutes ago. I had no idea this feature was causing anyone problems. Open in new tab still worked fine for me.

ericlavigne··on Django Snippets
In fact, one of the "latest snippets posted" is a work-around for that problem:

Search DjangoSnippets with Firefox

http://www.djangosnippets.org/snippets/1730/

ericlavigne··on Pandora: From near-death to profitability in a year
"The problem with Grooveshark is that I can't seem to find one legal piece of music on it."

You're very casually making a serious accusation. Can you offer any evidence that Grooveshark is doing something illegal?

ericlavigne··on Lessons Learned in Large Computations with Ruby
I have used two varieties of Lisp: Common Lisp and Clojure. Both have dynamic typing with optional "type hints", which allow you to get the performance of a statically typed language. Type hints are typically used only in small doses, for parts of your code that are very performance critical.
ericlavigne··on Ask HN: Do you think machine consciousness is possible?
"In order for this to occur, however, significant advances must be made in fields outside of technology; e.g. quantum computing will probably be a huge stepping stone, and for that to come to fruition we must first fully prove quantum mechanics."

I recently heard about the term "yak shaving". This seems to be a good example.

ericlavigne··on It's Time For Google To Take A Stand On Paid Links
I just checked the paid links on Google's search page. They do not use nofollow. This fact, combined with your arguments, is consistent with gojomo's hypothesis about Google wanting to monopolize paid links.
ericlavigne··on The Y Combinator Experience
gruseom was using "zany" as an adjective, rather than as a noun. If I am the person in definition #3, then I am acting like a buffoon and I am very "zany".
ericlavigne··on Multicore Programming in Haskell Now
I was working on a project in Fortran. I recommended OCaml, saying that it had all the same capabilities as Fortran (high performance, portability, compiling to native code, support for similar programming style) but also had additional features that would make me more productive. OCaml's position in language design space was perfect for a project in which a functional programmer would be doing most of the work, but a client felt more comfortable with something Fortran-like, in case he ever had to maintain it himself.

If I were making the decision completely on my own, I would prefer Haskell, but in-between languages like OCaml can make good compromise options. I also learned OCaml before Haskell, and consider it to have been a good stepping stone.

ericlavigne··on Multicore Programming in Haskell Now
"I've been burned a couple times by portability issues (and the way that "whatever GHC does right now" has become a de-facto standard means that portability issues are probably not a priority)"

I am interested in this issue and would love to hear more details. Portability between different Haskell implementations or portability of GHC to different operating systems?

ericlavigne··on Nature vs Nurture: Rich parents have rich children, but not if they adopt
All of the adoptees were infants. This information is provided in the third comment below the article. The actual comment is worth reading as it provides this and other details about the experiment.
ericlavigne··on Great place for hacker recipes
pg provided that recipe in the footnotes of his most recent article.

http://paulgraham.com/ramenprofitable.html#f1n

ericlavigne··on SourceForge Gets A Makeover
Unfortunately, downloads are one of the things that broke recently :-(

I work on the egonet project: http://sourceforge.net/projects/egonet/

The latest release was on June 25. Yesterday the big "download now" button was offering the May 30 release. Today it is offering the April 20 release. Yesterday I was at least able to look at the settings page to confirm that we had correctly set the June 25 release as the main download, but now I can't even find that.

ericlavigne··on Developers to follow on Twitter
avibryant #followfriday
ericlavigne··on How to build companies that matter
"In fact, it wasn't the risky part of our original vision that had to change. It turns out that people really will pay good money for virtual goods. By discovering the other problems with our concept early, we were able to preserve our larger long-term vision. And, most importantly, we were then able to prove that it could work."

This was a big cliffhanger. I was very disappointed that the article ended without discussing "the other problems" and how they were discovered.

ericlavigne··on Ask HN: please review our online load testing service - loadimpact.com
Recorder is an important part of load testing, but it sounds even more useful for functional regression testing. Record common or expensive behaviors for load testing. Record obscure or complicated behaviors so that loadimpact can tell you when you accidentally broke something.
ericlavigne··on Ask HN: What do you think of self-promotion on HN?
Submissions can be downmodded. This ability is limited to senior members of the community, as measured by karma score. When you are logged in, your karma score is in parentheses next to your user name, upper right corner of the screen.
ericlavigne··on Compojure - Clojure web framework
Compojure was created by James Reeves, who said:

"The language I work with from day to day is Ruby, so Compojure has a lot in common with lightweight Ruby frameworks like Sinatra, and less with existing Java frameworks. It's designed for impatient, lazy people like myself, so it's quick to install and quick to start developing in."

http://groups.google.com/group/clojure/browse_thread/thread/...

ericlavigne··on Clojure: 1, Common Lisp: 0
"I thought it all had to be expressions."

This is a common misconception. You are thinking of pure functional programming, not Lisp. Certainly a lot of Lisp programmers, myself included, prefer functional programming. Scheme, especially, leans toward functional programming. Haskell, not Lisp, is rightly known for embracing functional to the exclusion of all other paradigms.

What really stands out about Lisp is support for ALL paradigms, even those that haven't yet been invented. Lisp is an extensible language, that can be changed to fit your needs. Features that would require language extensions in other programming languages can be implemented as ordinary libraries in Lisp. Lisp was the language that allowed experimentation with new paradigms like functional programming, object-oriented programming, and logic programming long before more specialized languages (Haskell, Smalltalk, Prolog) were created to provide specific support for these paradigms.

ericlavigne··on Clojure: 1, Common Lisp: 0
Clojure supports OOP in the same style as Common Lisp.

http://clojure.org/multimethods

The integration with Java is almost seamless, so of course you can also use Java-style OOP if you're feeling masochistic :-P

Clojure is definitely not pushing FP too hard. It was designed to be especially supportive of FP, but it is definitely a multi-paradigm language.

ericlavigne··on Ask HN: Why is SICP generally preferred over HtDP?
I have recommended SICP to friends that already have some programming proficiency. I have recommended HtDP to friends that are just getting started with programming.

HtDP is easier to study. It is also designed to be used with Dr. Scheme, which is a good learning tool for beginners. I recommend reading HtDP first, and SICP later.

Your choice of book, however, is much less important than the amount of time that you spend studying and practicing. Choose whichever book you want, or choose both and switch back and forth, or read HtDP first and SICP later. Just get started and don't worry about if you made the perfect choice. Keep studying and practicing. It is not easy, but you can do it if you spend enough time trying.

ericlavigne··on Post a possibly good app idea that you have no intention of doing yourself.
http://www.pictogame.com/
ericlavigne··on Ask HN: What will you learn this year?
I'm just starting to learn about web development with Clojure. Even though I'm barely beyond the "hello world" stage, I've put my app on Slicehost at http://ericlavigne.net and I'm documenting the learning process on my blog at http://ericlavigne.wordpress.com
ericlavigne··on Ask HN: Beaten to the punch by a competitor, advice?
"What would you do? Would you just support him blindly or would you advise him to do something else?"

Regardless of the idea, I would advise setting a squeal point in advance, a condition such as [cash < $20k] that will immediately trigger the action of giving up and looking for a job.

Aside from that caveat, I would give much the same advice as others have given here: focus on the needs of your users, keep your burn rate low, and code like a madman.

Common advice for new Go players is "lose your first 100 games as quickly as possible." Players who follow this advice invariably win their first game long before playing 100 games.

ericlavigne··on Ask HN: What does Ruby have that Python doesn't?
This is one of the advantages of Lisp. It is common for Lisp programmers to map the [] keys to () and vice-versa. Since Lisp requires so few of the keys, such mappings can prevent you from needing to press the less comfortable keys.
← PreviousPage 5 of 5