HN user

ahicks

477 karma
Posts1
Comments6
View on HN

Location: Seattle

Remote: Yes

Willing to relocate: No

Technologies: Rust, C/C++, Python, SQL, Kubernetes, many others

Résumé/CV: https://ahicks.io/files/resume.pdf

Email: ahicks@ahicks.io

My first resume-worthy project was working with Mozilla on the Rust compiler for 6 months [0], implementing the ability to reorder fields in structs to eliminate padding. My work here was primarily a cleanup project which also unblocked many other Rust layout features that people benefit from today. I then detoured into Python/Django on top of Kubernetes, writing scalable infrastructure such as a giant media transcoding cluster. After that, I pivoted back to C/C++ working at Backtrace I/O. If you play a lot of videogames, our software is probably on your system, as we indexed and processed native crashes for many of the largest videogame publishers. This was big data on the order of tens to hundreds of terabytes per day. I was able to attain exposure to the concerns at that scale--including custom database design. While there, I spearheaded the adoption of Rust in the org, initially for microservices and later as part of our C codebase. I'm now one of the most experienced Rust engineers you'll find. We did neat things some of which are open source, for example our feature flag system that rewrote code at runtime [1] and our Sqlite VFS that replicates to S3 [2]. As a benchmark of our success, we managed to be acquired by Sauce Labs, a company easily 10 times our size.

Though we weren't successful in the long term, I also bring some business experience to the table as some friends and I did manage to run a contracting company for a while.

Outside of work I play around with DSP and audio synthesis projects, including optimization using lower level details such as SIMD. I also think about programming language design. Recently, I've been working to mod Factorio to make it playable by the blind. I am 100% blind myself, and I've managed to win it multiple times. You can get info on it at [3], and I did a stream which also demonstrates my ability to speak ad-hoc without much preparation at [4]. It also answers the question "how do you use the computer?", one of the more common questions I get. In terms of technical skill, when I joined the project it was one 20000 line file, and now it's maintainable and nicely split up.

My salary expectation is $200k+. I'm looking for mid-sized to small startups. At this point, I'm able to take some risks. Hopefully this interests you. I know I've said a lot. That's because I'm looking for the right fit, not the fast fit. If you hire me, I want to be there for the long term.

0: https://ahicks.io/posts/April%202017/rust-struct-field-reord...

1: https://engineering.backtrace.io/2021-12-19-bounded-dynamici...

2: https://engineering.backtrace.io/2021-12-02-verneuil-s3-back...

3: https://github.com/factorio-access/FactorioAccess

4: https://www.youtube.com/watch?v=QW2-ujG9PSE

Location: Seattle

Remote: Yes

Willing to relocate: No

Technologies: Rust, C/C++, Python, SQL, Kubernetes, many others Résumé/CV: https://ahicks.io/files/resume.pdf

Email: ahicks@ahicks.io

My first resume-worthy project was working with Mozilla on the Rust compiler for 6 months [0], implementing the ability to reorder fields in structs to eliminate padding. My work here was primarily a cleanup project which also unblocked many other Rust layout features that people benefit from today. I then detoured into Python/Django on top of Kubernetes, writing scalable infrastructure such as a giant media transcoding cluster. After that, I pivoted back to C/C++ working at Backtrace I/O. If you play a lot of videogames, our software is probably on your system, as we indexed and processed native crashes for many of the largest videogame publishers. This was big data on the order of tens to hundreds of terabytes per day. I was able to attain exposure to the concerns at that scale--including custom database design. While there, I spearheaded the adoption of Rust in the org, initially for microservices and later as part of our C codebase. I'm now one of the most experienced Rust engineers you'll find. We did neat things some of which are open source, for example our feature flag system that rewrote code at runtime [1] and our Sqlite VFS that replicates to S3 [2]. As a benchmark of our success, we managed to be acquired by Sauce Labs, a company easily 10 times our size.

Though we weren't successful in the long term, I also bring some business experience to the table as some friends and I did manage to run a contracting company for a while.

Outside of work I play around with DSP and audio synthesis projects, including optimization using lower level details such as SIMD. I also think about programming language design. Recently, I've been working to mod Factorio to make it playable by the blind. I am 100% blind myself, and I've managed to win it multiple times. You can get info on it at [3], and I did a stream which also demonstrates my ability to speak ad-hoc without much preparation at [4]. It also answers the question "how do you use the computer?", one of the more common questions I get. In terms of technical skill, when I joined the project it was one 20000 line file, and now it's maintainable and nicely split up.

