HNHacker News
TopNewBestAskShowJobs

jtheory

2,034 karma · joined June 10, 2008

@ founda.com

email: hackernews@[MY USERNAME].com location: Le Chalard (rural central France), or Amsterdam, or Kuala Lumpur.

submissionscomments
jtheory··on This is party time; Internet Explorer 8, 9 and 10 die on Tuesday
Why this, specifically?

> I would NOT warn the end users about needing to upgrade

People using your product are discussing it on review sites, on social media, with friends/family, etc.. If you silently give some of them a broken product, a few will contact support; but I imagine most will assume your product is just low quality. So that's the word they'll spread.

For corporate users: well, you'd need to talk with your customers. They might be facing a seriously expensive upgrade process, and could be extremely unhappy to hear you're setting an arbitrary deadline for them.

jtheory··on Ask HN: Who is hiring? (January 2016)
Patients Know Best, REMOTE-only. Full-time, with occasional exceptions. Working hours: within a few hours of GMT (current IRL span: Costa Rica to Bangalore).

See my other posts for more depth on work-life balance (& hiring working parents = many of us), building something that improves life/health, our culture (collaboration and good communication, not competition).

Superb communication skills required -- we all need to be highly articulate, clear, and at ease talking through complicated concepts with each other (skills talking with strangers: useful, but not an everyday requirement). Sometimes remote work tools are (nearly) flawless, but with some bad luck you might be explaining something complicated over a choppy connection with a 4-second delay and a marching band in the background.

If you're interested in PKB's growth, funding, profitability, contracts, etc., ask -- our CEO is also active on HN. Or Google us. I'm in the CTO role.

Current positions we're filling (continuously):

- Mobile developer: existing apps with Steroids(better Cordova, basically), OAuth2, JSON, REST. Later this year: helping choose tech for our next-gen apps.

- Mid-level to senior full-stack devs: Java expertise required. Of interest / stuff we're using: migrating bit by bit from J2E (JBoss/Hibernate, Tomcat/Spring/Struts) to simple microservices (DropWizard/SpringBoot) -- experience on either side of this migration is useful. TeamCity, Artifactory, Docker, Vagrant (dev environment), Selenium-based integration testing. CentOS, PostgreSQL (should be comfortable with native SQL), Hadoop DFS (just adding in now...). Crypto at various levels ("using it carefully", not "inventing it"). REST and SOAP/HL7 APIs. This isn't a checklist; we like partial overlaps in particular if you've worked with tools/ideas we're not yet using (but maybe should).

- Product manager: technical background (not just mgmt), startup mindset (look ahead, self-prioritize, adapt fast). Gather the best ideas from customers & us, and help us guide projects through to completion. Bonus points: good grasp of healthcare and mobile apps.

Bonus points (all positions) for significant experience in the medical world (as an intelligent patient counts!), as well as some history building things from scratch.

More details (and to submit an application): https://www.patientsknowbest.com/careers.html

Note that at present my record for active communication with people applying isn't great. :| We've recently switched to Workable and I'm sharing out this work so it's not purely reliant on bits of time I can claw out of an over-full schedule! If you've already applied, no need to re-submit; we haven't lost anything.

jtheory··on The Typical American Lives Only 18 Miles from Mom
I married my college gf, whose parents live more than 9K miles from mine. This does indeed complicate life now that we have children, and as both sets of parents age.
jtheory··on How and Why I Taught My Toddler to Read (2010)
I haven't properly read most of his material yet, but one thing that may be relevant for some children -- kids manage emotion, questions of agency and fairness, differently when they're younger.

My wife and I taught our eldest daughter to read starting around 3 or so (not as young as in this article, but still on the early side). She's now 6, and quite good at sounding out any words she doesn't know, but sometimes gets really furious at the spelling of many English words. She wants rules that she can apply consistently, and (of course) English just... doesn't have those.

