HN user

100k

3,186 karma

Was co-founder of FanChatter (YC S09), then an independent consultant, then first employee at Swiftype (YC W12). Currently working at GitHub on code search.

Minneapolitan in exile. My blog is http://recursion.org.

I usually go by "look" online but that was taken at HN when I registered.

Posts30
Comments649
View on HN
www.recursion.org 9y ago

Adding a command to list recently changed Git branches (three ways)

100k
2pts0
httpalooza.com 10y ago

Show HN: HTTPalooza – Ruby's greatest HTTP clients on stage together

100k
9pts2
www.recursion.org 10y ago

Charles Babbage, perfectionist engineer

100k
3pts0
blog.swiftype.com 11y ago

Building an asynchronous API to improve performance

100k
10pts0
www.recursion.org 12y ago

The cynical reason startups should grant employees more equity

100k
1pts0
swiftype.com 12y ago

A simple tip for a better admin console

100k
6pts0
swiftype.com 12y ago

Swiftype Search Analytics 2.0

100k
26pts3
mixergy.com 12y ago

Swiftype: The Biggest Search Engine You’ve Never Heard Of

100k
64pts20
blog.leanstack.io 13y ago

Swiftype Explains Their Cloud Stack

100k
21pts5
www.recursion.org 13y ago

How Hipmunk saved me from an agonizing day of travel

100k
3pts0
swiftype.com 13y ago

Swiftype for Mobile: Full-text search for iOS and mobile Web

100k
59pts18
swiftype.com 13y ago

Swiftype launches improved search analytics

100k
8pts0
www.recursion.org 14y ago

Swiftype (YC W12) API integration screencast

100k
40pts4
railspikes.com 14y ago

Is your Rails Application Safe from Mass Assignment? (2008)

100k
10pts0
www.recursion.org 14y ago

D3 for Mere Mortals (d3.js visualization tutorial)

100k
84pts20
www.recursion.org 15y ago

How's the Job Market? Measuring by Recruiting Inquiries

100k
5pts0
tech.mn 16y ago

Interview with Dan Grigsby on ending Mobile Orchard (video)

100k
2pts0
joelonsoftware.com 16y ago

