|
musk need to act faster ...people tweeting does not pay the bills
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
#Worldle #410 1/6 (100%)
🟩🟩🟩🟩🟩🎉
https://worldle.teuteuf.fr
easy
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
When I first started in development work, I had a little fear rattlin' around in the back of my mind. I was worried that efficiency might eventually cause me to run out of work. Sometimes a great big new vended product would launch - the one application to rule them all - and it would seem, for a time, that the queue was getting a bit short.
Not anymore.
I've argued until I'm blue in the face: for-the-love-of-code-use-the-free-version to no avail.
I've seen new mega-system put into place that killed four of my applications but spawned the need for a dozen more.
They'd rather pay me six figures to write something custom because, on the free version of some product in use by a million people, the description field on a tab nobody uses sits off to the side kind of funny.
You cannot talk yourself out of work in the coding biz.
|
|
|
|
|
MadGerbil wrote: When I first started in development work, I had a little fear rattlin' around in the back of my mind. I was worried that efficiency might eventually cause me to run out of work. Me too... and everytime I am with low moral I go to the Q&A
That makes all my fears disappear immediately
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Slightly off topic, but relevant...
Back when I worked for TRW Ballistic Missile Division, I was a Project Engineer for development of all support equipment to field and maintain a couple of ICBM systems. One assignment was a contract for $3.2 billion to develop equipment for a missile they had not yet designed! It wasn't TRW pushing this, it was the USAF, with their "parallel development" policy. I had to produce cost estimates, design and validation schedules, manpower estimates, specifications, contracts for associate contractors, all for something that didn't yet exist. Every status meeting with my management and the commanding general I asked the same thing, "Why are we doing this? It makes no sense!" I could not stop the irresistible force of bureaucratic momentum. Anyone who's ever worked in the support equipment field knows that the fielded product will change repeatedly during development, rendering all support equipment developed to date useless. It was a massive waste of money from the get go. I could compare it to trying to design a graphics card for a PC that hasn't been designed yet, and create drivers when the CPU hasn't been selected, nor a buss specified. Happily, when peace broke out a year later, all our contracts were cancelled and we all got laid off.
Sometimes no matter how hard you try to put yourself out of work, stupidity overrules you.
Will Rogers never met me.
|
|
|
|
|
Funny. About 25-30 years I was experimenting with anti-fuse FPGAs. It was the era just after the appearance of HDLs (Verilog, VHDL) with the first synthesis tools. In an effort to put another weapon in my consultant background, I was studying Verilog. To check my progress, I reverse-engineered a complex peripheral (UART) of an MCU of the time, Motorola's 6805. That code was asked of me by a couple of South American students (I don't really remember which countries). One day, sometime later, an American wrote to me and asked if the code was still available. I gladly sent it to him. After two days he tells me he has fixed a couple of minor problems in the code. I synthesized it with one of the early versions of Symplicity, and I knew it was fine. So I asked him what tool he was using. He told me he had taken it to a Mentor Graphics workstation. I was amazed, as I thought he was another student. At that time such a workstation, equipped with the right software, cost no less than $250,000. Finally, he qualified as an engineer in the "Missile and Electronics" department of McDonnell Douglas.
|
|
|
|
|
wow, these two comments alone of what people do and also use codeproject, wow, amazing.
ill be over here trying to map some sales order from XML to json with a few annoying business logic rules.
|
|
|
|
|
Not to hijack the thread further, but I believe this is quite common. I was working on a government contract where we were required to develop two separate sets of equipment to support two assembly processes for two different customers of the same contract. There were two teams running in parallel and there were not supposed to share information between the teams even though a lot of the team members worked for both teams. When election season was over, all the top brass changed which changed the scope of the project. We were not allowed to discuss which customer was which and only refer to each process by the project code name. The development times were decadal, so senior engineers would retire and come back several years later to pick up where the last activity was cancelled and mothballed by the government.
|
|
|
|
|
I believe you're right, in that this stuff happens all the time, always to the detriment of the taxpayer. I recall one I helped produce a bid package for - same product, two different military branches. Final day of proposal preparation, one branch sent us a new, 300 page spec change. We declined to play.
Will Rogers never met me.
|
|
|
|
|
As a Waterfall organization, we are massive followers of the parallel development strategy mentioned above.
We are forbidden use fo the words "Waiting for ...X". Replace X with any activity that you choose.
You are allowed to develop non-sense that will need to be reworked when the above mentioned X is finally delivered. Then we are not allowed to say the "Re-Work" word as that would hurt our Powers-that-be's fragile feelings. SO we use weasel words like "Proof of Concept", "Preparatory Analysis", "Planning & Resourcing".
All that tomfoolery has happily sunk the entire batch of funding we sourced recently and I guess we now need to find another fine angel to see things our way.
Are our jobs secure? Absolutely, the gravy train has a lot of other skin in the game stakeholders, so I guess we may run a decade or so more.
You simply cannot sabotage your own job, its a feedback loop that will repair itself. Unless you do something criminal and intentional or dumb like declaring your intentions. You are simply not going to succeed in any such attempt.
|
|
|
|
|
Nor can you code yourself out of it. No matter how much administration you give people over the data, there's always something new.
It's ok, that's progress.
|
|
|
|
|
Something about no one ever got fired buying from IBM.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Just talked to a customer today that we developed an application for 10 or so years ago. We didn't win the follow-on builds for political reasons. What I learned was that our system and the newer versions' learnings were scrapped in favor of "doing it better our way". Well, the first systems used FPGA/embedded devices. The current vendor is trying to replicate the embedded devices with the equivalent of a 386 processor running DOS. The application was precision load control running at 50kHz sample rate with a load fault detection time of less than 100us. Not very possible with non-realtime systems.
Customers will always want to have an application "their way" because Burger King said they could have it.
|
|
|
|
|
My SVG code was failing where an if() was testing true when there's no way it should have been. Within the 2nd line of the routine.
Attempts to put debug spew, or otherwise in any way change the binary size of that routine would cause my device to enter a boot loop after flashing the firmware.
Hooking up a JTAG debugger didn't help either. Weirdly it did not fail in the same place in the code, but blew up a few lines later and crashed the debugger.
4 slightly different codebases on 3 different platforms calling this code and 3 were failing. One was working. The one that was working really shouldn't have.
The other 3 were failing as above.
Today I found the problem.
My stack was too heavy. There was just too much data on it, so I moved everything to the heap and presto.
I fixed this completely blind.
To err is human. Fortune favors the monsters.
|
|
|
|
|
honey the codewitch wrote: There was just too much data on it, so I moved everything to the heap and presto.
And the Witch says that like it's no big deal.
honey the codewitch wrote: I fixed this completely blind.
Even a blind squirrel finds a nut sometimes?
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
honey the codewitch wrote: Today I did the impossible used my years of experience which allowed me to make some educated guesses about a problem, one of those guesses was accurate, and prompted a change that help fix the problem. For some reason I believe this is more probable.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
This is the difference between a novice developer and an experienced one.
|
|
|
|
|
You can't buy experience.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
Harumph. The Red Queen thinks of six impossible things before breakfast!
Seriously, Well done! Stack problems are among the worst problems to debug.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
I tried to track down a screenshot for you of VS debugger sitting inside an if() where it couldn't have possibly landed based on the watch pinned right beside it.
It bugged me enough I dug at it a long while before figuring out how it happened even after just changing the code to make it work "right".
These are "fun".
In my case, it was based on string comparison to ''. The problem ended up being an unprintable character in the string. Finally found it by pasting the "empty" value into notepad++ with "show all the things" turned on.
String.IsNullOrWhitespace() for the win... but I don't think that existed then so I can still claim awesomeness. lol.
|
|
|
|
|
Invisible source code. Lovely. It's one of the reasons I don't use Python.
To err is human. Fortune favors the monsters.
|
|
|
|
|
I try not to hate anything but Python is an exception
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
It destroys me the cool stable diffusion stuff is most all python.
I've poked and prodded and bent and banged around a bit. Playing with the guts would be way more fun if it wasn't written in nonsense I didn't have to divert focus to remember to stop hitting ; and pay attention to my CRLFs.
|
|
|
|
|
I learned of “zero width space” through a similar frustration.
It seems hackers like to use it to make fake urls that are convincing.
E.g,
microsoft.co[zero width space]m
|
|
|
|
|
Mine ended up just being a bit of line noise having ended up in a string that should've been empty.
For any given setup it was meant to be flexible, not necessarily caring which sensor ended up plugged in where or if any particular one was there at all aside some "core" functionality ones.
The rest was more a capture/log/present sort of deal with analytics to be done across what someone else decided mattered.
This bit of presentation, made sense to me to just iterate and if something was there, add it to the list of possibly presentable stuff. Since it was logged regardless, I could basically "replay" it to the presentation to figure out why something was going boom.
If you like the zero width space thing with URLs, you'll love this:
Bit flips in domain names - a new attack vector? - IT Security[^]
|
|
|
|