HNHacker News
TopNewBestAskShowJobs

ughitsaaron

796 karma · joined December 29, 2016

https://crimes.cool
submissionscomments
ughitsaaron··on Death by design patterns, or On the cognitive load of abstractions in the code
I really liked the way Sussman discussed repetition in the SICP lectures. Something like, “If you find yourself repeating the something, that’s often a hint that there could be a useful abstraction.” It’s a far less prescriptive (and more appropriately flexible) way of expressing the same general idea than DRY.
ughitsaaron··on Biosphere 2
George: All right, no more lies. Elaine has been chosen to represent the Upper West Side in the next Biosphere project.

Vivian: I haven't heard anything about another Biosphere.

George: That's because it's underwater.

Vivian: This is insane.

George: Is it?

Vivian: Yes it it.

George: Well, it's all for charity, so what's the difference.

ughitsaaron··on Watching Paint Dry: The unexpectedly interesting story of car coatings
> The conventional wisdom is that Ford decreed that all Model Ts should be black because that was the fastest-drying of all colours

Is that actually the conventional wisdom?

ughitsaaron··on The Staff Engineer's Path – Book Review
I’m assuming Rust here refers to the game and not the programming language?
ughitsaaron··on VSCode config to disable annoyances – telemetry, notifications, welcome pages
I would love to see this config if you’re able to share it.
ughitsaaron··on The art of auto engineering
A bit unrelated, but I’m curious if others had small engines or auto shop classes offered in their high schools?
ughitsaaron··on Ask HN: Would a global catastrophe unite or divide nations?
But there was also some international cooperation, as well, e.g. Pfizer-BioNTech.
ughitsaaron··on An end to typographic widows on the web
How I would’ve loved to have this available when I worked at The New Yorker!
ughitsaaron··on React is holding me hostage
At first, it felt to me that the broad stroke criticism of React expressed in this post was of the very familiar type that’s been around prob sky since it’s first release: that React should be more than what it’s ever intended to be, which is a library that outputs UI as a function of state (input via props). By offloading the responsibility for all the rest of it, e.g. managing state, remote fetching, etc. onto the person implementing it, React has always left a lot of room for frustration and poor decisions.

But I think the criticism here is a bit sharper and more pointed than that. The author isn’t expecting Reach to do something for which it was never intended, I think. Instead, they’re saying that the abstractions (hooks in particular) that have evolved over time expose unhelpful interfaces that either conceals too much information, encourage poor patterns that lead to bugs, inefficiencies, etc.

In other words, the criticism isn’t of React’s explicit decision to offload responsibility outside the scope of outputting UI, but rather that it’s evolved to make handling of those responsibilities more challenging.

I think that’s a bit more serious than the former critics and worth at least considering. For my part, I’ve found little substantive advantage to hooks and do think they hide a lot of bugs by making implicit things that should probably be (and, once upon a time, were) more explicit.

ughitsaaron··on Shoichiro Toyoda, who turned Toyota into global automaker, has died
> I'm told that many agile techniques also had their genesis in his work

The “kanban” interfaces definitely originate from Toyota. Scrum was influenced by Toyota’s management techniques, among others. I believe other familiar concepts, e.g. “kaizen” or continuous improvement, also originate from Toyota.

ughitsaaron··on What things did you purchase that enhanced the quality of your life in 2022?
My Celestron NexStar SE6. Initially, I felt nervous about such a big purchase for a hobby that I was still only exploring (especially living in NYC). Even though I have yet to capture a really good photo of Jupiter or Saturn (I’ll get there eventually), it’s really been worth it. It’s given my wife and I a really good excuse to get out of the city regularly (we were married last August, though a wedding doesn’t seem appropriate to call a “purchase”, otherwise that’d have to be my answer). During the summer I actually started looking forward to the longer winter nights.
ughitsaaron··on Neuromancer: Miles Teller Eyed for New Apple+ Sci-Fi Series
Talking about a film adaptation of Neuromancer isn’t new, I don’t think. Yet, in spite of having no film adaptation, it’s had an enormous cinematic influence. I guess I wonder if anything is really missing if it’s just left alone to do it’s own thing as a book?
ughitsaaron··on Tesla.com/.gitignore
You can compare it to the current version of the same file in the most recent Drupal release https://github.com/drupal/drupal/blob/9.5.x/core/MAINTAINERS...
ughitsaaron··on Tesla.com/.gitignore
More to that point, see https://www.tesla.com/MAINTAINERS.txt
ughitsaaron··on Ask HN: Do you recall any book or course that made a topic finally click?
Capital, Vol. I
ughitsaaron··on Number of unemployed persons per job opening
It’s wild to me that July 2009 had a higher rate than April 2020.
ughitsaaron··on Racketscript
This is the first time I've heard of "trampolines". How interesting.

