HNHacker News
TopNewBestAskShowJobs

MattyRad

992 karma · joined November 20, 2012

[ my public key: https://keybase.io/mattyrad; my proof: https://keybase.io/mattyrad/sigs/1nYbS5ky7IQ8SxeqZpSSj45InSWlD7JGECaAaANJixI ]

HackerSmacker profile: https://www.hackersmacker.org/user/MattyRad?hs=NChLQiGlinD7bO90qe

submissionscomments
MattyRad··on Ask HN: How do we stop the polarization/toxicicity filling the web?
It's worth reposting the related thought piece from last week https://www.ribbonfarm.com/2020/01/16/the-internet-of-beefs/
MattyRad··on Goodbye, New York, California and Illinois – Hello where?
Reno resident here. Policy change is something I tend to worry about given there's been a huge influx of Californian "refugees" over past the several years. If California continues its trajectory with housing costs and homelessness, it could definitely "bleed over."

Homelessness isn't as big of an issue here than it is in California (I expect in part because of the colder weather), but housing costs have definitely been affected.

MattyRad··on Please make your products work with URLs
I think there's some hypocrisy on the author's part: https://anderspitman.net/txt/feed

> If your browser was redirected here, it's because you have JavaScript disabled. To navigate the text version, simply paste one of the following URLs into your browser, or the entire cURL command into your terminal. If you're looking for a specific post, check the list on the Feed page.

MattyRad··on What to do if you’re stopped by the police
"Don't Talk to the Police", the video by James Duane linked in the article, is essential viewing. It's so succinct and cogent, I end up rewatching it usually on a yearly basis because I have it saved locally.
MattyRad··on Goodbye, Clean Code
There are at least 6 giant and contentious subjects covered in this one, short article:

- Code duplication (when it's appropriate)

- Code cosmetics/legibility

- Code scalability/flexibility

- Code review (protocols, how to perform them)

- Accepted widespread coding wisdom (abstractions, and shirking them, in this case)

- What defines a "junior" engineer (there are wildly different perspectives in this thread)

- Common courtesy (coworker interaction, etc)

Almost all out these are highly circumstantial to the type of project, codebase, language, culture, etc. I would like to see a productive conversation regarding any of these topics, but discussing so much at once in such circumstantial ways just leaves us talking past each other (the threads here are pretty clear evidence of that). I don't think this article has enough substance to cover any of these topics in any depth.

It's like if someone asked "What vehicle is the best vehicle?" Some people chime in with how much they like their brand of vehicle. Others say how trucks are better then cars. Others say that electric is the only choice. Others say cars made after 2010 are the best. The question is too broad so the responses aren't effective.

MattyRad··on Using the hunger I experienced as a kid to teach mine about generosity (2019)
I just finished reading the whole thing. It was definitely an honest and transparent testament to his (and others') struggle. I wouldn't say I felt moved by it, but I take away a renewed perspective in life, an understanding of how good I have it, and insight into what potentially the worst possible fate is.

To anyone else that may see this link: use Firefox compatibility-view.

MattyRad··on The Outer Worlds: Fixing the “game thinks my companion is dead” bug
Only tangentially related, sorry: all of the the companions in The Outer Worlds were uninteresting, I found it much more satisfying (and challenging) to beat the game solo. Effectively, each companion was an ordinary human, with some arbitrary specialities, joining your crew because the current mission required it. That said, The Outer Worlds was a lot of fun (albeit short-lived).
MattyRad··on Learning at work is work, and we must make space for it
I agree making time to learn at work for a job you've had for a while is important, but we should probably make a distinction for newhires. Software has a low barrier to entry and I'm sure many of us have been victim to people who earnestly, but mistakenly, believe they are capable programmers. As a result, they're constantly "learning", in effect turning the job into a classroom, and leaving embittered peers who have to pick up the slack indefinitely. This type of "learning" can be toxic. (Of course, good hiring practices should be able to filter those sorts of people, but hiring practices can be its own can of worms.)
MattyRad··on Ask HN: How to improve code quality while maintaining decent velocity?
This is an excellent suggestion.

I think an important question to ask before getting review is can other people understand and manipulate my code as easily as I can? Engineers who submit PRs without critiquing their own work (usually the moment they complete the ticket/task) are a liability, and can introduce some uncomfortable situations when it falls on peers to approve/criticize. Speaking from experience, my boss was very terse in code review sometimes, but it was the kick in the pants I needed to understand that my buggy, brittle code was unacceptable.

If you're looking for good resources, Clean Code by Bob Martin is a classic.

MattyRad··on I Miss the Old Internet
"I2P, TOR, and DAT" is an interesting callout in the article. Purposefully removing the search engine as a way of opting out of internet "homogenization" is an interesting counter-culture move. I would be very interested to see if it's possible to reclaim the individuality on the Old Internet using these protocols.
MattyRad··on NPM Bans Terminal Ads
This is highly unrelated, sorry, but does anyone know the zsh theme used in that post (https://feross.org/images/funding-screenshot.png)? I didn't see anything like it in the list of zsh themes (https://zshthem.es/all/). The colored arrows look very appealing if they're contextual, like if they denote the status of git files (deleted/edited/added).
MattyRad··on Fewer Than Half of Google Searches Now Result in a Click
As a reminder, DuckDuckGo (while being an alternative itself) supports bang operators (https://duckduckgo.com/bang), which helps to prevent Google assimilation.
MattyRad··on Show HN: Rap about sales saying yes before talking to devs
Oh man, I can relate to every song on the whole channel. Good job!
MattyRad··on Yelp Is Replacing Restaurants’ Phone Numbers So Grubhub Can Take a Cut
Yes, and as a side note, Foursquare has a free tier (ratelimited) Places API. Now that Google Places API is ludicrously expensive, I tinkered with Foursquare and it was a very enjoyable experience.
MattyRad··on Browsers are pretty good at loading pages
Agreed. It's very much a sunk cost/escalation of commitment fallacy. https://en.m.wikipedia.org/wiki/Escalation_of_commitment

Also bad is that junior engineers see shoddy client side code and internalize it. As an example, one junior engineer asked me how he was supposed to iterate over an array server side when I told him he didn't need to use Vue on a page. Server-side rendering fixtures had been completely forgotten.

I accept my responsibility in causing this mess though. I niavely pushed the SPA on my myself, my coworkers, and our end users years ago and have to live with that sin daily.

MattyRad··on Browsers are pretty good at loading pages
This is definitely in the same vein as http://boringtechnology.club/ After several years of drinking the client-side kool-aid, I've come to realize that it almost never has a positive ROI. On top of the false premise that it "makes pages faster", it doubles the cost of the entire pipeline/stack, it doubles the amount of documentation that needs to be read/written, and it doubles the statefulness of the app, amongst other things. Maybe under the best conditions by the most knowledgeable devs, client side apps could be impressive, but your typical company doesn't have those resources.
MattyRad··on Tips for reviewing code you don’t like
> 1. Rephrase your objection as a question

Careful with this one. In my experience, you aren't fooling anyone when you ask someone a question to which you yourself know the answer. It can quickly come off as condescending.

One helpful practice that we have is that we make a distinction between blocking and non-blocking comments. Nonblocking comments are desired changes, but aren't required by the submitter to fix (formatting, code simplification, naming, etc). This steers people in the right direction without preventing them from getting work done. Blocking changes are critical things which must be resolved before the code gets merged (security risks, performance concerns, complexity concerns).

And of course, every comment should be followed with a suggestion for how to resolve it (even if it's meeting in person). "This is bad" obviously doesn't fly.

MattyRad··on Show HN: Web pages stored entirely in the URL
Shameless self promotion, but if you're interested in this sort of thing and know a little about DNS, you can similarly host a website purely through DNS records; no hosting, no cost, etc. https://serv.from.zone
MattyRad··on They Were Promised Coding Jobs in Appalachia
I think frontend has such a low barrier to entry and such a high degree of fault tolerance that it makes sense that people misjudge their capability.
MattyRad··on They Were Promised Coding Jobs in Appalachia
You're right, it would be pretty difficult to make a test that actually gauges competency. That shouldn't necessarily be a reason not to try though.

Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.

I should also clarify that being self taught isn't necessarily a bad thing (one of the best coworkers I had was self taught), lacking any of the above traits is.

MattyRad··on They Were Promised Coding Jobs in Appalachia
I've shared this experience of being a mentor and babysitter for people who seek all the things you listed, although in my case it's inexperienced coworkers who are "self taught" (no boot camp even). Their charisma and our shallow interviewing process usually lands them a job and leaves me cleaning up after the messes they perpetually make. You would think proper communication would prevent these things, but often they are so alack of experience it goes right over their head, and other times they're overconfident or just disinterested in improving themselves. If you try and give them too much constructive criticism, then you quickly become the office asshole.

Other engineering industries have to take rigorous exams to achieve any forward momentum in their job (civil engineering had the PE, for example). This is something I think I could get behind for our industry .

MattyRad··on Daydreaming about the future instead of doing work today
I'm obliged to quote The Man in the Arena: https://en.m.wikipedia.org/wiki/Citizenship_in_a_Republic

A stirring speech, and a good reminder to press on, and to press for results (just be careful not to reference it as an excuse to dismiss constructive criticism, or to play a martyr).

MattyRad··on How to Be a Stoic (2016)
I think being stoic is becoming increasingly valuable regarding today's politics. Vindictiveness and toxicity is reflected regularly in people that closely follow national politics, usually demonstrated by their desire to relieve their frustrations by venting their negative emotions. Like the author quotes, "it is not events that disturb people, it is their judgments concerning them." Letting things which are so far removed from your control affect your daily disposition seems exhausting and miserable.
MattyRad··on Famous Laws of Software Development (2017)
The Peter Principle is also referred to as Putt's Law (https://en.m.wikipedia.org/wiki/Putt%27s_Law_and_the_Success...) and phrased slightly differently.
MattyRad··on Public protest against Amazon
He's self representing himself for the case? Does anyone know if there is any reasoning behind this? Even lawyers aren't recommended to represent themselves... going up against Amazon's lawyers with- no offense to the author- imperfect English, sounds like it would be more of a firing squad than a lawsuit.
MattyRad··on Battlesnake – Competitive Snake Games over HTTP
Does anyone have a list of competitive programming challenges like this? Specifically where you're programming a board game against other algorithms. Googling "competitive programming challenges" doesn't yield a lot of good results.

I'm aware of http://fruitbots.org/, which I had a lot of fun with.

MattyRad··on Fyre Festival Was a Huge Scam. Is Netflix’s Fyre Documentary a Scam, Too?
Since you bring up raw livestream footage, a quality example of a documentary which is just livestream footage is Jesus Camp. It's quite fascinating because the people who were filmed believe they are accurately represented (which they explicitly say in follow up interviews). But usually people that watch the film are horrified of the interviewees dogma.

It's an interesting example of genuinely truthful documentarionism.

MattyRad··on Google terminated our business via our Google Play Developer Account
I also had my account suspended due to a failed payment method.

I was just exploring Google Places API to see if I could integrate it with a side project. The signup process claimed that it only needed a credit card to "prove that you're a financially capable human," which makes sense (and it also said that it would not charge your account until you gave it express permission), so I happily agreed. Despite this claim, Google apparently requires an active, chargeable card at all times, from account inception until you die. Failure to do so will result in terminating your account.

Whatever, let them terminate the account. Google's public favor is in a tailspin, and I can get the data I need from FourSquare at a fraction of the cost.

MattyRad··on Ask HN: What books changed the way you think about almost everything?
Grendel - John Gardner

It is the story of Beowulf, told from the monster's point of view. It underscores the constant internal struggle between nihilistic despair and finding meaning in life (for yourself and others). It strikes a chord with Ozymandias[0].

It is primarily responsible for me abandoning my strong Catholic upbringing (and, ironically, despite John Gardner himself being a Christian).

[0] https://en.wikipedia.org/wiki/Ozymandias

MattyRad··on Google Urged the U.S. to Limit Protection for Activist Workers
I should clarify, google is rife with visual noise, especially for simple queries. As an example, try googling "how to clean rain gutters" in both search engines. You'll need to scroll half down the page, past "Suggested Clip", past "People also ask", past "Videos", to finally arrive at the 1st search result. DDG also shows videos, but doesn't require scrolling.

EDIT: I forgot about ads because I use an ad blocker! If you don't use an ad-blocker, you'll also have to scroll past a large section of ads.

← PreviousPage 5 of 10Next →