Archive

Archive for December, 2007

openEPCR

December 27th, 2007

I’ve been toying around for a while with the idea of creating a software package for handling Electronic Patient Care Reports for EMS (Emergency Medical Services) agencies. There are a few popular packages around, but most of them are web-based. In the event of a disaster – or even bad storm – when Internet connectivity is minimal to non-existent, frankly, you’re up the creek without a paddle. There are also, to my knowledge, no Free/Open-Source (or free of cost) packages available. This isn’t good, especially with many states and regions moving to standardized PCRs with electronic submission. This is even worse for the thousands (or more) of purely volunteer EMS organizations out there, who have little to no budget.

So, I’ve started a project – openEPCR.

I know that, for me, this is a *big* undertaking. I figured that Java is the best option, since it’s available on almost all platforms, robust, and frankly is very well accepted. The idea is that such a system should be able to cost *nothing* – so the target audience is people using Linux (or BSD or Solaris) or an existing Windows installation, along with a simple server – MySQL, PostgreSQL, or another database, along with some web server running PHP. I’ll admit that my Java isn’t what it used to be – but more to the point, frankly, if I’m the only person working on this, it’ll take years to finish. So, hopefully, when I get a more concrete plan, I’ll be able to enlist some other developers – especially someone more knowledgeable than me about how best to deal with data caching (in the event – or certainty, as in wireless or vehicular applications – of a loss of connectivity), mobile devices, and HIPPA compliance.

The overall idea is to design a platform that is a base for an EPCR – something that can handle data collection, printing a hard copy, analysis, administration, security, etc. – and all the while be organization-independent. In essence, a framework. Firstly, after having this problem with PHP EMS Tools, it should all be designed with i18n/L10n in mind from the beginning, providing good and easy support for translations. More importantly, all settings should be configurable. To top off the problem, anything that’s obviously organization-specific – like the data set, layout of input forms on the screen, reports on the data, printed copy (both blank and filled-in), user access rights/RBAC, authentication methods, etc. – should all be designed as pluggable modules. The end result would be a system where a single organization or group of organizations can develop – or pay to have developed – a “module” that includes all of this. The license would have additional terms stating that any changes to the code, modules, or updates to modules *must* be given back to the openEPCR community. The general idea is something like this scenario: the state of New Jersey decides to adopt a standardized PCR and data set. Many volunteer ambulance squads don’t have the funds for a commercial solution. A bunch of them pool their resources or funds and develop a “module” for openEPCR that provides everything required to implement a printed and electronic version of the NJ state PCR. If a single organization wishes to deviate, they can simply “extend” that module as they see fit, building off of the main code. OpenEPCR itself remains neutral, but provides a repository of modules to use or modify.

As I see it, there are three main difficulties:

  1. Designing something that’s abstracted to such a great degree.
  2. Dealing with data when we don’t know the environment – we might be stand-alone, always connected to a single master database server, intermittently connected, or even connecting to a different server every time.
  3. We want centralized administration – optimally, all custom data, settings, and organization-specific information (as well as updates to this) will be pushed out from a central server to all clients. But we need to assure security in an environment that is untrusted and may even be hostile – perhaps even hostile users – and balance the fact that some instances of the software may be actively collecting and recording data before they have been notified of a certain change or update.

So, if you think this sounds interesting, or have any suggestions – from either the technical or EMS standpoint – please check out the project homepage or drop me an E-Mail.

Excerpted from the homepage is a bit of information on my goals:
Project Mission:
OpenEPCR aims to provide the Emergency Medical Services sector with a Free (as in Freedom, a.k.a. Open-Source) Electronic Patient Care Report (EPCR) software solution. Licensed under the GNU GPL, it will be easily extendable by users’ organizations. Such a solution does not currently exist. Furthermore, many states and regions are moving to electronic data aggregation for EMS. OpenEPCR aims to provide an easy way for organizations to adopt a standardized data set and submit their data – and only the data that they choose – to a trusted third party. The software will attempt to do all of this while paying heed to applicable standards on privacy and security, as well as being fully platform-independent.

