dannyman.toldme.com


Featured, Technical

Keeping Up With Your Web: Google Reader and Google Chrome!

Link: https://dannyman.toldme.com/2010/01/10/keeping-up-with-your-web-google-reader-and-google-chrome/

So, you like reading web pages? Do you visit a hand full of blogs and news sites a few times a week to catch up? Is it a lot to remember: which web sites you like to read, and you wish there was an easier way? There is an easier way: use an aggregator!

So, what’s an aggregator? Think of an aggregator as your favorite newspaper. These days most of the content in most newspapers doesn’t come from in-house reporters. Instead the editorial staff select items from syndication feeds like AP and Newswire. That is what an aggregator does: it keeps track of the feeds from the web sites you are interested in, and presents them to you in one convenient package. An aggregator is your personalized electronic newspaper.

Google Reader

Okay, where do I get an aggregator? There are many aggregators, and you may have to try a few before you find one you really like. I like to use Google Reader because I can access it from any web browser. I like the “sort by magic” feature, where it tries to show me the stuff I’m most likely to enjoy first. If I catch up on all my reading it will go and try to find other content I might like.

In order to maximize the Google Reader experience I have moved two buttons to my Bookmark Toolbar: a “subscribe” button and a “note in reader” button. When I stumble on a new web site with interesting content, I hit the “subscribe” button, which tells Google Reader to look for the web site’s syndication information, and add this web site to the list of web sites I like to read. (This doesn’t always work, because not all web sites have a “syndication” feed set up properly . . . in my experience, I’d say 70% of web sites work and 99% of blogs work right, and this is improving over time.)

A view of the Subscribe and note buttons in Firefox.

I hit the “note in reader” button when I am reading something I think is noteworthy. A dialog window pops up inviting me to enter a comment about the piece, and this is then published to a personal scrapbook. The nice thing is you can share these scrapbooks online, and subscribe to these scrapbooks just as you would subscribe to a web site. This means that your friends can help you find interesting things to read. For example, I really enjoy a lot of the articles about urban planning and mass transit that Ed Meng notes in his scrapbook.

When reading in the Google Reader interface, you can hit the “like” icon at the bottom of an article, and Google Reader will use that knowledge to help find interesting articles for you and for other people.

Google Chrome

Lately, my friends and I have started using Google’s new web browser, Google Chrome, more and more. The first reason for this is because it is fast: it launches fast and it performs tricks like DNS pre-resolution in order to load web pages faster. A somewhat faster web browser may not sound like a big deal but those of us in IT spend several hours a day using web browsers, so switching to a snappier web browser feels a bit like switching to a faster car with better handling. In a word, Google Chrome goes “whee!”

Chrome also has a lot of little spit-and-polish features that make a difference. I really enjoy that when I click the “new tab” button, a screen appears showing me thumbnail icons of the web sites I tend to visit. It makes getting where I want to go just that much more pleasant.

Google Chrome's "new tab" screen.

Application Shortcuts

The feature I have taken to lately is Google Chrome’s “Application Shortcut” feature. I bought a netbook last year, which is damned handy: like having a little “sketchbook” computer, handy for coffee shops, airplanes, or just catching up on Google Reader from the couch. Unfortunately, netbooks have limited screen resolution, and between the title, menu, URL, bookmark bars, and the Google Reader interface, I was left with less than half the height of the entire screen for skimming articles. Frustrating . . .

Google Reader in Firefox: Nearly half the vertical space is wasted.

Now, I have used the “Create Application Shortcuts…” feature of Google Chrome, which creates a “desktop application” out of Google Reader. When I run the desktop application Google Reader is launched in a special Chrome window that skips all the menu bars in a normal web browser window: all I get is a title-bar and a big old window for reading articles in Google Reader. If I click on article links they launch in the full web browser, where I can bookmark them, note them in reader, or the like.

Google Reader as a Google Chrome "application" leaves more room for reading.

So, perhaps this explanation is helpful to some. You are welcome to comment with your own tips. Otherwise: happy aggregating!