Puppy (or, details on Joel Spolsky's retirement from blogging)

100k
102pts49
motherjones.com 16y ago

Massive Methane Melt off Siberia

100k
1pts2
recursion.org 16y ago

Random weekend project: When's my next "fun" birthday? (date.js, CSS3)

100k
2pts1
railspikes.com 16y ago

More YC interview advice from Luke (S09, FanChatter)

100k
5pts0
fogcreek.com 16y ago

FogCreek enters repo hosting/code review space with Kiln

100k
4pts0
www.ie6nomore.com 16y ago

IE6 No More

100k
121pts26
www.greetingsfrombeautifulmountainview.com 16y ago

Greetings from Beautiful Mountain View, Calif.

100k
37pts16
www.jwz.org 17y ago

Jwz ports Dali Clock to JavaScript

100k
5pts3
railspikes.com 17y ago

Cool Things in Rails 2.3

100k
41pts6
rethink.unspace.ca 17y ago

FutureRuby, new conf from the creators of RubyFringe

100k
1pts0
www.crockford.com 17y ago

The Elements of Style (full book, 1918 version)

100k
2pts1
news.ycombinator.com 17y ago

What are you doing to prepare for the recession?

100k
2pts5
railspikes.com 17y ago

Why you're drawn to mobile development

100k
18pts6

If song lyrics count, Eleni Mandell's "Iowa City" is the poem that will always stick in my mind about that town.

  Girls, the boys don't cheat in Iowa City
  Iowa City nothing to do
  Now they're crisp and they're clean
  Iowa City
  Iowa Iowa
  Skies are blue
  
  Not so, Chicago
  Never, New York
  When you're off and you're looking for something
  What will you do?
  Where will you go?
https://www.youtube.com/watch?v=C_mpBLD6_V0

If you like this movie, I recommend Jamelle Bouie and John Ganz's podcast "Unclear and Present Danger" (the name is a riff on Clancy as well) which covers the political and military thrillers of the 1990s and how they dealt with the United States' changing place in the world after the end of the Cold War.

They have done two episodes on this movie:

https://jamellebouie.net/unclear-and-present-danger/2021/10/...

https://jamellebouie.net/unclear-and-present-danger/2022/10/...

As someone who was against the Iraq war, it's hard to express how important Paul Krugman's columns were to me at the time. It felt like the world had gone mad, but he provided an island of sanity. And he was right about the war.

I also appreciate Krugman's rediscovery of current music as an older person. It encouraged me to keep exploring.

My favorite Krugman moment is him visiting the White House after he won the Nobel Prize. This photo of him with Bush (who he'd been railing on for 8 solid years) is priceless: https://freakonomics.com/2008/11/bush-congratulates-krugman/

It's quite fun, I played a lot of it during the pandemic. It's sort of like Advance Wars, but when you lose you can choose to send one of your leveled up characters back in time, which lets you use them again in a new game.

Yes, you can use CGO to call Rust functions using extern "C" FFI. I gave a talk about how we use it for GitHub code search at RustConf 2023 (https://www.youtube.com/watch?v=KYdlqhb267c) and afterwards I talked to some other folks (like 1Password) who are doing similar things.

It's not a lot of fun because moving types across the C interop boundary is tedious, but it is possible and allows code reuse.

Standard Ebooks 3 years ago

I’m happy to see Standard Ebooks here! I’ve read their editions of Nostromo by Joseph Conrad and Vanity Fair by William Thackeray and the quality great. I recommend it if you’re interested in classic literature.

Yes. The concepts apply to all programming languages. The exercises use multiple programming languages. For example, one exercise has you explore the Git source code (which is in C) to learn how to use a program's data structures to understand an unfamiliar codebase. Other examples have you find bugs in Python code or write Java.

Yeah, we need to do better on the visibility of this for owners. And we're trying to scale the system so it's not a problem at all. In the meanwhile, you can ask support to index all the repos in your orgs and we can take care of it.

I hear you, but we didn't break this for no reason. We rewrote our entire code search stack to support features it didn't before, like exact match, regular expressions, indexing forks, navigating to where methods are defined, not timing out constantly, etc. None of that was possible in the old system. Unfortunately, the architecture we chose to make the new features possible made some of the features of the old system difficult. We made the choice to focus on things we believe (more) users get (more) value out of.

(I gave this talk and work on code search.)

Sorry you've had a frustrating experience with the product. When we look into complaints about missing results, it's almost always one of two things. First, the repository is not indexed yet, but searching triggers indexing. Future searches work. Second, the files or the repo hit our documented limitations (https://docs.github.com/en/search-github/github-code-search/...). I think these limits are pretty reasonable, but we need to do a better job making it clear why content isn't in the index.

Yes! My colleague who created it has started working on an open source version so we can publish it. I am not sure when it will be ready, but I'm excited because it is extremely interesting and has a lot of potential use cases.

(I'm the speaker.) This is frequently requested, and we've tried to answer it in GitHub's feedback forums. The reason it's not implemented is it's quite complicated and there are other things we'd rather work on (sorting by recently was mostly used by scrapers so it's not high yield for us, unfortunately). It's complicated due to some consequences of things I discuss in the talk.

First of all, the old system didn't really implement sorting for "recently changed" files. It implemented sorting for "recently indexed" documents. This was a decent proxy when we only rebuilt the index every two years. But as I discuss in the talk, we rebuild the index all the time now, so it would be pretty worthless as a sorting option. Another reason is due to the content deduplication I also discussed in the talk. When a blob is shared between repositories, what time do you store? Finally, it's complicated because of how Git works. If we did implement this, we'd like it to reflect when the path changed in the branch, which is what people mean by "when did this file last change". But Git doesn't have an efficient way to retrieve that information, so we'd have to build a system to keep track of it.

In short, it's hard to do right and easy to abuse. :-(

GitHub - code search | Staff/Principal Software Engineers | REMOTE (US/UK/Germany) | Full-time

Helping developers navigate and understand that data is a core part of GitHub’s mission, and an area with significant potential we’ve only begun to realize. We have high aspirations for how we can help developers understand and navigate code, and for making collaboration more seamless. The foundation for these efforts is our highly scalable code search engine, which we are now expanding to help power semantic/vector search to better support many of GitHub’s AI experiences.

We are hiring for two open roles (Staff and Principal level) in three countries, so there are six listings. All roles are remote, but currently we can only hire for these roles in these countries. These are hands-on engineering positions, writing Rust for a large scale distributed information retrieval system.

https://githubinc.jibeapply.com/jobs/2388?lang=en-us - Staff/USA (USD $118,100.00 - USD $313,300.00 /Yr.)

https://githubinc.jibeapply.com/jobs/2390?lang=en-us - Staff/UK

https://githubinc.jibeapply.com/jobs/2389?lang=en-us - Staff/Germany

https://githubinc.jibeapply.com/jobs/2385?lang=en-us - Principal/USA (USD $134,800.00 - USD $357,500.00 /Yr.)

https://githubinc.jibeapply.com/jobs/2387?lang=en-us - Principal/UK

https://githubinc.jibeapply.com/jobs/2386?lang=en-us - Principal/Germany

I helped with a study of the compression strength of concrete blocks when I was in high school. It was a long time ago, but IIRC, the blocks augmented with monofilament (it was fishing line) performed well.