HNHacker News
TopNewBestAskShowJobs

lbayes

388 karma · joined September 1, 2017

submissionscomments
lbayes··on I record myself on audio 24x7 and use an AI to process the information
Nice job!

Your tips got me to this one, where it more clearly spells out the "rewind" capability. I think the problem was that the tech was attached to a low-flying, piloted plane, not drones.

https://www.csoonline.com/article/2226742/record-and-rewind-...

Whew! It feels better to set my tinfoil hat down on the table next to me...

lbayes··on I record myself on audio 24x7 and use an AI to process the information
So glad someone else saw this, I'm not finding anything on it and I'm starting to question my own memory, as I'm quite sure I saw the original article about the Mexico program on this site.

FWIW, I also recall the tech being originally used to find people who planted IEDs in Afghanistan.

I'm kind of shocked about how all the articles I am finding seem to emphasize real-time police chases.

Now I'm feeling super suspicious.

lbayes··on I record myself on audio 24x7 and use an AI to process the information
There was an article some years ago (2 or 3?), that described a drone (or drones?) that flew 24/7 over Mexico city taking high resolution video of the entire city at all times.

Whenever there was a crime, the police could zoom into that location at the time of the crime and then run backwards to see where the vehicles came from. They then knocked on that door.

I'm disappointed that I can't seem to find it using Google anymore, maybe it was from a movie or TV show?! That would be weird though, because it seems technically quite reasonable to achieve and hard to believe governments wouldn't jump on it.

lbayes··on I wish my web server were in the corner of my room
I bought a $300, quite old, but many-core workstation from eBay a few years ago.

Plugged it in, installed a Linux and gave it a static IP.

We're building out our bootstrapped startup on that box for $0 per month.

It's the fastest CI service I've seen in years, admin takes a couple hours every couple months, and the minimal webapp that no one visits yet is crazy fast.

He's named Blue.

We love you Blue!

The good: No monthly fees, extremely fast compared to small/medium/large instances, full control and we retain local access when the internet goes down.

The bad: I live in an (un)developing country (FL) without reliable power or internet, so I had to buy a UPS and still get occasional external outages.

Everything on it (that I care about) is backed up in Git or S3.

It's been a real pleasure to spend a few hours setting up my own thing and not having to chase a bunch of service deprecations, API changes and general bullshit that still seems to plague cloud environments.

Obviously, I wouldn't scale up anything huge with this "stack," but I have every intention of running it until we absolutely must migrate and I suspect we'll go a lot further than expected with Old Blue.

lbayes··on Linux on the laptop works so damn well that it’s boring
Yeah, even a broken clock is right twice a day. OP got lucky with some crusty laptop and drew a wildly expansive and inaccurate conclusion.

Maybe true for old machines, but definitely not true for newish models.

Not even for machines being sold with Linux preinstalled.

My Linux Dell XPS from ~5 years ago required me to buy and install a different radio because the Broadcom one didn't actually work with latest Ubuntu (at that time).

The next XPS I got mostly worked, but had lots of audio issues.

The Inspiron was horrible. Touchscreen fails, audio fails, radio fails, sleep fails.

My custom Ryzen 3900X workstation has ongoing issues with sound and sleep (yes, latest kernel, latest drivers, latest LTS OS).

My most recent laptop purchase from earlier this year either had no wifi in Ubuntu or no Bluetooth in Fedora. I was able to force Fedora to work after a week of messing with it. Still have intermittent sleep and audio issues.

FWIW, I've been running Linux in various roles since the late 90's, so not a noob and definitely not complaining.

It's free, it's open source, package management is awesome. The command line is irreplaceable.

I use Linux on the daily and deeply appreciate all the incredibly hard and thankless work that so many people put into it.

That said, Linux still does not have anything close to the level of polish that MacOS delivers and it definitely doesn't get out of the way to the extent that it can be called boring.

YMMV