3 Comments


Featured, Mac OS X, Sundry, Technical, Technology

Week of 20 December, 2009

Link: https://dannyman.toldme.com/2009/12/27/week-of-20-december-2009/

Sunday, December 20

So, it is weird sleeping in when you expected to be on a train. New York City was a winter wonderland, very pleasant to walk around when the cars are driving slow, and the streets are filled with people shoveling snow. A Winter snow storm the weekend before Christmas hits the spot for people to rub shoulders with strangers in a friendly manner.

The snow also means no parking enforcement on Monday. It looks like we will have to move the car before Thursday, as Christmas Eve is not a parking holiday.

We went to brunch, then some light shopping, and back home for a relaxing afternoon. Mei has one last night shift this evening, and since the car is well and buried, I escorted her to the hospital on the train.

I like going out in the snow. Must be that Viking blood. On my way back I noted that in the working class neighborhood surrounding the hospital, there was less commercial activity, because there is less money to spend. Without a critical mass of people with sufficient disposable income, you don’t get the retail services opening up which help employ the working class, and that is why modern small towns tend to be somewhat dead. I started thinking about how in SimCity 4, commercial development always lagged in a new town until a certain point . . .

Later that night I looked up the new MMO city simulator, Cities XL. For $10 / 30 days I thought I would give it a try. I didn’t go to bed until 5am, though to be sure I didn’t get the game running until 3am due to download issues. The game feels pretty “beta” but from what I seen the interface is pretty slick, and the graphics are beautiful. It seems pretty close to the idea of a game I have been wanting to play for years, where you build your city on a planet with other cities, and cities have effects on each other. The first two things I have seen that have been missing from SimCity is that the very first thing you need is a road coming in from outside, and then a consideration for local natural resources, which give your new town a back story and a context, which is a more satisfying start than an abstract sandbox.

Monday, December 21

Brian: Okay, cats riding Roomba pretty much justifies Google’s purchase of YouTube.
Me: Amen! It is all about . . . the long tail!

Tuesday, December 22

Brunch with Mei. We ate at Tom’s which is this famous place that is never open. I ate there once before and enjoyed their French Toast, but this time through we found the food quality somewhat lacking.

After a relaxed day at home, it was up to Penn Station, and on to Chicago. Mei accompanied me to Penn Station to see me off, but as I was concerned with finding the Amtrak check-in kiosks and then a good place to wait for the track announcement I kept speeding off ahead of her. She wasn’t too pleased about that but was gracious enough in saying goodbye. I got a nice seat on the train and a Japanese Literature Post-grad named Steve sat next to me.

The train was running a little late, and they never did go through coach for dinner reservations, so as the train pulled out of Albany at 7:30 I walked back to the dining car, where a long line of confused and uninformed guests had gathered, knowing that they typically stop serving dinner at 8pm. I had a lamb shank, sitting across from a guy who had been in computer sales for the past half century or so. Right now he is retired but helping some guys in nano-fabrication get running in business. Cool stuff.

There was a fair amount of talk of politics. The guy was Republican who had voted for Obama, and the lady sitting next to me said her husband was a Tea Party protester. I started to laugh in sympathy then realized that hey, sometimes you have sat down to eat with Republicans. I listened as these business folks tried to make sense of the role of government in the modern world. They disdained the crazy right-wing types who oppose all government programs.

I slept better than I had the first time I rode the train in November.

Usenet’s big “problem” is that nobody ever wrote a user-friendly web interface for it. Instead, the people who really wanted to chat found it easier to hack up web forums filled with animated emoticons using PHP and MySQL, rather than figure out some bitchin’ gateway into the great gray world, ruled by curmudgeons content to seal themselves off from the hoi polloi.

Wednesday, December 23

We were repeatedly woken in the morning by loud announcements regarding the fact that breakfast could be had in the dining car. I took the L home through a landscape I most remember from high school. In the evening I showed Machinarium to the family, which everyone found to be adorable and engaging. I ended up playing the game until 3:30am.

Thursday, December 24

