A great solution I've used plenty of times is to query websites like google.com. I use it whenever my rtc on my Linux laptop gets reset (as long as it's still in my history. Otherwise I just set it manually).
One of my best rescue jobs involved doing this in 1999, yes that 1999. The client had shuttered their development department years before but was expecting to continue happily supporting and selling their simple enough alarm system products indefinitely. Testing revealed that come 2000 the alarms would just fire continually. Whoops. Fortunately there was one dev PC they'd decided to keep and not touch. Found the offending .c code and the corresponding offending machine code after some disassembly. A little bit of creative assembly language was required to squeeze an extra check in but really no big deal and the day was saved. I remember the client manager being ridiculously happy and grateful.
Whilst I disapprove of your use of the word "just", which I am strongly of the opinion should be banned in engineering circles...
I have done something similar, albeit in a different context, to fix the behaviour of a poorly performing SQL query embedded in a binary for which the source code was not easily available (as in: it turned out that the version in source control wasn't the version running in production and it would have been quite a lot of work to reverse engineer the production version and retrofit its changes back to the source - and, yes, this is as bad as you think it is).
When I initially suggesting monkey patching the binary there was all manner of screaming and objections from my colleagues but they were eventually forced to concede that it was the pragmatic and sensible thing to do.
> it turned out that the version in source control wasn't the version running in production and it would have been quite a lot of work to reverse engineer the production version
When I started at my work, a previous software dev with practices more like a mechanic than a software dev didn't use tags and all binaries deployed to production were always the default version 1.0.0.0 of the C# project templates in Visual Studio. To make matters worse, variants of the software were just copy pasted in CVS with their core code checked in as binaries and not their original C# projects. Fun times finding out what actually ran on production, and patching anything in it!
In re your first point, it's tricky because the advice is to call them back on the publicly available number. Problem is, I know somebody who fell for a SEO hijack and called a fake number. Not everybody knows how to spot a scam. The guy here did though, and he used my techniques (ask questions they'd know the answer to). He knew he was getting scammed. I think it was just an emotional override with weighing the risks. This one is very different than a call saying the IRS wants Google Play gift cards or whatever. Especially with the scammers having the woman actually show up. That's next level in all the wrong ways
You didn't say, and I wouldn't want to assume the situation, but calling the number on the back of a bank or credit card would work better here (in case it was a bank). This is also an argument in favour of paper bills, or logging in to a customer portal as a best-of-the-worst option
Correct. We all told the person after that they should've called the number from previous communications. But there's so much diligence that's needed in these stressful times and it only takes one mistake to get fooled. Wasn't nearly as bad as this though...
This is very true and why I'm not liking that Xilinx is trying to go the other way. It really gets in the way and doesn't work. I know what's connected to what and how, but their system device tree generator doesn't and it yells really loud about that. And I don't even need a device tree, just xparameters.h
"make -j" has OOMd me more than it's worth. If it's a big project I just put in how many threads I want. I do hear your point but that is a solved problem.
actually, global jobserver is another unsolved thing that seems unvelievable nobody has done yet. You have server. Server spins N containers (kubes, dockers, multiple user sessions ...), each of them is building something. There is no mechanism to run batch of tasks in parallel in a way that uses available cores. Some special cases (make/ninja/gcc) work, but no general mechanism I know of
Gotta love breaking EFI changes. I don't know how many times my work laptop would do that and I couldn't boot anymore, only to remember some stressful time later that Linux would only boot with some of the settings flipped from their defaults. At least I never had to reinstall anything.
Pro tip: ST actually has a free tool called CubeMX that you can use to avoid the USB mistake. I've used a few H7 parts in the past and it's never been something we missed. I'm actually surprised people were surprised. USB high speed has very different voltage levels than full and low speed, and they're not ones digital chips often use, so it's very common to need an external PHY. Just like Ethernet.
My advice is to never shoot the board before you have all your IO planned out in the tool. That's saved us a bunch of times.
Also, give the U5 series a look? Hyperram, internal HS phy, and parallel display port.
Also also I'm pretty sure pis can put out parallel display on the 40 pin header. Maybe not 24 bit, though.
My gut feeling is that I'd want it to use my IP address to get as much relevant data as possible. I don't want to click into my state, then city/county. As others pointed out the font is a bit small so clicking on states is pretty tricky.
reply