It's been a great show - My talk went well this morning, and I received some very nice feedback - thanks to all for the great questions! It's been good to finally meet the withStyle team face to face - I look forward to seeing the lot of you in Australia, even if I have some trepidation about the vegemite you provided :) It was a great show, and I hope we have as great a time next year.
Yahoo points to Cincom's congratulatory message to Alan Kay.
Via CLS, news of the next STUG meeting in NYC - if you missed Smalltalk Solutions, here's a chance to see one of the talks:
Please join us for our next meeting to be held May ,Tuesday 11th.
The OpenSkills Skillsbase Project
Bruce Badger: OpenSkills
Abstract: The OpenSkills SkillsBase is implemented using the Swazoo HTTP server running in GemStone, all hiding behind a Squid reverse proxy.
Bio: Bruce is an enthusiastic technologist and the Founder and President of OpenSkills, a global non-profit association of professionals who provide a wide range of open source related services. His strong technical leadership skills have contributed to his success on a huge diversity of IT projects, over a period of more than 20 years. He has built and deployed many Smalltalk systems and libraries over the past 10 years.
Date May 11, 2004 Location Suite LLC offices Address 440 9th Avenue, 8th Floor Time 6:30pm to 7:00pm -- Open house Time 7:00to 8:30 pm -- OpenSkills Skillsbase Project
Take E or C train to 34th (Penn Station) walk to corner of 34th and 8th. Walk up one block to 9th.
RSVP is requested. Please send mail to: firstname.lastname@example.org with subject line of: NYC Smalltalk May 11th, 2004.
Via CLS, news of an upcoming STUG meeting in NYC - if you missed Smalltalk Solutions, here's a chance to see one of the talks:
Please join us for our second presentation of the month on May 18th.
Speaker: David Buck
ElastoLab is a shrink-wrapped VisualWorks application that allows kids to design their own 2D scenes that incorporate physics elements like particles, springs, and gravity and lets them see their scenes animate in real-time. Originally written in C , it was later completely re-written in Smalltalk.
David will be talking about the development history and the design challenges in writing ElastoLab. The talk will explain:
- how to interface to the Windows sound facilities from Smalltalk
- how to make graphical applications run quickly
- how to package a Smalltalk application for release
- developing help facilities and guided tours
- using the web toolkit to develop a message board on the Internet for ElastoLab.
A CD-ROM of ElastoLab will be available to all attendees.
Date May 18, 2004 Location Suite LLC offices Address 440 9th Avenue, 8th Floor Time 6:30pm to 7:00pm -- Open house Time 7:00to 8:30 pm -- ElastoLab
Take E or C train to 34th (Penn Station) walk to corner of 34th and 8th. Walk up one block to 9th.
RSVP is requested. Please send mail to: email@example.com with subject line of: NYC Smalltalk May 18th, 2004.
Even as much of the Internet has come to resemble a pleasant, well-policed suburb, a little-known neighborhood known as Internet Relay Chat remains the Wild West. While copyright holders and law enforcement agencies take aim at their adversaries on Web sites and peer-to-peer file-sharing networks like Napster, I.R.C. remains the place where people with something to hide go to do business.
That's right gang - all we do on the Smalltalk IRC is trade illicit copies of movies and games. No technical conversations, no meeting with far flung friends, no ad-hoc support - not according to the Times. It gets worse:
"I.R.C. is where you are going to find your 'elite' level pirates,'' said John R. Wolfe, director for enforcement at the Business Software Alliance, a trade group that fights software piracy. "If they were only associating with each other and inbreeding, maybe we could coexist alongside them. But it doesn't work that way. What they're doing on I.R.C. has a way of permeating into mainstream piracy.''
Ahh, the fine folks at the BSA have been interviewed. These are the people who who help transform your business into a user hostile gang. And the NY Times is enabling that sort of mindset to spread with sludge like this:
When I.R.C. started in the 1980's, it was best known as a way for serious computer professionals worldwide to communicate in real time. It is still possible - though sometimes a bit difficult - to find mature technical discussions among the tens of thousands of I.R.C. chat rooms, known as channels, operating at any one time. There are also respectable I.R.C. systems and channels - some operated by universities or Internet service providers - for gamers seeking opponents or those who want to talk about sports or hobbies.
Still, I.R.C. perhaps most closely resembles the cantina scene in "Star Wars'': a louche hangout of digital smugglers, pirates, curiosity seekers and the people who love them (or hunt them). There seem to be I.R.C. channels dedicated to every sexual fetish, and I.R.C. users speculate that terrorists also use the networks to communicate in relative obscurity. Yet I.R.C. has its advocates, who point to its legitimate uses.
After the obligatory "some people on IRC are ok" comes the slam - and it's quite a slam, making sure to associate IRC users with groups that the mainstream Time reader is going to find unsavory. Here's the thing - IRC is no different from any other human activity. There are nice places and not so nice places. Just as there are clubs where you can go and hear music (and others where people engage in slightly less savory activities) - there are a wide variety of IRC channels. I suppose the Times has to play up the "ugly" as a way of pushing sales. People are people, online and offline...
Ted Leung points to some IBM blogs - Grady Booch and a number of other people are listed on the site. Ted is complaining about the RSS feeds being for the current month only. I'm not going to complain about that - the feeds for the Cincom blogs are a rolling snapshot in time. I'll have to trawl through the IBM site and see what looks interesting.
PR Opinions posits that the wider array of information available (for any and all products) is making the sales cycle longer and more complex:
In the past, I might have got a couple of brochures from some manufacturers, visited a couple of retail outlets and made a decision. Today that purchase process is far more complex.
I'll search for all the manufacturers. I'll go to all their sites and read their literature. I'll visit the relevant magazines and read the reviews, visit mailing lists, consumer opinion sites. I'll still pop into the retail store and finally I'll make my "educated" opinion. Then, once I've parted with my cash and my post-purchase cognitive dissonance sets in, I'll re-visit my chosen vendor's website to be reassured that I made the right decision.
That is a longer and more demanding sales cycle.
Hadn't really given this much thought, but it sounds right. There's a positive to this as well - in the software space, the "row of books at Borders" problem has been ameliorated somewhat. As more and better information appears online, you can compensate better as a niche player. It takes work, of course, but it can be done. Read the whole thing.
Pete Kruckenberg makes some good points while letting a rant go about Java - here's what I mean:
If you can't develop Java code that is 100% compatible with every version of every JVM, in an application that is compelling to be portable, don't bother. Compile it to a binary for the platform that I'm using, and make it look as good and work as good as any other application for that platform.
Ignore the reference to Java there, because it's a universal thing - end users want an application, not an installation problem. I've tried to get there with BottomFeeder - the only place I really miss is Mac OS 9 (I still need access to the hardware). From the few people who have tried downloading Bf for that platform, I know where Peter is coming from.
<malaclyps> i'm going to Camp Smalltalk this year
<malaclyps> i believe as a UN Observer
<malaclyps> it's like Camp X-Ray but the interrogators try to get the prisoners to document their code
Vince Bourgon explains why getting things done in the "modern" languages is so painful - virtually nothing has been learned from the the past - heck, MS has even forgotten what made Basic productive...
No interactive interpreter
I think this was one of the biggest annoyances of all. When I learned languages like Python, like Common Lisp, like Smalltalk, it was always possible to easily and interactively test things. The fact that to test simple things in C# I had to build a whole program, write what I wanted to test, have some output functions to see the results, compile and finally run the program. This took time, and when I had a bug, I had to go back to my editor, find the faulty line, fix it, save and try to compile again. This was much slower than using an interactive interpreter. I had never used sockets in C# and had to make a small program to see how they worked and all. Again, an interpreter would've made things easier and faster. If it wasn't for the very complete MSDN documentation, C# would be a much, much tougher beast.
Gosh knows how far I ever would have gotten with BottomFeeder without the power of Smalltalk. Clearly you can do such projects in C# or Java; there are plenty of such readers out there. But it's harder to get things done. When it's hard to get feedback, it's hard to be productive. And then look at this example:
Simple stuff is made complex
My program contains a Hashtable with the keys being school numbers their name (001 - School Foobar) and values being their IP address. When I ran the program for the first time, I realized something that I hadn't thought of: Hastables are unordered. I wanted the school to go one by one, in alphabetical order. I had this line in the program foreach (string key in ht.Keys)
So I said to myself that the simplest thing would be to change the line to:foreach (string key in ht.Keys.Sort())
But this resulted in a compiler error. The hashtable Keys properties returns an ICollecton object which cannot be sorted. So I thought, I just need to take the ICollection object and cast it to an ArrayList:ArrayList myKeys = (ArrayList)ht.Keys; myKeys = myKeys.Sort(); foreach (string key in myKeys)
But this raised a runtime exception. After some googling around, I found a solution on this page. Basically, I would need to create my own class called IterSort() to sort the keys. Who else thinks this is way too hard? On the other hand, look how I could've done it in Smalltalk:d := Dictionary new. d add: 'Hello' -> 'World'; add: 'Bonjour' -> 'Monde'. d keys class. "This returns the class of keys, which is a Set"
Now that I know it's a Set, I can just sort it by converting it to a sorted collection:d keys asSortedCollection.
The whole thing is just so much easier in Smalltalk than in C#.
He's got other good examples, but the two above illustrate something - yes, there are scads and scads of libraries available in Java and C# - this is something that is continually pointed out to me. On the other hand, if you have to constantly plow through crap like the above, I'm not sure the library size buys you as much as you think - especially when systems like VisualWorks already support a sizable proportion of the extant stuff you need. Take a look at his article, and let me know what you think.
This is a fascinating story about free WiFi access - and the way it's quite possibly outrun the law:
There is little doubt that when you "piggyback" the WiFi signal you are "accessing" -- or "using the resources of" -- the device that is providing the Internet connection. There's also little doubt that routers, access points and gateways are all computers within the meaning of federal law.
The U.S. federal computer crime statute, Title 18 U.S.C. 1030, makes it a crime to knowingly access a computer used in interstate or foreign communication "without authorization" and obtain any information from the computer. A separate provision makes it a crime to access a computer without authorization with "intent to defraud" to obtain "anything of value." Fortunately, this provision also specifies that it doesn't apply if "the object of the fraud and the thing obtained consists only of the use of the computer and the value of such use is not more than $ 5,000 in any 1-year period."
The article goes on to point out that the law was never written with WiFi access points in mind, and that it's not going to be used that way. Still, it points out how unintended consequences tend to slip through when broadly worded statutes are written up. The thing is, this has broader application than just WiFi and law - companies often have very broadly written policies - where the intent is to stop people from doing something bad. Written broadly enough, do they also stop people from trying anything new? Something to think about the next time you sit down to write up a policy directive.
Back to the legal issues on this. The article points out something really interesting about the fallout from this:
But wait, you say, I didn't knowingly access the computer without authorization -- there was no security on it. How was I supposed to know that I wasn't allowed to access the WiFi connection? Here is the troublesome part: If you accept this argument -- that by broadcasting a connection you are inviting others to share it -- you end up on a slippery slope. How much security must you have on a system in order to be able to prosecute someone for accessing it without authorization?
That is a slippery slope, no mistake. Now translate that to the cable segment you live on if you use the local cable company for internet access - see how easily you can fall off this cliff? Go read the whole thing - it'll start you pondering this mess...
Patrick Logan states the truth of it:
So JDO is a mess (original report), certainly EJB is a mess (hence JDO), but let's face it, the root cause is the language itself.
And it's not any better over there in CLR-ville either. The dead hand of rigid systems is holding the entire software development world back....
I went to see Van Helsing yesterday afternoon - it's an ok movie, although the CGI is pretty weak at certain points - the opening with Mr. Hyde is not that well done, IMHO. The movie does move right along though - which is good, because if you stopped to think at any point, you would notice that the plot was as thin as Friday's soup at the elementary school. It's an enjoyable enough "bubblegum" flick - i.e., if the popcorn is good, and you don't really have anything better to do with two hours, go ahead and see it. Otherwise, I'd say wait for it to come to cable.
Before he left, Michael presented me with a small container of Vegemite. I gave it a try out at StS 2004 (just a dab on the fingertip) - it was very strong that way. So I brought the container back home with me, and it's been sitting on the counter since last Thursday..... So I finally decided to take the plunge. Following Michael's instructions, I:
- Toasted some bread
- Spread butter on the bread
- Took a small bit of vegemite, and added a thin layer into the buttered toast
And it was pretty tasty! Durned Aussies - it's not like they sell this stuff here :) - but it can be procured online. Hmmm
Some image formats are "lossy" - i.e., putting an image in that format can lead to lost information. I'm starting to feel like Java and the CLR are "lossy" with respect to the entire field of software development.
First, there's this post from Roy Osherove. Now, Roy is a good guy - I've had some very pleasant exchanges with him via the comment sections of our blogs. But look at this - in response to a post I made about BottomFeeder plugins:
I wonder how plugins are supported in SmallTalk. What's the Smalltalk equivalant of Reflection, for example? of a DLL? dynamic loading?
Is there an equivalent of reflection.... It's kind of hard to know where to start with that, honestly. The reflection that actually exists in the CLR is a pale reflection of what you get in Smalltalk. I mean, take a look here - that's a paper from OOPSLA '89! I'm not quite sure how you would implement Method Wrappers (the cited page is old, and newer code is already shipped with VisualWorks) in C# or Java. Reflection in Smalltalk is just so much more powerful than what is available in the mainstream languages, but the mainstream languages are so prevalent that it's as if the information has been lost.
Take another example - this post by Victor Ng - he asks which camp is worse, Lisp or Smalltalk:
Which camp is worse? The Smalltalk people or the LISP people? It seems that both those groups just love to say "we did 20 (or 50) years ago"
I suppose it does come off as arrogant and irksome - but it's the simple truth with respect to so many things in software development. Just take a look at one of the big things buzzing around the software world at the moment - self healing systems. In Smalltalk (or Lisp, or other similar systems), new code can be loaded into a running system and override existing methods - or add new methods to existing classes - or add attributes to existing instances - all without having to take the system down or having to worry about the state of objects in memory. Heck, I patch this blog server that way all the time. Lars Bak talked about this in the context of small devices, explaining why Smalltalk was such a better choice - the ability to do on the fly updates.
The dead hand of rigid systems holds the entire industry back. You have to jump through enormous hoops just to accomplish the simplest thing. I'm hardly the only one thinking this - I referred to this essay just the other day. Developers new to Smalltalk tend to pick this up right off
We need to do a better job of explaining this - or else the information loss is just going to continue
The NYC Smalltalk User Group is running a poll (membership required) - they want to know whether an StS in New York City would pull in people. Our (the STIC) primary concern with an StS in New York has been the high cost of New York City. In any case, if this is of interest to you, join the STUG's mailing list and let them know what you think
After many requests, I've added a preview function to the comment form on the blogs here. It only works if you have cookies enabled though. There's also a pointer to the wiki style markup rules that the comment form supports - if you check the appropriate box, those rules will be used when you post.
We had one heck of a set of thunderstorms roll through the area last night - at one point, my wife and I ran to the door to see what had gotten hit (a particularly loud clap of thunder that seemed simultaneous with the lightning. I'm sure it hit something; I haven't had cable modem service since then :) The cable TV signal has been horrible as well; I suspect that the signal reaching my house is too weak to get me net access. So here I am, feeling the power of dialup. Maybe I should have held on to that AOL CD that came in the mail Saturday....
James Gosling says that the world needs more "crazy" people:
There's an interesting article at Wired: NASA Funds Sci-Fi Technology. It's all about a part of NASA that funds projects that many would consider completely crazy....
Most real innovation is done by crazy people doing crazy things
Maybe he could follow that advice, and advocate for a JVM that would properly support dynamic languages. Nah, that would be crazy....
MSNBC's business wire picks up the Cincom Press Release congratulating Alan Kay.
As much as I think Atom is a waste of time, end users shouldn't have to care - that's why BottomFeeder supports the format (both 0.2 and 0.3 - change your upgrade path to 'dev' in order to get proper support for 0.3). So I was a little surprised to see Scoble complain that Radio still doesn't support the format. That's just silly. Atom is a clone of RSS with different tag names; adding support to a tool that already handles RSS is trivial (it took me less than an hour for Bf). As I recall, I only needed a couple of slight additions to the domain model (the additional dates, for instance) - almost everything was a simple mapping issue....
I posted on this topic back here and here. Now, I've come across this perspective on the issue from a woman "in the trenches" as it were. I can add a side note to this - I introduced my daughter to this Girl Scouts site, and she explored it for a bit - but peer pressure intervened and she's back on NeoPets - because all of her friends are there. Now, there's some (small) value here - she's starting to learn bits of HTML and CSS - the site allows you to build pages - but it's not exactly what I had in mind, either. I'm not sure how - as a parent - you manage to redirect towards "better" content. I mean, it's not as if NeoPets is a bad site. Time wasting, sure (but then again, no more so than BSW, where I spend inordinate amounts of time playing Puerto Rico....)
Bad news for those of us who like coherence in a series - "Enterprise" looks to be back next year, with Berman still running things. If UPN wants to improve the series, the best thing they could do is to fire Berman. Can you imagine a Star Trek with Joss Whedon - i.e., someone who can actually create a story arc that hangs together? The best I can say for "Enterprise" this year is that - unlike "24" - it hasn't completely jumped the shark....
The golden rule of programming has always been that clarity and correctness matter much more than the utmost speed. Very few people will argue with that. And yet do we really believe it? If we did, then 99% of all programs would be written in something like Python. Or Erlang. Even traditional disclaimers such as "except for video games, which need to stay close to the machine level" usually don't hold water any more. After all, who ever thought you could use an interpreted, functional language to decode Targa images, especially without any performance concerns?
Follow the second link to the original essay - it makes a point about how fast things now perform even in fully interpreted languages on modern hardware - pointing to the absurdity of things like primitive data types in Java. In the vast majority of applications now, that counts as premature optimization. The software industry is guided more by inertia than logic. People continue to select unproductive languages based on the "everyone else uses it" mindset. They stick with manifest typing, even when the best data we have (from Capers Jones) - shows that languages like Smalltalk produce lower error rates than languages like Java. This in turn empowers the managers who want to offshore development - if the results are bad in any case, they may as well be bad for less money.
I'd say that the software industry is where manufacturing was in the 70's - complacent and ready for a kick from foreign competition - but I don't see that happening anytime soon. Why? The big Indian firms are all into huge masses of paper and CMM compliance levels - my cantankerous theory is that you should avoid any firm that claims CMM-5 like the plague (unless you like rigid requirements and huge backwashes of paper). If you really want to outpace the competition, you might want to pick up a dynamic language - Smalltalk, Python, Ruby, Lisp - and run with that.
So Scoble says that the XP SP 2 rev will have IE mods. Will this fix the absolutely horrible thing that the last "fix" did to IE? Apparently, there's a security hole in IE involving the use of urls of the form: http://username:firstname.lastname@example.org. You would think MS would fix that, hmm? Why no - their solution in the last set of patches I grabbed from the Windows Update (read: downgrade) site just turned that feature off. You try to use it, and IE gives you a "Syntax Error page". Grrr - at least this explains why I've been getting mail from people trying to download CST NC via http. Here's what Scoble says about the fixes:
While we're on it, this page has one falsehood. It says that the next version of Internet Explorer won't come out until Longhorn. That is absolutely NOT true. The next version of Internet Explorer comes with a ton of security fixes, and a pop-up-ad blocker. It will be included in Windows XP, Service Pack 2. For free.
It darn well ought to be free, when it's a downgrade. There should have been a big warning on the last set of patches: "Warning - this update turns off useful features of IE, because we can't be bothered to fix the actual problem. Download at your own risk".
The Baltimore Sun answers the questions you didn't know you had.
Staffen Malmgren discovers Seaside, and likes what he sees:
At first look, Seaside doesn't look much different than ASP.NET. It's all about modelling your application's interface in terms of objects and methods ("messages" for you Smalltalkers). Pages are built up of components, inheriting from System.Web.UI.Control (ASP.Net) or WAComponent (Seaside) that can include other components. When the user does things with any component, it results in events being fired (ASP.NET) or messages being sent (Seaside). Both frameworks seem to strive to abstract away the request/response nature of the web, and to allow the programmer to use a more event-driven approach to developement. In addition, seaside uses at it uses continuations to make it possible to, for example, ask the user something (similar to how a modal dialog would do it in a normal GUI enviroment), and then do something with the provided answer -- all within the context of a method.
The main difference is that programming in the Seaside framework results in a lot less housekeeping code. The object is really a ordinary object, except that it's executed through the web. The difference didn't really dawn on me before I tried to recreate WACounter as a ASP.Net Server component -- it did involve a whole lot of code to handle events, manage viewstate and so on.
It's cool that people are finding out about Seaside and what it can do.
Every so often there's a "where are all the Java apps" thread on the comp.lang.java.advocacy newsgroup - for instance, here's the latest thread. Well, that got me to thinking - RSS/Atom/Syndication has gotten to be a fairly active application area - there are many, many readers out there - here's one list of the most popular ones. What I've noticed is that there are a bunch of .NET based aggregators, a bunch of aggregators specifically for Windows and/or Mac - but none of the commonly used aggregators are Java based. Now, I know that there are lots of Java developers out there - and yet somehow, no one has created a widely used aggregator in Java. That's fascinating. Oh, yeah - there is a widely used Smalltalk based aggregator :)
Technology is essential to the success of any high volume derivative business. The technological underpinning of Kapital is based on one of the earliest and some would say most pure object oriented development languages currently in existence 13 Smalltalk. The current incarnation of this language called VisualWorks has been married with a database technology called Gemstone. The combination of Smalltalk and Gemstone was the technology of choice at the start of Kapital. It continues to be the technology of choice today as it enables the following system characteristics:
- The creation of an application architecture that hides the technical complexities from financial developers.
- Distributed calculations are decoupled from the financial domain and increased compute power is achieved through machine on-boarding (e.g. recent machine on-boarding using PC blades and Linux)
- Allows business users and financial developers to create any type of new business object and save it and share it.
- Allows for disparate development teams, who are focused on different business areas, to develop solutions at different rates
Why are they using Smalltalk with all the Java and .NET buzz about?
Identifying new market opportunities is available to all investment banks. However, profitability and success come from being able to execute on those new market opportunities before the competition. Using Kapital, enables both business and IT staff to prototype and develop new ideas that can be promoted into product sets. This rapid turnaround of idea to product empowers JP Morgan to market and trade new deals before most of the competition. In the world of highly complex derivative products, JP Morgan is the number one investment bank.
Oh, and that canard about it being "too hard to find Smalltalkers?"
With the size and complexity of the system (14,000 classes and 400,000 functions) written in an esoteric language and database, one would assume that the technology would be the limiting factor in its continued growth. However, the greatest difficulty for Kapital is not the technology, but understanding the business and business processes themselves. With the developer firmly in mind when Kapital was originally put together, new financial developers can be on-boarded and be productive within four to six months
Go read the whole thing - and then download Smalltalk and try it out.
There are a few posts on the Tablet PC this am - Scoble over here, Julia Lerman here, and the story that spawned these posts here. I think the lot of them miss something crucial - IMHO, the Tablet is a niche product. Yes, I'm sure that people do like them when they see them. I'm also sure that most people have no real need to scribble on a screen. Think about it - how many tasks do you actually do in a day that would justify the extra cost of a Tablet? To my mind, the Tablet is a great product for a set of vertical markets - and a nice to have, but not important thing for everyone else.
Now, that may change - 5 years ago, notebooks were not something that most people thought of as a desktop replacement - that's not the case now. Over time, the Tablet may become that way as well - but I think this will happen only as the price differential drops towards nil.
Update: Matt Crowden makes my point:
Price is probably the number one factor that is keeping the Tablet PC install base down. I've looked at a few TabletPC models at my local Micro Center, which usually has a few in stock, and their sales guys know much more than your standard CompUSA or Best Buy. I played with a Tablet PC. It was a compelling experience. Unfortunately it wasn't two grand compelling. It wasn't twice as much as I ended up paying for a higher spec'd but bigger (and non-tablet) laptop that I ended up getting
Price is the reason I bought a 386 based PC back in the late 80's instead of a Mac. I liked the Mac - but I didn't like the $2k price differential. Ditto for the Tablet...
TechRepublic.com reports on a judicial block of a SpamCop blacklisting:
A Northern California District Court judge issued a temporary restraining order to prevent SpamCop, an antispam operation, from interfering with messages sent by alleged junk e-mailer OptInRealBig.com.
Now, spam irritates me - a lot. On the other hand, I despise blacklists. The way SpamCop runs them, it's virtually impossible to get removed from such a list, and they occasionally block mail from large ISP's - I've had them block outgoing mail from my ISP's email server. A pox on both their houses....
Scott Johnson points to a really, really nasty attck based on presumed trust - and he's dead on about how easily people (tech geeks included) will fall for this. That is one nasty, nasty idea there.
But, this whole thing points out a disconnect. I'm using the latest latest stuff. It has radically changed my life. I can't, and will not, buy a portable computer without the Tablet PC features anymore. It's changed my life that much.
Why? Well why don't you meet me in Southwest Airlines on Friday evening and I'll show you why the Tablet PC is so superior for air travelers?
All this reminds me of 1986. Remember that year? Remember what they were saying about the Macintosh? "It's dead," they said.
Notice one crucial thing about the Mac - the market share. And it's not because DOS was better. It's because a Mac was $2k - $3k more expensive than a DOS box was. That's why I bought a 386 DOS box instead of a Mac back in 1987 - I was unwilling to part with the extra $2K. Well, the same now applies to Tablets. Ink is nice and all, but it's not $2k of nice. It's a niche product until the price point equalizes.
Patrick Logan is not impressed with the Tablet PC:
The software sucks. Badly. Really, the pen interface seems slapped on top of the typical mouse-based Windows. And the total experience is *horribly* schizophrenic. The pen/tablet experience is trying to get along with its mouse-based alter ego, but they just seem uncomfortable with each other. Their like relatives who see each other once every year or so. They have something in common, but no deep understanding of each other.
Hmm. This is a slightly less rave review than I've seen from the Tablet evangelists. I'll take a look eventually, but:
- Even if the software is flawless
- And the price differential is only $500 (as Scoble says it will be)
I'm not going to shell out $500 extra for the ability to write slowly on a small screen. I don't touch type, and I still type faster than I write. This is looking a lot like a solution desperately in search of a problem to solve....
Yesterday, I had a request come through the Smalltalk IRC channel - why not allow users to eliminate the horizontal scrollbar on the grid view in BottomFeeder? Well, that was a reasonable request - it's now a setting in the latest dev stream build. The way it's implemented illustrates perfectly why the Pollock effort is so important. Take a look at the code that turns the scrollbar off:
| sub ds |
sub := self widgetAt: #feedID.
ds := self
ds component container component component components first container useHorizontalScrollBar.
Yes, it's that ugly. The issue is the way the VW GUI adds "decorations" like scrollbars - they are added in via wrappers. It's not simple to navigate down to the correct layer of wrappers - I figured out how to get there via an inspector on the running application. Now, once you get there, there's a nice simple API to turn scrollbars on/off - and yes, I suppose one could surface that via a higher level APi that hid all this nuttiness (but that's non-trivial - wrappers get added based on a lot of variables). This is why Pollock is the future - no one should have to do this to toggle scrollbars :) Thanks to Travis for pointing me in the right direction when I was taking a look at this last night....
The W3C intends to get involved with Atom. If you thought there were bizarre happenings there before (mime encoded, large binary data in the feeds!) - just wait until the wizards at the W3C get done with it. At least the current specs are written in identifiable English - the W3C positively strives for odd wording and hard to understand sentence structure....
Google has added Atom Feeds for newsgroups - for example, here's the feed for comp.lang.smalltalk. This adds fine in BottomFeeder, so long as you are using the dev stream (where 0.3 formatted feeds are fully supported). The feeds aren't that useful though - only partial content for each item is included. It's not time to abandon my Agent yet....
John McIntosh's StS 2004 notes start here on the Camp Smalltalk Wiki - links to successive reports are at the bottom of each entry. I am still expecting more notes, and I'll post them or link to them as I get them. Enjoy!
Don Park links to an interesting post from one of the commenters on Six Apart's new licensing for MT. It's kind of amusing to watch. I'm sure that a lot of people have enjoyed using MT for free, and gotten a lot of blogs set up. Now ask yourself - what has Six Apart gotten for that? And don't say "positive press" or "love from the open source community" - because neither of those things pays any bills. There's a simple reason that MT is going to start costing real money - it's a business, and I'm sure that the developers want to be able to eat.
Not everyone wants to give away their software and "sell services around it". That often requires travel, and guess what? Not everyone wants to travel. Take it from someone who's spent a lot of time on the road - you pay a price for it. You don't expect your stereo to be free, or the TV - why the heck should you expect software to be free?