jbr's comments

jbr | 15 years ago | on: The Scotch programming language

This looks like a really cool project/language. How do I build it? Does it build on OS X?

--

I'd love to "watch" the project on github, but alas it's stranded on the island of google code. Check out this [1] basho blog entry on why they chose github over bitbucket — most of the reasoning applies to google code as well. I'm not affiliated with github, by the way, just a happy user.

For a project like this, the concept of "watchers" isn't a vanity metric. I've been working on a lisp->javascript language and have found github watchers to be surprisingly motivating and encouraging.

[1] http://blog.basho.com/2010/11/11/a-few-more-details-on-why-w...

jbr | 15 years ago | on: Minimalist renditions of international brands

I'm most impressed with how progressively "upmarket" they become. You could charge multiples more for the minimal version in a different context.

As muji [1] is to a department store, the appropriate store for these would be to a supermarket.

I'm also reminded of the quote "Simplicity is the ultimate sophistication" (da vinci?)

[1] http://muji.us

jbr | 15 years ago | on: Which Lisp Variant for Web Dev?

Thanks, Evan! I actually disagree about production use, with similar reasoning to Travis Swicegood's answer about coffeescript in production [1]. Since sibilant is just a source-to-source compiler, it's as production-ready as Node.js or client-side javascript is. The output javascript from sibilant is fairly plain and readable and encourages a particular subset of javascript's features. The language is under active development, but Node's API is also changing. I've been hacking on sibilant since late June and believe it to be sufficiently expressive, although it can always get better.

---

[1] http://www.quora.com/Should-I-use-CoffeeScript-for-more-than... .

jbr | 15 years ago | on: Ask HN: what are the best non-cash employment benefits you've heard of?

Pivotal labs does this by offering everyone free catered breakfast at the start of the day. As I understand it, the motivation was to synchronize everyone's lunch hunger so half of a pair-programming team wasn't hungry earlier because they hadn't eaten lunch but their pair had. It also served to mitigate mid-afternoon food-coma somewhat.

jbr | 15 years ago | on: Ask HN: What to do in Portland?

Oh: ride public transit. Notice that it runs on time, is fairly easy to understand, and is clean. There's a sky tram, a light rail, a streetcar, and an extensive bus system. Everything is free downtown in the fareless square.

jbr | 15 years ago | on: Ask HN: What to do in Portland?

Lived in Portland for 7 years (went to school in SE, Reed College). Hence, nostalgia dump:

When I left for the bay area a few years ago, NE Alberta and North Portland were picking up inertia. If you're into coffee, try Albina Press.

The lucky lab on SE Hawthorne (close in) is a Great pub and I'm not much of a pubgoer.

Eat street food. The Portland street food scene makes the mission district look behind the times.

Get some tea in the teahouse in the Chinese gardens (right downtown). It's often overlooked by Portlanders, but the Chinese gardens are really quite wonderful. The tea menu is run by the Tao of Tea, which is one of the better tea importers in America.

Check out the nickel arcade (wonderland, I think it's called) on SE Belmont.

Powells & Powell's Technical. If you're a book person, set aside at least half a day for this. Read some books in the cafe. Hang out a while - there's no better book store in America (including the strand - nyc, moe's - berkeley, serendipity, etc)

I know I'm disagreeing with other posters, but avoid the pearl like the plague. It's the least "truly portland" and is for people from other cities who are looking for shiny glass highrises and warehouses. Everything is more expensive and upscale. Similarly, NW 23rd and 21st have a distinctly "east coast haven" flavor. Go to NYC or SF for that, enjoy portland for what it does best — the quirky stuff that you can't get elsewhere, and there's plenty of that.

Speaking of quirky, get a doughnut in the middle of the night at voodoo.

Check out the saturday market (sat and sun), if it's running when you're in town. Another uniquely portland experience, but you probably won't buy anything.

Beers: Hair of the dog, rogue, lucky lab. Try something on cask or nitro if you haven't lived in a place that really geeks out on beer.

jbr | 15 years ago | on: To truly become rich, you need to stop acting like it

There's a lot of causal ambiguity in this article, particularly due to the fact that no small percent of millionaires likely come into wealth by way of inheritance or marriage. For example, the author cites the presence of 350k millionaire teachers as contradicting the statement "you won't get rich as a teacher." "get rich" implies causality, but "are rich" (the cited fact) does not.

But yeah, conspicuous consumption is tacky.

jbr | 15 years ago | on: Node.js used to mirror DOM across browsers

I don't recall the urls - I was recursively crawling from a user-provided seed url and had trouble with apricot, node-xml, and libxmljs. I had the least time to play w/ libxmljs because of hassle w/ joyent --- I had to compile v8 and node to link against and scons wasn't playing nice w/ the build environment.

--

Edit: I should add that I'm using libxmljs in production (http://newsbasis.com/news) as an rss parser (streaming sax-push-parser) and it works quite well for that sort of xml.

jbr | 15 years ago | on: How often do you "Google" while programming?

I've been programming since middle school and I'm now almost 30 and I google all the time. There's too much to remember, and I wouldn't want to burden my memory with too many specifics. I try to focus on remembering generic patterns, since those are far harder to search for.

jbr | 15 years ago | on: Node.js used to mirror DOM across browsers

What are you using for server side dom manipulation? jsdom? apricot? node-xml? libxmljs? I spent a lot of the weekend working on a webcrawler, but couldn't find a xml parser that didn't choke on the internet-at-large.

Any chance you'd consider open-sourcing?

jbr | 15 years ago | on: NewsBasis is hiring

Also, I'd love feedback on the posting. It's the first time I've done this.

jbr | 15 years ago | on: Watch us crawl the news in realtime

Haven't built in much monitoring yet, but watching the resque web interface, most of the delay is in actually finding the new page - from there to it showing up on your screen is no more than a second or two. For subscribed users, we do email notifications and we almost always beat google news alerts, often by around 15 minutes.

jbr | 15 years ago | on: Watch us crawl the news in realtime

Sure. This probably will turn into a blog entry, but here's the gist:

  4 medium sized linodes, divided as follows:
  1 app:    unicorn (rails), nginx
  1 db:     redis, solr, mysql
  2 worker: resque workers (both ruby/rails node.js) & the crawler
The crawler is written in node.js, backed by redis. When it finds a new page, it downloads it to shared local storage and adds a task to a resque queue monitored by the rails workers. They add a row to a mysql table that represents the permanent record of the page, use nokogiri to extract the body content and any metadata, index it into solr, delete the local copy, and upload the page to an s3 archive. When you request the page, rails asks solr.
page 1