HNHacker News
TopNewBestAskShowJobs

ericlavigne

393 karma · joined August 22, 2008

http://ericlavigne.net

http://github.com/ericlavigne

http://ericlavigne.wordpress.com

.

submissionscomments
ericlavigne··on Structure and Interpretation of Classical Mechanics
Makes me tempted to try and write a "Structure and Interpretation of Neutron Transport"

Let me know if you do - I'd be interested in reviewing early drafts. I studied nuclear engineering in grad school, but enjoyed the computational aspects enough to leave the field and start a career in programming instead. I don't recall liking any of the textbooks.

ericlavigne··on Hashrocket execs (not Obie) charged in $425 million mail fraud case
I visited Hashrocket's Jacksonville office for a couple days earlier this year, just to watch and learn from the programmers there. They seem like a good group of people, and I'm sorry to see them getting caught up in this.

The alleged fraud in this story was by some Hashrocket execs as part of a separate company. If all of this turns out to be true, I still wish the best for the programmers at Hashrocket.

ericlavigne··on Why People Are Afraid to Start a Business
"Private benefits actually aren't that expensive. I just checked ehealthinsurance.com and they quoted $79 a month for me."

The issue here has less to do with the cost of private health insurance, than with whether private health insurance provides the same protection as employer-sponsored health insurance. I have seen this issue come up several times on Hacker News (unfortunately can't find links to the stories I remember). Someone has private health insurance, develops a chronic illness, and loses their health insurance as a result.

ericlavigne··on What Not To Write On Your Security Clearance Form
An example of a "provocative thing" expediting the security process is given in another of Les's stories (copied from Sukotto's comment).

http://yarchive.net/risks/mongrel.html

"The lesson was clear: if you want a clearance in a hurry, put something on your history form that will make the investigators suspicious but that is not damning. They get so many dull backgrounds to check that they relish the possibility of actually nailing someone. By being a bit provocative, you draw priority attention and quicker service."

ericlavigne··on Results from the State of Clojure, Summer 2010 Survey
The data is not clear about that. If I had taken this survey, my response to the following question would make you think that this was my first functional language, when in fact I have been exploring exotic languages for about five years.

"What language did you use just prior to adopting Clojure – or, if Clojure is not your primary language now, what is that primary language?"

Clojure is my favorite language right now and, if I had taken the survey, I would have answered "Java" because that is what I use for most of the day at my job. However, I have also used almost every language on that pie chart (except for Ada and C#) and would prefer almost any of those over Java (except for C, C++, and C#) if other people were not involved in the choice of my primary language.

Fortunately, I have successfully lobbied to have Clojure included in my workplace. I am very much enjoying the transition away from Java.

ericlavigne··on Java 7: Oracle pushes a first version of closures
Closing only over final variables is deliberately a requirement because closing over non-final variables can lead to confusing situations. I discussed this in more detail in a previous thread:

http://news.ycombinator.com/item?id=1257599

Good point regarding the effect on interoperability. I don't have an answer for that.

ericlavigne··on Java 7: Oracle pushes a first version of closures
While I would prefer Scala over [Java + closures], and would prefer Clojure over either of those, I am still pleased to see closures in Java for several reasons.

1) For now, I still have a job as a Java programmer. Closures in Java will save me some lines of code until I can fix that.

2) Currently each JVM language has its own incompatible reinvention of closures. I think that closures in Java are a step towards better interoperability between JVM languages.

3) A lot of programmers will be introduced to a higher level of abstraction than they otherwise would have.

ericlavigne··on Is an MBA a Plus or a Minus in the Startup World?
That's an interesting read. Some conclusions about US-born tech startup founders include: (1) they tend to be 30+ years old, (2) they tend to have advanced degrees, especially from ivy-league schools, and (3) those with advanced degrees tend to create bigger companies, especially if they went to ivy-league schools.

I didn't see any commentary on whether someone who is older or has a degree is more likely to succeed in their venture at all. This study couldn't address that question because the survey sample was composed entirely of people who had already reached a certain threshold of success. I find the study interesting mainly because it hints at the answer to this related question, and would love to see some data that addresses this issue more directly.