Project Goals:

  1. Provide *all* code licensed under the GNU GPL, and make code as easy as possible to modify and extend.
  2. Be fully platform-independent and database-independent, running in a platform-independent language.
  3. Have NO reliance whatsoever on outside services i.e. be able to run in a disaster situation with a full communications breakdown.
  4. Be designed with internationalization (i18n) and localization in mind, specifically with easy support for translations.
  5. Have all data set, user information, rights/access management, authentication, and authorization abstracted, allowing organization-specified rules as well as various authentication means (central server, local file, passwords, hardware tokens, OTP, etc.)
  6. Attempt to conform to HIPPA and other applicable standards governing security and privacy.
  7. Allow all organizational data such as PCR forms, data sets, printable versions, etc. to operate as pluggable modules; changing the entire PCR structure should be as easy as adding a few new files and running a script.
  8. Be designed with both the small, volunteer, virtually budget-less squad and the large paid organization in mind.
  9. Run on a variety of devices including desktops, laptops, and mobile devices of all flavors.
  10. Operate in environments including standalone, central server, ad-hoc network, and a network of distributed master servers.
  11. Have the utmost regard to integrity of data – data loss or corruption is NOT an option.
  12. Support virtually unlimited customization for an end-user organization.
  13. Be designed with ease of extension in mind – it should be easy for end-user organizations to design custom add-ons that integrate fully, while conforming to the Access Control model.
  14. Eventually, include support for administrative functions such as equipment/vehicle checks, scheduling, roster functionality, etc.
  15. Eventually, consider creation of an integrated incident management system for patient, resource, and personnel tracking.
  16. Be designed with as much space for custom software hooks as possible.
  17. Attempt to pull together developers from various disciplines and gather suggestions from a vast sampling of the EMS field.

EMS, Projects , , , , , , , , ,

Testing blog via email on my Treo

December 25th, 2007

Well, I'll admit there's no real reason to this post. I just setup blogging via email, and wanted to test it out from my Treo. Assuming all goes well, it will show up… And then promptly be deleted.

Uncategorized

Links, Update on next month

December 25th, 2007

So, the semester is finally over. I made it through another one alive. And aside from a trip to Maryland for five or six days, I’m home until the 20th of January. That’s lots of time to spend running calls for the Midland Park (Volunteer) Ambulance Corps, here in my home town of Midland Park, NJ, with which I’ve been volunteering as an EMT-B for almost four years now. So far, in the past 24 hours (Christmas Eve and Christmas Day, I’ve done 3 runs, which is above average for us – usually about 1.75/day). It’s also a lot of time to spend on some projects of mine.

I’ve already setup one of the SunBlade 150 machines as a desktop, and had to handle a lot of networking stuff (see the Solaris Tips page on my Wiki).

