HNHacker News
TopNewBestAskShowJobs

zackham

763 karma · joined July 18, 2009

https://ridewithgps.com - Helping cyclists go on better rides more often.

https://stepwise.run - Deterministic scaffolding around nondeterministic work. Observable runs. Human gates. Resume after reboot. No babysitting.

https://github.com/zackham/aloop - An embeddable Python agent loop for multi-agent orchestration, declarative permissions, and editor integration via ACP. Use any LLM from any provider, extend through hooks, embed as a library, drive from the CLI, or expose as an ACP server.

zackham@gmail.com

submissionscomments
zackham··on Garmin ticks off users by switching from Google to Bing maps
Would be interesting to know what motivated them to do so.
zackham··on Gift HN: Anybody want a subdomain of ww.com?
Very cool, zack.ww.com ==> hm.zackham.com?

Thank you!

zackham··on Ask HN: How do you deploy your PHP apps to production?
+1 for Capistrano, we use it to deploy Rails, Sinatra, and PHP apps. gem install capistrano-ext and you can do easy multi-stage deploys (deploy a different branch to your staging/testing/beta server by doing cap staging deploy vs. cap production deploy for example). More details here: http://weblog.jamisbuck.org/2007/7/23/capistrano-multistage
zackham··on Self-learning is overrated (in programming)
It sounds like the author just played around with Haskell for fun. You run up against the types of issues discussed in this post when you don't have the option of avoiding them. If you are working on a project where the goal is to create a piece of software that functions in a particular way, you will inevitably run up against some road blocks that require you to gain a deeper understanding of how your tools work. If the goal is to play with the language and learn for the sake of learning, it is far too easy to change course whenever you approach a difficult problem.
zackham··on Ask HN: So, what did you think of the Social Network?
Anyone else notice they were writing PHP and said it was Perl?

Great movie, though. Amazing to see a popular film come out and do a decent job of portraying a software guy.

zackham··on Ask HN: What do you do to relax?
The most satisfying way I've found to relax and wind down is doing something completely unrelated to work that involves focus, and even better, a practiced skill. Watching a movie or reading a book can mostly take my mind off work, but it feels much better to do something where you can get in the zone. For me this is skateboarding, rock climbing, racquetball, or cooking. I imagine playing a musical instrument falls into this category as well.
zackham··on Ask HN: Reduce Load time 'appearance'
I think the best user experience you're going to get is by giving the user as much information as possible. Throbbers deliver almost no information (just an indication that something is probably happening); progress bars exceed that a bit by indicating a rough percentage of completion and allow the user to estimate time until completion, but users are trained to be suspect of progress bars (who hasn't been at 99% for 99% of the time...).

I would give a progress bar with semantics specific to what you are doing (step 3 of 5 instead of 60%), estimated time to completion, and a description of the current step (Submitting search request to Expedia... Filtering results... etc).

It can be accomplished a lot of ways, but will likely be more responsive if you push the data. The easiest way I have set up something like this has been node.js, redis pubsub, and socket.io. Requires some reading, but the end result is you can push messages through Redis from your app easily, it will work in all browsers, and you won't have to write very much glue code at all.

zackham··on Telnet terminal built using HTML5 Canvas/WebSocket/Node.js
If you do end up playing with this, take a look at node.js and socket.io. Here is the relevant part for tailing a file over ssh:

var tail = spawn('ssh', ['user@yourserver.com', 'tail', '-f', '/path/to/some.log']); tail.stdout.addListener('data', function (data) { listener.broadcast(data.toString()); });

I did a really simple version of what you're talking about with some client-side parsing of rails logs for fun. Feel free to contact me and I'll be happy to zip up the source and send it your way.

zackham··on Why can you turn clothing right-side-out?
I took 3 terms of discrete math from him at the University of Oregon a few years back. He was a great instructor and really smart guy that knows more about knots than I realized could be known at the time.
zackham··on Kevin Rose steps down as CEO of Digg
Anyone have insight into the timing of this? I understand they have been looking for someone for a while and this timing may simply be a result of an ongoing process coming to a close... but at the same time I'm sure there has been a lot going on internally at Digg since the launch of v4. Either way, the recent Digg events have been very public and very interesting. I think there is a decent amount to be learned from all this, or at least that is how I am rationalizing closely watching this all unfold.
zackham··on Subscription Revenue Model (spreadsheet)
Does anyone know how to copy this spreadsheet to a personal Google account so it is editable and private? I am not seeing that option. Thanks!
zackham··on My short history of Engine Yard and my Resignation
Check out ravelry.com and read http://highscalability.com/blog/2009/9/22/how-ravelry-scales...
zackham··on Ask HN: Does reading HN ever make you feel like shit?
Being able to recognize areas you're motivated to improve upon is an incredibly valuable skill. Just in this post I see the following:

1) You have side projects and experiments that have interesting enough ideas behind them that you think they may be worth pursuing beyond 80%. 2) You think you should be familiar with more than Javascript, PHP, Java, and MySQL. 3) You are not completely happy only being comfortable in a Windows XP environment with whatever IDE you are using.