We headed down to Grandma’s house for Christmas Eve. There was less family around than other years but neighbors dropped by. A lighter year than usual, so we had a lot of leftovers.

Around 10pm we opened presents. I went to set up the webcam I had gotten Grandma, but when I plugged it in to her Mac nothing happened. Further investigation revealed that the UVC feature that enables webcam support was introduced in OS X 10.4 and that if you have 10.3.9 you’re just a sorry twat who can not use webcam software. Okay, so how much to upgrade? Well, the latest and greatest is only $30! That’s not so bad, let us do this! Woah there pardner, you can’t have the new Mac OS unless you have 1GB of RAM and an Intel processor. Your vintage Mac Mini just isn’t going to do! Uhhh, okay. How about 10.4? Well, Apple doesn’t publish that any more, that is a collector’s item, you see. The current market rate for a used copy of the old Mac OS on the resale market is around $150.

I guess if you keep spending money on upgrading your Mac everything will be dandy but if you’re the sort of human trash who only upgrades her computer maybe twice a decade then Fuck You, Grandma! If this were Windows or Linux someone would have figured out how to support a nice webcam. Hell, on Linux I can even use the cheaper “Windows” webcam because, unlike Mac OS, someone figured out how to get the auto-focus working . . . the fact that Microsoft can only manage to squeeze out a potentially mandatory OS upgrade once or twice a decade begins to seem more virtuous. Apple really should let you easily upgrade components of their OS without much hassle, but selling computers is how they make money.

Fuck you, Apple. Well, I’ll find her an upgrade to OS X 10.4 for non-Intel computers on CD-not-DVD and there may even be a store around that will happily get her a memory upgrade, because something tells me that even if the Apple Store has a Genius who could, by appointment only, fill out the form to mail the computer off for a memory upgrade because woah basic maintenance on a Mac Mini is effing rocket science I suspect that when they find out it is an old computer stained by a half decade of tobacco that they will just condescendingly laugh at my horribly backward Grandmother and I’d finally snap and go in there and beat the crap out of some wannabe-hipster douchebags.

Next time Grandma gets a PC.

Friday, December 25

Cleaning up Grandma’s house. Uncle John started to explore the netbook that we got him for Christmas. Janice came by, and we were all glad. John set up an old-fashioned 120mm “dual lens reflex” box camera on a tripod and some lights and took some family Christmas photos. We also looked over some rifles that had been sitting around in Grandma’s house from the previous owner, before heading back home.

Saturday, December 26

Mom treated me to brunch, and Jessica brought the posters she got me for Christmas to her shop to frame them. Then, Mom drove me down to Union Station, for my 9PM train back towards New York.

Feedback Welcome


Politics, Sundry, Technical, Technology, Testimonials

Banking History

Link: https://dannyman.toldme.com/2009/12/18/banking-history/

The History Channel recently aired a show called “Modern Marvels: Banks” which first caught my ear early in the show when they reported that: “soon it may even be possible to do your banking in the kitchen, using a microwave oven . . . today there are less than 10 million consumers doing online banking, that’ll be over 100 million in the near future.”

WHAT!? I press the Info button on my television and see the show was produced in 2002. Back then my bank’s online service wouldn’t let me log in because I wasn’t running Windows.

Later in the show they cover the Gold Rush, the San Francisco earthquake and firestorm, the rise of Bank of America, the failures of banks during the Great Depression, and then they started talking about Roosevelt’s New Deal, starting with FDIC, and:

Narrator: The Government also took drastic action that split the banking industry into separate parts.
Richard Sylla: It was decided that because of the stock market crash and the Depression that it would be a good idea to break off commercial banking from investment banking. Commercial banking deals with loans and deposits. Investment banking deals with underwriting securities, issuing new securities. The Glass-Steagall Act of 1933 decided that bankers would have to choose either to be commercial bankers or investment bankers, but they couldn’t be both.
Narrator: It was thought that banks would be less likely to fail if they were not operating as financial “supermarkets.” Economists today believe that bigger financial institutions are much safer, because their risks are diversified. The merger between Citibank and Traveler’s Insurance that created the financial behemoth of Citigroup would have been illegal had the Glass-Steagall Act not been repealed in 1999.

