StatisticsTotal Posts: 15 This Year: 4 This Month: 0 This Week: 0 Comments: 4
Admin
Sign In
Navigation
Recent Posts
On this page....
Archives
Full Archives By Category
2007 Calendar View
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 26 | 27 | 28 | 29 | 30 | 31 | 1 | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | 9 | 10 | 11 | 12 | 13 | 14 | 15 | | 16 | 17 | 18 | 19 | 20 | 21 | 22 | | 23 | 24 | 25 | 26 | 27 | 28 | 29 | | 30 | 1 | 2 | 3 | 4 | 5 | 6 |
Categories
Architecture (4) Books (2) Coding (5) Networking (3) Other (2) Scripting (4) Security (1) Systems (3)
Blogroll - Fav Blogs
Acknowledgments
DasBlog Theme Design by: Tom Watts
E-mail:
Theme Image by: dreamLogic
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
Pick a theme:
|
observations from a life beside the machine
 Tuesday, May 06, 2008
I traveled to the Dallas area on business last week. I was in town for
just a couple of days. A rather common business trip, except for one
simple thing... I never booted up my corporate laptop. Never logged
in, connected with a VPN and launched Outlook to get corporate mail.
Instead, I only used my BlackJack smart-phone with Windows Mobile 6. The BlackJack
has a tiny screen, a tiny keyboard and barely lets me view PowerPoint.
It does however always live in my pocket and always offer ready access
to email, feeds, web browsing (sort of and mostly), note taking,
weather, directions, traffic, restaurant information, contacts and so
forth.
Mobile Internet Devices (MIDs)
are a new market segment being promoted to live between the current
smart phone and the super small notebook systems. The idea behind
these devices, what I call super-phones for fun, is to offer the real
Internet on a ultra mobile device. I'm reminded here of those ultra
snazzy iPhone commercials. Intel has recently released the Atom
processor targeting these devices. The Atom is much less power hungry
than a standard notebook processor, though more than current
smart-phones. And on the smart-phone side, the ARM processor folks are
growing phones into this same segment. PCs and phones are merging into the ultimate mobile hand-held computer.
A few weeks back the Economist had a wonderful feature on mobility, specifically the article "Nomad At Last"
shows a chart of PC-based Internet users vs mobile phone users. An
idea presented is that someday nearly everyone in the world will have a
hand-held computer accessing the Internet. Perhaps we can view the
laptop incarnation of the PC as the "luggable " computer of the first wave of the Mobile Internet. The next step with a super-phone is to address the physical limitations of small form factors and such work is progressing with composable computing.
These systems will eventually dynamically connect to resources near-by
and auto-magically offer such things as inputs via a wireless keyboard
and mouse and outputs to larger screens or sound systems.
The super-phone is the disruptive computer of the mobile Internet. It is
simpler to operate, cheaper to own, easier to move around and always
present. Advantages traditional PCs have in legacy applications are already
eroding with Web 2.0 and cloud computing. Advantages in hardware will
disappear with composable
computing. Disruptive technologies don't offer the same features at
first of the older system they replace, they just offer the right
features in a more compelling way. The race to the super-phone is on.
I welcome the smaller carry-ons.
 Saturday, April 19, 2008
I was a child in the early eighties. I remember giggling and dreaming about the future, which was of course, "the year 2000". The year 2000 is nearly a decade ago now, but it was today that the feeling of these childhood fantasies came back - as I watched my new Roomba 550 clean the bedroom. He beeps when he's happy, he beeps (and talks sometimes) when he sad, but what really gets me is when he cleans under the bed.
I have a magic wireless book reader (Kindle) on the way (this is Star Trek). I have access to a massive electronic encyclopedia (Wikipedia) and many technology books (Safari Books) that I can read anytime from anywhere with a computer. On that computer I have a thousand or maybe a million newspapers I can read and maybe a billion other things. I have hundreds of documents, spreadsheets and presentations stored auto-magically in a cloud (Google Docs). I have a radio phone (BlackJack) I can also use to look up news, weather, messages, book reviews and read (some of) those same newspapers on the train. I have a freakin' robot that cleans my house and another (Mindstorms NXT) that I can program just for fun. This is sweet. This really is the year 2000.
 Friday, April 11, 2008
