HNHacker News
TopNewBestAskShowJobs

shantly

2,906 karma · joined September 7, 2019

submissionscomments
shantly··on Anti-patterns and malpractices in modern software development (2015)
> Oh sure, you can solve the endless little meaningless problems that plague the day-to-day life of programmers everywhere, but the source of these problems — defects at the engineering level — are effectively untouchable. Also untouchable are the systemic issues that cause each of these should-be-trivial-to-fix problems into 5–8 hour tasks.

That part of #4 is so true it hurts. Most of the software I use is full of brokenness and "WTF"s.

About a year ago: AWS Lamba supports Java. Sweet, should be easy. Oh but the command line tools are broken in several ways you won't discover until you try, find they're broken, google around for a while trying to figure out what's wrong, then realize it's not your fault when you find the relevant unfixed issues.

About three years ago: Well I'm writing an Android app so this Google Maps feature should be a piece of cake, I mean, Google makes the OS so surely Maps is amazing on here. Except. Wait. No. That cannot be right. It can't. The Android maps SDK is missing features that the Javascript version has? No. That doesn't make any sense. Oh. Here's a GH repo someone already made to provide a convenient interface from Android Java to the Javascript maps SDK for this exact reason. I mean I guess I don't have to write it myself now but seriously, this was a fucking waste of half my day for no good reason.

A few days ago: Debian installer is flat-out incapable of writing Grub correctly. Several tries, every reasonable combo possible, boot fails with missing OS every time. This ain't my first damn rodeo—something's wrong. Think it's maybe a UEFI issue. Force UEFI. Now my video card doesn't work. Because it's not UEFI compatible? Why dafuq is that even a thing? Open case, reset bios so I have a display again, install again just to be safe, boot to installer's recovery mode, mount, chroot, install grub manually and in precisely the way I'd told the installer to do it the first time, and without changing a damn thing about the config the installer had just written, and it's fine.

This is basically how everything goes every time I try to do anything with software at all. Which is my job. So this is my life.

Software is terrible.

[EDIT] in fact I can think of one area where my tools are consistently as shitty, broken, and unsuitable for their intended purpose as software usually is: it's when I cheap out on power or (especially) hand tools to try to save a buck.

shantly··on Ask HN: What Technologies to Learn in 2020?
My experience has been, especially if your application layer's in a scripting language, pushing as much data-fiddling to the DB as possible will save you serious performance headaches down the road, even if the application layer implementation looks OK at first. They're all really slow and memory-inefficient, and often moving that stuff to the application layer also means more queries (else, typically, why not do it in the DB?) which means more network latency, which an be a real killer. In a lot of cases fixing the performance means, at the very lease, re-implementing a bunch of what your DB already does to support fast & efficient data manipulation.

I've also seen the application change on top of the DB way more than I've seen the reverse, so I'm inclined to avoid putting data manipulation in the application when possible. That way it's there, for free, when we need a second application to access the same thing, or when we break off some chunk of a program into its a separate service and re-write it in Go because it turns out to be a performance bottleneck, or WTF ever.

shantly··on Anti-patterns and malpractices in modern software development (2015)
I work mostly in the "webshit" and mobile industry. The last time, in a work context, that I saw a site (in this case, from a vendor) and went "goddamn, for what it's doing, that is fast, this is really nice to use!" it turns out it was... PHP running on some normal-ass single instance VM or server somewhere, serving mostly just HTML.
shantly··on Anti-patterns and malpractices in modern software development (2015)
Sure, lots of newer tech has legitimate uses and reasons to choose it over other options in some situations, but there are a hell of a lot of projects out there that are way more complex than they need to be, often at UX cost in addition to development cost, because everyone making the decisions have incentives that don't align very well with UX or controlling costs. For every legitimately-good-use of a hyped new software technology, there are probably (I'm being conservative) three unnecessary ones. Sometimes these can compound into some real monsters of over- and mis-engineering.
shantly··on Anti-patterns and malpractices in modern software development (2015)
As long as hiring and technology decisions remain largely hype-driven, having someone around who says "we don't need k8s, hadoop, machine learning, and AWS with some big-ass Terraform-driven constellation of supporting serices for our expected data, workload, and use case; look, give me one middle-weight server, or one heavyish VM somewhere, and I can show you how to do all this with awk, sed, cron, and maybe a few lines of Perl or Python. We can have it up fast and anyone who can read man pages and a README can admin it, and anyway it's so simple and the workload static enough that once some initial kinks are worked out it'd probably run in a closet without issue for so long you'd forget it was in there—so, longer than this project is likely to be alive, anyway" isn't really something you want unless you plan to ignore them. For their fellow developers, that's résumé poison, you need "real world" experience with all this crap for the next job hunt. For the product manager, owner, and sales, you can't baffle stakeholders or investors or prospects with fancy bullshit when there isn't any fancy bullshit.
shantly··on Ask HN: I've been slacking off at Google for 6 years. How can I stop this?
The FAANG and similar interviews are designed—one hopes, anyway, because if they're trying to do something else they've screwed up—to select for some combination of decent-or-better IQ and having put in enough work to prep for their tests using, yes, online exercises and some books, with the set of things one needs to study being fairly large but also very well-known. There are lists all over the place, including one sort-of famous guide someone put on Github, outlining what you need to study, and where to study it.