lbayes··on Zig, the Small Language
I can't speak for others, but I care about binary size as a user because it tends to be a reliable signal of overall software quality (though there are definitely exceptions).

I also find it incredibly frustrating when an application I rarely use fails to launch because it wants to force me to download, process and install massive updates for features that I don't even want.

As an engineer, I care about binary size because gigantic binaries tend to require far more time to compile, move around and work with. Gigantic binaries tend to be a reliable signal of slow, toxic, internal processes that chew up positive energy and produce cynicism and frustration in it's place.

It's not about the disk space per se, it's about treating waste as if it's a virtue.

lbayes··on Ask HN: Important nonobvious startup/business lessons you've learned?
I apologize if this sounds harsh, but I can't see the /s anywhere and I want to clarify for others.

This post outlines how to destroy a new (or any) business.

There will never be anything approaching 100% clarity between different people talking about a thing that doesn't yet exist.

We all have to see it and feel it in order to truly understand it.

This experience almost always leads to creating new, better ideas, discarding old ideas and digging deeper on others.

That's all before we even leave the building and learn from customers.

I shudder to imagine trying to get a start up off the ground and needing to wait 3-6 months for the first commits only to then have to argue about change orders with my eng team.

lbayes··on A first for Canada: New type of nuclear plant opening by 2028
Not weighing in on pros or cons of nuclear, I'm genuinely not informed enough on the subject.

Just came here to point out what appears to be a significant error in the linked text.

"...when an earthquake-triggered tsunami crashed into the nuclear plant and caused three nuclear meltdowns that leaked radioactive materials for several days."

It is my understanding that radioactive materials were leaking and being released into the oceans far longer than, "several days."

According to Wikipedia (https://en.wikipedia.org/wiki/Fukushima_nuclear_disaster), "As of October 2012, radioactivity was still leaking into the ocean."

This article from World Nuclear (https://world-nuclear.org/information-library/safety-and-sec...) describes unintentional leaks and planned discharges continuing for years.

lbayes··on Qb – Zero-configuration build system to quickly build C/C++ projects
This exactly matches my own research from a few years ago.

I also landed on Premake, which did work well enough for me at the time and remains the leading contender.

That said, I've since been keeping a keen eye on the Ziglang project as they seem to be the most likely (only?!) real candidate for a minimal, cross target build environment.

lbayes··on Software Mise En Place
This is how (and at least partly, why) I often work in a TDD style.

The test environment is the isolated place where I can quickly stand up individual parts and then later, assemble them into larger chunks of value.

lbayes··on Against Pair Programming
Also, the learning process isn't one-way with junior & senior.

I've been writing software since the mid nineties, and love pairing with junior devs.

I almost always learn something new too.

lbayes··on Containerize Go and SQLite with Docker
The claim that horizontal scaling is free with Docker is simply not accurate.

Maybe it will be some day, but these orchestration and deployment tools built on Docker have enormous hidden costs.

IME, Docker takes an enormous amount of focus away from the customer problem and moves it to the how to get this mess working problem.

Now may be the right time in a given business to make that shift in focus, but to claim that it will be "free" is just misleading (IME).

lbayes··on Containerize Go and SQLite with Docker
Okay, I'll bite.

> It's also a deployment format that provides horizontal scaling for free.

Um. Docker does not provide horizontal scaling at all, for that you need orchestration. And those tools are anything but free if your time has any value.

lbayes··on Containerize Go and SQLite with Docker
It's hard to believe anyone is still promoting Docker.

Has anyone actually used it?

If you haven't jumped on the bandwagon yet, don't do it. It's a sucker's game.

I got sucked into the Docker hype some years ago and the demos worked well enough in isolation.

I pushed it on a small team that didn't need it. One of the biggest regrets of my career.

Docker may be useful if an application has enormous reach and needs Google scale, but very few apps do.

1) It is incredibly slow to build

2) It is slow to run

3) It is an unbelievable resource hog

4) It has an entirely new set of problems (file system, networking, etc.) that must be understood to get it working