Not really. The Big Switch Part 2 (future post) set me off thinking about downsides to the future disruptive cloud computing. Then I moved to the city and a condo with a river view...
A lot has happened this year. For the moment I will only comment on one thing I find amusing at this very moment. I'm studying for the Microsoft .NET developer certification for ASP.NET. I have been a user of Google Documents for quite awhile and decided to use Microsoft's Office Live as a document repository for my developer certification training notes. I started a workspace, basically a non-nestable folder with pre-populated items from certain templates, for these presentations. As Office Live uses the Software + Services model for the workspace PowerPoint file the documents live on the site and I access them there, select Edit and then they open locally and I occasionally hit Save. This seems to be a public implementation of the SharePoint features many of us are familiar with on corporate servers.
Now the problem is that simple statement, 'occasionally hit Save'. In the last couple of weeks on one machine and then another I have encountered an error where on the first attempt to save I get an error. The content actually does save to the site but the presentation kicks into read-only mode. I then must exit PowerPoint, open the site again and then select Edit again and start over. I did this for a couple weeks and submitted feedback on the bug. I've yet to get a response from anyone about it.
Well yesterday I worked for a bit on ten or fifteen slides. I had just gotten into the habit of condensing any code samples I write up by removing the C-style braces and semicolons. At first this struck me as making it look a bit like pseudo-code and then I realized perhaps it looks more like the Python scripting language (spiritual heir to Perl). As I consider this, I hit Save and realize I'm in read-only mode already. What do I do with these slides? How can I merge the two PowerPoint documents (my local copy and the Office Live version)? I'm sure it's rather easy to do and I just don't spend enough time in Office and don't know. Instead, I just opened Google Docs and imported the file into a Google Presentation. Then I imported every PowerPoint I had on Office Live to Google. I decided then to give up on Office Live for the moment. Google Documents has a brain-dead web interface that I like. More and more I like brain-dead and simple when it comes to computing - this is the true power of a disruptive technology... its just simpler to use. And it automatically saves.
Google announced Application Engine. It uses Python and hosts web applications in the cloud for you. Python looks like my pseudo-code in my ASP.NET certification presentations. I find it amusing that studying ASP.NET got me thinking so much about the Google Cloud and Python. Very amusing. Maybe I'll look at the Programming Collective Intelligence book some more, it uses Python...
 Tuesday, January 15, 2008
I just finished part 1 of The Big Switch, by Nicholas Carr. Carr is the guy everyone in IT hates, he told us we are basically irrelevant to a business as every company has the same types of employees deploying the types of software, e.g. no competitive advantage. Everyone in IT just might hate this guy, but he's basically right.
I LOVE this new book. He compares the coming network/cloud/utility computing revolution to the early electrification of the world. I enjoy the history and I enjoy the comparison.
Basic summary: Fiber optic Internet connectivity will finally unleash the utility computing revolution many, including Google CEO Eric Schmidt since 1992 (as the CTO of Sun) , have been discussed. The era of the PC is dead. The vast overhead of IT will be removed from businesses and computing , like electric power generation, will be consolidated into large centers with grand economies of scale.
Favorite quote from the book so far: "20 years from now PCs will likely be a museum piece, a reminder of a curious time when we were all forced to be amateur computer technicians."
Anyone who has used Google Apps or Office Live Workspace can get the feeling. Maintaining PC operating systems, applications, backing up files and moving them between systems just seem so archaic now. As an interim solution for items not supported in the online office applications, I store my data in a folder named FolderShare (that replicates the Documents folder structure), named after the (Microsoft acquired) Windows Live service that replicates files between systems. To move all my PC data onto a new system, I simply install the FolderShare client and add it to the replication. If a partner is on the same LAN I get the files very fast, if over the Internet (it auto-magically NAT-busts) it will take a bit longer. It is beautiful. They may have something for applications too at this point, I see the idea with the corporate (software vitalization) SoftGrid, but I haven't tried anything yet for end users. I think I saw an application migration wizard somewhere. This gets back to the point of the post though, why should I have to do anything of this anymore?
 Saturday, January 12, 2008
I was recently working through some Algorithm examples written in pseudocode and wanted a simple language to write and compare two functions for efficiency. As I am an advocate for the super-coolness of Powershell, I naturally opened up the Powershell Window. After screwing up various commands and generally forgetting syntax I became quite weary of using command histories alone to enter 10 line functions. Where is Vi? Well, I am using Windows...
PowerGUI provides the PowerGUI Script Editor, which is a basic IDE for working in Powershell. The PowerGUI script editor has bookmarks, local variables, an output window, debugging and breakpoints and block commenting buttons. I love this thing. I save the best for last, Intellisense-like completions.
So I will harp on the Powershell thing one more time. If you use Windows and you are technical, install Powershell and PowerGUI right away and play with it. It's a highly productive scripting language with a .NET object pipeline. And you can write silly little scripts with an IDE that is simple, free and easy to use. If you are a developer try it for a Perl-like Windows script-ability and if you're a systems guy try it as it is the foundation of all the new management interfaces to just about every Microsoft Server System.
 Monday, December 17, 2007
