Archive for May 2003


Midterm 2

Midterm 2 will be in the testing center on June 2nd and 3rd. You may not take it early or late. The exam will cover up through Lecture 24. The style will be much like Midterm 1. You are responsible for knowing when the Testing Center is open and making sure you leave yourself enough time to complete the exam. As with Midterm 1, the exam is open book and open notes. You will probably want a copy of the project write-up.
Continue reading...


Online Course Evaluations

You can complete the online course evaluation anytime between June 5 and the last reading day. You do so by signing onto Route Y and searching until you find the right link. :-) Course evaluations are an important form of feedback for faculty and I take them seriously. I've made many modifications to courses based on feedback from evaluations. I encourage you to participate.
Continue reading...


Idaho Gem

Scientists at the University of Idaho and Utah State University announced today that they had succeeded in cloning a mule. The clone is named "Idaho Gem." Gordon Woods, one of the chief scientists on the project was my next door neighbor when I taught at the University of Idaho. As with each new species cloned, Idaho Gem opens another door in the understanding of animal systems. Woods, who calls the mule "a 1,000-pound mouse that kicks," says the cloning may also help in the study of cancer. Key differences between horse and human cells may account for why horses
Continue reading...


Final Project

A few items of note for the final project. You should be in the same group you were in for the first project. If that's not possible, let Grant know as soon as possible. By tomorrow evening at midnight you should have emailed your languages preference to Grant. This is simply an ordered list of languages from the list in the report with three others that aren't listed there. There are hundreds of programming languages, so just pick some. You'll need to find a working implementation of the language you're assigned. You may want to consider that before you
Continue reading...


Utah Interlinx: Broadband for St. George

This story in Wasatch Digital IQ discusses the utah Interlinx project which hopes to bring better broadband access to St George in Southern Utah. "The first stage includes building╩two new,╩redundant long-haul fiber optic╩lines into St. George,╩ and the second stage is to build a new╩next-generation metro area network (MAN) utilizing both SONET and Gigabit Ethernet technologies." The story also talks about building a smart building in St. George. St. George is one of the fastest growing areas in Utah, so its not surprising that this kind of project is interesting to many, but its not clear to me from
Continue reading...


More Organizational Blogging Questions

Phil Wolff has posted a list of questions to add to mine. I'm posting them here in their entirety so that I can edit them a little. Here they are: Does IT blogging start at the top? CIO and direct reports? Any holdouts? Some people have deep resistance to writing, let alone writing in public. How do you bring them in to blogging? Is it OK for them to "just read?" How do you accommodate the visually impaired, both in blogging and in reading blogs? Are your blogs accessible? Have you tried any more formal knowledge management systems? How
Continue reading...


Language Design isn't Compiler Design

An article in Lambda, the Ultimate, points to a piece by Chris Brumme on memory models in CLR, Microsofts Cimmon Language Runtime. CLR is the virtual machine that C# and other Microsoft languages compile to. Chris says: So what is a memory model?╩ It?s the abstraction that makes the reality of today?s exotic hardware comprehensible to software developers. I can remember the days when CPUs weren't so complicated. But what with n-way semetric multi-processing, multi-level caches, and whatnot, its gotten to the point where understanding the CPU design is a job for experts. CLR, JVM, and other VMs allow
Continue reading...


Using Weblogs to Manage IT Organizations

I've been asked to moderate a panel on using weblogs in IT organizations at the upcoming Weblog Business Strategies conference in Boston (June 9-10). I've been mulling this topic over and trying to come up with questions and discussion topics for the panel members. Here's what I'm thinking so far. I'd like each panelist to spend no more than five minutes introducing themselves and their organization. No slides necessary (or even wanted). This introduction should contain information about their experience blogging and why they blog. Here are a few questions to think about in preparation: When I took up
Continue reading...


Novell Challenges SCO

The SCO vs. Linux contest took on a soap opera-like quality today with Novell issuing a press release that challenges SCO's ownership of UNIX. In the words of Jack Messman, Novell's CEO: [C]ontrary to SCO's assertions, SCO is not the owner of the UNIX copyrights. Not only would a quick check of U.S. Copyright Office records reveal this fact, but a review of the asset transfer agreement between Novell and SCO confirms it. To Novell's knowledge, the 1995 agreement governing SCO's purchase of UNIX from Novell does not convey to SCO the associated copyrights. We believe it unlikely that
Continue reading...