In other news, after getting some Christmas and Chanukah (yes, my father’s family is Jewish, and I’ve yet to find out a single accepted spelling for the holiday) money, I ran out to a Verizon store and picked up the phone I’ve been dreaming of for months – a beautiful NEW (my first not-used phone in 6 years) Treo 700p. So far, aside from some problems with the Chatter Email software (to my dismay, I can’t find a free (even as in cost, let alone as in freedom, IMAP client for Palm) and problems deciding whether or not to pay $25/month for data, I love it. I still need to deal with Verizon, as they wouldn’t let me activate the phone without a data plan, and the current $45/month “unlimited” plan is a bit much for me.

So, I have a few big projects planned for the upcoming down time:

  1. Setup my other SunBlade as a mail server running Postfix, Procmail, SpamAssassin (with Pyzor or Razor), an IMAP server, and SSL for everything.
  2. Setup a Soekris box as a WAP here at home.
  3. Get Chatter Email on the Treo working right with folders (Maildir) on my IMAP (Dovecot) server.
  4. Port my GnuPG/Java-based password manager application to J2ME on the Treo, and figure out how to sync the databases (just GnuPG-encrypted flat files). Also, port it to my Nokia 770 Tablet.
  5. Get my Bluetooth Keyboard (an iGo Ultra Slim) working with the 770 – right now, the Bluetooth Plugin crashes the unit after typing a few characters.
  6. Do a bunch of overhauling on the website, especially generating sitemaps (big issue when you have static content, MediaWiki, and source code) and submitting my CVS repo to Google Code Search.

Also, A few Links for your enjoyment:
A New York Times blog by David Pogue talking about “intellectual property”, “copyright morality”, etc. He even goes so far as to imply that making a single backup copy of a legally purchased DVD is illegal.

A Groklaw article on the February ISO Ballot Resolution Meeting on MSOOXML. If you’re not familiar with it, check out noOOXML.org and their petition listing the reasons to vote NO on the OOXML ballot.

A CNN article stating that it’s true that “Switching from a Windows-operated computer to a Linux-operated one could slash computer-generated e-waste levels by 50%.”

The Register – Windows vs. Linux Security Report.

Some interesting Earthlink (yes, apparently they still exist) newsletters talking about Linux for the Desktop and Open-Source Software.

Stay tuned. More updates to come…

Interesting Links and Resources , , , ,

Stallman and Free Software

December 21st, 2007

I’ve long been a fan of Free Software – both the technical aspects and the moral implications. As such, I’ve long been somewhat of a fan of RMS, and have followed his public persona. I’ve had the experience of exchanging short emails with him, and was lucky enough to attend a speech of his, entitled “Copyright vs. Community in the Age of Computer Networks“, here at Rutgers.

I’m a big fan of most of RMS’s thoughts. I do, however, think of him as a religious zealot. While his teachings may be pure and closest to “the right way”, I find them a bit to pure for the lay-people; perhaps they’re more suited to the priestly class. Reading an interview with RMS today, I came by an interesting response (the first answer on the second page) dealing with the use of proprietary software and drivers. I’ll be the first to say that I’m a big fan of GPL, including GPLv3 – granted most of the “software” I write is shorter than the GPL itself.

However, I have a bit of an issue with RMS’s stance. In my view, freedom is the right of the masses. The GPL speaks at length as to the freedoms granted to a user of software. However, what of the responsibilities of the developers? Compromise is part of life. Very few of us have the privilege of being able to live an idealistic life free of compromise. So, in my opinion, one of the most important aspect of free software is the right of users to be exposed to Free software. This entails not only producing truly (purely) Free software, but also the responsibility of us, the developers, administrators, consultants, and manufacturers, to raise the world’s awareness of Free software. Most importantly, this must be done with the long-term, “big picture” view in mind.

If I hadn’t acquiesced to using proprietary video drivers, I never would have gotten Linux running on my laptop. Unfortunately, I routinely have the need to view multimedia files which are encoded with proprietary codecs. This isn’t a choice of mine – if I had an option of getting files which only use Free technology, I would. But unfortunately, the only other logical option is to run a separate system, running Windows or Mac OS, and transcode everything. But I have an issue doing that. So, I do the best that I can.

In the world view, most people aren’t programmers. They aren’t going to actively seek out Free software, since they don’t receive most of the important benefits of it. Therefore, we as developers must make a concerted effort to raise the awareness level of run-of-the-mill end-users when it comes to Free software. Most importantly, for us, this means actively working to create fully functional replacements for proprietary software. However, the inherent problem is that most end-users don’t care whether they can see the source code of a program, whether they can modify it, or whether it’s Free. What they care about is whether it works or not. If the average person buys a computer with a DVD player, and wants to watch DVDs on it, they’ll use whatever software they need to do that. If Linux doesn’t do it, they’ll most likely use Windows or Mac.

The bottom line is that the average end-user doesn’t care about morals or Freedom or getting source code. Because they haven’t been shown the advantages of that. For the average user to care about software Freedom, they must be introduced to it. Most importantly, they must be introduced to the *power* of Free software, not its’ limitations. Ubuntu is a prime example of this – it’s easy, and does a *lot* out of the box.

My main point is the compromise is a good thing, with long-term objectives in sight. In order for Linux, or any other Free operating system, to gain significant share of the desktop market, it must WORK. It has to do everything that end-users expect from a new computer system, and do it without pain – out of the box. Limiting the software options of an end-user to those which are religiously pure will limit acceptance of that software to those who already share the ideals of Free software. Provide a *mostly* Free alternative (i.e. free where ever it is at all possible) which is functionally identical (or superior) to the common proprietary alternatives, and users will adopt. The more users that adopt, the more they will become aware of the concepts behind Free software. More importantly, each and every user that adopts will increase support for Free software, increase development capabilities, and decrease reliance on proprietary components.

This is an issue of critical mass, of momentum. At the moment, we are forced to make compromises by installing proprietary drivers on our otherwise Free GNU/Linux systems. As can already be seen through Dell, ATI, and other major vendors, when the installed user base grows, the reliance on proprietary software WILL shrink. As more people adopt Free operating systems, vendors will clearly see this trend, and will respond with Free drivers and Free alternatives to other proprietary software.

My cry to the Free software world is, therefore, that trading some of our religious purity for a larger installed user base, and greater public awareness, is ultimately in the interest of the greater good of Free software.

Ideas and Rants

Facebook Beacon; Linux in the Real World; Blog Updates

December 15th, 2007

So, for one thing, I’ve been thinking about making more changes to my blog. For one, I was thinking about ditching Blogger and just doing everything myself server-side. My only qualm about this is whether using blogger (a Google product) raises my Google rankings – after all, Google rankings are a good thing. Also, I’ve been toying around with the idea of creating multiple feeds. Specifically, categorizing my posts into descriptive categories, such as tech how-tos, tech news, personal views, etc. and then offering either a combined feed or feeds of only a certain category. If anyone actually reads this thing (I think most of my readers come from searching specific topics, and probably only read that post – though I don’t have anything to support that). Obviously, to do this, it would be easiest to handle the blog with software on my server, probably something slightly custom.

Facebook Beacon
In an update on Facebook Beacon, I came by this post on Slashdot, referencing a ComputerWorld article questioning whether Facebook Beacon could possibly be sued, as it appears to violate the Video Privacy Protection Act of 1988, which prevents video rental agencies from disclosing the rental history of their customers without a written release. Interesting stuff.

Linux in the Real World
Being an avid Linux user, and a fan of both the functionality (from the point of view of a user as well as a programmer) and religion of F/OSS, I always like to hear stories of Linux (and other F/OSS) usage in the “real world”. Especially situations where Linux is displacing Windows, but really anything Linux-based in general. I can’t wait for a Linux cellphone that will do everything I want – though being a Verizon customer, I doubt that will happen until they move to GSM in a few years. Some people accuse me of being anti-Microsoft. Sure, I am. Why would I pay $200 for Windows when it doesn’t do half of what my free Linux does? I’m not even going to touch on the moral aspects. But just look at the arguments against the OOXML standard. Microsoft sure does do some stupid stuff, and seems to miss the whole idea of the workings of standards. If it only exists in ONE proprietary product, I don’t see how you can call it a standard.

Anyway, I found this article from the New York Times, talking about how the New York Stock Exchange is “investing heavily” in Linux on commodity x86 hardware, replacing Unix mainframes, nonetheless. And what hardware are they using? My beloved HP Proliants.

Ideas and Rants

Sun Blade 150 working!

December 14th, 2007

Yes, it’s 3 AM here, and I’ve been working since about 6 PM on this. But I finally got one of my two surplus (and fully locked down in NVRAM) Sun Blade 150 workstations up and running. I encountered a few problems along the way, but managed to solve them – more or less.

Problem 1 – NVRAM password set, impossible to install an OS.
I did a *lot* of googling, and asking for advice. Eventually, I came by a forum post expressing success with a procedure of pulling out and then re-inserting the NVRAM *while* the system is powered on. This left my system un-bootable. I pulled the chip again, and found two pins bent. I straightened them, re-inserted, and rebooted using the Stop+N Equivalent Functionality (after powering on the system, once you hear the POST beep, click the power button twice quickly). This temporarily resets the NVRAM to default settings. I found that the password was gone, and was able to issue the “set-defaults” command at the “ok>” prompt. I then popped in the Solaris 10 install CD, issued the “reset-all” command to reboot, and used Stop+A at boot to bring up a boot menu, and told it to boot from CDROM (”boot cdrom”). Installation then started.

Problem 2 – Invalid NVRAM
After the above procedure, when booting, I got a message following the Sun banner stating that there was a problem with the IDprom checksum. When the install CD booted, I also got messages stating “Invalid format code in IDprom”, “Warning: IDprom checksum error”, and “os-io Invalid format code in IDprom”. After another five hours of work, I found that it’s essentially something I have to live with. While OpenBoot previous to version 4 allowed use of the “mkp” and “mkpl” commands to directly write the IDprom, version 4 and above allows no access to this. The IDprom was reporting an ethernet (mac) address of all zeros. Unfortunately, there seems to be no way to correct this as far as I’ve found. However, it didn’t effect my OS installation… much.

*There may be a way to access the IDprom through OpenBoot 4.x, but I couldn’t find any reference to it online, and couldn’t figure out the FORTH commands from the reference docs.

Some helpful links for the above problems include the OpenBoot 4.x Command Reference Manual, currently found here, as well as the Sun Blade 150 Service Manual (from docs.sun.com), document 816-4379-10, currently indexed with the Sun Blade 150 docs here. It was also interesting, in my search for help, to look at the OpenBoot 3.x Command Manual, and see how easy it was to re-write the IDprom on older Sun Blade workstations.

Pleaese note that the advice given in the Unofficial SunBlade 100 FAQ and the squirrel.com Sun NVRAM FAQ doesn’t seem to work on the 150 with OpenBoot 4.x. From what I can tell, all of that advice applies only to OpenBoot 3.x!

Some other helpful links included an ITworld.com article on Sun NVRAM passwords, this Sun Developer Forum post, and this post on password recovery.

Problem 3 – MAC / Ethernet address is 00:00:00:00:00:00
When booting Solaris, I found that I couldn’t get DHCP. When I finally got the OS running and logged in as root, I realized something interesting – I couldn’t access or ping anything past the one switch I was connected to. But everything on that switch was fine, pinging both from and to the Solaris box. I ping’ed from my laptop, and then thought to run “arp -a”. It showed a MAC address of 00:00:00:00:00:00! Running “ifconfig -a” on the Solaris box confirmed this. Luckily, the first time I booted this box, I wrote down the ethernet address and hostID as shown on the banner. I ran a quick ifconfig to setup the correct MAC, like “ifconfig eri0 ether xx:xx:xx:xx:xx:xx”. Networking now worked perfectly, and I could get to everything on the LAN as well as browse the web. It would be good to somehow reset this in NVRAM, but for now I’m just going to add it to the startup scripts somewhere. One forum post that I found suggested adding the previous ifconfig command to the top of /etc/rc.c/init.d/network, which I’ve done and will see how it works at the next boot.

Problem 4 – Can’t login to SMC (Solaris Management Console)
My next task after getting the system up and running, and getting networking working, as to give myself a user account. I was logged in using the Java Desktop System, so I opened a terminal and ran “smc &”. After the usual initialization wait, I loaded the toolboxes for the local machine, and connected. When I clicked on the “users” module and entered my root password, I got an invalid password / login failed message. I tried again and again, even checking against the post-it that I wrote the password on until I memorize it. Nothing. Searching the forums, I came by this post, but the value in /etc/security/policy.conf was correctly set to ” CRYPT_DEFAULT=__unix__”. So, on a wild hunch, I used “passwd” to reset my password to a shorter one, which I use on a few other (unimportant) workstations. Magic!

I now have, after two days of work, a working Solaris box. Now that I have a good OS install, in order to get the other box working, I *should* just be able to swap HDDs, boot, login as root, and use the “eeprom” command to set “security-mode” to “none”, bypassing all of this bull****.

Projects, Tech HowTos , , , , , ,

SunBlade Workstations

December 12th, 2007

So today I picked up two surplus SunBlade 150 workstations. The price seemed right, and I figure that at the very least, they’d give me some Sparc machines to play around with. The two seem slightly different. Externally, one has a CD-RW and one has a DVD-ROM. The one with the DVD, the first one I’m working with, has a 650MHz Sparc IIi, 512 Mb RAM, and XXXXX HDD. I’ll figure out the specs on the second when I get it running.

They also both use simple EIDE drives, so I might put a new drive in, after checking drive current drive information through SMART. I planned on using one of the machines (probably this first one, the 650MHz with the DVD) to replace my aging mailserver at home (a 350MHz Pentium II Gateway desktop), running Solaris 10. The other one will be a workstation/desktop for me, which will probably run either Solaris 10 or Solaris Express Developer Edition (SXDE).

Unfortunately, the project seems to have hit a dead-end. Both systems have hardware/NVRAM security setup, so they won’t boot from CD without a password. They also won’t boot the existing Solaris installation, as it’s looking for a whole bunch of network services that don’t exist. I found a few suggestions online on how to bypass this, but none of them worked. So, at this point, I have a few options to consider:

  1. Hope that as a Sun Microsystems Campus Ambassador, I can contact someone who can advise me on how to clear out the password or NVRAM.
  2. Hope that as a Rutgers employee, I can track down someone on the Camden campus where these came from that may have the NVRAM password.
  3. Break down and pay $40 each for *new* NVRAM chips.

We’ll see what the next few days brings. Hopefully not resorting to a solution that costs more than I paid for the machines.

Projects

Tech – Updates

December 11th, 2007

First of all, until I decide on either splitting my blog, or setting up separate ‘channels’ for personal and technical stuff, I’ll annotate the difference in post titles.

So I have a few days of sanity – the last week of classes – before exam time. Hopefully I’ll wrap some things up, and even finish my Christmas shopping (ThinkGeek will be happy…). I don’t have a whole lot of real value to say, but a few notes on upcoming projects.

  • I’m going to be buying a few SunBlade 100s and 150s as surplus from Rutgers. I’m probably going to have one or two running at home replacing my ancient mail server. I might also bring my PowerEdge 2550 home to virtualize a few of my machines – though, arguably, my two backup machines are the best candidates, though I don’t like the idea of virtualizing backups.
  • I think the new mail server will run Solaris, though I haven’t looked into the technicalities of Procmail/Postfix/SpamAssassin/some-IMAP-server on Solaris.
  • Print Accounting is finished, though the GUI isn’t completely done. I’ll have it in CVS sometime this week.

I’m thinking about password managers. I posted a comment to the SAGE mailing list, but didn’t get many helpful replies. I’m looking for a solution that can keep track of all of my usernames and passwords. It needs to be secure. Very secure. I’d like to set separate passwords for almost every machine/account that I have. More importantly, I want something easily portable. Unfortunately, I find things like the Mandylion a bit limiting – not only does the device generate passwords for you, so you can’t really store many notes (I might want to keep track of a URL, name for the entry, username, member number, etc.) but it’s also a single hardware device – no way to back it up, and easy to lose. I also saw the IronKey which sounds damn good – especially the Mission Impossible-esque self-destructing encryption chip. But that means that some @$$ just has to type in 10 incorrect passwords and it’s useless. Moreover, it needs to be plugged into a system, so if I don’t have a laptop and I’m not at a trusted terminal, there’s ample security risk.

I talked to my roommate (an EE major) about hardware solutions, but they seem to be a bit expensive and way too much R&D time. So, it seems like the only real solution is software. At the moment, what I have to work with includes a Nokia 770 Internet Tablet, a Blackberry 7250 (hopefully being replaced by a Treo 650p or 700p soon), an array of Linux desktops, and my laptop (right now a Linux box that stays on my desk, but maybe a MacBook, iBook, or Asus eeePC soon).

The overall idea is to create a set (or trio, or quartet) of applications to act as a password manager. They would store passwords and related information (initial acitvation date, reset date, scheduled reset date, username, system/site name, notes) in a flat file or a simple database like BDB. That file would then be encrypted using GNUpg and strong encryption. Another possibility is separate files per “class” of password, such as one for root accounts, one for user accounts, one for web sites, etc. with different encryption strength for each class (speed may be an issue for en/decrypting large files on small devices like phones.

In terms of the program, ideally I’d have a graphical client for my phone (Treo or Blackberry) probably written in Java, a graphical client for the Nokia 770 (maybe Java, maybe something using Python and native GTK), a graphical client for my laptop, and a CLI client for the 770 and laptop. Databases would have to be sync’ed across machines – the 770 is easy enough to just find the newest file and copy it, or manually decrypt, diff, and then encrypt. I don’t know how I’d do it on the phones, the only thing I can think of right now is to pay for data usage, and then manually copy over to the phone (either via SFTP, SCP, or a HTTPS connection).

Projects

Commentary – Best Products, or most hype?

December 11th, 2007

In my usual lunchtime Digg reading, I came by a link to the BusinessWeek Most Important Products of 2007. Given the number of cars, it’s apparent that this is a very consumer-oriented listing. But I was a bit surprised – the first four products were all from Apple – the iPhone, MacBook Pro, OS X Leopard, and Apple TV. While some of these are definitely interesting, I really don’t think that any other than the iPhone could be considered truly important or groundbreaking. OS X Leopard and the MacBook Pro may be wonderful for Mac users, but they’re not really anything “new” in the sense of ideas – they’re just updated versions with more/better features. Given the amount of hype that surrounded it, it was clear that the iPhone would be on this list. And I will admit that, despite my moral objections to it (bricking phones that innocent users unlocked), the iPhone is very nicely done. But it’s not anything truly NEW. It’s a step in progression. There were phones with cameras, phones that were thin, phones with touchscreens, and phones that played MP3s. Apple just pulled all – and some extra – into a very nice package.

So what else was mentioned? The Dell XPS One, some Mac-ish all-in-one Media Center PC. It puts everything my computer has in one OEM package, and adds on Windows Media Center, just to make sure it won’t do everything you want. And it even puts the entire computer inside a monitor-sized enclosure, so if you crack the LCD, you have to send the whole thing back to Dell. Don’t even ask me how the Braun Pulsonic electric razor made it onto this list. Or a 30″ Gateway LCD monitor. Yes, it’s a big monitor. And it has a TV tuner. That makes it one of the most important products of the year? Of course, there’s also a 60″ Pioneer LCD TV, the Tivo HD DVR, and the Motorola Razr2. All jazzed-up versions of old ideas. And I’m not even going to mention Windows Vista, arguably Microsoft’s biggest flop (other than Windows ME), which appears on the list – though they do mention, “While many users hate it, there’s little question that the operating system is selling extremely well.”. They mention that Microsoft said, in October, that it had shipped 88 million copies of Vista. While I don’t totally doubt that figure, it doesn’t take into account the users who bought a Dell with Vista and then dumped it for Ubuntu. Or even the (I imagine rather large) number of users, like many of my friends, who bought that new computer with Vista and immediately loaded their old XP Pro disk.

So, after all of that nitpicking, what do I think is missing?
1) The desktop processor revolution, with 64-bit systems becoming quite common.
2) The Intel and AMD dual- and quad-core CPUs being put in consumer machines.
3) Intel VT hardware virtualization technology.
4) OLPC
5) The Asus eeePC (well, this is still to be determined)
6) Motorola cellphones moving to Linux (as well as other companies)
7) The portion of the 700-MHz spectrum set for auction by the FCC. (well, not a consumer product, but it could revolutionize mobile communications if it falls into the right hands).

