May 5, 2008

A sign of the times

I signed into LinkedIn today to look for a long lost friend. In the "People you may know" box is my mom.

Posted by molson at 1:34 PM | Comments (0)

December 19, 2007

MS Remote Desktop Keyboard Shortcuts

I had a problem this morning when I went to connect to my computer at the office via remote desktop (rdp). It wouldn't show me the taskbar. For those of you that use Windows XP, you know that with the "new" layout (yeah, I've grown accustomed to it over the classic) really doesn't let you accomplish much without the task bar--especially when you have Outlook set to minimize to the system tray.

I figured that there had to be some keyboard shortcuts associated with remote desktop. Anyone that has used rdp knows that your normal keyboard shortcuts (alt+tab, for example) work locally and don't translate remotely. I figured there HAD to be something.

After a bit of searching, I found that there are indeed some shortcuts, and I figured that I would put them here for posterity.

Remote Desktop Keyboard Shortcuts (and most other MS Windows keyboard shortcuts).

Posted by molson at 9:33 AM

December 5, 2007

xkcd on python

Today's xkcd cartoon is spot on. A little while ago I decided to program one of their previous cartoons about the knapsack problem.

Searching the xkcd forums, I found a very elegant python solution. I decided to rewrite it in php, and the code was far more complex, and far uglier. Some things in python just work. Looks like I need to learn me a new language.

Basic recursive functions are in the extended entry for those that care.

Here's the basic recursive depth first search with caching. First in Python:

cache = {0: set([(0,)*len(options)])}
def orders(q):
  if q not in cache:
    cache[q] = set(v[:o]+(v[o]+1,)+v[o+1:] for o,j in enumerate(options) if q-j >= 0 for v in orders(q-j))
  return cache[q]

And then in (uglier) php:

$cache[0] = array(array_fill(0,sizeof($options),0));
function array_push_unique(&$haystack, $elem)
{
    $elemlen = sizeof($elem);
    $found = false;
    
    // need to check to see if elem is already in the array
    foreach($haystack as $val)
    {
        $vallen = sizeof($val);
        $foundsame = true;
        if ($vallen != $elemlen)
            continue;
        for ($i = 0; $i < $vallen; ++$i)
        {
            if ($val[$i] != $elem[$i])
            {
                $foundsame = false;
                break;
            }
        }
        if ($foundsame)
        {
            $found = true;
            break; 
        }
    }
    
    if (!$found)
    {
        array_push($haystack, $elem);
    }
}
// the main recursive function
function &calc_order($max_val)
{
    global $cache, $options;

$opts = $options;
reset($opts);

if (!array_key_exists((int) $max_val, $cache))
{
$cache[$max_val] = array();
foreach($opts as $key=>$item)
{
if (($max_val - $item['cost']) >= 0)
{
$res =& calc_order($max_val - $item['cost']);
foreach($res as $ar)
{
$ar[$key]++;
array_push_unique($cache[$max_val], $ar);
}
}
}
}
return $cache[$max_val];
}


Posted by molson at 10:47 AM

October 9, 2007

Hotmail fix (I hope) using mailertable

You may remember my rant from last week regarding hotmail. I've had numerous back and forth emails with their technical service, and the issue even got escalated to the "Windows Live Email Delivery and Filter Support Team."

Has there been any change or improvement? Not yet.
Am I sick of email not getting to my friends on hotmail? You bet.

In the mean time I have implemented a work around (read: hack) for email addresses in the hotmail.com domain. If I have broken anything, please let me know, but I have tested it a few different ways.

Technical details are after the jump, if you are interested.