5) Hard deploy time dependency on Docker's web app?!

6) If you do not believe me on the complexity, just observe how docker arguments always seem to turn into k8s (or other orchestration) arguments. It is hard to reason about, hard to deploy, hard to coordinate.

K8s is a total disaster for a small team working on a small project.

We lost many months by choosing these tools for a startup that didn't (yet) need them, and the ongoing, neverending pile of problems and distractions they generated was shocking.

I still feel bad about it. The company could have run on a couple $400 machines under a desk for years, but instead spent tens of thousands on AWS services it didn't need.

Of course, YMMV

lbayes··on Service locator is not an anti-pattern
FWIW - I've also had bad experiences with specific implementations of SL (both in the small and large). I'm especially frustrated by the magical creation patterns of some popular DI libraries.

I think there are difficult trade offs to balance and a huge area of focus for me, is making tests easy to write, fast to run and extremely reliable.

I find that creating and managing global state often leads to less reliable and more frustrating tests, these can cause test discipline to collapse, so I'm willing to deal with some pain to avoid those outcomes.

I can understand how other folks might feel differently and may find deep offense at some boilerplate that I think is a little smelly.

The same folks might be willing to put up with more pain in the test environment, or may not place as much value on tests as I do. That's okay too.

lbayes··on Game Studios Are Turning Play into Work
Thanks! I'll take a look
lbayes··on Service locator is not an anti-pattern
Got it.

One problem I've run into, is that these things tend to proliferate into a dozen or so global things that people need to remember to deal with (clean up and/or configure) in the test environment.

Since my brain doesn't do memory well, I start getting intermittent test failures from interacting tests that can be painful to debug.

Another problem is that they tend to make the test environment really slow because the fix is often to add a pre or post handler to every single test globally.

Also, the feature might be designed for environment A, but later need to run in environment B. Global state patterns tend to blow up when that happens.

The DB::SetupMock() thing tends to work okay for direct consumers, it's bad when the transitive dependencies need to start doing that for 6-10 different services.

FWIW, I commented elsewhere with an alternative structure that's been working well for me with a different set of trade-offs.

Also FWIW, I've been fighting against global state for so many years, it makes me really sad to see it getting promoted again.

Best of intentions here, not trying to be critical, just trying to share some hardwon experience.

lbayes··on Service locator is not an anti-pattern
I read the anti SL article and maybe I build things a little differently, but I tend to build applications that interact with services differently depending on what layer they belong to.

1) Application entry: create context and provide to top tier participants. Creates the service locator and provides to children.

2) top tier participants: Command/Request routing and configuration. Receives service locator, provides concrete services to children

3) features: plain old functions (or classes) that recieve dependencies when called or constructed.

No frameworks necessary.

Start up is fast.

Things mostly get built/called only when needed.

My service locator generally just looks like a bag of getters. Some of which operate like a Singleton, others return a new instance every time.

Testing is easy and obvious.

There aren't a ton of places where args are being painfully or magically forwarded.

I've had this pattern work for UIs, servers and embedded projects.

It's super fast, ergonomic and light weight, but most importantly, testable.

Maybe all the fuss is about C#/Java magic entity registration and creation frameworks?

If that's the case, then maybe I agree?

IMO those feel like a promising experiment that didn't work out great in practice.

I've built systems (even recently) where too much stuff found it's way into the SL, and can agree that's not good.

Nowadays, I just put the things in there that one would be tempted to make a Stinkleton out of. 1's or at worst, 10's not 100's of things.

lbayes··on Service locator is not an anti-pattern
I've probably misunderstood something, but re: DB::get()

Is the proposal that we use global singletons for the things that would normally be found in a service locator?

How does one overcome the issues with the Singleton pattern (e.g., how to unit test various features that manipulate global state)?

lbayes··on Game Studios Are Turning Play into Work
Just wanted to give a hearty thumbs up to Inside.

