HNHacker News
TopNewBestAskShowJobs

msluyter

4,603 karma · joined March 5, 2008

Software Archaeologist. Lives in Orlando, FL. Unfortunately.
submissionscomments
msluyter··on Preindustrial workers worked fewer hours than today's (2009)
Almost certainly in the sense of physical hardship -- but perhaps not in terms of total working hours. Here's another more sprightly essay on the topic:

https://allthatsinteresting.com/medieval-peasants-vacation-m...

"Consider a typical working day in the medieval period,” said Schor. “It stretched from dawn to dusk (sixteen hours in summer and eight in winter), but, as Bishop Pilkington has noted, work was intermittent — called to halt for breakfast, lunch, the customary afternoon nap, and dinner. Depending on time and place, there were also mid-morning and mid-afternoon refreshment breaks."

Additionally, the medieval calendar was also one of many official Church-going holidays which were always considered mandatory. In total, leisure time in medieval England took up probably about one-third of the year.

msluyter··on How to Provide Great Feedback When You're Not in Charge (2016)
There's sometimes a status/power component associated with feedback. I used to work with someone who tended to make a variety of subtle power plays -- dominating or "guiding" discussions when not the designated leader of the meeting, for example. I noticed that he often gave unsolicited advice, and although it was typically prefaced nicely with "would you mind if I offered some feedback?" I think it tended to also serve as a sort of power/status display. I.e., "I'm an authority on this subject, and in some way superior or more knowledgable than you."

And I had/have quite mixed feelings about this. On the one hand, I felt that this person was generally trying to be helpful and improve the situation around them. And feedback/advice can certainly serve that end. Who doesn't want to know how to improve their overall performance, right?

But on the other, to the extent that the power dynamic above was actually in play, unsolicited feedback of this sort only rubbed people the wrong way. Perhaps I was reading too much into it, but thinking back to certain times in my past where I've been the advice giver, I do think there are occasions where my motivations were suspect, where, at the time I thought I was genuinely trying to help someone, but which in retrospect were mostly superiority displays.

I don't have any concrete conclusions to draw from this; just something the article stirred up. I welcome your feedback. ;)

msluyter··on Advice to my younger self: become allergic to the churn
Not the original parent, but the problem I've noticed most recently with make is when people use it to orchestrate building/running docker containers. I've seen several cases where containers will be pulled/rebuilt on every invocation (even if they don't need to be) because there's no file based dependency to indicate they're actually up to date. While docker's layer caching helps with this, it still can add a fair bit of time in some cases.

I've worked around that in the past by creating empty "target files" that are created when a given target is built and which dependencies rely on, but it's not a perfect solution.

I've looked around for a make alternative, but although I like rake, I don't really use Ruby these days, and so dealing with RVM/rbenv and whatnot is sort of a pain and not worth the effort over make.

msluyter··on Roblox hits 100M monthly active users, bigger than Minecraft
Well when I was 15 and we used to play Counter Strike and Quake 3 the "social network" was hanging out on servers with maps just chatting and walking around the map aimlessly....

Aging my self quite a bit here, but we used to do the same via text based MUDs. ;)

msluyter··on Brief thoughts on getting hired as a senior coder
Regarding the issue of feedback, IANAL, but I would have to guess that this would open the company to liability/lawsuits. Incredibly vague feedback might not be (directly) actionable, but regularly offering feedback raises the possibility that the person offering it says something -- inadvertently, or perhaps because they are in fact biased/jerks -- that implicates a company in discriminatory hiring practices.

Even if feedback in a single case isn't actionable, one can imagine that in aggregate it could be. If during discovery lawyers can find certain themes/patterns in the feedback offered to rejected interviewees, they might be able to use that as evidence. Perhaps I'm paranoid, but my wife's a lawyer....

Aside from that, in simple economic terms, offering feedback makes no sense. After all, if it helps rejected candidate, you're basically helping to improve someone who may end up working for your competition. And if it doesn't, you're wasting time. I'm not saying "in economic terms" is the right/only way to guide behavior, but if you want to understand the behavior of most companies, it's something to keep in mind.

msluyter··on YouTube isn’t for kids, but kids videos are among its most popular
We went through this with our daughter[1]. I used to laugh at all the incredibly poorly targeted ads that'd show up in the middle of the ABC's song for like car insurance or whatnot. But that was mostly an annoyance.

