HNHacker News
TopNewBestAskShowJobs

bichiliad

1,366 karma · joined December 12, 2012

[ my public key: https://keybase.io/salem; my proof: https://keybase.io/salem/sigs/SWoRZOAZijE9JNIZex93QGHwSe2UUcCTeMgcad5QV3M ]

Get in touch: hi at salem dot io

submissionscomments
bichiliad··on Tell HN: Unpaid home assignments are not ok
I interviewed somewhere a few months ago that asked me to reimplement something they'd built already, trying to be as pixel-accurate as possible. They paid me really well for my time (~$2k), they time-boxed it, they gave me a copy of their boilerplate framework, and they kept an open channel of communication with me so that I could ask questions. That, plus personal on-site interviews, felt like one of the best interview experiences I've ever had.

It took up a lot of my week, though, and I know it would be tricky to be interviewing at multiple places at the same time like that. Others have mentioned portfolios, which is an idea I think makes a whole lot of sense.

bichiliad··on Why wasn't the steam engine invented earlier? Part II
I'm reading a really good book on the history of steam power called "Fossil Capital"[0]. The thesis so far seems to be that access to — and need for — more portable energy like fossil fuels drove the ability to expand. This in turn induced more demand for energy as humans developed further and further away from places that traditionally provided energy in fixed places, like rivers that could power water wheels.

The book ties this into the roots of the idea of infinite growth, as well as the climate crisis. It's a little sad in that respect, but also genuinely fascinating if you like history.

[0]:https://www.versobooks.com/books/2002-fossil-capital

bichiliad··on Extreme explorations of TypeScript's type system
If you're going down the rabbit hole of writing complex types, check out Dan Vanderkam's "The Display of Types" post[0]. It goes into how types show up in editors and error messages and such, and has a bunch of tricks for improving type readability. I really wish I read it sooner!

[0]: https://effectivetypescript.com/2022/02/25/gentips-4-display...

bichiliad··on Ask HN: How do you monetize your open-source side projects?
A friend mentioned charging for it in the appstore but leaving the open-source project freely available. That way, people can pay for convenience of installation, but they still have a way to access the app freely if they want.
bichiliad··on Ask HN: How do you monetize your open-source side projects?
Not a bad idea, thank you — Github Sponsors is something I use to send other projects money already, but I hadn't thought about it for this app.
bichiliad··on How to stop junk mail
I think I'd argue that the Postal Reorganization Act of 1970 is to blame[0]. In short, postal workers prior to this law were not allowed to engage in collective bargaining. They went on strike to protest this, and this bill, in response, permitted mail employees to organize. In exchange, however, the US Post Office Department, which was formerly directed a cabinet position, was abolished and replaced with a corporation-like independent agency (the USPS as we now know it).

The USPS is expected to produce almost all of its own funds and has had most of its pre-1970 subsidies cut back or eliminated. At the same time, the prices it charges are still set by the federal government (specifically by the Postal Regulatory Commission, appointed by the President), meaning it can't truly set rates that allow it to be profitable[1]. The effect of all this essentially means it's forced to try and generate revenue elsewhere, like through these ads.

[0]: https://en.wikipedia.org/wiki/Postal_Reorganization_Act [1]: https://en.wikipedia.org/wiki/United_States_Postal_Service#R...

bichiliad··on Deutsche Bank whistleblower found dead in LA's Lincoln Park
That's really awesome of you. I work in nightlife occasionally, and I keep a few doses with me (graciously provided from a local mutual aid network). The events I work with almost always have some stashed in their first aid as well. It's a sad thing to have to plan for, but it's really nice to work with folks who take overdoses seriously.
bichiliad··on Deutsche Bank whistleblower found dead in LA's Lincoln Park
This is probably a good reminder to anyone reading: if you can, get yourself naloxone and keep it with your first-aid supplies. You can get it without a prescription in most places, and there are many programs that will give you a few doses for free. It is easy to administer[0], and it has no effect on people without opiates in their system[1]. You may never need it, but having it handy it can mean the difference between life and death.

[0]: https://www.health.ny.gov/publications/12028.pdf [1]: https://nida.nih.gov/publications/drugfacts/naloxone

bichiliad··on 5-min breathing workout lowers blood pressure as much as exercise, drugs (2021)
I think tying allergies to this research probably takes some effort. I will say, as someone in a similar boat, that I've gotten a lot of benefit from regular ol' allergy shots, as well as from low-grade steoroids like fluticasone when things get intense.

Separately, if you haven't heard about it already, only being able to breathe clearly out of one nostril at a time is normal, and helps your nose do its job well[0]. You may be noticing it more acutely because of your congestion.

0: https://en.wikipedia.org/wiki/Nasal_cycle

bichiliad··on Ask HN: Have you created programs for only your personal use?
I have pretty garbage short-term memory in addition to (or because of) ADHD. I made a macOS app to let me take screenshots of parts of a screen and keep them around while I work, essentially extending my own short term memory. I call it ScreenHint (it's essentially a reimplementation of a similar app called Snappy that no longer seems to work) and I use it pretty much every day, any time I'm at my computer.
bichiliad··on Kraken shuts down global headquarters because ‘San Francisco is not safe’
I was in SF yesterday for the first time in about eight years. I can't say I witnessed crimes, but I will say that the homelessness problem is much, much worse than I remember. It's hard to see any of these problems changing without it becoming cheaper to live in the city, and without more housing, I don't know how that's a possibility.

I see a lot of people talking about how people are homeless because of addiction or mental health problems, and there are certainly people who are homeless because of those reasons. That being said, homelessness seems to track much more closely with housing availability than social policies[0]. SF is such a beautiful city — it's sad to see all this abject poverty throughout it.

0: https://www.sightline.org/2022/03/16/homelessness-is-a-housi...

bichiliad··on Ask HN: Share your personal site
Here's my personal site, built using 11ty. It's essentially a glorified business card, but I like the way it looks and I can say that I made it from scratch.

https://salem.io

bichiliad··on To avoid Finland’s tax a 1,000HP imported Hennessey RAM is limited to 55MPH
I’ve been reading a really interesting book on accidents [0]. One of the things mentioned off the bat was that when cars were first introduced to cities, there was a strong push for them to have speed governors because they killed so many people. The auto industry responded by aggressively pushing for jaywalking laws instead, which ended up winning out. I always wonder what American cities would look like were the auto industry less successful.

[0]: https://bookshop.org/books/there-are-no-accidents-the-deadly...

bichiliad··on Epic Games acquires Bandcamp
I make music and sell it on Bandcamp as a way to raise funds to donate to nonprofits. It’s been a reliably honest website, and a fantastic source of both music and validation. Although it’s really tempting to speculate otherwise, I really hope they stay the same.
bichiliad··on Ask HN: Who is hiring? (March 2022)
Octane | Frontend / Full-Stack Engineer | REMOTE (US) / ONSITE (New York City) | Full-time

Octane is building a drop-in metered billing system that gives companies of all shapes and sizes the flexibility to bill how they want. We're looking for a talented product engineer to help us continue to grow. For all the details, check out our job listing here: https://www.getoctane.io/careers-frontend-engineer

We are also in the early stages of looking for a product designer. I'm still working on the job description, but I'm happy to talk in detail in the mean time.

If you're interested, or even just curious, drop me a line: salem@getoctane.io

bichiliad··on James Webb is fully deployed
One thing they mentioned that kinda sends it home to me is that the telescope is aimed at the dark and away from the sun, and the other side is especially reflective[0]. In other words, one side is too dark to see, and the other is too bright to see.

[0]:https://twitter.com/NASAWebb/status/1479161991252131841

bichiliad··on Misbrands
I kinda like that these misbrands are all done in the style of a competing technology, or a misconception that would kinda bother people (like vim / vscode, rust / go, or angular / react).
bichiliad··on The Sucker Complex
I agree with this article in premise. I think about it a lot when it comes to masking up. I'm pretty religious about that, but when I see people on the subway going maskless, I sometimes think about whether I'm being ridiculous or not (the latest wave has been a bit of a reassurance, but the point stands).

I think the layer that gets left out is the abuse of power in these situations. If someone is unable to pay their rent and they get public assistance, I don't think that's getting off with bad behavior; that's a policy decision put into effect. If Nancy Pelosi is benefitting from insider trading because of her ability to steer and change governmental policy, that is abuse.

It sounds like I'm being picky about the examples here, but I think the part that rang the most true was about holding people in the positions of leadership responsible, much like the author's Navy Seal friend telling his AOIC's to lead by example. If the people in charge get away with something, and I'm way less publicly visible than they are, what's to stop me from trying?

bichiliad··on Backblaze restore for Personal Backup is awful
A build issue could totally be it. I feel like that's really common in the frontend / NPM world if you're not careful: if two of your dependencies rely on a third sub-dependency, but those dependencies have specific and incompatible version requirements for that sub-dependency, then you'll end up with two different copies of that dependency in order to satisfy those version requirements.
bichiliad··on Ask HN: Why is building Windows apps so complicated?
I think that by the time you're at the top of a mountain without cell service, you're already locked in to an app that won't let you record your position.
bichiliad··on Ask HN: Who is hiring? (December 2021)
Octane | Core Infrastructure Engineer | REMOTE (US) / ONSITE (New York City) | Full-time

Octane is building a drop-in metered billing system that gives companies of all shapes and sizes the flexibility to bill how they want. We're looking for a talented backend engineer to help us continue to grow. For all the details, check out our job listing here: https://www.getoctane.io/careers-software-engineer-core-infr...

If you're interested, drop us a line at careers@getoctane.io.

bichiliad··on Museum of Plugs and Sockets
I'm on vacation in France and I've been really surprised to see that the ground connections in wall sockets is a pin (rather than a port). I couldn't believe that this site was on HN, and of course there's a whole page on exactly this design. Sadly, the answer seems to be "we have no idea why it's like that, even though we've tried to find out."

https://www.plugsocketmuseum.nl/EarthPin-sockets.html

bichiliad··on Etsy’s Journey to TypeScript
It’s a minifier. I am not sure if tsc minifies your code for you or not, but if it doesn’t, you’d definitely want that in your build step. It’ll shrink your built files considerably, and it’s a pretty standard, uncomplicated tool.
bichiliad··on Etsy’s Journey to TypeScript
I read about that migration when we were first starting! That seemed like a really serious amount of work — congrats on seeing it through to the end.
bichiliad··on Etsy’s Journey to TypeScript
We've been a bit apprehensive about using `as` in the codebase in general, but I hear you on that instance not being as big of a deal.

Regarding RTK Query, we have used it, a little! I'm going to pass this thread along to the teammate of mine (@sangster) who's been really excited about using RTK Query more — he might have some thoughts to share.

bichiliad··on Etsy’s Journey to TypeScript
In general, TypeScript allows us to write code without worrying about run-time validation — if something says it's a string, we can trust it to be a string. However, this assumption falls apart at the edges between our typed and our untyped code. This is why we left in propTypes in our React style guide components, even though they were made redundant by TypeScript's own types.

Can you elaborate a bit more about what sorts of type-guards and run-time validation functions you're thinking about? The only type-guards we somewhat generate are the ones Redux Toolkit makes for all of its actions, but aside from that, we only really use type guards when we're interfacing with a 3rd party API or something.

bichiliad··on Etsy’s Journey to TypeScript
I agree with you that our industry should spend more time training frontend engineers. Frontend is often treated as an afterthought, which ends up being very costly in the long run.

That being said, the addition of types was definitely not us chasing a popular framework. Etsy adopts tech really, really slowly. We had a pretty specific set of problems that types had traditionally solved in many other areas of the stack, so we evaluated JavaScript type systems and decided on TypeScript.

I don’t really think the “types make bad code, functional programming makes good code” argument here is made in good faith — there are good and bad codebase using any paradigm you can think of. Give TS a try, or at least let me answer some of your specific concerns about it.

bichiliad··on Etsy’s Journey to TypeScript
We still typecheck and build in different steps due to speed; we can build our JS much faster than TS can with Babel + Webpack. We also have a bunch of old custom features that our build system needs to support, so bolting them onto tsc was a non-starter.

Plus, we have to support some fairly old browsers (we only recently dropped support for IE11), so Babel is certainly doing a lot of transforms on the bundles we ship to older browsers.

Separately, do you mean Terser instead of ESLint? ESLint isn’t really part of our build process.

bichiliad··on Etsy’s Journey to TypeScript
Honestly, RTK made migrating our existing Redux code to TS so much easier. I really can't thank you enough. We often had teams adopt RTK (in favor of some internal Redux-based helper methods) before helping them migrate other files. In particular, the createAction `.match` pattern made adding types to our actin really simple. I think the only thing that felt awkward was using the ThunkAPI generic when we needed to access state in, say, `createAsyncThunk`, but even that wasn't all that bad after we got used to the pattern. I'm happy to provide more specific feedback if you'd like (hi@salem.io).
bichiliad··on Etsy’s Journey to TypeScript
Thank you! Very much appreciated.
← PreviousPage 4 of 14Next →