I haven't found myself feeling much motivation for games over the past 5 or so years. I'm getting old. Everything feels so predictable and boring (to me).

But Inside.

That game touched something new and nostalgic and gorgeous. I've played through it a half dozen times now just to feel it all again.

Highly recommend.

lbayes··on Fixing a Tiny Corner of the Supply Chain
I've had a couple of opportunities to interact with Digikey support and can confirm.

They are incredibly, almost unbelievably helpful.

They've more than earned my business as my primary distributor.

lbayes··on Facebook reverses Kyle Rittenhouse policy
As a veteran of the US Marine Corps, I want to clarify this a bit for people.

Yes, caliber does not make an Assault Rifle.

No, it's not a, "made up term."

Shotguns, hunting rifles and pistols are optimized for specific activities and generally become less effective as the circumstances diverge from that optimized range or shooting position.

This makes them less ideal for killing humans everywhere we are found.

Assault rifles are optimized for human to human combat.

They are optimized to deliver a large number effective rounds down range, from a variety of positions at a variety of distances.

These tools are far more effective and efficient at killing human beings over an extended duration firefight in arbitrary circumstances.

It's the shape, flexibility and effectiveness of the platform that we're referring to when we say, "Assault Rifle."

Please don't muddy the waters here simply because the US legal system isn't able to overcome NRA bullshit.

lbayes··on A botched circumcision and its aftermath
I tried to reply to a comment alleging antisemitism, but the original was flagged and disappeared.

I'd like to reassure folks who might feel that criticizing circumcision is a form of antisemitism.

I recognize that antisemitism is real and terrible and more common than it should be.

That said, my genitals were brutally mutilated when I was an infant and I find it shocking that any person would do this to a baby.

My family is not Jewish and I truly love the Jewish people I know.

Some in my family are born again Christians. I dislike some of their beliefs, yet still love them very much.

Is it so impossible to despise an archaic and despicable practice while still loving the people who engage in it?

lbayes··on Some new BMWs won't have touchscreens thanks to chip shortage
I have a 2015 Audi A3. I didn't want the brand at all, but loved (and still love) the dial control.

I've been dreading getting a new car specifically because I do not want the touch screen.

Fortunately, I still have a few years left of good life in this machine, otherwise I'd jump on one of those immediately!

I still wish something like this UI would have caught on.

https://youtu.be/XVbuk3jizGM

lbayes··on They don't even know the fundamentals
To be clear, I'm not insinuating that anyone needs to type 120WPM. I'm talking about single-finger, head down, hunting for the location of a key.

People with mild to moderate dyslexia (in my experience) and people with injuries are generally able to demonstrate competence with the keyboard and computer operation.

I have dealt with moderate to severe RSI, and I have worked with a relatively large number of people dealing with RSI over the years and in my experience injuries don't mask operational competence. These behaviors look different from, "where was that key again?"

Dyslexia often surfaces in a variety of early communications and over the years, working with some especially brilliant people challenged with dyslexia, I've learned to assume (early on) that typos are not a signal for carelessness, but potential indicators of dyslexia.

I'm aware dyslexia is a spectrum, and at the extreme it can be fully debilitating for some activities. I haven't had much exposure to that cohort, but I would be happy to make reasonable accommodations and certainly would not consider it disqualifying.

Thanks for bringing this up, I think it's helpful to be able to clarify these details!

lbayes··on They don't even know the fundamentals
Thanks for taking the time to respond.

I agree that some (maybe lots of?) people feel differently about this and of course, that's okay too.

To be clear, I'm not saying anyone needs to type 120 WPM, I'm talking about a single finger on each hand, eyes down, hunting for the next key to press.

Over the 20+ years of my career, I've been exposed to hundreds, maybe thousands of different folks doing different kinds of computer work.

And yes, I agree that there are likely people who can kind of get the job done without being able to operate a keyboard efficiently. I also agree, that it helps a lot if they're nice to work with.

But I have not yet met a single hacker who has demonstrable and deep knowledge of computers and the software that runs them who cannot type.

