HNHacker News
TopNewBestAskShowJobs

alexanderdmitri

1,688 karma · joined January 10, 2017

    // Alexander Dmitri is property of Gala Corp.

    (function (self) {
      console.time("lifetime");
      try {
        while self.alive {
          self.wakeUp();
          self.doStuff();
          self.sleep();
        }
      }
      catch (fatalError) {
        console.error(`Whoops! ${fatalError}`);
      }
      finally {
        self = null;
        console.timeEnd("lifetime");
      }
    }(self));
submissionscomments
alexanderdmitri··on The most popular docker images each contain at least 30 vulnerabilities
Not OP, but given the theme of this thread, npm very directly enables library/dependency bloat, if not flat out encourages it.

I remember when I first starting dabbling in web development from an avionics systems background and I'd just made a little toy express app that did a couple tricks and I was kind of exploring and naive and took an innocent gander into that specially icon'd node_modules directory and it was filled with other projects and peaking into a few those I started to get this feeling of dread, the kind that starts in your stomach and slowly diffuses through the rest of you with that leaden feeling of growing hopelessness. Looking back, I should have stopped there, I really should have, but instead I popped open a terminal and, I can still hear each key as my fingers thumped it out: `tree ./node_modules`

Watching the unraveling was me bearing witness to everything I had ever known and loved and had believed in and strived for get thrown naked and defenseless and pathetic into the abyss and still it kept unraveling and still I sat and watched the descent until I no longer knew where I was or even who I was and still the modules unraveled relentlessly.

I spent that night looking into the mirror as if looking into the eyes of a stranger. The person staring back at me was someone I had not only ceased to know but had never known to begin with. And when the sun rose I had changed and I knew then as the sparrows began to chirp into the cold winter twilight spreading light over a now alien and unrecognizable planet that I had lost something I would never regain because to lose it is to simply realize it was never there to begin with.

I steeled my nerves and pulled on my itchy long underwear and buttoned up my plaid button up and I did not put on socks and headed downstairs to the kitchen and put on Now That's What I Call Music 23 and I drank a glass of orange juice and ate my oatmeal and the mix I had hitherto so much enjoyed now struck me as chaotic and ill-thought out and then Abba came on and the song was about a Dancing Queen and I resolved myself once more and brought my dishes to the sink to rinse them and decided there was nothing to do besides async.waterfall the next set of promises only after the necessary precedents resolved (which is how we spoke back in 2016s).

And I found myself back at my machine and worked like hell to reign my terror in because the tree command I had run the previous evening was still printing to stdout and I closed my eyes and blindly mapped my fingers to ctrl+c and felt just a little twinge of reassurance as the reflexive `clear` followed without me having to have consciously willed it and I took a deep breath and scratched my leg because of the itchy long underwear and then I was typing out `npm --i numbButAlive` and by the shift+b,u tap dance I began to feel hope one last time and finger resting slack on the carriage return I couldn't bring myself to push it yet for some reason and I froze and I clearly remember hearing Agnetha at that exact moment singing about that 17 year old dancing queen, "Having the time of your life, oh, see that girl" and then the hope was gone because it wasn't ever there it was really there like the hopelessness of hoping to feel hope and I felt an anger and I revolt in me rise up and the room filled with my voice "Fuck it, fuck it all!" and I meant it: fuck this world and fuck Abba and fuck Now That's What I Call Music Vol. 3 and up (with the exception of Vol. 7, maybe) and fuck all the empty dreams of all the fucking vapid nobodies polluting it with their nonsense parade of nonsense distraction after distraction after distraction from the truth that their life will end in death and so will their children's and their children's children and there's no greater significance to that, no hidden meaning or lesson, only death and emptiness and going through life knowing this and knowing how all everything you do to whittle away at the precious little time you've been alotted is a complete waste despite your protests and denials and self-deception and still you keep denying it to your dying breath because here even acceptance is denial in that acceptance is meaningless to that which is what is with or without your fucking acceptance and I found myself laughing a hollow, bitter laugh, a laugh that didn't sound like me, a sound I could never had made until that moment, this moment, a moment without joy or sadness or anything besides utter resignation and defeat and I tacked a `-g` onto the command for no other reason than fuck it, fuck everything and everyone and all their delusional basis for anything and it was easy to push the carriage return now and as I did so and I tasted something new to me then and it must have been my first taste of true freedom in all its terrifying glory, a freedom that leaves nothing to its beholder and is beholden to no one and ultimately sentenced to an eternity imprisoned within itself to as its becoming of self is just a much a defiance to what it should have been free to become.

