HNHacker News
TopNewBestAskShowJobs

t-crayford

52 karma · joined June 1, 2010

submissionscomments
t-crayford··on Password Hijacking Security Incident and Response
Doing params.fetch(:password_reset_nonce) would get you out of that nil issue. Doing fetch is generally good practice, especially on params, as often without the right params you can't do anything anyway and should be bailing out with a 404 or another error code.
t-crayford··on Evernote 5 for Mac
I would use this, if the same company hadn't bought skitch and then completely failed at keeping it working. RIP skitch.
t-crayford··on Storm : a Realtime Computation System Similar to Hadoop
How is this better than Hadoop?
t-crayford··on Ask HN: Advice on Building a Web App/SaaS.
Look at dropwizard.codahale.com, it's probably closer to what you want eventually.
t-crayford··on Ask HN: How do you like your programming editor?
I much prefer an editor that runs from a terminal. I already notice speed issues (very occasionally) with vim in a terminal, I'd hate to have the lag that comes from running that in JS/on top of a browser. I don't think anything running in a gui would be usable either (because of speed). Terminal or bust.

Coding offline is also somewhat important for me.

t-crayford··on LLInt: new JS interpreter in webkit with 2-2.5x speedup
Nice to see similar approaches to luajit making it elsewhere.
t-crayford··on Haskell web programming (a simple tutorial)
Yeah, 64bit.

I never said anything about number of people...

External apis: nearly all the logic in my app leads to either talking to the db, or calling an http api (and haskell can't use https apis that well, you have to use its bindings to libcurl). In general, it feels extremely difficult to pull my logic out of IO (but maybe I'm just too dumb to).

It's not that its particularly difficult, it's just that it's not a problem I think haskell is well suited to solve. I've used haskell to teach my self automated logic proofs (just resolution refutation), compression algorithms (huffman encoding and lz77), typechecking and breaking encryption (enigma). Every time university exams roll around, I learning them on paper. It's by far and away the best language I've used for stuff like that. It feels like web-apps with lots of IO aren't really a problem haskell is well suited to solve.

t-crayford··on Haskell web programming (a simple tutorial)
Spelling corrections, noted as I read:

"point of vue" -> point of view

"shell command are executed" -> "shell commands are executed"

"benchmark are here" -> "the benchmarks are here"

Also, heroku works just fine with haskell, as long as you compile a static binary on an ubuntu machine. I compile mine on virtual box (via way of vagrant), and have 3 haskell apps (none of them really production ready though) running on heroku right now.

Lastly, I don't really think haskell is the right language for a lot of web programming. In haskell, you really want your logic to be as purely functional as possible, but that gets pretty hard to do for web apps that rely on external apis.

t-crayford··on Vim: revisited
I use colemak now, but this holds true in qwerty as well (most of the time). I don't use search for EVERYTHING, just most of the time it's faster.
t-crayford··on Vim: revisited
If you have tab bound to something else (c-p here), then c-i will do the same.
t-crayford··on Vim: revisited
imap <c-c> <esc>

Now it does.

t-crayford··on Vim: revisited
I'm much faster in vim since I gave up (for the most part) on hjkl (arrow keys are banned for obvious badness). / ? # * combined with f and t are so much faster. The only time I use j/k is 10j/10k for looking through files.

Hence, your question is somewhat misguided ;)

t-crayford··on Ask HN: How to automate?
Put a non-compete in your contract with your freelancers.
t-crayford··on UnConj
Note that https://github.com/joodie/clojure-refactoring is an active fork of clojure-refactoring. Nice to see the project actually going somewhere.
t-crayford··on UnConj
I picked up Ruby just after I picked up Clojure (and well after I picked up lisp in general). I still dislike the ruby community's lack of maturity, but seem to be coping better with it these days. #lolbundler & rvm are still terrible compared to lein though, which often frustrates me a lot.
t-crayford··on UnConj
Like I said, I'm hazy on that point, and don't want to say anything further in public right now.
t-crayford··on UnConj
I think clojure is close in some regards, but running on the JVM really hurts me these days (startup time really hurts TDD as I do it). I also think clojure has too much syntax (for a lisp), and am not convinced modern programs should be written in lisp any more (though that's hazy).

At the moment I use Ruby, which is much less frustrating than clojure ever was. (I seriously love the shit out of rspec).

Last but not least: stacktraces.

This isn't to say I think Ruby is better for all tasks etc, just that it fits where I am right now. Clojure is probably better for people with differing tastes to me.

t-crayford··on UnConj
Super amused to see my work on clojure-refactoring mentioned there. I don't work on that anymore (nor do I think clojure is the right language for me these days).
t-crayford··on Ask HN: Best way to find HN readers in my local area?
I'm in Sheffield (right now I'm in Cupertino, but I'll be back at the start of October). If you want to meet up at some point, drop me an email (this username without the dash @googlemail.com).