Latest articles

Perfect Summary of Steve Jobs

"Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom..." - Richard Stallman

I could never hope to come up with a more perfect description of Steve Jobs myself. The rest of Stallman's post on the matter also earns a resounding "ditto" from me (Yes, I said "ditto". I'm not even going to try to top what's already been so well put.):

"As Chicago Mayor Harold Washington said of the corrupt former Mayor Daley, 'I'm not glad he's dead, but I'm glad he's gone.' Nobody deserves to have to die - not Jobs, not Mr. Bill, not even people guilty of bigger evils than theirs. But we all deserve the end of Jobs' malign influence on people's computing.

Unfortunately, that influence continues despite his absence. We can only hope his successors, as they attempt to carry on his legacy, will be less effective." - Richard Stallman

I'm irritated at Iternational Business Times's Amrutha Gayathri referring to Stallman's post as "grossly inappropriate". Stallman stated flat out, "I'm not glad he's dead". So, yea, let's continue our society's idiotic little game of pretending that dying automatically turns everyone into a retroactive saint.

Read more


'tee' Time Logging

Sometimes the output from a command line tool can be so large it doesn't all fit on the screen, even with scrolling. Or you may want to preserve the output for later study.

For instance:

> wget --help

That's a lot of output!*

On both Windows and Linux, you can easily save the output of a command to a file like this:

> wget --help > output.txt

But that has two problems:

  1. It only saves stdout, not stderr.
  2. It no longer shows you the output. And that can be especially annoying if it's a command that takes a long time (like compiling GCC).

How to fix? On Linux, use this script I've named teelog:

#!/bin/sh progpath=$1 progname=$(basename $1) shift $progpath "$@" 2>&1 | tee $progname.log

That redirects stderr into stdout, and then sends stdout to tee. The tee command saves it to a file while also sending it back out to stdout so you can still see it.

Don't forget to set the executable bit with chmod +x teelog. Then put that script somewhere on your PATH and just run:

$ teelog wget --help

You'll see everything just like normal, but everything will also get saved to ./wget.log.

On Windows, things are a bit more difficult. First of all, there's this little snippet that people on the internet keep repeating:

> wget --help 2>&1 > output.txt

That does not work reliably on Windows. It should work, and it does work on Linux. But on Windows, there's what appears to be a race condition: Whenever the command outputs to both stdout and stderr, the order is likely to get screwed up resulting in mixed-up, possibly-garbled, output. Interestingly, in my experience it does seem to work if you pipe to another program instead of redirecting straight to a file. But that leads to the second problem:

The second problem is that Windows (surprise, surprise) doesn't have a built-in tee utility like Linux. Fortunately, people have gone ahead and made such a tool for Windows. There's a port of the GNU tee to Windows which seems to be pretty good. There's also another open-source one here, but it's very slow. The GNU one seems a bit better.

With a third-party Windows tee under out belt, we can now make it a teelog.bat for Windows:

@echo off set TEELOG_PROGNAME=%~nx1 %* 2>&1 | tee.exe %TEELOG_PROGNAME%.log

Make sure both teelog.bat and tee.exe are somewhere on your PATH (The Windows directory works well enough, as long as you have admin rights on your system.) Then just like on Linux:

> teelog wget --help

Whee!

*: Yes, I know the output of "wget --help" does fit with scrolling. And yes, I know Windows doesn't come with wget. But you can get it for Windows.

Read more


Why Use a 10-Year-Old OS?!?

Because it's the newest version of Windows that's actually worthwhile.

Zing!

And from what I've seen so far, Windows 8 does nothing to change my mind. If anything, it looks like it'll be the final straw: that last push I need to switch to something like Debian with Trinity. And I've been a loyal Windows user since Win 3.11.

But if Microsoft is so hell-bent on turning into Apple as they have been for at least five years straight (I didn't even accuse MS of that with Win95 like a lot of other people did), then it's time for me to move on. And I don't even like any of the Linux file managers...

Read more


If Git cares about speed so much...

...then why is GitHub so goddamn slow? Even compared to BitBucket it's a dog.

LaunchPad is wonderfully zippy, much more than any of the others. It's unfortunate that LaunchPad's interface is so messy.

Read more


Fuck JavaScript...

...and all you moron kids who can't comprehend the distinction between "newer" and "better".

Read more


whitehouse.gov's Official Petition Boards, Software Patents, and Modern Barbarianism

Online petitions have a reputation for being useless. But I was surprised to see whitehouse.gov has their own online petition site. The really impressive part is their policy that for any petition receiving 5,000 signatures within 30 days (numbers subject to change), "an official response will be issued" (whatever that actually means).

There's a very interesting one right now: Direct the Patent Office to Cease Issuing Software Patents.

As with any government website, the implementation is a complete piece of garbage that only barely works. But when it comes to something as important as finally killing off Software Patents, I think it's well worth putting up with. There's a lot of other very good petitions up there, too. I signed a number of them.

I am absolutely appalled, however, that the Ban non-therapeutic routine infant circumcision has only a mere fraction of the number of signatures as Legalize and Regulate Marijuana in a Manner Similar to Alcohol (1,583 versus 41,339) even though they were started just one day apart. I'm certainly all for the legalization/regulation of weed (even though I have no interest in using it personally), but seriously: What the fuck is wrong with our society that we care that much more about a recreational substance (yea, yea, "with medicinal properties", I know) than such an absolutely colossal and barbaric violation of basic human rights? And against babies, for fuck's sake! (Not to mention the blatant disregard for the Hippocratic Oath.)

And before you knee-jerkers try to mislabel me a neo-nazi: Even though this country has religious freedoms, there are many things that religions are not allowed to do. Religions are not permitted to kill (erm...I mean "sacrifice") anyone. They can't oppress women, or men. They can't break and enter. Etc. But the key in this case is that they have no right to commit blatant human rights violations even as a religion. Which they currently do on a regular basis anyway. They get rid of that and I'd have no more problem than I have with any other religion. And it's not as if this is purely a religion issue anyway: There's plenty of people with no connection to that religion that have willfully butchered their sons, too.

BTW, If you think it's a "hygiene" issue then you're a fucking idiot. Have you ever washed one of your fingers? Seriously, how fucking hard was that? Just ask any non-gimpdick man how hard it is to wash one simple body part.

Read more