Present vs. past tense of "read", anyone? Lead (plumbum) vs. lead (guide) vs. led? Even words like "Once" and "only" can get her to scowl (she knows how "on" is pronounced... you've only added an "s" or "ly" sound to the end!)

It's a source of tension, because she'd rather believe we're wrong than accept that the language is so sadly inconsistent. :/

jtheory··on Highly educated women no longer have fewer kids
Yeah, this as well! Cultivate relationships with friends/family who have good taste, and kids 2 years older than yours or so. ;)

This is pretty easy, actually... people also actively want to get rid of clothes rather than store them; and young kids in particular fly through clothes much faster than they can wear them out.

About other stuff -- my wife & I were stubborn about avoiding all of the "default" baby purchases unless we really felt we needed them. No value judgement intended on people who buy e.g., strollers! Sometimes a stroller would have been pretty handy... But we wanted to travel a lot with our kids, light, so we needed lightweight habits at home first.

So: no upgrade from the 2-door hatchback (though we did spring for good carseats). No strollers; we learned a few good ways to tie a sling instead.

No separate kids' rooms (and no furnishings and decorations of such rooms). No crib.

No disposable diapers (we broke this rule for compostable diapers at night when each child was over 6 months or so... more pee to absorb... and much of the time when traveling). Potty-training quite early (from a few months old) with no deadlines or pressure, etc.; that worked out pretty well.

No bottles, no sippy cups. (Yes to small cutlery, though). We did use cheap glasses when they graduated from nursing to drinking from glasses, and lost a 2-3 per child as expected. The girls learned not to let them fall.

Toys: we bought very few and still ended up with a ton; family & friends give gifts, and they'd be sad if you told them to just stop. So we just tried to avoid electronic "made to be broken" stuff, generally.

Books: we have tons of books. No intention of reining this one in!

jtheory··on April Zero v3
It's possible to set up encryption model where it will be particularly hard to sell data later -- this is one of the things we've spent a decent amount of time building in the company I work for, for this reason. No, we're not selling data, and we're actively working to block that pathway in future even if the leadership has completely changed.

E.g., data at rest for private accounts is encrypted with per-account keys based at some level on the user's login, and internally can't be decrypted until the user is signs in next.

jtheory··on Show HN: A few years ago my Type'o'Shooter went viral – here's the new version
The ships/words on screen all start with different letters. Once you type the first letter of a word, that one changes orange (and you have it finish it before your key presses will be recognized for other words).

This also applies to the single-letter bullets, unfortunately, so if you've just started typing "misappropriation" but a stray "s" is about to hit you, you're out of luck.

What got me a few times was a first-letter typo - which matched another word. Then I'd lose a few seconds just finding which word was claiming my key presses, and that'd be the end.

I didn't know Esc would work there! I'll try that next time around.

jtheory··on Show HN: A few years ago my Type'o'Shooter went viral – here's the new version
I'm on FF current; no crashes through wave 14 or so (and died naturally). This laptop has Win7.
jtheory··on Europe Remotely – EU-friendly remote dev jobs
Note that to submit jobs, here's the link: http://europeremotely.com/submit_job.html

(I started writing this as a question but found the answer myself in the footer links...)

We're based roughly around London time -- though we now have developers from Costa Rica to Bangalore. Bangalore was easy, though, and US timezones were harder. The gap in timezones there is big enough that it took us a while to jump that successfully (and people working in US timezones still need to be fairly independent), so I imagine it works similarly in the other direction (US-based companies hiring EU-based remote workers)... once the gap is more than 3-4 hours you either need an established core of senior full-stack people in that timezone range, or just proceed quite carefully and offer extra support.

jtheory··on Tom Lehrer
When I was 15 or so, a teacher asked us to bring in a song making a political statement. In class we traded and discussed them.

The kid I traded with had brought in NWA's "Fuck Tha Police." I'd brought in Tom Lehrer's "Pollution," which I thought was funny and knew by heart already; my parents had a moderately diverse collection of vinyl records that I'd listened to for years, playing them low and just sitting against the speaker.

