Archive for the ‘Technology’ Category
My daily reading
A couple of my favorite reads right now are the Harvard Business Review Voices and Felix Salmon. I thoroughly enjoyed listening to Stephen Dubner and Steven Levitt in Seattle earlier this week, and their NY Times blog Freakonomics is always entertaining.
On the tech front, TechCrunch, Silicon Alley Insider, Mashable and ReadWriteWeb are good for general news. SearchCap from Search Engine Land has a good daily summary of the goings-on in the search world.
I wish I had more time to spend on fun things like Photoshop Tutorials at psdtuts, The Big Picture and a bunch of other photography and PS blogs, but sadly they barely get read.
News mostly comes from Twitter these days which is both focused (good) and myopic (bad) at the same time. It helps having a job that makes me sensitive to large scale trends around breaking events.
A little fiction would be nice soperhaps that’s something for the holidays.
Post offices and the Bing Maps API
I spent an hour this morning hacking together a quick prototype that brought together Windows Azure hosting and storage, the Bing Maps SDK, and a set of photos that Amy and I have been collecting of US Post Offices. The result is a United States Post Offices mashup which shows a map with pushpins for each post office for which which we have a photo.
The practical part of this was really the experience rather than the output. In short, it was really surprisingly easy to pull together the pieces to make this work. It takes a little while to get Visual Studio set up as an Azure development platform but once that’s done (once) it’s trivial taking existing techniques and having them run cloud-enabled with barely any changes.
A few resources that came in handy:
- Windows Azure Platform
- WPF Client for the Windows Azure Blob Storage
- Data Visualization with Bing Maps
- Bing Maps Control SDK 6.2
- Bing Maps Interactive SDK
- Image Resizer (convenient replacement for the great XP PowerToy that did the same thing)
After all that, two things are clear: it should be a good PDC this year and there are many more post offices yet to be visited.
Simple PivotTables in PowerShell
Quick script for PivotTable-like functionality in PowerShell. I find myself using this a lot.
# Rotates a vertical set similar to an Excel PivotTable
#
# Given $data in the format:
#
# Category Activity Duration
# ------------ ------------ --------
# Management Email 1
# Management Slides 4
# Project A Email 2
# Project A Research 1
# Project B Research 3
#
# with $keep = "Category", $rotate = "Activity", $value = "Duration"
#
# Return
#
# Category Email Slides Research
# ---------- ----- ------ --------
# Management 1 4
# Project A 2 1
# Project B 3
$rotate = "Activity"
$keep = "Category"
$value = "Duration"
$pivots = $data | select -unique $rotate | foreach { $_.Activity}
$data |
group $keep |
foreach {
$group = $_.Group
$row = new-object psobject
$row | add-member NoteProperty $keep $_.Name
foreach ($pivot in $pivots) { $row | add-member NoteProperty $pivot ($group | where { $_.$rotate -eq $pivot } | measure -sum $value).Sum }
$row
}
Favorite apps du jour
There are a few apps and websites I’m really enjoying at the moment.
- Skype. Video chat is high quality and ‘just works’ even to far corners of the world. Brings remote friends and family closer together.
- Foursquare. Strangely addictive about-town game where you ‘check in’ to report where you are.
- Tinychat. This is how video conferencing and collaboration should be. Not hugely sophisticated but easy to set up and works.
- Yelp. The critical mass is there and the bulk of reviews are good quality. Angie’s List was handy for a year but is going to have a hard time competing over the long run.
- RescueTime. Still in my two-week trial but I love the idea of passively collecting information about activity. This particular tool consists of an installed app that tracks where you’re spending screen time (along with offline activities like meetings and phone calls) and a web-based reporting dashboard.
- Mint. Once you swallow the whole ‘trust your bank credentials to someone else thing’, this website and iPhone app make tracking money really easy.
- Tweetree, SimplyTweet, TweetDeck. Twitter clients of choice depending on form factor.
Still on the look out for a good massive-dataset visualization toolkit.
Verizon MiFi 2200 review
I’ve had a Verizon MiFi 2200 unit for the better part of a month now. The concept is really simple: you press a button and the device creates a bridge between the Verizon high speed wireless network and your very own WiFi hotspot. Simple, fast connectivity anywhere without wires.
The short summary is that it does exactly what it claims to. I’ve used it throughout Seattle and the Eastside as well as several more remote parts of the Olympic Peninsula and have not had any issues at all with coverage or speed.
Setup is easy with a one-time install of the wireless management software for activation and it can be uninstalled after that since it’s not subsequently needed. ‘Unlimited’ data plans are rather steep at $59.99 a month but the convenience factor is huge. My bus commute has become a lot more productive as previously there was only so much e-mail management or blog reading to be done on a small phone screen.
I have to believe the costs will drop as time goes by. Regardless, one thing is clear: this is like getting that first cell phone and once you’re used to it there’s no going back.
Meanwhile, outside the RDF
Powershell to Twitter
I have too much time on my hands this morning. The following script makes it easy to get and set Twitter status. I’ve seen similar ones elsewhere but they all seemed to have external dependencies, this one does not.
#twitter.ps1:
$script:username = "foo"
$script:password = "bar"
function get-twitter
{
$wc = new-object System.Net.Webclient
$wc.Credentials = new-object System.Net.NetworkCredential $script:username,$script:password
$rest = $wc.DownloadString("<a href="http://twitter.com/statuses/friends_timeline.xml">http://twitter.com/statuses/friends_timeline.xml</a>")
$xml = [xml]$rest
$xml.statuses.status
}
function set-twitter
{
param($status)
$wc = new-object System.Net.Webclient
$wc.Credentials = new-object System.Net.NetworkCredential $script:username,$script:password
[System.Reflection.Assembly]::LoadWithPartialName("System.Web") | out-null
$encodedstatus = [System.Web.HttpUtility]::UrlEncode($status)
$postdata = "status=$encodedstatus"
$postbytes = [System.Text.Encoding]::ASCII.GetBytes($postdata)
$wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
[System.Text.Encoding]::ASCII.GetString($wc.UploadData("<a href="http://twitter.com/statuses/update.xml">http://twitter.com/statuses/update.xml</a>", $postbytes))
}
Once upon a time there was Fidonet
(This post will make no sense to most people but I had to write it down somewhere)
A random link just sent me over to some BBS-era graphics on Flickr which in turn spurred a trip down memory lane. After quite a bit of searching, I finally tracked down my quarry: my Fidonet node address when I used to run the Enigma BBS was 2:250/555.
Fidonet nodelist from December 29, 1995
Region,25,United_Kingdom,UK,Keith_Wassell,44-1483-451540,9600,CM,H16,V32B,V32T,XA
…
Host,250,Northern_Net,Manchester,Paul_Heywood,44-161-796-1770,9600,CM,XA,H16,V32B,V32T,V34,VFC
…
Hub,5000,Cheshire/Midlands_Hub,Nantwich,Bob_Wilson,44-1270-610455,9600,XA,V32B,V42B,V34,VFC,U,TUJ
…
,555,Enigma_BBS,Stoke-on-Trent,Andrew_Oakley,44-1782-633945,9600,XA,MO,V32B,V42B,U,TAI
There are some familiar names in that list too: Frosties BBS (2:250/510, David Frost, Alsager), Hacker’s Paradise (2:250/556, Simon Roberson, Alsager), Labrot BBS (2:250/563, Bob Wilson, Nantwich) and Quantum Shuffle (2:2502/18, Andrew Reid, Selby). I seem to recall having a ‘point’ off Quantum Shuffle for a while before setting up my own system.
I do wish I’d kept more details of the software, customizations and ANSI art that I seem to recall spending quite some time working on, perhaps they’re still around on an old floppy somewhere. It ran on OS/2 for a while (painfully slowly on my machine at the time) but I think later transitioned over to a dedicated box. The memories of hearing ‘Sweet Child O’ Mine’ playing as a sysop page tone through a tinny PC speaker will remain with me for many years to come.
My digital picture frame: John’s Background Switcher and MinimizeOnIdle
Digital picture frames are getting cheaper and larger but they still have a way to go in terms of display quality, resolution, size and convenience before I’m going to invest.
Meanwhile, I do have a decent 17″ LCD attached to the wall in the kitchen connected to a PC in the closet. Aside: The massive convenience of a built-in PC in the kitchen was not wholly obvious to me before I installed it but it has since become the most used console in the house.
Rather than a screensaver, I use John’s Background Switcher which is a tool that among other things can be set up to poll Flickr for a set of photos and create various desktop backgrounds from randomly selected ones. Full screen, montages and photo mosaics are simple configuration options apart.
The last trick is a scheduled task that performs the ‘Toggle Desktop’ to minimize all windows after a period of inactivity.
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
copy ShowDesktop.scf %systemroot%
schtasks /create /sc onidle /i 15 /tn “Show Desktop” /tr “C:\Windows\System32\cmd.exe /c %systemroot%\ShowDesktop.scf”
Addicted to connectivity
An interesting article in the New York Times this week points:
AMERICANS today spend almost as much on bandwidth — the capacity to move information — as we do on energy. A family of four likely spends several hundred dollars a month on cellphones, cable television and Internet connections, which is about what we spend on gas and heating oil.
Just as the industrial revolution depended on oil and other energy sources, the information revolution is fueled by bandwidth. If we aren’t careful, we’re going to repeat the history of the oil industry by creating a bandwidth cartel.




