I really hate the timing of this post, but the ideas are fresh in my head. You can consider this ‘just another iPad post’ if you want.
Ever taken a survey on the streets from someone with a PC style tablet? I’ve taken a few. I’m always surprised by the hardware choice. For some things, it seems like a clipboard and paper would be better.
At work, there is an upcoming project that involves something like the above. Here is why I think the iPad is a better choice. It mostly comes down to boring IT Operations reasons, aka management of the underlying platform.
- With iPad, you never have to defragment your disk.
- With iPad, you never have to run antivirus or update antivirus definitions.
- With iPad, you never have to run anitspyware or update antispyware definitions.
- With iPad, there is no moving and spinning disk which is prone to higher failure.
- With iPad, you don’t have to worry about some slick-kid or script kiddie downloading and installing some crazy software that turns your computer into a bot or even just overwrites important files preventing you from booting the next time.
- With iPad, you don’t have to worry about not having a replacement part available if a piece of hardware fails.
- With iPad, the user will have a more familiar experience. Given the prevalence of iPhone, it is likely that an end user will understand many of the touch and drag gestures.
- With iPad, there is no stylus like the PC Tablets of old.
- With iPad, there is a very clear future. When was the last time apple canceled a product line? Newton? Ok, how about under Jobs? I’ve no idea.
I’m as anti-fud as any person that I know. Yes, the above is definitely anti-windows fud cited by Mac and Linux lovers everywhere and normally I’m the first person to refute it. However, I think under that fud there are tiny grains of truth. For certain applications those bits of truth are highly amplified. It is a different risk vector. These things become very important and translate directly to cost of ownership.
Notice that I’ve listed no pros or cons for iPad as a general purpose device. I don’t care to go there. I’ve also not mentioned if there is much of a market for the above use case (there isn’t enough to sustain the device alone). These are all things to be answered elsewhere. My point in short: here is a use case if you have been wondering for what kind of things iPad can be used.
I just published an application which I consider useful over on codeplex with source hosted on launchpad.
I wrote this because Wifi in my home is very slow. Its so slow I’m tempted to run a network cable to my couch so that even when I’m couch surfing I can have fast access to my server.
In an effort to diagnose my slow Wifi, I tried to see if my neighbors were causing interference by running Wifi on the same or overlapping channel as me. I downloaded netstumbler; it didn’t work. I downloaded some other tool; neither did it.
So I wondered how hard it would be to write my own. It turns out Windows 7 added to the Wlan* api to expose all of the necessary data. After some digging I found the managedwlan project on codeplex. Now I got to play.
Once I figured out the api, I was able to write the entire application with pretty much one LINQ expression:
var client = new WlanClient();
var retval =
from wlanIface in client.Interfaces
from bssentry in wlanIface.GetNetworkBssList()
from network in wlanIface.GetAvailableNetworkList(Wlan.WlanGetAvailableNetworkFlags.IncludeAllAdhocProfiles)
where InterfaceService.GetStringForSSID(network.dot11Ssid) == InterfaceService.GetStringForSSID(bssentry.dot11Ssid)
select new WifiInfo
bssentry = GetStringForSSID(bssentry.dot11Ssid),
channel = Wifi.FrequencyChannelMap[bssentry.chCenterFrequency],
frequency = bssentry.chCenterFrequency,
linqQuality = bssentry.linkQuality,
strength = bssentry.rssi,
signalQuality = network.wlanSignalQuality,
wifitype = network.dot11BssType
The result of that expression is directly databound to a WPF DataGrid and I can now view the data that I want to.
I really love the platform (C#+.NET) on which I work.
public static class NumericExtensions
public static bool IsZero(this byte number)
public static bool IsZero(this short number)
public static bool IsZero(this int number)
public static bool IsZero(this long number)
public static bool IsZero(this float number)
public static bool IsZero(this double number)
public static bool IsZero(this decimal number)
I wanted something like this today as I was toggling between NUnit and MSTest. Sure, Assert.That( something, Is(0) ) is readable, but its not portable. Its NUnit only, and for this project, I can’t do that. I also like the english reading of IsZero() vs. Is(0)
I think I’ve stated before that any code on this blog (c) by me and licensed under the MIT/X11 License, but for certain bits of code, I see no point in that. So I’m going to start tagging code with CC0, Unlicense and/or WTFPL.
I’m seriously thinking I should change my backup strategy. I use Windows Home Server for one thing and one thing only, Backups. Sure the file share stuff is nice, but I already have a Linux server with samba with my file shares. WHS lovers will say I should migrate, but all I see that gaining me a day or so of copying files and no real benefit.
I recently got a new laptop and when adding this into the mix I had to add more storage to my WHS. I did, and after doing so I got this:
What good is a backup system if it loses your backups? Not much good IMO.
Windows 7’s backup is very good now and I think I may benefit from just using it rather than WHS. I’ll duke it out with WHS one last time, but I won’t be recommending it to Mom, Dad or Grandma anytime soon.