I missed the spread (I called it Pats by 10) - but boy oh boy, did the Eagles ever deserve to lose. What the heck was their offense doing during that last touchdown drive - down by 10, under 6 mnutes left - and they were huddling on every play? When they finally got the ball back with under 50 seconds left, they were calling one play at a time and throwing the ball down the middle of the field? Good gosh, the offensive coordinator should be flayed alive.
Ok, this Slashdot story is just too bizarre:
"MSNBC points to the court cases spawned by virtual worlds. Recently, Tom Loftus notes, a virtual island in one of the MMORPGs sold for $30,000, enough to attract commercial attention. Apparently, some businesses create third-world sweatshops, where low-wage laborers are being paid to play and accumulate enough virtual merchandise, so that an eBay sale of it makes the operation profitable. 'One such business, Blacksnow Interactive, actually sued a virtual world's creator in 2002 for attempting to crack down on the practice. The first of its kind to center on virtual goods, the case was eventually dropped,' MSNBC says." Update: 02/06 18:59 GMT by Z: We ran a story about the sale of the virtual island, and Terra Nova has a lot of commentary on the sale of virtual goods. For comparison, the economic impact of this phenomenon is roughly equal to that of Namibia or Macedonia.
Is this a weird world we live in, or what?
Here's my prediction - Patriots by 10. I think the Pats are just too deep for the Eagles. We'll see how well that prediction holds up in a few hours...
Via Scoble I found this article on managed code in dotNet. I had run across Gosling's comments on this earlier, and not given them much thought. However, the post Scoble linked to made me consider Gosling's comments. As you're well aware by now, I see little value in declarative typing (what most people refer to as static typing, but I'm specifically speaking of typing as used in the C/C++/Java/C# universe here). However, there's something more intriguing than that going on here - from the article:
What Gosling is getting confused is that pure C and C++ is not supported by .NET, since pure C and C++ is unmanaged and .NET only supports managed code. What .NET supports however, are Microsoft's managed extensions to the C++ language. Managed .NET code is as safe as any Java code, no matter if it's written in C# or managed C++. I'm sure that Gosling actually knows this, its hard being a developer today and not knowing the basics of .NET and managed code so this seams to be another below the belt punch from Sun towards Microsoft.
Well, not necessarily. You can run unmanaged C++ in a way that interoperates with the CLR (our dotNet connect takes advantage of this fact). What I think Gosling is actually doing is taking a shot at that hole in the dotNet system without making it clear - he's conflating the two things. It's what people call FUD when it comes from MS or IBM :)
Via Instapundit, I see that the RIAA is out there making new friends every day:
Gertrude Walton was recently targeted by the recording industry in a lawsuit that accused her of illegally trading music over the Internet. But Walton died in December after a long illness, and according to her daughter, the 83-year-old hated computers. More than a month after Walton was buried in Beckley, a group of record companies named her as the sole defendant in a federal lawsuit, claiming she made more than 700 pop, rock and rap songs available for free on the Internet under the screen name "smittenedkitten."
That's the RIAA in action - always creating good PR...
I posted here about RSS and information overload. Well, I took some of my own advice to heart this morning. I had slowly managed to get my feed load up over 300 - which, at least for me, is way, way more than I can pay attention to. I went through my feeds looking for stuff I rarely pay attention to and started weed whacking. I managed to get it back under 300 - I expect I can do better than that with a little more work - there are lots of blogs in my list that haven't updated in eons, for instance. Back to the weeds it is...
Dare Obasanjo points to a post by Michael Brundage titled "Working at Microsoft". Sounds a lot like other organizations I've been with - unlike the "borg face" people like to apply to Microsoft, it's a real place with real people - making the same good and bad decisions that everyone makes. Interesting reading.
Doc Searls asks: "Is there a tool to map bloggers?" Well, that depends on whether or not you include the relevant data in your feed. There's a Geo module for RSS, and - if you include that data in your feed - an aggregator could use it. BottomFeeder, for instance, includes a "Map It" menu pick for feeds that include that information.
Ian Bicking had a few things to say about syntax extension today:
With syntactic simplicity you get languages like Lisp, Smalltalk, Logo, and Tcl (in more-or-less increasing order of simpicity and regularity). Advantages:
- Not much syntax to learn (and easy syntactic mastery).
- In some cases a highly manipulatable syntax -- leveraged quite a bit in Lisp (i.e. macros) and some in Tcl. People usually don't get that far into Logo (though they could). And maybe a bit strangely no one seems to care to go down that path with Smalltalk.
Yeah, Smalltalkers tend not to extend the syntax of the language that often. You'll see some examples of extension if you look hard enough in VisualWorks:
- DLLCC - the component used for external library access - the base compiler has been replaced for subclasses of ExternalInterface. Such subclasses understand an extended syntax that allows for setting up interfaces to C based APIs
- DST - the component used for CORBA - again, the base compiler has been replaced with one that understands IDL.
In general, you can replace the compiler for any class - look for implementors of the method compilerClass. Just look at the protocol expected by Class Compiler, create your own class that supports that protocol - and off you go. Mind you, it's not something that neophytes are going to want to get into - but it's a nice capability to have.
I got bogged down with work today, so posting was non-existant this afternoon. Off to the Gamecube now...
I decided to take a look at last week's web traffic, and came to some interesting numbers. Unlike the last time I did this, I haven't split out XML access from overall access for the first set of numbers - this is overall, for all pages on the cincomsmalltalk site:
|Net News Wire||8%|
Now, taking just the accesses for the XML files (which now makes up nearly 50% of all page traffic):
|Net News Wire||16%|
I did some rounding, so some of those numbers are a bit imprecise. Still, there are some interesting things there. I have a lot of Mac users hitting the feeds, but - if they hit via the browser, they sure don't use Safari. Adoption of the Sage plugin for Mozilla seems to be going up smartly as well.
I thought I'd have a look at OpenOffice - lots of people have been talking about it, and I've made my love of Word known. Well - if you like slow and bloated, you'll love OpenOffice. I hadn't used it since I did some Word to PDF conversions the other day - and I'd rebooted since. Yet there was OpenOffice, insisting on chewing 50 MB. Sheesh. Meanwhile, starting Word takes a fraction of the time and consumes 1/5th the memory. Color me unimpressed...
Phil: Java is preferable to C++ in exactly the same way that driving a 1994 Chevy Impala is preferable to driving a 1978 Ford LTD.
Ted: And of course neither is anything like a BMW, Acura, Porsche or Ferrari.
Heh. Supply your own definition of what the analogs are; you know what mine is.
Phil Ringnalda explores some of the implications of nofollow down the rabbit hole:
On the other hand, if nofollowed links count against link numbers, but then drop their allocated PageRank on the floor, then Google and friends have handed weblogs a pretty poison pill. If your entry has three internal navigation links, a link in the body of the post, and twenty comments amounting to thirty nofollowed links between links in the comments and commenter URLs, then rather than split that page's PR in four pieces, Google will split it 34 pieces, three for you, one for the site you linked to, and 30 that it essentially keeps for itself.
Read the whole thing
A reader pointed this language table out to me, along with this comment:
This diagram is interesting. Smalltalk is very particular in that there are only 2 influences shown, and after that linear development. Also notice how nothing has changed in the world of languages in the past 7 years. I'd bet that's when all the other languages incorporated most of ST's features in a bastardized way.
Food for thought.
The "drowning in information" meme pops up every so often - first it was too many emails, then it was too many bookmarks... now it's too many RSS feeds. It is possible to read too many sources and waste time - this article summarizes the problem quite well:
We have always lived in a world where there was more information available than any one person can comprehend, but before email, the internet, blogs and RSS feeds, the limiting factor was not the existence of the information but gaining access to it. The form of the information limited the speed with which it could be accessed: having to go to a library, find the right book or journal, turn the pages, reading them one by one; gaining an introduction to an expert, persuading them to sit down with you and discuss the matter at hand; or doing empirical studies in order to reveal the information sought. It all took time.
Now the data we seek is easily accessible and the problem has shifted - it's not finding information that's the issue, it's finding the right amount of the right information. The limiting factor is no longer access but discrimination. There is so much information available that it's hard to know which bits to trust.
I've reached the point of too many sources myself - I now subscribe to 300+ feeds, and it's not really possible to keep up (at least, if I want to get anything else done). How Scoble manages to deal with 1200+ is beyond me, and the guy who noted a problem with importing 5100 feeds into BottomFeeder - I can't figure that out at all. It's now possible for lots of information to come in very, very quickly - the hard part (which is what the linked article discusses) is differentiation - figuring out which sources to trust, as opposed to those that ought to be ditched.
Like the author, I have no faith in tagging schemes or meta-filters - there's no real way to deal with the variant categorization schemes people come up with (and the sometimes entertaining results of searches demonstrate the limits to categorizing content that the author himself didn't categorize). Figuring out what to read online is a lot like deciding what books you want to read - you'll find things you like, and get led to related content. Friends will introduce you to stuff they think you'll be interested in. There's no silver bullet here, regardless of the dreams espoused here
I suppose I should take this as a positive sign of sorts... the Cincom Smalltalk blogs apparently get enough traffic to warrant their own spambot. Until this morning, the failed spam attacks (I archive them) came in drips and drabs, and seemed to be manual efforts. Then this morning my archive folder showed over a dozen attacks, all from different sources - but all within a few seconds of each other. They all failed; they were targeting older posts, and comments are off for those.
As to why link spam - comments and referers - are so prevalent, read this Register article. It's got some instructive points:
Sam - let's call our interviewee Sam, it's suitably anonymous - lives in a three-bedroom semi-detached house in London, drives a vintage Jaguar and runs his own company. But "it's not not all rock and roll and big money", says Sam. What isn't? Spamming websites and blogs with text to pump up the search engine rankings of sites pushing PPC (pills, porn and casinos), that's what.
For that's what Sam does, pretty much all day long. He - we'll use the male notation, it's easier - would do this anyway for fun, but it's more than fun; he says he can earn seven-figure sums doing this. Sam is a link spammer. He's unapologetic about it. Skilled in Perl, LWP and PHP, Sam's first professional programming was done aged 13, when he sold some code to a gaming company. He's 32 now, and spoke to The Register on condition of anonymity.
That explains the economic angle - the potential revenues are high, and it's easy to do. Generating link spam is far, far easier than email spam - all you need to do is push a boatload of http posts and gets - the hard part is the list of where to hit. Apparently, these people do market research. The more interesting question is why this started happening all of a sudden - blog comment spam, referer spam, and wiki spam were virtually non-existant as recently as two years ago. What changed?
They're just exploiting a weakness in a system which blossomed just at the time that Google cracked down on the previous method that spammers used, where huge "link farms" of their own web sites pointed circularly to each other to boost each others' ranking.
"It was around December 2003: Google did what was called the 'Florida update'. It changed the algorithm that measured how high a site should be ranked to spot 'nepotistic' links and devalue them. So if you had a link farm of sites with different names which linked heavily to each other, they were pushed down," explains Sam.
So the link spammers - who prefer to call themselves "search engine optimisers", but get upset when search engines do optimise themselves - turned to other free outlets which Google already regarded highly, because their content changes so often: blogs. And especially blogs' comments, where trusting bloggers expected people to put nice agreeable remarks about what they'd written, rather than links to PPC sites. Ah well. Nothing personal.
So we can file this under unintended consequences. Google (and other engines) made a change in their ranking scheme to address link farms. The result has been, IMHO, worse than the cure - it's offloaded the problem from Google down to the rest of us. Google is trying to deal with it - they recently proposed nofollow, a scheme I've discussed before. Suffice to say, I don't think it's likely to work. For one thing, there are going to be lots of blogs and wikis that don't implement the tagging scheme. For another, the spammers just won't care that much.
The bottomline is, this kind of escalation is just going to continue. With the kind of revenue potential in this, no technical fix is going to get rid of the problem completely.
Yesterday, I railed about a bum CD I was trying to read. The reason I wanted to read it is that I had backup data on that CD, and I needed it. Well, I found a way to recover this morning - I grabbed CDRoller, which was able to read and recover the stuff on the CD - and for only $29.95. It was well worth the expense.
Darren Hobbs on defining power:
Java and .NET are powerful. The environment takes care of interacting with the devices, memory and cpu registers. Its easy to model human concepts on these platforms.
Java and .NET are not powerful. If low-level functionality is needed that was considered too dangerous by the system designers, there is no way to access it from within the environment.
Smalltalk is powerful. The environment takes care of interacting with the devices, memory and cpu registers. Its easy to model human concepts on this platform.
Smalltalk is powerful. Low level functionality is implemented in the same language as high level concepts. If access is needed, the code is accessible from within the environment. The virtual machine can be extended by adding custom primitives.
Smalltalk is powerful.
This seems to be a recurring theme with Dave Winer - he thinks everyone should want to view the news the same way, in a newspaper view type of mode. In BottomFeeder, there are a number of was to view new stuff. You can switch to "all new" mode, and that itself has two modes - a list of all the new items in a 2 pane mode, or the tree of feeds/items in a 3 pane mode. I started with just the 2 pane mode, but added the second view due to user demand. Personally, I like reading the new stuff in 2 pane mode - but people's tastes differ.
Likewise, I added a newspaper view awhile back, and you can slam BF into that mode - selecting a folder in that mode will place all the new items in a scrolling newspaper view. It pages, because larger HTML views are somewhat unwieldy. What this amounts to is that Bf allows users to customize the way they view new stuff - it doesn't provide a single way. I would have preferred staying with a single way, but my users had other ideas :)
Mike will mourn the death of Enterprise, but I say good riddance to bad writing. There's a reason it had low ratings - cardboard cutouts for characters, plotlines that made no sense - it's long past time that the "powers that be" at Paramount sent Berman and crew on a permanent vacation. If they have any dreams of a new Trek series, I'd suggest that they watch some good sci fi first - they could start with Battlestar Galactica. They could then have a look at SG-1 and Stargate Atlantis. They might notice that these shows all have 3 dimensional characters. For that matter, they could have a look at the new Fox show House, which has real characters as well.
After my saga with the excitement of file copying in Windows, I was ready to look at Macs. Well, you know how that went. So today, I'm looking through my cd's, trying to find a backup - finally found one. Slap it in the drive - try to have a look at it. Bam - Explorer just locked up hard. I couldn't kill it (although I could remove access to the shell by attempting to kill it). I couldn't eject the CD normally, but even ejecting it manually - and replacing the bum CD with a good one didn't help - still locked hard. I had to do a hard (power cycle) reboot to recover
So I slap the CD into my Linux box, hoping maybe it can read it. No dice, it's apparently scarred badly; Linux won't mount it. But hey - it didn't lock the system down attempting to. What I'd like to know is, what bright guy in Redmond thought that a timeout on reading a CD ought to be infinite? And who was his cohort that decided that the Task Manager will just pretend to kill the blasted thing? Gads.
It's a bad sign when an office cleanup yields 4 boxes of stuff for the basement (obsolete electronics, papers, etc), and 4 trash bags to the trash. Where was I actually sitting?
The front of my office, facing the bay window:
The back of my office where everything else is stuffed:
Yesterday, Feb 1, 2005, Cincom CEO Tom Nies was interviewed live for the Wall Street Reporter's FOCUS on Enterprise Software Analyst and CEO Roundtable Forum. The complete interview will be available in audio shortly, on the Wall Street Reporter web site as well as in print by the end of Feb. The print report is an in-depth focus on the Enterprise software market. Tom highlighted industry trends as well as Cincom's recent successes and future strategies. The live broadcast lasted approximately one hour.
This summary of Gosling's thinking on types explains the difference between the static and dynamic camps very well:
static typing gets you to prod faster, scripting gets you to demo first. easy to write small things, harder to wrote big things.
One of the ThoughtWorks guys spots an interesting variance in results between MSN search and Google search. Accidental, purposeful, who knows? Given Microsoft's reputation, I know what most people will think :)
Via d2r I ran across this post discussing the type systems of Java and Ruby. Other than the example using a private method (Smalltalk has no such thing), you can apply the same comparisons to Smalltalk:
Java uses inheritance (loosely speaking) as the mechanism for defining the type of an object. An object "is a" X if it implements X. While Ruby also supports inheritance, establishing "is a" relationships is not its main purpose. In Ruby an object is of a certain type if it behaves as that type. Thus the saying "if it walks like a duck and quacks like a duck, then it must be a duck" or as it is commonly called, Duck typing. It must be noted, however, that while Ruby has classes, objects are not explicitly declared of to have a certain type.
So, what, concretely, defines what type an object is in Ruby? Well, that's the wrong question to ask. But if you'd still like to hear an answer, an object, conceptually, is of N! types (made of the subsets of all the combinations of methods exposed by the object), where N is the number of methods exposed by the the object,
In a sense, Ruby shifts the notion of type to the client (the client being the code that uses a given object). Thus, an object is (or not) of the type required by client if it implements the operations required by the client.
I like the term "duck typing" too - it's a nice shorthand for how dynamic systems work.
I got this from Andrew McNeil, Cincom's man of many hats in Australia:
I am please to announce that Joseph Pelrine will be presenting at both the Sydney Smalltalk Users Group and ACS NSW OOSIG meetings in February.
- On Tuesday 15th February at the Sydney Smalltalk Users Group
- Cooking with SUnit - Recipes for Unit Testing in Smalltalk (a preview of Smalltalk Solutions 2005)
- On Thursday 17th February at the NSW ACS OOSIG meeting
- Extending XP With Scrum
Scrum, one of the agile processes, has been used to develop systems and products since 1995 on thousands of projects in hundreds of organizations. Scrum implements in several days and delivers increments of functionality within thirty days. Scrum wraps existing engineering practices. This session compares Scrum and XP contrasting their strengths. One of the interesting things about both XP and Scrum is that they're both explicit about the areas that the other process is vague in. Although the processes complement each other quite well, there is still quite a bit of fine-tuning that needs to be done to get them to mesh, and not mess, with each other.
Joseph Pelrine is C*O of MetaProg, a company devoted to increasing the quality of software and its development process, and is one of Europe's leading experts on eXtreme Programming as well as Europe's first certified ScrumMaster Practitioner and Trainer. He has had a successful career as software developer, project manager and consultant, and has spoken about it at such diverse places as IBM, OOPSLA and the Chaos Computer Club. A member of the International Association of Facilitators, he is strongly interested in properly applying soft skills such as communication techniques and retrospective facilitation to agile processes.
The venue and time for both talks will be:
ACS - NSW Branch Office
Level 4, 122 Castlereagh Street
6:00PM - 7:00PM
The ACS doors close at 6:00PM so please try and arrive by 5:45PM. If you are late there will be a number to ring on the door, but being on time will be much appreciated.
From approx 7:30 we will adjourn for dinner/drinks
Sounds like fun - wish I could be there!
Interested in concurrency in Smalltalk? Then go and look here. As it happens, Adventa is a customer of ours.
If you have an older download - or CD - of Cincom Smalltalk non-commercial, then you'll get prompted for a CD Key when you run the installer. Starting with the last release, we removed the CD key. We were getting lots of problems with that approach, so we got rid of it. If you have an older CD or file set you need a key for, send me an email
Jonathan Schwartz thinks that PC's will run south in price and end up in the same boat as mobile phones - mostly nominal cost followed by long term subscription (broadband) plans:
And as I was saying on Steve's Gillmor Gang, give it a year, I'll make a big bet, you're going to see the same thing begin to happen in the PC industry. Will the average selling price (ASP) of a PC continue to meander south? Yes. Unrelated to component cost. Will it go to free, like handsets? Absolutely. In exchange, consumers will sign up for network plans, DSL, cable, you name it. On PC's, or more likely equivalent dedicated devices branded by carriers - just as in the handset industry, where carriers are increasingly deploying 'branded' handsets. It's been a tad tougher on PC's when they didn't control the software load, but it's just a matter of time.
There are a few problems with that - the biggest being inertia. Mind you, I think people would generally like the idea of being able to easily upgrade their PC's every 18-24 months (as they can do with cell phones) - on the other hand, I see no real sign of the big providers - cable or dsl providers - taking steps into those waters. Mainly though, Schwartz is either misreading the IBM sale, or trying to make it fit his preferred world view. The IBM sale is about something very, very simple - access to the exploding Chinese market for PC's. Consider:
Under the deal, IBM will take an 18.9 percent stake in Lenovo. Lenovo will pay $1.25 billion for the IBM PC unit and assume debt, which will bring the total cost to $1.75 billion.
The combined venture will have roughly 10,000 IBM employees and 9,200 Lenovo employees. It will be headquartered in New York, with operations in Beijing and in Raleigh, N.C.
IBM gets a major stake in a firm that has access to the Chinese market, and has managed to move their management team to the US. That will make it easier to work with them, while (they hope) maintaining access to the lucrative Chinese market. That market's appetite for PC's is growing much faster than the US market is - if this all works, IBM will rake in a nice sum of cash from Asian sales while not having to do a whole lot of work for it.
Now, there are obstacles to this - there are numerous stories out like this one, hinting at security related concerns on the part of the US government. It's not guaranteed to happen - but if it does, IBM gets a huge jumpstart over their competition in terms of access to the Chinese market. Meanwhile, Schwartz is - again - either misreading or attempting to skew the story to fit his preferred worldview:
To me, the sale of IBM's PC business proves the point - the company that invented the category (me, I like to believe they cloned Apple's business), is now exiting due to poor financials. And attempting to sell it to a company whose principle competitive differentiator is cost (and geographic/political proximity to a growth market). It's my view that operating a PC only business doesn't really make a lot of sense - at least in the long run (which is why Dell's moving ever closer to selling microwave ovens, and still trying to convince the world they can run their supply chain on 1-way Xeons - hm, note to self, someone should ask their CFO on their next earnings call what systems run their supply chain).
Yes, he's correct about handset sales outstripping the sales of PC's, and he's right that the margin there will only grow. I'm not convinced that he's right about who will benefit on the back end of that - I know of plenty of large outfits in the network space that are retiring Sun boxes and bringing in commodity Linux as a replacement. This strategy from Sun looks a lot like the one they ran (successfully) during the dot com boom - back then, the expanding number of websites drove a lot of hardware sales to Sun. I wasn't convinced then that their huge investment in Java was helping them a lot - those websites were going to go up regardless, and Sun could have sold a lot of hardware without the huge software investment in Java. Likewise, I'm not at all convinced that the prevalence of Java phones helps them a lot here, either. Even if they do succeed in selling lots of hardware, the simple fact is that said hardware would sell with or without Sun's Java investment - Java's existence is not a pre-requisite for the mobile phone space. The point is - the JavaSoft group is a huge brick weighing down Sun's business, because the hardware sales they hope to make are almost completely independent of its existence. At the same time, other vendors - IBM, for instance - have used Java quite successfully as a shovel to pile money into their maw.
Sun is as obsessed with IBM now as they were with Microsoft over the last decade. I suspect that said obsession will be every bit as useful for them.
There's been a lot of work on the XML to Object front in the latest versions of VisualWorks - there's a nice set of wizards that make it a lot easier to define and deploy a web services application. Our lead WS* developer, Tamara Kogan, asked me to post a tutorial presentation on this stuff - here it is. A small note - you will probably get some kind of warning about using IE when you browse that - I tested it with Firefox, and it works fine. I'd push up something in PDF, but I have no tools for that.
Update: As pointed out in the comments, many of the slides have issues in FireFox (and other browsers other than IE I'm sure, not to mention other platforms). I saved the slides as html from PowerPoint, and it looks like ActiveX is required. I'll happily make these available in a more easily accessible format if someone can tell me how to do that from the PowerPoint slides I have.
Update 2: See this post for the pdf versions I posted
Never mind the CAN-SPAM act - this NY Times article (registration required) explains the economics of spam. Which also explains why you won't see an end to it anytime soon - either in email, blog comments, or referer lists:
A spammer can often expect to receive anywhere from a 25 percent to a 50 percent commission on any sales of a product that result from a spam campaign, according to a calculus developed by Richi Jennings, an Internet security analyst with Ferris Research, a technology industry consulting firm.
Even if only 2,000 of 200 million recipients of a spam campaign - a single day's response rate for some spammers - actually go to a merchant's Web site to purchase a $50 bottle of an herbal supplement, a spammer working at a 25 percent commission will take in $25,000. If a spammer makes use of anonymous virus-enslaved computers to spread the campaign, expenses like bandwidth payments to Internet service providers are low - as is the likelihood of anyone's tracking down who pushed the "send" button.
With that kind of money to be made, it's no wonder the problem "sticks"...
Avi makes an excellent point about Smalltalk in relation to some of the other popular dynamic languages:
I don't know Python's internals anywhere near as well as I know Ruby's, but I suspect that at least some of the above applies to Python as well; certainly, there's a lot of C code in that camp as well. In Smalltalk, however, the only thing that's in C is a tiny virtual machine that understands a very simple set of bytecodes - it knows about pushing and popping objects from the stack, accessing indexed slots, blocks, and method dispatch. What it doesn't know anything about is the language syntax, standard library, compiler, debugger, profiler, thread scheduler, exception system, and so on, and so on - all of these things are implemented in Smalltalk. You want to change the way Array works everywhere in the system, well, find the appropriate Smalltalk code and change it. You want to extend the syntax of the language, subclass Compiler or write your own - the bytecode spec is easy to target. Have an idea for a new way to debug? There's plenty of code you can look at in the current Debugger, Process, and Stack classes to help you along, and when you're done just modify Exception to bring up your debugger instead of the standard one. The language doesn't support continuations and you want to add them? No problem; 10 lines of code and you're there.
That's the key benefit of Smalltalk - and it's a benefit over Java, C++ and C# as well - the fact is, the tools for those languages and systems are much harder to write than their Smalltalk analogs - and a large part of the reason why is that much of the system in question is hidden away from the developer. In most Smalltalk systems - certainly this is true of VisualWorks and Squeak - most of the system is in Smalltalk, not in the VM. That makes it a whole lot simpler to get in and muck around. Add in the productivity benefits of Smalltalk over the more common systems, and you've really got something.
This strikes me as a "just desserts" sort of thing for the folks at Gartner - PR Opinions reports on a warning issued against re-upping Meta Group subscriptions in light of the merger:
(from Knowledge Capital Group) "We reiterate our recommendation to not enter into any new, nor renew any old Meta subscription based services until both Meta and Gartner management can tell you why you should. Given what has been communicated so far, we feel that the chances of you getting what you want from the transaction and not having at least some of the value of the subscription vanish are very slim. I know, it sounds harsh, but here is why we think this is just smart business..."
Oh, the irony...
I like the idea behind this post from Scoble:
But I'm watching the bloggers over at Sun Microsystems, Yahoo, Google, and here at Microsoft and I'm realizing that we have a lot of power. Howso? To do small things. So, I'm wondering, what are some small things that we could get done? Can we make a list of 100 small things? You know, things that a developer might be able to do in one day. Or, at least, less than a week. And that can be approved by someone seven levels down from the CEO. Like where I'm at. I probably can spend $500 without attracting too many MBA types trying to figure out why I'm becoming a cost center.
So I'll ask the same question as Scoble - what small annoyances in Cincom Smalltalk bother you? Send me suggestions, either in comments to this item, or in email. I can't absolutely promise a fix - as Product Manager, I'm trying to balance a lot of competing interests - but I can guarantee a flashlight on your issue. Try to remember - like Scoble, I'm looking for "small things"
Ed Foster explains why the "what me worry" approach to EULAs just won't cut it:
Unfortunately, though, there's something else we have to take into account here: DRM. Whether you think the acronym stands for Digital Rights or Digital Restrictions Management, it's an everyday part of life now. What hoops will you need to jump through to reload your software applications if you have to replace your hard drive? Can you cut that tune you paid 99 cents for to another CD without the RIAA storm troopers breaking down your door? And, given the leaning of industry and government, it's likely to be all the more commonplace. Will the broadcast flag on the TV show you're watching permit you to fast-forward through the commercials? Or will the RFID chip in your car keys lock you out if you miss a monthly payment?
So what's the connection between DRM and sneakwrap terms? The common thread is that with both, customers don't really know what they're buying when they put their money down, or at least not without reading through multiple layers of fine print. And they might as well not bother to do that, because the deal can be changed retroactively by the seller as you go along. Hey, you have been granted certain rights, up until the time we decide to take them away from you, at which point you have no rights.
For the vendors, of course, DRM also means never having to go before to judge to argue that their unconscionable EULA terms should be enforced, because the DRM is judge, jury and courtroom, all rolled into one. I don't think it's just a coincidence that the terms readers found most objectionable in last week's poll were from an adware company that is suing another adware company over its software being automatically removed by the competitor's software. The case is really one of EULA vs. EULA, with both companies claiming virtual ownership of your computer because you supposedly agreed to terms allowing them to do so. And, as spyware expert Ben Edelman reported from his research, it's quite possible for both programs to load through security holes without users having the chance to know it's happening, much less "click OK" to the terms signing over control of their computer.
This stuff is more than most people want to pay attention to - which is why the RIAA feels so free to just toss lawsuits around. I really, really don't like where this is headed, and I give a lot of credit to Ed for continuing to stay focused on these issues.
Rok Hrastnik has updated his RSS e-book - there are two new sections:
- Using RSS for an increase in clicks, more linking, and better search engine visibility: Exact instructions on how to optimize your RSS feed and blog for an increase in clicks, linking and better search engine visibility. By Tinu Abayomi-Paul.
- An interview with Ovi Crisan of 2RSS.com. Discussion on the distinctions between RSS and e-mail and how to keep using them together.
Rok is promising more new stuff to come - this is a good resource for marketing folks who have heard of RSS and syndication technology, but aren't really sure why they should be concerned.
Dare Obasanjo explains why Technorati's new tags are neither a new idea, nor anything particularly useful.
This is funny, but make sure to read the comments - the long one is just too much :)
Everyone knows that keeping customers happy is good for business - or at least, everyone pays lip service to the idea. Here's a post from Dale Wolf that goes into that using the phrase "customer love":
If we really loved our customers, cared about their issues and pains, their desires and wants, the expectations that they hold out for us 26 would we act a whole lot different that we do today? Could caring love change the corporate scene and produce more valuable marketing communications?
If we loved your customers as much as we love our companies, how would the content on our websites change? How would our service offerings get better? Is it possible that customers would love us back?
I think this starts with customer service. One of the easiest ways to torque an existing customer off is to offer sub-par service. The thing is, it goes beyond that one person - they'll talk. Take a look at this post, for instance - bad service spreads by word of mouth, and that word of mouth is accelerated by the blogosphere. If it ever was a no cost thing to tick off a customer, it stopped being one a little while ago - and ignoring the problem can have even higher costs. The very last thing you want is for a product search to list a bunch of complaints right at the top.
So what can you do? Take complaints seriously. You can't satisfy every customer or prospect, but you can treat them with respect, and you can chuck your script for dealing with calls. Nothing irritates me more in a service call than for the second and third person I talk to to be reading from the same script as the first. It's even more maddening when I get to a person who can work beyond the script and be reasonable, but only after investing an entire day of my life to get up to them.
People tend to be willing to go back to a place where they got good service - that's why we have favorite restaurants - and it's also why we have restaurants that we avoid like the plague. Truly awful food is rare (at least at US restaurants) - but you can find truly awful service. The same rules apply to business relationships - if you extend shoddy service, don't expect to see a customer come back, and don't be surprised when you learn that they migrated to a competitor. You don't have to "love" your customer - but you do have to be respectful and professional.
I have to hand it to Sony - their PR people are right out front, placing the blame where it belongs:
Kutaragi acknowledged that the button is less responsive than the others, in part because it's so close to the PSP's 480x272 screen. Because there isn't enough room to put the square button's detection switch directly underneath, it's off to the right, making it less responsive--and sometimes causing it to stick.
Nikkei Business reported that, to date, .6 percent of the 800,000 shipped units have been returned to Sony for repair. Kutaragi was unapologetic about the issue: "This is the design that we came up with. There may be people that complain about its usability, but that's something which users and game software developers will have to adapt to. I didn't want the PSP's LCD screen to become any smaller than this, nor did I want its machine body to become any larger.
"The button's location is architectured on purpose," Kutaragi added. "It's according to specifications. This is something that we've created, and this is our specification. There was a clear purpose to it, and it wasn't a mistake."
Somewhere in Sony's marketing department, entire rooms of people are grinding their teeth down to stubs...
Every so often when I get directions from MapQuest I just blink - the part of the route I understand doesn't always correspond to the directions they give me, and sometimes, they are just flat wrong. Last summer I tried to get directions to a girl scout site for my daughter, and MapQuest sent me to the wrong county. Well, it's not just MapQuest - looks like Microsoft's map tools suffer from some of the same issues. Get a load of this map:
"The suggested route starts in the middle of the Baltic Sea on a ferry from Stockholm to Helsinki. Then you drive around in the Southern part of Finland before, magically, driving across the Baltic Sea on 'local roads' to arrive in Tallinn," writes Toben.
"The distance is given as 68.4 miles (which sounds about right) and the estimated time for the journey is 4 hours and 36 minutes. The return journey is by the same route in reverse, only now it takes 4 hours and 53 minutes."
So we know the flying car will do scheduled pickups - so long as you're prepared to bob around in the North Sea.
The Register has a lot of fun with MS on this one, but my experiences with MapQuest tell me that it's not about MS - it's about crappy data coming in from somewhere. I rather suspect bad data entry with the all too obvious results.
Like Ted, I recommend the book The Pentagon's New Map by Thomas Barnett. It's an engaging book - Barnett lays out his worldview, and does a good job of it. I can't say that I agree with everything in the book, but I can say that it challenges assumptions - regardless of where you fall on the ideological spectrum. Read the book, make up your own mind. One thing I didn't realize is that Barnett has a blog.
Wow, it's certainly the end of an era. SBC is buying ATT:
SBC Communications on Monday announced plans to acquire AT&T in a $16 billion deal, a move designed to bolster SBC's sales to enterprise customers nationwide and give it greater access to national and global networks.
I found it ironic a few years ago when Mobil and Exxon combined (mostly undoing the Standard Oil breakup). It looks like history is repeating itself, only at a highly accelerated rate.
Ahh yes, it's that time of year again when the pundits come out and show off what they don't know. I came across this article in Salon on the Mac (hat tip - Scoble), and wasn't disappointed. Take this:
But that halo didn't seem to work. For some reason, in 2004, vast numbers of Windows people didn't look at their iPods and decide to buy Macs. Why not? Perhaps the answer lies in what Jason Snell, the editor of Macworld magazine, says is the essential difference between Windows people and Mac people: Mac people love their computers on a personal, emotional level. Windows people, on the other hand, prefer to think of their machines as office tools, gadgets no more special than the stapler. Windows users don't expect much in the way of quality, beauty or elegance from their machines; if they did, they'd be Mac people. Instead, they expect their PCs to perform a great many tasks, and they've resigned themselves to having to labor over those tasks.
This is the sort of thing that I really, really hope Apple's sales/marketing people don't buy into. If there's a Mac/PC person divide, it's a small one, and it doesn't explain the failure to buy. What does is things like my recent trip to CompUSA. As I expected, I got a stream of comments after that post, including a couple citing the elegance of the Mac. The problem is, that elegance buys me fewer features for more money. Wander down to a Target or Wal-Mart if you want to see how average people buy - they compare prices and features. Like me at CompUSA, they note the amount of memory, the amount of disk, and the relative price points. They then end up buying the PC. Clearly, this Salon guy doesn't get that - witness this:
Well, for one thing, the Mini's cheaper than the iMac was. It is still possible to buy a Windows machine that costs less than the Mac Mini, but you'd really be scraping the bottom of the barrel, and even if you got something with comparable computing power -- as fast a processor, as big a hard drive, as much memory -- you still wouldn't be getting what you get with the Mini. A comparably priced Windows computer is a cheap Windows computer; a Mac Mini, with its built-in top-of-the-line software, is a digital media appliance that fits on a countertop, connects to your HDTV, stores all your photos, catalogs your music, edits your movies and (if you slap down $100 for the DVD-burning drive) creates your DVDs. Thanks to the Web, it is also now easier to start using the Mac without really going through the hassle of "switching." Key applications -- like e-mail in the form of GMail, or photos with Flickr -- are available on any platform, reducing your dependence on Windows.
Hmm - he needs to take that trip to CompUSA and do a price/feature/performance comparison. Things simply aren't the way he thinks they are. You do get an audience for the Mac - it's the same sort of audience that is willing to fork out extra money for a high end luxury car instead of a Civic or Escort. The Mac has become a luxury item - value buyers simply aren't going to get past the price/feature problem.
I think Apple recognizes this, and is trying to expand their market share horizontally (the iPod) rather than vertically (the Mac). The mini represents Apple's next move that way, I think. I bought 2 ReplayTV's a couple years ago, and forked out good money for them - and what are they? Single purpose computers. The mini isn't a single purpose computer, but it will probably be bought that way - by people who want to deal with photos and movies, and not deal with this kind of nonsense.
With the iLife campaign that Apple is running, it looks like that's what they have in mind.
Scoble has a post up on why he hasn't hit a specific Tablet PC bug - he shuts down every night and restarts in the morning. Interesting - I used to do that with Windows boxes, but I haven't been doing that in awhile. I haven't rebooted this new laptop since I first set it up; I also left the old one running for days or weeks at a time. For all the crap I give MS, I have to admit - XP is a distinct improvement over their past efforts.
It's still not as impressive as Unix or Linux in that regard - the uptime on my office Linux server is currently 45 days (which is when the last power outage was). The server running this blog? 435 days - we have backup power for that one. It's nice to have stable systems.
We took our daughter to see the movie National Treasure this afternoon. Yes, the premise (that there's an ancient treasure that some of the founders - who were Masons - hidden somewhere in the US after the Knights Templar found it during the Crusades) is silly. The movie is a good action ride though - the pacing is good, and in the whole is entertaining. If you don't go in expecting high art, you'll be just fine. Just take the ride and enjoy it for what it is :)
Periodically, people ask how to go about setting up a VW web application to auto-configure itself at startup. The plan is to make all of that easy via the existing settings tools - as with other VW settings, that stuff could all be loaded at startup. That doesn't hep now though; the existing tools were designed with the idea that you would run a server with an editable (GUI) console and configure, or that you would save the image in the proper state and just run it.
I ran into this same issue when I was setting up the Wiki and this blog server a few years ago, and I created the WaveConfigurator package (check the public store) to deal with it. Basically, it allows you to specify an ini file of settings that will be checked at startup. Here's what the ini looks like for the test server I run on my local Linux box:
[WaveConfiguratorSettings] type='VisualWave.IPWebListener' port=2223 baseResolvers='' baseServices='' serverNameForSocketBindings='victoria'
The blank settings are a legacy of classic Wave - they allow for the setup of old style servers that use the 'launch' capability. The rest of it is pretty simple - type is the class name, port is the port, and the serverName setting specifies which name to bind the socket to - which is good if you don't want the server socket bound to every IP on the server. I've been using this scheme to have servers start themselves up for awhile now. Combine that with a command line argument to load a specific parcel, and you can set pre-requisites such that a base image will load everything up and just go.
As to how to get that base image - for servers, I don't bother to use RuntimePacker. I simply save the development image headless (i.e., no GUI), and have the startup process configure everything else. The nice thing about that is that I can then script in a command to save the image with a GUI, download it - and debug any odd server issue in the context that it actually occured (try that with a Java or .NET based service :) ).
I've noted before that building and deploying Smalltalk applications is harder than it needs to be - this is my biggest priority over the next little while for Cincom Smalltalk. However, I'm seeing that deployment isn't necessarily a walk in the park elsewhere either. Have a look at Sriram Krishnan's adventures while trying to get a working Parrot.