http://www.casualhacker.net /tom.lehrer/the_year.html#pollution

It was an eye-opening moment -- I was a fairly solitary kid who hadn't realized how out of step I was from most of my peers.

jtheory··on The Christmas Truce of World War I
Yes, this. "The enemy" was just the men previously living normal lives and working normal jobs the previous year, just like you were, before they were bundled off to fight for their country.

War is incredibly destructive to the frontline soldiers in so many ways even beyond killing them -- psychological ruin, destruction of land, homes, livelihoods, infrastructure.... It's something that soldiers can be very gung-ho about -- in the abstract.

In non-desperate times, normal adults do not resolve conflicts by fighting to the death; when people do kill in anger, it's usually a matter of rash action, deeply regretted afterward.

Imagine a regular working class man in Germany, told "there's a family that lives a few hundred kilometers that way -- shall we go kill them, and take over their house & land?" What do you think he'd say?

But at a macro scale, it's somehow legitimized. And the soldiers are told whatever they need to be told to transform them from humans to game pieces -- we're under attack, or threatened, or disrespected, or we need to revenge some past wrong... Keep it abstract - here's your gun!

On the other side, micro-scale again, imagine hearing that a man and a few friends have the idea that you've harmed them somehow, and are coming to aggressively confront you. Should you... hide in the woods with a gun and shoot them on sight? Or assume it's a misunderstanding, and try to find a way to communicate and resolve it peacefully?

At human scale, it's obvious; violent death is awful, and completely final. We take it seriously.

The Christmas Truce is about some of the poor "regular folk" removing their blinders for a few days, and the tragedy of it is that the juggernaut didn't even really stumble; the soldiers that we're "weakened" by fraternization with the enemy -- e.g., doing what humans naturally do to resolve conflict -- were quickly shuffled out of the way (or in later cases, court-martialed), and the war went on.

And there is no Christmas Truce story in WWII.

jtheory··on Scientists argue that beer motivated our ancestors to start grain farming
Reminds me of the Johnny Appleseed story -- e.g., a lot of Americans grow up learning that he traveled far ahead of the settlers in North America planting apple seeds everywhere, so everyone would have apples -- the interesting twist is that apples planted from seeds aren't normally edible... but they can be used to make hard cider.
jtheory··on Japanese Company Makes Low-Calorie Noodles Out of Wood
Ideally share the thought here in some way; don't just give a mystery link.
jtheory··on What is a coder's worst nightmare? (2014)
I assumed for the first half it was going to turn out to be a psych experiment (and there were several other compsci students getting similar "contracts") -- especially as the hurdles he was jumping were clearly intentionally set up.
jtheory··on What Can You Put in a Refrigerator?
The most insidious problem with these kinds of models is that they are trying to model reality.

Your example is modeling a real dog better than the sample you started with, but... what computer programs acts on a real, live dog, directly? Computer programs pretty much never interact directly with external reality, only with other software -- interfaces to hardware and other software systems. So software needs to be smart and clean about dealing with the actual interfaces. It's important to understand how reality will interact with the interfaces, of course, but relationships there are often irrelevant or misleading to designing the software.

So all of these poor students, when actually charged with designing a program dealing with, say cashiers, store managers, purchases, reports, etc., start off "well, cashiers and store managers are people, and actually both employees... I guess we need a company object in here", etc.. This almost always leads them into a mess, because they get lost in here before they even learn properly what the goals of their system are. E.g., this program just needs to run on the store managers PC, pull data from a dir full of files from the POS, and generate reports (in which the cashier is just another column value).

If they started OO as "modeling reality", just writing a program that does what's needed feels like cheating ("TODO: not really capturing the OO relationships here! rework for v2") -- and that's a bad thing.