Ideas and Rants

Windows advances, Cutting out the middle-man

December 7th, 2007

So I have a nice weekend of real-world non-technical activities ahead of me. A welcome end to a week of insanely busy school work, and a welcome break before the threat of exams 2 weeks away becomes real. I’ve been working on a few projects – centralized logging and analysis, some way to easily tie Nagios, log analysis, traffic analysis, etc. into a one-look heads-up display, and a few other things. I even got the power adapter for my LCD so that I can have a try at the giant wall-size LCD projector. However, reading through my usual RSS feeds today, I felt the urge to comment on a few things.

First, for those who haven’t heard, the SFLC and the BusyBox developers have filed another lawsuit alleging GPL violations, this time against Verizon for distributing an Actiontec router to FiOS customers, sans source code. I’m a FiOS customer (in fact, the very text you’re looking at is coming to you courtesy of residential fiber) but got in on the wagon before they were giving away these “fancy” routers. It’s good to see, though, that the F/OSS world is standing up for its’ values, and perhaps the mainstream proprietary world will start to understand that just because you can give a copy of BusyBox to your friends doesn’t mean they can disregard the license.

Windows Advances?
I came by this blog post discussing the fact that, apparently, Windows 2008 is going to be able to be installed in a CLI-only (yes, that’s right, no GUI) mode.