My mail server runs sendmail (GASP! He's telling people he runs sendmail???). I know there are "better" things out there, but I haven't found them to be "better." Besides, sendmail is like the blanket you've had for 20 years--it's comfortable.

Anyway...

You may remember that my server IP is on a blacklist for the people that have "upgraded" to live. Knowing that, I decided to investigate a way to make sendmail send email to specific domains via an email relay. If I wanted to send all mail via a relay, I could have used a smarthost, but I didn't want the extra step for everything, just hotmail.com addresses.

Then I remembered that sendmail has a nifty feature called mailertable that allows you to do just what I was looking for. In fact, one step in the documentation on the feature sums it up exactly:

...create an external database containing the routing information for various domains...

30 seconds later, and it "just works." Neat.

Posted by molson at 4:52 PM

October 3, 2007

Yay Thunderbird!

(Wow, two posts in one day?!?)

I just noticed something that Thunderbird does (or doesn't do, depending on your perspective) in version 2.0.0.5 that has bugged me about most every email client (MUA) out there.

When you reply to something out of your sent items, it actually realizes that you are in your sent items and populates the original recipient in the To field instead of putting the sender (i.e. you) in the To field.

Thank you for fixing this, now if everyone else would follow suit....

Posted by molson at 2:26 PM

Open letter to Microsoft

Dear Microsoft,

You stink.

Your Hotmail service that many of my friends rely on doesn't accept my email anymore. What gives? We used to be ok, but now you classify me as spam? What's spammy about this?

hey, wanna go flying tomorrow? we can go early morning, or after the game.

let me know.

/me

I deal with email and spam every day. I understand that you may have false positives, and that's ok.

Let's see if it ended up in the junk folder... Nope, not in there.

Oh look you have a "safe senders" list, maybe if we add my email address to that. Nope, you don't even consult that before you throw me out.

It appears that there is a (not very well documented) site to help out server administrators. I sent an email and got back the following:

We have identified that messages from your IP 10.3.2.1 are being filtered based on the recommendations of the SmartScreen filter. SmartScreen is the spam filtering technology developed and operated by Microsoft. SmartScreen is built around the technology of machine learning. SmartScreen's filters are trained to recognize what is spam and what isn't spam. In short, we filter incoming emails that look like spam. I am not able to go into any specific details about what these filters specifically entail, as this would render them useless.

However, we also base our spam rating on the reputation of the sender.

Ironically, thunderbird thinks that YOUR email is a SCAM because you display one URL [http://postmaster.live.com/Guidelines.aspx] and link it to another [http://advertising.msn.com/adproducts/Email_TechStd.asp]. The link doesn't even exist. Way to go.

So, Microsoft. What do I do? Do you want me to give my server a new IP? Will that solve the problem? (This is why filtering based upon IP is silly). Yours is the only RBL that I am on. I am also not going to pay for SenderScore, as suggested in your email.

I apologize to those of you using Hotmail and aren't receiving email from me. If you haven't switched to Live yet, I would suggest not doing it--that's the only place it seems to happen for now.

Posted by molson at 1:51 PM | Comments (1)

September 6, 2007

Early Adopter Tax

For those of you living under a rock, yesterday Apple announced, among other things, a new set of iPods as well as a $200 price drop on their iPhone. If you are to believe most of the bloggers out there, Apple now owes them $200 because they dropped the price after 67 days.

Bologna.

Apple doesn't owe them a single thing. As a business in a capitalist society, Apple is free to charge whatever price they want. If they charge a price that is too high, the market will respond by purchasing fewer items, and Apple will probably lose money. If they charge a price that is too low, Apple will probably run out of supply too quickly and may or may not lose money (depending on a few other factors). There are no guarantees that the price you pay today will be the same as the price you pay tomorrow.

Some stores have a price policy where if the same item is on sale for a lower price after X number of days, they will refund you the difference. This is a courtesy, and not a law. If you notice, in most cases, it is the same as their return policy because they realize that you could just return it and rebuy the item at the lower price. Usually, items that are subject to higher price fluctuations (computers, etc.) have a shorter period.

Nobody held a gun to your head and forced you to buy one when it came out. If you are so broke that the $200 means a lot to you, can you really afford an iPhone (at any price, with a $60 /month--or more--plan) in the first place?

Just curious.

Posted by molson at 9:34 AM

August 9, 2007

Windows Time Synchronization

I noticed today that my windows machine at work--the one that is constant on--had a clock that was off by about 2 minutes. This was odd in that I knew I had enabled "Internet Time" (no, not that silly thing Swatch came up with)--the Microsoft name for the network time protocol (NTP).

Apparently the default is to check every 7 days. I suppose with the median of computer users, that's Good Enough (tm), but I like to know what time it is (does anyone really care?). It is also annoying when my laptop (linux) and my desktop are showing different times. A little searching and I found the appropriate registry key to change so that I can set it to something more sane for this computer.

WARNING:
Unless you know what you are doing, don't mess with your registry. yadda yadda yadda.

Here's the key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\
TimeProviders\NtpClient
Value: SpecialPollInterval
Type: REG_DWORD (DWORD Value)
Data: Seconds

Now back to your regularly scheduled emptiness.

Posted by molson at 2:35 PM

July 5, 2007

More wikipedia

xkcd, "a webcomic of romance, sarcasm, math, and language," must have seen my Greasemonkey script from the other day.

Here's the comic from yesterday:

If the speaker had greasemonkey installed (with my script), this is what he would see:
wikipedian_protester_gm.png

Posted by molson at 10:29 AM

June 27, 2007

My first grease monkey script [citation needed]

For those of you that have looked up/browsed/etc. anything on Wikipedia lately, you've probably noticed the "citation Nazis"--I hate citation Nazis (movie?)--have taken over. There are some pages that have the "[citation needed]" tag on almost every sentence. With that in mind, I wrote my first Greasemonkey script this morning.

With the power of Greasemonkey (Firefoxonly), you no longer have to be annoyed by all of the clutter. The tags are completely removed from the page. First install Greasemonkey, and then click the link below to install the script. The source and an explanation are in the extended entry.

Download script

Here's the source of the script if you are interested:

// ==UserScript==
// @name            No Wikipedia Citation Needed
// @namespace       http://marcolson.net
// @description     Gets rid of [citation needed] in wikipedia
// @include         http://*.wikipedia.org/wiki/*
// ==/UserScript==

var anodes, node, supnode, parentnode;

anodes = document.evaluate("//a[@title='Wikipedia:Citing sources']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

for (var i = 0; i < anodes.snapshotLength; i++) {
node = anodes.snapshotItem(i);
supnode = node.parentNode;
parentnode = supnode.parentNode;
parentnode.removeChild(supnode);
}

document.normalize();


Basically, we do 3 things:


  1. Get a list of all of the nodes that have a citation title
  2. Traverse that list and remove the parents (the superscript node) from the document
  3. "Normalize" the document to combine the fragmented text nodes

The first step is to get a list of all of the anchor nodes that contain a "Citation Needed" tag. If we look at the source of the page, we notice that they all have a common title ("Wikipedia:Citing sources") so we look for all anchor nodes with that title with our nifty xpath expression: //a[@title='Wikipedia:Citing sources']

anodes = document.evaluate("//a[@title='Wikipedia:Citing sources']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

The next step is to traverse that list, get the parent of the parent. The firefox dom works in such a way that to remove a node, you need to know the parent and do a removeChild() operation. We also don't want to leave the superscript node in place, so that's why we get the parent of the parent--it's cleaner this way.

for (var i = 0; i < anodes.snapshotLength; i++) {
    node = anodes.snapshotItem(i);
    supnode = node.parentNode;
    parentnode = supnode.parentNode;
    parentnode.removeChild(supnode);
}

The final step is just a bit of housekeeping. We want to clean up the dom, so we combine any fragmented text sections.

document.normalize();

And that's it! [citation needed]

Posted by molson at 11:15 AM

May 7, 2007

My new favorite number

Just thought I'd share it with you....

09F911029D74E35BD84156C5635688C0

I leave it as an exercise to the reader to figure out why that's my new favorite number...

Posted by molson at 12:24 PM | Comments (5)

May 1, 2007

Unbreak Mouse Gestures?

Dear LazyWeb,

I am sick of sites that trap the right mouse click using javascript so that they can "protect" their source code. I have two problems with this

1. I have news for the proverbial you--if I want your web page, there are ways to get the source. If my browser can display it, I can get it. Don't be lame.
2. It breaks mouse gestures.

That being said, does anyone know of a greasemonkey script (or similar) that will allow me to undo the lameness that is capturing the right click? Don't make me write my own--it'll be ugly.

Love,
Ricky
(Marc)

Posted by molson at 4:25 PM

April 8, 2007

Internet Radio

SaveTheStreams banner 1
I've been hearing a little bit here and there about the royalty rates that the US government wants to impose on Internet Radio. I decided to do some research this morning and I was appalled. First of all they are making a law in 2007 that applies retroactively to Jan 1, 2006. Anyone else see a problem with this? I certainly do. Second, they want to increase the royalty rate 37.5% for 2007, and 28% for each following year. Raise your hand if you get that big of a raise (especially a pre-determined one) every year. I didn't think so. Yet again the recording industry is flexing its big muscles with congress and influencing the entire Internet radio business. I'm not sure what normal broadcast stations pay, but I'm sure that it's a percentage of revenue--similar to the current internet radio deals--and not a charge per "impression" which is what this is.

This would effect me (and at least 2 of my 3.14159 readers) quite a bit as I tend to listen to several RadioIO stations as well as have created a few Pandora stations. Both of these, but especially Pandora, allow me to listen to music that I want to and not the radio killed, mainstream garbage that the RIAA shoves down our throats through the broadcast stations.

Posted by molson at 9:34 AM

February 22, 2007

Playing around

I've been playing around a little bit with Yahoo! Pipes. I won't write too much about it, since a lot of people already have. There are some interesting things about it, both from a technical perspective, and from a "wow, neato" perspective.

<accent type="Boston">The UI is wicked cool.</accent>

A few years ago (2? 3?) we talked about putting a "Visio-like" UI on our new product at work. That got nixed in favor of something a little more understandable for the average system administrator. The Pipes UI is fairly simple, but still probably over the head of the average, non-technical person. It's not without bugs and is missing some operators, but in general it works pretty well.

Being able to take RSS sources and munge them is something that will make mashups and such a ton easier. There are tons of pipes that people have built including aggregating news from multiple sources on a given topic or day, viewing the news through Flickr, etc.

For my first pipe, I redid how I post links to my site. I setup a pipe that takes my links from del.icio.us, finds a picture from Flickr that fits one of them (based on tags, comments, title, etc.) and passes that back to me. I rewrote my python script to grab that data and put one picture at the top of my links. Hopefully this will all work--we'll see the next time I link stuff.

Posted by molson at 7:54 AM

January 25, 2007

Apparently I'm not the only one...

Have you ever clicked on a link in Wikipedia only to find it instantaneously become 3 hours later, and what you're looking at isn't anywhere remotely related to what you went there to look up? And of course you have 10 more windows to look through.

Of course you have. That's what Wikipedia is good for.

Posted by molson at 1:33 PM

January 11, 2007

Yet another way Gmail is cool

gmail.tracking.tease.png

In the enlarged picture, notice the little "Would you like to..." box on the right? That's right, they recognize and parse out the tracking number from the email and give you a direct link to the UPS tracking website. Something I noticed this morning (but didn't grab a screenshot of it) was the integration they recently added (it wasn't there a week ago) with google calendar. They scrape the tracking results for the estimated delivery date and allow you to create an event on your calendar directly from gmail.

They do this for FedEx and DHL (and probably others) as well.

Posted by molson at 9:28 AM | Comments (1)

January 8, 2007

(In)Security Questions

My favorite part of registering for a website is usually near the bottom of the registration form. You know, that little drop down box with 3 choices in it: "What is your mother's maiden name?" "What is your favorite color?" "What is the airspeed velocity of an unladen swallow?". You are supposed to select a question for "security purposes." Sometimes you even get the option to create your own question. Whoop-dee-doo.

Why is this bad?

Next time you are presented with the options, see how many people you can name the know the answer to each question. I bet if you think hard enough, you can usually name someone for each question. If someone really wants to impersonate you, all they need to do is find your friends and do some social engineering to find the answers. In most cases, all you need is a few simple answers and you can get and/or change passwords to most online accounts.

You didn't seem too excited about creating your own questions. Why not?

The chances of you coming up with a question that is more secure is slim, but possible. If you take a look at some recent data on passwords, you can see that people in general aren't really all that creative (except that password1 replaced password--if you call that creative).

Yeah, yeah, yeah, but most of these sites are harmless anyway, aren't they?

It's true, most of the sites that want this information are indeed harmless. You've got forums pertaining to a topic, free software download sites, etc. I have noticed, however, that more and more commercial entities are sneaking these into their registration forms. The more popular it becomes, the more popular it becomes. It's perceived security, much like airport security, but I digress. Some of these companies--insurance agents, banks, hospitals, etc.--can have lots of your personal data.

So why are you writing about this now?

I'm glad you asked... This morning when logging into the web interface for my credit card, they informed me that I could only log in 3 more times without setting up my security questions. Umm... What?!? I HAVE to set up my security questions? They want to make my account less secure by giving people more ways to prove that they are me? That just doesn't make a bit of sense to me. At least the questions were off the wall, but I can still name at least one person (other than my wife) for each question that knows the answer. Usually I will use the questions to see how many random and special characters (%, &, *, etc.) I can fill the box with, but I decided to use real answers, as they said the questions would also be used to access certain sections of my account. Unfortunately one of my answers had a single apostrophe in it, and it complained about the special characters.

Thanks for "increasing" security. I'd rather call you to change my password, thanks.

Posted by molson at 11:12 AM

November 27, 2006

Playing around with Zooomr

Reflections of a T-28

Just started playing around with zooomr. There are some things that I like about it and the way it handles geotagging, but I haven't quite groked the interface yet. It's definately different than Flickr, and that may or may not be a good thing. It relies more on AJAX, that's for sure.

More comments as I play around with it...

Posted by molson at 11:45 AM

September 5, 2006

Using TCP Sockets as Streams (C)

For those that don't care about programming C, you can skip this entry now.

Today I learned something about C sockets that I didn't know before (and in the process fixed a bug in my code). One technique for reading and writing to a socket is to use the stream functions (fprintf(), fgets(), etc.). To do that you must create a stream handle from the socket using fdopen(), and of course make sure you clean up your mess when you are done.

The following code allows you to fprintf() to a socket (some things skipped for brevity):
int main(int argc, char **argv)
{
  int sock;
  FILE *sockfd = NULL;
    :  // setup and accept socket here
  sockfd = fdopen(sock, "w");
  fprintf(sockfd, "pity the foo\n");
    : // do other stuff
}
With most streams you can open them up in read (r), write (w) modes. Also you can change either one to do both read and write by adding a + so that it's either r+ or w+.

Notice I said most.

What I learned today is that if you open up a socket in read/write mode, everything works fine if your data is synchronous and you service things in order (read then write then read then write). However, if you read the stream, then write to the stream, and while you're writing more data is written from the other end, when you go to read again, you will get a read error (most likely ESPIPE (29) "Illegal Seek"). The way to fix this problem is to open up two streams, one for reading (getting data from the other side) and one for writing (sending data to the other side).

int main(int argc, char **argv)
{
  int sock;
  char buf[2048];
  FILE *wsockfd = NULL, *rsockfd = NULL;
    :  // setup and accept socket here
  wsockfd = fdopen(sock, "w");
  rsockfd = fdopen(sock, "r");
  fprintf(wsockfd, "pity the foo\n");
  fgets(buf, 2048, rsock);
    : // do other stuff
}
Of course, you should error check everything, etc. Also don't get the two mixed up (try to read from the write/write to the read) or you will have other issues.

Hopefully this will help someone as it took me a little while to figure it out.
Posted by molson at 4:53 PM

August 8, 2006

Time to upgrade

I noticed this morning that Six Apart changed their licensing on Movable Type 3.3. They are back to allowing unlimited authors, unlimited blogs, no support, as long as it is on your personal site. This is good news as I was trying to figure out a way to kick Beth off (not that she really blogs) so that I could grab the single author version.

After 3 hours of fighting with CPAN to get the new modules, it's installed. Comments are reenabled, etc. Let me know if you notice any issues.

Posted by molson at 3:17 PM

June 15, 2006

Rules for Windows Problems

Here are some things that I learned last night.

To be done before you have a problem:

  • Make a backup copy of your registry before making any changes. This is found in %SYSTEMROOT%/system32/config, and the important files are default, sam, security, software, and system. Depending on the version of windows, there may be a tool to set a restore point. This is helpful, but requires a little more work to get everything back to normal in the event of a catastrophic failure (BSOD, stupid reboot loop, etc.). I would suggest doing this any time you make a change (obviously before) so that you can easily roll back. Save these copies somewhere in the %SYSTEMROOT% directory--perhaps in a regbackup folder--you'll see why later.
  • Install recovery console (XP, 2000(?), 2003, and so on), and verify that you can get into it--if it asks for the administrator password, it is the one the system was originally setup with, and not the current one, unless you have explicitly changed it for recovery console. To do this, use teh OS installation CD and in the i386 directory run winnt /cmdcons
  • Did I mention to make a backup copy of your registry?


In the event of a failure:

  • In the order of preference, use the following recovery "tools":
    • safe mode
    • recovery console
    • repair install
    • last known good configuration
  • To access safe mode, press <F8> immediately after the BIOS POST is done. If you get the OS splash screen, it's too late.
  • If you installed the recovery console before this happened, good for you. If you didn't you aren't necessarily out of luck. If you have an official install cd (and not an OEM recovery cd), you can boot off of it, and as long as there isn't an unattended script on the cd, you can get to the recovery console, you just have to wait for the entire setup program to copy and load (a long time). The recovery console allows you to manipulate registry files and other things that windows may not let you do when it is running and has those files open.

    Caveat: It only lets you operate in the %SYSTEMROOT% directory

    If you suspect a registry corruption issue, save the files (locations above) to a tmp dir so that you can recover them, just in case, and copy your backups over--you did make backups, right? If you didn't make backups, you can try this recovery procedure, but it may or may not be terribly helpful.
  • If this fails to boot, you can try using the installation cd to do a repair installation. YMMV.
  • If this doesn't work, your last option is to try the last known good configuration. You can get to this in the same F8 menu, but use the recovery console to copy your broken registry files back first. I've had several occasions where this made the problem worse, which is why I put it as a last resort instead of Microsoft's first resort.
  • If this fails, you'll probably need to reinstall the system. You did make backups of your data, right? If you didn't, you can install into a different directory. You potentially have issues with permissions on your folders, etc (new install, users have new sids), but at least you have your data.

If you have other experiences and/or thoughts to add, drop me an email and I'll probably add it.

Can you guess what I was up all night doing?
Posted by molson at 4:09 PM

May 2, 2006

Ch-ch-ch-changes

I had to make some changes to my server over the past week (rant coming soon), so if you notice that anything is baroque, let me know so that I can feex it.

Update: I have turned comments off until I can get MTBlacklist working again.

Posted by molson at 1:16 PM

February 24, 2006

Get $5 for yourself and a birthday present for me

Raise your hand if you've heard of PayPal.

Ok, put it down.

Raise your hand if you remember how PayPal started. You don't? Well let me give you a little refresher... It started as a Palm OS app where you could beam money to your friends. They grew into the auction business more because the penetration of Palm OS devices wasn't very large.

Fast forward to today. Cell phones are pretty ubiquitous, and SMS is growing at a huge rate. There is a company that is don't the same thing, but using SMS to send money called TextPayMe.

Here's the deal. Sign up with the link above, or the banner below. They give you $5, and if enough people (36--get it?) click before my birthday, I get an XBox 360. So what better way to say happy birthday to me than to get me a 360 at no cost to you?

SignUp at TextPayMe

Posted by molson at 4:52 PM

January 20, 2006

A delete button...

For those of you that haven't looked at your gmail account lately (let me know if you don't have one and want one), I noticed this morning that they finally added a delete button to the top bar. Now to get rid of something, you no longer need to click the dropdown to delete. This is something a lot of people have been asking about for a long time--in fact there is (was?) a greasemonkey (firefox only) script that added this functionality.

Now all we need is a keyboard shortcut...

Posted by molson at 8:58 AM

December 13, 2005

I like my browser the size it is, thankyouverymuch.

I'm am really sick of websites that feel the need to resize my browser window when I load them. I can understand a size on a popup when it is created, but don't resize my window when I load you page from somewhere else.

This is really annoying when browsing with tabs in firefox. You open up a link in a new tab, and firefox opens it up, but doesn't give it focus. Then all of a sudden your browser window is resizing because that new tab wanted to be maximized, or 100000x345345 pixels big, or a small 10x10 square.

As an aside, if you don't use tabbed browsing, I highly recommend it. If you are lucky enough to have a 3 button mouse (most with scroll wheels do), just click on a link with the middle button in firefox.

I wonder if there is a setting in ff to stop that from happening, or at least a greasemonkey script...

Posted by molson at 9:35 AM

November 30, 2005

HD Sports

You know that we've come a long way in getting HD more into the mainstream when a football game between the NIU Huskies and the Zips (ZIP! ZIP!) from Akron is broadcast in HD.

Now that we've brought college football into the mainstream, I'd like to see more HD college basketball games. The game 2005 Final rematch last night (in HD) was stunning to watch. The excess of Carolina Blue caused pain, but it was still great to watch.

Heh. Perusing the listings on HD Sports Guide shows that the rodeo is even being broadcast in HD. Interestingly enough, that's about the only thing on ESPN2 HD. Perhaps that's because none of the cable operators offer it?

Posted by molson at 9:00 AM

November 16, 2005

About Blogs

Tony is doing a presentation on blogging for a class, and his discussion points got me thinking.

The state of blogging has changed from what it used to be--most noticibly over the past 6-9 months. Just a year ago, blogging seemed to be a way for people--mainly geeks--to blab to a (potentially empty) audience. I remember the first few blogs that I read on a regular basis were mostly technical and discussed niches (i.e. mysql, etc.) or techie news and reviews. I still read most of those, but looking through my feed list, the distribution of technical to non technical blogs is closer to 65/35 instead of 95/5. It's quite obvious that the tools available make it easy for Joe Non-technical User to post his drivel. Hosted services such as blogger, livejournal, etc. have taken it to the next step in that everything is managed for the user.

But, with everyone and their sister blogging, what does that mean for the medium? It means that you can hear stories about anything from being a new teacher to fighting stage IV brain cancer, get information about natural disasters (hurricane Katrina, the pacific tsunami) to Sony's latest missteps. It means that information spreads faster than wildfire.

Blogs have definately changed how people get their information to the point that if you want the most current information on a big news story, do you still go to CNN? Fox News? Google News even? No. You probably go visit a blog from somone that is directly effected, or is leading the fight against the man. In fact there are many mass media journalists that have blogs of there own, or have dropped their mass media affiliation and gone straight to blogging. This allows them to be more agile and get pertinent information out to the masses before the article even hits the presses--let alone hits the newsstands.

It is important to note that blogging does not necessarily equal RSS feeds, although the two definately go hand in hand. Personally I have feeds that are news sources from traditional entities along with feeds that are more personal (blogs).

I'd be interested in hearing about how blogging has changed the way you gather and assimilate information.

Posted by molson at 6:46 PM

November 10, 2005

Reason #627 why I hate IE


If Microsoft isn't going to accurately support the DOM in their web browser, they should consider renaming their functions to what they actually do. After beating my head against an IE problem (which has the worlds worst javascript debugger--motto: "What's a javascript debugger?"), I finally realized that when trying to do a document.getElementById(), if you don't have an element with the ID, but you do have one with the name, it'll try to be helpful and give you the one with the name--even though that one has a different ID.

They should consider renaming the function to getElementByIdOrNameDependingOnWhatIsAvailable().

Posted by molson at 10:43 AM

October 4, 2005

Google and Sun. Yawn.

After all the speculation that was floating around the internet the past few days, the "big" announcement today was just that they were going to work together on a toolbar. Big deal.

In other news, has anything really happened with the Sun/Microsoft partnership?

This post on ars does a good job talking about it.

I still think that the network will become the computer, but this does nothing to advance that.

Posted by molson at 6:24 PM

GOffice?

There has been a lot of buzz the last few days about Google developing an online office suite, perhaps with Sun?

Maybe this is related?

I've been thinking about this a bit lately as well. The thing that I come back to is the idea of someone else controlling my data. A partnership between two larger corporations helps, but I think we need to get more diverse than that. I think that the only way people will feel secure is if their data is distributed in many places--both split up into pieces, and replicated between owners--and without the keys, you won't be able to figure out where it is stored or how to decript it.

I think we will see the network as the computer, like it or not, being the next big application of the Internet. What would it take for you to move?

Posted by molson at 9:57 AM | Comments (1)

July 19, 2005

Programmers

Every once in awhile you get a funny and dead on comment on slashdot. I found
this
one quite humorous on the differences between *nix (unix, linux, etc.) programmers and windows programmers.

Unix programmers like their code like the old legos. Each piece might be a different size or shape, but the bottom of one snaps onto the top of another and the ordering and number of pieces used is left as an excercise for the reader. With experience, anything can be built with the pieces, and yet each piece is simple and easy to understand.

Windows is like the new lego sets. You get specialized premolded parts suitable for one specific task, plus two or three additional add-on pieces that give the illusion of being fully configurable for any task. You can build anything you want with the new legos, as long as you only want to build what is on the cover of the package.

I see this quite often (every day, sometimes multiple times?)....

Posted by molson at 2:27 PM | Comments (1)

July 11, 2005

RSS Mini Rant

I promise that if I ever decide to change the url of my RSS feed that I will do one of two things:
1. Post a message on the old feed that points to the new feed; or
2. (preferred) Redirect the old feed to the new one so that you do not need to update your news aggregator. I'll even use a 301 redirect so that your smart aggregator will permanently change the URL.

It's something that doesn't seem so hard to do, yet saves a bunch of people (ok, 4 in my case) the aggrivation of having to figure out why their rss aggregator isn't picking up new entries or (even better) the inconvience of having to update their aggregator to the new feed url.

I understand that sometimes you want to change software or the layout of the site, but seriously, can't you do this for your readers?

Posted by molson at 3:31 PM

June 1, 2005

Google's Technology

Every time google adds a new feature I'm impressed by a number of things.

First, I'm impressed at how they are willing to just throw stuff out there, and if they get a lot of heat, they go back to the drawing board (i.e. the Google Web Accelerator). The important thing is that they are willing to try new things and use their users to tell them if it really sucks. I'm sure that there are some things that don't even make it out of the labs, but generally the things that do make it out are decent.

Second, I'm impressed at the things they do with client side web technologies. The interface of maps is pretty great. For those of you that don't quite know what's going on, the maps are divided up into smaller pieces. There is a border outside of your view that is preloaded after the ones in focus are loaded. This allows the scolling to happen in near realtime. There are some other neat tricks they use, and if you're curious, Joel Webber does a great dissection of the technology behind it.

Another great interface is the new "my.google.com" pages (found at http://www.google.com/ig). Although they are about 5 years behind Yahoo! in their implementation, they have come up with some nifty scripting that allows you to customize the page by dragging and dropping the boxes around. The biggest downside is that they don't have a way to lock the page from errant draggings. I can just imagine my grandmother trying to use it and getting confused because she rearranged her page.

The stuff that they do with gMail has been covered before by many others, so I won't bother with that.

Yet another thing that they do that I still don't know where I stand from a security/privacy standpoint is the "recent searches" option. They store all of your searches, plus the pages that you clicked on so that you can go back later and review them. This is similar to a product called filangy (if anyone wants an invite to try it, let me know), but it doesn't require a separate toolbar. The differentiator between google and filangy is that google automagically stores everything whereas filangy requires a manual operation to store a search. Google's is more convenient, but filangy's is more "private."

Anything else that people out there use that they think is great?

Posted by molson at 11:31 AM

May 8, 2005

People 1, MPAA 0

For those of you living under a rock, or not caring about the future of high definition television, the DC court of appeals ruled that the FCC overstepped its bounds when it mandated support of the broadcast flag in any high definition equipment sold after 1 July 2005.

This is great news for the people of the United States as well as the hardware equipment manufacturers. It will allow the hardware to remain less expensive as the hardware manufacturers don't need to spend dollars researching how to implement this technology, and it will spur competition in the hardware as approval is no longer required before legally distributing a piece of equipment.

Bear in mind, that you can be guaranteed the MPAA will either go to congress and use it's significant pool of money to lobby that the power be congressionally given to the FCC, and/or the MPAA will attempt to try this in the supreme court. Fortunately for us, it is currently written into law that the FCC can only regulate the devices that broadcast, and once it is a part of the public spectrum, the public can do what it wishes.

The EFF (Electronic Frontier Foundation) has some good information on digital television and the broadcast flag.

Posted by molson at 11:25 AM

May 7, 2005

Unnerving

I finally moved my old computer out of my office this afternoon. I didn't realize that the case I purchased for my new computer was THIS quiet. I can't hear the fans in it at all.

It's quite unnerving, really.

Posted by molson at 11:08 PM | Comments (1)

May 3, 2005

Bugmenot.com

For those of you that don't know, there is a site called Bugmenot.com that provides logins for stupid sites that require compulsory user registration (such as the new york times, etc.). I created a little javascript that will popup a window with an username and password for the site, or an entry to add one to the list if it doesn't exist in their database.

To use this javascript, just drag the following link to your links bar: popup bugmenot.com login

Enjoy.

Posted by molson at 11:27 AM

January 26, 2005

Laptop drying tips?

So I was working this morning, went to reach for my glass of water and instead of grabbing it, I knocked it over onto my laptop. I ran for the paper towels, but what I should have done was shut off the laptop first.

All of a sudden the screen went blank, then after a few seconds it came back on, but started beeping at me and wouldn't stop. I shut the thing off, took it apart and let it air dry for a few hours.

When I put it back together, I pressed the power button, the power light came on, the hard drive spun up, the dvd drive accessed, and then the power shut back off. I'm not sure what to try next.

Guess I didn't really want to get much done today anyway.

Posted by molson at 3:52 PM