jtheory··on What Can You Put in a Refrigerator?
Fun read. This reminds me of how "object-oriented" programming goes wrong for beginners. ...Not helped, alas, by all of the texts that thing it's helpful to demonstrate OO concepts by modeling things like "cat is a subclass of animal" :/
jtheory··on The Java Deserialization Bug
I don't think I've ever worked on a project that deserialized untrusted Java objects; where does this come up?

I suppose -- if you have a Java client for a (probably) EJB-based server; most of the cases where I imagine this sort of setup are with internal-only solutions, though, which mitigates the risk somewhat (but obv. it would still need to be corrected).

I've read about banks in some countries still commonly using Java applets for site access -- that could be a seriously-dangerous attack vector.

jtheory··on Indonesia is burning. So why is the world looking away?
My in-laws live in Kuala Lumpur, and are really struggling with the smoke; they're already not in the best of health. Next month we're going to basically evacuate my wife's parents and bring them to stay out of the smoke for a few weeks in Cambodia, and try to get some kind of air filtration in place in their house.

It's an awful situation. We're also flying into this mess with two small children; I guess we'll bring masks and protect them as much as possible. We're far less affected than all of the people staying there all the time, of course.

It's a hard problem to fight; it seems obviously a legal issue first... this shouldn't be allowed. But the Indonesian govt isn't handling it; so... critique them? Replace them? It seems like a choice between useless and ridiculous. Is there any really useful response here?

Or focus on the companies benefiting from it, e.g., http://www.straitstimes.com/singapore/environment/ntuc-fairp...