Watches and Computers

The other day as I was driving to an appointment I glanced at the clock in my truck to see how I was doing for time. For some reason it struck me that I can remember when the only clocks in cars were wrong. I don't wear a watch usually. I've found that clocks are ubiquitous. I'm almost never somewhere where I can't find a clock. No need really to carry one on my wrist. The reason that people carry watches harks back to a time when clocks were not easy to find and yet time was becoming more
Continue reading...


RSS -> HTML

From Jon Udell is a nice little piece that describes a great way to create lightweight HTML from an RSS feed using XSLT. Credit for the code should go to Robert Ivanc. This kind of lightweight feed would be better for reading with a phone or PDA, for example. Less HTML overhead. What Jon fails to mention is that its not specific to his site. For example, here is the lightweight HTML for this site. Of course, I may want different colors, etc. and that's easy enough to do, but all I did to create this link was change
Continue reading...


URL Design

Designing your URL's in one of the important principals in my list for enabling web services. Its a good idea in any event. This paper from Port 80 Software discusses some strategies for making URL's useful. Most are pretty good and worth implementing. I don't agree with one however. They advocate disguising the query strings in a GET. I think that is a serious mistake. While it might make a URL easier to remember, it potentially makes the application less generally useful and complicates the API description. A consequence would be that other's who wish to write programs to
Continue reading...


DesNews Picks Up the Story

Today, the Deseret News, Utah's second state-wide daily picked up the story of my security inspection. I was wondering whether or not they would. Sometimes when one of them gets scooped by the other, they don't publish anything until there's something more to write. Of course, if there isn't anything more to write, you can make the story more sensational and justify the "different slant" to the editor that way. That was the case here. The DesNews story contains several factual errors. For example, it says I was caught trying to disable to state web site, which I was
Continue reading...


Press, Blogs, and Security

My apology from earlier this week has landed in the Salt Lake Tribune. The article is entitled "A Hack Attack? Oops!" which is a pretty good headline, but the article characterizes what I did as hacking "into the state Web site." This is, of course, inaccurate, but probably how most non-techies would see it. There was actually no hacking. The tool operates entirely by asking the system to retrieve URLs from the public Web site interface and then noting the response. Weaknesses and vulnerabilities were probed and cataloged. These vulnerabilities were not exploited: no data was changed on the
Continue reading...


Centralize and Save

