< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #57 - April 5, 2020

If you are looking for work, check out this month's Who is hiring? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by adaisadais

Ender’s Game by Orson Scott Card.

My best friend in 7th grade had older siblings and they had all read Ender’s Game. He read it and told me I had to read it. Being the impressionable 7th grader (2006-7) that I was I gladly obliged.

I found the book to be deeply fascinating. It opened my eyes to ‘new’ technology like ‘ansible’ (can communicate anywhere in the universe instantaneously) and really opened up my imagination to what I could do with my life.

Growing up in rural South Carolina with dreams of being an explorer or an astronaut seemed kinda far fetched. Most people just wanted you to be a Dr. or Lawyer or get a job at BMW. Ender’s Game showed me that it was ok to be different. It was ok to love to read books and to think that one day I too could have an impact on society.

For what it’s worth: Mark Zuckerberg also had Ender’s Game listed in his books section on FB. But truthfully back in ‘07 I was busy writing poems on MySpace (FB wasn’t rural yet) hoping that I would one day be as influential as the Demosthenes character in Ender’s Game

Top comment by seniordevconfuz

I woke up today with a nice surprise from HR. I got laid off. It was the most impersonal and robotic email I received.

20 minutes later all my accounts got disabled, not a chance to even say farewell to my nice co-workers.

It sucks. I don't have a ton of savings. Luckily my car is paid off, and I only have student loans left.

I was very tempted to inflate my lifestyle after I got a big raise.

I didn't do it, otherwise i'd be in a world of shit.

At least I can survive for a couple month or so.

Stay strong people

Top comment by hluska

Good morning Peter. I don’t have a question, instead I have a fact and some good wishes.

Your AMAs have taught me (a Canadian founder) one heck of a lot over the time you’ve been doing them. Thanks for taking the time to do them, especially now when much of what we called life has been shut down.

Best of health, stay safe and thanks for being so giving!

Top comment by qeternity

You have to look at real rates, not nominal rates. The only markets that have negative nominal rates are battling deflation (which the US is not) or have serious liquidity concerns at the moment. The Fed is unlikely to go negative as they face a very different beast.

Here's a quick example. Let's say you're in a deflationary environment: in 1 year, your money actually buys you more than it did last year, let's say for instance, 2% more. Under this weird environment, you would actually be willing to pay someone to hold your money for a year, because you know in a years time, it will buy you 2% more (effectively a 2% return). So, since you don't want to store that money under your mattress, how much will you pay someone? Let's say you pay your bank 0.5% for holding your money (i.e. negative rate). So in a years time, you get 99.5% of your money back from the bank, but it buys you 2% more "stuff" so really, compared to today, you're getting 101.5% (roughly) of your money back, which is the same as a 1.5% interest rate. This is called the "real" interest rate, and it's the only one that matters.

Top comment by dang

Ok, since this is getting attention, I'll explain.

Launch HN posts for YC startups are one of three formal things that HN does for YC (https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...). The others are job ads for YC startups, and orange usernames for YC alumni—but only when displayed to other YC alumni, which always generates "why is my username not orange" emails. But I digress.

Launch HN posts are like job ads in that they get an initial front-page placement, usually somewhere between #8 and #10. (I think job ads start a little higher). Then they fall down the page. Unlike job ads, though, launch posts can be upvoted and commented on. Once they've gotten their initial placement they function like regular stories. Occasionally the community finds one particularly interesting and it gets upvoted higher. This recent one spent quite a while at #1: https://news.ycombinator.com/item?id=22616857 (http://hnrankings.info/22616857/).

