Downloading Blackboard Unit Course Content for Offline Viewing

Blackboard is a great tool for completing college courses online, but sometimes you can get stuck without the internet making it difficult to study. There is a way however, to use a command line tool wget to download the site content for local, offline viewing.

It should be noted however, that this method is unlikely to be endorsed by your college – so use at your own risk!

To download the content for offline viewing you need two things (in FireFox):
1. Install the Firefox Cookie Exporter
2. Install wget

Use Cookie Exporter to export to cookies.txt

-the next command will download all the course material after loading the cookies.txt

wget -mk --no-check-certificate --load-cookies cookies.txt

If you use this method to download from courses with lots of content you may want to consider inserting “-w 20” into the wget command, which tells wget to wait 20secs between downloads (give the server some rest otherwise you may get booted).

AirPush is Offensive to my Sensibilities

I saw this tweet from a friend (@RyanBooker) today: “Is this for real? This would guarantee your software is immediately uninstalled” with a link to the following video:

And I don’t know about you but it really gave me the heebie-jeebies. I found myself being repulsed in illogical, unreasonable ways. I’m not even an Android developer (or user), but I found this completely offensive. After I cooled down and was able to think clearly for a minute I reflected on why I had such an adverse reaction. I realized that its all about the sacredness of notifications.

You see we are slowly migrating over to a post-scarcity world. Information, is one commodity which has become so abundant (and so cheap); that it’s become a limitless resource. In a post-scarce world, the main commodity is attention. User attention becomes the focus of generating profits and this is (and has always been) the entire idea behind advertising. Advertisers pay others for a slice of the attention they receive.

As user’s expose themselves to greater quantities of new information and media, they spend greater quantities of their focus (and attention). Sooner or later, unless users can adopt greater efficiencies their attention becomes very scarce. I think we’ve reached a point where our collective attention is so scarce as to it being entirely depleted. We’re so saturated with new media and access to information that the effectiveness of advertising is becoming greatly diminished. We’ve become desperate to find “a few more minutes in a day” and thus we’ve adapted to ignoring advertising to steal some attention back. Most of us (especially geeks) have evolved a personal ‘ad blocker’ in our mind’s eye.

Unfortunately the cost is that it’s become harder to remember importances. So we rely on our mobile technology to inform us when we need to jump to action. As a primitive example, who uses the alarm function on their smart phone? Our phones are our personal assistants. They tell us when our friends are trying to contact us, they act as our saviors when something goes wrong, they entertain us when we’re bored and they tell us important things WHEN we need to know them. Usually, they do this through the notification system. It’s a special sacred system devoted to the most important issues in our lives. This is what’s so wrong about AirPush. They are capitalizing on the cost of our mobile notifications. Technologically speaking, the most important area of our lives. When we hear the distinctive sound, or see that special symbol of our phone’s notification system; we spring into direct action. They are cashing into our need for a system that helps us live our lives, lest we miss opportunities or forget something important.

That’s the basis of my offense. I need my notification system to be personalized and pure because I rely on it to assist me with the day-to-day running of my life.

AirPush says that they’ve changed the API to require opt-in/opt-out due the torrent of outcry and negative feedback that developers have clearly been slammed with but for me, that isn’t really enough. I shouldn’t HAVE to opt-out of something that uses my notification area inappropriately and without permission.  And conversely, if the system is opt-in, then its all but useless to developers (because let’s be honest who would WANT such a thing?)

Frankly, AirPush is a violation of the way I use my mobile devices and I would never abide any application which employed such a system. It’s gotta be the fastest way to get users to uninstall your app.

I’ve finally found a great use for Google Wave that DOESN’T require all your friends to be on it.

It’s this, a to-do list!


It has been a great tool to synchronize the day-to-day activities of the family.  @MrsAngell and I have been using it to help manage the kids, and the household and the general stuffs needed, in preparation for Christmas, for example. Traditionally, we’d use IM clients such as Skype to communicate messages and synchronize our activities, using Outlook and Google Calendar only when absolutely necessary.

But for some reason, despite being massive email users, we very seldom email each other.  But the problem with this is that its difficult to read history and if we don’t have access to our computers – we cant read our histories and re-read what was discussed.  We made it work, but it had its problems.

Even though Wave is so much more capable than this very small and isolated use-case, I have to admit, it does do this very very well.

Since the only people who need to collaborate on this topic is myself and my lovely wife, the collaboration “issues” people have been complaining about with Google Wave doesn’t really apply. If you’re not familiar with what I am talking about, check this out:


In either case, we’ve been using Wave to manage our daily lives and to make notes and comments to each other about various needs of the household and the family – and so far, it’s working just great.

It might seem weird to other people that my wife and I even need a tool like this, but as an organizationally challenged individual like myself, I find it’s making life just that little bit easier.

IE6 is the new Netscape 4

Cross-posted from the Particls blog.

“IE6 is the new Netscape 4. The hacks needed to support IE6 are increasingly viewed as excess freight. Like Netscape 4 in 2000, IE6 is perceived to be holding back the web.”Jeff Zeldman, standards guru

I saw the link to the bring down IE 6 site today via our friends on Twitter and simply had to announce our support for such an initiative.  IE6 while once the browser to which all others were bench marked, is now, frankly the bane of an Internet Start up’s existence.  It might have been great once, but all good things must come to an end, and for IE6, that time is now.

For Faraday Media, IE6 support has never been a priority, since our users and visitors are overwhelmingly Firefox users, so unofficially, we’d already been on this bandwagon.  Today, it’s official.

If you’re chained to IE6 due to some corporate SOE policy, you have my sympathy.  If you’re using IE6 voluntarily, then you only have yourself to blame (just for you, here is the link to Firefox).