Boycott palm oil (but it's in everything); ask the massive corporations downstream to be more responsible about the raw materials they purchase... how big of a boycott does this need to be, how loud/public a demand, before they'll make serious changes, not just gestures?

I do think we'll see some positive response, in fits & starts, but it's a depressing situation at the moment.

jtheory··on How to De-Identify Your Data: Balancing Accuracy and Privacy
It's worth pointing out that anything with patient IDs (even though all personal info is removed) is still not really anonymous "safe" data, and should be treated carefully.

I'm not sure what measures Mimic takes (beyond just stripping demographic info), but a given patient's pattern of healthcare interactions make quite a unique fingerprint -- and some parts of that fingerprint are likely public information for some patients.

E.g., imagine a celebrity who (you can find from the tabloids) was treated at X hospital for a sprained ankle on 2012-07-14, and gave birth to a daughter at Hospital Y on 2014-04-01. If her record -- completely "anonymized" -- is in a data set that lets you search for patients matching these two events... it seems fairly likely you'd be able to narrow it down to only a few candidates, or quite likely an exact match. And then once you have her pseudonym/ID, does the rest of the record reveal anything interesting? An abortion no one knew about (possibly not even her partner)? A venereal disease treatment?

Even the fact that a patient had an appointment at a given clinic is sensitive data -- e.g., seeing an IVF specialist, or oncologist, etc..

It's a tricky field to navigate.

jtheory··on Java 8’s new Optional type doesn't solve anything
Nulls can be particularly pernicious in Java because of auto-unboxing.

E.g., imagine you got a NPE from this:

    String summary = getUserSummary( user.getId() );
...you'd think "user" must be null, right? But it's quite possible that user.id is a Long, the current value is null, and getUserSummary() requires a long primitive argument.

This compiles just fine, and at runtime the Long object will be auto-unboxed to a primitive long... unless it's null.

Surprise!

But things like Optional do help; doing a code review for the things that may be null will fix these kinds of mismatches (and you'll avoid relying on auto-unboxing). The above code is broken -- either user.getId() can never be null (in which case it should be a primitive already) or it might sometime be null, in which case this code must not allow auto-unboxing.

jtheory··on Ask HN: Discuss burnout with boss?
But -- after 6 months the parents' level of expertise is significantly higher.

I have two kids, 3 and 6. The second was hard, but we knew what were getting into, largely, and how to survive it. The first was... rough.

I'm not sure about sleeping through the night stuff -- we did the co-sleeping thing, which helps a lot! But still, by 8 months I'll bet the parents would have some strategy in place -- maybe "hey, tonight's your night to wear earplugs" coupled with strategic naps.

jtheory··on Ask HN: Discuss burnout with boss?
A sabbatical can be long (and is not "vacation time" or "sick leave") because by default it's unpaid.

So it's in the developer's interest as well for the manager to figure out a way to reshape his/her job to make it sustainable (and thus keep the paychecks coming) rather than just saying "uh, sure, go deal with your problems, take as long as you need; when you run out of money we'll still have your job here for you."

Plus -- "first newborn in the house" is something that causes upheaval for maybe 6 months or so, and then life settles down again. If you have a supportive/flexible work environment then "up all night with a crying baby" here and there (before the baby grows out of that stage!) doesn't result in crushing stress and visions of disaster.

Edit for more context -- we have a developer who works part time and sometimes takes long sabbaticals -- switching into his alter-ego as a theater director. It's quite a different sort of situation from someone who has a newborn and is burning out.

jtheory··on Sabotage
I see people all the time quite convincingly saying (with a friendly, disarming smile) "oh no, it's no problem at all!" when in fact it is a problem, they don't want to do whatever it is, internally they're distressed. But social conventions (of varying power depending on the culture they grew up in) are forcing them to say "yes", and do it convincingly.

It's actually easier if someone demands a favor and they are obviously rude/inconsiderate about it; it's more "okay" to respond to rudeness with a refusal or excuse.

But some people are unable to say "no" to polite requests for assistance even when they have to lie to accept convincingly. Even if it's hugely inconvenient for them, and only of minimal benefit to the asker. So they say "yes", and probably do whatever it is, and then will try to find a way to avoid the asker in future (don't pick up their calls, etc).

There's some argument that everyone would benefit from a more "American" (ideal, not always real) and more direct approach -- e.g., someone asks "would it be easy for you to..." and you answer "sorry, no", and no one is upset. But this is next to impossible in some cultures, and there's also value in (if you're the asker) putting more thought into how you can value other peoples' time more accurately.

jtheory··on VW
This is all very theoretical, since we don't know the situation.

But the other possibility would be to "blow the whistle" anonymously.

The chances of getting away with that still aren't great (if VW put some effort into flushing out the snitch, I think only a practised liar could get through it...), but it's another way forward.

And actually: it's possible this actually happened, and the official story of how this was discovered is just a cover for an anonymous engineer who managed to get a warning to the right person.

jtheory··on The CAP FAQ
This is well-explained and fairly concise.

It's a concept that could be much more rapidly explained in an intuitive way with a few interactive diagrams, or honestly a few animated gifs, though.

The CAP theorem is one of those things that's a simple idea, but I didn't understand it the first few times I ran across it just because:

1) the terminology is weird ("partition", huh... well, I know how to partition a disk, but this clearly isn't that)

2) broad concepts need good examples for newcomers -- to bridge the gap from familiar to unfamiliar. If you've worked with large scale distributed processing before, great, but these ideas are especially crucial for people who are going to need such systems but don't yet understand the tradeoffs.

jtheory··on Slouchy – a small Python script that warns you if you're slouching
I stop myself from slouching on long drives by adjusting the rearview mirror such that if I'm not sitting up straight, it won't show the back window correctly.

I notice pretty quickly when I'm not seeing the full rear window anymore, and adjust my posture.

I've been wondering if a similar tactic might work for monitors -- e.g., the same tech that can make a monitor intentionally hard for someone next to you to read might also let you adjust it so that if you slump down a few inches, it's hard to see.

Not sure of a similar tactic for public speaking (since nowadays you're likely to have a mic on your lapel...) but it also works for recording; you adjust your posture how it ought to be for good voice production, adjust the mic with it, and then if you slump the mic is no longer in the right place.

jtheory··on In Bel-Air, someone is using 1,300 gallons of water per hour
I may be missing some context here (didn't read the wp article you're linking). But evaluating farms based on the "economic activity" they produce just sounds all kinds of wrong.

Californian farms produce an incredible quantity of food, don't they?

jtheory··on The White Man in That Photo
> no matter what you do, since you are white, your actions are of less value

I'm saying, no matter what you do, your actions have the same value as anyone else's; but if on balance you've benefited from unjust systems, yeah, in my mind your starting point is different. This is part of how I judge my own accomplishments; I'm on the "favored" side in most of these systems.

It's not as simple as "if you're white", since of course there are a lot of unfair systems in place in the world, not just racism.

But just in the context of racism -- if Peter Norman had been aboriginal Australian, it seems quite unlikely he would have even been there, and thus never in a position to make a statement anyone would notice in the first place. Though it's hard to say, since this was still around the time the state was deciding it should stop forcibly removing Aboriginal children to be adopted into "proper" homes.

Honestly, it's a bit weird to me that this idea gets such a negative reaction. Most people have this as a basic moral principle on a small scale.

If you had an awful teacher at school who only liked kids with blue eyes, and he gave you a bag of sweets but nothing to the less-blue-eyed kids, would you feel some duty to share the sweets around on the playground, or would you sit in a corner and eat them all?

If you join a card game, notice the dealer is an old friend (and he suggests he can "help" you win a bundle)... do you switch tables, or just figure it's your lucky day?

On a small/simple scale we feel a responsibility to correct small injustices, and to avoid profiting from them. For larger, longer-lived (and more complicated) injustices... that feeling just tends to go away.

jtheory··on The White Man in That Photo
I don't understand how this is reacting to what I said...?

I'm not saying he wasn't a hero. I'm saying he's coming from a different starting point; and that he himself explicitly said he wasn't doing what the other two were (and didn't belong on the statue).

Victimization what? Who's a victim here? Whose superiority over whose?

I don't think anyone of any color/background/whatever is better than anyone else. I do think that if you spend your life benefiting from unfair systems (not just racism, all kinds of things in life are unfair), you owe the world some effort to right the balance.

-- edit: I thought of a better way to access this idea. Everyone seems to already agree to this implicitly when talking about money. E.g., if someone who builds an amazing business and gets rich, it's a bigger accomplishment if their parents were poor, they had a poor early education, etc., than someone who builds an equivalent business, but they went to the best schools, their parents helped fund it, etc..

I just apply the same approach to all the other areas in life where some people are simply born into unfair advantages; and extend it a bit to say that if you have a ton of resources handed to you by life on a silver platter, that's not the same as "earning" them, and (in my opinion) you need to make more of an effort before you'll be making a positive impact on the world.

jtheory··on The White Man in That Photo
He's doing a good thing, and that should be lauded, but it can't make him the biggest hero on the podium.

It's an obvious oversimplification, but it be useful to think of measuring the good you do in the world in terms of game points.

Basically, if you're benefiting unfairly from a system since birth, you've started off with negative points. You owe the world something to balance off what you've gotten "for free" (really, at others' cost).

If you hate the system, you recognize the unfairness, and you actively fight against it, you can certainly move into positive points, but you're not starting off the same as people who grew up with the short end of the stick.

So when (for example) the vast majority of the white Australians at the time seemed perfectly happy with the awful system in place, and Peter Norman wasn't, and actually made this statement in a very public way, that was 10 minutes of serious bravery (and then many years of paying for it, afterwards -- which he surely knew was coming).

Also to his credit -- see the quote above about the statue. He pretty clearly wasn't putting himself in the position of "greatest hero on this podium" either; but rather probably shamed that more of his countrymen weren't even taking the smallest steps in the same direction.

-- edit -- I'm not saying he's "not a hero"; I think it's awesome what he did, and I'm not at all sure I'd have had the courage. I'm just adding some context to why saying he was "the biggest hero on the podium" rubs me the wrong way (and it would have rubbed him the wrong way as well).

← PreviousPage 2 of 34Next →