Those economists of 2002 were right in that larger banks were less likely to fail, but this is because of government intervention to bail out financial institutions deemed “too big to fail” rather than diversification of risk. Just as economists were buying into the “bigger is safer” philosophy, my industry embraced a philosophy of small, cheap, redundant parts which could fail individually without bringing down the entire system. They built Citigroup, and we built Google.

Fortunately, these days I can do my banking from Linux, and my microwave never touches my money.

Feedback Welcome


Technical

Shell Function: Compare Output of Two Commands

Link: https://dannyman.toldme.com/2009/12/15/shell-function-compare-output-of-two-commands/

I just wrote this up for some test automation. This function gets passed two commands, runs both commands, and returns “PASS” if they match, or “FAIL” with the diff if they do not match.

compare_output()
{
    out1=/tmp/output-$$.1
    out2=/tmp/output-$$.2
    $1 2>&1 > $out1
    $2 2>&1 > $out2
    diff -q >/dev/null $out1 $out2
    if [ $? != 0 ]; then
        echo "FAIL"
        echo
        echo "Details:"
        diff $out1 $out2
        echo
    else
        echo "PASS"
    fi
    rm $out1 $out2
}

echo -n "Test that will fail: "
compare_output 'echo pass' 'echo fail'

echo -n "Text that will pass: "
compare_output 'echo pass' 'echo pass'

Feedback Welcome


About Me, Python, Technical

Why Python Can Suck (But I Still Like It)

Link: https://dannyman.toldme.com/2009/12/08/perl-vs-python-documentation/

Based on something I posted to Facebook:

Perl’s “natural language” emphasis and non-obvious locutions encourage developers to document their code. Many times I have put some hard work into a line or a block of code, and ended up writing in some comments as a part of the process.

Python code is nice and readable but often very poorly documented. “The code should speak for itself,” and while it is easier to read Python code sometimes a few human-language comments would save some time and annoyance.

Maintaining Python code is easier than maintaining Perl, but using Perl modules is often easier than using Python modules because Perl developers are kinda forced to explain their work.

One of the first things I had to accept about pydoc is it is almost universally worthless, and even good functional documentation will often omit the sort of useful examples that I am most likely to find quickly intuitive.

This is why I have transitioned so slowly. Python’s strengths breed a certain weakness just as Perl’s weaknesses breed a certain strength.

At this point, I would consider myself approaching bi-linguality, and pretty comfortable in either language. If I have a preference it would be for Python, because I am lazy about documentation and even maintaining my own code, it is a lot easier to figure out what I wrote in Python somewhat after the fact. But my fondness for Perl and its generally more approachable documentation stands, and I’m not about to dis what has served me so long and so well.

1 Comment


Python, Technical

Notes on Porting a Django App from SQLite to MySQL

Link: https://dannyman.toldme.com/2009/12/04/django-migrate-database-sqlite-mysql/

This was painful. I’ll be doing this again next week, then hopefully never again.

First off, if you ever hit an error, drop and re-create your MySQL database, or at least drop the tables, or things just get weirder.

Grab the data from SQLite:

python manage.py dumpdata > $APPNAME.json

The, update settings.py to connect to the MySQL database, and if you are really lucky:

python manage.py syncdb
python manage.py reset contenttypes
python manage.py loaddata $APPNAME

(Thank you, Carl Meyer!)

Now, here’s the cute things I ran into. I had originally built a model with a TextField primary key. This is fine by SQLite but when Django tries to create a BLOB field you get in trouble asking for it to be unique, never mind a primary key. Fortunately, it was easy enough for me to simply change it to a CharField, which will tell Django to use VARCHAR. (SQLite certainly didn’t mind.)

The other was that neither Django nor SQLite were enforcing field length limitations, so I would hit some errors when loaddata tried to bring in database entries that were too long. I worked around this by raising my length limitations. There was also some ugliness with a UTF-8 string, which I solved by creating the text object in question.

