Parallels or Fusion?
Phile Windley has done a review of Parallels and Fusion, comparing and contrasting them. Sounds like Parallels is the right product for my needs, but yours might differ.
Technorati Tags: virtualization
Phile Windley has done a review of Parallels and Fusion, comparing and contrasting them. Sounds like Parallels is the right product for my needs, but yours might differ.
Technorati Tags: virtualization
I'm reading this piece from Deadline Hollywood, and it's telling me that both the writers and the owners are ok with a strike - because they both think they'll win. I wonder if there's anyone sane enough to consider how long it took baseball to recover from the 1994 strike - or how hockey is dealing with the aftermath of the lockout?
Somehow, I'm thinking that a schedule full of reality shows isn't going to cut it - and I don't know that Hollywood has a Cal Ripken around to bring the shine back, either.
Yesterday, I spoke to Stephen Travis Pope. Stephen has been part of the Smalltalk community for a very long time, stretching back to the Xerox PARC days. I first met him back when I was a trainer at ParcPlace - he was doing consulting work at the time, and co-taught a class with me.
Stephen has been working on what is now Siren for about twenty years now - there's a lot of information about it - and its history - on his website. We talked about a number of things - Smalltalk design, his work with Siren, the state of Smalltalk - so this is a two part episode. I'll have part two out next week.
As always, please send all feedback to smalltalkpodcasts@cincom.com - or head on over to iTunes and leave a review, Podcast Alley and cast a vote, or visit us on Facebook at the Industry Misinterpretations group.
Enclosures:
[http://www.cincomsmalltalk.com/audio/2007/industry_misinterpretations58.mp3 ( Size: 11940491 )]
On today's Smalltalk Daily, we turn on color syntax highlighting - which makes things easier to follow in the code browser.
Technorati Tags: smalltalk, cincom smalltalk
The Guardian may have the reason for the last round of spam attacks that I (and everyone else) have been seeing on the net: a growing botnet:
It gets worse. Storm's delivery mechanism changes regularly. It began as PDF spam, then morphed into e-cards and YouTube invites. It then started posting blog-comment spam, again trying to trick viewers into clicking infected links. Similarly, the Storm email changes all the time, with new, topical subject lines and text. And last month Storm began attacking anti-spam sites focused on identifying it. It has also attacked the personal website of a malware expert who published an analysis of how it worked.
I had been wondering about those waves (PDFs and e-cards) of spam. More recently (I mentioned this the other day), I've been seeing tons more comment spam than normal. I wonder if there's a specific plan, or whether someone is building a huge "rent a bot" (or heck, maybe they already have) network? Would I see a difference between spread attempts and spam campaigns that were paid for?
Technorati Tags: security
I noticed a comment about the mp4 video files I have been posting - Safari wasn't picking them up. Well, it turns out that I didn't have the mime type set up properly on the server side, so proper handling in the browser was hit or miss. That's been fixed now - I just tested in Safari myself.
Technorati Tags: cincom smalltalk, video
One of the things that continues to boggle me about the long lines at airport security stations is the security risk created by those long lines. Think about it - if someone wanted to create an incident, isn't a huge line of immobile people a target? That's why the "tomato juice" story from yesterday caught my eye:
People were welcomed to Terminal D of LaGuardia Airport with a line so long, it was difficult to tell where it began, or where it ended - all because someone spilled tomato juice on an x-ray machine.
So in short, a team of two people could create havoc: the first one "accidentally" takes out a scanner. The second one waits for the line to get big, and uses a bomb. If and when something happens, I wonder if anyone will question the ruleset that created the problem.
I'm still waiting for one of the main browsers for the Mac to stabilize. Safari is mostly ok, but periodically gets into a confused state - this morning, my wife's Mac stopped being able to deal with Javascript. It was enabled, but wouldn't work until we killed the application and restarted. Very odd.
I had switched to Firefox, but I switched back - it seems very unstable on the Mac, locking up for no good reason more than once per day. On Windows, Firefox is a pig (the developers really, really need to use a decent GC), but it seems mostly stable. On the Mac - not so much.
So I switch back and forth, waiting for stability...
We are recording this week's "Industry Misinterpretations" tonight - we have Stephen Travis Pope on as our guest. Stephen is a long time Smalltalker, going back to the early days at PARC and ParcPlace. I met Stephen about a decade ago, when I co-taught an "Intro to Smalltalk" class with him.
He's been doing musical work in Smalltalk for most of the last 2 decades - you can check out his Siren system here. We'll be talking about Smalltalk history and his musical work.
Technorati Tags: smalltalk
Nick Carr tries to cite a very dense paper to make the case that the NY Times was actually succeeding with TimesSelect:
Even though news may, for better or worse, want to be free on the web, that doesn't mean that charging for online news is always wrong. Jarvis dismissed TimesSelect as "a cynical act doomed from the start." More likely, it was a wise business decision that made the Times, and its shareholders, more money than they would have earned without the paywall. Gentzcow's paper will serve as a profitable read for any manager struggling with setting strategy for an online operation that cannibalizes a traditional business line. What it underscores is that setting prices should be a rational act, not an ideological or sentimental one.
Here's the problem: the study and Carr both assume that my choices are limited to paying for TimesSelect or not getting the information. This ignores reality - there are more news sources available to me than I can shake a stick at. Much of what was behind the paywall was op/ed pieces; there's certainly no shortage of opinions available for free on the net. The problem with Carr's theory is that he assumes that I can't substitute for the stuff behind a paywall. I think the editors at the Times learned something over the last couple of years that Carr still hasn't figured out: it was all too easy to find substitutes for their supposed superstars.
Technorati Tags: newspapers, news
Tonight's our annual Halloween party - as always, I have to make a last minute run to the store for supplies. There's also the Halloween decorations, and general cleaning to finish up - it should be a busy afternoon of preparations.
I really like this explanation of the Smalltalk debugger - especially since it comes from a new Smalltalker, not one of us arrogant jerks from "back in the day" :). Ben Matasar offers this:
I think the name debugger gives people the wrong idea about what it is, at least in Smalltalk. When I first came to Smalltalk in December of last year I tried not to use the debugger, and I did think of it as a crutch. Now I use it all the time to get my bearings around a codebase. In fact, I write quite a bit of my code directly in the debugger, often with my web browser spinning in the background waiting for me to send the response.
I now think of it as a method context browser, where you have an active REPL at every step of the call stack. This is nice because you can send messages to the objects, to poke them and figure out how they're going to respond to messages.
Remember that most of coding is reading other people's code. Ask yourself this: is that code more understandable on its own, or in its proper context?
Technorati Tags: development, debugger
I've added a new section to the main Smalltalk site - Smalltalk Videos. There's only one video there right now, and I don't expect the content there to increase as quickly as "Smalltalk Daily" does - but it's a start.
Technorati Tags: demonstration, video
I've joined the "called by Brian Connolly club". For those of you following the tale, he's the guy behind this mess. Today, he called, getting my business line from corporate HQ. Odd conversation; he's now playing "good cop" to his earlier "bad cop". He had some weird notion that Cincom sold blogging software :)
Here's a tip for you, Brian: next time you make a cold call, do some minimal research so that you have some small idea what the person you're calling does for a living. Oh, and doing a reverse lookup on the phone number he called from, it tracks back to the same place fingered by Mike Krempasky when he looked into this guy.
It's apparently spam season - there's been a wave of spam pounding the blogs this last week. Most of it has been blocked, but the occasional piece has gotten through - and I then get rid of it by hand.
The type of attack is the classic "untrain the Baysian filter" thing - a string of nonsense words, followed by a link. However, there's been some variation. The first wave included links that went to good sites - I guess this is to cause grief for blacklist filters. Now, the spam I'm seeing has two links: One an href, the other plain text. Which one goes to a spam site and which one goes to a "real" site varies.
The bottom line is, the spammers are changing their tactics again.
I'm looking back at the debugger kerfuffle that broke out a couple of days ago - Giles "disagree with me and no comment for you" Bowkett dug the hole deeper in his updates:
- Debuggers encourage a backwards workflow
- Debuggers are a historical artifact of C pointer mechanics and primitive flow control
If he's ever seen a debugger and actually understood what he was looking at, he wouldn't have such ideas. Let's go back to C for a moment, since he brings it up. I spent my time in the C dungeons years ago, and I used both "printf debugging" and a decent symbolic debugger. When you have a pointer error, not using a debugger is just an invitation to waste time. You can argue that the error should not have happened at all - and sure, having a good test suite will prevent a lot of problems. Bottom line though, you end up with pojnter bugs - even if your code is perfect, the code you integrate with is something else again. Maybe Giles enjoys pounding his head against the keyboard; I don't.
Let's move on from C though, to better languages like Smalltalk and Ruby. I did a screencast of the Smalltalk debugger in action, doing TDD. Never mind the TDD part for a moment - just consider what I was doing: I was writing code in the debugger, with all the application context and state available to me. Ask yourself: when you are crafting new code for something, is having that information helpful? Yes, you should have tests, but that doesn't matter - having the tests and the context is highly useful.
The way Troy put things in the comments echos something I've said for years: with most debuggers (and I suspect that this is all Giles has had experience with), you're a forensic pathologist. The patient is dead; the best you can do is figure out what killed him, and prevent the next version of the app from dying of the same thing. With Smalltalk, you're a surgeon: the patient is sedated, and you have him on the table. You can not only figure out what made him sick - you can fix it and let him walk off under his own power.
That's a huge thing, and it's one of the keys to Smalltalk's productivity. The "fix and continue" support in Eclipse and VisualStudio are pale imitations - your ability to fix things is highly constrained. In Smalltalk, you can do whatever you want: add new instance variables to classes (which will modify all extant instances), add new code, modify existing code, anything. You can do as complex an operation on the patient as you can imagine. Oh - and when you get an exception while debugging, you get another debugger - as opposed to being tossed out of the debugger.
Even that doesn't get at everything though. There's an internal discussion going on here at Cincom, as to whether the term "Debugger" really captures the entire idea for us. This is actually a good question, because the tool is far more than a debugger. It allows you to look at all system state at any time. One of the things I did when I was first learning Smalltalk was to hit ctrl-c (ctrl-y now) and just walk through the UI code: it allowed me to look, in real time, at how the system operated. I do this with code I don't really understand now, too. When I look at Seaside, I often drop into the debugger to look around - because it's easier to look at the real state of the system than it is to try and imagine it all in my head.
And that's the problem with Giles' "Debuggers are harmful" thesis: he somehow expects developers to keep all state in their head at all times. You know what? One of the promises of computers is that they allow us to offload a lot of the drudgery to the system - because it doesn't mind handling it, and it's pretty good at it. It's no longer 1975 - we don't have to stack up the punch cards, run the mental tests over and over so as to prevent a botched (and expensive) run: we can ask the system to explain itself.
Technorati Tags: development, debugger, debugging, tdd
Mathew Ingram points to some interesting "River of News" work that Dave Winer has been doing, and wonders why the papers themselves haven't been trying anything similar:
I don’t understand why the Times -- or other newspapers, for that matter -- don’t provide that kind of alternative search or browsing tool themselves. It’s not rocket science (no offence, Dave) and it might even attract users who don’t want to use the linear approach that most papers default to. Why not have a keyword tag cloud too? The Washington Post had a demo of such a feature awhile back as part of its Post Remix lab project, but it never became part of the actual site, which I think is a shame.
I think the answer is simple inertia. Newsapers are an old business - they have fairly set ways of doing things, and geting changes to take place is hard. Heck, never mind newspapers - look at technology companies. Most of the "old" ones are 30-40 years old at most, and you would think that technology companies would be open to change - but you would be largely wrong.
Look at Microsoft now, or IBM back in the 80s. Look at how much difficulty established vendors have with things like Open Source. The news media is being forced to deal with a huge change in a very accelerated fashion - it's just the "old think" of the established players that stands in their way. The thing is though, it's not any different elsewhere in the business world - media is just being forced to adjust more quickly.
Technorati Tags: newspapers, management
This is good news for anyone looking for up to date Seaside info - Michael Perscheid has announced a Seaside 2.8 tutorial. It's Squeak based, but the code maps over to Cincom Smalltalk as well. I'll likely do some screencasts on it next week.
Technorati Tags: smalltalk
On today's Smalltalk Daily, we take a brief look at using XPath in Cincom Smalltalk.
Russ Olsen takes the absurd "continuous tax of dynamic languages" argument and throws it back at static typing fans. I think Russ' points are pretty good.
Technorati Tags: smalltalk, software development, dynamic typing
Not a good imitation, either: the headline reads "Robot Cannon Kills 9, Wounds 14". There's a headline I would not have predicted back in high school.
When your customer service drives this kind of hammer wielding behavior from the proverbial "little old lady who drives to church on Sundays", then you're doing something wrong:
"I scared the tar out of some people, at least," she says. "It had never occurred to me to take a hammer to a phone company before, but I was just so upset. . . . After I hit the keyboard, I turned to this blonde who had been there the previous Friday, the one who told me to wait for the manager, and I said, ' Now do I have your attention?' "
Somewhat extreme, but I have to say, I've been tempted when the phone rep tells me "we don't support Linux", or "we don't support Mac" - when the problem is that the cable modem has no signal.
On today's Smalltalk Daily, we take a look at how the debugger can be an integral part of Test Driven Development in Cincom Smalltalk: by keeping you in the flow of your coding.
For this screencast, I also prepared a couple of different formats. You can download a 5MB mp4 here. Or, you can visit YouTube - I uploaded the video there (given the downsizing of the video size, it's a bit blurry there).
Randy Coulman has put together a good series of posts on automating builds - his shop uses CruiseControl for that. Check it out.
Technorati Tags: development, deployment, cincom smalltalk
I love this theory that not having a decent debugger is somehow a good thing - here's Giles Bowkett:
Asking why Ruby has weak debugger support is like asking why a dolphin doesn't have gills. Ruby has weak debugger support because Ruby programmers shouldn't be using a debugger. Ruby supports TDD and BDD better than any other language except possibly Smalltalk. Debugger support is for languages that you can't run tests against gracefully.
Yes, Smalltalk supports it better, in large measure because we have a debugger. For instance, have a look at this short (unnarrated) screencast. The summary: The Smalltalk debugger can support TDD:
So no Giles, the absence of a debugger is not a feature - it's a fairly significant lack in your toolset.
Update: I love this. I left a short comment on Giles' blog, with a tinyurl link back here. His justification for deleting my comment:
when I said write politely or post in your own blog, I didn't mean that links to rude blogs were somehow not rude. I wish you people were more respectful with my time. There was a very reasonable counterargument, complete with excellent screencast, which I had to delete. Please understand, if your comments are rude, I will delete them, no matter how well-reasoned they are, no matter how polished their presentation, no matter how much I might respect you. I do not tolerate rudeness on my blog, and there are no exceptions. Please respect my time and your own. Posting comments I'm guaranteed to delete is wasteful.
Sounds a little odd, especially when we we get here:
For a quick summary, the commenter did a screencast of the Smalltalk debugger. The screencast showed the debugger in action. I admit, it looks cool. However, it still looks like a crutch to me. The screencast's argument was basically, look, here's the Smalltalk debugger, see how cool it is? Therefore it can't be a crutch. Of course it can. Haven't you ever met a beautiful woman who was mean to people, or a highly intelligent alcoholic? People make crutches out of their best features in real life all the time. Somehow it's impossible in computers? Of course not. Haven't you ever seen a useless but fun high-tech toy? A feature can be cool and still a crutch nonetheless.
Hmm. Yes, my post here is snarky. However, if Giles thinks I was just showing something cool, he missed the entire point of the post: the Smalltalk debugger supports TDD. Watch it again, Giles - I wrote a test, ran it. It failed. I debugged the test, had the debugger create the missing method for me - whereupon I wrote the code for the method in the debugger, and ran the test again. That's not a crutch: it's taking TDD to the next level.
Face it, Giles - you have the worst of this argument. Ruby ought to have a Smalltalk style debugger, and if it did, every Ruby developer would use it. The fact that Ruby doesn't have such a debugger is not a feature. Does this mean that Ruby sucks? No, of course not. I just think the argument that not having a debugger is a good thing is lame.
Update2: When you know you've lost, just close comments to make sure you get the last word. Oh, and make sure to swear (see his update stream for that) while you're at it - that shows 'em:
Although I am aware that the Smalltalk debugger works in the context of TDD, and was initially aware of that when I wrote the post, before any comments were made, because anyone with any knowledge of Smalltalk's history or the history of TDD knows that, it doesn't change my opinion that debuggers work backwards. Debuggers are based on the idea that the code base has enough places bugs could happen that the work of locating the bug is involved enough to justify machine assistance. This is not true of well-tested code. More importantly, the whole point of [T|B]DD is that you identify the bugs before you write the code. As tools which track down bugs in existing code, debuggers presume and encourage a workflow which is exactly backwards.
Umm, yeah - because we all write perfect code the first time, right out of the gate. Sure. And stop/restart is ever so much more productive than what I showed in the screencast, where you never leave the context of your code. Sure Giles - it's far more productive to do the test/run/break/test/run/break cycle than what I showed. You keep believing that - I'll be over here, being productive :)
Update 3: Oh, this just takes the cake - In the comments, Giles says:Why on earth would I? How is supporting me rude? Why would I be offended by an offer of support?
So it's pretty simple, really - suck up to him, and it's open season. Disagree, and you get edited out. I've seen that behavior on political blogs, but sheesh.
Phil Windley has a good rundown on how to adjust the sleep/hibernate modes on the MacBook Pro. I'm posting this mainly so that I can find this later, when I want it :)
On today's Smalltalk Daily, we use Smalltalk as a scripting solution for a simple HTTP issue - restoring spammed Wiki pages.
While I understand what the Cafe in this story is worried about, trying to pre-censor customers is not the best way to proceed:
What I was told, in a nutshell, is that the café staff has encountered a stream of would-be critics “with attitude,” predisposed to take issue with or be critical of the business. Whether or not this is a correct perception, there are many more outlets (Yelp being only one) for customers and consumers to voice opinions about businesses on the Internet. And there’s little most of these businesses can do about it, for better or for worse.
For good or ill, you just have to take the commentary. Anyone can be a critic now; it's no longer limited to the food guy at the local paper. Are you going to get unfair, negative, personal attacks? Yes, you will - but putting up a sign that asks people not to do that isn't part of the answer, IMHO.
Here's what I do, in my role as product evangelist: I have search feeds set up for various terms that might come up in a discussion of our product: Smaltalk, Cincom, Cincom+Smalltalk, etc. I scan the results every day, and I respond to the negative ones - not with exasperation, but with questions for details on the problem tat generated the negative post. Is that going to solve every issue? No - there are trolls, and there's nothing you can do about them. Over the long haul, your dedicated customers will recognize and tune out the trolls though.
Ultimately, you can't stand back and to stop the tide of commentary. The best you can do is jump in and try to ride along.
Hat tip Mathew Ingram, which is where I noticed this.
The music labels apparently aren't satisfied with how hated they are; they are going after Usenet now:
Major record labels - Arista, Atlantic, BMG, Capitol, Caroline, Elektra, Interscope, LaFace, Maverick, Sony BMG, UMG, Virgin, Warner Bros. and Zomba have filed a copyright infringement lawsuit against Usenet.com.
According to Billboard, the complaint filed in the District Court in New York states that Usenet.com provides access to millions of copyright infringing files and, with a nod towards the Grokster Decision, apparently “touts its service as a haven for those seeking pirated content.”
Usenet "encourages" infringement in the same way that the net in general does - it allows arbitrary content to be passed around. If Grokster applies to Usenet based on tunneling, then it applies to all of the net based on ssh tunneling. In their ideal world, everything would be broadcast only - and that's just not the world we live in.
An interesting topic came up on one our calls today: what components in the "contributed" (i.e., not supported) section of our installation do our supported components rely on? Seems like a pain in the neck to test and figure out, but it turns out that the information is easy enough to come by. Using this code snippet, you can read the header of a parcel file:
properties := [CodeReader new readInfoFromFileNamed: 'parcelFileHere.pcl' asFilename] on: OsError, CodeReader fileFormatSignal do: [:ex | ex return: Dictionary new].
Armed with that, the following script was easy to create:
"get the contributed parcel names"
contributedDirs := (('..\contributed' asFilename directoryContents)
select: [:each | ('..\contributed' asFilename construct: each) isDirectory]) asOrderedCollection.
contributedDirs := contributedDirs collect:
[:each | ('..\contributed' asFilename construct: each) asString].
contributedDirs add: '..\contributed'.
all := OrderedCollection new.
contributedDirs do: [:each |
| current |
current := each asFilename directoryContents.
current := current select: [:each1 | '*.pcl' match: each1].
current := current collect: [:each2 | each2 copyUpTo: $.].
all addAll: current].
"now get the supported stuff"
top := 'c:\vw7.5.1' asFilename.
dirs := #('advanced' 'com' 'database' 'dllcc' '
DotNetConnect' 'DotNetConnect\parcels' 'dst' 'examples'
'icc' 'net' 'opentalk' 'packaging' 'parcels' 'pdp' 'plugin'
'preview' 'seaside' 'security' 'store'
'wavedev' 'waveserver' 'web' 'webservices').
bad := OrderedCollection new.
dirs do: [:each |
| dir |
dir := top construct: each.
files := dir directoryContents select: [:each1 | '*.pcl' match: each1].
files do: [:each1 |
| file |
file := dir construct: each1.
properties := [CodeReader new readInfoFromFileNamed: file]
on: OsError, CodeReader fileFormatSignal
do: [:ex | ex return: Dictionary new].
prereqs := properties at: #prerequisiteParcels ifAbsent: [#()].
prereqs notEmpty
ifTrue: [prereqs := prereqs collect: [:ea1 | ea1 first]].
(prereqs anySatisfy: [:ea | all includes: ea])
ifTrue: [bad add: (file asString ->prereqs)]]].
bad := bad collect: [:each |
reqs := each value select: [:ea | all includes: ea].
each key -> reqs].
Yes, the script could be cleaned up some, but it works for this purpose. Next, time to create a simple HTML table of results:
stream := WriteStream on: String new. stream nextPutAll: '<table border="1" cellpadding="2"><tr>'; cr. stream nextPutAll: '<td>Component Name</td><td>PreReq</td></tr>'; cr. bad do: [:each | stream nextPutAll: '<tr>'; cr. stream nextPutAll: '<td>', each key asFilename tail, '</td>'; cr. stream nextPutAll: '<td>'. each value do: [:ea | stream nextPutAll: ea. ea ~= each value last ifTrue: [stream nextPutAll: ', ']]. stream nextPutAll: '</td></tr>'; cr]. stream nextPutAll: '</table>'. ^stream contents
And the results:
| Component Name | PreReq |
| DotNETSUnitTests.pcl | SUnitUI |
| Non-Commercialization.pcl | StoreForPostgreSQL |
| RBRegexExtensions.pcl | Regex11 |
| RBStoreExtensions.pcl | HotDraw Framework |
| RBSUnitExtensions.pcl | SUnit |
| Tools-StartupOrderingTool.pcl | HotDraw Framework |
| Seaside-Comet.pcl | Seaside-Scriptaculous |
| Seaside-Crossfade.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-CSSBarGraph.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-FadeIn.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-NumberedList.pcl | Seaside-Scriptaculous |
| Seaside-PlotKit.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-protoGrowl.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-Reflection.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside-SeaChartDemo.pcl | Seaside-Scriptaculous, Seaside-PlotKit, Seaside-Crossfade, Seaside-CSSBarGraph, Seaside-FadeIn, Seaside-NumberedList, Seaside-Reflection, Seaside-StarRater, Seaside-protoGrowl |
| Seaside-ShoreComponents.pcl | Seaside-Scriptaculous |
| Seaside-StarRater.pcl | Seaside-Scriptaculous, Seaside-HTML5 |
| Seaside.pcl | SUnitToo |
| Wave-Server.pcl | Regex11 |
| WebToolkit.pcl | Regex11, Base64Encoding |
| WebServicesDemo.pcl | Protocols-TestingExtensions |
Now, some of that is spurious - there are duplicate parcel names for Seaside, as we are still sorting that out. We don't need to worry much about the non-commercialization parcel either - but the other results are interesting. For instance, before I ran this script, I had not remembered that we use HotDraw in the browser. Interesting information all around...
Technorati Tags: smalltalk, cincom smalltalk
On today's Smalltalk Daily, we set up the database table for the Todo app (see yesterday's screencast) - this will give us the foundation for adding persistence to the Todo Seaside app.
Looks like Apple is responding to Amazon's DRM free, 89¢ - 99¢ play - their DRM free tracks will be dropping to 99¢, along with the DRM tracks. They are also adding some Independent labels:
Apple plans to expand iTunes Plus to include certain indie music labels starting Wednesday, October 17 (or sometime this week, at least). This tiny step is encouraging for those of us who like freedom with our music, but it sucks that more of the larger labels are still holding off from hopping on board. This expansion won't include all independent music labels just yet, although we're optimistic that more will be included in the future.
The bigger news on the iTunes Plus horizon, however, is that Apple plans to drop the price of all iTunes Plus tracks. Currently, each track is $1.29 while "normal" DRMed tracks are 99¢ apiece. That discrepancy will be no longer, as Apple will begin pricing all of its iTunes Plus songs at 99¢ apiece (DRMed tracks will also remain at 99¢).
This is the kind of competition that makes most of us smile, even as it makes the RIAA cry.
Based on the way Seaside's component model works, I've been thinking that a UI builder ought to be possible. Well, it looks like someone has taken that idea and run it with it. Via Torsten Bergmann, I ran across this work:.
Torsten has a screen shot; head on over there to see it.
Technorati Tags: smalltalk, ui builder
ObjectStudio now hosted on VisualWorks
CINCINNATI, Ohio - October 15, 2007 - Cincom Systems has released Cincom Smalltalk ObjectStudio 8, which means that ObjectStudio is now hosted on VisualWorks virtual machine and libraries. ObjectStudio 8 is the integration of Cincom Smalltalk ObjectStudio and Cincom Smalltalk VisualWorks.
The following enhancements are now available to customers:
With these advancements, ObjectStudio continues to provide native widget support and ObjectStudio syntax enhancements. ObjectStudio 8 supports VisualWorks emulated widgets simultaneously with the native widgets, and both can be used in the same application.
"Both Smalltalk systems consisted of tons of customer applications and components, most of which were only available in one system, not the other. The idea was then born to bring these two systems together in such a way that both, each VisualWorks application and component and each ObjectStudio application and component, works unchanged in the joint system, now called ObjectStudio8", said Georg Heeg, Premier Cincom Smalltalk partner.
For further information on ObjectStudio and ObjectStudio 8, please visit the ObjectStudio blog .
About Cincom Systems
Cincom delivers and supports innovative software and services to simplify complex business processes. For nearly 40 years, we have empowered thousands of clients worldwide to transform their businesses and outperform the 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, Ericsson, Penn State University, Milacron, Siemens, and Trane. For more information about Cincom's products and services, contact Cincom at 1-800-2CINCOM (USA only), send an e-mail to info@cincom.com, or visit the company's website at www.cincom.com .
|
Media Contact Suzanne Fortman
|
Technorati Tags: smalltalk
Dave Winer thinks that people sniping at him is just bad:
Usually I ignore the moralistic snipes that come from a handful of bloggers, but to characterize a post of mine with a term like "hate" is really over the top
So just out of curiousity, I tried this Google search. Hmmm - he's not as bad as the anonymous troll I had a run in with last week, but he definitely visits the same neighborhood regularly - and, like that troll, he has his own set of enablers who cheer him on.
Nick Carr notes that for web 2.0 - as with web 1.0 - it's all about infrastructure:
In its latest quarterly financial report , Caterpillar revealed that, in North America, "sales for electric power applications increased 41 percent [from year-earlier levels] supported by data center installations." (One of Caterpillar's major competitors, Cummins, also reports record revenues in its generator business, with worldwide sales jumping 33 percent over the course of the past year.) Demand for the generators is so strong, in fact, that shortages of the machines appear to be significantly delaying the construction of new data centers. A year ago, Data Center Knowledge reported that the lead time for the delivery of a two-megawatt generator, a mainstay of today's data centers, was a full year. I hear that supplies remain short today, delaying construction projects nine months or more. Rumor has it, in fact, that Microsoft and Google have locked up a significant portion of Caterpillar's production for the foreseeable future.
I have to say, I would not have guessed at Caterpillar as being one of the winners in this. It makes sense, but it was not obvious to me.
If you would prefer to see only the Smalltalk related posts here, I've created a new feed that aggregates those, and excludes the various other topics I write about. Subscribe to this feed, and that's all you see. I've sent a note to Planet Smalltalk - if they switch over to the new feed, then the non-ST stuff will drop off that site as well.
Update: Planet Smalltalk is now using the new feed, so the non-Smalltalk posts I make here are no longer part of that site.
Technorati Tags: smalltalk
On today's Smalltalk Daily, we tip our hat to Francois Beausoleil, who provided the example application I used - a simple To Do application. It's a longer than normal screencast, because it walks through the entire creation of the application, start to finish.
The code is in the public store repository; one caveat though. The pre-reqs are set appropriately for the in-development Seaside 2.8 work here at Cincom, so if you aren't part of vw-dev, then just load SeasideFor WebToolkit or SeasideForSwazoo (2.7 or better) first, and then ignore the pre-req warning.
Technorati Tags: smalltalk
Francois Beausoleil, who says this about his Smalltalk and Seaside skills:
Also, I am no expert on Smalltalk, Squeak or Seaside. There are probably a couple of things I could have done differently, and I hope some people out there might be interested in helping me learn more about Seaside.
has posted a simple ToDo Seaside app in 218 lines (he did the authentication himself, so a truly minimal version might be less). Sure, there are issues if you planned to actually use the code (non-encrypted passwords) - but it's a demo/proof of concept, as he freely admits.
It's very cool to see how much you can get done in so little Smalltalk code :) I think Francois sells himself a bit short in the Smalltalk and Seaside arena :)
Technorati Tags: smalltalk
The NY Times' John Markoff is covering MS' latest big announcement - they are announcing a new line of business in the IP communications arena:
There is a great deal of brave talk from existing players about being both a partner and competitor to Microsoft, but in fact they should be about as glad to see Microsoft as the minicomputer industry was to see the upstart three decades ago.
In fact, Microsoft is opening a new front in its software strategy that mimics its Windows and Office approach to desktop and corporate computing.
The latter assertion is an interesting one. They are going to have to target the enterprise space, and get IT departments to really push, because messaging software is common (skype, AIM, Yahoo) and free. If they see this as an "Office Size" business, it's going to require more than a software release - they have to convince people like me to stop using skype and start using their stuff.
Here's an interesting reminiscence of the DynaBook concept from 1988 - the ActiveBook project. Like a lot of early Smalltalk projects, this one had good ideas that were ahead of their time.
Technorati Tags: dynabook