3,139 karma · joined November 28, 2020
A branch hitting a wire, happenes all the time here too. Lots of trees in this community. The video of a transformer you shared: that's not the transformer I'm talking about. That's at a transformer station.
I'm talking transformer on a street pole. The kind that hangs right across the street from me. This kind: https://www.youtube.com/shorts/y3E7avUvj6I
See it's the kind in your second video. It's a transformer. You just chose a narrower definition I suppose. It's a https://en.wikipedia.org/wiki/Distribution_transformer ;)
And yes, I know it's transformers and not just wires (but also wires do happen definitely) coz I do walk the neighborhood regularly and I can tell when a transformer is new vs. old up there. Ours is old. The ones a few streets over sometimes are very new and I see the Hydro trucks go by the next day(s) to make them new ;)
Again, like seventeen times knock on wood but the ones next to us have not actually blown up. But three streets over, seen the new ones. Literally last weekend, we had an ice storm come through and while no blowouts we could see or hear, the outage map showed plenty of failure.
On the other hand I've read about plenty of stories of the "cheap" UPSs you'd usually buy as a consumer (not to name any brands coz I've never had any) actually causing such issues in the first place. Without any actual surges from the grid.
That said, being totally not superstitious (for real, but someone's gonna "kill me" if they find out I wrote this and something dies from a surge...), now I guess I need to knock on wood like seventeen times ...
I do use surge protectors when we're on generator power temporarily.
Not because you use 2 spaces. You can argue 2 spaces and the pros and cons and how horizontal scrolling is an issue. One question back would be for example if that means you have huge run-on files where a single function does everything and that's why you need like 17 levels of indentation and that's why only using 2 spaces for each becomes important to you. And then you'd need to argue how that's better for visibility and what might actually be worse about it. If you can do all that, you're hired (if the rest of the interview goes well :P )
Who still uses 8? Isn't that like a COBOL thing?
That works as a flippant comment when we're joking about code indentation after working together for a while and we get along great. As the one and only answer in an interview, you're out. That's quite disrespectful and no it's not a COBOL thing, I've seen (and used) 8 spaces and argued for tabs or 4 much later than COBOL days. In fact I've never written a single line of COBOL.The amount of people that can't even navigate "their own" code is astonishing. Never mind explaining what it does or making changes.
What you're stating is your wishful thinking. Don't get me wrong. I'd also like what you say to be true. It very much is not. Quite the opposite, which is why salespeople "work".
The amount of AI bullshit Senior+ level developers just paste to me as truth is astonishing.
It's not really bad to ask someone to do a design session with them and "build their product with them from scratch" isn't inherently bad. That's actually pretty neat if you ask me.
What's bad is if there's only a single answer and that's whatever they actually built themselves, which might be a pile of thrown together startup poo that was never cleaned up. But you have the same problem with all sorts of "needless trivia" type questions.
And then do you really want to work at a company, where you can't have a proper "pros and cons of different approaches" type of discussion? If you got hired, you'd have those kinds of discussions with them on an ongoing basis. Bad on the company for letting that person do the hiring but they got what they deserved so to speak.
Just to make an analogy:
If they simply ding you for using 4 spaces coz they use 8, that's bad.
If they ask you why you use 4 spaces, they use 8, give them pros and cons and are there any other approaches and what are the pros and cons of those? That's a good interview so to speak. As an interviewer I would give bonus points if the candidate says something like "I used 4 spaces because I thought that's what you guys were probably using coz everyone's moved away from 8 spaces but secretly I love usings tabs and setting tabwidth to what I want but in reality it really really doesn't matter as long as it's consistent across the codebase as humans can get used to almost everything and this one isn't worth fighting over. Linters and formatters exist for a reason".
At this point, we think using AI and being able to use AI effectively is a skill in and of itself. When you're hired, you'll have access to AI. You'd be expected to be able to use said AI effectively.
So, we still give you a FizzBuzz. You can use AI. Even if we told you not to use AI, we know almost everyone would use AI. But you have to understand the FizzBuzz and be able to explain it to us and make changes to it "live". The amount of people that get weeded out just by having to explain the code they "coded themselves" is staggering (even pre-AI, even on a take home where you had no "OMG I suck at live coding" pressure).
Some mathematician can probably calculate that properly. Some mathematician probably first did calculate that out to prove it. I'm not entirely certain that a mathematician was the reason that we know what drop we need. A lot of things in "real life" were "empirically discovered" and used and done for centuries before a mathematician proved it.
Exceptions prove the rule, like when we calculate(d) things out for space travel before ever attempting it ;)
I would call this malicious in and of itself. That is insane.
They weren't fake long file names. They were actual long files names but of course the operating system that didn't support long files names didn't know what to do with the (very real) long file names. It only knew the 8.3 file name that was also set for compatibility.
Of course it sucked if you looked at or worked with DOS based apps. But it was one of those things that was always good about Microsoft Windows: Backwards compatibility.
They literally would build in (bug-) compatibility layers for specific games, where if they detected you were running a particular game, they'd not use the fixed or optimized code paths, but the old ones / emulate / patch things as the game expected them to be. And that was not because Windows was buggy and the games were good. It was the other way around. Games used trickery and internal knowledge that they shouldn't and if/when MS would block those paths or change internals, those games would stop working or crash.
One of the very first things I always do in any OS is to set the desktop background to solid color, usually black. I almost never ever will see it, coz there's always going to be a window on top of it, except upon startup for some brief period of time or if I accidentally minimize everything.
I work with full screen windows. Always (tiny number of exceptional cases maybe). I switch between windows with Alt+Tab when necessary. I also have a relatively small screen, both for work and personal stuff (14" for at least 10 years now).
You do you of course.
Both locations have cars.
Exceptions in both locations prove some rules.
Datadog RUM (browser-intake-datadoghq.com) - real-time user monitoring. every click, every page load - on a FedRAMP platform processing PII and biometrics.
Well duh, yes, DataDog does have those capabilities. Doesn't mean you use all of it, just coz you use RUM in general. We also use DataDog and RUM. But we also use filtering, including filtering out the known PII sources we have in our specific case (non-FedRAMP) and we don't have entire session recording enabled for example and we only sample.Yet no mention of that in the post. They just assume that they must be sending PII from a FedRAMP site to DataDog. No proof of what data actually does get sent.
VS. just checking your computer once and going to the correct place. Heck, set up alerts and get notified where to break in next.
Copyright © 1978-2025 Berkshire Hathaway Inc.The first time I heard this was actually just in person from a trainer at work. He told this over like 10 minutes or even more as an engaging story. The monkeys went "Uuuuh banana!" each time. Until they didn't ;) That's essentially how it stuck in my mind. Through the Uuuuh banana! exclamation.
Any and I mean any statistic someone throws at me I will try and dig in. And if I'm able to, I will usually find that something is very wrong somewhere. As in, the underlying data is usually just wrong, invalidating the whole thing or the data is reasonably sound but the person doing the analysis is making incorrect assumptions about parts of the data and then drawing incorrect conclusions.
Don't get me wrong. I've been using Claude Code and Codex CLI for quite some times now and it's amazing what they can sometimes do. (I skipped the "Copilot" phase where AI was just a "better" auto-complete)
Emphasis on sometimes. And you really have to double check everything they do. So much.
And literally this week, Claude turned "dumb". Things I'd expect it to be able to do before, result in stuff I really just throw out the window. I thought I maybe started prompting differently or something so I tried multiple times on the same task. But no, it just went nowhere this week. Codex worked fine on the same problem but it tried to cheat real bad on the test cases. Luckily I caught it but otherwise the tests would've been completely useless. Essentially "always green".
And this is on the "pay-per-token" work account, so I can't simply explain it away with "they're saving on compute for free / bulk pay".
We have a relatively good code base in this regard for example. To find things, I literally just hit the shortcut to open file/class by name, start typing the camel case for what I need and I'm usually there. Like, if I need to know what exactly we do for writing the potahto to the database, I type PoRep and I'll probably see the PotatoRepositoryImpl and I'm where I need to be. Of course not everything is roses. I might want to know what the service layer for the potahto does and start typing PotSer and I find nothing, because half the domain objects call the service layer a service and the other half calls it manager. That's OK. That's called "local consistency" and it happens as a code base grows and ages and different people with different opinions build in it and don't know enough about the magic of consistency and think they know better but can't or don't want to change the existing code base. As long as it doesn't get out of hand, it's not a big deal and you can slowly converge.
2. This is such a big one, thank you! Too many people don't believe in Chesterton's fence. They know so much better! Rewrite everything! And it is OK and good to question why the fence is there! Nothing is worse than "we do it this way because we've always done it that way!".
But also, if you never question the fence's existence, you're stuck forever. This is an anecdote I found very good in this regard.
A group of scientists places five monkeys in a room with a ladder and a banana on top. When one monkey tries to reach the banana, all are sprayed with cold water. Eventually, all of them stop attempting to climb. The scientists then place a new monkey who knows nothing of the water incident. When the new monkey sees the banana and tries to climb, the others prevent them from reaching it. Nobody gets sprayed any longer. The scientists slowly replace any of the original monkeys that were actually sprayed with water with new ones. Eventually there are no monkeys left that experienced the spraying. Yet no monkey ever even tries to get the banana any more.
So, do challenge Chesterston's fence's existence! Try to find one of the monkeys that actually got sprayed with water, so that you may understand why the fence was there. Or in other words ask the other monkeys why the eff you can't go for the banana. And if nobody can tell you other than "coz we've never done it like that", then try it. For all you know, the pesky scientist with the hose is long gone!FWIW, as I understand it, many probiotics aren't going to colonize on their own and "stick around" for a prolonged period of time when you stop taking them, even under good circumstances but you can't quote me on that so to speak. And in the past we would've gotten many of them through one way or another through our diet as well, just not through a probiotic but naturally.
I tried multiple probiotics. Both blends of multiple types as well as things like "Saccharomyces Boulardii"-only preparation. I don't recall all the exact ones I tried though.
A shit umbrella is great to have if the alternative is a shit funnel. But how are you gonna appreciate the shit umbrella if it's pitch black, blocks everything at all times?
You're not gonna appreciate it. In fact, you might think some of the things your manager does are the "bad things", when in fact, it's just the umbrella bowing under all the shitload.
If the umbrella is (somewhat) transparent, you, as the manager, gain some legitimacy through transparency. You're no longer the manager that "sits around on his ass all day doing nothing". You're actually doing something for the team and they can "see" it, even though it doesn't affect them.
There are probably ("good") reasons for this. But your own persistence, and today the help of AI, can potentially help you. The problem with it is the same problem as previously: "charlatans". Just that today the charlatan and the savior are both one and the same: The AI.
I do recognize that most people probably can't tell one from the other. In both cases ;)
You'll find this in my post history a few times now but essentially: I was lethargic all the time, got migraine type headaches "randomly" a lot. Having the feeling I'd need to puke. One time I had to stop driving as it just got so bad. I suddenly was no longer able to tolerate alcohol either.
I went to multiple doctors, was sent to specialists, who all told me that they could maaaaaybe do test XYX but essentially: It wasn't a thing, I was crazy.
Through a lot of online research I "figured out" (and that's an over-statement) that it was something about the gut microbiome. Something to do with histamine. I tried a bunch of things, like I suspected it might be DAO (Di-Amino-Oxidase) insufficiency. I tried a bunch of probiotics, both the "heals all your stuff" and "you need to take a single strain or it won't work" type stuff. Including "just take Actimel". Actimel gave me headaches! Turns out one of the (prominent) strains in there makes histamine. Guess what, Alcohol, especially some, has histamines and your "hangover" is also essentially histamines (made worse by the dehydration). And guess what else, some foods, especially some I love, contain or break down into histamines.
So I figured that somehow it's all about histamines and how my current gut microbiome does not deal well with excess histamines (through whichever source). None of the doctors I went to believed this to be a "thing" nor did they want to do anything about it. Then I found a pro-biotic that actually helped. If you really want to check what I am taking, check the history. I'm not a marketing machine. What I do believe is that one particular bacterium helped, because it's the one thing that wasn't in any of the other ones I took: Bacillus subtilis.
A soil based bacterium, which in the olden times, you'd have gotten from slightly not well enough cleaned cabbage or whatever vegetable du jour you were eating. Essentially: if your toddler stuffs his face with a handful of dirt, that's one thing they'd be getting and it's for the better! I'm saying this, because the rest of the formulation was essentially the same as the others I tried.
I took three pills per day, breakfast, lunch and dinner. I felt like shit for two weeks, even getting headaches again. I stuck with it. After about two weeks I started feeling better. I think that's when my gut microbiome got "turned around". I was no longer lethargic and I could eat blue cheese and lasagna three days in a row with two glasses of red wine and not get a headache any longer! Those are all foods that contain or make lots of histamine. I still take one per day and I have no more issues.
But you gotta get to this, somehow, through all of the bullshit people that try to sell you their "miracle cure" stuff. And it's just as hard as trying to suss out where the AI is bullshitting you.
There was exactly a single doctor in my life, who I would consider good in that regard. I had already figured the above one out by that time but I was doing keto and it got all of my blood markers, except for cholesterol into normal again. She literally "googled" with me about keto a few times, did a blood test to confirm that I was in ketosis and in general was just awesome about this. She was notoriously difficult to book and later than any doctor for schedules appointments, but she took her time and even that would not really ever have been enough to suss out the stuff that I figured out through research myself if you ask me. While doctors are the "half gods in white", I think there's just way too much stuff and way too little time for them. It's like: All the bugs at your place of work. Now imagine you had exactly one doctor across a multitude of companies. Of course they only figure out the "common" ones ...
var itemCount = items.Count;
depends on what `items` is, no? Is the `.Count` O(1)? Do you really need a variable or is it fine for the (JIT) compiler to take care of it? Is it O(n) and n is significant enough? Maybe you need a variable and spend time arguing about that name. Yes I chose this because almost everyone I know at least would argue you always have to create the variable (and then argue about the name) ;) fussy about test naming
I get fussiness about test naming. I believe that a good test "name" should tell you enough for you to be able to "double check" the test setup as well as the assertions against the test name with some sort of "reasonable" knowledge of the code/problem domain.As such both of those test names are really bad, because they can't tell anything at all about whether you're testing for the correct thing. How do I know that your assertions are actually asserting that it "works"?
Instead, I'd want a test named something like this (assuming that that's what this particular test is actually about - i.e. imagine this particular test in the context of a user defined search, where one of the options is that they can specify a project to search by and this particular test is about verifying that we check the permissions the user has for said project. There would be different tests for each of the relevant where clauses that specifying a project in the search params would entail and different tests again for each of the other user specifiable parameters that result in one or more where clauses to be generated):
shouldCheckProjectPermissionsWhenProjectIdInSearchParams()
Every single test case gives you the ability to specify both a good name and clear, concise test assertions. If I see anything but a bunch of assertions related to project permissions for the logged in user in this test, I will fight you tooth and nail on that test ;) I couldn't care less tho if you use camelCase or snake_case or whatever. I just had to choose something to post. I also couldn't care less if you had 17 different assertions in the test (we all know that "rule", right? I think the "test one thing" and "one assertion" is not about the actual number of "assert statements". People that think that, got the rule wrong. It's all about the "thing" the assertions test. If you have 17 assertions that are all relevant to testing the project permission in question then they're great and required to be there. If 1 is for asserting the project permissions and the other 16 are repeating all the other "generic assertions" we copy and pasted from previous tests, then they're not supposed to be there. I will reject such a PR every time.It's one thing to use AI like you might use a junior dev that does your bidding or rubber duck. It's a whole other ballgame, if you just copy and paste whatever it says as truth.
And regarding that it obviously doesn't apply to small fixes: Oh yes it does! So many times the AI has tried to "cheat" its way out of a situation it's not even funny any longer (compare with yesterday's post about Anthropic's original take home test in which they themselves warn you not to just use AI to solve this as it likes to try and cheat, like just enabling more than one core). It's done this enough times that sometimes I don't trust Claude with an answer I don't fully understand myself well enough yet and dismiss a correct assessment it made as "yet another piece of AI BS".
Either you're a hermit, that really can build that hermit cave in the mountains, far off and all the guns they're stockpiling won't really be used.
Or you're way too close to civilization coz you have an actual family and they'd never do / care about any of that "crazy stuff".
And if you're that close to civilization, it's all about who's got the larger stockpile and larger amount of armed thugs. Are you really gonna fight off 30 guys with AR-15s with a family of four, two of which are children to protect your stash of food and gas and generator(s)?
The only way your "prepping alone" is gonna help you is the hermit case, far far out of sight or if it's "not all that bad anyway".
FWIW, no "indexes fully rebuilt" upon "actual deletion" or anything like that. The regular tables were always just "current" tables. History was kept in archive tables that were always up-to-date via triggers. Essentially, current tables never suffered any performance issues and history was available whenever needed. If history access was needed for extensive querying, read replicas were able to provide this without any cost to the main database but if something required "up to the second" consistency, the historic tables were available on the main database of course with good performance (as you can tell from the timelines, this was pre-SSDs, so multi-path I/O over fibre was what they had at the time I worked with it with automatic hot-spare failover between database hosts - no clouds of any kind in sight). Replication was done through replicating the actual SQL queries modifying the data on each replica (multiple read replicas across the world) vs. replicating the data itself. Much speedier, so that the application itself was able to use read replicas around the globe, without requiring multi-master for consistency. Weekends used to "diff" in order to ensure there were no inconsistencies for whatever reason (as applying the modifying SQL queries to each replica does of course have the potential to have the data go out of sync - theoretically).
Gee, I'm old, lol!