3 Comments


Linux, Sundry, Technical, Technology

Windows 7 vs Ubuntu 9.10

Link: https://dannyman.toldme.com/2009/12/02/windows-7-ubuntu-first-impression/

So, I tried Windows 7 beta, and recently scored a copy of Windows 7 for my desktop PC, via employee discount. (I’d be willing to pay $50 for the OS, so $25 isn’t a bad deal. The again, Microsoft sent me some very large checks for my Tellme equity in 2007 so a very small Capitalist part of me is rooting for them.)

Where do you want to install Windows?

It is pretty nice: basically a refresh of Windows XP, with extra spit-and-polish. Zippier, too! It boots and shuts down faster than XP or Ubuntu, and manages OS updates without requiring my intervention and subsequently breaking things, like Ubuntu does. I was musing to my coworkers that if it had the following, I could switch from Linux:

1) A decent software packaging system.
2) Built-in Virtual Desktops.
3) Middle-button paste.

Boot/Shutdown Speed

I turn my computers off when I’m not using them. I like that Firefox will remember tab sessions. But waiting for an OS to boot is wasted time.

Despite recent improvements, Ubuntu still takes way too long to boot, and seemingly forever to shut down. Windows 7, by contrast, is pretty darn zippy. I like that!

Winner: Windows 7

System Updates

So, for the record, I’m thinking to turn off system updates on my Ubuntu environments, because they aren’t worth it and they keep breaking my stuff. I’ll just refresh twice a year when the new release comes out, therefor managing the pain of upgrades. Windows updates are more important, given the constant security threats. Fortunately, Windows does that for me without my noticing, save the stupid “I will forcibly reboot you in 5 minutes” thing that hasn’t hit me (yet?) on Windows 7.

Winner: Windows 7

Software Packaging

Windows seems to have made some improvements with software packaging, and I gotta say it is convenient to go to a web site, click on an installer, and a few minutes later have the application running. Of course, then there’s another icon on your desktop and the Yahoo! tool bar has been added to your web browser . . .

On Ubuntu, though, most of the time I go to a shell and type:

sudo aptitude install foo

And there I go!

Sometimes software isn’t available in the central repositories, but 9.10 has made adding some PPAs easier. And sometimes I go to a web site, click on a link to a .deb file, it downloads, the system asks for my password, and the software gets installed without leaving crappy toolbars in my environment. Victory!

Winner: Ubuntu

Virtual Desktops

Ubuntu’s Gnome interface would be nicer if I could drag windows to the side of the screen and they’d pop over to the next screen, like the fvwm2 pager. But, I’m pretty well content with Ubuntu’s virtual desktop ability.

You could probably install a decent hack on Windows 7 to get this, but really, virtual desktops and pagers should be built in.

Winner: Ubuntu

Command Line Environment

So, with Ubuntu I can fire off command shells with wild abandon and do what I need to do. (I’m a Unix system administrator, so I relate to computers mostly by typing commands and scripting.) Windows 7 has a new “PowerShell” feature that implements a few Unix commands. After half an hour of searching I discovered that you can get to the PowerShell by hitting Windows+R and then typing “powershell” — heck forbid we should put this in the start menu or make it available by searching for “shell” but okay . . .

With Ubuntu, I can highlight text by dragging and clicking my mouse. This is just like other environments, but instead of hitting control-C (or, ahem Open-Apple-C) to copy the highlighted text into your clipboard, and control-V (I mean, Command-V) to paste from your clipboard, with Unix, whatever you highlight goes straight to the clipboard, and you paste by tapping the middle mouse button.

That can be a little scary sometimes but once you get used to the convenience you really can’t go back to having to mouse and keyboard to cut and paste.

Once you figure out how to launch the PowerShell, you can not simply highlight text with the mouse. Seriously, WTF!? No, this is how you copy-and-paste stuff with PowerShell:

Hit Alt+Space to bring up the console menu, then type ‘E’ to bring up the ‘Edit’ menu and then ‘k’ to start copying or ‘P’ to paste the text in the clipboard to the console. In ‘copying’ mode, you just use the arrow keys while holding down the shift key to select text, and hit Enter to add the selection to the clipboard.

Durr
“Ah, hello, Microsoft? Yes, the 1980s called and they want their primitive user interface back. Thanks!”

Update: You can launch PowerShell is a window that supports text highlighting by dragging the mouse via Start > All Programs > Windows PowerShell > Windows PowerShell. It looks like you can copy highlighted text with control+C and paste with the right mouse button. (Getting closer, I guess!)

Winner: Ubuntu

Focus Follow Mouse

Down in the accessibility menu, there’s an option for “Activate a window by hovering over it with a mouse” . . . but checking that option doesn’t actually change the behavior . . .

. . . correction: it does. After some seconds it brings the window you are hovering over to front. No, I just want focus, not raise! Arrr! Ubuntu knows how to do this, with just a little checkbox.

Update: There are three ways to do this. The registry hack was my solution.

Winner: Ubuntu

Default Web Browser

I’ll give Internet Explorer some credit; I can type whatever crazy thing I want into the URL bar and the second it realizes I didn’t type a URL, it goes over to Bing. Nice!

But then the default behavior is to create new windows all over. Seriously: what is the point of tabbed browsing if you don’t put stuff in the tabs? The big fail though is that for whatever reason the WordPress HTML editor in Explorer keeps jumping up to the top of the text input window, which made working out this post a seriously annoying experience.

A quick install of Google Chrome and my web browsing experience not only interfaces well with WordPress and pops new windows into tabs, but I can type whatever crazy stuff I want into the URL bar and in a not-be-evil sort of way, it shunts me with due humility over to Bing. So, Chrome is my new default web browser for Windows 7. (And I’ll continue trying out Bing, even though I’m a Google fan-boy.)

Winner: Ubuntu

7 Comments


Technical

Mutt Macro: Mass-Delete System Spam

Link: https://dannyman.toldme.com/2009/11/18/mutt-tag-prefix-cond/

I just added this to my .muttrc:

macro index Z '<tag-pattern>~f (cron\|nagios\|root)<enter><tag-prefix-cond><delete-message>'

Now if I hit shift-z, all the mail from cron, nagios, and root is marked deleted. If I’m feeling aggressive I can then hit x, which for me means “expunge” deleted messages. (I came from pine.)

Feedback Welcome


About Me, Biography, Featured, Good Reads, Technical, Technology

Open Source Projects Could Augment CS Curricula

Link: https://dannyman.toldme.com/2009/10/27/or-why-i-dont-care-about-snakeoil-salesmen/

Everyone is talking about Joel Spolsky, especially with his latest article.

Many appreciate what he has to say, but then again, he is basically articulating what we all know, and plenty figure that maybe his writing is no longer fresh, and he is just cranking out articles in order to shill his warez:

“This might be a neat opportunity to use Scrum. Once a week, the team gets together, in person or virtually, and reviews the previous week’s work. Then they decide which features and tasks to do over the next week. FogBugz would work great for tracking this . . .”

My position is that most stuff we read is mediocre, and Joel at least writes well, and Joel wears his ulterior motives on his sleeve, so when he starts figuring FogBugz can cure what ails CS curricula, I just figure “and now a word from our sponsors” and my brain hits the fast-forward button.

I think Tom actually has the best reaction to the issue Joel brings up, in that he adds that different people have different learning methods:

We all know there are students that are “visual learners”, “audio learners” and “kinesthetic” learners.

We all know what? Okay, yeah, and “everyone” is talking about this, right? Anyway, Tom, like me, is a learning-by-doing kind of guy who didn’t always “get” the formal CS curriculum:

When I took my undergraduate class on software engineering methodology I felt it was useless because I couldn’t see the point of most of what I was being taught. Most of my programming had been done solo or on a small team. I could not take seriously the problems that were being “fixed” by the software methodologies discussed in our lectures. “Code size estimation? Bah! Impossible, so why even try!”