First off, in case anyone misses it, the front cover of BusinessWeek right now is an interesting article on clouding computing and a guy at Google who is working with IBM to bring cloud capabilities to universities to get computer science students thinking about and playing with these systems as well as thinking about really large amounts of data.
Earlier this month Microsoft introduced Volta, a project to extend .NET into the cloud. I haven't played with it yet, but the blog mentions the development process as enabled through tier splitting. Basically a developer creates the application, such as an old fashioned WinForm and then Volta automagically tier-splits it into a multi-tiered systems, automatically Marshalling data and so forth. To quote the Volta blog:
You can target either web browsers or the CLR as clients and Volta handles the complexities of tier-splitting. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and all communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.
 Thursday, December 06, 2007
The Architecture Journal introduced an interesting reader last month. It is a natural dog-fooding measure for the 13th Journal that focuses on Software + Services. My initial impressions of the reader are good, it gives me ready access to all the journals at once in a single view. No more navigating a file system for various PDFs. Integrated search for all the journals. Scrolling with the keyboard is nice, though a wheel slide sends me to a different article and not the next page of the one I'm reading it seems. The reader adds a nice level of browsability beyond PDF to the inherent benefits of a digital format. The question is up in the air now whether I prefer the nice color printed copy Microsoft mailed me ($1.31 postage on them) or the reader for this type of in-depth-whole-article-that-really-makes-me-think-reading at this point. Pardon the near German there.
That out of the way, I really recommend the article "Implications of Software + Services Consumption for Enterprise IT" for systems engineering minded folks. Specific recommendations are provided for the questions to ask in a Software + Services business application evaluation. Figure 1 presents a nice software/service continuum diagram putting differing levels of software systems for IT in a nice perspective based upon the level of cloud integration. The infrastructure and business integration requirements for even a fully outsourced SaaS solution are concisely desribed... for example if end users are going to use the application, the Help Desk still needs to be trained right? The in-house network, dns, proxy and other infrastructure systems still need to be operational and part of the troubleshooting tree... and then we get to how users authenticate to the service and is the service even up... do we need an lightweight in-house service monitoring system?
 Thursday, November 22, 2007
The WiMAX Forum Application Working Group has defined five application class types by the network characteristics of bandwidth, latency and jitter. I find these classes a good model to use for evaluating perceived network performance. These classes are:
- Interactive Gaming
- low bandwidth
- latency sensitive (< 80 ms)
- not jitter sensitive
- VOIP and Video Conferencing
- low and moderate bandwidth
- low latency
- jitter sensitive (requires a typical < 50 ms)
- Streaming Media
- moderate to high bandwidth
- not latency sensitive
- jitter sensitive (< 100 ms)
- IM/Web Browsing
- moderate bandwidth
- not latency sensitive (a satellite access web user might not agree!)
- not jitter sensitive
- Media Content Download
- high bandwidth
- not latency sensitive
- not jitter sensitive
The converged networks we're building now require nearly opposite capabilities. Traditional traffic is just bandwidth hungry, while VOIP and other real time traffic only require a timely and consistent delivery (low jitter) of rather small packets. This leads to the consideration of 'smarter' networks and features such as QoS. e911 services for VOIP, including emergency location determination, add another level of reliability and feature requirements to the network. This really is a fun time to be involved in networking.
WiMAX Forum presentation detailing the application classes (pages 5-8): http://www.wimaxforum.org/news/downloads/supercomm_2005/WF_Day_in_a_Life_with_WiMAX_Final.pdf
 Thursday, November 22, 2007
One of my favorite articles in the great Architecture Journal from Microsoft is the Secrets of Great Architects.
Without a doubt, one of the most important points made in the article is that "all great architects have mastered the ability to conceptualize a solution at distinct levels of abstraction". These levels of abstractions are then maintained over time and kept consistent. Changes are evaluated through these levels and change requirement evaluations will be more accurate.
A formal structure defining these layers helps to maintain consistently. The article presents a simple four layer framework:
Domain defines the business as a black box and focuses on the customer
Business Process defines the systems and employees that collaborate to perform business transactions
Logical defines the high level design of the system including technology recommendations
Physical defines the code and relational tables used to actually implement the system
Each level is detailed in multiple views including:
If you find yourself in a confusing mess of class diagrams and object interactions that suddenly make no sense, stop and re-evaluate the other levels of abstraction. You may be missing or forgetting something in a higher level model.
|