ericlavigne··on Learning Advanced JavaScript
I started this tutorial with zero prior knowledge of Javascript, but I have still learned a lot from it. I am now 2/3 of the way through. The challenge of guessing what will work helps to keep me engaged. The extra time that I need to spend on a slide, compared to someone who already knows a little Javascript, is probably paid back in extra retention. I love this tutorial and am excited about adding a little Javascript to my projects.
ericlavigne··on Java 7 - What's new? Release date, code examples and performance
I actually think that will change in Java 7. I will likely not be using "for" very often, and will start using higher-order functions like map and fold. The issue is mainly developers for whom closures are a new concept. If they are too confused as they make their first nervous steps into the world of functional programming, if their first attempts at using closures result in a lot of bugs, then they may write off the whole thing as more complicated than it's worth.
ericlavigne··on Java 7 - What's new? Release date, code examples and performance
Or use Google Collections in Java 1.5 or higher.

http://code.google.com/p/google-collections/

List<String> list1 = Lists.newArrayList("item"); List<String> list2 = Lists.newArrayList("item1","item2");

Of course, none of these workarounds are close to what Java 7 offers. Just a few more months :-)

ericlavigne··on Java 7 - What's new? Release date, code examples and performance
The top priority is still to avoid confusing programmers, and closing over non-final variables can lead to some very confusing situations. For example:

List list = Lists.newArrayList(); for(Integer i = 0; i < 10; i++) { list.add(fn [x] { i + x }); }

Think you just created a list of 10 functions that each add a different number to their argument? If you closed over the i variable, that variable changed and by the end of the loop is 9. All of the functions return their argument plus 9.

In any case, I can't wait to get some form of closures in Java. Best case would be to get a job using a decent programming language, but closures and various data type literals could go a long way to dull the pain until then.

ericlavigne··on Ask HN: Good programming language for kids
The original poster's first suggestion was Squeak. It is a variation of Smalltalk, a "real" programming language, that is focused on being approachable and fun for children. I find it rather fun as an adult, too, and would highly recommend trying it out.

If you are using Smalltalk to introduce programming to a child, I suggest downloading the eToys version from Squeakland: http://www.squeakland.org/

Adults interested in using Smalltalk for developing sophisticated web applications should take a look at Seaside: http://seaside.st/

ericlavigne··on Java Clojure Interop: Integrating Clojure into Your Java Project
The article doesn't even cover gen-class?

You can use Clojure to create a Java library. Then the Java (or Scala or JRuby or Jython) code that calls it doesn't even need to know it is calling Clojure rather than an ordinary Java class.

The only problem I have with this so far is that it doesn't seem to support generics, so I end up creating the kind of APIs that you would expect from Java 4. Would LOVE for someone to show me I'm wrong about that.

http://richhickey.github.com/clojure/clojure.core-api.html#c...

Anyway, the article looks like the kind of stuff that was being written over a year ago, before gen-class existed, but with considerably less depth.

ericlavigne··on How To Become A Hacker
I read the hacker-howto around the same time, and the list of languages was the best thing I got out of it, too. I already knew C and C++, so started working with Python. Python was a joy, but while using it for a couple small projects I researched the other languages I would be learning later. I couldn't resist skipping straight to Lisp, and it is still my favorite programming language. Thank you, esr.
ericlavigne··on Ask HN: Clojure best practice for web applications?
Do whatever you want with it. I hope you enjoy Clojure - I certainly have.
ericlavigne··on Ask HN: Clojure best practice for web applications?
I tried a Google search for clojure commons, and your post here was the third result. Maybe you meant clojure contrib?

I wrote a small Compojure application about a week ago. It's only an afternoon's worth of work, plus some cleaning up later, so should also be easy for a newcomer to digest.

The source code is here: http://github.com/ericlavigne/island-wari

You can try out the application here: http://ericlavigne.net:8054

ericlavigne··on Hacking status (linked from an interesting HN discussion)
This is advice for improv performers. Yes, performers deliberately deceive people into thinking they are someone that they are not, and those people are willingly suspending disbelief.

It is also relevant for non-performers who wish to be consciously aware of social cues.

ericlavigne··on Myths about code comments
As you said, some debuggers are better than others. However, you may be surprised by how much better some debuggers are than others. If you have any interest in debuggers, and how awesome they can be, it is worth giving VisualWorks a try.
ericlavigne··on Myths about code comments
Your comments are very insightful. I know this because I try to read the whole comment before judging. Unfortunately, even in fairly intelligent audiences like HN, it is common for people to form judgements based primarily on first impressions. Someone who reads only the first sentence (or even the second sentence) of any of your comments in this thread will think that your are hostile and condescending, which is probably why people are fighting back instead of listening to the insight that you share later in each comment. Your comments will generate more interesting conversation, and are more likely to be truly heard and understood, if you are more careful with your early words.
ericlavigne··on Ask HN: How did you get started in hacking/programming?
SICP presents programming as something mystical and exciting, starting with using a wizard for the front cover.