Basically they want you to be at least semi-smart in a raw general intelligence sense, and to really want the job and have put in the work to get it. Whatever their reasons for this, it will almost certainly have the effect of making a successful candidate value the offer more and think more highly of their co-workers, for the same reason that e.g. initiation (hazing) rituals or costs tend to improve group cohesion. Perhaps this is why they do it.

shantly··on Ask HN: I've been slacking off at Google for 6 years. How can I stop this?
I am not kidding: you are all set to be CTO or dev lead (mind: only if there’s actually a team so you don’t have to do much development) at some late-early stage funded startup, that wants a long-time Google alum on their staff, in leadership. Without even a change in your work ethic. Not even slightly a joke.
shantly··on Ask HN: What Technologies to Learn in 2020?
TS is a very safe option because you can just strip the TS parts out and you're left with normal Javascript, basically.
shantly··on Haute Baroque Capitalism (2017)
It’s precisely Fussell’s position in his Class that old-money families learned some time in the early 20th century to live invisibly—an old-money house will be so far off the road you can’t see it from there, modestly protected by a gate and perhaps fence. He hardly treats of these people at all, as they’re rarely encountered by those outside their social circles and a little less prone to homogeneity than most of the other classes, aside from a general “calling attention to oneself is NOT what one does”.

Under Fussell’s analysis Trump’s displayed taste in decor and clothes are about as Middle as could be, thought not a small amount of Fussell’s Proles’ taste creeps in in his clothes and food. Imitating the baroque and “living large” while wearing expensive clothes that don’t fit is what one might expect from a high-dollar lottery winner who used to hold some middle position at a bank branch.

shantly··on Black boys don’t need more discipline, they need mentors (2018)
It's more about perspective, to avoid beating oneself up too much on the bad days. "This sucked, but we're still basically OK, just gotta learn and move on".
shantly··on Black boys don’t need more discipline, they need mentors (2018)
It is, quite seriously, heartening, as a father, to know that just 1) being there at all, and 2) trying with some amount of thoughtfulness not to screw up your kids, puts you well into the top half of fathers, by quality. You can still mess up constantly, and pretty badly, but remain better than average.
shantly··on A serverless email server on AWS using S3 and SES
I remember serverless PHP. Shared, managed hosting, just add your code, Apache takes care of executing it once per request :-)
shantly··on The Western Canon by Harold Bloom (2011)
He omits a lot of philosophy, science, economics, and so on, that aren't directly relevant to the literary canon.
shantly··on Ask HN: Are books worth it?
> I have thousands of non-fiction (mostly self-improvement) books in my reading list on GoodReads, but almost never bother to read any.

> The last few books I read were mostly filled with fluff, anecdotes, stories, jokes, and trivialities.

> I thought that online content was roughly equivalent to 80% of what I'd get from reading actual books for 20% of the effort.

For self improvement and pop-business books, it's more like you can get 99% of the value from 5% of the effort by reading about the book, or skimming it, rather than reading it closely.

> Are books worth it?