What's more dangerous, IMHO, was the tendency for YouTube to queue up stuff that's increasingly dubious. So, you might start out with something that was high quality (see note below) but up next would be some weird apparently mass produced garbage with like people opening easter eggs, and it'd drift off from there. You really have to work to curate your own youtube content, and they don't make it easy.

[1] Incidentally, Super Simple Songs was our favorite. High quality, clever, instructional videos that we felt good about letter her watch.

msluyter··on Some items from my “reliability list”
Interesting question. My understanding is that a 400 response indicates that there's something malformed about the request itself such that the server can't/won't process it. Given that in order to decline the card the service has to actually process the request, I'd agree that a 400 is inappropriate.
msluyter··on How to assess the quality of garments (2014)
OTOH, microfiber pollution from synthetic fabrics apparently is a real thing:

https://www.patagonia.com/blog/2017/02/an-update-on-microfib...

msluyter··on What's Coming in Python 3.8
You think that's bad? Check out:

    a = 17
    print("a=", a)
    print("a=" + str(a))
    print("a=%s" % a)
    print("a={}".format(a))
    print(f"a={a}") 
    # python 3.8 =>
    print(f"{a=}")
So many ways to do it...

But, if it sounds like I agree with you, I actually don't. I feel that the Zen of Python has taken on an almost religious level of veneration in people's minds, and leads to all sorts of unproductive debates. One person can latch onto "there should be one obvious way to do it" and another onto "practicality beats purity" and another onto "readability counts." Who's right? All can be. Or none. All could be applied to this particular case.

The Zen of Python is just a set of rough heuristics, and no heuristic or principle in the field of software development applies 100% of the time, IMHO. <= except for this one ;)

msluyter··on We can't get enough of audiobooks
I signed up for the free trial last week. To answer your questions...

a) Is it real people/computer voice? It's real people (seems like pretty good speakers thus far.) b) The shortened texts are well written. They don't appear to be computer generated.

I'm still not sure I'll get a paid subscription. I find it a good way to ingest certain types of information -- psychology & personal development books always seem bloated with case stores like "When Bob first visited my office he seemed anxious and depressed...." that I'm generally impatient with (just get to the point!). But after listening to several in a row, my mind starts to wander. Not sure why.

And in some cases, I find the resulting summarizations vacuous. I don't know whether that's because the underlying material was equally vacuous or whether something was lost in translation. (Obligatory reference to Monty Python's Summarize Proust Competition: http://www.montypython.net/scripts/proust.php)

msluyter··on On the Impact of Programming Languages on Code Quality
"... and there may be other influencing factors."

Selection bias? Consider the type of person likely to be attracted to languages like Haskell or Clojure.

(Note, didn't read the original study so I don't know the selection criteria. Were code samples in different languages from the same programmers compared, or were there different sets of programmers per language? My comment really only applies to the latter case.)

msluyter··on Is High Quality Software Worth the Cost?
Re: your last point, I recently rewrote parts of a billing system full of hairy logic and edge cases (and bugs). The initial MVP consisted of exactly replicating the existing invoicing logic. Due to the general complexity of the problem domain, I found myself rethinking and rewriting large portions of the system as I grew more familiar with the (undocumented, naturally) business requirements. In some cases I'd throw out entire modules and associated unit tests. After a while, I started relying more on integration tests which simply compared generated invoices between the two systems (and/or against golden files.)

Having these made it extremely easy to refactor large portions of the system quickly without needing to refactor unit tests. (I still wrote unit tests, just less of them, more focused on the stabler parts of the system.) This has loosened the grip of the "every function must have a unit test" mantra in my mind, which... I dunno, somewhere along the way sort of became simply assumed.

Some caveats to note, however. A) The code had minimal external dependencies (postgres). B) The integration tests ran very quickly against a local postgres database, only slightly slower than unit tests might, providing a quick dev feedback loop. C) While internally, the system was rather complex, the output was not. It was a simple CSV file that's trivial to parse/compare.

Thus, I wouldn't overgeneralize from the above. In cases where there are lots of external dependencies, integration tests are slow, or where evaluating the test results is more tricky (ie, you need Selenium or whatnot), this approach wouldn't be as feasible.

