HNHacker News
TopNewBestAskShowJobs

andrewvc

5,756 karma · joined April 27, 2009

I'm a programmer living in Minneapolis, MN.

https://github.com/andrewvc http://blog.andrewvc.com andrew [at] andrewvc.com

submissionscomments
andrewvc··on Ask HN: How to deal with regret of not having kids
There’s some truth here, but the fact is we are all lost or deluded to some extent.

The idea that we must perfect ourselves before we enter a relationship with others is common in internet advice and frankly wrong. One of the main ways we heal and grow as people is through relationships. Relationships test us and can be a vital mirror, showing us things that would be otherwise invisible. They are also an incentive to do better for the good of others in our lives. Finally, they give us the chance to heal others similarly, our partners are never perfect either.

Does that mean that having kids will solve your problems? Of course not. The idea that you should be ok with or without kids is also fraught. It’s a question of degree, perhaps being obsessed with having kids is bad, but wanting them and being disappointed in not having them is fine.

andrewvc··on The Bullshit Web (2018)
What’s the point of loading a page in 500ms if the real problem people are dealing with is a glut of content and fierce competition for our attention.

I wonder if a slower web might be a better web in many ways.

Reduced page load speeds increase engagement. What if I want to decrease engagement with the internet?

andrewvc··on Microsoft Trying to Kill HDD Boot Drives by 2023
Optimizing for HDD reads is very different from optimizing for SSDs where sequential access is irrelevant.
andrewvc··on Education Department Forgives $415M of For-Profit College Debt
Nope, guaranteed by the government and not dischargable in bankruptcy!
andrewvc··on Is there such a thing as good taste?
This ignores the fact that Leonardo and Bellini went from places of social relevance and interest to being primarily of historical interest. No one says “I really could go for some Bellini about now”.

“What do people enjoy, and why” is a much more interesting question than “what should they like, and why it’s only a coincidence that aligns with my personal preferences”.

andrewvc··on The Armenian Genocide (1915-16): In Depth
I am sorry for what happened to your family. Armenians did commit some atrocities in response. I don’t condone those. I say this as an Armenian.

The scale of those was small in comparison. That does not negate that the genocide happened, in which the Turk’s goal was to obliterate the Armenians as a people.

WRT the documents you mention, those are probably from the contemporaneous disinformation campaign on the part of the govt. Even at the time many foreign observers noted that the govt was exaggerating the Armenian “threat”.

The claims you are making are thoroughly debunked and not recognized by historians in mainstream academia outside turkey.

andrewvc··on The Armenian Genocide (1915-16): In Depth
My ancestors were murdered both during the Genocide in Anatolia, and in the violence in the years immediately following. I’m also half Jewish. I count both Germans and Turks as friends, but while I have mostly positive opinions of the modern German state, and have gladly visited the country, I can’t say the same for Turkey. The denial of my family’s history is an open wound.

The stories are painful, and the legacy of that pain affects my family even today. My grandparents saw their family members and community murdered and had to rebuild their lives abroad. My grandmother, toward the end of her life, would weep, recounting the violence she endured, reliving the experience in her decline. These scars can persist across generations.

There are two excellent books I can recommend: 1. Black Dog of Fate, by Peter Balakian 2. They Can Live in the Desert, but Nowhere Else, by Ronald Grigor Suny

The first is more of a first person narrative describing the lingering effects of the genocide across generations in the Balakian family, very poetic. It’s a great read, full of life, and poignant in its portrayal of inter-generational pain.

The second is a straight history by a historian, tracing the events, causes, people, etc. It’s a dense, but good read.

andrewvc··on An experiment in giving cash to recently homeless people [video]
The question isn't wether there are problems with direct cash, but rather if it has fewer problems than existing systems, which this study finds evidence of.

The political problem of direct cash transfers is that people find them odious. Money is earned and should not be given, but food can be. This is incredibly illogical but it's our political reality, one that can hopefully be changed.

andrewvc··on What’s Wrong With The Honeywell Humidifier
I have two ventas, both purchased off ebay used, and they really are the best. Simple, reliable, cleanable and no expensive wick refills.

That honeywell lasted about one season. The wick refills are ridiculously expensive. It was cheaper to trash it and use anything else. I'm also upset with the wirecutter for that trash recommendation.

andrewvc··on Capitol Attack Was Months in the Making on Facebook
The idea that this summers riots were at all comparable to an attack on our nation's legislative body as it certified results of an election is repugnant and absurd.