You need to know what this "it" is first. I don't mean that flippantly. Do many people find reading books useful or enriching or valuable? Oh, yes, certainly. Now: worth what? To you? Are films worth "it"? Are Casablanca, The Seventh Seal, the Up documentary series, Manos: The Hands of Fate, Cave of Forgotten Dreams, Mars Attacks!, and Debbie does Dallas, worth "it"? Are they all replaceable with a bunch of 5- to 15-minute Youtube videos?

> Is it more true for some fields than others?

Self-improvement, pop-business/leadership books, and generally anything written to sell consulting services (there's a lot of that in both those categories) are regarded as kinda jokes. If you're looking there for wisdom you're combing the desert for a pearl.

> Is it more true for older books?

The filter is that if a book is still considered good decades, centuries, or millennia after it was written, it very probably is good. Good books somtimes don't pass this filter (these are periodically rediscovered) for various reasons. But almost no bad or low-value books pass it.

> Isn't most of the information from books freely available online?

Not at all. Start studying any topic past the surface level and the only way you'll get any further "online" is buying or pirating ebooks. Keep digging—not even that far—and you'll find some that do not exist in digital form, not even on Library Genesis. If you want to seriously learn about a topic, pick up a good academic book on it, then follow up on all the books they (very probably) mention in their introduction as other major works on the topic, and maybe also the books that book directly credits as references. Often this is a faster and more accurate way to learn what the expert consensus of "foundational" works in a topic is than trying to find that out online, let alone trying to learn the information contained in those works purely online, without books (usually impossible).

> Am I missing out?

What is "it"?

> One issue for me is that books are a very big time investment. I read very slowly and I don't remember everything I read either.

Take notes.

> Even if I wanted to read books, I just don't know which ones I should start with, out of the 1000 "must-read" books in my reading list.

Stop. Pick, like, five that seem really important or that you just most want to read. Aim for variety, don't pick five all on the same topic. Ignore the rest until you're done. Don't even think about them. If you're not going to finish five there's no damn point in maintaining and stressing out over a list of 1,000. They'll still be there when you've finished your five.

One further note: as hinted at by the movie comparison above, reading a book is a process and that process is part of the effect of the book. The time it takes, the curation or generation of material by one author or editor or a team of same working together, the focus and intention of the creators, these matter. Reading 200 blog posts is not the same experience as reading a book, even if they mostly cover the same territory. A tree can become boards, but boards cannot become a tree.

shantly··on The Light Phone
The camera’s the main thing keeping me on smartphones. My iPhone 7 Plus is a better camera (for me) than anything but maybe a newer iPhone, and also entirely replaces a document scanner. May drop the data plan though, go WiFi-only.
shantly··on Just Build the Product
I'm having a hard time following what you mean. Could you give some examples of an irreversible decision that can be deferred in favor of some other specific reversible one(s)?
shantly··on Apache Pulsar is an open-source distributed pub-sub messaging system
I haven't worked with RabbitMQ in years, but IIRC I solved this with federation. My sends were all to localhost or a VM on the same machine.

That solves the problem of lost messages if you have e.g. a network problem between servers. I don't know what to do about RabbitMQ being down, all you can really do about that is move the exact same problem somewhere else by making things much more complicated, such that it's probably not worth it. If the place you're storing outbound messages is broken, you (obviously) can't store them, whether that's PostgreSQL, Redis, a remote RabbitMQ server, a local RabbitMQ, whatever.

shantly··on Apache Pulsar is an open-source distributed pub-sub messaging system
Using wild heavy-duty (or faux-heavy-duty but just as hard to manage) solutions where 2-3 colo'd servers running boring services + Cloudflare would do is so well-accepted as normal practice in Startup Land that it's not worth fighting. Just take the free résumé sugar and don't rock the boat. You won't get anywhere anyway, and on the off chance you do win all you're doing is ensuring that you, personally, are to blame for any problems that come up. Meanwhile the costs and problems of Kafka and Kubernetes and all that jazz are no-one's fault, because that's "industry standard".

[EDIT] in fact it's pretty much the norm outside startup land, too, as soon is you're involved with any kind of bigco "innovation" or greenfield-development division.

shantly··on Just Build the Product
I have real trouble wrapping my head around this kind of thing because I can't imagine paying for a product under those circumstances, no matter how useful it'd be. I get that it must work since so many people say it does, but it's totally alien to me.

If you don't have something to sell me, now, why are you asking for money? Am I an investor? No? Come back when you have a product. I'll probably still say no because I won't expect your business to last very long, but you'll be 100x closer to a "yes" than you are now, which is about as far from it as you could possibly be. Is this an unusual attitude?

shantly··on Just Build the Product
It's really funny to me that someone could get excessively sucked into tinkering with and "nerding out" over Macs, the desktop/laptop platform that's by far the least inclined toward that. Usually stories like this start on Windows or Linux and end up on Macs precisely to minimize time & brain space lost to tinkering and esoteric platform knowledge just to keep things basically working OK, as the appeal of that sort of thing wears off.

I don't mean that in a bad way! It's just one of those "huh, so many different experiences out there, who'da thunk it" things.

shantly··on Windows disk space requirements (log-log scale)
Does anyone know exactly WTF happened after XP to make the disk space requirements balloon so much, so fast? I know they started including more drivers, but, I mean, so does Linux and you can go pretty nuts with driver modules there and still not move the needle much on disk space requirements. Certainly not to the tune of gigabytes. New features definitely don't seem to justify the increase. Even supporting both 32 and 64 bit, that still doesn't come close to justifying it. Combine Win2k and Win98, double that for no real reason, double it again for 32 and 64 bit, and you still don't touch Win7.
shantly··on U-Haul to Implement Nicotine-Free Hiring Policy
Agreed. I may at some point be so desperate for a job that I can't be picky, but for now you can show me the records for everyone between where I'll be in the org chart and the CEO, inclusive, taking & passing the same tests, or you can fuck off.
shantly··on U-Haul to Implement Nicotine-Free Hiring Policy
The unpaid screwing-around-with-computers I did from ~13 through college is very relevant for my employers. I'd be a way shittier developer if you took out especially the Linux admin and networking stuff I picked up then, most of which I would not have picked up at any of my employers since, nor in college—I'd have just been among the other developers without a clue why X is happening or Y is broken—though it's consistently been extremely useful.

For the record, I did paid screwing-around-with-computers from 15 on, but the unpaid stuff added at least as much value to me as an employee.

Ditto my abandoned humanities degree, which I also don't put on my résumé. More valuable to my work as a software developer than the CS degree I eventually got. I wouldn't present it that way for obvious reasons, but that doesn't change the reality of it.

shantly··on U-Haul to Implement Nicotine-Free Hiring Policy
> If I as a taxpayer am funding someone else's healthcare they better not be drinking heavily, smoking, doing other drugs, eating excess sugars, avoiding vegetables, etc.

How much time to you spend advocating for this position WRT medicare, medicaid, and insurance for government employees including the active and retired military's Tricare, all of which you are currently paying for with taxes?

shantly··on EA is permanently banning Linux players on Battlefield V
I haven't done much online gaming in a while, but I remember vote-to-kick most often being successfully invoked for stuff like people logging on then immediately spamming messages or abusing voice chat. The vote call was swift and the kick a certainty. They'd be gone in seconds.
shantly··on EA is permanently banning Linux players on Battlefield V
If the rest of the players think they'd have more fun if a really good player left, that's working as intended.
shantly··on How the Digg team was acquihired
Mine was a Friday "hey we got bought, it was just enough to pay off our debts basically so no your stock is not worth anything, the good news is you're all hired by the acquiring company so show up at X on Monday for your new job, have a nice weekend!" so of course I showed up at X, signed their shitty employment contract, did whatever they asked, and spent the rest of the time reading novels in my terminal and finding another job that wasn't a huge open-floorplan low-wall-cube office hellhole.
shantly··on How the Digg team was acquihired
Man, that movie is great, and yeah, it's entirely because it's about the people more than the shark.
shantly··on Chrome OS has stalled out
Used business workstation desktops are a friggin' steal right now, if you don't need the portability. Like if you want to do the old-school shared "family computer" situation. Or just want one really powerful machine for your home server junk, rather than a stack of (way more expensive for similar total memory & performance) Raspberry Pis.
shantly··on A Restaurant with No Leftovers
A glass bottle you return isn’t “cheating” any more than bringing your own bag, IMO.
← PreviousPage 2 of 31Next →