msluyter··on Ditching processed foods won’t be easy – The barriers to cooking from scratch
For our family, time is the problem. I do almost all of the cooking, and -- much like when estimating software development -- often tend to underestimate how long even a fairly simple recipe will take. As I become a more experienced cook I become more efficient, but some nights we still end up eating quite late. Add to that non-trivial time for dishes/cleanup, and indeed, this rings true:

The middle-class families in our study had more resources and more options but felt completely overwhelmed by hectic schedules and competing demands that left little time to cook.

One strategy is batch cooking in advance on weekends and freezing meals, but for various reasons, we've been fairly poor at that.

Incidentally, if you want to get better at cooking, I highly recommend Cook's Illustrated / America's Test Kitchen, in particular, their special edition magazines. They provide recipes but also techniques and the science behind the recipes.

This one in particular is a gold mine and is almost falling apart from heavy use:

https://shop.americastestkitchen.com/special-issues/cook-s-i...

msluyter··on Black – Uncompromising Python code formatter
If you use PyCharm, you can use cmd-alt-L to autoformat a file (and also reorder/fix imports). By default, I believe it just uses the pep8 standard, which I find generally sufficient, but you can evidently integrate Black via:

https://black.readthedocs.io/en/stable/editor_integration.ht...

msluyter··on The Saltiest Users on HN
I love this!

I'm sort of proud to note that my salt score is -0.08, with my saltiest comment being:

The iPad and iPhone are especially dangerous when it comes to accidental downvoting. Separating or enlarging the arrows would help those of us with fat fingers.

However, (and this will apparently add to my salt score ;)), I'm curious how a comments like these get rated as expressing a negative sentiment?:

Out of curiosity, how does Metro look to color blind people?

I used to get terribly sleepy in the afternoons; sometimes I'd go out to my car and take a 15 minute nap, even in the brutal Texas summer. Then I started taking vitamin D and went on a paleo diet, and now I almost never get tired in the afternoons. Nada. It's a great relief to not always be fighting to stay awake.

msluyter··on Great developers are raised, not hired
I officially mentored someone at my previous company and helped him move from a support tech role into a software dev position. It was incredibly rewarding.

But to play devil's advocate for a moment, isn't there something of a natural disincentive to level up one's employees in such a tight labor market? To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted. One might argue that if everyone put more fish in the pond, then we'd all be better off (true), but we have a standard collective action problem where the free riders benefit at the expense of the fish growers.

I see two (partial) ways out of this trap.

1. Pay more than everyone around you. (Obviously, not generally viable.)

2. Make the culture of your company so awesome that people will want to stay, even if you can't pay the most. Make mentoring/growth a central strategy at every level so people will see a path to grow.

I'd be curious to hear other possibilities.

msluyter··on The key to loving your job in the age of burnout
I wish I could articulate precisely what -- a the age of cough cough -something -- has kept me engaged and happy as a software developer. In part, I've been lucky. I've mostly had decent jobs and companies that treated employees humanely. Partly, I feel that I keep improving at what I do, and that alone is somewhat satisfying. Partly, I just like thinking and solving puzzles, which pretty much describes actual coding.

Contrast that to my wife, who, despite having a degree from a top ivy league school, seems to have hated every job she's ever had and would drop it all to retire in an instant if she could afford it.

I will note that I also have had the luxury of exploring the "do what you love" career theory. Out of high school, I wanted to be an orchestral musician, and spent like 12 years pursuing that path before realizing that it wasn't going to work out. So I sort of had to reset my brain to understand that I didn't have to do this one thing to be happy. So I'm not sitting here in a cubicle thinking "if only...." because I've done the "if only." (Not having other options is actually a surprisingly effective route to happiness. (See: Stumbling on Happiness)).

Another great book related to this topic is "How to Want What You Have."

https://www.goodreads.com/book/show/933037.How_to_Want_What_...

msluyter··on You elected them to write new laws. They’re letting corporations do it instead
Related: Mancur Olson

"In his first book, The Logic of Collective Action: Public Goods and the Theory of Groups (1965), he theorized that what stimulates people to act in groups is incentive; members of large groups do not act in accordance with a common interest unless motivated by personal gain (economic, social, etc.). While small groups can act on shared objectives, large groups will not work towards shared objectives unless their individual members are sufficiently motivated.[3]

