Sometimes the "any clickable area => make it a Windows control/button" works and sometimes it doesn't.
I talked with the programmer for the 16-bit Windows calculator app, calc.exe.
Any naive programmer with a first-reading of Charles Petzold's Programming Windows book would assume each button in the calculator app was an actual Windows button control.
Nope.
All those calculator buttons, back when Windows first shipped, used up too many resources.
The problem with the Mac UI is that the app's menubar can only be accessed by the mouse (can't remember what accessibility-enabled mode would allow).
Under Windows, one can access the app's menubar by pressing the ALT key to move focus up to the menubar and use the cursor keys to navigate along the menubar. If you know the letter associated with the top-level menu (shown as underlined), then ALT-[letter] would access that top-level menu (typically ALT-F would get you to the File menu). So the Windows user wouldn't have to move the mouse at all, Fitt's Law to the max (or is it min? whatever, it's instant access).
For the ultrawide monitors these days (width >= 4Kpx), if you have an app window maximized (or even spanning more than half the screen), accessing the menu via mouse is just terrible ergonomics on any major OS.
Since OS X 10.3 (2003) Control+F2 moves focus to the Apple menu. The arrow keys can then select any menu item which is selected with Return or canceled with Escape. Command+? will bring you to a search box in the Help menu. Not only that, any menu item in any app can be bound to any keyboard shortcut of the user's choosing not just the defaults provided by the system or application.
I'd call this logging calls to your business logic layer. Then running the logged calls on your business logic layer in a development environment to debug the problem.
Your business logic layer should be separate from your UI/presentation layer.
Makes it easy to test them separately if they're not tightly coupled.
Also if you wanna to reuse your business logic layer in a different UI environment, it's easier to switch to another UI if they're not tightly coupled.
The RichEdit control handles parsing RTF (I believe there was a CVE-level bug about RTF-handling in RichEdit - ahh - here we go https://www.kb.cert.org/vuls/id/368132/), the programmer/app is insulated from grokking RTF.
Adding realtime conversion of text-only Markdown to the processed-richtext Markdown is slightly more difficult than an instant message-type edit control converting a text :) to a unicode emoji character representing :)
You'd have some bookkeeping to remember which lines are markdown and which are plain text. But it's not rocket science.
Imagine Win11-Notepad as WordPad with all the UI for rich text formatting disabled.
Depends on what variant of Hungarian you're talking about.
There's Systems Hungarian as used in the Windows header files or Apps Hungarian as used in the Apps division at Microsoft. For Apps Hungarian, see the following URL for a reference - https://idleloop.com/hungarian/
For Apps Hungarian, the variable incorporates the type as well as the intent of the variable - in the Apps Hungarian link from above, these are called qualifiers.
so for the grandparent example, rewritten in C, would be something like:
For Apps Hungarian, one would know that the ibHdrContent and cb fields are the same type 'b'. ib represents an index/offset in bytes - HdrContent is just descriptive, while cb is a count of bytes. The pfnParent field is a pointer to a fn-type with name Parent.
One wouldn't mix an ib with a pfn since the base types don't match (b != fn). But you could mix ibHdrContent and cb since the base types match and presumably in this small struct, they refer to index/offset and count for the FileNode. You'd have only one cb for the FileNode but possibly one or more ibXXXX-related fields if you needed to keep track of that many indices/offsets.
Each component of the headphone is rated either 'red', 'yellow', or 'green'.
A green rating means there is between zero and 0.8 mg/kg of harmful bisphenols.
A yellow rating means there is between 0.8 and 10 mg/kg.
A red rating means there is more than 10 mg/kg, which is the limit suggested by the European Chemicals Agency.
The one Apple product listed (Apple AirPods Pro 2. Gen. USB–C ) is all green.
Two of the Sony products listed have yellow for the ear-touching parts of the product (Sony Ult Wear and Sony Noise Cancelling WF–1000XM5). The other Sony products are green.
One of the Sennheiser products (Sennheiser Momentum Wireless 4 ) is listed as red for the ear-touching portion of the product.
One of the Bose products (Bose QuietComfort Headphones ) is listed as red for the ear-touching portion of the product.
Not the original poster, but when I was re-watching the series I also checked the reddit postings for each episode I watched. One of the comments for the first episode mentioned how laborious they made the act of dumping the IBM PC BIOS contents.
So in the first episode, Gordon Clark, the HW guy (played by Scoot McNairy) had to dump the contents of the IBM PC BIOS from the ROM chip.
Gordon extracts the BIOS chip (an 8KB EPROM chip if you do a web search) and plugs it into a breadboard and proceeds to dump out each byte of the chip with Joe (Lee Pace) writing down the address and data at that particular address on a pad of paper.
After writing the address and address contents for the first time, Joe asks Gordon how many times they have to do this procedure. Gordon replies 65536, which would imply a 64KB ROM chip - but the web search said the IBM PC used an 8KB EPROM for the BIOS.
After more dreary, repetitive work, they accomplish the dumping and transcribing of the IBM PC BIOS in one weekend.
But one could have used a short BASIC program to dump the IBM PC BIOS ROM - the IBM PC wasn't a locked down game console...
Maybe as a HW guy, writing a BASIC program to dump the BIOS would not come to mind.
For a legal clean-room implementation of the IBM PC BIOS, the actual contents of the IBM PC BIOS aren't needed.
You need the specs for each BIOS function (input/output parameters and description of what the BIOS function does).
The IBM PC Technical Reference Manual (which cost $99 back then) contains the BIOS assembly language listing.
One would need to type up the lines that list the input/output requirements for each BIOS function and their purpose and they'd be half-way to a clean-room PC BIOS.
But that'd be way less dramatic (and easier) than the way shown in the episode.
Excellent example. I do actually remember that part as being particularly cringeworthy. The IBM PC Technical Reference Manual also included complete schematics for the motherboard as well.
And, as an added bonus, as a hardware guy would know that you could read back the contents of an EPROM using the software that controls your EPROM burner (not an expensive piece of equipment). So that excuse doesn't fly either.
I don't really understand the first episode. The idea as far as I can tell is that it's illegal to use employees who reverse engineered the BIOS to clone the BIOS, but it's legal to hire someone new, who presumably is also going to have to reverse engineer the BIOS in order to clone it.
The idea is that specifications are not copyrightable, but implementations are. So, the first team reverse engineers the work and writes a spec for the second team to work from. That way, you guarantee that the second implementation is free of copyrighted code.
One of her creatine videos mentions that your muscles will take up ingested creatine faster than the brain. So for any creatine to make its way to the brain, your muscular creatine stores must be topped up first.
I think dosage would depend on the amount of daily physical activity. If you work out a lot, you'd have to replenish your muscular creatine stores before the brain could access any/much.
She also mentions boosting creatine dosage after bouts of mental exertion.
To add another data point, a 2024 study [1] on the mental effects of single doses of creatine was using 0.35g/kg of creatinemonohydrate, or about 28g for a typical adult male. Though obviously high doses are safer if you just do them once
And an earlier 2018 article [2] argued that "Evidence suggests that the
blood–brain barrier is an obstacle for circulating cre-
atine, which may require larger doses and/or longer
protocols to increase brain creatine as compared to
muscle. In fact, the broad spectrum of creatine sup
plementation studies that span different dosing pr-
tocols (e.g. high-dose short-term, low dose longer-
term), co-ingestion of other nutrients/compounds
(e.g. carbohydrate, protein, insulin), different popu
lations (e.g. vegetarians, elderly, patients, athletes)
is unavailable for brain creatine adaptations"
Yes, MS Mail for PC Networks used a shared file system for email.
The Workgroup Apps (WGA) divison ran MS Mail for PC Networks since they produced MS Mail. Gotta dogfood your product. The WGA email system used a Xenix gateway to connect with the rest of Microsoft.
The rest of Microsoft ran MS Mail for Windows with a Xenix email backend and address book, since MS was already using Xenix before MS Mail for PC Networks existed.
Windows for Workgroups 3.11 contained a one postoffice-version of MSMail, (which could be upgraded to the full version).
I talked with the programmer for the 16-bit Windows calculator app, calc.exe.
Any naive programmer with a first-reading of Charles Petzold's Programming Windows book would assume each button in the calculator app was an actual Windows button control.
Nope.
All those calculator buttons, back when Windows first shipped, used up too many resources.
So the buttons were drawn and the app did hit-testing to see if a button was mouse-clicked. see https://www.basicinputoutput.com/2017/08/windows-calculator-... for a pic of the 16-bit Windows calculator app.
reply