Winamp is a multimedia player launched in 1997, iconic for its flexibility and wide compatibility with audio formats. Originally developed by Nullsoft, it gained massive popularity with still millions of users. Its development slowed down, but now, its source code was opened to the community, allowing developers to improve and modernize the player to meet current user needs.
This is similar (her arrows were of varying length) to using a binary search algorithm hunting for where the code was broken using bisection: repeatedly halving your search space to quickly zoom into the problem.
Another important aspect is that small commits while fiddling to solve an issue can help you determine what small commit was actually solving the issue.
A while ago, I learned about 86Box an “IBM PCemulator for Windows, Linux and Mac based on PCem that specializes in running old operating systems and software that are designed for IBM PC compatibles.”
Until then, I mostly used DOSBox for emulation (which I had known after Windows 2000 dropped DOS support), but sometimes DOSBox doesn’t cut it as it emulates DOS (now mainly for gaming), not a full x86 based PC.
functionGetAlphaSubstr(const Str: string):string;
const
ALPHA_CHARS = ['a'..'z', 'A'..'Z'];
var
ActualLength: integer;
i: Integer;
begin
SetLength(result, length(Str));
ActualLength := 0;
for i := 1to length(Str) doif Str[i] in ALPHA_CHARS thenbegin
inc(ActualLength);
result[ActualLength] := Str[i];
end;
SetLength(Result, ActualLength);
end;
but this will only consider English letters as “alphabetical characters”. It will not even consider the extremely important Swedish letters Å, Ä, and Ö as “alphabetical characters”!
Slightly more sophisticated is
functionGetAlphaSubstr2(const Str: string):string;
var
ActualLength: integer;
i: Integer;
begin
SetLength(result, length(Str));
ActualLength := 0;
for i := 1to length(Str) doif Character.IsLetter(Str[i]) thenbegin
inc(ActualLength);
result[ActualLength] := Str[i];
end;
SetLength(Result, ActualLength);
end;
Back in 2011 I added a comment that for more than a decade would redirect to the most current documentation on the IsLetter method:
The above breaks the help integration from older Delphi products which is bad. It is also bad because it makes it harder to port legacy Delphi code to more modern Delphi versions.
Hopefully the above gives you a bit insight how the docwiki help system was designed and what is left of that design.
What we did was use the advanced restart options to launch the command prompt, skip the bitlocker key ask which then brought us to drive X and ran “bcdedit /set {default} safeboot minimal“which let us boot into safemode and delete the sys file causing the bsod.
Not scalable at all but let us get vital systems running while we try to solve the bootloop en masse
Don’t forget to renable normal booting afterwards by doing the same but running “bcdedit /deletevalue {default} safeboot“
A long time ago I asked about the manual for a Daryis ST-977 weather station, but got no response from the manufacturer or anyone else.
So about 9 months later the topic came back up and I did get some responses, most suggesting to use the SET button which I already tried earlier.
I retried and found out the button was both bouncing and needed to be held for a really long time (15+ seconds!) to even switch to “edit” mode.
With 4 AA batteries in the base it at least should survive a power outage and hopefully by now we have switched away from using daylight saving time in Europe so no time changes are needed in the future.
Later I found out the FCC was on the external sensor and could find back a manual of a similar model: