|
Yep, 17 years ago I was already installing a honey pot/logger for internal users trying to grab stuff they shouldn't from a web app serving technical drawings.
Try having a Chinese subsidiary, you'll soon find out about internal data breaches!
So old that I did my first coding in octal via switches on a DEC PDP 8
|
|
|
|
|
My manager showed me the logging that this product does -- besides the logs of exceptions that occur on the front-end, it even records, masking all text fields, the web app! I practically fell out of my chair when I saw that. IMHO, a definite must-have for buggy production web-apps. Which is an interesting point -- aren't production apps supposed to be at least "exception free"?
But all too often I open the console window on a website and see all sorts of exceptions flying about.
Anyways, if you don't know about sentry.io, it's worth a look.
[edit]Even CP, which I saw after posting this message.
Uncaught TypeError: Cannot read properties of null (reading 'classList')<br />
at onResize (VM224:32:38)<br />
at HTMLDocument.setupMobileNav (VM224:59:3) Marc
|
|
|
|
|
Is it just error logging or code analysis like SonarQube (which is cool IMO)?
Jeremy Falcon
|
|
|
|
|
I didn't see code analysis but the logging and "replay" features which I did see were amazing, we've just started looking at all the things this does. I'll look at SonarQube too -- thank you!
|
|
|
|
|
Marc Clifton wrote: I didn't see code analysis but the logging and "replay" features which I did see were amazing Noice
Marc Clifton wrote: I'll look at SonarQube too -- thank you! You're welcome. It does code analysis only, but it does it very well.
Jeremy Falcon
|
|
|
|
|
Just checked it out, looks cool.... but I should say, stuff like performance monitoring and being able to replay state is something any serious web developer should already know how to do without a third party tool. Granted, the vast, vast majority of web "devs" couldn't tell you what state management even is, so I totally see the need for a tool that holds your hand. But, that won't stop me from taking a moment to gripe about wishing devs took their job more seriously. lol
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: any serious web developer should already know how to do without a third party tool. I totally agree! But reality...Imagine taking a huge web app where nobody considered state...
|
|
|
|
|
|
In my student days, many moons ago, the U had a huge Univac 1110 mainframe, running both research projects and jobs for customers in the industry. Around 1978-80, not every establishment could afford their own mainframe!
Every now and then the computing center published a newsletter. One of the stories reported that they had counted the number of divisions by zero, and the result was shocking: Several million every day! (And remember: Even a mainframe of 1976 vintage was magnitudes slower than today's average PC.)
The next issue of the newsletter carried a letter from one of the industry users, explaining that in the matrix methods they were using, elements were frequently 0. The algorithm did not consider the 0-positions, so whatever showed up in those positions later was ignored. However, when they performed general matrix operations, the zero-elements turned up as divisors - but the result was not carried on anyway. Adapting the general matrix library to test for zero and give that case special handling, would have slowed significantly down. Replacing the zeros in the matrix by e.g. 1 (division by 1 does not change a value) was impossible, as later ignoring the zero positions depended on the value being zero.
So, generating a million or two divisions by zero was, by far, the fastest way to run their job.
Even in modern times, I have programmed in ways that says: Try to do operation X, but don't worry if it fails. In other words: ignore exceptions, simply terminate the operation. Some times, that is an appropriate (non)handling of it. (I won't be surprised if someone make a protesting scream )
In the old U1110 days, the CPUs had far less prefetch, pipelining, speculative execution, ... So the cost of interrupting the linear instruction flow was far less costly on today's CPUs, even if you decided to handle the exception. I don't know for sure, but suspect that on modern CPUs, hardware detected exceptions have a cost even if there is no handling for it. (For software exceptions, there certainly is!) So maybe the 'just ignore a few million divisions by zero' would have a higher (relative) cost today than 45 years ago.
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
Going to bed with nasty race conditions, and waking up with an easy solution.
Gonna be a good day.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
|
Paul6124 wrote: All the best thinking is done while asleep… Or while running. I run at lunch time three days a week. Many times I've had an intractable problem, gone out and [very slowly] did my miles, and come back with a solution in my head. All of this without overtly thinking about it.
Software Zen: delete this;
|
|
|
|
|
One night at around 9.30 pm, was composing a poem in my language Kannada. Struggled to find two words to fit into the meter (prosody) of the poem, and just went to sleep 😴. At around 1.00 am, these words just appeared, maybe in a dream. Got up and wrote them down. These were perhaps the best words for that poem.
|
|
|
|
|
Taking up farming is not that easy, though.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
If only all race conditions were as easy to resolve.
|
|
|
|
|
Oh I was sweating it. What I first thought would take me an hour took me 4. After 4 i needed a rewrite. That's when I called it a night.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: After 4 i needed a rewrite When debugging and I've munged the code so far I need a rewrite, it's time to step back, breathe, and go back to the original problem.
Software Zen: delete this;
|
|
|
|
|
honey the codewitch wrote: Going to bed with nasty race conditions, and waking up with an easy solution. My impression is that most girls do not enjoy going to bed with anyone with nasty race conditions. Being an "easy solution" is nothing to strive for.
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
Another example is going to bed with a performance problem on a gigantic persistent hash table and waking up with a solution that doesn't require a multi-hour table rebuild, because the hashing doesn't change.
|
|
|
|
|
|
Let's just hope it won't be another Windows 95 launch
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
Let's hope they do not use Windows in the control pc of their new nuclear plant...
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.
|
|
|
|
|
Automatic unskippable updates are the best feature for a nuclear power plant management solution. It makes for exciting shifts at work.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
The BSOD would be even more exciting.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
BSOND: Blue Screen Of Nuclear Death
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|