I really encourage other start-ups to stand-up and vocally (and officially) join the movement.

Unable to start debugging on the web server. Debugging failed because integrated Windows authentication is not enabled

Recently, I was trying to get a .Net 2.0 web application I am working on, running from IIS 7 under my Vista Ultimate workstation so it could be remotely debugged. I went and changed the appropriate project settings, but when ran the web app, it said:

Error while trying to run project: Unable to start debugging on the
web server. Debugging failed because integrated Windows authentication
is not enabled.

After some poking arround in IIS 7, which I am quite unfamiliar with, I found a very easy solution.

  1. Right-click on “My Computer” and select “Manage”
  2. Under “Services and Appliccations” select “Internet Information Services”
  3. Find the appropriate website (probably called “Default Web Site”)
  4. Find the icon named “Authentication” and double-click it.
  5. Make sure “Windows Authentication” is in the list, and enable it.

Your Visual Studio should now works as advertised.

A Little Facelift for 2009

Cross-posted from the Particls blog.

In order to celebrate our renewed focus and to inspire all start-ups to battle through these unfortunate times, we’ve given the Particls blog a little make over.  It’s been a long while since we gave our little blog some TLC and I think it’s deserved.

Our new header image is design by one of our developers Andrew, and symbolizes millions of “Particls” of data – many isolated, but then coming together, forming streams of information.  I love it.  What do you think?

Twitter “Track” is back – Introducing the Particls Fountain

Cross-posted from the Particls blog.

From the day we launched Particls 1.0, people have always been excited with our approach to Attention Management.  And while we certainly don’t consider it to be a failure, we always felt that being a Windows only desktop client, with some complex UI challenges, that there was something too difficult for many users to grasp.  There was effectively three paradigm shifts (Aggregate Everything, Rank against interests, Variable interruption based on relevance) and this was a too much for a lot of users to wrap their heads around – ultimately creating a ‘barrier to entry’.

We switched over to a web-based solution, cutting Particls in half.  The Attention Management Engine was removed and eventually became Engagd, and the visualization and alerting engine became what we called ‘Particls 2.0’.  We’ve been working on these two platforms for quite some time, but as the economy turned, and faced with ever increasing costs and minimal resources; we decided to find another way – to work with fine scalpels instead of axes like we once did.  A limitations of resources always forces companies to focus on what really matters – and we choose to use this economic downturn as an opportunity instead of allowing it to consume us.

In order to reduce complexity and scope, we’ve diverted all resources onto a new project we’ve been internally calling “Particls Fountain”.

Particls Fountain will eventually become what we wanted Particls 2.0 to be, but rather than building from the bottom up, we’re building it from left-to-right. Right now it is simply a replacement for the Twitter Tracking service, where you follow topics of interest you define and Particls alerts you Tweets about that topic.

Currently these alerts are delivered via XMPP or Direct Messages, but other mechanisms have been requested and are in the pipeline. Unfortunately however, Direct Messages are being limited by the Twitter API. We will be bringing new channels online to compensate. If you want to get started with Particls, simply follow the instructions at

Aside from extremely agile development and releasing frequent, smaller updates to the service, we are also letting the community be the primary driver of development.  We’ve setup a UserVoice site where great ideas are already flowing from the community of about 100 testers.  This feedback is vital, and it’s encouraging to see these users vote for their favorite feature.  Its quite insightful, and it clearly demonstrates what we think is a cool feature, is actually not always what users want or care about.

As a developer I also find it extremely rewarding to mark a feature as “complete” and getting immediate feedback about it.  Its great and so far we’ve found that not only do we as a team produce code faster, but we also building stuff better than we did without it.

It’s still early days for Particls Fountain, but we really do want to make this a tool everyone will find useful, so please come try it out and give us your thoughts.  Be our bosses and tell us what to do to make it something you love.

Because we do.

Note: If you want to get started with Particls, simply follow the instructions at

SBS POP3 Connector Polling Interval

The minimum level you can set through the GUI is 15 minutes.
This is how you can change this through a registry setting: ScheduleAccelerator.
Remember, this connector is only available for a Small Business Server !

1. Locate and then click the following registry subkey:
“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/SmallBusinessServer/Network/POP3 Connector”

2. On the “Edit” menu, point to “New”, and then click “DWORD Value”.

3. Type “ScheduleAccelerator” (without the quotation marks) as the entry name, and then press ENTER.

5. On the “Edit” menu, click “Modify”.

6. In the “Value data” box, type the value that you want, and then click “OK”. To determine the polling interval, the value that is configured on the “Scheduling” tab in the GUI is divided by the value that you type for the ScheduleAccelerator entry.

For example, if a 15 minute interval is specified in the GUI and you set the value of the ScheduleAccelerator entry to 3, the connector will poll ever five minutes.

7. Quit Registry Editor and reboot the server.


So on the advice of ReadWriteWeb, I downloaded and installed the new Twitter client, TweetDeck. On the surface I was very impressed, and if I had a dual screen setup it would be really good. It has some nifty little features, such as being able to group users into dedicated columns, and apart from allowing you to view your direct messages (sent and received) is pretty much what you would expect from an AIR-based Twitter application.

But there-in lies the problem; its really at heart, just another Twitter client. There is nothing outwardly special about it. No way to add rich media links to tweets and, frankly, nothing much that Snitter didn’t have months ago.

These days, with the plethora of Twitter applications out there, a Twitter app needs something special – and “edge” that TweetDeck simply doesn’t have (yet!). But if the founder(s) are smart, they’ll take on as much user advice as they can, and hopefully it will get there.

TweetDeck Screenshot

Ok, So it turns out that it DOES do DMs, but it puts them in the “replies” section, and while I can see why they did it, it wasn’t the behavior I expected.