In my CS days, the bits I enjoyed most were the learning-by-doing: compiling my first C program, bending my mind around recursion and functional programming to complete assignments in MIT Scheme, implementing a virtual spanning tree, and coming up on my own with the idea of a finite-state automaton to parse NWS weather forecasts. (Okay, that wasn’t a CS assignment and I didn’t know how to talk to girls.)

The parts where I fell completely flat were the theoretical classes where we considered bizarre hypothetical problems that didn’t make sense, using Greek letters that didn’t seem to have anything to do with reality. One day my ECE roommate asked how, as a CS major, I would go about sorting one million integers. My response was “why would you want to sort one million integers?” Later I slept through multiple lectures where the best methods of sorting integers were discussed at length. I skimmed the slides so I know that Quicksort performs well and in-place, but that Bubble Sort may work better if your data is mostly sorted, so in my mind that just means that if anybody asks how you would sort one million integers, the correct answer is to ask some questions as to why they need to sort one million integers.

Uh, yeah. Anyway, what was I nattering on about? Joel’s schtick is that CS students aren’t taught to manage large, complex, “real world” projects with lots of moving pieces. CS mostly focuses on the “interesting 10%” like how you would sort a million integers and skips over the boring 90% of hard work like implementing the interface for the customer to provide their million integers and retrieve the results. And Mark Dennehy’s reaction was “of course we focus on the interesting ten percent: the other 90% is constantly changing and best learned on the job!”

But, addressing the “how do you tackle big projects” thing, I think Joel has a point. And his point isn’t new. The point is extra-curricular activity.

Whether you’re a visual learner or whatever, the biggest secret to learning things is to find the thing that you are studying interesting. The very best computer programmers are all fucking fascinated by the challenge of getting the computers to do things within given parameters. Computer programming is fun because when you get down to it, it is a lot like computer games: a person at the interface banging away until they get their dopamine fix by either beating the level boss or getting the damn thing to compile and spit out the correct result.

Well, that is for the learning-by-doing types. Some computer programmers get their jollies by trying to fathom a new and novel method of sorting one million integers. Whatever floats their boat, I guess.

Anyway, long story short, I’m thinking the learning-by-doing types tend to get a little queasy after a few CS theory classes and end up majoring in English in order to score a bachelors degree, but they keep tinkering with the computers along the way, and end up, like Tom and me, as systems administrators, figuring out the best way to keep 1,000 computers running in order to make it possible to sort billions of objects with map-reduce algorithms in constant time.

Oh yeah, and that I agree with Joel that motivated CS students ought to find non-class projects that they are passionate about, and thereby gain chances to collaborate with others on the sort of “real world” challenges that they are likely to face in their professional careers. Back at Illinois the ACM played a big role in this. I myself did some time apprenticing at NCSA and at an ISP, and the big win these days it would seem are the oodles of Open Source projects ready to put interested volunteers to work. And that’s why Google’s “Summer of Code” just sounds like a fantastically great idea.

1 Comment


Linux

HOWTO: Ubuntu Support for Audio in XVidCap

Link: https://dannyman.toldme.com/2009/09/28/howto-ubuntu-xvidcap-audio-support/

XVidCap is a very nice screen-capture program for Linux.  I have been dabbling in it to capture video of my desktop.

Unfortunately, the binary offered by Ubuntu’s software distribution has audio disabled. I found a bug about that somewhere and added my two cents, then went and installed it manually. Then I had to reinstall it manually because the Ubuntu version had been bumped and the “newer” version replaced my audio-supporting version.

Step 1: Remove Existing xvidcap

sudo aptitude remove xvidcap

Step 2: Install XVidCap from SourceForge

http://sourceforge.net/projects/xvidcap/ — click “download now” and the rest is all point-and-click.

Step 3: Lock XVidCap Version

Ubuntu will be quietly bide its time until it can “upgrade” xvidcap to a version that doesn’t support Audio. Fortunately, you can tell it not to do that!