In 1982, he expanded the scope of his earlier work in an attempt to explain The Rise and Decline of Nations (1982). He argues that groups such as cotton-farmers, steel-producers, and labor unions have an incentive to form lobby groups and influence policies in their favor. These policies will tend to be protectionist, which will hurt economic growth; but because the benefits of such policies are concentrated, and their costs are diffused throughout the whole population, there will be little public resistance to them. As distributional coalitions accumulate, nations burdened by them will fall into economic decline. His work influenced the formulation of the Calmfors–Driffill hypothesis of collective bargaining.[4]"

https://en.wikipedia.org/wiki/Mancur_Olson

msluyter··on Agile Lite: Agile without all the burnout
I think people respond well to natural rhythms with contrasting phases (a time to sow; a time to reap...) so I find the general concept quite appealing. One thing that always bothered me a bit about scrum was that it's basically an endless series of sprints. Just saying it like that sort of illustrates the problem that you can't sprint indefinitely.

Additionally, I've found that for maximum creativity/productivity, I need periods of down time. Work on a problem, then put it down, and often the solution will pop up while you're in the shower or taking a walk. So I think explicitly building some sort of breaks ("take a couple of days to learn/rest or work on whatever you want") is a good idea. I'd advocate doing this informally when needed or when schedule permits, rather than formally scheduling 3 on, 1 off.

msluyter··on Agile Lite: Agile without all the burnout
In some cases things went smoothly and there is a little to say.

Has been my experience (on good teams.) After a while, you tend to gel pretty well and don't need to spend that much time introspecting. The issues raised are either generally intractable organizational problems (that'll never get fixed), or fairly minor, and on several teams I noticed that retrospectives tended to feel pretty similar after a while (To the credit of the team, at that point we were like "we probably don't need retrospectives every sprint.")

msluyter··on OKRs Aren't Going to Fix Your Communication Issues
I've only experienced OKRs at one company, and I felt a sort of a weird disconnect between OKRs and actual work/performance. On the one hand, OKRs were presumably critically important, but on the other, they weren't directly tied to individual performance. I still have trouble wrapping my head around that.

And I found those ratings (0, .4, .7, 1.0 for hitting a stretch goal) just a sort of weird self delusion, like setting your watch 15 minutes early to ensure you'll be on time. You can fool yourself a little, but eventually it stops working, and so, for example, .7 become the de facto "real" target.

Secondarily, I found that as a team lead, to the extent that OKRs were stressed, any non-OKR related work became highly disincentivized. Refactor? Write more integration tests? Hell no, not if it doesn't directly impact OKRs. We had stories in the backlog that really should have been done because they would have helped other teams and yielded a positive return, but anything non-OKR was just dropped on the floor.

Third, they didn't really provide any value to the team that I could discern. We didn't have to look at our objectives every day to know what to do. We had typical releases/epics, etc... to do, and on a day to day basis, the OKRs just receded into the background. In theory, I assume that the OKRs are there to guide which releases/epics/stories, etc... you do, but in our case, we had a pretty clearly defined product already prior to introduction of OKRs. So the OKRs were all just sorta "OK, finish this thing we're already working on."

That said, the company was new to them and in the process of learning. Perhaps we did them wrong, or perhaps I missed the point.

msluyter··on Women: Learn to Program This Summer
Shouting "gender equality paradox!" doesn't warrant a mic drop. Aside from particular policies in Scandinavian countries that might actually limit women's options[1], the underlying issue is we don't know what a "natural" allocation by gender in STEM might look like. It's not like we can eliminate all societal/cultural barriers in a given population and run an experiment over time to observe how many women self select into STEM in some context free state of nature.

And so, while we might hypothesize that a "natural/biologically driven" allocation be uneven (and I'm willing to grant), we have no idea by how much. Perhaps it's really 95/5, or who knows, perhaps it's 60/40.

The argument that where we're at now is where we should be (and thus why we shouldn't try to eliminate various obstacles to entry) is really just a form of status quo bias. It's the same argument that's been used over the years to justify why women couldn't go to college, be lawyers, etc... etc...

[1] https://capx.co/what-jordan-peterson-gets-wrong-about-the-no...

msluyter··on How did classical music in movies and TV become synonymous with villainy?
Yes, the article is definitely overgeneralizing from a number of anecdotes, imho. While I tend to agree with the notion that classical music tends to signal a certain remoteness -- thus correlating with villainy -- that's not its only use in movies.