Do you use this strategy for implementing recursion? Are there consequences or trade offs?

For others who are curious, see

1) https://stackoverflow.com/questions/25228871/how-to-understa..., and 2) https://raganwald.com/2013/03/28/trampolines-in-javascript.h...

ughitsaaron··on Racketscript
TCO is a runtime feature that enables code authors to write functions that call out to other functions in such a way that the stack size is not increased. If you’ve ever crossed the `RangeError: Maximum Call Stack Size Exceeded` error, it’s possible that the executed code could’ve benefitted from TCO. TCO is especially invaluable for writing recursive functions (without it, recursion is almost always a bad idea, IMHO).

TCO is technically in the ECMAScript specification (since 2015) but hasn’t been implemented across browsers or runtimes (with a few exceptions).

Dr. Axel has written a good explainer of TCO in the context of Javascript here https://2ality.com/2015/06/tail-call-optimization.html

ughitsaaron··on The balance has shifted away from SPAs
What’s the method for determining what counts as a “website” versus a “web app”? For instance, what makes AirBnB or Amazon a “website” but Google an “app”? Are blogs which use SPA frameworks or dynamic routing necessarily “applications” because of the tools they use or can they be classified as a website in spite of them?
ughitsaaron··on Apple Is Union-Busting in NYC, Labor Group Alleges
I’m obsessed with that ad. It’s such a fascinating cultural artifact. It’d be interesting to explore how it compares with early Ford advertisements for the Model-T (which also made a lot of claims about the freedom and independence it offered consumers).
ughitsaaron··on Nobody will admit the best novel of our generation is about football
I was hoping this was about “Friday Night Lights”.
ughitsaaron··on Crypto, the Left and Technofeudalism
> I don't know how marxists square their conviction that no trade is ever beneficial to both sides with the reality that nobody is held at gunpoint to make those trades.

This isn’t a theoretical position even remotely attributable to Marxists.

ughitsaaron··on Tldraw – a tiny little drawing app
The mobile web experience (Safari) for this app is really remarkable.
ughitsaaron··on A group of Google workers have announced plans to unionize
That's not how collective bargaining works. A contract has to be negotiated between the union members and management. As a member, you would have a say in the contract that the union negotiates.

For example, I was a member of the organizing committee for the union at my last job where I worked as a software engineer. After the union was recognized, members held an election for all the union's leadership positions as well as for the members of the bargaining committee that negotiates the contract with management. Bargaining sessions between the union and management is completely open for any member of the union to attend. The committee publishes reports to the membership after each bargaining session on the items discussed. Presuming the union and management come agree to the terms that would go into a contract, that tentative agreement is sent to the members of the union to vote on and either accept the terms, or to reject them, in which case the union and management will continue to bargain a new tentative agreement.

What you're describing "tell me I'm signing up for something that I have no idea how it will turn out" is actually what happens when you accept any new job you take. When you accept a job offer, you know a few things, e.g., your salary and benefits, your manager, etc. But there's a lot you wouldn't typically know, e.g., how performance is evaluated and how promotions and raises are determined, what your workload would be and what protections you might have from overwork or excessive discipline or unfair termination.

What a union provides is not only a voice for everyone in the workplace, but for collectively bargaining and making clear the the conditions and treatment you can expect in your workplace.