My salary expectation is $200k+. I'm looking for mid-sized to small startups. At this point, I'm able to take some risks, including possibly volatile salary (e.g. crypto, bonuses, etc). Hopefully this interests you. I know I've said a lot. That's because I'm looking for the right fit, not the fast fit.

0: https://ahicks.io/posts/April%202017/rust-struct-field-reord...

1: https://engineering.backtrace.io/2021-12-19-bounded-dynamici...

2: https://engineering.backtrace.io/2021-12-02-verneuil-s3-back...

3: https://github.com/factorio-access/FactorioAccess

4: https://www.youtube.com/watch?v=QW2-ujG9PSE

I haven't specifically tried different types of audiobooks to see if there's some preferred category.

With movies I don't bother with them unless they have descriptive audio, at which point you've got music, sound effects, and two somewhat parallel speech streams going on. That's high informational content.

I did an entire CS degree at 800 words a minute. I program in any programming language you care to name (including the initial learning) at that speed as well. For more complicated concepts I stay at that speed, but pause after every paragraph or so to chunk the content as needed. I'm doing this thread at that speed. Pretty much the only time I slow it down is pleasure reading or sometimes articles when i want to go off and do chores while I listen, but even then it's still faster than human speech.

In general i think answering these sorts of questions needs research that we don't have to my knowledge. Nothing in my personal experience or background really allows me to give you good definitive answers. The sample size to work with is pretty small and in all honesty there's not a lot of good research around blindness day-to-day in the first place.

Other people in realtime aren't...I guess the best way I have to put it is informationally sparse. There's a lot going on beside what's being said in conversation. Synths don't imply things for example; in a context with active implication slowing/pausing the synth is sometimes necessary. The skill doesn't extend beyond the blatant transfer of information. In social contexts and especially when you can't go off any visual cues whatsoever to figure out what the other person is thinking/feeling, there's a lot more going on than simple information transfer.

However most blind people I know who do this start hating audiobooks, start hating talks, and generally by far prefer the text option. audiobooks aren't annoying, but they're below my baud if you will. Net result: boredom/falling asleep to whatever it is and the need to actively make an effort to listen. Some things which require active listener participation--math lectures for example--are different. I guess the best way I can put it is that speed is inversely proportional to the amount of, I guess let's call it active listening, required.

I've given a lot of thought to this stuff, but we don't really have the right words for me to communicate it properly. A neuroscientist or linguist might, but I'm not either of those.

And as a followup to that--because really this is the weird part--some circles of blind people (including mine) talk faster between ourselves. That's not common, but it happens. I still sometimes have to remember that other people can't digest technical content at the rate I say it and remember to slow down. A good way to bring it out is to have me try to explain a technical concept that I understand really well. I have the common problem in that situation of not being able to talk as fast as I think, but I also seem to have the ability to assemble words faster in a sort of tokenize/send to vocal cords sense once I know what I want to say.

To me, the fact that this does in fact seem to be bidirectional at least some is more interesting than that I can listen fast.

I'm the blind dev who refactored a huge chunk of the Rust compiler [0]. I'm at roughly 800 words a minute with a synth, with the proven ability to top out at 1219. 800 or so is the norm among programmers. In order to get it we normally end up using older synths which sound way less natural because modern synthesis techniques can't go that fast. There's a trade-off between natural sounding and 500+ words a minute, and the market now strongly prefers the former because hardware can now support i.e. concatenative synthesis.

1219 is a record as far as I know. We measured it explicitly by getting the screen reader to read a passage and dividing. I spent months working up from 800 to do it and lost the skill once I stopped (there was a marked level of decreased comprehension post 1000, but I was able to program there; still, in the end, not worth it). When I try to described the required mental state it comes out very much like I'm on drugs. Most of us who reach 800 or so stay there, though not always that fast for i.e. pleasure reading (I do novels at about 400). it's built up slowly over time, either more or less explicitly. I did it because I was in high school doing muds and got tired of not being able to keep up; it took about 6-8 months of committing to turn the synth faster once a week no matter what, keeping it there and dealing with a day or two of mild headaches. Note that for most blind people these days, total synthesis time per day is around 10+ hours; this stuff replaces the pencil, the novel, etc. Others just seem to naturally do it. You have little choice, it's effectively a 1 dimensional interface, so from time to time you find a reason to bump the knob. And that's enough.

Whether and how much the skill transfers to normal human speech, or even between synths, is person-specific. I can't do Youtube at much beyond 2x. Others can. It's definitely a learned skill.

0: https://ahicks.io/posts/April%202017/rust-struct-field-reord...