HNHacker News
TopNewBestAskShowJobs

jahfer

338 karma · joined November 20, 2012

Principal developer @ Shopify
submissionscomments
jahfer··on You don't need a CRDT to build a collaborative experience
I haven’t explored this space in a while, but I have a couple of examples that could be helpful. A Clojure library of mine [0] has a decent README with some background reading on how to use operational transform.

I also reimplemented it in a surprisingly tiny amount of OCaml [1] which was a fun way to learn that language :)

[0]: https://github.com/jahfer/othello [1]: https://github.com/jahfer/othello-ocaml

jahfer··on Amazon will allow many employees to work remotely indefinitely
Welcome! Feel free to ping me on Slack if you’ve got questions and don’t know who to ask (:
jahfer··on Police across Canada are using predictive policing algorithms, report finds
The police in Canada are due plenty of scrutiny for how altruistic their departments might be [1]

> The Ontario government ended police access to a COVID-19 database on July 22 after a court challenge by civil rights groups.

> Information released during that legal process revealed Thunder Bay police had searched the database more than 150 times per day, on average, between April 17 and July 22, according to the CCLA. That amounts to 14,800 searches, or a rate ten times the average number of searches by other police forces across the province.

> Thunder Bay had fewer than 100 reported COVID-19 cases during the time the data was available to police.

[1] https://www.cbc.ca/news/canada/thunder-bay/thunder-bay-polic...

jahfer··on Open source collaborative text editors
A number of years back, I wrote an OT implementation in Clojure/ClojureScript as a hobby project [1] and learned a lot along the way. I even extracting out the core client/server implementations to their own package [2].

It's an incredibly fun topic, and one that's also really challenging. It also gave me first-hand experience with fuzz-testing where I could simulate all kinds of concurrent-edit conflicts and ensure both clients came out with the same end-result. While the end client/server implementations are working, it was a lot more effort than I anticipated building a full-fledged editor on top. I was too stubborn at the time to attempt to integrate with existing RTEs though, so the most notable part of the project was the core lib, not the end product.

For those interested in implementing it for themselves, I can't recommend this piece [3] by @djspiewak enough.

[1] https://github.com/jahfer/ot [2] https://github.com/jahfer/othello [3] http://www.codecommit.com/blog/java/understanding-and-applyi...

jahfer··on DuckDuckGo Raises $10M
http://ddg.gg is a working alternate domain (:
jahfer··on Lavabit Proceedings Unsealed [pdf]
I might be misunderstanding here, but going through the court transcript (p. 49–50), but it sounds like the gov't was entitled to installing a pen register[0] since (replace phone with email/internet):

"that because you knowingly expose phone numbers to the phone company when you dial them (you are voluntarily handing over the number so the phone company will connect you, and you know that the numbers you call may be monitored for billing purposes), the Fourth Amendment doesn't protect the privacy of those numbers against pen/trap surveillance by the government."

Since all of the network communication happens over SSL though, they are unable to read any of the data going into or out of the network without the encryption keys.

Shouldn't they only be able to access what's exposed to the outside network, or are they actually entitled to the unencrypted text, even if that's not available without being inside the connection? Forgive my lack of technical/legal understanding here.

[0] https://ssd.eff.org/wire/govt/pen-registers