tag:blogger.com,1999:blog-98715122024-03-07T03:19:58.888-05:00Tumboliamath is stranger than fictionjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.comBlogger299125tag:blogger.com,1999:blog-9871512.post-27277663036062002352023-03-25T13:07:00.000-04:002023-03-25T13:07:37.521-04:00I've been busyI guess I haven't been around here much.
I've been busy writing a virus that, whenever a machine does floating point multiplication, rounds off the low bits into a secret account. So far I've got 2.153591407913833e-149.
jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-75977422710213273162021-08-18T11:16:00.003-04:002021-08-18T11:19:05.320-04:00PC is consistentThe other day I learned a short proof that the Propositional Calculus is consistent.
This was a bit of a surprise to me since I’m steeped in all sorts of much more advanced Gödel results, which I’m not really qualified to contemplate, and the whole thing makes it seem like proving a system consistent should be a Herculean effort. But for PC it turns out to be rather simple.
I won't try to jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-24829739339629491152019-01-09T13:24:00.002-05:002021-02-22T16:25:50.079-05:00Keeping a list of functions in RustWhat if you wanted to create your own Rust attribute that’s sort of like #[test], but not #[test]?
That is, you’ve got an attribute macro—let’s call it #[subcommand]—and at run time, you want a list of all functions tagged with that attribute. Maybe your program is a command-line build tool with several subcommands, and you want to use this list to process the command line, or even just to printjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-29796018217993127822018-07-11T10:47:00.000-04:002018-07-11T10:47:36.510-04:00Axioms that createMost of the axioms of ZF set theory are pretty easy to understand. They tell which sets exist, creating a rich universe of objects for set theory to talk about.
Null. There is a set with no elements.
Pair. Given two sets a and b, there is a set that contains exactly those two sets.
Union. Given a set of sets S, there is a set that’s the union of the sets in S. In other words, a set that jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-62785607768459600292018-07-10T11:23:00.001-04:002018-07-11T09:48:22.614-04:00Filling in the pictureWhen you learned math as a kid, you started from the very concrete: learning to count physical objects.
The foundations of math progress the opposite way, from the vague to the specific. The first thing you need to know is the use of variables as placeholders. Partly this is because variables are powerfully expressive—eventually, you’ll need them to write really interesting statements. But the jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-3883707412477264232018-06-28T17:52:00.000-04:002018-06-29T07:41:32.748-04:00LR parsers, what are they reallyI recently went back to school on parsers. I always had an involuntary mental resistance to the whole field, because the theory, while well-established, is inelegant. Oh, it starts out pretty enough, with the regular languages, but from there it gets gradually worse and worse until you’re reading things like “and if there are any slots with multiple entries in table X, then the grammar isn’t LR(1jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-66348682523379222422017-05-15T11:24:00.000-04:002017-05-15T11:24:24.696-04:00Only NSA can prevent future attacksHerb Lin argues that the NSA isn't responsible for the recent wave of ransomware attacks based on a vulnerabilities the NSA discovered, hoarded, and failed to secure.
In his essay, Lin says that computer administrators and Github are really to blame for the attacks. One almost gets the feeling he’s casting about for someone else to blame, anyone but the NSA:
Microsoft issued a fix for the jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-13993935534075442192016-07-30T09:19:00.004-04:002016-07-30T09:22:17.828-04:00Origin of the farthingaleTwo extremely corpulent ladies, who were much incommoded by their embonpoint, had caused to be made for them under petticoats mounted on hoops, which they only wore in the privacy of their own apartments. One summer evening, however, they were tempted to take a stroll in the Tuilerics so accoutred. In order to avoid the remarks of the mob of footmen at the gates, they entered by the orangery, butjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-59215324067619279302016-07-13T09:21:00.002-04:002016-07-13T09:21:31.839-04:00HeroTell me, O muse, of the slightly bored but super-competent middle-aged pharmacist, who remembers three or four important things to tell every wanderer who comes by. Many lives she saves, among those who must sail between the dread monsters Disease and Treatment in high seas—and never knows it.
jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-54684755779558728742016-05-30T12:01:00.001-04:002016-05-30T12:01:13.595-04:00A bitrot anecdoteThe consequences of bitrot are not contained in the domain of the system administrator. Here’s Mario Carneiro on the state of a formal, computer-checkable proof of a mathematical theorem:
I was blown away when I discovered that Isabelle’s proof of the prime number theorem was done in Isabelle2005, and it was not upkept along with the AFP (archive of formal proofs). Moreover, jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-90907256496990273102016-05-10T06:31:00.001-04:002016-05-10T06:31:22.290-04:00PrintI have subscribed to a daily print newspaper.
I really enjoy a good paper, but the one I subscribed to is not a good paper. It’s owned by Gannett. A lot of the content is exactly what’s in USA Today. Section B of my paper is, as far as I can tell, USA Today’s section A verbatim. And local coverage is thin. Sometimes the front page has 12 column-inches of news on it. A few stockjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-31502095006244967402016-05-10T06:26:00.003-04:002016-05-10T06:33:41.910-04:00BitrotThere was a time not so long ago when software had a shelf life of
five or ten years, easy.
Of course there was a time before that when software was written for
very specific machines, like an Atari 2600, and those programs still
run today on those very specific machines. Their shelf life is
unlimited. But I’m talking about the PC era, when there were
constantly new machines and new OS jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-44666355482887368302016-02-24T11:17:00.003-05:002016-03-10T14:38:39.763-05:00Former NSA director warns against back doorsThe headline this Monday was: “Former director of NSA backs Apple on iPhone ‘back doors’”.
“Look, I used to run the NSA, OK?” Hayden says. “Please, please, Lord, put back doors in, because ... that back door will make it easier for me to do what I want to do. ...
“But when you step back and look at the whole question of American security and jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-69387408017011088772015-12-02T09:30:00.000-05:002015-12-02T09:30:02.658-05:00How I finally learned git“Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer. Much of the complexity he must master is arbitrary complexity […] because they were designed by different people, rather than by God.” —Fred Brooks
True facts:
git has outstandingly bad UI design.
The jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-247968317096718152015-05-11T11:45:00.001-04:002015-05-11T11:51:42.845-04:00DeterminismI think I am going to be a fairly extreme determinist until someone convinces me otherwise.
This is not an informed position. My influences are:
“Story of Your Life” by Ted Chiang. (Including this in the list is about 37% joke, but go ahead and read it.)
the first couple chapters of SICM (all I’ve managed to read so far) and my vague and confused understanding of physics jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-49564390966854034032015-05-11T10:33:00.001-04:002015-05-11T10:33:39.824-04:00“Let me introduce myself”This sort of thing never gets old, never ceases to charm me.
The dialect can be defined self-referentially as follows:
grammar : rule + ;
rule : nonterminal ':' productionrule ';' ;
productionrule : production [ '|' production ] * ;
production : term * ;
term : element repeats ;
element : LITERAL | IDENTIFIER | '[' productionrule ']' ;
repeats : [ '*' | '+' ] NUMBER ? | NUMBER ? | '?' ;jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-75560296270472087812015-02-04T20:07:00.004-05:002015-02-04T20:07:46.160-05:00Why raising the dead is safeScientists have cloned a vintage virus. Still works! The article contains a nice explanation of why this is a safe thing to do:
“There's a theoretical risk of this, and we know that the nucleic acid of the virus was in great shape in our sample,” study author Eric Delwart of the University of California told New Scientist. “But old viruses could only re-emerge if they have jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-76687003033916415722014-11-17T13:52:00.000-05:002015-07-29T04:58:35.762-04:00Old programsThese remarks are my contribution to a keynote address by Eliza Brock Marcum at Nodevember, a JavaScript and Node.js conference in Nashville, Tennessee. Eliza’s talk was on history and the value of history in computing.
I’m always delighted by the light touch and stillness
of early programming languages.
Not much text;
a lot gets done.
—Richard Gabriel, “50 in 50”
Old programming jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-60589015488904500752014-01-27T11:21:00.002-05:002014-01-27T11:21:30.853-05:00He who fights the future
Over a hundred years ago a Scandinavian philosopher, Sören Kierkegaard, made a profound observation about the future. … “He who fights the future,” remarked the philosopher, “has a dangerous enemy. The future is not, it borrows its strength from the man himself, and when it has tricked him out of this, then it appears outside of him as the enemy he must meet.”
We in the western world have jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-81948448553642049912014-01-27T11:14:00.001-05:002014-01-27T11:33:17.136-05:00ORD Camp 2013Last year I spent a weekend at ORD Camp, a Chicago unconference populated by hackers of all descriptions.
There was a heady mix of 3d printing enthusiasts, robot-builders, programmers, drinkers, dreamers, proud Chicagoans, and werewolves. Everyone brought a talk, or an activity, or at least a bottle.
I couldn’t make it this year. Here’s what I remember from 2013.
Christina Pei brought lockpickingjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-52637702018965178832014-01-27T11:09:00.001-05:002014-01-27T11:09:17.762-05:00Here, have a list of booksSomeone linked me to an image, “Top 10 Books I Want My Kids To Read”. It’s now a dead link, but this isn’t about that particular list anyway.
The books on the list were not children’s books. They were books the author hoped his children would read, eventually. How, then, does such a list differ from “Ten Books I Would Recommend To Anyone”?
You might choose books thatjtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-50358084345999081942014-01-20T11:31:00.000-05:002014-01-20T11:37:24.517-05:00Lisp MachinesI’m doing some casual research on Lisp Machines. I find myself wishing for the patience of a reference librarian. Or just a very patient friend to lend moral support.
Dead links everywhere. Decay is a natural thing, and on the whole I am grateful that the Web decays. It just doesn’t suit my purpose at the moment.
As recently as 2007:
A wiki has been set up to capture some notes about using jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com2tag:blogger.com,1999:blog-9871512.post-56660053100096776592013-04-01T12:40:00.000-04:002013-04-01T12:40:39.321-04:00The halting problem and garbage collectionAt Talk Day, after Brandon Bradley’s talk about the halting problem, Martha Kelly asked: if it’s impossible to predict the future course of an arbitrary program, how can garbage collectors tell which objects will be used and which can be collected?
Martha’s right. There is a connection!
function easy() {
var obj = new Object;
gc();
}
If gc() does garbage collection, then jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-38378884059932164742012-08-27T10:44:00.002-04:002012-08-27T10:57:01.120-04:00Privacy as a weaponRemember the bogus bomb threats at the University of Pittsburgh? Apparently they were sent by email, anonymously, through a system called Mixmaster. The email passed through a computer in New York, which the FBI seized in April.
Now it is natural to wonder why we even have such things. Why is it OK for people to send email anonymously when it can cause such mayhem? Here’s what the computer’s jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com0tag:blogger.com,1999:blog-9871512.post-91455096302103249182012-08-27T10:19:00.001-04:002012-08-27T10:19:45.674-04:00Four hoursOn Sunday I had the pleasure of introducing a C/C# programmer to Python.
I always tell people it only takes 4 hours to learn Python, and I say it because it’s true. But when I actually see someone pick up a whole new language from scratch, port some existing scrap of C code to Python, learn where the documentation is, set up virtualenv, and write a web app that sends somebody a text message, all jtohttp://www.blogger.com/profile/03968844388108605008noreply@blogger.com5