We started doing the Launch HNs three years ago. I was worried that the community would hate them because we were taking additional front page space for YC. (Our intention was to make it so that a launch post and a job ad wouldn't appear at the same time, but I never ended up writing that code, so sometimes they do.) But that hasn't ever come up. I think it's because launch threads are intrinsically more interesting than job ads (see https://news.ycombinator.com/item?id=22767319 downthread for more on that).

All this time, the initial front-page placement of launch posts, unlike job ads, has been done manually. That is, founders have had to email us and we've manually jigged the post onto the front page. The problem with that is that you have to be awake to do it. I don't want to be awake to do it, especially because startup founders tend to be businessy, bustling types who are all bright-and-early, while my schedule drifts ever deeper into the darkness as the few moorings I had remaining to the rest of society dissolve in this time of social distancing and self-isolation, which were basically my bread and butter to begin with (https://www.youtube.com/watch?v=yUlBWNDW72E).

Until now, I've told founders to post at Pacific 10am and email us, because that's roughly when I get going in the morning. Tomorrow, though, there are two. One is a fintech startup in Latin America who want to post at 9am. And the other is Peter Roberts, who's going to do another immigration AMA (https://news.ycombinator.com/submitted?id=proberts). Peter is on the east coast, and wants to get going at 8am Pacific, which is late for him and (ungodly) early for me.

So tonight I got frustrated enough to write some code to deal with it. Frustration reaching a tipping point and boiling over is my gateway into the code these days. My goal is for startups to be able to post their launches, and occasionally for pre-scheduled submissions like Peter's (which are rare), to end up on the front page in a way that is decoupled from whenever I went to sleep the night before.

This code turned out to be a lot more complicated than I anticipated. The patch ended up adding a hundred lines of Arc. A hundred lines of Arc! Do you have any idea how many lines of Arc that is? I just looked through the history and the last commit that added that many lines of code was over two years ago when we got Arc to compile to JS. Obviously this change needs to be thoroughly tested, so after testing it on my laptop I deployed it to production and decided to do a couple of sanity checks live. One was to post a test Launch HN using my old account gruseom, which is the founder account for Skysheet, the spreadsheet startup that Scott and I had 10 years ago (and which I still think about every day, but I should avoid digressing again). The code I wrote has some logic in it for cofounder accounts. One thing it's supposed to do is email all the cofounders when a Launch HN post has made it to HN's front page, so they will be ready to engage with commenters. Anyhow, this test post was the OP. The good news: it got placed on the front page in the way that I intended. The bad news: none of the emails were received. God fucking shit fucking goddamnit I knew those emails wouldn't work...I mean, dang.

(Edit: actually that's not what happened. https://news.ycombinator.com/item?id=22772667)

My intention was for this thread to remain obscure, then get placed briefly on the front page by the new code, at which point I'd get the emails and immediately delete it. I didn't think it was very likely to get noticed in the middle of the night here, especially when posted by what ought by now to be an obscure account, but oh well.

I think that covers everything. Hopefully you all will see those two auto-placed posts on the front page tomorrow morning because I do not intend to be awake 5 hours from now. (Edit: it worked!)

Top comment by saagarjha

This sounds like it might be a bug/misconfiguration in Launch Services, which deals things like application registration and URL scheme handling. Since I would expect your browser to do something like call to the system to open the URL (LSOpenURLsWithRole, et al.) I don't think this is a problem with Zoom.

Top comment by kqr2

http://strlen.com/treesheets/

Open Source Free Form Data Organizer (Hierarchical Spreadsheet)

Top comment by JediTrilobite

I used to work in the higher-education field for a respected private university, and I think I know part of the answer to this: institutional momentum.

This university launched an online MBA program early on, and built it out with a bunch of other offerings as well. We were genuinely ahead of the curve on a bunch of things, but we were also pretty separated from the rest of the university, physically and culturally. We had our own building removed from campus, and we did things a little differently. Not quite Silicon Valley agile, but comparatively. Meanwhile, the rest of the campus was adamantly against online learning, for years.

I think a big part of this is that we had an older faculty and institutional culture that was pretty set in its ways: they didn't see or recognize the value that the internet afforded their classrooms, and weren't set up to implement them. That's begun to change a bit as we got younger faculty, but there's still a tendency towards in-person learning, because of the tradition and training behind it.

I don't think this is necessarily malevolent on their part: they just haven't thought deeply about it. Plus, there's a lot of infrastructure that you'd have to build out to provide online learning: there are a lot of logistical obstacles in the way. You need to select a CMS, hire course developers, train reluctant faculty and staff, figure out how to make it accessible and ADA-compliant, design courses that make sense for online learning, then market to students who are willing to go up online to take their classes.

Those are a lot of hurtles to overcome for an institution, and it requires a lot of willpower and political wrangling within the institution in order to make sure it gets done. As a result... it just doesn't. I think it'll change with time, but it's like turning an aircraft carrier: you can't do it overnight.

Top comment by golover721

Unfortunately a lot of the comments are mixing together leadership with management. These are not the same thing. Some of the best technical leaders I have had the pleasure to work with were not managers.

As a developer gets older and has more experience they are definitely expected to show leadership skills. While this can look different for everybody, usually it looks like some combination of:

1. Ability to mentor others 2. Ability to be the "expert" on the team. A go to developer for design and architecture advice 3. Ability to be the liaison with other development teams, product management, or sometimes upper management

Unfortunately it is rare that you can be an experienced develop er and not be expected to show leadership in these areas, along with your development work.

Top comment by mapgrep

I always add an “Accept-Encoding” header to my request to indicate I will accept a gzip response (or deflate if available). Your http library (in whatever language your bot is in) probably supports this with a near trivial amount of additional code, if any. Meanwhile you are saving the target site some bandwidth.

Look into If-Modified-Since and If-None-Match/Etag headers as well if you are querying resources that support those headers (RSS feeds, for example, commonly support these, and static resources). They prevent the target site from having to send anything other than a 304, saving bandwidth and possibly compute.