|
Sorry. I got yesterday's title wrong and put 531.
|
|
|
|
|
whew! I thought it was me.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
|
Rx Nick: Lithium and/or less caffeine.
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
As the coffin was being lowered into the ground at the funeral of a Parking Officer's funeral, a voice inside screams "I'm not dead, let me out, let me out!"
The priest leans forward sucking air through his teeth and mutters "too bloody late mate, I've already done the paperwork".
PartsBin an Electronics Part Organizer - An updated version available!
JaxCoder.com
|
|
|
|
|
This will all be resolved when AI takes over the Bureaucracy.
Then it will be, "I'm sure you're not alive, because ChatGPT told me so. Now shut up, mate."
|
|
|
|
|
Real or ChatGPT?, you decide.
PartsBin an Electronics Part Organizer - An updated version available!
JaxCoder.com
|
|
|
|
|
An Aussie AI! Yikes.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Nahh, give it a beer and turn on the footy, you'll never have any trouble from it.
Ohh and don't forget half day Fridays.
// TODO: Insert something here Top ten reasons why I'm lazy
1.
|
|
|
|
|
LOL. What's a footy? Me and buddy once spent a some time in Barcelona with a couple of Australian computer guys at a conference. Turns out TX and Australians have very similar views on society and life. Similar climates, terrain, etc. Beer being the optimal start. Good time.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Quote: What's a footy?
Depends on where you are. Down south & west, footy is Aussie Rules[^]. New South Wales and Queensland it's Rugby League[^]. Sometimes it can be Rugby Union[^]. All all of them are played throughout Australia but to varying degrees of popularity.
If your mate says he is going to the "footy", you are expected to know which code he is talking about and what teams are playing.
// TODO: Insert something here Top ten reasons why I'm lazy
1.
|
|
|
|
|
Interesting. I don't think we have an equivalent term in US that I know of.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
I really can't stop with this book, Modern Software Engineering[^], because so much of it resonates with me after working in IT/Dev for over 30 years.
I came to Dev thru QA so I've always focused on "repeatable processes, errors & failing safely".
Quote: One of the driving forces behind [Margaret] Hamilton’s[^] approach was the focus on how things fail—the ways in which we get things wrong.
"There was a fascination on my part with errors, a never ending pass-time of mine was what made a particular error, or class of errors, happen and how to prevent it in the future."
This focus was grounded in a scientifically rational approach to problem-solving. The assumption was not that you could plan and get it right the first time, rather that you treated all ideas, solutions, and designs with skepticism until you ran out of ideas about how things could go wrong. Occasionally, reality is still going to surprise you, but this is engineering empiricism at work.
The other engineering principle that is embodied in Hamilton’s early work is the idea of “failing safely.” The assumption is that we can never code for every scenario, so how do we code in ways that allow our systems to cope with the unexpected and still make progress? Famously it was Hamilton’s unasked-for implementation of this idea that saved the Apollo 11 mission and allowed the Lunar Module Eagle to successfully land on the moon, despite the computer becoming overloaded during the descent.
As Neil Armstrong and Buzz Aldrin descended in the Lunar Excursion Module (LEM) toward the moon, there was an exchange between the astronauts and mission control. As the LEM neared the surface of the moon, the computer reported 1201 and 1202 alarms. The astronauts asked whether they should proceed or abort the mission.
NASA hesitated until one of the engineers shouted “Go!” because he understood what had happened to the software.
On Apollo 11, each time a 1201 or 1202 alarm appeared, the computer rebooted, restarted the important stuff, like steering the descent engine and running the DSKY to let the crew know what was going on, but did not restart all the erroneously-scheduled rendezvous radar jobs. The NASA guys in the MOCR knew—because MIT had extensively tested the restart capability—that the mission could go forward.4
This “fail safe” behavior was coded into the system, without any specific prediction of when or how it would be useful.
So Hamilton and her team introduced two key attributes of a more engineering-led style of thinking, with empirical learning and discovery and the habit of imagining how things could possibly go wrong.
I have a system composed of 5 services which process over 50,000 files (inbound & outbound) each day.
I had to incorporate fail safe into this system or we would go crazy trying to find "lost" / failed files each day.
|
|
|
|
|
tl;dr
I had to convince my colleagues that if my process "successfully reports failure" then it is successful.
It's a problem that comes from my downstream users wanting the status to be only a success or a failure, not a warning, or a "success with information".
|
|
|
|
|
I worked on large systems (tens of millions of lines of code) that were "five nines" and later "six nines", which translates to 5 minutes or 30 seconds of downtime per year. Probably 90% of our code dealt with failure scenarios.
|
|
|
|
|
Give us a hint as to what kind of "system" you're talking about...
|
|
|
|
|
|
Thanks!
I just knew it wasn't any system I've ever used...
|
|
|
|
|
Oh my nightmares just came back....
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Greg Utas wrote: "five nines" and later "six nines", which translates to 5 minutes or 30 seconds of downtime per year.
Amazing!!! and definitely drives a Dev to do as much Engineering as possible --- so you're note awakened in the middle of the night. I know about it.
|
|
|
|
|
Somewhat related: I have several times had to explain to youngsters why dotNet JIT code generation from MSIL is not a problem. Of course part of the issue is that lexical analysis etc. has been done earlier in the process, but the one, single factor is that the JIT compiler does not have to do error checking. It assumes error free input, and saves lots of time on that, compared to a complete from-source-code compiler that can not take error free input for given.
|
|
|
|
|
In my early days of programming I had the mindset that keeping the program running at all cost results in making the source code hard to read and maintain because of the all the extra safety checks. Then I’ve learned about all the safety features and warnings in a plane’s cockpit. I come to realize that getting notifications while still keeping things under control has a point
modified 22-Dec-22 14:58pm.
|
|
|
|
|
Since we receive so many files per day (and at times it's X per second -- & I know other apps stress things much further) my system has pushed network, file storage h/w & the windows file system to their limits (since other apps are running our medium-sized company's file system also).
Anyway, my point here is that there are times we are receiving files but the network cannot access the SSD or network node where the SSD is or whatever so I would get low-level errors back in my system when I'm just trying to save a file. Meanwhile, Infrastructure h/w & OS types are like, "You shouldn't ever get write errors. It's just not possible."
So I had to make sure my app doesn't crash and somehow handles the situation without losing everything.
It's a challenge & those kinds of errors almost always occur at 3am-4am local time.
I really don't want to wake up (or wake anyone else up) in the middle of the night.
My final point: People who may be wakened in the middle of the night are the closest to being/becoming engineers. Cuz it's on them.
|
|
|
|
|
Curious - how are these files arriving? ftp? email? etc...
rad,
Check with your employer but I would love to see an article on the engineering description of your system. I consulted with a firm for a few years that processed motor vehicle records for insurance companies. The amount of data and file processing was incredible.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Most (80%) files are transferred via AS2[^] (a relatively unknown protocol for transferring EDI) over HTTPS including a separate Sec. Cert to encrypt & sign the data.
20% are done via FTP (sFTP).
|
|
|
|