Each of these items has a clear next step. (1) Think about your projects, pick your favorite one, look at the code and do something minor. (2) Poke around and do some light research (if you haven't already) on other dev stacks, play around until you find yourself genuinely interested in one. (3) Install Ubuntu in a virtual machine (VirtualBox is free and works well) or dual boot. Google vim and emacs and pick one to start playing with.

If you feel like you are falling behind you can use that as an opportunity to figure out what you're unhappy with specifically and do simple things to take a small step forward. You can't do everything all at once, and the people here that are impressive to the point of it being intimidating got where they are by diligently making incremental progress over some time.

zackham··on Ask HN: What's your computer setup?
Fast enough quad-core proc, 8 gb ram, 24" monitor, xmonad on ubuntu.

Will probably end up with another monitor here soon, just haven't decided if I should get another 24 or something smaller that I can run vertically.

zackham··on Garden path sentence
I did a presentation a few years ago on some studies about using prosody to resolve sentence ambiguities. The improvement in listener comprehension was measurable and dramatic. The easy conclusion to draw is that leveraging prosody in your day-to-day speech makes you better understood because the listener doesn't have to devote as much conscious attention to figuring out what you're trying to say.

http://en.wikipedia.org/wiki/Prosody_(linguistics)

zackham··on Ask HN: List of open/public databases
How about weather - I have been looking around for an API to access historical weather data with no luck so far. Anyone familiar with the landscape of weather data options?
zackham··on [dead]
I think tl;dr differs from a summary in that it is written as a response to hostility coming from someone who thinks the post is verbose. When I have seen it used, it has consistently been more terse and to the point than summaries generally are. It may seem awkward and inaccessible to those unfamiliar with it, but I do think it is a specific enough form of a summary to warrant its own term.
zackham··on Criminal Overengineering
My 2 cents: Go for (1), keep several potential future use cases in mind, and make damn sure you don't architect yourself out of those being natural directions for the code to go. Often this leads you to stub out an interface that looks like the beginning of a nice architecture, but not actually flesh out the code beyond what is necessary. This strategy generally requires more thinking than coding, but in my experience that is usually a good thing.
zackham··on Mongrel2 Is "Self-Hosting"
I've dealt with this by getting another IP and pointing a subdomain at it, then I can start all over again with port 80. Your point still stands for this discussion, though.
zackham··on How not to do business: wakemate's missed opportunity
I know lots of HNers ordered this. Has anyone received a unit? I'd be interested in reading some more about it. I am still on the pre-order list simply because I had forgotten about the product altogether since I have heard so little recently.
zackham··on Don’t Buy The HTC EVO, It Is A Seriously Flawed Device
Before you get an extended life battery may as well take a look at some information.

Here is a thread where people are talking about using the Seidio 1750 mAh in their Evo: http://androidforums.com/accessories-evo-4g/88887-seidio-inn...

And here is an older comparison of OEM and 3rd party batteries with disappointing results: http://www.batteryboss.org/

zackham··on Google Releases CloudCourse - Blackboard killer?
Forget Google, Blackboard, or any player looking to personally benefit from dominating learning management systems. This is the project we should be supporting: http://sakaiproject.org/
zackham··on Plummeting Marijuana Prices Create A Panic In California
My point is that a potential for abuse is not a specific enough criticism. Drinking and driving is illegal because it endangers property and other people, public drunkenness is illegal because it is a nuisance, smoking in public buildings is illegal (at least here) because it is a health hazard to others; things should not be outlawed for their _potential_ for abuse, the effects of their abuse should be outlawed. I recognize that at this point we probably have a difference of opinion that is difficult to argue past, but I wanted to clarify my position.
zackham··on Plummeting Marijuana Prices Create A Panic In California
Heavy drinkers can be pretty non-functioning as well, and result in arguably more collateral damage. Most anything can be abused.
zackham··on WakeMate Photo Op
Call my cynical but my impression of this is that when I pre-ordered they must have literally had nothing done. I understanding some of the tricks you might pull to perform customer validation but their approach seems unambiguously disingenuous in hindsight...
zackham··on Ask PG: What's the deal with search on HN?
I read HN multiple times a day and have for a while now. I do not care about search at all. This site doesn't really have any features, and I don't care - I come here for the community. Just another data point fwiw.
zackham··on How will memristors change everything?
Oops, thanks for the heads up, posted in a hurry this morning.

Nice recap of details I had read a bit of a few years ago... also, highscalability is a great blog that is likely of interest to many HNers.

zackham··on Nodule: A Node.js Pub-Sub Key-Value Store in 185 Lines
It is just a form of message passing / broadcasting. Simplest example is chat. More complex example is Google Wave.
zackham··on Nodule: A Node.js Pub-Sub Key-Value Store in 185 Lines
I'm working to accomplish something similar with Redis's pub/sub and Rosepad Socket.IO for handling persisting the client connection. If anyone has ideas questions or suggestions related to this strategy or these technologies I'd love to talk, email is in my profile.
zackham··on Garmin Connect team asked to relocate - this is how they declined
The original poster (cullen) and I are behind http://ridewithgps.com, so this news is particularly interesting to us
← PreviousPage 3 of 5Next →