Nice article. I’ve had two Model M’s (the m key on the first one stopped responding) and I like the sturdy feel. However recently I’ve been finding the buckling springs a bit too loud and heavy. The keyboard is also pretty big so it’s hard to reach for the mouse. Maybe it’s time to go for a Spacesaver 104 :)
it’s hard to reach for the mouse
For this reason I have vi keybindings in all the programs I use most. It’s not a productivity thing, I just really dislike taking my paws off home row to reach for a pointing device.
I have a mouse layer with movement on WASD, and mouse buttons on F/R, for the same reason, for more unruly programs.
Same, but I also consider a TKL keyboard (CM MasterKeys S for the beginning) or 60% which may require a while to accustom.
A key piece of evidence of Operation Sundevil, the E911 document, was published in Phrack’s volume 24. At Phrack co-editor Knight Lighting’s trial (he was charged with fraud) in July 1990, the document was initially valued at $79,499 by Bellcore.
It’s amusing how they calculated the $17,099 cost of just the bureaucratic overhead (quotes from The Hacker Crackdown):
Kim Megahee, a Southern Bell security manager, had arrived at the document’s value by simply adding up the “costs associated with the production” of the E911 Document. Those “costs” were as follows:
- A technical writer had been hired to research and write the E911 Document. 200 hours of work, at $35 an hour, cost : $7,000. A Project Manager had overseen the technical writer. 200 hours, at $31 an hour, made: $6,200.
- A week of typing had cost $721 dollars. A week of formatting had cost $721. A week of graphics formatting had cost $742.
- Two days of editing cost $367.
- A box of order labels cost five dollars.
- Preparing a purchase order for the Document, including typing and the obtaining of an authorizing signature from within the BellSouth bureaucracy, cost $129.
- Printing cost $313. Mailing the Document to fifty people took fifty hours by a clerk, and cost $858.
- Placing the Document in an index took two clerks an hour each, totalling $43.
Later they corrected the estimate:
As incredulity mounted, the value of the E911 Document was officially revised downward. This time, Robert Kibler of BellSouth Security estimated the value of the twelve pages as a mere $24,639.05−−based, purportedly, on “R&D costs.”
Until finally arriving the actual price of the document:
He showed the witness a Bellcore catalog which listed thousands of documents from Bellcore and from all the Baby Bells, BellSouth included. [–] Zenner gave the witness a copy of “BellSouth E911 Service Interfaces,” which cost, as he pointed out, $13, straight from the catalog. “Look at it carefully,” he urged Ms. Williams, “and tell me if it doesn’t contain about twice as much detailed information about the E911 system of BellSouth than appeared anywhere in Phrack.”
Later the case was quietly dropped, but still leaving the defendant owing over $100,000 to lawyers.
It’s worth noticing how Operation Sundevil resulted in the creation of the Electronic Frontier Foundation.
Just to underline how deeply political is hacking.
I don’t know. This reminds me of the practice of putting everything into header files (“to inline everything, for performance”) which leads to longer compile times in practice because more things have to be recompiled.
I don’t get the issue with the traditional split of header and source files. There is a one time cost and then recompiles are faster.
The proposed method sounds like compilation or (worse) runtime issues for little gain.
I think the problem is that in C++ you end up having lots of code in header files, such as class members and templates. Then when you have dependencies between different source files and of course on the system headers, you end up including recursively lots of headers. That means a change in a single header file causes a cascading recompile which pretty much eliminates the benefits of incremental builds. Of course you have some crazy rules about includes (it’s in C though) to try to alleviate the problem.
I have to admit I don’t have firsthand experience in maintaining unity builds but seems like it’s worth it in larger projects.