tag:blogger.com,1999:blog-25400509233830542652024-03-05T16:15:59.607-06:00I/O PortResunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-2540050923383054265.post-63973176573274659972023-10-29T06:36:00.007-05:002023-10-29T06:40:00.421-05:00This is too good not to share (Enterprise Cobolscript).<p> Saved from my old blog c/o the Internet Archive:</p><p><br /></p><table align="center" cellpadding="5" style="width: 600px;"><tbody><tr><td colspan="2"><span style="color: #444444;">
<p>"Enterprise COBOL supports Java™-based object-oriented syntax to
facilitate the interoperation of COBOL and Java programs."
</p>
</span></td></tr>
<tr><td bgcolor="#DDDDDD" colspan="2"><b>This is just too good not to share</b></td></tr>
<tr><td colspan="2">
<span style="color: #444444;">
<pre>DATA DIVISION.
WORKING-STORAGE SECTION.
01 CURR-ARG-COUNT PIC 9(9) BINARY VALUE ZERO.
LINKAGE SECTION.
01 ARG-COUNT PIC 9(9)BINARY.
01 ARG-LENGTH-LIST.
05 ARG-LENGTH-ADDR POINTER OCCURS 1 TO 99999 DEPENDING ON CURR-ARG-COUNT.
01 ARG-LIST.
05 ARG-ADDR POINTER OCCURS 1 TO 99999 DEPENDING ON CURR-ARG-COUNT.
01 ARG-LENGTH PIC 9(9) BINARY.
01 ARG PIC X(65536).
PROCEDURE DIVISION USING ARG-COUNT ARG-LENGTH-LIST ARG-LIST.
</pre>
</span>
That's Enterprise COBOL for <tt>main(int ac, char *av[])</tt>.
But you ain't seen nothin' yet... you thought ADD ONE TO COBOL GIVING COBOL
was a joke:
<span style="color: #444444;">
<pre>CBL DLL,THREAD,PGMNAME(LONGMIXED)
IDENTIFICATION DIVISION.
CLASS-ID.
ACCOUNT INHERITS BASE.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
REPOSITORY.
CLASS BASE IS "java.lang.OBJECT"
CLASS ACCOUNT IS "Account".
*
IDENTIFICATION DIVISION.
FACTORY.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMBER-OF-ACCOUNTS PIC 9(6) VALUE ZERO.
* ...
*
OBJECT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ACCOUNTNUMBER PIC 9(6).
01 ACCOUNTBALANCE PIC S9(9) VALUE ZERO.
*
PROCEDURE DIVISION.
*
IDENTIFICATION DIVISION.
METHOD-ID. "getBalance".
DATA DIVISION.
LINKAGE SECTION.
01 OUTBALANCE PIC S9(9) BINARY.
*
PROCEDURE DIVISION RETURNING OUTBALANCE.
MOVE ACCOUNTBALANCE TO OUTBALANCE.
END METHOD "getBalance".
* ...
*
END OBJECT.
*
END CLASS ACCOUNT.
</pre>
</span></td></tr></tbody></table><p><br /></p>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-20581594080961580152019-01-05T11:17:00.001-06:002019-01-05T11:17:20.006-06:00Windows 10 "invalid value for registry" opening image fileGoogling for this message gets you lots of closed threads in Microsoft's forums with solutions that didn't work for me, usually involving registry edits or powershell commands.<br />
<br />
So, I'm posting something here in the hope that someone else will be helped when they search for it.<br />
<br />
At some point, some Windows update in the past year (posting in January 2019) removed or broke the "photos" app. I don't use it explicitly, so I never noticed that it was gone.<br />
<br />
Reinstalling it from the Windows app store fixed the problem completely.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-13125527757748785862016-12-02T06:12:00.002-06:002016-12-02T06:12:40.709-06:00Horrible Hacks<div class="Ct">
A confession inspired by<b> <a href="http://www.gamasutra.com/view/feature/194772/dirty_game_development_tricks.php" target="_blank">this article</a></b>... here's one of my horrible hacks.</div>
<div class="Ct">
<br /> I once ran out of space
for buffers in a program on the PDP-11, so I re-used some of the stack
space above main()s entry for extra scratch space, and then made sure
main() never returned. There was a bunch of memory (over a kilobyte!) at
the top of stack containing the environment and command line arguments,
so that was space I didn't need once I started. So long as I scanned
them and stashed anything of value before I needed to use the space,
anyway.<br /><br />But later it turned out I needed the environment back
when I wanted to run another program so the first thing I did was
write() the environment to a file, and then when I called anything I
read() that file back into place between the fork() and exec().</div>
<div class="Ct">
</div>
<div class="Ct">
So, what horrible hacks are you guiltily proud of?<br /> </div>
Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-88115909393181765022016-11-28T06:02:00.003-06:002016-11-28T06:09:45.598-06:00Clinton is not pushing for an audit<div class="Ct">
A rare post, and a rarer topical one without any snark or attempts at humor.<br />
<br />
<b>Hillary Clinton and her team
is NOT 'pushing for', 'supporting', or otherwise taking part in the
effort to have any states electoral results audited and/or recounted. </b><br />
<br />
They
are going to participate in any recounts that occur, and they pretty
much have to simply because their opponents are going to be involved.
But to claim that this means they're part of the push for
recounts is at the best misplaced enthusiasm.<br />
<br />
And yet a lot of sites, including the Guardian and even Snopes, are talking about Clinton's sudden reversal, based on <a href="https://medium.com/@marceelias/listening-and-responding-to-calls-for-an-audit-and-recount-2a904717ea39" target="_blank">this post by Marc Elias on Medium</a>.<br />
<br />
The post starts out by rejecting the necessity of a special effort to recount these states, and repeats that, good and hard, with details as to why it's not necessary, for several paragraphs. Then it finally makes the most lukewarm announcement possible that <i>now that a recount has been initiated</i> they will <i>participate</i>, and <i>if</i> a recount happens in the other states, they will participate <i>there</i> as well.<br />
<br />
<blockquote class="tr_bq">
<i>Because we had not uncovered any actionable evidence of
hacking or outside attempts to alter the voting technology, we had not
planned to exercise this option ourselves, but now that a recount has
been initiated in Wisconsin, we intend to participate in order to ensure
the process proceeds in a manner that is fair to all sides. If Jill
Stein follows through as she has promised and pursues recounts in
Pennsylvania and Michigan, we will take the same approach in those
states as well. We do so fully aware that the number of votes separating
Donald Trump and Hillary Clinton in the closest of these
states — Michigan — well exceeds the largest margin ever overcome in a
recount. But regardless of the potential to change the outcome in any of
the states, we feel it is important, on principle, to ensure our
campaign is legally represented in any court proceedings and represented
on the ground in order to monitor the recount process itself.</i></blockquote>
<br />
That's all. Participation, if and when recounts occur, to cover their legal behinds. <br />
<br />
What does this participation entail?<br />
<br />
According to the New York Times, this won't involve any material support, but be limited to paying for the presence of <i>their</i> lawyers to monitor the process.<br />
<br />
This is basically the minimum level of engagement they could possibly take. This is hardly a reversal. It is <i>not</i> support for Jill Stein's efforts. It is <i>not</i> endorsement nor is it pushing for the recount.<br />
<br />
<span style="font-size: small;">Now... they may take a stronger position on the recount in the future, but as of the morning of the 28th of November, 2016 this is as far as they have gone.</span> </div>
<div class="Ct">
</div>
<div class="Ct">
</div>
Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-58305661498184624392016-05-25T05:42:00.003-05:002016-05-25T05:42:47.619-05:00But who can fear a kzin who is having his ears scratched?One day, as one does, I searched for this line from <i>Ringworld</i>: "But who can fear a kzin who is having his ears scratched?"<br />
<br />
Some fine fellow provided it as an example for the use of "scratched" in a Hungarian-English dictionary.<br />
<br />
<i>De ki félne egy kzintől, aki hagyja a füle tövét vakarni?</i><br />
-- <b>http://www.hungarianenglishdictionary.com/hu/vakar.asp</b>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-48395856095478279052016-02-07T16:46:00.001-06:002016-02-07T16:46:04.607-06:00No, blowing up the Death Star won't collapse Galactic Civilization.<br />What part of "it's a galactic civilization" did you miss?<br />
<br />
1. The Republic/Empire is a robust Kardashev level II civilization,
and not a young one. It's got a LOT of civilized worlds, and is clearly
heading for KIII classification. Blowing up a whole <b>planet</b> didn't
kick off a depression. Analyzing the resources of a civilization like
that using assumptions based on our civilization is like Pliny the
Younger looking at the possibility of building an aircraft carrier based
on the resources of a slave-based economy and deciding that sinking a
single vessel would collapse the world's economy.<br /><br />2. The Death
Star is not productive infrastructure. It's sunk costs. Any economic
impact it has is in the past. If maintaining the production lines for
the Death Star have a positive impact on the economy, then blowing it up
to keep the lines flowing as you build another one is probably the best
thing you can do. Of course those same production lines can be used for
building, I don't know, modern housing for Jakku scavengers instead.
Point is, there's no benefit to the Galactic economy from the continued
existence of the Death Star.<br /><br />3. They make a big deal about the
amount of steel involved. That amount of steel is basically lying around
in nickel-iron asteroids for the taking in any "dirty" system with a
lot of small body matter. That whole part of the paper is like Pliny
calculating how many slaves would be needed to dig up the iron ore for
the aircraft carrier I mentioned two paragraphs back.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-46310498159269608662015-12-30T13:21:00.000-06:002016-11-29T11:26:12.966-06:00New Years ResolutionsA quick search on Google confirmed that people are really not stretching themselves when choosing their new years resolutions.<br />
<br />
Search term <u><i>"new years resolution" "1920x1080"</i></u> got a creditable 33,000 hits... but it looks like almost 80,000 people were willing to put up with 640x480:<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<br />
<span style="font-family: "courier new" , "courier" , monospace;"><u><b><span style="font-family: "courier new" , "courier" , monospace;">COUNT</span></b></u><b><span style="font-family: "courier new" , "courier" , monospace;"> </span></b><u><b><span style="font-family: "courier new" , "courier" , monospace;">RESOLUTION</span></b></u> </span><br />
<span style="font-family: "courier new" , "courier" , monospace;">67 2560x2048<br />239 1900x1200<br />878 1152x864<br />2330 1440x1080<br />4600 1280x1024<br />9130 2048x1536<br />10600 1280x960<br />33000 1920x1080<br />38400 1024x768<br />53400 800x600<br />78900 640x480</span><br />
<br />
<span style="font-family: inherit;">Shameful, really</span>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-68448017452694750042015-11-05T05:53:00.001-06:002015-11-05T06:09:11.616-06:00There is no dark side of the moon really. Matter of fact it's all dark.The moon's albedo is actually quite low. The Earth is significantly brighter, thanks to the clouds and oceans... which are shiny enough that there's a visible highlight in the center of the disc from the sun directly behind the spacecraft. So in this image, with the brightness adjusted for the larger planet, you get to see the true color of our dry, airless companion world.<br />
<br />
Suggested listening for the day: <a href="https://www.youtube.com/watch?v=8kDXADYUgqk" target="_blank">Albedo 0.39</a><br />
<br />
<center>
<a href="http://www.nasa.gov/feature/goddard/from-a-million-miles-away-nasa-camera-shows-moon-crossing-face-of-earth" target="_blank">Aug 5: From a Million Miles Away, NASA Camera Shows Moon Crossing Face of Earth</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLjBG0XPIZX8oDYIJKBPswYRXMH_IsJdYMNQyXEDKDz71lj5BhjUKzs8VkHNcX7UKxKtdX4lzuwjjrrWGGjTKHyKrjq-YYpzTEtydJbobvQlEsWuMNMxMNyaNDUroTwmuWQrLK4JFdv9xk/s1600/12094871_10156173524960077_281626499224425343_o.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLjBG0XPIZX8oDYIJKBPswYRXMH_IsJdYMNQyXEDKDz71lj5BhjUKzs8VkHNcX7UKxKtdX4lzuwjjrrWGGjTKHyKrjq-YYpzTEtydJbobvQlEsWuMNMxMNyaNDUroTwmuWQrLK4JFdv9xk/s1600/12094871_10156173524960077_281626499224425343_o.png" /></a></div>
</center>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-57572766772765885752015-10-02T07:09:00.004-05:002015-10-02T07:18:26.270-05:00The Last Android Villain...I bought a non-Nexus Android phone a few years back. It was my first smartphone. It was released less than a year before Android 4.0 shipped. When I bought it, ICS was already going out to developers.<br />
<br />
Did it get an update?<br />
<br />
<a href="https://www.youtube.com/watch?v=4YnzACT8wa4" target="_blank">Bollocks.</a><br />
<br />
<br />
<br />
The cellphone business is chronically sick.<br />
<br />
<br />
<br />
In <a href="http://www.theverge.com/2015/10/1/9422405/google-android-nexus-5x-6p-phones-ads" target="_blank">this article disparaging Nexus phones as "advertising"</a> <a href="http://www.theverge.com/users/vladsavov" target="_blank">Vlad Savov</a> writes:<br />
<blockquote class="tr_bq">
<b>Google's Nexus phones are just ads</b></blockquote>
<blockquote class="tr_bq">
I've spent the past couple of days desperately trying to puzzle out the purpose behind Google's newly announced <a href="http://www.theverge.com/2015/9/29/9415479/google-nexus-5x-specs-price-release-date-announced">Nexus 5X</a> and <a href="http://www.theverge.com/2015/9/29/9412113/hands-on-with-new-nexus-6p">6P</a> smartphones. [...]</blockquote>
One word. Updates.<br />
<blockquote class="tr_bq">
Google, our knight in shining armor and a propeller hat, has come to
save us from the evils of perfidious carriers, ugly Android skins, and
late software updates.</blockquote>
I wouldn't mind <i>late</i> software updates. I mind not getting them at all. If you get a flagship phone, it might get updates for a year or two. Then I guess you're supposed to buy a new phone. If you get a mid-range or entry-level phone? You get <a href="https://www.youtube.com/watch?v=4YnzACT8wa4" target="_blank">Bollocks.</a><br />
<blockquote class="tr_bq">
There isn't a single Android device manufacturer that is happy with the Nexus program, and I've spoken with them all.</blockquote>
Have you asked them about updates?<br />
<blockquote class="tr_bq">
Motorola went all-out with the <a href="http://www.theverge.com/2015/9/2/9248101/new-motorola-moto-x-review-2015-pure-edition">Moto X Pure</a>
this year, seeking to deliver the cleanest possible Android experience,
best possible specs, and lowest possible price, all while operating
independently of carrier interference.</blockquote>
Now they're no longer owned by Google, let's see how they do with updates. If they keep them up, I'll consider getting one. There's a lot of things I really dislike about Nexus phones. Like the lack of SD card slots, which more or less force you to depend on the Google cloud.<br />
<blockquote class="tr_bq">
Android phone makers have grown more conscientious and restrained.</blockquote>
Except when it comes to updates. <br />
<blockquote class="tr_bq">
There is no Android villain left for the Nexus crusader to slay.</blockquote>
Updates.<br />
<blockquote class="tr_bq">
Making Android profitable for Android phone makers is one of the great challenges of our time.</blockquote>
I'd be happy with a spec-for-spec replacement for my Nexus 4, with an SD card slot. Is that hard to do? The Nexus 5X is more than I want. I was looking at Chinese phones shipping with plain old AOSP or Cyanogen, because I knew the community could support them even if the manufacturer couldn't. <br />
<blockquote class="tr_bq">
I wish Google would recognize that and try to do more to support Android as a whole rather than just its own good name.</blockquote>
With the phone manufacturers undercutting it all the time, by releasing phones that never receive a single update, they kind of have to. Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-24788186384404790742015-01-22T17:05:00.003-06:002015-01-22T17:09:59.731-06:00Public Service Announcement<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="margin-left: 1em; margin-right: 1em; text-align: center;">
<img alt="Those rainbow things on money and credit cards and Windows license certificates? Those are holograms. Microsoft's new 3d glasses? Not so much." border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixb2SJLCC3U_asjFdAQcNLmUgKn3NGoK79A4IH2k0nlA1XVLm8PJDPR2icvyTSePsMLaIPyuLWXqFdM92MD2yWNXG2IJbVH7LPzS1N_H06rHWqGLnVg38exNTYXwYhLzm-3FzBXmRTDzkk/s1600/hologram.png" height="110" title="Those rainbow things on money and credit cards and Windows license certificates? Those are holograms. Microsoft's new 3d glasses? Not so much." width="400" /></div>
<br />Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com1tag:blogger.com,1999:blog-2540050923383054265.post-60576494673718189322014-12-27T14:15:00.000-06:002014-12-27T14:18:14.206-06:00The pre-history of sudo...I was reminded by <a href="http://everythingsysadmin.com/2013/07/the-woman-that-saved-sudo.html" target="_blank">this article on Evi Nemeth</a> of the days before sudo. It seems like every group of UNIX users had an "su alternative" that avoided having to share the root password.<br />
<br />
The
su alternative at Berkeley was called "setsh". It wasn't just used for
root, users could let other users into their account using setsh - this
was a necessary evil back then because users could only be in one group
at a time. It was generally distributed as source, users would edit the
names of other users they wanted to let into their account into a table
in the code, and compile it and leave a copy in <tt>~/bin</tt>. So to run a
command as someone you were working with you'd run "<tt>~them/bin/setsh</tt>" and
if you were in the list, you'd get a shell su-ed to them.<br />
<br />
Surprisingly, in hindsight, I don't recall ever hearing of anyone putting a boobytrap into <tt>~/bin/setsh</tt>.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-20832337993479075852013-12-10T07:18:00.001-06:002013-12-10T10:37:39.829-06:00BCPL pointers were not zero indexed because of compile time issues.Re: <a href="http://exple.tive.org/blarg/2013/10/22/citation-needed/" target="_blank">Citation Needed - blarg?</a><br />
<br />
Mike has done a bit of research, but not enough. Reading and understanding the BCPL manual (let alone having any experience with '60s and '70s compiler technology) would have made this jump from Martin Richard's comment (which says nothing about the cost of optimizing the code) to "in that context none of the offset-calculations we’re supposedly economizing are calculated at execution time" obviously wrong.<br />
<br />
<b>First</b>, the yacht thing is a complete red herring. You always had to limit your job run times because computers were just plain unreliable. They could easily go down several times a day, forcing the restart of a job. Higher priority jobs could always show up and bump you, and getting bumped was not all that big a deal... you'd just get run again once it was done, if by chance you happened to be late in the queue you'd run a day or so later at the most... and that could happen anyway if jobs before you ran into problems or there was too much maintenance downtime. A handicapping run a few times a year? that's nothing.<br />
<br />
<b>Second</b>, you could have expressions on both sides of the dyadic "!" operator. "V!I" was exactly the same as "I!V" ... Richards spells that out explicitly in the text Mike quoted! There's no reason to treat it as a compile-time-only issue.<br />
<br />
<b>Third</b>, of course BCPL had pointers. It was completely typeless, an address was just a number. When you wrote<br />
<br />
LET V = VEC 5<br />
<br />
You create both a pointer variable "V" and allocated a 5 element array to it. Yes, it really allocated a total of six cells. As far as I recall, "V" could be reassigned to point to another vector, or incremented within itself.<br />
<br />
<b>Fourth</b>, local variables were dynamically created on the stack. So a local<br />
<br />
LET V = VEC X<br />
<br />
could be at any address in the stack, depending on the call history.<br />
<br />
<b>Fifth</b>, and backing up my recollection in the third point, the BCPL manual has an example of pointers being initialized on page 27:<br />
<br />
LET IOV = VEC 650<br />
LET IOVP, IOVT = IOV, IOV + 650<br />
<br />
<b>Sixth</b>, he's applying 21st century reasoning about compilers to the '60s. When you wrote:<br />
<br />
V!1<br />
<br />
it's virtually certain that the compiler would actually generate the code to fetch "V" and add one to it. I would be staggered to learn that the compiler optimized away this extra indirection, ever, because that would have required tracking the state of every variable used as an lvalue to know when that optimization was safe.<br />
<br />
Finally, <b>seventh</b>, and most critically, using 1 index on the dyadic "!" operator would have caused extra
complexity for *programmers*, because suddenly "!(V+I)" would mean
something different from "V!I", and having "!(V+I)" mean "the memory at V
+ I + 1" would be just nutty.<br />
<br />
<i>BCPL arrays, like C arrays, were zero-origin because it fell naturally out of the unification of pointers and other values in a low level language. </i>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-57192911637097306272013-08-13T14:22:00.001-05:002013-08-13T14:22:19.435-05:00Hipster NSAHipster NSA was into data before they got big.<br />Hipster NSA only taps underground cables.<br />Hipster NSA says you don’t really collect data until you listen to it.<br />Hipster NSA stopped 50 terrorist attacks. You’ve probably never heard of them.<br />Hipster NSA stalked you before you were cool.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://upload.wikimedia.org/wikipedia/commons/8/89/NY_stock_exchange_telephone_operator_LC-USZ62-104021.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="640" src="http://upload.wikimedia.org/wikipedia/commons/8/89/NY_stock_exchange_telephone_operator_LC-USZ62-104021.jpg" width="497" /></a></div>
<br />Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-20329479635505815982013-06-28T20:13:00.004-05:002013-06-28T20:13:47.602-05:00Onward Sauron’s SoldiersJust leaving this here... <br />
<br />
<b>Onward Sauron’s Soldiers</b><br /><br /><i>Words by Richard Tatge, Al Kuhfeld and Ken Fletcher. Sung to the tune of 'Onward Christian Soldiers'</i><br /><br />Onward Sauron’s soldiers,<br />Marching as to war,<br />With the eye of Sauron<br />Going on before<br />Darkness like a banner<br />shadows all the foe.<br />Forward into battle see the Nazgul go.<br /><br /><i>CHORUS:</i><br />
<i>Onward Sauron’s soldiers,<br />Matching as to war,<br />With the eye of Sauron<br />Going on before.</i><br /><br />Trolls and Balrogs mangle<br />Dragons burn and bite!<br />With us you must tangle<br />Or run and scream in fright.<br />Evil is our watchword,<br />Pain is our delight;<br />Middle-Earth must crumble,<br />Under Mordor's might.<br /><br /><i>CHORUS</i><br /><br />From the dread dark tower.<br />To the black Khazad-dum.<br />We’ll send elves and hobbits<br />Shrieking to their tomb.<br />Men and dwarves together<br />Go down in defeat.<br />In the hunger after the battle.<br />They’ll be nice to eat.<br /><br /><i>CHORUS</i><br /><br />Conquer every village!<br />Yell out the battle cry!<br />Murder, rape and pillage,<br />Then spit in their eye!<br />See the craven victims<br />Quivering with fear:<br />We’ll be leaving Mordor<br />Sometime late next year.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-1137223305242170882013-06-17T19:14:00.000-05:002013-06-17T19:14:06.919-05:00Teal Deer has a new buddy! PW;DRVia @Skud <i>RT @NeuroPolarbear Proposed new internet slang: BPW;DR. Means, "behind paywall, didn't read".</i><br />
<br />
I'm just going to use "pw;dr".<br />
<br />
The Teal Deer has a new buddy. What do we call this one? Power Deer?Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-17476378539357874132013-06-05T18:33:00.000-05:002017-05-30T08:49:51.920-05:00Oh dear where can the matter be...<i>Just leaving this here for reference... </i><br />
<br />
Oh dear, where can the matter be? <br />
When it's converted to energy, <br />
There is a slight loss of parity. <br />
Johnny's so long at the fair. <br />
<br />
He promised to buy me a second-hand Morris, <br />
A matched set of H-Bombs that go off in chorus, <br />
A musically-talented agile slow loris, <br />
And other delights that are rare.<br />
<br />
Oh dear, where can the matter be? <br />
When it's converted to energy, <br />
There is a slight loss of parity. <br />
Johnny's so long at the fair.<br />
<br />
He promised to buy me a used weeping willow, <br />
A pair of chrome booties for my armadillo, <br />
A hand-tatted, plaid, pterodactyl-down pillow, <br />
And other delights that are rare.<br />
<br />
He promised to buy me a magical locket, <br />
A miniature couerl to keep in my pocket, <br />
A duocorn stallion, a Saturn-V rocket, <br />
And other delights that are rare.<br />
<br />
He promised to buy me a positron beauty, <br />
A lit'rally minded transistorized cutie, <br />
A chrome-plated robot that does double-duty, <br />
And other delights that are rare.<br />
<br />
He promised to buy me an incomplete wizard, <br />
A red-headed genie, a hexapod gizzard, <br />
A house-broken dragon, a musical blizzard, <br />
And other delights that are rare.<br />
<br />
He promised to buy me a microwave oven, <br />
Some witches from Karres arrayed in a coven, <br />
Some teflon extrusions to further our lovin', <br />
And other delights that are rare.<br />
<br />
Credits: Don Simpson, and others... <br /><br />One version credited to Andrew MacRobb exists that sounds like it's different from this one, but I haven't found a copy beyond this quoted verse:<br /><i><br />Oh, dear, where can the matter be<br />When it's converted to energy?<br />There's that slight loss of entropy<br />Thermodynamics ain't fair!</i>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com2tag:blogger.com,1999:blog-2540050923383054265.post-72558281325090712492013-05-11T09:45:00.003-05:002013-05-11T09:45:41.437-05:00Keeping Presidents in the Nuclear Dark (from wayback machine)CDI.ORG is now owned by a domain squatter, so I'm just going to leave this article in its entirety here:<br />
<br />
Taken from <a href="http://web.archive.org/web/20060209090404/http://www.cdi.org/blair/permissive-action-links.cfm" target="_blank">here</a>. <br />
<br />
<span style="color: #002652;"><b>Keeping Presidents in the Nuclear Dark<br />
(Episode #1: The Case of the Missing “Permissive Action Links”)<br />
</b></span>
<a href="http://web.archive.org/web/20060209090404/http://www.cdi.org/aboutcdi/bruce_blair1.html" target="_">Bruce G. Blair, Ph.D</a>, CDI President, <a href="mailto:bblair@cdi.org">bblair@cdi.org</a>
<br />
<i>Feb. 11, 2004 </i><br />
Last month I asked Robert McNamara, the secretary of defense during the
Kennedy and Johnson administrations, what he believed back in the 1960s was the
status of technical locks on the Minuteman intercontinental missiles. These
long-range nuclear-tipped missiles first came on line during the Cuban missile
crisis and grew to a force of 1,000 during the McNamara years — the backbone of
the U.S. strategic deterrent through the late 1960s. McNamara replied, in his
trade-mark, assertively confident manner that he personally saw to it that these
special locks (known to wonks as “Permissive Action Links”) were installed on
the Minuteman force, and that he regarded them as essential to strict central
control and preventing unauthorized launch.<br />
<br />
When the history of the nuclear cold war is finally comprehensively written,
this McNamara vignette will be one of a long litany of items pointing to the
ignorance of presidents and defense secretaries and other nuclear security
officials about the true state of nuclear affairs during their time in the
saddle. What I then told McNamara about his vitally important locks elicited
this response: “I am shocked, absolutely shocked and outraged. Who the hell
authorized that?” What he had just learned from me was that the locks had been
installed, but everyone knew the combination.<br />
<br />
The Strategic Air Command (SAC) in Omaha quietly decided to set the “locks” to
all zeros in order to circumvent this safeguard. During the early to mid-1970s,
during my stint as a Minuteman launch officer, they still had not been changed.
Our launch checklist in fact instructed us, the firing crew, to double-check the
locking panel in our underground launch bunker to ensure that no digits other
than zero had been inadvertently dialed into the panel. SAC remained far less
concerned about unauthorized launches than about the potential of these
safeguards to interfere with the implementation of wartime launch orders. And so
the “secret unlock code” during the height of the nuclear crises of the Cold War
remained constant at OOOOOOOO.<br />
<br />
After leaving the Air Force in 1974, I pressed the service, initially by letters
addressed to it and then through congressional intermediaries, to consider a
range of terrorist scenarios in which these locks could serve as crucial
barriers against the unauthorized seizure of launch control over Minuteman
missiles. In 1977, I co-authored (with Garry Brewer) an article (<a href="http://web.archive.org/web/20060209090404/http://www.cdi.org/blair/terrorist-threat.cfm"><u>click
here to view</u></a>)
entitled “The Terrorist Threat to World Nuclear Programs” in which I laid out
the case for taking this threat more seriously and suggesting remedial measures
including, first and foremost, activating those McNamara locks that apparently
he and presidents presumed had already been activated.<br />
<br />
The locks were activated in 1977.<br />
<br />
It is hard to know where to begin, and end, in recounting stories like this one
that reveal how misinformed, misled, and misguided on critical nuclear matters
our top leaders have been throughout the nuclear age. A multitude of such
examples can, and will, be described in forthcoming columns.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-22324017417044801042013-05-08T06:34:00.000-05:002013-05-08T06:34:52.495-05:00Dear Twitter...Dear Twitter: if you're going to continue to be jerks about letting people write new twitter clients, please can I have an official twitter client for the Mac that:<br />
<br />
1. Puts the latest tweet at the bottom of the page, not at the top.<br />
2. Puts the box to enter a new tweet at the bottom of the page, below the most recent tweet, not in its own window.<br />
3. Keeps track of last tweet read, oldest tweet not seen, and so on, and lets me jump easily and reliably to each of these points.<br />
4. When I uncheck "When new tweets arrive, scroll to top", then when new tweets arrive, <i>don't scroll to the top. </i>(in fact it'd be nice to have a visible toggle (like a pushpin) that controlled scrolling, because that's something I like to tweak on and off, but just having that work would be a start)<br />
5. When I click on a link, just send it to my browser, don't go "hey, that's a picture, let me open it in my crippled picture viewer that doesn't let you copy images, image locations, or see commentary".<br />
<br />
Yes, I know this is a long list. It's also incomplete. These are just the most annoying things, the ones that make me go "I can't DEAL with this before I've had my coffee".<br />
<br />
There's more. Lots more. Like, how about showing me the display name of a poster inline instead of their cute little picture, and displaying retweets as "@friend: RT @gonzo: blag blah blah" instead of "@gonzo: Blah blah blah" with "retweeted by @friend" in little grey letters underneath.<br />
<br />
The bottom line: you really don't do a good enough job of writing client software to call software that does a much better job of interacting with your service "redundant". Get over it. You should be paying these people a bonus, not cutting them off.<br />
<br />
[Next week: Linden Lab's passive-aggressive relationship with alternate viewers. or not.] Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com1tag:blogger.com,1999:blog-2540050923383054265.post-72469482296956831162013-05-07T08:46:00.003-05:002013-05-07T08:46:45.613-05:00Of course!Once you realize that HTTP is just an extended finger, the Web makes so much more sense!Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com1tag:blogger.com,1999:blog-2540050923383054265.post-18682406996364608032013-04-30T10:38:00.000-05:002013-04-30T10:38:56.648-05:00History of #!/bin/sh (the 'hashbang' or 'shebang')I was just reading a message <a href="http://forums.xkcd.com/viewtopic.php?f=11&t=53960" target="_blank">in the XKCD forums</a>, and noticed there were all these comments about how the "#!" was 'interpreted by the shell'. Given that XKCD readers are pretty technical, this surprised me.<br />
<br />
Actually, the hashbang is interpreted by the kernel. hashbang was invented in Version 7 UNIX, as a result of the split between East Coast UNIX and West Coast UNIX.<br />
<br />
In Version 6 UNIX there was only one shell. It was a pretty horrible shell, too. It didn't have control structures. It didn't have comments. It didn't have file name expansion or wildcards - they were sort of transparently handled by having the shell run a separate program called "glob". You couldn't pipe into shell scripts because the shell interpreted scripts by reading them from standard input. There was no buffering, so it was possible to control the flow of a shell script by seeing around on standard input, looking for a line starting with ":" to indicate a label. ":" wasn't a comment marker, mind, it was a command that didn't do anything, like /bin/true. It may have even been a link to /bin/true.<br />
<br />
On the east coast, this fellow at AT&T named Steve Bourne was coming up with a new shell that would end up in Version 7 UNIX.<br />
<br />
On the west coast, there were two competing improved shells, the pascal shell (which never took off) and the C shell.<br />
<br />
The C shell had control structures and comments and all kinds of cool stuff. The comment character was "#". So when you ran a shell script it forked, opened the file, and looked at the first character, and if it was "#" it execed a new instance of the C shell to interpret it, otherwise it just execed the old /bin/sh with stdin set to the file. OK, that's a lot of jargon, let's just say that the first character was used by the C shell to determine what shell to use to run the script.<br />
<br />
Now I'm going to digress into more jargon. When the kernel ran a program, it used the first two bytes of the program to determine how to run it. Originally it just loaded the program and jumped into location zero, but by the time of V6 and V7 there were a number of different things that had to be done to set up the program, so it opened up the file and read the first two bytes. If the first two bytes were a jump to one particular location, it knew it was one kind of program, if it was a jump to another location, it was another kind of program. So this jump instruction became a "magic number" that the kernel used to decide how to run the program. Other magic numbers got created, and they didn't have to be PDP-11 jump instructions, (or even run on a PDP-11) but one number was as good as any other so those just happened to be kept.<br />
<br />
Anyway, by this time in UNIX the first 16 bits of the program was a magic number... the kernel read it and used that to decide how to run a program. I could go into more details like "pure text" versus "split I&D", but it doesn't matter... the point is, the feature was there.<br />
<br />
So... in Version 7, they defined a new 16-bit magic number whose value looked like "#!" and said "this magic number is interpreted by reading a line of text, breaking it up into two words separated by a space, and calling an interpreter whose name was in the first word, and passing the second word and the name of the file to that interpreter".<br />
<br />
This was the hashbang born. Like many great ideas it was simple, brilliant, and extraordinarily useful.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-38969344167164399162013-03-16T10:13:00.001-05:002015-11-29T07:18:16.690-06:00Lost in Non-TranslationI was just referred to <a href="http://io9.com/this-goofy-scene-from-em-a-knights-tale-em-recreate-453891512" target="_blank">this article</a> by Aaron Diaz (creator of Dresden Codak).<br />
<br />
One of Isaac Asimov's most important essays is entitled "Lost in
Non-Translation", published in the unfortunately out-of print collection
"The Tragedy of the Moon". It points out that simply presenting stories
and parables in a historical context robs them of the power that they
had for people for whom that context wasn't history.<br /><br /><a class="ot-anchor" href="http://www.asimovreviews.net/Books/Book144.html" rel="nofollow">http://www.asimovreviews.net/Books/Book144.html</a><br /><br /><a class="ot-anchor" href="http://www.amazon.com/The-Tragedy-Moon-Isaac-Asimov/dp/0440189993" rel="nofollow">http://www.amazon.com/The-Tragedy-Moon-Isaac-Asimov/dp/0440189993</a><br /><br />Sorry,
folks, you'll have to get it in paper form, it's not available
digitally. It's a shame, this book contains some of his best non-fiction
works. The other books containing this essay are also out-of-print and
paper-only.<br /><br />(in an ideal world Baen would have the rights and it would be in the Free Library, I consider this essay that important)Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-60156734310966994592013-02-26T09:05:00.004-06:002013-02-26T09:08:05.930-06:00The Possibly Proper Death Litany<i>Insofar as I may be heard by anything, which may or may not care what
I say, I ask, if it matters, that you be forgiven for anything you may
have done or failed to do which requires forgiveness. Conversely, if not
forgiveness but something else may be required to ensure any possible
benefit for which you may be eligible after the destruction of your
body, I ask that this, whatever it may be, be granted or withheld, as
the case may be, in such a manner as to insure your receiving said
benefit. I ask this in my capacity as your elected intermediary between
yourself and that which may not be yourself, but which may have an
interest in the matter of your receiving as much as it is possible for
you to receive of this thing, and which may in some way be influenced by
this ceremony. Amen.</i>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-11864647065497660172013-01-23T07:15:00.004-06:002013-01-23T07:15:52.306-06:00Dear Red Hat:Why isn't the BSD license listed on this page?<br />
<a href="http://www.blogger.com/goog_1595811736"><br /></a>
<a href="http://www.redhat.com/legal/patent_policy.html">http://www.redhat.com/legal/patent_policy.html</a>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-13312372783020667612012-11-25T07:33:00.002-06:002012-11-25T07:35:12.608-06:00Open Source on the Windows App StoreI'm seeing a bunch of articles about the Windows App store being somehow
more open source friendly than the Apple App Store, because their
license explicitly states something that is true in both cases - that a
developer's license can override the app store license.<br />
<br />
In
practical terms, this is meaningless. If you have an ARM-based Windows
or iOS device, you can not side-load an open source application into
your tablet or phone. This renders the "open source" nature of the
license practically irrelevant, and if publishing a GPL app through either store isn't actually a violation of the GPL it's at least a cynical exercise in Tivoization by proxy.<br />
<br />
But what really boggles my mind is that people are arguing that this makes Microsoft more "open source friendly" than Apple. Until I can go to opensource.microsoft.com and download some kind of Windows Core kernel, the way I can go to <a href="http://opensource.apple.com/" target="_blank">opensource.apple.com</a> and download a Darwin kernel, the idea that Microsoft's open source support is anywhere near Apple's is ludicrous. Sure, their sources are incomplete - they don't include the GUI sources and some components that would make it trivial to run OS X on non-Apple hardware - but they've kept these sources updated even when people have taken them and used them to create OSX86. I really expected Darwin to vanish when that happened - there's no license requirement for it.Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0tag:blogger.com,1999:blog-2540050923383054265.post-53426484903721729942012-09-05T11:34:00.000-05:002012-09-05T11:34:04.574-05:00The last sign...Reported in Oregon, 1986:<br />
<br />
<span class="yourstyle">Farewell O verse</span><br />
<span class="yourstyle">Along the road</span><br />
<span class="yourstyle">How sad to see</span><br />
<span class="yourstyle">You're out of mode</span><br />
<span class="yourstyle">Burma Shave </span>Resunahttp://www.blogger.com/profile/11926139083455275005noreply@blogger.com0