Michael Feathers, Bruce Anderson, Jason Gorman, Dave Thomas (pragDave), John Daniels, James Dobson are on the panel. It's clearly not a completely serious effort :)
Web 2.0 - what is it, and where can I buy it?
Dave Thomas - a huge success in marketing, and he's not sure where you can buy it. Web 2.0 is all about making browsers suck less (AJAX, asynch updates, etc). There's no worse place for an application than a 3270 that also gets porn - are we putting more and more lipstick on a pig? He's saying that the browser should be dead, and we should be moving to smarter clients. For a lesson, look at how the next generation plays video games - why can't we produce applications that are as useful as that? We need a more immersive, useful environment.
Michael Feathers - Yes, the browser model is somewhat broken, but it's non-proprietary. It's lousy, but it works.
Audience question - what about Flash? Michael says yes, it's definitely part of Web 2.0. Jason says it's unclear what Web 2.0 even is. It feels like something I already have, but with a cooler name. Bruce - keeps thinking about Google Earth. A large part is that IT shops like the browser because of the low maintenance aspect of installation.
Audience followup - what about mashups? Browsers enable it, it looks cool, but how maintainable/scalable is it? Dave: XML should have been shot at birth. DJ's (music) are an example of mashups. HTTP's advantages: dynamic typing and port 80.
Automatic vs. Manual Tests: What do you recommend?
Jason - manual tests are run once as a sanity check, so that you know what's being done. Then move to automation.
John - don't do manual testing - automate it. You'll find that you won't need manual tests. James: what about more ad-hoc testing that still needs to be done? What about UI tests? John: Talking about system/acceptance testing more than unit testing. Michael: as many automated tests as possible is good. Manual testing is useful for "exploratory testing", when you are trying things out. James: User Interface testing, when we are talking about subjective judgements, cannot be automated.
Audience feedback - Manual testing is error prone and cannot be as predictable as automated testing. Dave: testing is a design/analytic tool as much - or more - than a bug finding tool. In this case, the question becomes meaningless. All the testing is manual, with some of it becoming automated over time as we move through development. Michael: Testing tells us about the design, and provides a frame for "holding it up". Michael: We've moved from BDUF to BTUF (Big Test Up Front). We've gone too far.
What are the best motivational techniques for developers?
Bruce - I like to see developers taken seriously. It's about being genuinely involved in the task at hand.
Jason - Need to be able to "put my stamp" on things. Being able to walk away and say "I was there".You lose motivation when you aren't taken seriously
John - I only hire developers who care about what they are doing. There are the 9 to 5 types, and the people who attend conferences like this. If you have the latter, and you give them the space to do what they are good at, then you'll get results.
Dave - No way to motivate, but tons of ways to de-motivate. It comes from a lack of respect.
Michael - Different people are motivated differently. A lot of self selection happens.
Bruce - At IBM, we get involved in large projects, where you might fear death marches. We find it's easy to attract people to the challenge.
Audience question - What about the tension between what product management wants/needs, and what developers want/need? Need more and better communication to bridge that gap. Feedback - it can be very demotivating to end up doing what you are sure is not the right thing.
Is Management the root of all evil?
John - I'm pretty sure it's no :)
Dave - Listening to managers is the root of all evil. You have a responsibility to say no if you think you are being told to do the wrong thing.
Jason - Money is the root of all evil. Managers are just the weed growing around the mony
Bruce - A good manager shields developers from the day to day "crap" that crops up.
Michael - Bruce just described good management. Too many organizations have people who cannot understand the ramifications of bad decisions.
John - it's about having a good relationship between managers and developers. It's about mutual respect toward common goals.
Audience question - Should managers come up from technical staff? Jospeh: would prefer someone who understand what's going on. We are in one of the few professions where we have managers who do not understand technology. Michael: Do leadership and management have to be the same? Dave: Some teams need a strong tech lead, some teams need a non-technical manager. It depends on the team. Michael: You want the soft skills, regardless.
I'm in Dilbert Hell. What do I do?
Consensus: Get another job, or if not possible, find a hobby.
Microsoft's Robert Scoble, who cowrote a book on corporate blogging called Naked Conversations, now seems intent on turning himself into a case study for why companies shouldn't blog. The posts on his company-sponsored blog, Scobleizer, have become increasingly shrill and antagonistic of late.
What Scoble brings to the table is an open voice. You want marketing? Go look at those stupid dinosaur ads. You want honest? You'll have to take the good with the bad. I don't always agree with Robert, but I give him a lot of credit for his openess.
First the "IT doesn't matter" thing, now this. It's almost as if Carr desperately wants attention or something.
The afternoon session I decided to attend is Michael Feather's talk. With luck, the Capucchino will keep me awake during the talk :)
For purposes of this talk, "Legacy Code" = "Large existing codebases that lack any real tests" - i.e., the language of the codebase isn't relevant. Michael started with a desire to do XP 6 years ago, but he was transitioning from a dirty codebase - as opposed to the C3 project, where they mostly abandoned the legacy codebase and started over. So, what are the possible approaches?
- Pretend the existing code isn't there
- Use TDD to create new classes, make direct changes to the old ones, hope they are correct (tends to miss code coverage)
- We'd like to be more conservative - i.e., avoid going back to the existing code for changes
- Is that viable?
Heh. His first example is a "legacy" C++ HTML generator. Sadly, it doesn't look all that different from my original HTML generation approach for the Silt server. I've gotten smarter about that over time, but it's an example I can definitely identify with. The testing approach to use here is one of documentation - the idea is to have tests demonstrate what the code does. Michael calls these characterization tests.
When you have legacy code, try not to add inline code to it. Instead, write tested code in new classes and methods, and delegate to them (IMHO, this can lead to interesting maintenance problems itself - hard to understand code). The techniques for doing this are called Sprout Method and Sprout Class. Interesting sideline here - refactoring is harder in a C++ codebase, due to the lack of good tools.
So the question is, why is he advocating a conservative approach? There are no tests for the existing codebase, so making changes can introduce unintentional (and hard to find) errors. Most of the development in this case is about preserving existing behavior. Most applications are glued together - we only find this out when we test pieces in isolation (unit tests). Some examples of glue:
- Internal Instantiation (class creating a hard coded instance of another class)
- Concrete Dependency (when a class uses a concrete class, you'd better hope that class lets you know what is happening to it)
Tools matter a lot here - having the ability to safely extract methods and interfaces in the IDE help a lot. If not, then it's all manual (and harder). Breaking dependencies can get ugly. The Legacy Code Change Algorithm:
- Identify Change Points
- Identify Test Points
- Break Dependencies
- Write Tests
- Refactor Change
What about testing expensive operations? i.e., you don't want to call the real method in test because it will take too long (computationally expensive, lots of db interaction, whetever). There are mock frameworks for various languages, and you can always use polymorphism for test purposes. The rationale here is that you want to replace behavior without changing the base method. Sounds to me like people using C++ are on the short end of the stick here :)
- Extract an interface - safe for legacy code, but can take a little time. Mock interfaces stand in for real ones. The list of things to watch out for in C++ is long.
- Extract Implementor - like extract interface, but we push the code down instead of up
Up next - a test exercise using Java or C#. Heh - I translated the Java code to Smalltalk and then did the exercise - as fast as everyone else refactored :). Interesting discussion over interfaces (Java, C++, C# - all of this is implicit in Smalltalk). The whole exercise dealt with parameterizing constructors, and then went into parametrizing methods. All one and the same thing in Smalltalk. From how these exercises are going, it's very, very obvious that it's tons easier to restructure and refactor code in Smalltalk than in the languages being used here.
What about methods in classes that cannot be (easily) instantiated? Try making it a static (Class, in Smalltalk terms) method until the mess can be cleaned up. "Utility classes" - ones with all static (Class) methods are a problem as well. Bottom line, the methods aren't where they belong. Preserve signatures, but create the appropriate methods in the appropriate classes.
Ahh, templates. Saved by dynamic typing :)
Summary: Tests are the ultimate safety net, providing an "exoskeleton" for your code. Fascinating thing at the end: We have to develop languages and tools which make it easier to recover. Smalltalk is not a silver bullet - you can write bad code using any language or toolset. However, I claim that Smalltalk makes it easier to get yourself out of the corners you code yourself into.
It's been a long set of travel, but I'm now at SPA 2006. The train from Gatwick was easy and pleasant - much simpler than driving, as I did last time. I'll be attending one of the afternoon sessions - haven't decided which one yet. Should be a good week - this is a small, fairly intimate conference.
Tim Bray wrote a long column about analysts awhile back, and I finally have time to comment on it, seeing as how I'm stuck at 30,000 feet with a bunch of flagged items in BottomFeeder. Here's an anecdote Tim used to jump into the post:
The perception of corruption, whether it’s true or not, hasn’t gone away. Shortly after I joined Sun, I was trying to figure out why large parts of the industry seemed hell-bent on re-creating CORBA, only more complex and less efficient, under the WS-* banner. One senior technology strategist, not from Sun, told me “Obvious! It’s because IBM and Microsoft paid the analysts megabucks, megabucks I tell you , to go out and tell everyone that this was where the future was, and anyone who wasn’t going that way was dog meat.” Mind you, he’d had a few beers. But that’s not the only time I’ve heard that particular suggestion.
I have to agree with Tim's quoting of an old standby for this: "Never ascribe to malice that which can be explained by stupidity". Industry analysts aren't evil, and they aren't all on the take. I'm sure some are; there are bad apples in every field - and trade analysis is hardly immune. That's not the main problem though. The analysts are looking for the same thing that IT shops and vendors are looking for: The next big thing (tm). IT managers want to know what it is, because there's safety in numbers; if "everyone" is using a certain technology, then the thinking is that support will be easy to find, and it can't be too bad. Analysts want to be ahead of the curve, so they are scanning for that "big thing" - because once they find it, they have something to point to.
What that leads to isn't corruption, but herd behavior. Without consciously working at it, IT managers and analysts reinforce their own preconceived notions, and are prone to jumping on bandwagons. Witness the rise of OO as a buzzword, relational databases before that, and Java and WS* more recently. It's not that these were necessarily bad, even - they just became reinforcing memes that spread across the tech landscape. So what you end up with is a system that can easily be construed as corrupt - the big analysts are pushing the big technologies that the big vendors want to push. I think the actual behavior is more subtle than that, but - as Tim says - it's certainly a perception problem for the analyst firms:
It’s a problem for the analysts, and their customers, and for the industry, that there’s this elephant in the room. Because I totally believe that we need analysts. I know for a fact that there are those who read people like me and Don Box and Bob Sutor and use what we say about Java or messaging stacks or ODF as serious business input. But dammit, we’re vendors, our paychecks depend on selling you expensive stuff! At least with us, our hearts are on our sleeves and the conflict of interest is screamingly obvious.
It seems that in a rational world, there’d be a place for professional intermediaries; someone who has a non-tech business to run doesn’t really have time to drill down on whether crazies like me who are dissing WS-* are right or wrong. They should be able to outsource that research. (By the way, no analyst from a mainstream firm has ever raised the WS-* issue with me, which seems a little weird).
I think analysts are going to have to do what Tim suggested - they are going to have to disclose, using journalist style ethical standards, what vendors are paying them, and how much they are paying them. As Tim said, with us vendors the bias is obvious - don't come to me, for instance, if you are looking for an objective opinion about Java (or Smalltalk, for that matter). The analysts, on the other hand, are striving to be that objective voice. They need to make sure that the audience can make a judgement call based on all the inputs.
Looks like there's a new mailing list, set up by some of the European Squeakers. This one is intended to coordinate Smalltalk meetups and parties. Check it out here.
I can tell that Gold status on American isn't what it used to be - I'm sitting in the middle seat here, and the only saving grace is the power port. We left Orange County at 8:45 am, and I have a full day of travel to look forward to - I arrive in London tomorrow morning. Then I'm hoping I can decipher the rail schedule well enough in what I'm sure will be a dazed state to get to St. Neots. Ahh, the joys of travel...
I think the best way to address James McGovern's latest post is to translate it. So, let's hone in. He says:
Lot of folks have chimed in on a previous posting on Ruby and responded with passion and supplied their own perspectives but zero facts.
Translation: "Lots of people chimed in with words I didn't understand. Many of them brought up actual examples, and that's, like, so totally unfair"
Still another perspective is that I am a thought follower and defer my entire thought process to the wisdom provided by large consulting firms. Wrong! I simply acknowledged that this is a behavior whether right or wrong hapens in corporate America.
Translation: "I'm a thought leader, damnit. Do you see anyone else following me? And when I said that big consulting firms were all that mattered, people twisted my words by taking what I said literally. Fargin Bastages..."
I still cannot stop laughing about the postings regarding me being too enterprise. These are from folks who have obviously never met me or even engaged in an open conversation. I suspect their perspectives would change if they did so...
Translation: "How dare people take my words at their literal meaning!"
He then presents the world's most constricted set of rules defining what he actually meant to say - until tomorrow, after yet another person presents him with one of those fact things - something he's clearly never understood.
The sky is a different color where McGovern works.
I have the rest of the day in LA, and then it's on to London tomorrow morning. I'm going to hate myself for setting this trip up; who knows how conscious I'll be when I get to Gatwick (at 7:15 AM local time)? That's why I've decided to ditch the rental car idea and take the train. According to the SPA 2006 site, it's possible to take a train all the way to St. Neots, which will allow me to doze off on Monday without fear of the M5. That's always a good thing :)
Apparently, it's all about Steve Gillmor:
Mike Arrington missed the Gillmor Gang taping today, even though he changed his travel arrangements to be there. I forgive him, because he's understandably starry-eyed by his lunch with Bill Gates at the Mix06 conference. But I don't forgive Robert Scoble for not inviting me, or Waggener Edstrom either.
Geez, the world will somehow manage to spin up tomorrow, even though Gillmor didn't get his lunch date with Gates. The rest of his post is even more grating than the opening. Someone needs to deliver a huge sign to Gillmor, that he can hang in his office: "It's not all about you"
Techmemeorandum notes that Office is going to be late, just like Vista (pushed into 2007). This is why I thought that the anti-trust suits against Microsoft were a waste of time; the company has spent the last decade on a dubious over-coupling mission they call integration. The upshot is this - virtually every one of their mainstream products are now mutually dependent, in ways that make timely delivery difficult to achieve.
When IT shops end up in this place, they typically start over, placing the existing code into a maintenance mode. Microsoft's options are a lot more limited; they have an enormous customer base that is dependent on backwards compatibility. If they broke that for the sake of a more maintainable future codebase, they would simply be giving people a reason to seriously look at the Mac platform.
Back from dinner (stuffed), and I have the rest of my pictures ready to go. First, a shot of central gardens from above:
Next, a shot of what looked like a Mission from the Getty:
Back inside, they have a really nice collection of medieval books - when you look at this one, bear in mind that it was all hand written!
Finally, a shot of the Getty Museum from below as we crawled along the 405 on the way back to the hotel. Except for this, it was a great day.
I spent the afternoon at the Getty Museum; I'm in LA for a family event over the weekend. It's a beautiful place, with phenomenal views of the surrounding area. Then there's the collection itself! I really enjoyed the dutch masters section - after my recent reading about the early 17th century in Europe, I got a much better feel for some of the points that the artists were trying to make. Here's a shot looking back at the entrance from the patio:
And here's a shot I took of the entrance to the French/German 18th century section. They have this arranged in the style of a noble of the era's rooms:
I'll have more pictures to post later - I have to run out to a family dinner.
Up to 60% of the code in the new consumer version of Microsoft new Vista operating system is set to be rewritten as the Company "scrambles" to fix internal problems a Microsoft insider has confirmed to SHN.
In an effort to meet a dealine of the 2007 CES show in Las Vegas Microsoft has pulled programmers from the highly succesful Xbox team to help resolve many problems associated with entertainment and media centre functionality inside the OS. The team are also working closely with engineers from the Intel Viiv team. and it is now expected that the next version of Viiv could be delayed to line up with the launch of the consumer version of Vista at the 2007 CES Show in Las Vegas.
Like Rob color me extremely skeptical. There is simply no way that they are going to "rewrite" 60% of the code and hit a 2007 release date. I suspect that the reporting was washed through a number of non-technical hands that did not understand what some technical guy said - like a long game of telephone.
Of course, if there's anything even vaguely accurate there, 2007 would be optimistic...
Learning Seaside has a neat post up on Seaside and Scriptaculous - and the best part is, Cincom's Michel Bany is porting Scriptaculous to VW. He's been maintaining the Seaside VW port for awhile now. Expect to see both in "contributed" in the summer release!
In reference to the last post on this topic, there are a few things that back up Alan's comments in the thread. If dynamic languages can't scale, then an awful lot of people at Amazon, Google, and EBay are doing something very wrong. There's heavy use of "scripting" languages at all three of those, and - the last time I looked - their scaling needs are above and beyond the needs of almost every web project that falls into the so called "Enterprise" space.
In Gosling's follow up, he tries to wave away the "most time is spent in I/O argument", and well he should try to wave it off - because it invalidates most of the rest of what he says. The reality is, most web projects spend a lot of time grabbing results from the database, massaging them for display, grabbing results from the submission, and dropping them into the database. Being dramatically faster at floating point math doesn't mean anything for that kind of thing. For situations where it does, sure - pick the right tool for the job. The mistake Gosling and others make is of extension - since Java is faster for a few things like math, they think it should be used everywhere for consistency.
Heck, if that's his argument, he should just pick Fortran.
Bob Congdon defends Gosling's rather clueless comments about non-Java, dynamic languages:
Language flame wars can be fun but this one seems a little over-the-top to me. Some of the commentary has been interesting but why be so defensive? Is it really that surprising that the creator of Java still prefers it over other languages? Is it really that surprising that the CTO of Sun Microsystems might say something dismissive about alternatives to the Java ecosystem? Gosling is a smart guy. He's not as clueless as some people seem to think. He's just doing his job.
Sure - but he mostly comes off as defensive. Not to mention woefully uninformed. In his response, he says this:
For now, I'll make the generalization that "scripting language" means one that is interpreted with dynamic runtime typing, and the other camp is languages that are compiled to machine code and have static runtime typing. This is a broad over-simplifying generalization, but it matches pretty well what goes on in common conversations.
Earth to Gosling: run on down to the Self research - right there at Sun. You might learn something. Yes, it's a huge over-simplification. Smalltalk, for instance, is mostly JITted (you know, like Java). There's no reason that Ruby or Python couldn't use a JIT, other than the simple fact that no one has done that (yet). He goes on to say:
Yes, people tend to forget about trade-offs (I think economists term this as opportunity cost). I think people should stop looking for the silver-bullet. Maybe a "cease-fire" in this flame war is figuring out ways of getting scripting languages and non-scripting languagues to work together.
That's nice of him, after spending most of the rest of the post trying to say that the domain for "scripting" languages is small. The reality is, most software really isn't that complex, and most of it doesn't need extreme scaling. Gosling's mistake is in thinking that most problems are complex, and that most problems need to scale to the moon.
I always love full day travel - and I have a longer one to look forward to on Sunday - LA to London. Whoo boy. So we finally arrived at our hotel, after only one wrong turn. With luck, that will be the worst of it :)
Digg notes that Apple is calling France's proposed law - which open up the iTunes music store to arbitrary devices - is generating an intemperate response from Apple. They are calling it "State Sponsored Piracy". While I think Apple should be able to run their business any way they want (it's hardly the case that there are no alternatives), I don't think this response is going to help them make friends and influence people.
I'll be on the road a lot over the next few days - I have to go to LA this morning, for a family event over the weekend. Then, I have to hop back on a plane to London on Sunday, in order to get to SPA 2006. The timezone changes alone should leave me baffled :/
Fascinating. IBM is looking to monetize their investment in Eclipse:
IBM's decision to offer support for Eclipse reflects the open source environment's growing presence among businesses - 30 per cent of enterprises and 25 per cent or so of small and medium businesses (SMBs) use Eclipse, analyst Evans Data Corp (EDC) estimates.
But it will have an interesting challenge in tackling price objections. This week at EclipseCon in Santa Clara, California, EDC said it had found little appetite for paid support from Eclipse users. Just over 30 per cent expect support to be free while a third said if they would pay anything at all, it must be less than $100.
Well, it's going to be a tough row to hoe. IBM has trained people to expect things to be free, and now they have to live with those expectations. To Wit:
The sticking point seems to be the need to pay to support for a tooling environment that has the perception of being "free".
Well duh. Now they realize that.
Smalltalk Big Talk of the Town
eWeek magazine recently hailed Cincom Smalltalk(TM) as a pioneer and establisher of the "key ideas of object-oriented language design and implementation." Also, eWeek described Cincom Smalltalk VisualWorks Version 7.4 as having "delivered a polished development experience in eWEEK Labs tests, with efficient packaging of finished applications for convenient deployment."
A few of the Cincom Smalltalk Customers presenting at Smalltalk Solutions include:
Experience Report: Building an Optical Food Sorter with Linux and Smalltalk
Travis Griggs, Key Technology -- Ever wonder how the food you eat gets sorted, the good from the bad and the ugly? This is an experience report describing how Key Technology's latest machines (and the people behind them) do just that using Linux, Smalltalk, and Test Driven Design.
Tutorial Efficient Smalltalk
Travis Griggs, Key Technology -- Smalltalk is slow. Everyone knows it. So why try? Not! In this tutorial, Travis Griggs will dispel these myths, and along the way he will provide insight and patterns that will show you when and how to improve performance in Smalltalk programs. This is the program to see how efficient Smalltalk really is.
Development of a Platform and Domain Neutral -- EAI Framework
Tom Hawker, OOCL -- This seminar will examine the practical aspects of creating an EAI framework around Web Services, including creation of support facilities, new Gemstone-resident code, and solutions to maintaining data and platform neutrality for both client and server operations.
"We're proud to have Cincom Smalltalk customers share their experiences with others," said Suzanne Fortman, global marketing manager, Cincom Smalltalk.
Cincom is a proud sponsor of the Smalltalk Solutions Conference 2006 premiering at LinuxWorld and NetworkWorld in Toronto, Canada. Visit the Cincom Smalltalk booth 1133 in the exhibit hall and receive a copy of the non-commercial version of Cincom Smalltalk Winter Edition.
Cincom Smalltalk enables software developers to build applications quickly and efficiently, including scalable browser-based and client-server systems. Cincom Smalltalk delivers significant productivity over Java(TM), C#, C++, or Visual Basic®, allowing developers to bring their products to market significantly faster.
For nearly 40 years, Cincom has delivered innovative software and services that enable thousands of clients worldwide to simplify the management of complex business processes. We empower our clients to outperform their competition by providing ways to increase revenue, control cost, minimize risk and achieve rapid ROI.
Cincom serves clients on six continents including BMW, Citibank, Boeing, Northwestern Mutual, Federal Express, Ericsson, Penn State University, Milacron, Siemens, Rockwell Automation and Trane. For more information about Cincom's products and services, contact Cincom at 1-800-2CINCOM (USA only), send an e-mail to email@example.com or visit the company's website at www.cincom.com.
CINCOM, Cincom Smalltalk and VisualWorks are trademarks or registered trademarks of Cincom Systems, Inc. All other trademarks belong to their respective companies.
© 2006 Cincom Systems, Inc. All Rights Reserved
Cincom Systems, Inc.
If you are in or near Ottawa, and would be interested in a quick look at Smalltalk, then head on over to Dave Buck's site, and drop him a line.
I'll be speaking at the Syndicate Conference in Toronto in June - it's being held on Jun 14-15. I'll be talking about aggregation technology - news aggregators, RSS/Atom, etc - but from a PR/marketing perspective, rather than from an implementors viewpoint. That means I'll be talking about why PR/marketing/Product Managers need to care about the blogosphere, and how they can keep track of what's being said.
Well, this is good news. Gary Oldman is going to reprise his role as Sirius Black in the fifth Potter movie. I really liked his potrayal of the character - he got the "edge of madness" aspect of having been in Azkaban just about perfect, I thought.
In the development (4.2 build stream) build of BottomFeeder, I've just added support for a new feature - search feeds now support Newspaper mode. What does that mean? Well, a search feed is simply a pseudo-feed built from a search across all your subscriptions. So say you want to track commentary on the Vista delay - you open the search dialog:
Now, having defined it, I get a view like this:
Toggling properties to set newspaper mode on, I get:
Which gives me a "River of News" kind of view on the search term. You can set those up as regex searches as well - but you'll need the latest 4.2 based update
Workers at the Brooklyn Bridge uncovered a Cold War era fallout shelter, complete with intact civil defense crackers:
The estimated 352,000 Civil Defense All-Purpose Survival Crackers are apparently still intact, said Joseph Vaccaro, a supervisor at the city Transportation Department. The metal water drums, each labeled "reuse as a commode," did not fare as well, and they are now empty.
This kind of thing is cooler than a planned time capsule, because the items stuffed inside aren't "artificial".
Okay, so tell us about your personality James. ";->"
Well, I'll put it this way. I have yet to be responsible for the creation of a whole new format simply because other people couldn't work with me. Heck, come on over to the Smalltalk IRC channel and ask folks there what they think of me.
Microsoft's Windows Vista operating system has been beset with another delay. After clearly pinpointing the holiday season of 2006 for launch, the company has now revised their primary launch period to 2007.
Jim Allchin, co-president of Microsoft's Platforms & Services Division, told analysts that the target time has been bumped to January 2007 for all consumer versions of Windows. He also said that editions aimed at business users would be available as early as November through volume licensing programs.
Like I said, I yawned at that this morning. But here's Mini-Microsoft on the case:
I was upset at missing the back-to-school market. Now we're missing the holiday sales market. All of those laptops and PCs are going to have XP on it. What percentage will upgrade to Vista? Well, I guess that's the little dream that I need to give up on. Vista's deployment is going to come from people buying CPUs with the OS pre-installed, not dancing down the CompUSA aisle as they clutch that boxed version of Vista to their loving chest. So not only did we miss last year's opportunity, we're missing this year's opportunity, too. With the convergence of high-tech media, this holiday season would have been an explosive nodal point to get Vista out for a compounded effect.
It's certainly a big loss of sales at a crucial time of year, and most of the people buying PC's then won't get on Vista for a few years - not until they buy another PC down the road.
So think about that - they delayed by a few weeks into January, supposedly to lock down some security issues. Hmm. It's March now. You're telling me that they can see a 2-4 week delay that clearly right now? I don't think so. I won't be at all surprised if this small delay turns into 6-9 months, or even more.
File some of the quotes in this story under "buzzword bingo":
- XML can cut in half the personnel costs of running a website
- XML gives us the best chance to own our own data, because it's not in a proprietary format, so we're not beholden to a vendor
- OpenDocument format, and applications that read it, are far more likely to be available in 300 years when our great-grandchildren want to read the electronic records we create today
Wow. I bet XML walks the dog, gets the bacon, and cooks it up too! Little did I know that saving a document in XML form prevents duplicates from cropping up too:
- With XML, documents are only published once and can be viewed by any application. What's more, an error only needs to be corrected once and the changes are automatically made throughout any other version of the document. In addition to risk prevention, XML offers efficiency payoffs such as eliminating the need for a Web publisher.
Wow. can we get XML beatified?
“I also couldn’t find the equivalent of instance variables. Wouldn’t that make reuse at an enterprise-level somewhat problematic?”
Wow. I can tell you, I'm not that familiar with Ruby, but I know that it has all the basic OO building blocks. I put together a post awhile back where I created a Smalltalk equivalent to some Ruby code. It sounds like Justin's right - either McGovern can't use Google, or he can't read with comprehension. Either way, "thought leader" is kind of an inapt description of his, umm, "skills". Here's how Justin translated the above:
I think this is just a translation problem. Let me tell you what James was actually trying to say: “I’ve never looked at Ruby, written a line of code in it, or read a blog entry about it. It threatens my Java-based hegemony, though, so I’d better get out in front of the issue right away.”
Because there is no other possible explanation for being a “thought leader” on software and being unable to ferret out the exemplars of the Big Three (inheritance, polymorphism, encapsulation) in any object oriented language in under 30 seconds.
Who IS this guy?
Who indeed? Not someone you should trust with any of your development needs, if this represents his thought leadership in action.
I just ran across an interesting article series that IBM sponsors: Crossing Borders. The stated purpose of this article:
The Crossing borders series looks at how non-Java™ languages solve major problems and what those solutions mean to Java developers today. This article explores continuations, the technique behind frameworks like Smalltalk's Seaside. Continuation servers make it much easier to build Web applications by offering a stateful programming model without giving up the scalability inherent in statelessness.
This article is from Bruce Tate. Good stuff.
I was watching an episode of "The Closer" a week ago, and one of the running gags in the story had LAPD personnel abusing FBI agents (butting into a case) for their lack of technical sophistication (i.e., no email access). I didn't think much about it at the time, but now today I see this story. I guess the plot had a point :)
Dave Winer wrote an interesting essay on the topic of formats and working together - I think it's mostly reasonable, but I do have a problem with one section: the relevance of personalities:
The people who make it about personalities are missing everything. It’s as if what was going on on a baseball field is a result of personalities. To some extent of course it is, but it’s also about how you swing a bat, catch and throw a ball, how good your eye is and how good your mind is. In software the quality of your thinking matters even more, in fact that’s all there is. And so many people miss the big picture, without even trying to see it. The notable thing about Phil, is that in a crowd of people who aren’t trying, he is. His reasoning ability isn’t remarkable, what is remarkable is that he cares enough to reason. And if you want to do that, you need to get your mind out of the schoolyard, and start thinking about the media revolution we’re in the middle of.
Personality impacts every other aspect of work - in tech and in sports. The attempt at a sports analogy is interesting - there are plenty of examples of teams riven by internecine conflict: The Eagles last year come immediately to mind. If you don't think that the war of words between McNabb and Terrell Owens impacted the team last season, you don't know sports. Look at the Yankees back in the 80's - lots of talent, no World Series trips. Look at the Red Sox in the years before their Series win - a lot of their problems had to do with internal conflict.
When one person becomes the center of a storm, it creates side effects. Read Tim Bray's post from this morning, and you'll understand how and why Atom came to be. It was due to the intransigence of exactly one person.
ARmadgeddon thinks that the big firms like Gartner have a safe future, because they still provide perceived value to their clients. He may be right, but I have a small quibble, and it doesn't have to do with analyst firms specifically. It has to do with size and the slowness that accompanies it.
Back in the 80's, IBM's bloat nearly killed it. They recovered, and they are still very important in the industry. During the 90's, everyone thought that MS was too dominant - I think they are just entering the danger zone of too much size and not enough agility. They could survive like IBM has; they could also crash and burn like DEC did.
I don't think analyst firms are immune to this, and Gartner has certainly grown itself to a size where "slow and ponderous" could be a problem.
It's as if there are two default positions for thinking on the blogosphere: it's either triumphalism over the entrenched "media elites", or it's disdain over the blogosphere's "unwashed masses" getting the good seats.
This is nothing more - or less - than a natural progression that started a long, long time ago. When the printing press was first invented, it was a sea change - suddenly, the number of people who could get their words on paper jumped up. It was no longer the case that only the authorities (spiritual or temporal) could get things down on paper and distributed; a decent sized swath of the emerging middle class could do so as well. In Germany in particular, this led to a rise in pamphlateering, something you could almost call early blogging.
Over time, the cost of getting something printed and distributed centralized somewhat - an area can only support a finite number of newspapers, for instance. That didn't change a lot with the introduction of radio and television - broadcast facilities are expensive, and bandwidth is limited. By the mid twentieth century, getting an opinion published for broad distribution still had plenty of gatekeepers. They were no longer priests or princes, as they had been before the invention of the press, but they existed.
The web has changed all that. Suddenly, bandwidth limits and costs both disappeared. As we move into the second half of the first decade of the 21st century, we have something truly new - anyone and everyone can publish. That doesn't mean that anyone publishing will get attention - having a soapbox doesn't guarantee an audience by any means. It does mean that we are no longer limited to whatever opinions the media elite want to hand out though. As I noted this morning, there's text, audio, and video for every imaginable niche. When I was growing up, finding a local source for information on games was really hard - board gaming (especially the subset I was in then, war gaming), is a niche audience. Other than the occasional scare story about "those weirdos playing D&D", information was very limited, and hard to find - especially if you lived outside a major city.
Now? Well, have a look at Steve Wessel's post - there are podcasts galore devoted to boardgaming. My options for getting information on this niche are no longer strictly limited. Are there downsides to that? Of course. Not every niche interest is uplifting, and some of them are downright scary. You can find online communities devoted to anything and everything, not all of it good. As Glenn Reynolds puts it, we've got an "Army of Davids" now - and they can be devoted to anything. How you see that army depends largely on who you are - to people in niche communities that have been underserved by traditional media, it looks like a lifeline. To the editors of existing newspapers and news networks, it looks more like an angry mob with pitchforks.
You can see the disparate reactions here and here, in differing views on MySpace. Nick Carr sees a mostly boring bunch of all too typical poseurs; Scott Karp sees a cesspool of virtual filth that ought to be moderated. I can't say I've looked at MySpace specifically, but - based on the rest of the blogosphere - I'd say that it's both and neither - at the same time. What you see there is what you see everywhere on the web - an abundance of opinions and lifestyles, unchained from the limits of physical space. Unable to find a group of like-minded people (on any subject) where you live? Go online, and you'll find them waiting. For some people, the sheer variety of communities is scary. The traditional media, with their inherent limits (bandwidth and costs) excluded a lot of that from our view. What the web and inexpensive/free publishing has done is turn the lights on - and some people think that much of what they see is roaches scurrying for the dark.
The thing to keep in mind is that the viewer is always in control. We can always turn off the TV or radio, for instance, and we can simply not visit the corners of the web that bother us. The impulse to control traditional media gained traction because of the limits that media has - operating a TV station is expensive, and bandwisth is limited. Even with cable and satellite systems, there's only so much content that's going to come down that pipe. The web is different - there's no limit to how many sites there can be, and we don't all have to go to the same ones. What we have is the potential realization of the freedom that Gutenberg's invention promised.
Tim Bray gives a good summary of how and why Atom and the associated publishing protocol exist.
Steve Wessels pointed something interesting out this morning - there are a bunch of podcasts devoted to boardgaming. The web really does have content for every imaginable niche. My wife and I play games with friends every weekend (our current favorite: Caylus). I'll have to look into these podcasts. Right now, Lileks is the only one I subscribe to.
The Daily WTF explains what happens when you let "Enterprise" get on you. Ewwwww.
I just got around to watching last week's "24" episode on my DVR, and I had an epiphany - combining plot elements from that episode with various SciFi flicks I've watched over the years, I now know how to live through a VX nerve gas deployment on a space station:
- Go out where the Nerve gas is, so I can vent the gas to outer space
- Make sure to hold my breath, so I won't be affected by the deadly nerve agent
- Hold on really tight, so that the explosive decompression doesn't suck me into space
- Once all the air is gone, close the hatch to the outside, and get clean air into the area I'm in
- Once the air rushes in, take a breath
This is a highly useful set of information to have put together, and next time I'm in space with terrorists who have nerve gas, I'll know what to do.
How fast can a pure dynamically typed object oriented language be? Exupery is a native compiler for Squeak written in Squeak. This presentation will begin by outlining the current compiler, then go on to outline the future design.
See you in Toronto!
I just put together a short (just over 3 minute) screencast on the support for Stdio and on Subsystems in VisualWorks. There's a bell in the middle - I forgot to turn my email client off. Also, if you look at the console, you can see my typos while getting things set up :)
The funny thing about a lot of the people who claim to be 'Enterprise Architects' is that I've come to realize that they tend to seek complex solutions to relatively simple problems. How else do you explain the fact that web sites that serve millions of people a day and do billions of dollars in business a year like Amazon and Yahoo are using scripting languages like PHP and approaches based on REST to solve the problem of building distributed applications while you see these 'enterprise architect' telling us that you need complex WS-* technologies and expensive toolkits to build distributed applications for your business which has less issues to deal with than the Amazons and Yahoos of this world?
Heh. I couldn't have said that better myself. This summary is great as well:
If you are building distributed applications for your business, you really need to ask yourself what is so complex about the problems that you have to solve that makes it require more complex solutions than those that are working on a global scale on the World Wide Web today.
Very good question to ask the Enterprise Astronauts, I think.
Runar Jordahl explains how to use probes in VisualWorks. This is an area I haven't explored nearly deeply enough!
Has this ever happened to you? An idea pops into your head and you open up your web browser to check it out. But because the home page of your web browser is pointed to a news website, the minute you see the home page filled with news (good and bad) you completely forgot what it was that you had meant to look up only one second ago
Yeah, that happens to me too - more often with a Smalltalk image than a browser, maybe, but the same thing. This resonated because of something that happened last night - my wife sat down at her PC, which is across the foyer from my office. Right after sitting down, she burst out with "Why am I here?"
Aging is definitely better than the alternative though :)
We're holding a Smalltalk party in London on Saturday 8th of April. This will be a great chance to hear a few talks about Smalltalk and related technologies, and meet other Smalltalkers.
The party is being hosted by Pinesoft at their offices beside Chancery Lane tube.
That sounds fun, and I wish I could make it. I'll probably still be recovering from my whirlwind trip to SPA 2006 though :)
Dave Heinemeir Hansson rips James McGovern's "Enterprise" land grab. Like my post on the subject, David recognizes this inertia for what it is:
So by Enterprise, Architect, and Enterprise Architect standards, this gent must be the top of the pop. Thus, allow me to make this perfectly clear: I would be as happy as a clam never to write a single line of software that guys like James McGovern found worthy of The Enterprise.
I'll second that - if you follow the lead of people like McGovern, expect to find higher costs, lower productivity, and later delievery times. But hey - you'll be part of the "in crowd", using "analyst approved techniques", so everyone will buy you a round when you go bankrupt. That's got to be worth something. I really like David's summary of the McGovern thesis:
With that out of the way, we're faced with a more serious problem. How do we fork the word enterprise? The capitalized version has obviously been hijacked by McGovern and his like-minded to mean something that is synonymous with hurt and pain and torment.
Update: Not all analysts are stuck in the "Enterprise zone". The guys at Redmonk seem pretty well grounded.
At least someone at Sun gets it: Gilad Bracha is helping push the idea of hot-swapping in the JVM (JSR 292). However, it's no simle problem for them:
Now before you get all excited, I need to be very clear: we are not making any promises with respect to hotswapping. Full hotswapping support in a system with mandatory static typing remains an active research topic. We really don’t know how far we can go.
There's the problem, of course - locked in the static typing dungeon, they now see that the grass really is greener on the outside. The trouble is, getting there won't be easy, and may not even be possible - given where they are now. This all could have been solved back in 1995, had Gosling been an actual visionary. Too bad he still hasn't gotten the memo. In the meantime, Gilad knows what the benefits are:
This reluctance to commit doesn’t stem from a lack of support for hotswapping, or a lack of appreciation of its value. As an old Smalltalker, I know what we’re missing here. Once you’ve used a system with these dynamic capabilities, you’re hooked for life.
Which is why I'm a Smalltalker :)
Derek Wyatt let's slip some uncomfortable truths for the scions of music and movies: DRM is impractical, and is ultimately a waste of time and resources. We actually went through this years ago, with PC Games and locked floppy disks. That failed too, for the same reasons. There are two really good points he made. One:
The problem is that digital rights management relies on locking content away, and as long as we have general purpose computers capable of running whatever code someone cares to write then there will always be ways around those content locks.
That's not about to change, either. With the rise of open source systems, you're not going to see full lockdown. More relevant are the social issues. To wit:
My daughter is fifteen and cares about copyright. She knows that I rely on it in order to get paid for what I write. But she does not care for copy protection when it stands in her way, and will happily rid DVDs or strip DRM from downloaded music in order to use material flexibly - and fairly.
She buys CDs and DVDs and books, and respects copyright for what it is, a limited monopoly on certain forms of exploitation and use. She does not believe that it is an absolute property right, and she knows perfectly well that ripping a CD is not theft in the way that stealing a disc from a shop is.
That's the major problem for the RIAA and the MPAA: their customers simply don't believe what they say. The vast majority of "theft" is simply fair use. The moguls know it, and we know it. What's going on now is simply denial on their part.
Jonathan Schwartz is flogging the idea of the rentable grid - apparently, Sun is pretty close to being able to offer their $1/hour/CPU service within the US. I hadn't considered the export control issues with this before, and I'm glad I'm not on the management end of dealing with that one - sounds hard.
I do have a few skeptical thoughts though. A computing grid simply isn't - as Schwartz would like us to believe - like electricity. The power I use isn't any different than the power a factory uses (other than volume). Computing, on the other hand, varies. What about storage of whatever application is going to run on this grid? What about network latency? What about the language my application currently resides in? Unless I'm missing something, there are some fairly serious problems with just dropping my grid and using theirs.
I don't know if this rumor has any basis, but if it does, it's going to be painful for Sony - they'll have to pull all the PS2's with the dual shock controllers:
Reports are trickling through this evening that Sony has indeed lost its patent case against Immersion technologies and will be forced to halt sales of its PS2 console.
Immersion last year sued Sony for infringing on its patents. Immersion claims that it owns the technology that powers the rumble in Sony's Dual Shock controllers. It also sued Microsoft for its rumble features in the Xbox, but the boys from Redmond settled out of court.
Could be some interesting times in the console world if this one pans out.