ughitsaaron··on David Shaw vs. Seymour Papert Debate (1995) [video]
Not totally related to the video, but a fun fact about Seymour Papert is that he was an anti-apartheid activist and a socialist organizer during his time in London in the 1950s, which I think gives some background context to his thinking about education and technology. The _Socialist Review_ archive lists a little over a dozen articles penned by him during that time. https://www.marxists.org/history/etol/newspape/soc-rev-srg/i...
ughitsaaron··on Capitalism Cancels the Passions
> capitalism was created so that passions wouldn’t result in autocratic regimes

“Capitalism was created” by whom? What about exceptions, such as Chile under Allende?

ughitsaaron··on Programmers and Managers (1977)
I've been going through some literature on the management of programmers and software engineers. This text stands out by far, both for its unique attention to programmers, and in the framework guiding the author's study.

It fascinates me how much remains familiar, despite the radical changes that have taken place in computing and software development over the last half century.

ughitsaaron··on Ask HN: Software Unionization
The subject of unionization among software engineers and other workers across the tech industry has been growing in popularity over the last few years (and months, in particular). As others have mentioned, workers at Kickstarter – including engineers – agreed to unionize recently. Employees at Glitch (a mostly remote workplace) also recently unionized[1].

While software engineers enjoy relatively advantageous working conditions compared to workers in other occupations and industries, overwork/exhaustion (also known as "burnout"), discrimination, a lack of due process in discipline/terminations (i.e., "at-will" employment), etc. remain commonplace within the industry and field. While software engineers have some measure of professional leverage with which to advocate for themselves, the inequality of power between employer and worker within the workplace remains unresolved. Collective bargaining and unionization directly addresses that imbalance.

I work as a software engineer and also volunteer with an organization called the Tech Workers Coalition in New York[2] that aims to educate people in our industry about the labor movement and provide resources to help people learn more about successful organizing and their legal protections in the workplace.

Several unions, including the Office and Professional Employees International Union (OPEIU)[3] and Communication Workers of America (CWA)[4] have devoted greater resources to helping workers in the tech industry organize in their workplaces.

Throughout the history of the tech industry, there have been attempts to organize unions[5]. Many of those efforts have been unsuccessful. These failures have been explained in some cases as the result of the industry's "seductive" allure[6] or the stubborn individualism of professional programmers[7].

I don't believe that either are useful explanations. An alternative explanation, offered by the sociologist Peter F. Meiksins, is that organized labor in the United States entered a rapid state of decline beginning in the late 1960s, just as the modern technology industry and software profession was beginning to grow[8], i.e., software engineers and tech workers weren't joining unions because very few people were joining them in general, not because of any unique aversion.

There has been new, though extremely modest, growth in union activity in recent years, especially among younger workers in industries like healthcare and digital media (an aside: I was a member of the organizing committee of a union at a digital media workplace). With some renewed in the labor movement, it makes sense that software engineers and others would be looking toward unions and collective bargaining as a way to gain a stronger voice in their workplaces.

PS. I also gave a talk on tech workers and the labor movement at EmpireJS in 2018 that might be of some interest[9]

[1] https://www.wired.com/story/how-kickstarter-employees-formed...

[2] https://techworkerscoalition.org/nyc

[3] https://www.opeiu.org

[4] https://www.code-cwa.org

[5] https://archive.scienceforthepeople.org/vol-8/v8n1/rumblings...

[6] https://news.google.com/newspapers?nid=1356&dat=19831225&id=... "The union-free workforce is…the result of a mystique as likely to seduce production workers as millionaire entrepreneurs."

[7] https://www.computerworld.com/article/2589356/programmers--a...

[8] https://engagedscholarship.csuohio.edu/cgi/viewcontent.cgi?a...

[9] https://www.youtube.com/watch?v=bnLpXPCXKGA

ughitsaaron··on Glitch employees vote to form union, joining CWA
> Why not join together and bargain as a team?

"Bargain as a team" is called "collective bargaining" is called a "union". Just avoid the indirection and call the thing by its name.

ughitsaaron··on Kickstarter employees vote to unionize
Just off the top of my head: transparency in promotions and evaluations, greater pay equity, and just cause protections against arbitrary discipline and termination
← PreviousPage 3 of 4Next →