alexanderdmitri··on Redis Turns 10 – How it started with a single post on Hacker News
About 1 in 57 according to the random statistic generator app someone posted years ago that I'm still using multiple times a day.

Super stoked the developer finally released the "output as odds" feature (though my favorite output setting is definitely still "matter-of-fact tone with a hint of strained patience").

alexanderdmitri··on Portmanteau Generator
My favorite:

timid + programmer => softwary (software/wary)

alexanderdmitri··on Nestle, Disney Pull YouTube Ads, Joining Furor Over Child Videos
Do you have a source for this? That seems alarmingly high.
alexanderdmitri··on Time Travel (2006)
First thing that occurs to me as a work around for this paradox is to think of traveling into the past as recreating a certain state as opposed to actually "reversing" the clock so to speak. Like pulling a commit hash from a while a back and then forking the repo. Maybe we're just not on a fork yet?
alexanderdmitri··on Meth and murder: New kind of drug war makes Tijuana one of deadliest cities
Once the government and industry took measures to try to reign in the pills, ODs starting rising dramatically as people turned to street drugs (sometimes dangerously spiked with Fentanyl without the consumer's knowledge).

I'm pretty sure we're agreeing now, but in your original comment you were saying more people would OD if it were legalized. Maybe more people might experiment and pick up a habit when it's legal, but the data here shows more people OD when they can't procure it in normalized and knowable amounts.

Also, relying on a black market to stay high is likely to have other consequences on your life in all sorts of ways not related to the act of ingesting an illegal drug, but more the fallout from engaging in (by definition) illegal actions to make it possible for you to ingest the drug. This complication is likely to further, rather than reduce, risk-taking behaviors that are not organic using the substance itself. When combined with the general volatility of the the market in general given chaotic measures that temporarily create false scarcity for a product that someone suffering from addiction cannot fathom going without, individual behaviors and decision making will definitely be negatively affected.

Basically the argument for the criminalization of drug use/commerce is:

Drugs are addicting and can be abused, so we decided to criminalize them with penalties that may seem excessive but are definitely warranted. And you know what? After putting this in place, man, you should see just how dangerous these drugs actually turned out to be. Turns out, once you make drug users criminals, they start committing more crimes and they lose their jobs and neglect their children and started overdosing and end up in jail and on a macro level violent organizations have come into being with the means to subvert whole nation states and law enforcement has a whole lot more to do. Could you imagine the anarchy if we legalized this shit? Overdoes would go up, violent organizations would take over the world, a whole generation of kids will be fucked and our prisons would be bursting from addicts committing crimes while law enforcement would collapse from being underfunded and stretched too thin.

Don't get me wrong, I believe drugs are Stupid, it's just the consequences of making them illegal is like Stupid started doing drugs and then began committing crimes to pay for the price Stupid artificially inflated against it's own interests so that it could in fact continue claiming to stupidly be trying to be less Stupid while (with near preternatural stupidity so sublime it becomes indistinguishable from Genius) preventing itself from ever being anything other than just Stupid while also convincing everyone it doesn't have a problem, in fact anyone who even stupidly suggests that what Stupid is doing to Stupid is Stupid is themselves in fact Stupid for suggesting something so Stupid.

alexanderdmitri··on The memory safety problem isn't bad coders
> Which is more bloated?

Microsoft Word

> Which is more light weight?

Notepad

> Which has more powerful features, some that you don't even notice right away, like spellcheck, grammar check, etc?

Microsoft Word

> Which has fewer features?

Notepad

Users who are complaining about bloat are usually complaining about either application performance, ease of use and basic task completion complexity and/or general cluttering of the UI. Longer than expected load times can lead users to believe an application is bloated as well. It's true that all these things might be caused by something other than bloat, but these are typical repercussions of adding general cruft and also these tend to be design decisions and implementation details separate from the feature that the bloat was added for.

Developers complaining about bloat (not the ones on HN giving a critique of a github repo after browsing it for a couple minutes, but the ones who are actually knee deep in source code trying to meet a deadline for a specific feature or bug fix and to whom the bloat is literally a gravity well affecting their development pace and agility) are usually referring to previous development cycles that they believe unnecessarily introduced complex libraries for simple tasks or outsourced application logic to dependencies that are not under control of the in-house development that have unnecessarily made the code base unwieldy and created more rotten code overall from a maintainability/extensibility vantage.

In both these cases, a good early signal of detrimental bloat would be someone taking out a PR that introduces 500MB to the application. Justifying it as I'm maximizing for DOLLARS makes me think of someone who just won the lottery deciding that as a result of their net worth increasing a thousand fold, they're going to start willingly paying 1000x the price for things and also buy 1000x the amount of things. Should anyone try to convince them of how this logic is going to work out (perhaps someone stuck behind them in line at the store as they ring out the tens of thousands of grocery items, each of which provides a special value most people don't use, understand, or even realize is edible), the lottery winner calmly explains to the well-meaning individual (who happens to have just as high a net worth as the lottery winner it turns out but has achieved this over time and will have a higher net worth going forward from here) that perhaps this well-meaning simpleton just don't realize how much money has just been won.

And sure, an application like Microsoft Word that has been actively developed for more than 35 years will likely have bloat, especially when maintained to preserve backward compatibility. There's a statistical minimum in this regard. Whether or not the bloat is as bad as it needs to be is another thing.

If the development team behind Word has simply been adding 500MB here and 500MB there and defending it with "we're not going to write the new features in assembly" or "this helps me as a programmer be more productive" or "this source modification is so large because of all the features you don't know about" or "what?! we're not in North Korea" or all of the above, they are 100% creating more work for themselves and this extra work definitely comes with a price tag. In fact, without really have much insight into the general culture or incentives over there, it's a reasonable bet they've taken steps to prevent developers from introducing tech debt and bloat with this sort of defense.

Either way, it's weird to point to Microsoft Word's accumulated debt and overall decreasing performance specs as a result of multiple decades of evolving development as a reason to dismiss bloat as a non-issue. If I were a career non-bloat advocate, traveling from university to university on my canola oil powered moped I'd be pointing to Word as a reason to take bloat seriously and a reminder that the feature your adding now will likely be on the opposing force of a future person's battle with bloat and you should fight it with all the flower power you can muster or risk them tracking you down with a vendetta after they realize it was your commit making their job shit right now.

alexanderdmitri··on The memory safety problem isn't bad coders
The devil is in the details usually here. Bloat can absolutely affect your bottomline in many ways.
alexanderdmitri··on Meth and murder: New kind of drug war makes Tijuana one of deadliest cities
> Do you think the death toll from opioids would be higher, lower, or the same than it is now? It would (obviously) be even higher.

My understanding is a great deal of od'ing comes from people not knowing what or how much of what they are putting in their bodies. If your point stands, why did the clamp down on opiod prescriptions correlate with a massive increase in overdoses and fatalities?

alexanderdmitri··on Ask HN: What are some great personal blogs/portfolios?
awesome to see she makes programming zines too
alexanderdmitri··on Python Developer Survey 2018 Results
One of my side projects that's also work related but also done on my own time is a cli-focused wrapper around the aws boto3 library. I ended up writing my own test library once it reached that point where, well you want tests before every commit ... I'd hardly call it "hobby" testing though.
alexanderdmitri··on Reddit is raising a huge round near a $3B valuation
What would you suggest?
alexanderdmitri··on “Lambda and serverless is one of the worst forms of proprietary lock-in” (2017)
Even if you invoke your lambda function to warm it up in anticipation of traffic, you'll still hit cold starts if the lambda needs to scale out; the new machines are exposed to inputs "cold." Those crazy patterns trying to warm the lambda up are really crazy if you think about it because no one is using them is really aware of the underlying process(es) involved.

"Why are you throwing rocks at that machine?"

"It makes it respond more quickly to actual client requests. Sometimes."

"Sometimes?"

"Well, most the time."

"Why's that? What's causing the initial latency?"

"Cold starts."

"Yeah, but what's that mean?"

"The machine is booting or caching runtime data or, you know, warming up and serverless. Anyway, don't think about it too much, just trust me on this rock thing. Speaking of which, I got to get back to bastardizing our core logic. Eddie had great results with his new exponential backup rock toss routine and I'm thinking of combining that with a graphql random parameter generator library that Ted said just went alpha this afternoon."

alexanderdmitri··on Comprehensive Python Cheatsheet (2018)
I like your linux cheat sheet too. Thanks for sharing!
alexanderdmitri··on How to teach programming to your loved ones [video]
There's a really good article in the top ten on Lawyer News right now: How to Teach Your Loved Ones to Perform Legal Research.

A lot of the advice could be applied here pretty well.

alexanderdmitri··on Apple blocks Google from running its internal iOS apps
Isn't it anti-competetive in general then that big players get more protection from consequences via this logic?
alexanderdmitri··on Anti-corruption shortfalls fuelling ‘global democracy crisis’
Isn't there a catch-22 here? The system is a republic which writes its own requirements; if it's been compromised and exploited by outside systems to the point its kernel level processes are funadmentally corrupt/compromised, how can you trust it to autocorrect in a way that actually fixes the fundamental issues? The tools designed for "the people" to use and interact and influence the system have been neuteralized with mathematical precision (assuming a point where they worked as specified, there is an argument to be made that the system has always given lip service to the end user while really only catering to management).

I think you only have a chance at implementing change if you're able to locate and leverage an exploit that the viruses within have either overlooked or can't completely secure against.

alexanderdmitri··on Toshi: An Elasticsearch competitor written in Rust
I like the seperation of concerns, do you have an example of conflating these that leads to issues?
alexanderdmitri··on The Squishiest, Sweetest Sleep
Recently migrated all my sleep cycles to bedless infrastructure.

(I know it's not really "bedless", but whatever, at least I'm feeling better rested lately)

alexanderdmitri··on Announcing Open Source of WPF, Windows Forms, and WinUI
I think there's middle ground here.
alexanderdmitri··on The Insect Apocalypse Is Here
I'm curious about that definition of lawn, does it only apply to residence property or commercial spaces, athletic pitches, &c?
alexanderdmitri··on Want more policies based on evidence?
How is no analysis just as good?

It's hard to believe that the percentage of successes with no analysis is GTE the percentage of successes with some analysis.

alexanderdmitri··on Apple's best product is now privacy
I know with Android that companies like Verizon install a "super cookie" that cannot be removed without rooting the device. Does anyone know if this is the case with iOS as well?
alexanderdmitri··on AssemblyAI: speech-to-text API
that makes me unbelievably happy.
alexanderdmitri··on Scala: Understanding implicits
That it's about Scala is implicit in the title :P
alexanderdmitri··on Ask HN: Should I quit trying to be a programmer?
Keep working at it. Believe in yourself and your capabilities (as corny as it sounds). It really is about perseverance. If you find the frustration is wearing you down and making you feel hopeless, don't torture yourself doing work you don't want to do. With that said, if you feel a rush when things do click and that drives you, I think you'll do fine.

There are few prodigies in the field. Most people make it through sheer work ethic and self-belief. Do everything you can to hangout with other passionate people (if they're more skilled than you even better). The best way to do this is just get your foot in the door somewhere. Do whatever it takes. One year in a work environment gaining real world experience is priceless and your skills will skyrocket if you challenge yourself and step outside your comfort area.

Best of luck to you (whether you continue pursuing programming or something else)!

PS: For what it's worth, just understanding the above problem you described is half the battle. The other half is getting comfortable implementing different algorithms. For this, you can seriously just copy paste someone's solution from stack exchange and execute the code to observe the effects of your tweaks. It's kind of like how most people need to practice solving the math problems before being able to grasp the concepts behind the solution.

alexanderdmitri··on The Bulk of Software Engineering in 2018 Is Just Plumbing
> Let’s go back to the plumbing example. Imagine you owned a small restaurant with one bathroom and 10 employees. You get a few hundred customers per week and maybe 10% of them use your bathroom. Obviously, you’ve got to have a working bathroom, but does it need to be anything fancier or more advanced than your home toilet? Do you need 10 stalls, motion-activated faucets, Dyson hand dryers, and marble counters? Probably not, unless you’re just trying to project some facade of success.

This gave me the impression he hasn't really thought through what he is saying.

> Just as a good small business owner should hire a humble plumber who knows the standard tools required for small bathrooms, and will pay him market rate, a good engineering manager should hire humble team players who use industry-standard tools to build reliable software, and pay them market rate.

This furthered my sense he hadn't thought through what he was saying.

> Part of the problem is that we over-engineer the software we work on. I am guilty of this as well.

I have no idea what he's getting at here.

> “Oh, so you’re building an app? Does it use AI? Blockchain? ? Take my money and do it!"

Unfortunately investors these days love to hear that. Devs who bring these skills are most definitely adding value, even if the author deems it largely superficial.

> Finally, don’t get comfortable. This isn’t a popular opinion among software engineers, but I believe that many in the field are overpaid relative to the difficulty of the work they do. Sometimes it’s because they are the only people who know some obscure corner of their field, sometimes it’s because their company’s gatekeepers are preventing full access to the talent market, and sometimes it’s because other engineers insisted they overbuild things such that junior devs will take a long time to understand it.

Should plumbers not get comfortable too? At this point I think the author forgot what he was writing about.

I'm not trying to be mean. I was just trying to add value to an analogy I had trouble distilling value from. I am speaking from frustration at seeing comparison here and there lately in developer communities.

To answer your question, I've never been asked in detail about complex algorithms for either plumbing or software work. Maybe I've been lucky or maybe I just exude an unnatural amount of competence (I'm guessing it's the former, I have resting dumb face).

Anyway, I don't think gauging someone's level of understanding is unheard of in the plumbing world. It probably depends if you're going for a junior or senior plumbing position.

Edit: some clarification

alexanderdmitri··on The Bulk of Software Engineering in 2018 Is Just Plumbing
Well to clarify my initial comment, the article uses the word "just" to qualify the comparison:

The Bulk of Software Engineering in 2018 is Just Plumbing

In my opinion it's a bit of a lazy analogy and the author doesn't show any real knowledge of what goes into plumbing or how this analogy provides any value.

Software development is full of analogies that are designed to aid understanding of a large array of abstract concepts. This is good! I just don't see why this "software development is just more and more like plumbing" analogy has become so popular in the dev community. I get what they're trying to say, but it says more about how they perceive/approach their work than it says about either field.

I feel like I could provide just as much value by taking all the points this author made, just replacing the word "plumbing" with "open-heart surgery", but everyone reading my article would be like what the heck? It's almost comical:

The Bulk of Software Engineering in 2018 is Just Open-Heart Surgery

Software is great because you tend to get out of it what you put in. The same is true about plumbing (please don't think about that too much ...). But that's not what these types of articles are getting at.

alexanderdmitri··on The Bulk of Software Engineering in 2018 Is Just Plumbing
you don't happen to be a project manager?
alexanderdmitri··on The Bulk of Software Engineering in 2018 Is Just Plumbing
When I was in college, one summer I worked up in Vermont putting together and maintaining trailer park homes. Plumbing was one of the best parts of the jobs in my opinion. I'd wager the person who wrote this article has never had to put a plumbing system together from scratch.

There is an art and a science to it. The guy I worked with put a lot of thought into the best way to design these things, often because he'd be the one who would then have to maintain them. He'd also get very upset when we go out to a trailer with a poor plumbing system. The main giveaway would be a mess of pipes going every which way without rhyme or reason. These systems were the ones that broke the most and were also the hardest to fix.

It might just be "plumbing" to someone that doesn't have to do it, but there is a whole lot that goes into it and you don't want a plumber who approaches his/her work with the catch phrase: "Well, it's just plumbing."

← PreviousPage 7 of 10Next →