HNHacker News
TopNewBestAskShowJobs

zck

3,254 karma · joined September 24, 2008

Emacs, Lisp, guitars, improv, keyboards.

http://zck.org

http://twitter.com/zckzck

email:zkanfer@Google's eMAIL

meet.hn/city/42.3554334,-71.060511/Boston

submissionscomments
zck··on Ask HN: Who wants to be hired? (September 2024)
Location: Boston, MA, USA

Remote: No

Willing to relocate: No Technologies: Historically Java, but recently I've been working in Kotlin and Go. Mostly backend. Personal projects in Clojure, Arc, Emacs Lisp.

Website: https://zck.org/

Résumé/CV: https://www.linkedin.com/in/zacharykanfer/ (email me for a pdf)

Email: zkanfer@gmail.com

---

I just moved to Boston for my partner's doctorate program, and my current job isn't ok with remote work. So here I am. I've done mostly backend work, but have done a little bit of frontend for internal tooling and personal projects.

The thing I'm most proud of at a job is a hackathon project I made to schedule shipping services in a warehouse. It moved these schedule changes from taking an hour to taking less than ten seconds. We later extended it with more features, becoming the backbone of things like shipping pricing and capacity limits. It was the first multi-warehouse aware piece of software at the company.

zck··on I Probably Hate Writing Code in Your Favorite Language
I think the point the author is making is: unless you control all the code you're calling, in a language without immutable datatypes, you can't be sure the other functions don't change your data.
zck··on Fast Crimes at Lambda School
Very neat! It would be cool to see, I'm sure. Anarki hadn't changed too much, but there are some things for sure. Any especially cool features added or changed? Must be cool to work in a language you control.
zck··on Fast Crimes at Lambda School
> Thanks! I'm proud of my moderation browser extension with keyboard shortcuts! https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... - which is written in Arc by the way: https://news.ycombinator.com/item?id=20179860.

Really cool! How different is Arc running HN or your extension from Arc3.1, the last-released version?

zck··on Carl Sagan, nuking the moon, and not nuking the moon
This one: https://www.youtube.com/watch?v=GTJ3LIA5LmA
zck··on Gerbil Scheme – A Lisp for the 21st Century
I've tried to keep it Arc-compatible, but I always run it on Anarki.

Run it like `(gensite "path/to/site/base")`. The site root is a folder with the following things in it:

1. a config file `conf.arc`, with config for the site. It has these keys (but I don't think they're all required):

  1. sitename -- title for the homepage

  2. site root -- url; mine is "https://zck.org"

  3. description -- used in the RSS feed.

  4. slogan -- used in the sidebar

  5. navbar-entries-at-top -- extra links at the top, as a hashtable. Mine is ((tagged table ((href "art") (content "my art"))))

  6. mailing-list-cta -- A thing put at the bottom of each page (except the homepage) that is a call-to-action for my mailing list.
2. a folder called `published`. This contains the entries in the site. Each file is the html contents of the body of the entry, and I don't believe it matters what you call the file. Each entry also has a bonus set of options in it, which I'll explain later.