I'm sure they must exist, and it wouldn't surprise me if Donald Knuth himself dropped into this thread to let me know that he hunts and pecks!

I'm just saying, that I have not personally met or observed someone operating at the highest levels of this field who cannot type with a reasonable speed.

[update] Almost forgot about Gatekeeping, Yes!

Gatekeeping is an essential part of interviewing. In fact, that's the entire point. We interview people for roles with the specific intent of bringing on people who we believe (or at least hope) have higher competence and closing the gate to people who have lower competence.

It's incredibly difficult work and it's not perfect and we have a lot of work to do, to make it better and more inclusive, but expecting competence in basic, role-relevant skills is unambiguously reasonable IMO.

lbayes··on They don't even know the fundamentals
Of course the particular technique is irrelevant (to me at least).

I most enjoy working with people who care deeply about their work, and in my experience, those people are often (not always), people who also care about being efficient. In fact, if you're writing code at 120 wpm, maybe you've found a technique worth sharing and teaching! :-)

lbayes··on They don't even know the fundamentals
There's also an argument here about having (and signalling) respect for one's peers, craft and tools.

The keyboard is a tool.

To me, it feels disrespectful for a person to expect these high wages when they don't even make the moderate effort involved in learning to use this tool efficiently.

In my experience, this usually signals that a person isn't actually interested in continuously improving, feels overly entitled and they tend to be a nightmare to work with.

Most places I've worked require substantial pair programming or at least working through problems together on a regular basis.

If you can't type, you're going to waste a lot of people's time and they may be too polite to say anything, but it's frustrating for everyone around you.

A carpenter who claims to be experienced, but can't work a hammer efficiently would be ridiculed on a job site.

I'm not proposing we ridicule anyone, but being unwilling to type and claiming to be competent at a job that requires an enormous amount of typing does have a ridiculous look (to me).

Of course, I have worked with people working through a variety of disabilities, including dyslexia that make touch typing basically impossible. I'm not talking about them here.

I'm talking about people who just refuse to make the effort for whatever reason. It's a bad look.

PSA for newer players: Regardless of how you may feel about this subject, failing to demonstrate at least moderate typing skill in an interview is often a hard pass unless there's some explanation requiring an ADA accomodation.

lbayes··on Eliminating gifted programs won’t make education fair
It's an interesting set of questions and as you point out, it's hard for me to narrow down to a single thing. I'm certain my social circle saved me, but my closest friends in high school were mostly from similar, or less fortunate financial circumstances.

For me, I don't think it was the curriculum or the socioeconomic background of the kids so much as the little sliver of hope it gave me/us.

It was the remote possibility that I just might be able to build a life that did not look like the adult lives I could see. A life that wouldn't be a decades long, living nightmare of hypocrisy, low-wage slavery, overwhelming debt and silent desperation, which is what I could see in most adults I had ever met, even (maybe especially?) the "wealthy" ones.

I'm not sure regular public schools generally offer that kind of possibility or outlet to basically hopeless, misguided (but creative) kids like I was. My previous schools only offered extra discipline in the form of regular beatings [1] which mainly just triggered and reinforced my lifelong distrust of authority figures.

  [1]: I (wrongly) assumed corporal punishment had long ago been outlawed or at least effectively banned in Florida's public schools decades ago, but alas our government officials will never permit anyone to besmirch our earned reputation as an ignorant backwater. Corporal punishment is apparently still permitted to this day:
https://www.the74million.org/article/kids-keep-getting-hit-a...
lbayes··on Willingness to look stupid
This is my not-so-secret weapon and I highly recommend it.

I spent some years at a FAANG, some of them in management, and it was shocking how many meetings could be unlocked by one person willing to risk sounding stupid.

I was also shocked by how many people would approach me after to say they were wondering the same things.

The flip side to this, was that I would also occasionally step on someone's favorite baby, which they usually didn't like much.

← PreviousPage 2 of 3Next →