HNHacker News
TopNewBestAskShowJobs

jasonjackson

316 karma · joined March 28, 2011

submissionscomments
jasonjackson··on Cleaner Hacker News
Very nice design! I'm going to use this permanently.
jasonjackson··on LLVM Clojure Bindings
The compiler is written in Clojure. It'll compile Java ~2.0 to native x86. I haven't decided what backend i'm using yet, or just output ASM.
jasonjackson··on LLVM Clojure Bindings
I'm the author of this project. I think of this project as a technology demo. I wanted to how difficult it would be to write a minimalist compiler with LLVM -- it was pretty quick & easy.

This is a great educational project as the code is short and to the point.

For my parsing code: https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast... I'm using a combinator parser library. This code both parses and builds the AST in one pass.

The AST unsurprisingly looks like LISP code, here's an example AST https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast...

After that, all that's left is calling LLVM C API through JNA: https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast...

One advantage of using LLVM is you can leverage the C Standard Library from your code. In the example program, I forward declare 'cos' and 'printf', and LLVM takes care of linking the functions.

LLVM also supports JIT compilation, so you could do some really cool stuff.

Stay tuned for the next compiler I'm working on which will compile the majority of Java 2.0 to x86.

jasonjackson··on LLVM Clojure Bindings
Just to clarify I'm actually working on a second compiler project written in Clojure. It's my 2nd project that uses core.logic and core.match extensively. Core.Logic was the perfect abstraction for doing all the type checking -- I'm really grateful for David's work/help.

I'll open source this 2nd compiler project in a couple months. This will really show the power of Clojure as David said.

jasonjackson··on Tesla Model X Launch, Tonight 8pm PST
Model X is their SUV.
jasonjackson··on Suffering-oriented programming
Nathan's talking about solving recurring problems (that belong to a single problem class).
jasonjackson··on Nice guys finish first. Eventually.
And/or the jerks eventually settle down in their 40s.
jasonjackson··on Nice guys finish first. Eventually.
Absolutely agree with this 100%.

There's a lot of conflation between dominance and selfishness. These two traits can look very similar at a shallow level, but are completely othorgonal.

Pure selfishness is when you act without concern for others to your own benefit. Dominance is the desire to win in competitions, demonstrate power and/or independence over others.

I've definitely met many kind, bold, dominant people in the start-up world. These people can both simultaneously piss people off, and go wayyy out of their way to help you.

jasonjackson··on Lisp as an Alternative to Java
You've found it easy to hire people with existing Clojure experience? That surprises me, great news though.
jasonjackson··on The Invention of Waterloo (Canada’s Technology Triangle)
There's no single correct answer here, because each person operates under unique long-term goals.

If your goal is to build a large business network, then -probabilistically- more jobs is better than fewer. By virtues of UW CO-OP, whenever I meet someone new in silicon valley, very frequently we have mutual friends.

jasonjackson··on The case for old entrepreneurs
This article sets up a straw-man argument by claiming the reason why VCs invest in young people and not older people is because creativity diminishes in older age. I think their refutation of this idea is well done with good evidence, but who's to say that's the reason VCs invest in young people?

I think one of the main skills that young people bring is relentless execution and incredible thirst for learning. Especially when you pair these skills with the investment team who bring tons of experience, it seems to be a winning combination for the 100x ROIs.

jasonjackson··on [dead]
downvote!
jasonjackson··on Bloomberg Risk Takers: Elon Musk Documentary
While I would also love to see a documentary about that.

Just because Tesla is still alive today, doesn't mean he was lucky. When you look at all the events that took place in between 2002-2008: + Having to sell cars during the 2008 depression + extreme difficulty finding investment + millions in sunk costs on inventory which they threw out (under the first CEO) + going through a divorce war during the IPO. + hiring a designer which started a competing company These events don't seem very lucky.

jasonjackson··on Functional Programming HOWTO
Python is multi-paradigm; it's not dominantly OO. Comparing python libraries to java libraries, functional composition is used just as frequently as OO composition (if not more so).

If you're building a website, in Python/Django, you pass in your request handler function using first class functions. In java, you inherit from the request handler class, and override the method.

JsonTools loads and dumps are pure functions. In java, josn.org, there's a class for each JSON type that you interact with.

That being said, I can also think of many Python libraries that use classes.

jasonjackson··on Taking Cold Showers
If you're having problems loading, here's the google cache http://webcache.googleusercontent.com/search?q=cache:2N7uwSF...
jasonjackson··on Code Quarterly's Interview with Rich Hickey
`Rich Hickey dubbed his tendency to spend more time thinking about problems than typing code as “Hammock-Driven Development”. ` in the foot notes ;-)
jasonjackson··on The Go Programming Language, or: Why all C-like languages except one suck.
tdlr: C < Go < Lisp
jasonjackson··on 8hrs Hacking A Clojure 3d Game Compressed Into 1min
I open sourced the code here: https://github.com/jasonjckn/snake3d

I don't have a tutorial for Snake3D, but there's quite a bit out there for Clojure + OpenGL:

1) https://github.com/ztellman/penumbra/wiki/Applications

2) https://github.com/swannodette/clj-nehe

← PreviousPage 2 of 2