The game console business could be the thing that pushes Sony into extinction. That's right: not just out of the game business, but out of business completely. Consider the numbers:
Sony has a book value of $27 billion. It has nearly $9 billion in cash. Sony's not going anywhere. Or is it?
Sony is looking at a potential for demise it has never faced before. With the failure of its TV and music electronics businesses and its up-and-down movie business, it has relied more and more on the video game business to keep profits up.
The problem is, the game business is a black hole. Sony will be eating somewhere between $200 and $400 (and I think those numbers are conservative, as they don't include sales and marketing) on each sale of a PS3. From a business perspective, I think they would be better off scrapping the PS3, taking the PR hit on that, and either:
- exiting the game console business
- follow Nintendo's lead, and build systems that can be sold at a profit
I don't expect either one to happen soon - there's too much pride and money wrapped up in the PS3. Like any large project, even the prospect of sure doom isn't enough to derail it. You see this sort of lemming-like charge to the cliff in software projects all the time - but here Sony is doing it with hardware. I'm hardly the only one ringing this bell; CNet has been on this story too:
In a February story for CNet, it was estimated that the total cost of components for the PS3 would be in the neighborhood of $725 to $905 -- and that was before it was rumored that Sony would have to put PS2 components in the box because the new chip lacked the ability to emulate the earlier PSOne and PS2 games.
The CNet story said, "The materials price estimates do not include marketing, software development, advertising or other costs, which will push Sony's total cost per console even higher."
Meanwhile, faced with the prospect of continued high costs - Sony is engaging in corporate denial:
Sony Computer Entertainment president Ken Kutaragi was not ambivalent about the pricing of the console -- he kept saying it was a premium machine, sold at a premium price. Want a PS3? Work a little harder!
"Our ideal," Kutaragi said, "is for consumers to think to themselves, 'OK, I'll work more hours and buy it.' We want people to feel that they want it, no matter what."
If Sony were the only vendor in this space, that might work. The XBox 360 is a nice system though, and it's a lot less expensive (never mind the Wii, which at $250 will be in the "what the hell" range for most prospective buyers). The loss numbers for Sony start to look very, very ugly: $1.8 B by April if they drop $300 per box, $2.4 B if they drop $400 per box. That's a huge bleed, and it's going to get attention all the way up the food chain at Sony HQ.
I think it's past time to put out the "sell" order on Sony stock.
It looks like we'll have a German language (possibly others as well) version of BottomFeeder available shortly - Georg Heeg has been helping me get the code cleaned up for that (I changed over to message catalogs awhile back, but had a few issues here and there). The next major release should be available beyond English - very cool.
Technorati Tags: smalltalk
I've got another fix for the duplicate item problem posted. The problem: after loading it, you'll see a large number of dupes (I changed the way the GUID is fixed in the absence of one in the feed). After that, it should be better. If you open up the "Execute Smalltalk Code" workspace and execute this after the update, the change won't generate as many duplicates:
RSS.RSSFeedManager default getAllItems do: [:each | (each link notNil and: ['*feedburn*' match: each link]) ifTrue: [each guid: each link]]
Just highlight that code, pop the context menu, and pick "do it"
Take this for what it's worth; as I sit here, I haven't watched any of the videos yet. That sort of leads to my point though. The lead item is an interview with Jonathan Schwartz, Sun CEO. I'm interested in that, but I don't know that I want to devote 35 minutes to it in front of my PC. If it were audio, I'd simply push it to my iPod and listen to it during my next workout.
Some of the items are video oriented; the walk around with Thomas Hawk, for instance. But the interview, and the language war thing - I'd much rather have those as audio. I can listen to audio without my full attention, but that's simply not the case with video. Of the eight things he has, I'd say that five of them would go to audio easily (and be more useful that way, IMHO - but I realize that people might disagree).
I'll probably watch some of them; I just wish there were an audio only option. Maybe Scoble could do that as well? Strip out the audio to an mp3 file, and give us options? I'd prefer audio, some other people will prefer video.
Update: Holy smokes, the Schwartz video is 240+ MB. If that were available as an audio only mp3, I bet it would be 15 mb or so. For an interview, that's a lot to download...
I had a conversation with Eduard Maydanik (he's the one who's far from the mic), Andreas Hiltner, and Mark Grinnell this afternoon - we talked about ObjectStudio 7 and ObjectStudio 8. Here's a photo that includes Andreas, Mark, and Eduard:
From the left, that's Eduard and Mark, Peter Hatch and Travis Griggs, and Andreas. You can grab the podcast here.
In today's Smalltalk Daily, I look at adding methods to an existing class, but unlike yesterday - with testing. This involves loading some extra components into the system.
Update: I've pulled the enclosures, because BlogLines is auto-playing them. I'm not going to go back and update the ones from last week, but I'll pull the enclosures starting from last Monday. Stupid BlogLines...
Technorati Tags: smalltalk
"If I come back next year, I know that the offseason will be the hardest of my career," he said.
Wait a minute. Did he just say if?
"Well, going into next year," he backtracked.
That's going to keep Red Sox Nation buzzing during the offseason. If Schilling does bow out, that will leave a huge hole in their starting rotation - enough so that I'd expect the Blue Jays to be the major AL East competition for the Yankees next year.
If you load yesterday's update, you'll see some of your feeds producing a crop of duplicates. That will settle down over time, but to make that stop, you can use the context menu option Update>>Regenerate Feed on each feed that has problems. What that will do is repopulate the feed from scratch. If you still have problems after that, let me know about it.
Technorati Tags: smalltalk
If anyone thought that ISPs were going to get away with setting up their own private gardens, they should have gotten a wake up call this morning. Read through this Bostonist post to see what I mean - by the second update, it's clear that the "blockage" of Google services was due to a router problem. In the meantime, the story hit techmeme (and everywhere else) - and I expect that Comcast's helpdesk was inundated with calls.
Bottom line: Attempts to create walled gardens aren't going to succeed, period. If this level of uproar accompanied a transient outage, imagine the PR nightmare that would follow a real downgrade.
It's been a good three days (other than the small cold I picked up), but I'm ready to head home. There's cheap WiFi here at CVG (Cincinnati airport), so I can get updated before I board.
Joel doesn't think much of agile development methodologies, and approvingly quotes Steve Yegge (who works at Google) - who also dislikes agile (a lot). Yegge goes on to describe what they do at Google as "good agile":
- there are managers, sort of, but most of them code at least half-time, making them more like tech leads.
- developers can switch teams and/or projects any time they want, no questions asked; just say the word and the movers will show up the next day to put you in your new office with your new team.
- Google has a philosophy of not ever telling developers what to work on, and they take it pretty seriously.
- developers are strongly encouraged to spend 20% of their time (and I mean their M-F, 8-5 time, not weekends or personal time) working on whatever they want, as long as it's not their main project.
- there aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including their 1:1 with their lead.
- it's quiet. Engineers are quietly focused on their work, as individuals or sometimes in little groups or 2 to 5.
- there aren't Gantt charts or date-task-owner spreadsheets or any other visible project-management artifacts in evidence, not that I've ever seen.
- even during the relatively rare crunch periods, people still go get lunch and dinner, which are (famously) always free and tasty, and they don't work insane hours unless they want to.
Unasked by Joel, and left unexplained by Steve: everything at Google stays in beta, pretty much forever. Hmm. Why do you suppose that is? Well, you get a bunch of "really smart" people together, don't put any product/project management together, and let them move around at will... what do you get? You get a bunch of projects that end up being 80% done (i,e., all of the technically "interesting" pieces are done, but that boring "polish" stuff isn't).
Agile is no silver bullet, but deciding not to have a plan isn't one either. Yegge can get back to me when anything beyond search moves out of beta over there, and when a "delete" button being added to gmail isn't touted as the greatest thing ever. Oh, and speaking of a boring task that someone at Google might consider paying attention to - the splog empire that Blogspot has become. Oh, wait - that's not "interesting", so of course none of the smart guys over there will touch it.
We had a group dinner at PF Chang's last night - these two shots were taken after way too much food :)
That was taken by Suzanne. From the left side that's Sherry, me, Bruce, Juerg, Pete, Andreas, Georg, Mark, and George. The next one includes Suzanne:
In today's Smalltalk Daily (follow the link), I go over the debugger, with a brief introduction to breakpoints. Tomorrow I'll cover some of the niftier features.
As I mentioned yesterday, I've stopped providing enclosures for these, given the odd behavior in BlogLines.
James McGivern boils down herd behavior quite nicely this morning:
We did have a brief conversation on analyst firms and my perspective on them. I do believe that all vendors I interact with should pay their fees to the large firms regardless of the value they bring. Not paying causes problems for us. It is easier within a large enterprise to acquire new technology when an indepedent third-party says it is a leader than when there is only your own evidence to support. Likewise, I know that my peers at work are incredibly brilliant and can see solutions in the marketplace before others but the real key is that we need to also choose products that are sustainable and will be used by other large enterprises.
So let me get this straight: you think small firms should pay large analyst firms so that you don't need to do actual work? If that's not enterprisey, I don't know what is.
Next time someone tries to "put a bug up your ear", you better hope it's not like this:
"Someone said I could have popped my ear drum," Asp said. "...But when I got to the [clinic], they took a look in there and saw it, and I was like, 'What the heck? How did I get a bug in my ear?'"
Asp could hear it, and it nearly drove him nuts.
"It was digging and biting into my eardrum," he said. "That went on for, like, 15 minutes. I could hear it -- a whole bunch of loud popping noises. It hurt pretty bad."
I missed this post from Redmonk guy Cote a couple of weeks ago - apparently, he got torched by the old "hotel redirected all my feed urls" bug:
I've been curious over the past few days why Vienna hasn't been pulling in new items from my feeds. So, I just went to dig around for more info, and was horrified to find out that all the URLs for my feeds -- you know, 100's of them -- to the "register for WiFi" page for the hotel. That is, I'm going to have to go track down all the URLs for the feeds and fix them.
It amazes me that there are aggregators left that fall prey to this. I got bitten by this in BottomFeeder a couple of years ago, and I promptly coded a check for it:
- Cache the old feed for any permanent redirect
- If we get more than a handful of redirects, and they are all to the same url, restore the cached urls and go offline
That's saved my bacon more than once since.
Leo mentions that TWiT has started to take ads. Interestingly he gets quite a bit of pushback from listeners saying things like "now that you've started running ads, you'll never be honest about Dell again..." Certainly, this is no different than technology magazines or technology Web sites, but people feel differently about the editorial conflict of interest. Perhaps this is because podcasts are more intimate? He's not sure.
That's an interesting tidbit - I think it falls into the narrowcast model. When you have a magazine that's trying to appeal to a wide audience, the ties don't seem as close - but with the niche audience of a podcast, they seem to. I haven't paid much attention to the ads on TWiT, and I listen every week - great show, IMHO.
Scoble congratulates Podshow on their second round of VC money:
Congrats to PodTech competitors Podshow, who just got $15 million in a second round of VC financing
Meanwhile, Jason Calacanis is extremely skeptical:
Lest there be no question, we are now in a full-blown bubble. What on earth Podshow is going to do with almost $25M in funding is anyone's guess, but it's not going to end well I can tell you that. To raise this money they must have had a $35-60M pre-money valuation. That means the VCs are going to look for a $300-500M exit at the very least, and that means they need to get to $30-50M in revenue. Not sure I see that happening.
What I wonder is this: what do they need that level of cash for - storage space and bandwidth? Staff? What, exactly? I have to agree with one of his commenters too: their website does suck. That may not matter that much; I get their content via iTunes. Of course, that means that most of their revenue is ad based. In a narrowcast environment, can you sell ads up to those numbers? I don't know, but it sounds like a lot.
Steve Rubel spots a trend:
CNET has expanded its presence online with a new virtual outpost inside Second Life . The space includes a building that looks like CNET's offices in San Francisco offices. It has an amphitheater where CNet reporters will conduct interviews and host events. According to 3PointD, other tech media brands will soon follow into Second Life. As this occurs watch for the PR media tour to become a fixture for certain clients inside the metaverse.
How far away from "Better than Life" are we, anyway?
Today's Smalltalk Daily covers a few more debugger features, along with some tips on how to use them.
Jeff Jarvis notes the bloat that still exists in mainstream media productions:
At home, I took the exact same script and with some photos to illustrate my points and produced the segment alone, in my den, on two programs: iMovie and VideoCue, a Mac competitor to Visual Communicator, which gives you a teleprompter and the ability to drag-and-drop graphics, lower thirds, photos, audio, or video onto your script so the’re all recorded along with you (no need for editing). I’ve used these tools before and had to brush up on them anyway for my CUNY class. They make it incredibly easy to make TV. Will my segments look at good as CBS’? Well, that depends on your definition of good but probably not. Still, the thoughts and the talking head spewing them were exactly the same.
So compare: probably a dozen people involved in my little 1:30 at CBS; one person at Buzzmachine World Headquarters. Networks will collapse from their bloat.
I haven't gotten in video at all yet, but my daughter has - and yes, it looks like it's not that hard to create decent looking content (especially if your definition of "decent" is of the "talking pundit" variety). I doubt that the volume of people involved on the network side adds enough value to justify the numbers.
In VisualWorks, we ship profiling tools (both time and space). What if you use Squeak? Well, Andreas Raab explains class MessageTally and its uses here. Good stuff if you need to look at performance issues in a Squeak app.
I spoke to Chip Dice this afternoon - he's the lead develop at Forest Investments. he sent me a few screenshots of their financial applications - there's going to be a lot more on that in a few days over at smalltalk-central, as they have a screencast on Smalltalk apps coming - Chip's is featured. Anyway, here's a shot of his "By Industry" screen (click through for the larger image):
Anyway, grab the mp3 for the podcast here. Enjoy!
Ars Technica reports that Sony has bitten the bullet: they've issued a global recall on Li-ion batteries:
Sony has finally bitten the bullet and issued a worldwide recall of all Sony-manufactured lithium-ion batteries used in notebook computers. Earlier in the day, Lenovo/IBM joined the ranks of Dell, Apple, and Toshiba in issuing a recall for all Sony batteries that ship with their notebooks.
With the PS3 mess, this is the last thing that Sony needs.
Technorati Tags: batteries
Technorati Tags: batteries
Stuart Halloway explains why DRM sucks - it punishes those of us who follow the rules, while leaving the actual pirates free to run wild:
Well, thanks a lot. As a power user and a technophile, I go through a lot of computers. Two of the others are in my office in Chapel Hill, backups in case this one goes down. I buy premium (priced!) hardware and software, and I buy lots of it. I am an intellectual property Boy Scout, because it is the right thing to do, and because it is in my professional interest. And what thanks do I get? A big fat "You don't own what you paid for until you travel home and prove it (again)."
The real pirates have tools to get around that kind of problem. The rest of us? We just take it in the shorts.
Technorati Tags: music
Michael and I recorded episode 3 last night (actually, early this morning here; I was doing this at 1:40 am). I've just finished the cleanup and mixing of the audio and gotten it posted. We discussed what we normally load into a development image - mostly Michael, actually (my list is way shorter :) ). Anyway, feedback is always welcome - enjoy.
Another good week for BottomFeeder downloads: averaged 245 per day. The details:
Next up: the HTML page accesses by tool:
|Tool||Percentage of Accesses|
Site traffic continues to rise, and the Mozilla share is staying high as well - although Opera is sneaking up a wee bit. Last, the RSS accesses by tool:
|Tool||Percentage of Accesses|
|Net News Wire||7.3%|
|Google Feed Fetcher||2.6%|
|RSS 2 Email||1.4%|
There's still a ton of tool diversity out there.
Peter Fisk is taking a different path with Vista Smalltalk:
Vista Smalltalk is different since the parser, compiler and basic classes are built into the runtime - there is no need to load an image file to execute simple Smalltalk commands.
I think there's room for both approaches, and this is worth watching
I think this move by Debian - forcing Firefox to change its name on that distro - illustrates one of the reasons that it's hard to take the OSS purists seriously:
The Firefox logo is trademarked, so Debian doesn't consider it to be Free and will not include it as part of its distribution. Mozilla claims that using the Firefox name without the official branding is a trademark violation.
Yeah, clarity for end users matters so much less than a trademark on a logo. What a bunch of buffoons.
I hadn't commented on Mark Cuban's "YouTube is dead" post, because I agreed with it, and thought the point was obvious: the only thing saving YouTube from being sued into the next century is their lack of deep pockets. Now sure - many of the "violations" are what I'd call fair use (people dancing/lip synching/singing along with background music, for instance) - but many of them are (music videos, for instance).
Then there's this hippie dippie moron, in full bore "let the music be free" mode (never mind the whole "how does the artist eat?" problem:
Selling Broadcast.com at the height of dot com frenzy, he wants to shut the door behind him, exclude all those who don’t play by the rules. He wants to see the death of YouTube, since they’re stealing the content and he’s investing money to gain a foothold in the movie/visual content business.
That's right, observing the reality of the situation is just sooo unfair. And look - he can get even dumber:
Society is made up of rules, they call them laws, but laws are made to be broken. Or maybe you never cottoned to rock music. Or came to the party so late that a rock star was someone who was famous, as opposed to someone who played by his own rules.
This guy needs to go camp out in Woodstock, and wait for the wayback machine to take him back.
I've been reading an interesting crop of books lately, so I thought I'd give a few (very) small reviews of them. I just completed this one:
I'll post on two books in my queue in a bit
I've got two books that look interesting in my queue, but haven't started reading them yet. These are both history - I'm still not really in the mood for fiction.
|Given current events, I figured it would behoove me to learn more about the history of middle east, and about religious currents there. If you look back through these posts, you'll see that I've had a few looks (I can't recommend "A Peace to end all Peace" enough, for instance) in this direction. This one takes a look at Wahhabism, which is the Sunni sect behind a lot of the extremism. At some point, I need to look into the "12th imam" business that seems to motivate many of the Shia extremists as well|
HP is still giving old style "ignore and evade" a go: Don Tennant of ComputerWorld reports from the HP Technology Forum event in Houston:
When Hurd concluded his remarks, he said he was going to take some questions. But rather than giving the audience the opportunity to use those microphones, he welcomed Novia back onto the stage. Novia held several cards with questions that he claimed came “from our crowd.” That struck me as odd, because I had arrived at the session fairly early, and I never saw anyone passing out or collecting any question cards.
The four softball questions couldn’t have been any more lame or self-serving. They asked about the significance of HP’s Mercury acquisition, how HP differentiates itself from its competitors, how Hurd sees HP Services going forward, and how the rest of the company is uniting behind the sales force.
Tennant goes on to say that Hurd avoided all media contacts as he made a quick exit (with PR/security people used as blockers), and that he couldn't get a straight answer as to the source of the problem by press time.
The blogosphere seems to have let this story go, so I'm pleased to see ComputerWorld is still on it. A few scapegoats have been named (and taken out behind the woodshed), but Hurd's reactions indicate that the rot went all the way to the top. I hope Tennant stays with this story.
Technorati Tags: management
Frank Hayes writes about making end users of IT more cognizant of security problems they create:
Say that instead of handling security problems invisibly, we made them highly visible to users. Suppose when one of those problem users opened a virus-laden attachment or triggered a firewall reaction or plugged a thumb drive into a USB port, that didn’t just create an entry in a security log. Suppose it instantly shut down network access for the user’s entire workgroup.
Oh, there would be screams. We’d hear them at the help desk almost immediately. And for once, those battered souls would know exactly, word for word, what to say: “It looks like Charlie downloaded a virus, and your group was cut off to protect the rest of the network. We’re working to clear the problem now.”
Well, that works both ways. How about we make support issues that go critical fall back on the mail admins who "solved" spam problems by having flagged email silently quarantined. I'm thinking something like this:
"Sorry Boss (company CEO) - Acme cancelled their contract because IT's spam protection system threw out every message they've sent us for the last month, and they decided that we were completely unresponsive.
What - notifications? No, neither their people nor ours ever got a bounce notice - the mails just disappeared. Talk to Ed in IT"
I think Hayes might want to step back from his "educate the users via pain" theory for a minute, and consider the motes in most IT department's eyes first.
Technorati Tags: IT
I have to say, the argument used in this post is one of the most irritating things in the world to me:
If members of the Blogosphere are interested in having their opinion mean something significant, may I suggest they apply for a job at their local VC firm and see what happens? Or even better, if they discover a better way at solving a problem than currently exists, why not start a company that solves that problem and then go out and raise some money themselves? Turns out that criticizing a vision is easy if you don't have one to share yourself and but even more challenging if you do.
The subject of that *cough* argument *cough* doesn't even matter. It gets regularly trotted out across the board, in the tech industry and in politics - the gist being: "If you haven't done X, then you don't understand X, and are not allowed to have an opinion on it".
Excuse me? That's a theory designed to limit debate and give control to some nebulous set of technocrats who "really understand things". Thanks, but I'll take robust debate over that any day of the week.
Technorati Tags: marketing
Blaine Buxton will be talking about Smalltalk and Seaside this month in Omaha:
I'll be giving my Seaside talk at this month's Dynamic Language User Group. I will probably spend sometime explaining why Smalltalk is so cool. Then, we'll go through continuations and why cheap closures are good. There's more to Seaside than just continuations and I will also touch on that. If you have ever been curious about Squeak, Seaside, or Smalltalk, then come on by. It's going to be explosive! It will be October 3,2006, 7pm-9pm. I hope to see everyone there!
Here's the location specifics:
2500 California Plaza
Omaha, NE 68178
Check it out - Blaine's an egaging speaker.
That noise you heard from the north was the sigh of relief from Torre and Guidry: it looks like Randy Johnson - creaking muscles and all - will be pitching game three against Detroit:
Torre was happy with Johnson's session and was confident the Big Unit will pitch against Detroit. Chien-Ming Wang will start Tuesday's opener and Mike Mussina will follow in Game 2 on Wednesday.
On to Tuesday!
If you're thinking about the Zune, this site is worth checking out - it has a bunch of photos of the Zune and the iPod side by side. Here's a nice comparison of the Zune's larger screen:
Head on over there to see the others. I'm happy enough with the iPod, but it's always worthwhile to see what's on offer from the competition
Nick Carr notes that both Google and Microsoft are standing behind their search engines in an odd way; I see this as a potential PR problem that can't end well for either outfit. First, stir in a gamed search result that places a hate site (Klan related, for gosh sakes) to the top of the list.
Next, when asked about the result by interested parties and embarrassed partners, call it a "sign of your integrity". First Google:
At Google, a Web site's ranking is determined by computer algorithms using thousands of factors to calculate a page's relevance to any given query, a company representative said. The company can't tweak the results because of that automation and the need to maintain the integrity of the results, she said. "In this particular example, the page is relevant to the query and many people have linked to it, giving it more PageRank than some of the other pages. These two factors contribute to its ranking," the representative wrote in an e-mail.
The results on Microsoft's search engine are "not an endorsement, in any way, of the viewpoints held by the owners of that content," said Justin Osmer, senior product manager for Windows Live Search. "The ranking of our results is done in an automated manner through our algorithm which can sometimes lead to unexpected results," he said. "We always work to maintain the integrity of our results to ensure that they are not editorialized."
So, let me get this straight: if your marketing department tries to game Google results via invisible redirect sites, they ban you from the results. If, on the other hand, you're a hate group that has managed to game the system somehow, it's all ok. Hmm...
Now, there is a defensible position for these guys - if they start "playing god" based on political stances, there's a slippery slope down which they could slide infinitely - I can see why they don't want to go there. The fact is, however, they already go in and tweak results for various and sundry reasons, mostly dealing with spam/splog detection - so they already live on that slippery slope, whether they like it or not. I don't know that they want to fight on this particular ground - and I love the way Carr summarized their positions:
By "editorialized," he seems to mean "subjected to the exercise of human judgment." And human judgment, it seems, is an unfit substitute for the mindless, automated calculations of an algorithm. We are not worthy to question the machine we have made. It is so pure that even its corruption is a sign of its integrity.
I can just imagine the MS Live PR people wishing this would go away on its own...
Bryce Kampjes announced a Smalltalk meetup in London on a few Smalltalk mailing lists:
We're organising another Smalltalk event in London, this one is after work. Starting at 5:30pm with a presentation of Restore by John Aspinal.
RSPV required with a company name as it's being hosted in corporate
Technorati Tags: smalltalk
Cédric Beust went off on a rant about refactoring (specifically, renaming classes) in dynamic languages yesterday:
All the Smalltalk IDE did for renaming was search and replace, which is, frankly, the best it could do. And clearly unacceptable today.
It's simple, really: dynamic languages that are not statically typed (i.e. let you get away with not typing variables) simply *cannot* do certain refactorings, among which "renaming".
Pulling up my BottomFeeder development image, I spot class Text - specifically, the one in namespace XML (as opposed to the one in UI). I go ahead and rename that to XMLText, and then go look for class Text in namespace UI - and there it is, blissfully not renamed.
It seems that in VW Smalltalk, renaming is scoped by the namespace of the class in question. So - in practice (as opposed to theory), you'll be putting your new classes into namespaces - and you'll be disambiguating by using namespaces. So... any renaming of classes that you do will "just work". Can you come up with edge cases that will break? Almost certainly. Will you actually run into any of them? Probably not. In many, many years of Smalltalk work, I can't recall getting bitten by renaming a class - and most of those years preceded the introduction of namespaces.
Sure, code that's not loaded won't get that (or any other) refactoring, but that has to do with the image based environment - something that also makes renaming much, much faster than running over a bunch of text files. I hope Cédric feels a lot safer over there - I'll be busy being productive in the meantime, unworried over edge cases I won't hit.
Update: As Alan states in a comment, I misread this:
The limitations that Smalltalk has in renaming methods are precisely the limitations of not using methods monomorphically. In a statically typed language, you will have the same kind of issues as soon as you start using features like generics, or subclassing. I talked about this in more detail the last time this endlessly recurring issue came up, about a year ago, over here.
The Smalltalk group in LA is meeting soon:
Date: Monday October 9, 2006
Time: 7:00 pm - 9:00 pm
Location: High Tech High, Los Angeles - Meeting Room
17111 Victory Blvd
Lake Balboa, CA, 91406 Map
There is usually an after meeting at Jerry's Deli on Ventura and Petit in Van Nuys that goes on to an indeterminate time.
If there is a problem getting there call Darius Clarke, Mike Klein or John Dougan for assistance. The phone numbers are in the LASTUG contacts database on Yahoo!.
Technorati Tags: smalltalk
The UIUC VW Wiki got spammed yesterday - well over a hundred pages. When it's a handful, I manually fix them (unless someone beats me to it). The attack from yesterday was hanging out there though, so I sat down and wrote some workspace script - I just grabbed the page source for all the modified pages on Recent Changes, and stuffed that into a collection - looked like this, but bigger:
strings := #( '<A href="/VisualWorks/VisualWorks+WebServer+-+history">VisualWorks WebServer - history</A> 18:20:49 (ah1-p4id-56.advancedhosters.com)' ... ).
From there, it was a matter of finding the right page to revert to. This little snippet just pulled the urls out of that mess:
urls := OrderedCollection new. base := 'http://wiki.cs.uiuc.edu'. wiki := '/VisualWorks'. old := 'VERSION'. rep := 'PROMOTE'. strings do: [:each | | url | stream := each readStream. stream through: $". url := stream upTo: $". urls add: url].
From that, I created the page history urls for each spammed page:
histUrls := OrderedCollection new. urls2 do: [:each | | url | url := base, wiki, '/HISTORY', (each copyReplaceAll: '/VisualWorks' with: ''). histUrls add: url].
Then, grabbing each page, I scanned down to the second "VERSION" string, grabbed the good version number, and created the appropriate URL to restore the page back to the way it should have been. I added in a delay so that I wasn't doing a DOS attack on the server:
fixUrls := OrderedCollection new. histUrls do: [:each | | content stream next num url tail| Transcript show: 'Getting: ', each; cr. content := (HttpClient new get: each) contents. stream := content readStream. stream throughAll: 'VERSION/'. stream throughAll: 'VERSION/'. stream atEnd ifFalse: [ next := stream upTo: $/. num := next asNumber. tail := (UnixFilename named: each) tail. url := base, wiki, '/PROMOTE/', num printString, '/', tail. fixUrls add: url]. (Delay forSeconds: 1) wait].
Now, with the set of "fix" urls in hand, I just ran each of them - another delay for the same reason, and a catch for HTTP exceptions - that way, I could cache any pages that didn't get fixed due to transient network errors.
missed := OrderedCollection new. fixUrls do: [:each | Transcript show: 'Fixing: ', each; cr. [HttpClient new get: each] on: HttpException do: [:ex | Transcript show: 'Could not do: ', each; cr. missed add: each. ex return]. (Delay forSeconds: 1) wait].
Then, simply rinse, repeat for anything that got missed. All the spammed pages there have been restored, and I didn't have to manually visit each one.
Technorati Tags: smalltalk