Outlets to Access Points
Via StronglyTyped, a nifty map of WiFi hotspots in North America
Proving that politics invades every field, this development in the ongoing Atom/RSS imbrogolio takes the cake.
One of the things that recently got a lot better in BottomFeeder is character and font handling. I have to thank Alan Knight for most of the improvement - his work on Web Toolkit has given him a lot of experience dealing with encoding on the web. Here's how things work in Bf:
The difficulty came right there at the beginning. The HttpClient in VisualWorks will use the correct encoding to get the content from an Http response object - assuming that the encoding has been set in the header. If it's not set, what it does is assume (as per the standards) that the content has been encoded as iso-8859-1. The trouble comes in when the content is sent without a content encoding header, and is encoded in something other than iso-8859-1 - you'll end up seeing a lot of bad characters in the resulting stream of data
Well, that's the standard way of dealing with this, and so - in some sense - "correct". The trouble is, end users couldn't care less about following standards if it means crappy looking text to read. The upshot is, I had to start playing some of the same games that I suspect browsers play - looking for other encoding information in the text. At the moment, Bf looks in two places:
Well, at this point we have a problem - the content has already been decoded as iso-8859-1, and, based on the new encoding information, we know that's wrong. What to do? Here's where Alan's tip saved the day. The following code snippet sets things right:
decode: text with: encoding ^[(text asByteArrayEncoding: 'iso-8859-1') asStringEncoding: (encoding asLowercase)] on: Error do: [:ex | text]
That undoes the iso-8859-1 encoding, and then decodes the text with the proper encoding information gleaned from the document. The results of this simple snippet of text have been really good - I'm seeing far fewer garbage characters in the text of the feeds I access. I still see some (especially in the Meerkat feeds), but I can't do a lot when there's no encoding information at all - iso-8859-1 is as good a guess as any in the complete absence of information.
This is the sort of thing any user-agent on the web is going to have to go through. For good or ill, encodings simply are not universally set in the http headers. Maybe they should be, but they aren't. I don't expect it to get better either - remote hosting services pretty much ensure that
The Register tells us why the scourge of viruses won't end anytime soon:
Was the vector some l337 0-day 'sploit? Nope. Was it a complex multi-layer program leveraging several unpatched vulnerabilities? Nope. It was -- wait for it -- an executable attachment in an email. What genius! The author of Novarg (or MyDoom, or whatever you want to call it) really put his noodle to the test when he cooked this one up, huh?
So long as we have users that will open anything they get sent in email, we'll have this problem. Even better anti-virus systems won't help much here - the sorts of users that will open anything are highly unlikely to install (and keep updated) an anti-virus system. Sigh...
James Britt points to #Smalltalk - Don and John's work is starting to get noticed by the .NET crowd.
Via Doc Searls comes a link to James A C Joyce on why blogs are boring. This kind of strikes me the way complaints about bad TV or radio strike me - are people unaware of the "off" switch?
Brian Marick writes about the interviewer/interviewee problem:
Dave Liebrech talks about people who are not business experts interviewing people who are. He uses investigative journalism as a model. What struck me most was this:
The interviewee *believes* the interviewer has a perspective different from their own, or has an incomplete understanding of some of the areas.
This brought something else to mind for me - accuracy and what we believe based on what gets reported to us - through any outlet. Think about the last time you say any technical topic being discussed by a reporter (possibly even in the trade press). If it's on TV, radio, or in a general newspaper, it's highly likely that there were many slip ups and factual errors (my friend Mike likes to point to Consumer World reviews in this regard). So when we read these things, we laugh about the inaccuracy - and then move on to reading about subjects we don't know as well without batting an eye.
What the interview thing raised for me is this - just how accurate is the rest of the stuff I read? If the tech journalists can be so far off base, what about about the political, economic (etc.) journalists? Just how much of what they report is being filtered not through bias (about which one can read tons of material) - but through sheer ignorance? It's probably a good idea to look at all journalism with a very, very jaundiced eye...
CSC is working on killing morale:
Workers at CSC's San Diego Regional Center (SDRC) found out that there will be no holidays or sick days allowed through the end of the fiscal year, according to docs obtained by The Register. The is the second year in a row that employees have been forced to give up their vacation days to meet lofty productivity goals, and the practice has left a bad feeling in the workplace.
"Apparently, the SDRC have made a bad business forecast, and we loyal worker bees are supposed to rescue them by forgoing vacation," writes one disgruntled employee. "They basically want everyone to take 2 weeks vacation and our 9 holidays and never get sick. Many of us acrue 3 or 4 weeks vacation per year."
That has to be one of the most clueless things I've read about in a long while - and having worked at ParcPlace back in the day, that's saying a lot. Reminds me of a gig I did at American Airlines (years ago) when I worked for Booz-Allen. One day, the project lead on the Sabre side had a meeting with the project lead from our side, and said something like: "I work 12 hour days - your people should work 12 hour days". So we were told to:
Morale stank on that job. We all pulled 12 hour days - but a lot of that time was spent doing crosswords, playing computer games, drinking coffee, and just hanging out. It baffles me as to what managers are thinking when they decide that they can get something for nothing from their staff - there's always a price - it just might be delayed or deferred...
Windley has some pointers to Transcripts of the RSS Winterfest talks.
These bozo parents have hit on the perfect way to make their child's life miserable:
HOLLAND, Michigan (AP) -- Tacking Jr. or II onto a boy's name is too common, a new father decided, so the self-described engineering geek took a software approach to naming his newborn son.
Jon Blake Cusack talked his wife, Jamie, into naming their son Jon Blake Cusack 2.0.
The reality is, kids with "oddball" names suffer at the hands of other kids - you can call it unfair all you want, but it's the way it is. This is the sort of bozo decision that this poor kid will suffer with for years....
Sci Fi Wire reports that "Indiana Jones: The Geriatric Years" is going to start shooting. Thrill to Indiana in the rest home!
Sci Fi reports that there's a possibility of less suckage in Star Trek: Enterprise soon:
Cinescape Online is reporting a rumor that an overhaul may be in the works for UPN's lackluster Star Trek: Enterprise. Citing an anonymous source, the site reported that Paramount Television Productions president Garry Hart may make changes to the show's production staff after February sweeps, including the possible replacement of longtime executive producer Rick Berman.
There's been some improvement this year with a consistent story arc - maybe if they ditch Berman and find some actual writers things could really improve. What I'd really like to see is a long term decline in the "second story line" problem. The second story line on Trek this year is at least consistent, developing a relationship between Trip and T'Pol. In year's past, the secondary story lines often sucked the life clean out of a show (especially on DS9 and Voyager; gads).
Joi Ito has an interesting take on ADD and psychiatry in general today - thought provoking, worth reading:
Now I'm back to trying to figure out what parts of my personality I should change and what parts of my personality are actually features and not bugs.
A valuable question to ask, I think.
I've got an initial implementation of Search Folders done for BottomFeeder. What is this? Well, the search tool allows for searches of content you have already downloaded by title, text, or category (or all three). What I've done is allowed these searches to be saved as a synthetic feed. A synthetic feed looks just like a normal feed in the tool, but is organized into it's own search folder, and is updated on demand from within the tool - a re-execution of the search in question. It turns out that this is a feature I like a lot, so here it is! To have a look, grab the dev stream update
PCWorld reports that the DDOS attack on SCO has taken them off the air. Now, as much as I enjoy watching SCO take hits, this isn't the best way to do it. In fact, it's liable to create sympathy for SCO in legal circles that we really, really don't want.
The super bowl was actually a very good game this year. Most of the first half was a defensive struggle - and then bam - the last 5 minutes was an adrenaline rush. The second half picked up where the first half left off - and didn't let go until Carolina lost with 4 seconds to go. And that's without the celebrity breast at halftime :) Great game, I think the best Super Bowl I've ever watched. Now if I can muster the motivation to finish off search folders for Bf...
Inspired by Dare's work, I'm adding the concept of search folders - synthetic feeds - to BottomFeeder. Look for it to show up in the dev stream soon.
I'll be watching the game later - friend down in Virginia wants us all to see the game in HD, and that should be interesting to see. I don't really care about the outcome of this game; my team (the Giants) forgot how to play football this season - mostly, they seemed to be playing "give the ball to the other team and watch". The Yankees, they aren't....
Gordon Mohr sees a fox guarding the hen house:
If the Anti-Virus companies were really sneaky, they'd also sell spam-filtering solutions.
Then, their flood of spam-triggered spam would drive up demand for those products. And, because the spam-triggered spam is comparatively easy to filter, its volume pumps up the reportable "effectiveness-rate" of simpleminded spam-blocks.
Oh, wait, they are really sneaky!
He may be onto something there...
Diego Doval has a nice summary of his decision making process for deploying a server on Linux or Windows (or something else). In going through the whys and wherefores, he's provided a useful example of why one might go with Linux - and a particular Linux at that. Well worth reading.
There has been a text selection bug in the html pane of BottomFeeder for awhile now - but I just received a fix from Holger, who develops Twoflower (the html component in Bf). Some text selections may still look odd (seem to be missing characters in the selection itself) - but a copy will pick them all up now. Hit the update tool to grab the latest Twoflower - both for the dev stream and the normal production stream. Thanks Holger!
John Porcaro is talking about conversational marketing. It's not the only thing you need to do; the "traditional" stuff certainly has its place. What's important is offering not just information, but some option for feedback and questions. It's hardly the case that the typical website answers all your questions; what do you do to get answers? Email contact points are only useful if you actually receive an answer in a reasonable timeframe - there have been plenty of times that I've gotten answers very, very slowly. Here are the salient points from John's post:
That second point is the more important one. This blog helps me get feedback; I get the idea that the various MS bloggers are helping MS get feedback as well. It's a useful channel that lowers the barrier for customers and interested parties
Here's a funny hack for the TiVo - Follow this link to see RSS feeds scrolling on a TV screen over the picture. So there's a TiVo based RSS client out there now :)
Syndic8 now supports Atom. Heck, BottomFeeder has supported it (both 0.2 and 0.3) for months now. This is creating a problem though - Atom was supposed to create a single, well specified format. But wait - Blogger is now pushing Atom Feeds. What we'll end up with is at least 3 (and probably more) variants of Atom, starting with 0.2. The end result will be every bit as confusing as RSS has been. I'm hardly the first person to notice this - Charles Miller commented on this a few days ago. The spec is still being argued over, and clients (Bf and other news readers), search tools (Feedster) and web based clients (Bloglines) are already supporting it. The unbaked 0.2 and 0.3 formats are now going to live forever - because no format ever dies on the net.
If you use BottomFeeder, and have your upgrades set to the dev stream, you'll notice a change to "slim mode" - instead of a cut down window, it's a Ticker style scrolling window with the titles of new items. Double clicking on an item will go to it in the main window; closing the ticker will re-open the main UI. If it turns out you don't like that never fear; there's a UI option in settings to go back to the older slim mode. This is something of an experiment; I'm using Ticker code provided by Michael Lucas-Smith, and I don't know what people will think of it. Comments and suggestions are welcome!
We just got back from a show at Medieval Times - and it was pretty entertaining. The jousting and sword fighting were pretty well choreographed - and I don't care how long they practiced, the fighting that involved maces held some actual danger. The food was surprisingly good as well - very tasty soup and chicken. My daughter had a blast, especially after one of the knights threw her a banner he had pulled down during one of the jousting tournaments. All in all, it was a fun time, and I'd recommend an outing to anyone.
Someone else who should look at Smalltalk to simplify his cross platform needs....
Frank Hayes of ComputerWorld has a theory:
So why would SCO want to be sowing all that weirdness and confusion?
Could it be for the same reason that SCO has had such trouble coming up with convincing examples of copyright infringement? And credible evidence of IBM contract violations? And a viable defense against the lawsuit Red Hat filed against SCO last August?
After all the success SCO's management has had using legal threats to pump up the stock price from less than $1 per share to more than $20 late last year, could it be that SCO's executives -- or at least its lawyers -- figured out months ago that SCO hasn't got a case against Linux?
Could it be that they keep piling on the lawsuits and the rhetoric for fear that if they stop now, SCO's stock price will collapse and they'll be buried by shareholder lawsuits and an SEC investigation?
He lays out why their latest suit is so odd pretty well, I thought - although, not being a lawyer, what do I know? Either way, I like his summary. It seems very plausible to me
The spammers continue to try and use language to defeat bayesian filters - I just got one that used text from one of the "Wizard of Oz" books:
One Wizard is worth three Sorcerers
Ah, you shall prove that, said the Prince Then he again lay down and began to examine his electrical traveling machine
We Mangaboos have, at the present time, one of the most wonderful Sorcerers that ever was picked from a bush; but he sometimes makes mistakes
Bonus points to anyone who can identify which "Wizard of Oz" book that comes from!
Dave Winer has been using PubSub to track references to himself - I tried using PubSub for Smalltalk and BottomFeeder references, and it was doing a much worse job than Feedster. I've got support in BottomFeeder for adding Feedster searches easily; I can't do that with PubSub because they have this whole email registration system. That discourages use, to my mind.
Scoble assumes it's all or nothing - I posted on the Joel piece yesterday. Here's Scoble:
The argument still exists. Do you go for the better programmer productivity of .NET? Or do you go for the faster download speed of, say, Visual C or Borland's Delphi? (Nick Bradbury wrote FeedDemon in Delphi, for instance).
MS didn't have to have forced that choice on people. I use VisualWorks Smalltalk to build things like BottomFeeder. The download for Bf on Windows? A single executable, 7.2 MB. Smalltalk is a runtime based system, every bit as much as things like Java and C#. But guess what? I don't have to force the download of all the libraries on my users. Not to mention that I can provide them with on the fly updates over the web. And worse than that, I'm the Product Manager, not an engineer - what do I know that MS' top technical talent doesn't?
For starters, I know what technology to start with....
Via Scoble comes this link to a Business 2.0 story on corporate blogging:
So here's my prediction: Blogs will soon become a staple in the information diet of every serious businessperson, not because it's cool to read them, but because those who don't read them will fail. In short, blogs offer an accelerated and efficient approach to acquiring and understanding the kind of information all of us need to make business decisions.
Makes me wish this were the late 90's, when I could have tossed my blog server code at naive VC's and gotten showered with funding :)
I attended RSS Winterfest via Webcast, and I just got an email with some updates:
I do want to add that anyone can go to the wiki and post their comments about RSS WinterFest. If you have best of highlights, the wiki is open. I am sure some of you have some perspective about the Webcast that may be useful for Luca, myself or anyone else in the RSS community. Criticism, resources for people, tool references are all welcom at the wiki.
First off, RSS WinterFest: www.rsswinterfest.com and its accompanying wiki, provided by Socialtext, has everything there that we discussed at the Webcast. A good resource are the transcripts that you can see on the right side of the web site.
We will shape the transcripts and audio archives into Weblogs, pull in some audio and get feedback from some of the speakers and participants. The goal is to create a knowledge base about RSS and Internet content syndication that will be indexed with search capabilities.
See the feedback Bill French gave to the discussion in the IRC channel. He edited the transcript and answered the pertinent questions asked about his presentation. More speakers will add their feedback in the coming days.
The wiki includes a Weblog, the IRC transcripts,. RSS resources, RSS tools and other information about RSS. A highlight are the day two notes from Roland Tanglao. Roland, of Streamline, did a terrific job in using the wiki to take notes from the Webcast.
Any questions, just give me a holler. I'll be happy to help in any way I can.
Alex Williams
Producer and Founder
RSS WinterFest
www.rsswinterfest.com
Download "RSS and the Future of Internet Content Syndication"
A research report about RSS and its strategic applications
Joel rants about the issues surrounding .NET's runtime:
This is frustrating enough for our in-house apps. But think about our product CityDesk. Almost all of our users download a free trial version before buying the product. The download is around 9 MB and has no additional requirements. Almost none of these users has the .NET runtime yet.
If we asked our trial users, usually small organizations and home users, to go through a movie-length installation hell just to try our app, I think we'd probably lose 95% of them. These are not customers yet, they're prospects, and I can't afford to give up 95% of my prospects just to use a nicer development environment.
"But Joel," people say, "eventually enough people will have the runtime and this problem will go away."
I thought that too, then I realized that every six or twelve months Microsoft ships a new version of the runtime, and the gradually increasing number of people that have it deflates again to zero. And I'll be damned if I'm going to struggle to test my app on three different versions of the runtime just so I can get the benefit of the 1.2% of the installed base that has one of the three.
Heh. As opposed to Smalltalk - a great runtime based development environment - where you can, in fact, ship a small, sealed version of your application as a single executable - like BottomFeeder. Maybe Joel wants Smalltalk, and just doesn't know it yet :)
Dare Obasanjo takes me to task for this post:
James Robertson completely misses the point of Don's comments on distributed computing with objects versus using message passing. An example of a service oriented architecture that uses message passing is HTTP on the World Wide Web. It is flexible, scalable and loosely coupled. No one can say with a straight face that using CORBA, Java RMI or DCOM is as scalable or as loosely coupled unless they're trying to sell you something. What Don and the folks on the Indigo team are trying to do is apply the lessons learned from the Web solving problems traditionally tackled by distributed object systems.
Now, I was going to respond on Dare's blog in a comment. However, his blog comment system bailed, and IE ate my text (which I had copied before submitting). There's a lesson in that about the coupling of systems....
Here's my point though. It's magic thinking to say that you have looser coupling simply because you use Http transport and XML documents. It's a fantasy. Why do I say that? Well, let's posit a blog server that accepts XmlRpc formatted posts. There you go - http transport, xml documents. Can I send it an Atom document and have it 'just work'? No. Why not? because the client and server are coupled - there's an accepted format for posts. The transport protocol and XML format don't magically fix that. I have no idea why some people utter the term "XML" as if it's magic glue that fixes everything. Hang out on the Atom mailing list for awhile, and you should be cured of that thought.
It's actually no different than CORBA - except that maybe it's slower. Either way, I have a server listening on a port, expecting data in a given form, and able to perform a constrained set of actions if I send it the right requests - and ready to send back errors if I don't. I can't start sending XML documents to a service that expects URL encoded forms any more than I can make COM requests to a CORBA server (ignoring bridging middleware). The point is, using a text based protocol and XML documents doesn't magically decouple anything. You still have all sorts of constraints on the server and client side as to what can and can't be sent. Heck, you might even call that an API.... but then, that might be too much like distributed message sending....
What all this reminds me of is the relentless way you'll see politicians stick to "Talking Points". MS has decided that "Objects" are passe - likely so that J2EE can be painted as "old" and "primitive" compared to the "new and improved" "service level archictecture" MS has. It's the same stuff, with different names. bah
Microsoft wants to move beyond objects:
Box said technologies such as Java's Remote Method Invocation (RMI) and CORBA (Common Object Request Broker Architecture) all suffered similar problems. "The metaphor of objects as a primary distribution media is flawed. CORBA started out with wonderful intentions, but by the time they were done, they fell into the same object pit as COM."
The problem with most distributed object technologies, Box said, is that programs require particular class files or .jar files (referring to Java), or .dll files (Microsoft's own dynamic linked libraries). "We didn't have (a) true arms-length relationship between programs," Box said. "We were putting on an appearance that we did, but the programs had far more intimacy with each other than anyone felt comfortable with."
"How do we discourage unwanted intimacy?" he asked. "The metaphor we're going to use for integrating programs (on Indigo) is service orientation. I can only interact by sending and receiving messages. Message-based (communications) gives more flexibility
I guess Don didn't get the memo - OO is all about the messages between the objects, and less about the actual objects themselves. Look at that last sentence - "Message based communications" gives more flexibility? What does he think a OO is about? You know, CORBA can be simple - in VisualWorks, it's amazingly, astoundingly simple. It takes a curly brace language like Java or C# to make it complex (at the developer level - I'm not talking implementation layer here).
What I really love is how people like Don seem to think XML is magic. Send a document, problem solved. Well guess what? You send a document, it gets parsed - and stuff happens. Whether you call it sending a message or not, passing a document is not discernibly different from making a remote API call with a document as the argument. So what if I use http as the transport? It's somehow magical now that I'm using a text based protocol? If this is what passes for "expert" in this industry, then we all have a problem. MS' direction - if Box is being accurately quoted - is along these lines:
"blah blah blah and then a miracle occurs blah blah"
The miracle is transmitting an xml document, apparently. Bah. Box needs to go read some of the things Alan Kay wrote as long as 20 years ago. He's decided to rename all the operations, and thinks that somehow that will create magic. Bah.
Mark Watson talks about the migration of software projects:
Slashdot had a discusion on a WiRED article yesterday. I read the article in my copy of WiRED magazine last night (love that magazine, every since they dumped the funky colors that made text difficult to read).
I thought that the article was a little negative about U.S. programmers, but very interesting none-the-less. I especially enjoyed the last part where a married couple in India were talking about how the "bubble" would burst in India also, as work would migrate to countries like China with even lower cost of living. They seemed to accept that this was their good time, but cycles would occur.
There are a couple of problems I see with this. First off, there are language, culture, and timezone barriers. Offshoring imposes a communications barrier. You can ameliorate that, but not completely. This isn't like sending a shoe factory overseas. Once you set up a factory - it runs - and there's not a lot of input back from corporate on the running of the plant. Software isn't like that. Heck, we went through a whole transition from the "glass house" model of development to more agile methods over the last twenty years (not universally). The reason? For the most part, we learned that tossing requirements over the wall, and getting a product back N months later just didn't work that well. Here's a question:
If it didn't work out with people one building over, what makes anyone think it will work 12 time zones over?
There's another problem as well - language. In India, English is fairly widely known - which means that one can discuss requirements with remote staff, even with the time zone issues. What if that staff doesn't speak English? How easily are you going to be able to discuss requirements with staff that you can't communicate with? This is the floater in the pool that no one is thinking about. Sure, offshoring costs less. And if your IT group stinks at communication, you'll likely get results from an offshore group that are no different. On the other hand, what if you hired staff that actually had communication skills? What if you had staff that paid attention to end user requirements, and made good faith efforts to respond to them?
The only thing that's certain is that the heyday of $100 an hour consulting gigs for average developers is over. There's still going to be plenty of development work for local IT staff though - if they exploit the advantages of their locality. If they act as remote as the offshore folks are, then they'll be replaced. It's as simple as that
It's not that I spend a lot of time dealing with it - the snowblower sees to that. Snow pretty much shuts Maryland down (the Sunday/Monday snow closed school today, and the schools were off Monday anyway). My wife stayed home, because the roads looked bad. With everyone home, there are things to do - and thus, lower productivity. More fun though :)
I was going to do a presentation on BottomFeeder in NYC tomorrow, but the weather has conspired against it. We are going to reschedule for late February; I'll post details when I get them
Whoa - this is a cool piece of technology:
The camera can provide digital images of the entire length of the small intestine (as long as 25 feet) and could be an important step forward in diagnosing small bowel disorders, says a study in the January issue of Radiology.
The "camera pill" is called capsule endoscopy (CE). It's about the size of a large vitamin pill and is swallowed by the patient after an eight-hour fast. The CE transmits a continuous stream of digital images to a small data recorder that's worn around the patient's waist. That data is then downloaded and analyzed by the doctor.
Now that's cool - so long as no one video blogs it :)
Alan Green has some interesting rul proposals for development projects:
Henceforth, any developer that uses the word "just" while describing or estimating the implementation of a new feature to a manager will be assigned the design, coding and testing tasks for that feature.
Heh. That would be a very useful rule, if it were followed :)
Joseph Pelrine asks an interesting question this morning:
I gave a presentation on Scrum to a company yesterday, and the people in the presentation had some excellent questions. Two of the questions seemed to me to be flip sides of the same coin, and really got me thinking about this interesting situation:
- how do you deal with resources such as DBA's, graphics artists, and other people who you occasionally need, but don't require all the time?
- how do you deal with people who have to work on a number of projects at the same time?
His answers are interesting - go check it out
Joseph Pelrine asks an interesting question this morning:
I gave a presentation on Scrum to a company yesterday, and the people in the presentation had some excellent questions. Two of the questions seemed to me to be flip sides of the same coin, and really got me thinking about this interesting situation:
- how do you deal with resources such as DBA's, graphics artists, and other people who you occasionally need, but don't require all the time?
- how do you deal with people who have to work on a number of projects at the same time?
His answers are interesting - go check it out