I’m not going to preach about Microsoft turning unix-y. Rather, I think it just reiterates something that I’ve said time and time again: I’m setting up a DNS server. It’s going to be administered in a web GUI or by scripts. Why should I tie up RAM and processor cycles to display a GUI that, if the system works right, will never be looked at?

Rather than seeing this as some victory for Linux, Unix, etc., I take it a bit more realistically (though still, perhaps, over-optimistically):
Maybe Microsoft is finally realizing that their one-size-fits-all mentality doesn’t work. That people want options. And, even more mysteriously, that not everyone wants to have to buy the newest hardware just to run an OS.

Cutting out the Middle Man:
I found and article at internetnews.com entitled “The Young, Smart And Loaded Watch Online TV “. Many parts of it saddened me – like the thought of allowing providers to push advertisement through my computer, or tracking my viewing habits in great detail.

However, this is something that’s occurred to me many times. Firstly, I already use MythTV to watch tv. So, realistically, I’m already watching TV on a computer. I have broadband in both my home and apartment (and anywhere else I’d want to be). I have a coaxial cable coming from the wall, plugged into my computer. And I have to hook a tuner up and capture the video. Why not cut out the middle man?

I pay Cablevision somewhere around $30/month for TV. That covers not only the content, but also the costs for them to maintain a vast network of cable lines stretching from where-ever to my house. I already have broadband, why not just get TV over that?

Admittedly, I doubt any provider would give me what I want. But let’s think about it for a moment. Their only cost is a datacenter somewhere. I simply connect to a somehow-authenticated video stream over my existing broadband connection, and watch TV! All they need is a contract to rebroadcast. They can even pay on a per-view basis, as they would be able to tell who’s connected to what at a given time. They just need a data center with a LOT of bandwidth, some sattelite or fiber video lines, and a system to capture each channel they offer. It then just gets streamed.

Sounds wonderful to me. I’m already paying for high-bandwidth, why not pay a third-party to stream TV to me instead of paying the cable company? They don’t need to maintain anywhere near the level of infrastructure – no physical cabling, no satellites, and QoS would be determined by each individuals’ ISP. It would even allow me to have one account and watch at home, at my apartment, or at work.

The catch, at least for me? Well, while this might be viable, the odds are there would be a proprietary viewer application. That’s bad. Firstly, it’s useless if you can’t record it and watch it later, or transfer it to another computer. But more importantly, the odds of such a company embracing a standardized technology (like just streaming everything over the web and depending on SSL and HTTP-based authentication) that will run on my Linux boxen is pretty slim.

Ideas and Rants