http://mitpress.mit.edu/sicp/

SICP was still written to be a college textbook, though, and is now more than 15 years old. I think there's room for another programming intro book. Let us know how it goes :-)

ericlavigne··on Ask HN: How did you get started in hacking/programming?
I think you are very lucky to have heard about Lisp while you are just starting to get into programming. If I could send my younger self some advice, it would be the books you just mentioned. Also Felleisen's other books such as Little Schemer (shorter and more introductory than How to Design Programs) and How to Design Worlds. I think I would have been ready for them around 8th or 9th grade, but I didn't discover Lisp until grad school.

How difficult is it to find Lisp programming jobs in Boston (interested in other cities as well)? Here in Florida, I've been stuck with a choice of Java, C#, or Fortran.

ericlavigne··on Beating the Arc Challenge in Clojure
In the arc version you can navigate to the same url in multiple tabs, and each of those tabs will work independently. In order to make that work you need, in addition to the per-user session, a per-page session.

It probably makes more sense if you look at an example. Take a look at the multicounter example for seaside:

     http://seaside.st/about/examples/multicounter
Notice the automatically generated k parameter that appears in the URL when you press one of the ++ or -- links. That is the id string for the per-page session.

Scroll to the bottom of that page and you will see the code. I would love to code web pages like that. Compojure is not up to the challenge, and I don't think that weavejester is interested in changing that. Compojure is designed for REST applications, and we are talking about the polar opposite of REST.

Edit: Of course I also should have included seaside's answer to the arc challenge:

     http://www.lukas-renggli.ch/blog/take-the-arc-challenge
ericlavigne··on Clojure Funding Progress
What is the target number, and where did you find it? Your 8% estimate seems very low, and does not agree with the graphic progress meter in the upper right which is at around 55%.
ericlavigne··on Clojure Funding Progress
Your expectation that more donations would come from well-funded regions relies on the assumption that well-funded companies are more likely to donate. The opposite may be true, since the founders of bootstrapped startups can make such decisions without concern about what their financers think about it. The first corporate sponsor on that list, Snowtide, is bootstrapped. I don't know about the others.

http://groups.google.com/group/clojure/msg/63edf75cb78ae7e6

P.S.: Another corporate sponsor has been added, Relevance from NC, also east coast.

ericlavigne··on Funding Clojure 2010
After donating, I added the following paragraph to the bottom of all my Clojure-related articles. Hopefully it will encourage others to donate as well.

I donated $100 so that Rich Hickey can continue working full-time to make Clojure even better. You should read more <a href=" http://clojure.org/funding ">here</a> and click the "donate" button at the bottom of that page.

http://ericlavigne.wordpress.com/2008/12/18/compojure-on-a-s...

http://ericlavigne.wordpress.com/2008/12/28/using-postgresql...

http://ericlavigne.wordpress.com/2009/01/04/compojure-securi...

http://ericlavigne.wordpress.com/2009/02/11/clojure-presenta...

ericlavigne··on Learn How to Create Web Applications
Is your code hosted someplace that we could watch the project unfold?
ericlavigne··on Learn How to Create Web Applications
It sounds like you are looking for Software Engineering for Internet Applications.

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

I am working through this book right now, very slowly since I have a lot of other stuff going on right now. Links to my source code so far, as well as my running website-in-progress, are below.

http://github.com/ericlavigne/seia

http://lavigne-seia.heroku.com/

I'm still at the part of the book where it provides guidelines for selecting tools (I chose Sinatra, Sequel, and Heroku), and exercises to become more comfortable with those tools. The next chapter is about planning.

ericlavigne··on The Unemployment Rate for People Like You
Yes, but I would propose breaking it down by their level of median annual income over the last 5-10 years. This would give a number, for any given individual, would tend to change gradually over a lifetime and would not be significantly affected by a year or two of unemployment.

This would show how much of the unemployment was affecting only those who were already losing in the employment game.

ericlavigne··on "Design Patterns are the disease, Clojure is the cure..."
There is a Berkeley DB wrapper for Clojure. I haven't tried it yet, but it looks like the nicest Clojure persistence library I've seen so far.

http://github.com/gcv/cupboard

← PreviousPage 4 of 5Next →