|
My takeaway is "don't write things in assembly"
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I wouldn't necessarily argue! In this particular product there's a lot of time sensitive code, and over the years it's grown, A LOT.
"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
|
|
|
|
|
Hopefully you bill by the hour.
|
|
|
|
|
Unfortunately no , at least in my day job.
Software Zen: delete this;
|
|
|
|
|
Wait, you said the code was identical between the new and old versions of the product.
So how is there a difference that caused it to look in the wrong place?
UNLESS, it was always looking in the wrong place, and changes to the surrounding code put the information into a different place that it was unable to find by accident?
OR, are you saying that the code that just turned the feature on didn't work, and the code of the feature itself was unchanged?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
The difference was in a class used throughout the product to access the registry. This component (a Windows service) used that class incorrectly in the old product but still managed to find the values at the appropriate key. When the service was migrated to the new product (which changes the registry key used), its incorrect usage of the registry class caused it to look at the incorrect registry key and not find the required values.
In both cases, the service and the registry class, they looked correct on inspection. It wasn't until I stepped through the service that I discovered it was assuming certain things about the registry class weren't true and never had been. FWIW, I didn't write either of them.
Software Zen: delete this;
|
|
|
|
|
|
Yup .
Software Zen: delete this;
|
|
|
|
|
Maybe I'm being cynical, but this just seems wrong to me.
I've been using the HTML editor library CKeditor since the early days, when it was still known as FCKeditor.
I've stuck with v4 because it does everything we need it to, and it's free so long as you don't use any "premium" add-ons. As far as I can see, v5 has some nice features, but is no longer free unless your entire project is open source. And with no pricing information available, with everything hidden behind a "request a quote" button, you can bet it's not cheap!
Yesterday, every editor instance started displaying a big red warning message, obscuring the content being edited:
Quote: This CKEditor 4.x.x version is not secure.
Consider upgrading to the latest one, 4.24.0-lts.
But is 4.24.0-lts free? No - you have to buy an "extended support model" for your installation.
Sure, there's a new config option[^] you can flip to turn off this check - for now. But that feature wasn't present when we integrated the editor; it has been retrospectively applied to all old versions, and defaulted to "yes, please obscure the editor with a sales pitch on every load".
I don't have a problem with you charging for a new version of your library. Nor with charging for "extended support" on an old version of your library. But actively sabotaging old free versions of your library to try to drive sales of your new version or the "extended support" version? No thank you.
We'll be sticking with the last free version of v4 with the version check disabled, at least until it either stops working or they start sabotaging it even more. Once that happens, we'll be looking to the competition for its replacement.
For those with long memories, this is reminiscent of the Red Gate / .NET Reflector débâcle, where they took a freeware tool and abused its auto-update feature to try to force everyone to upgrade to their new commercial version. Their argument was that continuing to use the free version was like "wanting today's gas at yesterday's prices". They really struggled to understand that it was more like Homer's elephant rides - expecting people to pay today's prices for the gas they already bought yesterday:
Homer: Um, Milhouse saw the elephant twice and rode him once, right?
Louann: Yes, but we paid you four dollars.
Homer: Well, that was under our old price structure. Under our new price structure, your bill comes to a total of $700.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Surely there has to be a suite of VS Code extensions you can use, like Live Server and other things.
There's nothing strictly WYSIWYG though in VS Code to my knowledge. It's all tags.
Oh, this is a web page component?
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: Oh, this is a web page component?
Yes.
CKEditor - Wikipedia[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
you're not being cynical. I suppose a company has to survive and the new model is annual renewal. This might work in 10-20 years, but there are just too many of us old farts out there. I've jettisoned multiple products because they went to this model. I'm a small - well maybe I was a small developer, arguing with retirement at the moment. If I buy version x.x, and it works fine, why the elephant did my purchase magically upgrade to an annual subscription? Total BS.
Chunk them.
Decades ago, I worked in the telco field. There were these things called switches - dedicated hardware that could take one incoming call and redirect it to another destination. At the time, we used Oracle. Good database, good support, etc. As time progressed, hardware advanced. We went from 256 connections to 512, 1024, etc. Then being able to do this over the network and jettison the switch. Technically, infinite connections. Oracle's position became predatory - your license and costs are based on your max connections, since they are infinite... They got dropped.
I suggest chunking them.
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.
|
|
|
|
|
Edit: Indivara suggested the DeepL service, which worked beautifully.
I have a PDF datasheet for a piece of equipment that I really need to understand.
The trouble is it's in Chinese.
I go to look at the HTML for this, and it's embedded in a frame in the page behind a captcha so I can't use google translate on it.
I got the PDF downloaded, tried to open it in chrome, but if there's an option to translate I'm not seeing it.
Anyone know the secret sauce to make this happen?
Thanks!
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
modified 3-Jul-24 6:56am.
|
|
|
|
|
Download Google translate to your phone. Use the camera function to capture the Mandarin.
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|
|
I'll try that after I try another suggestion. It's not my favorite choice because it seems a bit laborious to go through a datasheet that way, but it's an idea, so I appreciate it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
DeepL? It can translate PDFs
|
|
|
|
|
I'll google that. Thanks.
Edit: It worked beautifully, thank you again!
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Wordle 1,110 5/6
⬜🟨⬜⬜⬜
🟩⬜⬜⬜⬜
🟩🟩🟩⬜⬜
🟩🟩🟩⬜🟨
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,110 3/6*
⬜⬜⬜🟨⬜
🟨⬜⬜⬜🟨
🟩🟩🟩🟩🟩
These guesses are on fire lately.
|
|
|
|
|
Wordle 1,110 3/6*
⬜⬜⬜⬜⬜
🟩⬜⬜🟨⬜
🟩🟩🟩🟩🟩
Lucky on the first guess - nothing at all tells you quite a bit!
"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!
|
|
|
|
|
Wordle 1,110 4/6*
⬜⬜⬜🟨⬜
🟩⬜⬜⬜⬜
🟩⬜🟩🟩⬜
🟩🟩🟩🟩🟩
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
⬜⬜⬜⬜⬜
⬜🟨⬜⬜⬜
⬜🟨⬜⬜🟨
🟩🟩🟩🟩🟩
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
|
|
|
|
|
Wordle 1.110 4/6
⬛🟨⬛⬛⬛
⬛⬛⬛⬛⬛
🟩🟩🟩⬛⬛
🟩🟩🟩🟩🟩
Took me way, way too long to move from 3 to 4
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
|
|
|
|
|
Wordle 1,110 4/6
⬜🟨⬜⬜⬜
🟨⬜⬜⬜🟨
🟩🟩🟩⬜⬜
🟩🟩🟩🟩🟩
Within you lies the power for good - Use it!
|
|
|
|
|
Wordle 1,110 4/6
⬛⬛⬛⬛⬛
⬛⬛🟩⬛⬛
🟨⬛🟩⬛⬛
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|