At ESUG 2008, Julian Fitzell gave a presentation on Seaside - where it's been, where it's going, and how he's been involved in its evolution. You can download his slides here - click on the image below to watch:
On today's Smalltalk Daily, I answer a question that came to me via the talkback widget on my blog - how to deactivate a parent window when you pop up a child (without using a dialog). To watch, click on the image below:
I love the responses that say, "It's great. But only use it with good developers that do unit testing." Why would you use anything with any other kind of developer? And is the claim there is a tool that actually _works_ in those situations?
I was driving around the area today, and no complaints about local coverage - we'll see how it goes on the road. I do like the touchscreen interaction.
On today's Smalltalk Daily, we take a look at charts in ObjectStudio, and how you build them in the GUI Design tool. To watch, click on the image below:
One of the few glitches I've had with the Mac is the on again, off again nature of my Windows shares. We have a few Windows machines (and a network drive that uses SMB), so it's useful to have my Macs set up to use SMB. Lately (after the last update, but who knows whether that had anything to do with it), the Windows shares have disappeared from the "Shared" sidebar in Finder. I can still mount any share, but I have to recall the name (which is a pain the neck). I found this via Google, but it didn't seem to have any impact. If anyone has ideas, I'd love to hear them.
Somewhat obscured in the hubbub about Google announcing Thursday a mobile version of its public-domain book library was a separate announcement that may be much bigger: an Amazon spokesman told the New York Times that the company is working on a way to make books formatted for its Kindle e-book reader available "on a range on mobile phones."
The iPhone is an obvious candidate, but there are others (the Storm, the various Android models). THat would be really cool - I'm not at all sure I want to buy a Kindle (I don't really travel enough to justify one) - but I'm about to get an iPhone...
We have been piling up episodes of "Lost" on our DVR - we weren't entirely pleased by the last season of the show, so we've been putting it off. Well, we finally decided to catch up, and - surprisingly - it's been pretty good. We should be all caught up in an hour or so, and we're pretty pleased. If you gave up on the show, you might want to re-engage.
This week we talked to Dave Buck about two things - software (especially Smalltalk) training, and some of his recent experiences in consulting assignments - that's the "war stories" part of the title. It was a fun talk that covered a lot of ground, and we think you'll enjoy it.
To listen to Dave's entire "Design Minute" archive, go here. To get the podcast, go here.
If you have feedback, send it to smalltalkpodcasts@cincom.com - or visit us on Facebook or Ning - you can vote for the Podcast Alley, and subscribe on iTunes. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!
What's important is that it surfaces an interesting perspective that I've always wanted to talk about with regards to marketing. One of the reasons that marketing isn't trusted (and there are at least five others) is that it's motives are not pure. Far too often, we spend money on things that fall into this general category of 'awareness of the brand'. Hard to argue with the need but it creates an opening for programs that are ego-driven, notoriety-driven, personal fulfillment-driven, and creativity-driven.
The problem is deeper though - it has to do with an often complete communications gap between the marketing people and the people who create the product/service being sold. That's often not solely marketing's fault, either - too often the product groups don't talk to marketing, on the grounds that "they won't understand anyway". Thus you get a self fulfilling prophecy, and no one ends up happy. You can have all the authenticity and purity of motive possible, but if you don't understand your company's products, you're still not going to get anywhere.
What are people looking for when they come to your website, or look at some of your marketing collateral? Information. What problem(s) do you solve with your product/service, and how do you solve them? Why is your solution better than the next guy's? How can people make use of your product/service? If that kind of information is hard to find, then whatever you do have available is irrelevant.
Authenticity matters, but only if it's connected to real information.
Perhaps this is why OO as done in Smalltalk differs so much from OO done in languages like Java, C#, and C++:
Smalltalk is a language that makes true OO programming so cheap that you're more often than not benefitting from a pure-OO (possibly with patterns) approach to coding for pretty much everything. The syntax is negligable, so you're not really adding keystrokes to your task. There are no files in an image-based operating environment, so you are free to just add classes at will. Duck-typing is everywhere, so types are determined by structural conformance, rather than rigid class hierarchy organization, etc.
However, Java is a totally different beast. Adding a new class to a program in Java is one of the most intensely heavy-weight things you can do in Java! Even defining a new interface, arguably one of the cheapest things to do at the file-level in Java, implies you now need to adjust a number of other classes so that they statically "implement" that interface. Also, there is a strong distinction between internal and user-defined types (int vs. Integer, et. al.). There is no uniform access in Java (myField versus getMyField()), which means you no longer have the cheap syntax to avoid writing getters and setters, which means that you always incur a small performance hit when accessing attributes.
In Smalltalk, it doesn't incur any cost to do OO; in the mainstream languages, it does. This leads to lots of people talking past each other - most Smalltalkers have slogged away in a mainstream language; most of the rest have never seen Smalltalk, much less developed in it.
The article is well worth reading in full - don't just take the quoted snippet as enough :) One small caveat - Smalltalk may be unheard of in many development shops, but it's not dead. Smalltalk is very profitable at Cincom, and was the best performer for Cincom last year :)
Thinking about that for a second or two, that's most projects :) Want to be more productive and get done faster? Try it now.
One thing I don't like about the top answer there is this:
"You spend much time correcting errors that other (typed) languages detect at compile time. This means you have to test more and spend more time with trivial syntax problems than in other languages"
Having sent a good deal of time on two decent sized projects - BottomFeeder and Silt - I can say with a fair bit of assurance that it's simply not the case. People without much Smalltalk experience are always convinced of this; to their way of thinking, how could it be otherwise? The reality is, the trivial kinds of type errors being talked about almost never happen in Smalltalk. Heck, they happened to me a lot more in "C" due to the brain dead type system being combined with static checks. Bottom line - that's something most people simply have to experience themselves before they believe it.
F-Script offers a new way to create and interact with Cocoa objects using a simple scripting language and a Smalltalk-like development environment. Recently, the F-Script shell went beta , providing a new way to interactively build Cocoa.
I saw a message flash by on Twitter earlier today:
What's the best desktop scripting language for woking with http, REST and XML?
The conventional wisdom is that something like Perl, Python, or Ruby would be simplest, and that Smalltalk is "too big". But is it really? I've just fired up a base Smalltalk image, and loaded in the network client code. It's consuming 16.5 MB.... and my MacBook Pro has 4 GB.
So is that really heavy? Which is going to be more productive - writing some scripting code in a text file and trying to run it until it works, or writing Smalltalk in a workspace and using the debugger and inspector to help make it work?
Heck, if you're truly against having the environment running to do "simple" tasks, just write some Smalltalk code in a text file and do this:
While I was in Cincinnati, Parallels had trouble suspending, and just hung. I killed it, and now it won't start back up - it's saved in the hung state. Anyone have any idea what to do? The menu options for restoring a snapshot are all disabled...
Update: I called Parallels support, and they were helpful. There was a silly request to reboot the Mac, but the basic problem was two files that made Parallels believe it was still backing up:
bigUglyName.mem
config.sav
The .mem file had a large hex looking name in curly braces - deleting that and the .sav file made everything work again.
This company should charge online visitors a small fee, maybe $5 a month, for our content - which is copyrighted, then sue the pants off anyone stealing it.
Should Google "pick up" (steal) our stuff, if we successfully sued them for $1 billion, two good things happen: 1) Our money problems are solved; 2) everyone else will stop stealing our content.
Left unexamined by Mr. Byofsky: If Google (et. al.) aren't allowed to "pick up" (link to) the content, then pray tell: how would any of the potential readers know it exists? This isn't 1978, and people looking for news don't have to rely on the local news outlet for it. If your links don't show up in searches, you simply don't exist.
Mathew Ingram points out what a lot of people in the newspaper business are continuing to miss:
As Mark Potts at Recovering Journalist points out (along with a few others), this entire argument is based on a fundamental misunderstanding of the industry. Newspapers have *never* been paid directly by readers for the news. When readers pay for a paper at the box or at the store or by subscription, they are paying for a small fraction of the content in the newspaper â maybe the first half a dozen pages or so, for a large metropolitan daily. Everything else is paid for by advertising.
I think there's one thing lost in a lot of the analysis though: the entire consumption model for news is changing. Not just the flip from paper to net, either. Newspapers - like broadcast news - are trying to do broad coverage of "everything". The NY TImes, for instance, has a metro section, a sports section, an editorial page, style (etc, etc).
Compare that to what you read on the net. Gadget news? Engadget,Gizmodo. Politics? Opinions from various political bloggers. Tech news? Again, subdivided down by segment. What you're seeing is a vast creation of niche news reporting, and the existing media giants are stuck in the old "everything" model. Jeff Jarvis is only partly correct when he says that newspapers have to go hyper-local; they also need to find a specific niche.
Even aggregators tend to focus - Techmeme doesn't aggregate non-tech news, for instance. That's the big change hitting the media right now. Most of the people in media are focused on the decline of paper - they should be paying attention to the decline of generalism.
On today's Smalltalk Daily, James Savidge conducts a walkthrough of the ObjectSTudio Designer (GUI building) tool. It's an introduction; he'll be following up with more. To watch, click on the image below:
Dave Buck has posted details on the next meeting of the Ottawa Smalltalk Users Group:
Alan Knight will talk about some of the upcoming Cincom Smalltalk releases. He will describe some of the interesting and perhaps lesser-known improvements in the VisualWorks 7.6 release, changes to release schedule and process, and some of the major items planned for the fall release. This includes vastly improved Internationalization, improvements to look and feel, COM and ActiveX support, improvements to Store, 64-bit, and briefly touch on the upcoming Web Velocity release.
It's at the same place that I gave my Seaside presentation in September - The Code Factory at 246 Queen Street in Ottawa. The meeting is at 6 PM on February 10th.
I've seen plenty of Twitter spam, but it looks like the sorts of tools that started appearing 4-5 years ago for blogs are popping up for Twitter now:
Last week, a commercial Twitter spamming tool (tweettornado.com) pitching itself as a âfully automated advertising software for Twitterâ hit the market, potentially empowering phishers, spammers, malware authors and everyone in between with the ability to generate bogus Twitter accounts and spread their campaigns across the micro-blogging service.
As ZDnet points out, creating this kind of tools is dead simple - Twitter doesn't even verify your registration address when you sign up. This can't be the first tool of this kind though; there have just been too many spammers around.
While I was coming in yesterday, the forecast was calling for one or two inches. It was actually more like 6 to 10 - which is why last night's event was cancelled. I just took two shots from the lobby here at the hotel, while waiting for my ride to corporate:
The theory seems to be "the more the merrier" - there are going to be six versions of Windows 7 available. When you get OS X, there's one version. When you download the typical Linux distro there are two: Server and client. Why on earth would you want six? And who would want "Starter:, limited to:
No Aero Tweaks
No more than 3 simultaneous applications
The team that came up with that idea should be part of that 5000 that are getting laid off. From all the reports I've seen and read, Windows 7 looks like it's got the technical goods down. It would be a real shame if the marketing people killed it. I can already see the "switch" ad campaign Apple will brew up in response to this....
The spirit was willing, but the weather has intervened - roads are bad here in the Cincinnati area, and the organizers cancelled. We'll try to reschedule.
In the meantime, check out Michael's video - that was one of my demos tonight :)
I'll be at the Agile Roundtable tonight, presenting Seaside and Web Velocity. If you're in the Cincinnati/Dayton area, come on out and see what's cool about Smalltalk and Seaside!
We'll have Cincom Smalltalk NC CD's to hand out, and it should be a fun time
Update: I've arrived here in Cincinnati, so I will definitely be at the meeting tonight. See you there!