One example: I recall when Star Wars came out, a lot of my friends bought the soundtrack. It served as sort of a gateway to classical music. It's hard to measure, of course, but I'd bet that that had a larger positive impact on classical attendance than, say, Hannibal Lector killing people to Bach's Goldberg Variations had a negative one.

To your lack of visual stimuli hypothesis, I'd also add as other more likely drivers of classical's decline:

a) Live classical music is expensive and getting more so.

b) Sound quality in a concert hall is different than via digital means. It doesn't wash over you like it does when listening via your Bose headphones. It's less visceral and more distant. And you have to tune out the other sounds of coughing, people shifting in their seats, etc...

c) And finally, we have the best recordings of any work available on demand. In economic terms, that creates really cheap substitutes. Speaking for myself, I'd rather just listen to the Vienna Philharmonic on the couch for free than dress up, drive across town, find parking, and pay $100+ to hear the Austin Symphony play the same work.

msluyter··on How to pass a programming interview (2016)
I have a theory that dynamic programming problems have become more popular in part because the lower hanging fruit — reverse a linked list, is this a palindrome? — have become widely known and practiced via books and sites like hackerrank.

DP problems represent the next rung of the ladder, are somewhat less familiar. And most importantly, satisfy an interviewer’s possibly sadistic impulses by presenting a problem that has an easy 2^n solution. ;)

Sarcasm aside, I think this is just the inevitable result of the systemisation and gaming of the whiteboard interview.

msluyter··on The Stigma of Choosing Trade School over College
”A lot of what they do is just admit people who will be high income earners.”

Aka Bryan Caplan’s signalling theory of education:

https://blog.press.princeton.edu/2018/01/23/bryan-caplan-on-...

msluyter··on Python: Even a Feature That You Do Not Use Can Bite You
Iirc this was pre type hints, so the example might be invalid now, but I’m sure I could come up with other examples that demonstrate the same point.
msluyter··on Python: Even a Feature That You Do Not Use Can Bite You
It seems odder to me that 42 is a valid type hint than that the LHS can be an expression. But I share with most of the others here the opinion that this really isn’t a problem with Python. Every language makes trade offs, and python gives you incredible flexibility and expressiveness in exchange for a lack of certain guardrails.

Once a coworker came to me with a program that was unexpectedly failing, and it turned out that somewhere in the code there was a function that takes a callable, but instead of

    something(iterable, func)
he had written

    something(iterable, func())
There were no IDE errors/warning (in fact PyCharm tends to induce this error by auto inserting the parens) and the behavior that resulted made it tricky to catch.

Nonetheless, personally I’d take that over most other options for run of the mill progamming tasks.

msluyter··on Basic income in Finland did not lead to finding work, researchers said
Perhaps my wording was poor. I'm thinking of geographical regions, not the economy as a whole. Thus, despite a net zero effect globally, any redistributive effects would be unevenly allocated to various regions. And it's easy to imagine certain areas -- in particular, poorer ones -- having a higher income per capita of renters in particular.

Toy example: a population of 100, with one billionaire who owns their house outright and 99 people renting apartments. Take X dollars from the billionaire, distribute it to the 99. Why would the rentier, esp. if it happened to be the billionaire, not raise rents in aggregate by X?

msluyter··on Basic income in Finland did not lead to finding work, researchers said
To your list of issues I'd add extraction by rentiers.

My (perhaps naive) understanding is that rents tend to rise to a market equilibrium. Infuse the the aggregate market in an area with X dollars, and rents will rise to consume X.

I'd be curious to hear counterarguments to that point.

msluyter··on Basic income in Finland did not lead to finding work, researchers said
Incentives matter, as they say, so I'm sure you're correct to some degree, but by how much?

Don't forget about the importance of relative status. At least some -- my guess would be a large majority, but part of the problem with these discussions is that everyone's just doing WAGs without much real data -- folks will want a) better than average educations for their children, b) nicer houses in safer than average neighborhoods, c) etc... and will work quite hard for it. And since these are positional goods, UBI will have no impact on their availability.

Personally, I tend to think that UBI is untenable for mostly other reasons (extraction by rentiers, for example).

← PreviousPage 6 of 33Next →