Open: System > Administration > Synaptic Package Manager

Search for “xvidcap”

Select the package, go to the Package menu and select “Lock Version”

(From what I can tell, sudo aptitude hold won’t actually prevent xvidcap from being “upgraded.”)

14 Comments


Technical

Firing Off SSH Commands

Link: https://dannyman.toldme.com/2009/09/09/firing-off-ssh-commands/

This is more for my own reference, because there are some broken rc scripts that don’t detach the PTY correctly, which can be really aggravating if you’re starting or stopping multiple daemons on multiple servers.

1-7:45 djh@opshost ~> cat .ssh/config
StrictHostKeyChecking no
BatchMode yes
KeepAlive yes

That KeepAlive yes is more for my interactive sessions. but here’s the real mojo:

ssh -f user@server command

I can add an & if I like . . .

Feedback Welcome


Sundry, Technical, Technology, Testimonials

Optimum Triple-Play: Crazy Fast

Link: https://dannyman.toldme.com/2009/08/14/optimum-triple-play-crazy-fast/

Here in New York I signed up for Optimum Triple-Play: I get cable, Internet, and phone from the local cable company. The Speakeasy Speed test says:

Download Speed: 12988 kbps (1623.5 KB/sec transfer rate)
Upload Speed: 2039 kbps (254.9 KB/sec transfer rate)

Twelve megabits?! That is a lot of bandwidth. So much so that my old 802.11b local wireless network will actually have less bandwidth than my uplink. Gadzooks!

And the cable comes with some HD channels to watch on our CRT, and a crude DVR which can record shows on multiple channels simultaneously. Not bad, I suppose, for a tad over $100/mo. Yeah, and free long distance, so I gotta start calling up relatives again.

Feedback Welcome


Technical

mutt: Selecting Old Messages

Link: https://dannyman.toldme.com/2009/08/05/mutt-selecting-old-messages/

This is a note-to-self, since every so often I do this and each time I have to RTFM:

To select messages in a folder older than two months, it is:
~d >2m

Or, given my key-bindings:

T~d >2m
;d

Feedback Welcome


Sundry, Technical, Technology, Testimonials

airhowa.png

Link: https://dannyman.toldme.com/2009/07/16/airhowa-png/

airhowa.png

Virgin America has wireless access on its flights. For $13 you get enough bandwidth to video conference. It was fun.

I tried not to talk too much or too loudly from my seat. To be sure, everyone on Virgin America is pretty much immersed in their personal entertainment anyway so its not so much of a thing.

(Thanks, Todd, for the screen capture.)

Feedback Welcome


Sundry, Technical, Technology, Testimonials

WFA = “Working From Air”

Link: https://dannyman.toldme.com/2009/07/10/wfa-work-from-air/

I’m flying to New York. Fortunately, I needn’t lose a work day because for $15, Virgin America has got me on the Internet!

It is zippy enough, and the latency is perfectly fine, so I am guessing it is a terrestrial network. VPN works fine, too.

http://www.speakeasy.net/speedtest/
Last Result:
Download Speed: 964 kbps (120.5 KB/sec transfer rate)
Upload Speed: 337 kbps (42.1 KB/sec transfer rate)

It is a bit cramped, for sure. Fortunately, my Dell Mini 10 arrived yesterday, with Ubuntu pre-installed. (Vendor Linux!) I hope to write more about that later, but this is a zippy little thing that is probably about as usable as you’re ever going to get in a coach class airplane seat. Yay!

Virgin claim to have power plugs at each seat. I haven’t seen mine, but given the battery life this thing claims, I shouldn’t need to plug in for the duration of this continental crossing.

That looks like . . . Nevada. No . . . we’re above US Route 6 in Utah. 2112 miles to go. That’s another thing I dig about Virgin America: an interactive map at the seat terminal, and an adjustable headrest, which Southwest lacks . . .

Well, this is a work day, better get back to working.

Feedback Welcome

« Newer Stuff . . . Older Stuff »
Site Archive