This is a pretty neat project: In B Flat. Be sure to include the bottom left video, which has a neat bit of poetry in it that meshes well with the music from the other videos. (via MeFi)
Facebook has been deteriorating lately; the signal-to-noise ratio is going down. The news feed is cluttered with quizzes like “Which Disney princess are you?” and with people becoming “fans” of things like music and water.
Fortunately, there are people out there who have fixed these problems for us, with an incredibly useful little Firefox add-on called Greasemonkey. If you don’t have it already, just click that link and click “Add to Firefox.”
Next, we’re going to install a script to make Facebook look like this:

After you’ve added Greasemonkey to Firefox, click on this link to install a script that will strip out Facebook ads, make it have only two columns instead of three, block app invites, and remove “fan” pages and apps from the Highlights and news feeds.
You’ll be left with just the signal without all the noise.
Now that Cygwin is just a keyboard shortcut away, it’s time to explore a little of what it can do.
This is a tool built into Cygwin that makes it easy to download files without needing a web browser. Simply type wget [a url] to download a single file.
But wget has a lot more features than that. For example, if you want to download a lot of files, you can save a list of URLs to a text file, putting each URL on its own line. Then, open cygwin and type wget -i listoffiles.txt and wget will download each file, one after another.
If you’re looking for more interesting ways to use wget, you’ll probably find this Lifehacker post relevant.
When we’re finished, you will be able to type the word weather into the console and get back a list of current local weather conditions and a local weather forecast (example). We’ll be using a shell script written by Jeremy Stanley to make this happen.
NOTE: Since this script pulls its forecast information from the U.S. National Weather Service, forecasts are only available for US territories. However, international readers can still get their current weather conditions since that data is provided by local airports.
tar -xvf [filename] and change to the new folder by typing cd [new folder name]../weather ATL will return the current conditions at the Atlanta airport.weatherrc file in your favorite text editor. Add the following lines to the top of the file (after the copyright notice).[default]
Forecast = True
City = Greenville Spartanburg
St = SC
ID = KGSP
That’s the configuration to get my local forecast. To get yours, we’ll need to change the city, st, and ID variables to your location.
To get a forecast, you’ll need to put in a city that the National Weather Service provides information for. Go here and select your state to find what cities are available. If you don’t want a forecast, just delete the Forecast = True line.
To get current conditions, you’ll need to provide the METAR id for your nearest airport. Go to this map and click on the city closest to you. Under the map will be the METAR id for that airport.
Save the weatherrc file and type ./weather into cygwin. It should give you a local forecast with current weather conditions.
./ beforehand. We’re gonna have to move some files around.
If it doesn’t already exist in your home folder, make a folder called bin (mkdir bin). Move just the weather file to that folder. Make sure it’s executable by typing chmod +x weather.
Next, type python -c "import sys ; print sys.path" to find out where to put weather.py and weather.pyc. I put mine in /usr/lib/python2.5
Then, move weather.1 and weatherrc.5 to /usr/share/local/man/man1, which is where cygwin stores manual files. (Once you do this, you can type man weather or man weatherrc to find out more about how to use this weather script.)
Finally, move weatherrc to your home folder. I recommend renaming it .weatherrc, which will make it invisible to the ls command.
Now, you’ll need to make sure cygwin knows to look in the bin folder for the weather script. Open the .bash_profile file in your home folder and make sure these lines are included and not commented out:
if [ -d "${HOME}/bin" ] ; then
PATH=${HOME}/bin:${PATH}
fi
Once you’ve done all that, type weather into cygwin, and it should give you the forecast and current conditions no matter where you are in the file system.
Gina Tripani from Lifehacker has started an open source command line todo list manager. Once installed you can type things like todo add "Write blog post" to add an item to your todo list, todo ls to get a list of things to do, and todo do 1 to cross off the first thing on the list, and a lot more.
You can find plenty more about the script and how to install it at the link above.
This python script will let you easily send messages to Twitter from the command line. Simply copy and paste this code to a text file and save it as tweet.py (ideally in the bin directory you made above). To make it even more convenient, comment out or delete these lines:
user = raw_input(‘Username: ‘)
password = raw_input(‘Password: ‘)
and replace them with:
user = “your twitter user name”
password = “your twitter password”
Then open the .bash_profile file again and add this line to the bottom of the file:
alias tweet=’tweet.py’
Now you can type tweet "Message to send to twitter" to send tweets from the command line.
This one is easy: simply add the following lines to the end of your .bash_profile file:
function solve () {
awk “BEGIN { print $* ; }”
}
Now you can type solve "2*(3+4)" and it will return 14.
Hope you all find some of these tools useful! If you have any that you want to share, feel free to leave a comment.
I am rediscovering the joys of the command line.
After a couple years of service, my laptop was getting sluggish. After the delays finally became intolerable, I ordered a new hard drive and reinstalled my system from scratch. In addition to making the laptop faster, the process has gotten me to reexamine some tools I had previously neglected.
Chief among these is Cygwin. Linux has a lot of useful command line tools, and Cygwin makes these tools available for Windows. I use it to get the weather, manage a todo list, download files, do math, and even send updates to Twitter. Why use the command line for these tasks, when there are good graphical ways of doing them? Because it’s really, really fast.
The command line drops down over my other windows, like a video game console, at the press of a simple keyboard shortcut. Then it’s just a matter of typing in what I want.
I’ve written about how to set this up before, but a few things have changed since then. Here’s how to set up a Quake-style dropdown command line.
Install Cygwin. I use the e text-editor, which automatically installs Cygwin with a bunch of useful packages in order to enable its more advanced features.
Install AutoHotkey. (By the way, this program has a lot more uses than just this drop-down command line. It’s something I know I haven’t explored to its full potential yet.)
Install Console2. This is a free and open source console program, which is much prettier than the standard Windows Command Prompt tool. You’ll want to install the latest beta version of the software (the stable version hasn’t been updated in years). For reference, I’m using Beta #144.
Download console.xml and consolecywgin.xml and put them in the same folder as Console2, replacing the console.xml file that is already there.
In the Console2 folder, right click on Console2.exe and click Create Shortcut. Rename it consolecygwin.
Right click that shortcut and click Properties. In the “Target” field, add -c consolecygwin.xml after the final quotation mark. Click OK.
Open Autohotkey if it isn’t open already. Right-click on the Autohotkey icon in the system tray and click Edit Script.
Copy and paste the contents of this file to the end of the AutoHotkey.ahk file that appears.
Save and close the AutoHotkey.ahk file. Right click the Autohotkey icon and click Reload This Script.
Now if you hit the Windows Key and the ~ key, you’ll get a regular old DOS prompt. Hit Windows Key + Shift + ~, you’ll get the Cygwin prompt. Type exit into either prompt to make it go away. Press escape to hide the prompt, and press either of the hotkeys mentioned above to bring it back.
In my next post, I’ll go into how to set up some of the neat commands I mentioned earlier.
Last week, AIG offered me a health insurance plan in the mail. Included was a list of things excluded from the plan:

That seems just a little restrictive. Here’s a PDF of the whole thing, which includes restrictions against injuries sustained while playing team sports, participating in races, and heart attacks.
I think I’ll pass.
Sins of a Solar Empire is an awesome, awesome game, especially with their new Entrenchment expansion. Last night I beat my first opponent on Hard mode, and I think it makes for an interesting story:
I was playing as the Vasari, a race of high-tech aliens with expensive but powerful ships, marked in green above. My opponents were the Verlin Descendants, a human faction with cheaper ships, marked in red.
I had pressed as far as Cesaro (one of the terran worlds in the east on the map above) with little resistance, but the humans had gotten going a little faster than me and had taken over Echemmon before I got there. I set up ship factories on Cesaro, built carriers full of bomber squadrons, destroyed their starbase at Echemmon, and took over the planet. I had built my own starbase there, but neglected to upgrade its armor and weapons, thinking that the remainder of my fleet and the starbase could handle anything the humans could throw at me.
This, it turns out, was an error. Before long, the humans sent in a massive fleet, with a lot of Ogrov Torpedo Cruisers, ships designed to take out structures like starbases, and with a lot of Flak frigates, designed to shoot down my bomber squadrons. In seconds my starbase was reduced to dust, and I was forced to pull back. Their fleet chased me out of Cesaro, destroying my factories and my pitiful local defenses and decimating my fleet. I pulled back to Dione.
I had expected the humans to pursue me again, but they did not. Perhaps they wanted to tend to their new conquests. Maybe they thought I held a fleet in reserve. Maybe they were afraid my fleet would jump back to Cesaro and take out their new buildings while they attacked. Or maybe they feared Dione’s more powerful starbase, which had much thicker armor and more powerful weapons.
In any case, I was sure I was going to lose the conflict. They had a larger fleet and access to more resources. I kept waiting for them to press their advantage, but apart from brief, smaller raids on Dione, which my fleet and the starbase easily swatted away, they seemed to be leaving me alone.
I set about rebuilding my fleet, doing research into ever more powerful shields, armor, and hull designs, and pondered how I might salvage the situation. Then it came to me: I would build a Kostura Cannon.
Now, I need to explain something about how the game mechanics here: You see those lines on the map? Those indicate the paths that ships have to travel. So even though my home planet of Weierstrass and their home planet of Minox are right next to each other physically, I’d have to jump to five different planets to get there.
But there is an exception: The Vasari have a technology that lets them build Phase Gates. A friendly ship can go directly from any planet with a phase gate to any other planet with a phase gate, bypassing the long trip from planet to planet to planet.
The Kostura Cannon is a large, expensive orbital weapon that can shoot at any planet, damaging every ship and structure in orbit. More importantly, it also temporarily makes that planet a phase stabilizer node, meaning that any ship at a planet with a phase gate can jump directly to it.
It was a big gamble: I had to build several new research labs, spend a lot of money on building a prototype, and then wait while I accumulated enough resources to build the cannon itself. All the while, I expected the humans to attack–instead, I discovered later, they were building broadcast centers, attempting to take over my planets using a propaganda campaign. It nearly worked too, but I built my own media hubs just barely in time to save Dione from rebellion.
Eventually, the cannon was finished and my fleet was rebuilt. I fired the cannon at their homeworld and sent in dozens of ships. Their fleet was badly out of position, and I was able to bombard their home planet–and their Capital Ship Factory–into oblivion before they could respond.
Meanwhile, I was building more ships and researching more technologies. I readied the cannon again and fired at Akhmatova, and sent even more ships into their back lines. This second fleet included a Migrator, which I used to build a starbase in orbit above their planet. The starbase was quickly outfitted with its own phase stabilizer nodes, allowing my ships a permanent direct path past their defenses at Terradas.
Their fleet eventually arrived, but it was too late. They had spend too much of their resource advantage trying to expand by culture; their fleet was not much larger than the one that had chased me out of Echemmon. I was able to crush their fleet and take over everything from Minox to Artemis before they surrendered.
Jonathan Chait has written a lengthy but excellent article rebutting the current conservative argument against Obama’s plans to stimulate the economy. It deconstructs The Forgotten Man by Amity Shlaes, the book endorsed by Republican luminaries as an argument against the so-called “New New Deal.” (This is not an accurate term, as no one is arguing for a complete emulation of every New Deal policy Roosevelt enacted, but it will do.)
One thing I come away with is this: Government spending stimulates the economy. This is inarguable. It worked when the government bought public works projects in the New Deal. It worked when the government bought bullets and tanks in World War II. It worked when the government bought planes and ships in Reagan’s administration.
The Republicans are arguing for cutbacks in public spending, conveniently returning to the position of “fiscal responsibility” now that they are out of power. Generally, I want balanced budgets and a smaller government too, but cutbacks during a financial crisis this would be irresponsible. I would rather have more debt than another Great Depression. And if the government must spend money, I would far rather we buy better infrastructure than more guns.
The Republicans today are parroting Herbert Hoover, who warned that the spending of the New Deal portended “gigantic socialism.” The comments after the article linked above do nothing to help the Republicans argument–They are barely coherent, badly spelled, full of name name-calling, aggressive statements of faith without any supporting facts.
It’s a shame, really, because the Democrats need strong, thoughtful opposition if the country is going to succeed in the long term. We need at least two parties with intellectual honesty and good sense, and the Republicans aren’t doing their part right now.
In any case, if you have any interest in the current argument over the economy, read the article linked above. It’s well worth the time it takes to get through it.
As I mentioned on the Parade of Awesomeness, I’m learning to cook. Today I made vegetable stock for the first time; it’s actually still boiling right now.
Lessons learned so far:
Hopefully this stuff will taste good in soup tomorrow!
Last night, I went to the talk20 Spartanburg event at Hub-Bub, a local art gallery/culture center. talk20 is a really neat program, held in cities like Cincinnati, Toronto, Chicago, Philadelphia, and Spartanburg. One of these things is not like the others….
Essentially, talk20 is a series of short speeches accompanied by 20 slides, displayed for 20 or 30 seconds apiece. There were ten of these speeches last night, with topics ranging from an ill-behaved pet cat to locally grown food to a religion teacher at Wofford who also teaches professional wrestling.
It was a lot of fun, and I met some nice people. I’m really looking forward to the next one, held sometime later this year.
Spartanburg got three and a half inches of snow yesterday. Today, it was relatively warm, so the snow packed extremely well. Perfect for making snowmen and snowballs.
And for rolling snowballs off of the roof.

More photos up on Flickr.