Its easier to point fingers at the other side than take any blame for your own.

The insurrection at the nations capitol is a singular event, one that Republicans need to reckon with on its own terms. Some have done this, and I applaud them. They are proving to be the grown ups in the room.

andrewvc··on Google suspending Parler from the Google Play store
Real creators could pay, what, a dollar or five to fund the moderation of their youtube videos. Same for facebook etc.

The idea that every social network deserves to exist on terms that are economically preferable to their owners is not some golden rule. These networks didn't even exist 20 years ago.

andrewvc··on Google suspending Parler from the Google Play store
If you run a social network and can’t keep up with moderation for calls for violence you shouldn’t be allowed to be in business. This goes for the big tech companies as well.

“It’s hard” is not an excuse.

andrewvc··on The worst tool for the job
Guitars are special in that even expensive ones could often use a setup.

Whatever you buy, spend an extra $50-90 for a good set-up. I'd rather play a $300 guitar with a great setup than a $7000 one with a bad one.

andrewvc··on The University Is Like a CD in the Streaming Age
There are many more problems with CS degrees that just their price.

Would anyone here be comfortable running a WP plugin from the average 4 year CS grad? It is rare to find a CS grad who can write production code right out of college.

Let’s be clear, skills based certs are terrible at measuring things. You know what else is a terrible skills based test? A 4 year CS degree. I’ve interviewed a number of degreed working programmers who can’t solve even basic interview questions. Not gotcha questions, not difficult algorithms, but basics (read a file, sort a list of words, etc).

There’s lots of ways to learn, and this kind of talk just adds another barrier to people coming from non-traditional backgrounds. I understand this, because, as a self taught engineer, I’ve been the person at the table listening to engineers talk about how important a CS degree is and how you just need one.

Every time you make the point that you absolutely need a CS degree you’re telling someone who learned via another avenue that they aren’t good enough. At a time when we want more diversity and inclusion in software this message is the wrong message.

We need to think about how to bring education to more people through channels that work for them instead of telling them to fit themselves into a box that was designed for someone else.

andrewvc··on Deno will stop using TypeScript
Do you work on small or large code bases? On truly large projects you often find yourself making changes without that level of deep understanding.

On these projects you often find yourself needing to work on higher levels of abstraction. Types help here by instantly telling you what the data is and providing hints.

Types take extra time to write and maintain, but they significantly reduce the difficulty of working on large projects.

andrewvc··on PG&E turning off power to protect against fire has created a new disaster
The degree of the fire is determined by the forest. California needs to get to the point where people can light a random tree on fire and not have a total catastrophe occur. You can't outlaw fires, they are inevitable and the forests have evolved to burn regularly.
andrewvc··on GraalVM: The holy graal of polyglot JVM?
That perspective is somewhat dated to be blunt. A modern Java deployment would be identical security wise to node, with one app per Java process running with the minimum of privileges.
andrewvc··on Elevating original reporting in Search
Yes, people have been switching to DDG for years now, yet still google is utterly dominant.

Candidly, I'm mystified by the complaints. Google's search works great, and has for years for myself and everyone I know IRL.

Any post about any product that isn't brand new on HN is going to get comments along the line of "Company X? Their product is garbage, it used to be great! I've been using <alternative that requires a ton of extra effort to setup> and once I got it going it was amazing!"

andrewvc··on Glymphatic system clears toxins in the brain during sleep (2013)
Sleeping on one's right side can exacerbate acid reflux (which can increase your risk for throat / esophageal cancer).

So, taken together with this, sleeping on the left side seems ideal.

andrewvc··on The JSON Meta Application Protocol (JMAP)
The introduction, for those not wanting to click too deeply into the link:

   The JSON Meta Application Protocol (JMAP) is used for synchronising
   data, such as mail, calendars, or contacts, between a client and a
   server.  It is optimised for mobile and web environments and aims to
   provide a consistent interface to different data types.

   This specification is for the generic mechanism of data
   synchronisation.  Further specifications define the data models for
   different data types that may be synchronised via JMAP.

   JMAP is designed to make efficient use of limited network resources.
   Multiple API calls may be batched in a single request to the server,
   reducing round trips and improving battery life on mobile devices.
   Push connections remove the need for polling, and an efficient delta
   update mechanism ensures a minimum amount of data is transferred.

   JMAP is designed to be horizontally scalable to a very large number
   of users.  This is facilitated by separate endpoints for users after
   login, the separation of binary and structured data, and a data model
   for sharing that does not allow data dependencies between accounts.