The McKinsey Quarterly has an article by Brad Brown entitled Recentralizing IT (note you'll have to register to read more than the abstract). The article makes the following claims: Centralized IT infrastructures cut costs and more reliable. A service-based approach where business units purchase the services they need from the central infrastructure allows them to retain control. The more you consolidate, the more you save. On the last point, the report shows that consolidating IT management, data centers, and network infrastructure yield savings of 15-18% over a purely decentralized model. Throwing mainframe and mid-range servers and Internet into the
Continue reading...


Open Source as Competitive Advantage

Ideal Technology was at the Open Source in eGovernment conference that I attended in March. They've now landed a government contract for $65,000 according to GovExec.com and credited open source as a competitive advantage: Jacobs believes his firm won the contract because of Ideal's expertise with "open source," a type of software that includes code that can be examined, modified and copied without threat of copyright infringement.
Continue reading...


Product Management in eGovernment

This article in Federal Computer Week talks about how various state and federal agencies manage projects. My thoughts on product management are included at the end of the article. I feel very strongly that product management is an important discipline for eGovernment that is separate from project management. Dave Fletcher was also interviewed in the article and wrote about the Utah Product Management Council in his blog.
Continue reading...


OK, I'm an Idiot: A Public Apology

Last week I did something stupid and I think its important to own up to it in public---both as a means of penence and as a way of recording mistakes so that they can be avoided in the future by myself and others. I was testing a piece of security software called WebInspect from SpiDynamics. WebInspect tests web sites for a large number of known security vulnerabilities. The tool inventories the contents of a site and then checks against a set of known vulnerabilities in Web applications. Its a very interesting application and I'll write more about it later.
Continue reading...


Office Hours Today and Friday

I'll likely be 15-20 minutes late for office hours today. Friday, I will have to miss office hours all together. If you were planning on coming in, please send me an email and we'll find a way to get together.
Continue reading...


Public Sectors Still Falling Short on Online Customer Service

KANA has released a study that says that the public sector still falls short in online customer support. The study made use of actual visits to various state Web sites will email queries about renewing driver's licenses and recycling. Here's what they say: The study of state government Web sites showed that the public sector remains dependent on telephone and in-person customer service, despite the significant costs of this form of customer support. More than two weeks after being queried with questions concerning contacting state representatives, renewing driver?s licenses and recycling, 20 percent of the states have yet to
Continue reading...


.NET is IT Asbestos

Craig Conway, CEO of PeopleSoft describes .NET as "IT Asbestos." I'll have to remember not to shred the documentation.
Continue reading...


Perens on SCO vs. Linux

Bruce Perens writes in news.com about Microsoft's entry into the fray by licensing SCO code. I wrote about this a little yesterday. I got the reference to the article from Jeremy Zawodny's blog. I think Perens does a pretty good job of laying out the story from the Open Source perspective---especially the FUD factor. There's some real irony in Microsoft "coming to SCO's aid" and its more than just Microsoft licensing Unix code. The irony is that SCO is the former Caldera. Caldera is the entity that inherited all of the Novell vs. Microsoft lawsuits from Novell with Noorda's
Continue reading...


CNet News on SCO vs. Linux

I got a quote in this CNET News article on Microsoft licensing SCO code. I think this really muddies the waters for CIOs. Just when Linux (and open source in general) was starting to get some traction among CIOs, this makes them wonder if they're going to be liable for unknown licensing fees. Nothing like the unknown to scare CIOs off. As I said in the article, I don't think it would deter me, but I was an open source user before I was a CIO, not the other way around.
Continue reading...


Declarative AWK

Zia responded to my my article on XSLT and declarative programming languages by pointing out that AWK has some declarative features. This is true. An AWK program is structured as a preamble, followed by a collection of rules, followed by a postamble. The rules use a regular expressions for the pattern and an imperative chunk of code for the action. Functions can be defined separately. AWK executes the preamble and then begins processing the lines of text in a file in turn. If a regexp matches, the imperative chunk of code is executed on the line of text that
Continue reading...


WASP Gives Web Services Development Some Sting

Although most of the Web services examples in tutorials and books are green-field developments -- that is, started from scratch with little or no concern for legacy systems -- that is not a likely scenario in most enterprises. When large organizations contemplate Web services, they are seeking more efficient interactions with customers or trading partners with whom they already have relationships. Such relationships are often already cemented into place with some collection of IT resources. As a consequence, real-world Web service deployments can get messy and require a serious development effort. Getting the job done requires development tools, a
Continue reading...


Due Date Changes

If you weren't in lecture today, you'll want to know about a few changes to the due dates for homework and the project: All homework for the rest of the semester will be due 24 hours after the time in the syllabus (i.e. midnight of the next day). This will allow you some time to think about what we talk about in class and to work with the TA in office hours. Part I of the project is due Tuesday, not Monday. Part II is due on Friday, not Wednesday. This doesn't affect the due dates of anything else.
Continue reading...


XSLT and Programming Rules

Jon Udell's latest column for Infoworld talks about rules engines. I've long thought that we underuse rules in solving programming problems. Later in the article, Jon makes the connection to XSLT. I was mentioning this very thing to my CS330 class just this week: XSLT is probably the first declarative programming language to go mainstream. Prolog and others were fun, but never caught on in the commercial environment. XSLT is a different matter. Programming in XSLT is so different from traditional programming, that many people don't even think of it as programming. They know its similar, but can't quite
Continue reading...


FOAF and Trust Relationships

Sam Ruby is talking about how to use FOAF to have one web site vouch for another web site in response to a request from Dave on keeping changes.xml pure (a SPAM issue, I believe). Sam describes a great use for FOAF as a system for inferring trust relationships. Of course, FOAF could also be extended to record those trust relationships explicitly for other purposes.
Continue reading...


Organizing Data: Notetaker

In response to my Whence Real Integration article, Dan Goldman sent me a link to a product called Notetaker from Aquaminds. I downloaded it and played with it for a while. Notetaker seems like a good tool for keeping track of notes (more on that in a minute), but it doesn't really do what I was talking about, at least not that I could easily figure out. I can type an appointment in a notebook and store vCard info, but I want single entry. When I create an appointment, I want to have it in my calendar and be
Continue reading...


eGovernment Like its 1994

Dave Fletcher also reports that the Utah State Legislature has made district profiles available online. Bless their hearts, they try to get this eGovernment stuff, but they're just not with it enough to do a good job and their too proud to ask for help. So they end up with a site with some great information on it that almost entirely unusable. Why in the world wouldn't you make it easy, inside this application, for someone to identify their legislative district. This also seems like the kind of information that ought to be in HTML, not PDF. I fear
Continue reading...


A Simple Tool for Better eGovernment

Dave Fletcher reports that Ferret, a publication of the Utah State Library, is now available as a weblog. Ferret publishes links and editorial about web sites that may be of interest to Utah State agencies. They're too modest. These web sites are probably of interest to anyone with an interest in government. Two things of note: As Dave points out, now that its a blog, it will probably be more current. More importantly, now that its a blog, there's an RSS feed. (check on the right hand column for the link). I've subscribed to the RSS and look forward
Continue reading...


Language Doesn't Matter: Its All About Design

Grady Booch has been around the programming language scene for a long time (I read some of his papers in grad school). He's now Chief Scientist at Rational Software. Grady was interviewed in February issue of .NET Magazine. There's a number of little gems in the article, but one jumped out at me because I've been contemplating it a lot lately. On page 2, Grady says: I used to be a language bigot; I thought ADA was the way the world was intended to program. But we're talking a couple of decades ago. It predated even VB I think.
Continue reading...


FOAF: Friend of a Friend

While I was at the O'Reilly ET Conference, Jo Walsh mentioned FOAF, or Friend of a Friend, in her talk. FOAF is a project of the RDFWeb initiative. According to their website: "RDFWeb is an experimental linked information system, exploring some interconnected applications of the Semantic Web." I was curious and so, I spent some time looking at it. Here's what I found: FOAF proper is specifically an RDF format for describing people and the links between then. So for example, you can specify your name, email address, physical location, etc. and people you know or meet by linking
Continue reading...


Computer Language Family Tree

This site has a chart that originally appeared in Wired magazine that attempts to show the linage of a number of computer languages. Its interesting to look at the "dead" languages and to see that the new language development (last two years) is mostly happening in the OO field. Of course, this chart isn't comprehensive.
Continue reading...


Fibernet Smart Building

I had an opportunity to spend an hour with Lane Livingston, CEO of Fibernet, a local ISP. Fibernet has been around for a long time---they were one of the first ISPs in Utah County. I remember when we were both co-located in the Electric Lightwave machine closet in the Triade Center in Salt Lake City in 1995. I've known Lane for almost that long. Fibernet is almost finished with a smart building that includes raised floors throughout the office area, on-site co-location and hosting, conditioned power with back-up, great connectivity to a variety of providers, and IP telephony. This
Continue reading...


Lecture 6 Discussion on Wiki

There was some extensive discussion on curried functions on the WiKi. Here's a question for you: Can you write a function called curry that takes any two argument function and returns a function which is that function curried? Can you write uncurry for a two argument curried function? Would this work for variable arity functions?
Continue reading...


Equivalence Prediates in Scheme

Lecture 11 contains code which uses the equivalence predicate eqv?. For a discussion of eq?, eqv?, equal? see Section 6.1 of R5RS.
Continue reading...


Midterm 1 Coverage

For midterm 1, you will be responsible for the material up through Lecture 12 and Homework 12. Note that you will not have programmed using abstract syntax by Homework 12, but I will expect you to understand the concepts. You may find Homeworks 13 and 14 helpful as study aids. The exam will be in the testing center this Thursday and Friday. There is no time limit. You have two days to take the exam. There will be no late exams given. Ensure that you are familiar with the hours of operation, policies, and so on of the testing
Continue reading...


Are Public CIOs Headed for Extinction?

Government Technology has launched a new magazine called "Public CIO." There's an article in the first issue called On the Verge of Extinction? that asks if enterprise-level CIOs in the public sector will ever catch on. The article quotes me quite extensively. I was interviewed for the article in March and I was feeling pretty strongly about these issues back then---and it shows. I don't necessarily agree that enterprise-wide CIOs are headed for extinction. I think there are some important reasons why enterprise-wide coordination and even consolidation are vital to a proper functioning government in the 21st century. Foremost
Continue reading...


Dynamic Typing

In my CS330 class today, we were discussing dynamic typing and the define-datatype declaration. Most of the students have never worked in a dynamically typed language like Scheme before, so there's plenty of opportunity for this topic to come up. What they're discovering is that as a programmer you have to worry about typing no matter what. A strongly typed language merely creates an environment so that the type-checker can automatically check the type constraints for you at the cost of restricting some genuinely useful things you might want to do. I told them that the debate about dynamically
Continue reading...


Recursion Patterns

We talked about recursion in Concepts of Programming Languages and I mentioned that Lecture 8 should more properly be entitled "Recursion Design Patterns." I think it would be interesting to write them up using the GoF templates. For reference, here are the patterns we discussed: Simple recursion following the BNF Mutual recursion following the BNF Recursion using auxiliary variables Recursion using an accumulator variable Recursion over two variables following the BNF Tail recursion (covered later) These patterns provide a suite of tools for solving recursive problems. Remember to define constructors, selectors, and predicate functions to abstract any data type
Continue reading...


RSS and eGovernment

Brian Sweeting runs the Spanish Fork City web portal. He announced today that RSS feeds are available for city news and upcoming events. This is a great application of XML to eGovernment. I don't know of another government using RSS in this way, but its surprising that they all aren't since its so easy to do. Brian used an RSS generator from Stargeek. If you want the whole calendar, I recommend PHPiCalendar since it does the calendar and the RSS feed all in one.
Continue reading...


UEN Tech Summit: Weblogs are Loosely Coupled Conversations

As a consequence of being stuck in Atlanta I missed my session at the UEN Technical Summit this morning. I was supposed to modertate a panel on using Weblogs. I was very disappointed to have missed it. I haven't heard how it went. When I realized last night (at 10pm) that I wasn't going to make it, I sent a note off to Barry Bryson and gave him a message to read on my behalf. Here's what I hope was said: People often ask me how a weblog differs from a normal web page. The answer, in short, is
Continue reading...


FCW CIO Summit Wrap-up

I got trapped in Atlanta last night due to thunderstorms and spent today getting home. Overall, the FCW CIO Summit was a fine conference and one I'd recommend highly to state and local CIO's who are looking to connect to their Federal counterparts. The Feds were well represented and there were some high-level executive present as well as some other who are influential in their circles. I always enjoyed attending NASCIO and I think its right that the state CIOs have a conference where they can compare notes, but I think there also needs to be a place to
Continue reading...


Web Services

I gave my talk this afternoon on Web services. My slides are available online. This was a nice group to give this talk to: a bunch of Federal CIOs with a few people from state and local government thrown in. I shared the podium with Martin Smith, who is the Web Services Program manager at the Dept. of Homeland Security. I spoke first and that was good because mine was the more general, this is what Web services is all about talk and then Martin spoke about some specifics regarding DHS.
Continue reading...


Homeland Security is Local, Local, Local

Hap Cluff is the CIO for the City of Norfolk. Norfolk has established a local disaster preparedness and emergency response plan. Their model for collaboration has gotten some publicity. Hap's primary point: local government and local CIOs are on the front lines in Homeland Security. The problem is bridging data silos, not only inside local government, but with other government agencies at the county, state, and federal level, as well as volunteer organizations like the Red Cross and Salvation Army. Unless you bridge these silos, first responders won't have the resources that they need to do their job. First
Continue reading...


Information Dragnets

This morning's opening session is a panel on the DC sniper case. The moderator is Alisoun Moore, the CIO of Montgomery County, MD. The panelists are Michael Bouchard, SAIC of the Baltimore Field Division of ATF, Thomas Didone, Capt. Montgomery County Police, and Judy Wood, CIO for Maryland's Dept. of Public Safety and Corrections. The level of collaboration that happened in this case would have been unthinkable before 9/11. Collaboration is now seen as necessary. The theme that keep coming up over and over is "whatever it takes" to solve this case. Technology included call centers, GIS, databases, queries
Continue reading...


50 States of the CIO

I was interviewed for an article in Washingtonpost.com last week. The article appeared today and is entitled 50 States of the CIO. The gist of the article is that state CIOs face tight budgets, barriers within Government to accomplishing their mission, and a steep learning curve. I think the last one is often overlooked. I've written my Public Service Tips tongue in cheek, but these are real lessons that anyone coming to the public sector from the private sector will have to learn. Often you learn them too late.
Continue reading...


Public Network Vulnerabilities

Sean Gorman is with the School of Public Policy at George Mason University. He's speaking of vulnerabilities in the physical layer of networks used by the Federal government. They map logical networks onto physical networks and then perform statistical analyses of which cuts where do the most damage. The results are interesting for anyone planning on using the Internet for public safety and homeland security related efforts. Technological and market forces have reduced the number of redundant paths available on the Internet rather than increased them. This is yet one more reason for local and state governments to promote
Continue reading...


SBU: Sensitive But Unclassified

The next panel is on "Sensitive but Unclassified (SBU): Agency Network Partnerships" by Miles Matthews (DoJ) and Leonard Starling (DISA). The Global Justice Information Sharing Initiative has buy-in from eight Cabinet members and brings together four separate non-classified information systems using by law enforcement agencies at the Federal, state, and local level. The technology is simple: VPNs and closed networks. The goal is to have single sign-on and a common encryption system. The applications are similarly simple: email, chat, mailing lists, newsgroups (NNTP), and websites. Governance is through a set of cross-certification agreements. The system connects LEO, RISS.NET, OSIS,
Continue reading...


Enterprise Architecture

The opening panel this morning is "Getting Buy-In for Enterprise Architecture." The moderator is Melissa Chapman (CIO, HHS). The panelists are Steve Perkins (SVP, Oracle), Felix Rausch (FEAC Institute), Carla von Bernewitz (Dir. of Enterprise Integration Office, US Army), and Barry West (CIO National Wwather Service). Enterprise architecture is, at its heart about sharing resources, data, etc. Barry says that the first thing to come out of enterprise architecture at NWS is a comprehensive inventory of their IT assets. This has allowed NWS to make better business decisions and not just about IT. Many agencies have concentrated on integrating
Continue reading...


Federal CIO Summit

I'm in Savannah Georgia for the Government CIO Summit, sponsored by FCW Media Group. This conference tends to be more oriented toward Federal CIOs but I've already run into a few old friends from State CIO activities. I'm speaking tomorrow afternoon on using Web services.
Continue reading...


UVCN: Keeping Local Traffic Local Since 2003

Yesterday, Governor Leavitt inaugurated the Utah Valley Community Network. There has been a lot of work behind the scenes to get so many cities cooperating with the county and UVSC. The result is a network that not only provides fiber transport across much of the county, but also serves as a local exchange point for a number of networks including those of BYU and Novell. The result is that a broadband user in Provo who connects to Utah.gov or the UVSC network does so without being routed through Denver. I am convinced that local and regional exchange points are
Continue reading...


Course Calendar Available via RSS

There is an RSS feed of the syllabus for the programming language course I'm teaching. You can subscribe to it in your news aggregator and get a daily reminder of that day's lecture and what homework is due. There are also weekly and monthly feeds if you need a longer time horizon. This is all being driven from iCal on my desktop. This is of interest to students in the class, of course. I was mostly interested to see if I could use this to drive event notifications in an RSS feed from the tool that I use to
Continue reading...


Noise Reduction Headsets

About a year ago, I took a trip to San Jose with the Governor and Chris Johnson from the University of Utah. The Governor flies in a KingAir B200 and it can be a little noisy. Chris pulled out a set of Aiwa noise reduction headphones and popped them on. Pilots have enjoyed noise reduction headsets for some time. I use an expensive model in my own plane, but this was the first time I'd seen a consumer version (without a boom mic). We passed them around and it was amazing how much more clearly you could hear conversation
Continue reading...