3. a folder `pregenerated` that has things in it copied verbatim over to the output. I use it for things like my favicon, css, images, and some html games (https://zck.org/numberdle/?variant=rationerdle).

4. a folder `frontpage`. This contains entries that do not directly result in a page; they merely result in entries placed on the frontpage and rss feed. They have the same options that the published entries do. I use it for things like announcing when I've given a talk, or launched something that's in `pregenerated`. This can be empty; it just won't generate any entries like this.

5. a folder `codegen`. This folder contains files that contain arc code. Each file, when executed, results in a list of pages. There's some busy work in passing args into it, and getting the results back. Don't start by using this; like `frontpage`, it can be empty, or maybe even nonexistent.

Now, the important part of each page entry -- the "options". This is a serialized arc obj that is put at the top of each entry. It has keys `url-slug`, `title`, `date` (in YYYY-MM-DD format), `navbar` (set it to t to put this entry in the navbar), `frontpage` (the string that gets put in the frontpage for this entry; an <a> link with no href gets set to link to the entry), and `tags` (a list of strings that tag that entry; see https://zck.org/tags).

So my latest entry (https://zck.org/ruby-hashmap-syntax) looks like:

``` file begins

((url-slug ruby-hashmap-syntax) (title "til: Ruby's hashmap syntax") (date "2024-03-20") (navbar t) (frontpage "Ruby's hash syntax is confusing. There are two different syntaxes, and they <a>work surprisingly differently</a>.") (tags ("til" "ruby")))

<div> <p>I was writing some Ruby for the first time, and I made a hashmap with some data in it.</p>

```rest of file snipped

The arc hashtable is not printed as part of the html output; it's only used for its values, and the page itself starts after it. In this case, the page starts at the <div> tag.

I write my blog in Emacs org files, for which I've also written my own org-mode exporter (https://hg.sr.ht/~zck/ox-zhtml). I've done this because the built-in html exporter creates some really ugly html. You shouldn't be able to tell what html exporter created your html; the org one puts in a lot of "org" properties that are terrible.

I'd love to know if you get this working! Feel free to email if you want to talk off-thread or get more help. I'm sure there is more I missed.

zck··on Gerbil Scheme – A Lisp for the 21st Century
> ...sometimes it feels like I’m the only one in the world that actually uses it to solve problems that I personally have.

My personal static site generator (https://hg.sr.ht/~zck/site-generator, generating https://zck.org/ and https://theflyingbuffalo.com/) is written in Arc. It's a very fun place to program.

I've used other Lisps, but Arc for me fits a very enjoyable programming space. There's a small enough core that I don't have to spend a lot of time figuring out, say, how to change logging levels or why Spring isn't parsing a POST body into the object it's supposed to be. But it's also large enough that I don't need to rewrite an http handler.

zck··on Pijul is a free and open source (GPL2) distributed version control system
So we have a git branch v1, and a git branch v2, and sometimes we pull commits into both, and other times just one. How does pijul manage that without using channels?
zck··on Pijul is a free and open source (GPL2) distributed version control system
> However, channels are different from Git branches, and do not serve the same purpose. In Pijul, independent changes commute, which means that in many cases where branches are used in Git, there is no need to create a channel in Pijul.

I've never understood this. AFAIK, the only use case I've ever seen for git branches is "I have some code, but don't want it going live yet". Maybe it's a WIP demo, maybe you want someone else's eyes on it, maybe you just want to back your current state up on a remote server because your laptop is going to explode.

Am I misunderstanding, and Pijul manages that without channels? Or is there a common case git branches are used that I missed?

zck··on When the "R" goes missing from R&D (2021)
It's interesting thinking about this. In my career, I would not think nearly anything I've done resembles research. Just pumping out development tasks.

The one thing I can think of that was like research was really enjoyable.

I should think about how to get more of this in my career. Even making personal projects isn't exactly "research".

zck··on Improving Emacs Isearch Usability with Transient
> Software in general would be so much better if keybindings were always explicitly part of the user's configuration.

So you'd open up Emacs, and the only thing you'd be able to do is insert and delete text? No "beginning-of-line", no "find-file"? That seems...even less newbie-friendly than Emacs currently is.

zck··on Ask HN: Could you share your personal blog here?
https://zck.org/

A lot of Emacs stuff, but also some generative art, nix, and til posts. Tags page here: https://zck.org/tags

zck··on Why Companies Can't Quit Jack Welch's Much-Hated Employee-Ranking System
https://archive.is/BsXQO
zck··on Ask HN: Share your personal site
https://zck.org/

Lots of Emacs and generative art.

Buffalo chicken thoughts go to https://theflyingbuffalo.com/

zck··on Show HN: Rethinking Tabs in Firefox
alt-9 goes to the rightmost tab, as well.
zck··on Barber schools and license requirements in Rhode Island
> You probably spend most of the 1500 hours as an apprentice.

From the article:

> If you want to do [an apprenticeship instead of training], you will need to complete 1000 hours of training at a barbering school, along with a minimum of 840 hours of on-the-job training.

zck··on Ask HN: Share your personal site
https://zck.org/, a static site on Nearly Free Speech.net. I post about Emacs and generative art. In the future, maybe some improv or guitar posts too.

I also have https://theflyingbuffalo.com/, a buffalo chicken review blog.

zck··on Netflix Should Sell Ads
This is a fair critique!

It's just more nuanced than "I don't want to watch shows with ads".

zck··on Netflix Should Sell Ads
I think people are missing the suggestion of this article. It's not suggesting that Netflix adds advertising to the existing subscriptions; it's suggesting they add a lower-priced subscription supported by ads.

>...it would create a new benefit for those willing to pay (i.e. no advertising for the highest tiers).

If they kept the existing $10/$15.50/$20 plans the same (https://help.netflix.com/en/node/24926), but they add a $5 ad-supported subscription, that's not changing anyone's experience, unless they choose to switch.

zck··on Aaron Swartz introducing Infogami (2006)
> 53 hours since our last new feature. There's a new one almost every day.

That's a cool thing to put on your website to show how often it's updated, at least as a small company.

zck··on Ask HN: Why aren't you starting your own company?
- I don't have a good idea, or a good problem to solve.

- I don't really think I'm great at what I do, so starting a company to do it feels dangerous.

zck··on Ask HN: How do you find (again) joy in software dev with so much setup?
I'm hopeful that Nix can help with this. By putting system configuration into a config file, it should be easier to set up a system -- point it at the file and let it install everything.
zck··on How to Explain an Idea
>A simple trick I once learned is to structure the explanation into four parts, with one sentence for each part: (1) state the problem, (2) state the consequences of the problem, (3) state the solution, (4) state the consequences of the solution.

That's a good structure! I have thought about it -- in the context of technical talks -- as Why/What/How. You start at a high level, and progressively zoom in. Why is the problem, What is the solution, and How is the technical details of the solution.

I have a longer explanation at https://twitter.com/zckzck/status/1483330904571494400

zck··on Keyboard lets people type so fast it’s banned from typing competitions
I don't see why not. The UX would not be as good, though.
zck··on Keyboard lets people type so fast it’s banned from typing competitions
I bet the 76% accuracy is coming from the CharaChorder's input method. From its website (https://www.charachorder.com/product-page/charachorder):

> CharaChorder’s internal processor arranges the letters on-screen in real time faster than the human eye can perceive.

So if it inputs one word, deletes it, and writes a new word every time you press a new letter, that would result in some decreased accuracy, even if the user doesn't ever correct anything.

zck··on New York City will make it mandatory for companies to post salaries on job ads
But with RSUs, you lock the purchase price in at the time of hire. So if you are granted a four-year grant in 2022, you get RSUs of stock in 2026, but at the 2022 price. So if you're granted $1k/month of RSUs, and the company stock doubles in that four years, each month you get $2k worth of stock.

Your employer won't do that with salary.

zck··on You Don't Need a Mentor–Find a Nemesis Instead
> In a way Lennon/McCartney were a ambivalent nemesis pair. They would respond to each other's hits.

Also, the Beatles and Beach Boys. One article about that is here: https://mathewstreet.co.uk/the-beatles-vs-beach-boys/. A pull quote:

> Brian Wilson was quoted as saying: “Rubber Soul blew my mind. I liked the way it all went together, the way it was all one thing. It was a challenge to me to do something similar. That made me want to make Pet Sounds, I didn’t want to do the same kind of music, but on the same level.”

Then

> However, it was Paul McCartney who was possibly the biggest fan of ‘Pet Sounds’. He was even quoted as saying: “It was Pet Sounds that blew me out of the water. I played it to John so much that it would be difficult for him to escape the influence.”

And further:

> At the time, Brian Wilson was working on the The Beach Boys’ Smile album and was struggling to complete it. One day, whilst driving in his car under the influence of drugs, the newly released ‘Strawberry Fields Forever’ was played on the radio. His passenger at the time, Michael Vosse, recounts “he just shook his head and said ‘They did it already – what I wanted to do with Smile. Maybe it’s too late.’”

zck··on Ask HN: How to continue to be gracious about the good fortune of rich friends?
I've been looking into Stoic readings lately. Their advice is not "be emotionless"; the "stoic" adjective does not apply to them.

One tool they advise using is negative visualization. Take a minute right now and imagine how things could be worse. Your apartment could have a leak in the roof. You could have to share it with a roommate who steals from you. You could be living on the street.

This is not to say you have no problems. Not at all! But sitting with thoughts about how your life could be worse might help you be happier with your situation. You say you're "at the bottom with nothing". It's easy to think about your life only looking up and seeing how far you have to go; harder to look down and see how far you have come.

Additionally, imagine what the "stunning house" costs them! Not money, specifically, because they have it. But how much must they worry about being broken into. They have to deal with fixing everything that could go wrong, while you can call your landlord and have them fix it -- or even move out!

Be careful not to become too attached to things you can't control. If their expensive house burns down tomorrow, would they be too used to it to rent a smaller place? That's attachment that would make it harder to live.

zck··on Amputated fingertips sometimes grow back (2013)
Any idea if your fingerprints are the same as before?
zck··on The Vice President of the US Should Not Be Using Bluetooth Headphones
The original Politico article (https://www.politico.com/newsletters/west-wing-playbook/2021...) had a really weird tone. It read a little sarcastic to me. After starting with downplaying her concerns, it ends with almost mockery:

> But still, should someone who travels with the nuclear football be spending time untangling her headphone wires? The American people deserve answers!

>The vice president’s office did not respond when asked if there was a “fun origin story” to Harris’ Bluetooth wariness, or for any background on the particular security risks Harris believes Bluetooth technology represents.

← PreviousPage 2 of 29Next →