andrewvc··on The ABCs of Personal Finance (2014)
There's no reason for the average investor to trade ETFs at all when no load mutual funds exist. You can use vanguard directly or etrade (or a billion other companies) for that.
andrewvc··on In defence of the wolf
> it’s putting nature back to the way it was before humans altered its course.

This sentiment is appealing, but there's little backing it. Humans have always shaped nature, and regardless of people, ecosystems are dynamic (1). We should be asking ourselves what sort of world we want to live in, and what we want our impact to look like. We should not harken back to a pre-human influenced time that never really existed. (Most restoration plans don't plan on restoring ecosystems to a fully pre-human state, but rather to some time where humans were present, but not as numerous).

We should instead say things like "this ecosystem was better 300 years ago, and we should try and return to something closer to that". That's wholly different from the narrative of natural being everything but human. It does, however, force us to qualitatively analyze what we're doing. Instead of saying "we changed it, now we have to restore it", it forces us to think about what the costs and benefits of restoration are.

1. https://en.wikipedia.org/wiki/Historical_ecology#Human-media...

andrewvc··on YouTube’s Algorithm Incentivizes the Wrong Behavior
Maybe they can't make editorial recommendations for the long tail but they absokutely could do so for the top few thousand videos each week.

Would that yield an improvement? I don't know, but it would have an impact.

andrewvc··on Interview with Kyle Simpson, author of You Don’t Know JS book series
To add to this, a problem with becoming an expert on anything is that you can start to love your understanding of the complexity of the thing and lose the objectivity necessary to evaluate the thing.

This can lead to endorsing advanced features instead of simple easily composable ones. The advanced features will be poorly adopted in the field due to not everyone being an expert.

This is probably the best single thing about golang. The language has many flaws, but this is not one of them.

andrewvc··on Interview with Kyle Simpson, author of You Don’t Know JS book series
For example, completely contrary to most common belief, the == operator is actually more powerful and more useful in our programs than ===, and in fact, usage of == should be preferred and === should only be a last option. But to understand why I make that claim, you have to actually learn types, and the way they’re converted: coercion. I really wish developers wouldn’t just keep parroting back “JS types are evil” like they’ve heard for years. They’re great...

This line of poor reasoning is responsible for so much lost productivity and buggy code. Even in the best case where a team is comprised of people who understand these intricacies well it still forces people to spend more time thinking about simple equality checks than necessary. The greater verbosity of === and type conversion is less mental effort.

In the real world very few people understand == and there's a good chance that even if you do whoever maintains the program you wrote won't. It's just not worth it.

This is very similar to the argument that you should use the minimum number of semicolons necessary in JS. You just need to memorize the exact syntax. It's an aesthetic argument only. It does nothing for the metrics that matter, like defect rate, maintainability, comprehension, etc.

andrewvc··on On Oliver Sacks and His Obsession with Weightlifting
Or, you could go the route I did, and start with a coach, and still injure yourself.

Just because you know how to do something correctly doesn't mean you always will. I personally believe the combination of speed and weight makes olympic lifts inherently dangerous.

Most sports have a lot of survivorship bias. It looks like people can do them forever because a lot of other people have dropped out.

andrewvc··on Jabra: we know our Bluetooth headsets don’t work with laptops
Even if the OP had gotten the headset working with bluetooth they'd be disappointed.

On Macs at least, using a headset with mic via bluetooth you get 8khz sampling, even if the headset can do more.

Sounds terrible. Tried a bunch of esoteric plist changes to fix it.

I switched to a USB wireless setup which works much better.

Supposedly there are fixes (http://ssrubin.com/posts/fixing-macos-bluetooth-headphone-au...) for this, but none worked for me.

andrewvc··on The rise of alternative milks
Almond milk is still way more sustainable than cow milk. Maybe not as much as homemade but still an improvement.
andrewvc··on I Spent $925 on a Fake Canada Goose Coat
Warm super insulated down coats are pretty terrible above maybe 15f. They're just too hot, and sweating inside a coat like that sucks.

I live in Minnesota and wear a lighter weight parka for most of winter. On single digits days like today however I bring out my heavy duty down parka.

andrewvc··on I Can No Longer Recommend Google Fi
Yes, can confirm. I can't actually load a webpage on their '2G' service anytime I travel to europe.

I suspect that their partners in europe throttle with an algorithm so aggressive it flat-out breaks TCP.

← PreviousPage 2 of 30Next →