Most development tools include the ability to tell whether a method name/function name you are typing is part of the system or not. Today we look at adding that kind of simple "spellchecking" to the development tools.
Click to Play
You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Stuff like this is fun. Standing in line with your fellow geeks, talking shop, staying up all night, and scoring that new geek toy early. Yeah, I could do that, and I know a couple of guys that would probably stand in line with me.
Not me. I'd much rather wait 24-48 hours, stroll into an uncrowded store and be back out in under 5 minutes. Heck, think of all the DragonAge I could play in that time :)
Here's another video from ESUG, from J. Laval - talking about cycle detection using DSM. You can download the slides here; to watch, click on the viewer below:
I arrived without any real trouble, and only 15 minutes behind schedule. Everyone else had varying tales of travel woes; it's not been a great day for travel here in the eastern part of North America :) Everything should be fine for the event tomorrow; check here for details.
Jonathan "We'll Make it Up in Volume" Schwartz, one of the dumbest CEOs ever to darken the stage of a major company (and I say that after seeing Bill Lyons close up), is finally resigning. Sadly for Sun employees, it's happening a decade or so before he should have left the company. Yes, he's only been CEO since 2006 - but the only thing he seems to have been good at is lining his own pockets. I pity the next outfit he lands in, and recommend a strong course of shorting....
Today's fun problem: the audio for the video we've been showing to kick off these events was having sound cut out problems. That turned out to be simple - the cable was bad. Fortunately, I always carry audio cables with me, so we got that sorted out pretty soon. Should be a good day
Here are a few pictures from the Toronto event, which is wrapping up now. If you're near the Baltimore/DC area (including by rail) - join us there on Thursday. Register here; the event is taking place at one of the airport hotels (I'll be able to post the specific location tomorrow, you can get it now by registering).
Here's our audio wrapup from Toronto - we live streamed it earlier, and you can watch that recording over on Ustream.
To listen now, you can either download the mp3 edition, or the AAC edition. The AAC edition comes with chapter markers. You can subscribe to either edition of the podcast directly in iTunes; just search for Smalltalk and look in the Podcast results. You can subscribe to the mp3 edition directly using this feed, or the AAC edition using this feed using any podcatching software.
To listen immediately, use the player below:
If you like the music we use, please visit Josh Woodward's site. We use the song Effortless for our intro/outro music. I'm sure he'd appreciate your support!
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!
TechCrunch believes that Apple may be pairing with B&N for books on the much anticipated Tablet - I know that any such announcement would make my wife happy:
We believe there is a good chance there will be a Barnes & Noble bookstore built into the Apple Tablet, either as one of the showcase apps which launches with the device, powering a new book section in iTunes, or integrated directly into the Tablet's e-reader. The two companies are thought to be working closely together, increasing the likelihood that Barnes & Noble will be part of the announcement on Wednesday.
My wife really wants a backlit, decent sized reader device - the problem of "where to put all the books" being one we would rather not have. Of course, that might lead to us wanting 2 of the things, which is just the sort of outcome Apple has in mind, I'm sure.
If you're in Toronto and want to hear about what's new in ObjectStudio 8.2, VisualWorks 7.7, and WebVelocity 1.0, then head here at 6:30 PM this evening for the local STUG meeting. We'll be getting dinner and drinks afterwards, so come on out!
It's easy to create a new subsystem in VisualWorks or ObjectStudio, but how can you tell when it will run relative to other subsystems? Today's screencast shows you how to figure that out graphically.
Click to Play
You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Security theather is in full swing in Toronto, at least for the US bound flights. The stupidity began early today, at the entry area for US flights. A little tyrant named Carla was defining what was and was not a laptop bag. My backpack didn't fit her definition, which meant I had to go back to the desk to check my clothes bag. I mentioned her name to the people there at the Air Canada desk - they rolled their eyes, apparently familiar with her gatekeeping ways.
Once past the queen of laptop bags, the rest of it was just insane lines, followed by a complete inspection of every bag for every person coming through. I barely made my flight because of that - and there's simlpy no way that such a regime can be sustained in the long term, unless they want to severely cut down on the number of flights - it just takes too long. I suppose it's "fair" though - search everyone and gosh knows, you sure don't have to actually examine people passing through to assess actual risks. It's like "zero tolerance" at schools - remove all the judgment to make it completely fair (and utterly ineffective and annoying).
My actual flight seems ok (I'm typing this from the cabin of my flight). Uncrowded, comfortable enough, and the flight crew on the plane seem nice. I even got about an hour's worth of sleep while we waited in the de-icing line. At least I don't need to travel to tomorrow's event - it's at BWI, within minutes of home.
Randal is in the process of moving stonehenge.com over to Seaside:
Apparently, while I wasn't looking, some Very Smart People finally ported Pier to new Seaside, which I've been waiting for as a prerequisite to cutting www.stonehenge.com over to Seaside and away from Perl. It's a bit tricky to get it all installed, but I have this magical set of incantations
You can follow the link to get the details on those incantations :)
Unless you've been living under a rock, you know that Apple is supposedly set to introduce a tablet device (AKA the Apple Tablet, iSlate, etc.) at its latest event that will change the lives of every man, woman, and child on the planet. Sure, it could just be a fresh version of iLife and an 8GB iPhone 3GS, but we kinda doubt that. If you know what's best for you, you'll tune in for our minute-by-minute, live coverage of the event. There won't be a better seat in the house... well, except for wherever Steve Jobs is sitting.
I've usually ignored these events, but even I'll be bringing up the Engadget stream for this one. We'll see what happens; I'll be curious to know whether anything interesting beyond the tablet is brought out. I expect some kind of new streaming support for iTunes, which would really start making me ponder my cable bill...
This week's podcast will be broadcast on the live stream at justin.tv - Michael and I will be talking about what's been going on with WebVelocity development. There's been a lot, actually, and the internal development builds are finally reaching a usable state. We'll talk about what's coming down the pike for WV live at 4 PM EST on Friday, January 29th. You can pick up the podcast as per usual in the feed on Sunday, of course.
Engadget has the updates flying, but the big news is simple: the Apple iPad is here. Looks very nice - no word yet on e-reader functionality, but information coming out is via a shaky phone based audio feed :)
Update: Try Gizmodo. This thing is being watched by so many people that Engadget fell over.
It can be painful to put together the URL encoded data for a web form, or to decode the same thing by hand. Today's screencast shows you a small library that eases that task.
Click to Play
You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
And it wasn't just tech sites suffering: Some Internet service providers, such as the UK's Level1 Internet Services, told customers all the iPad attention was putting pretty much the entire Internet in a chokehold.
If you watch the show "Better off Ted", you recognize the title of this post as one of the fake ads from Veridian, the workplace on the show. It became obvious yesterday that Apple has tendencies in that direction - McGraw-Hill's CEO talked about the iPad a day before the event on CNBC, which brought on this:
McGraw-Hill is bigger than most of the publishers on this slide. But insiders say as soon as Terry shot his mouth off on CNBC, Jobs had the company cut from the presentation. We won't know for a few weeks if McGraw was only wrist-slapped, or if he's been thrown out of the game.
So does that make Steve Jobs the Veronica Palmer of Apple?
Dave Buck is considering another "Intro to VisualWorks" course offering:
I have some time opening up in March and since Simberon hasn't held an Intro to VisualWorks course in a while, I thought I'd check to see if there's enough interest to hold one. If you have enough people at one site who want to take a course (or any of the other courses we offer), I could also deliver an on-site course.
Follow the link and let Dave know if you're interested!
I'll have more photos later - my network connection here is shaky. We've gotten off to a good start, and we'll have an audio wrap up later today (1:30 PM EST).
With the recent (December 2009) releases of ObjectStudio 8.2 and VisualWorks 7.7, we gave a product update talk to the Toronto Smalltalk User's Group on January 26th, 2010. You can download the NC releases here. Here's a PDF Copy of the presentation. To watch, click on the viewer below:
Here's our audio wrapup from today's Baltimore event - we streamed it live earlier today.
To listen now, you can either download the mp3 edition, or the AAC edition. The AAC edition comes with chapter markers. You can subscribe to either edition of the podcast directly in iTunes; just search for Smalltalk and look in the Podcast results. You can subscribe to the mp3 edition directly using this feed, or the AAC edition using this feed using any podcatching software.
To listen immediately, use the player below:
If you like the music we use, please visit Josh Woodward's site. We use the song Effortless for our intro/outro music. I'm sure he'd appreciate your support!
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!
Some of you are probably wondering where the video from the recent events we held is - I did film everything in Seattle, Toronto, and Baltimore. Well, here's the deal: since we've been giving the same talks in each location, I'll eventualy post one of each (the best of the bunch). Additionally, I intend to hold them until after our London and Paris events (March 2nd and 4th, respectively). You can register for those events here (free) - I'll post the locations closer to the events themselves.
Georg Heeg eK is proud to announce the release of a new version of seaBreeze. Version 4.4 is available both via Cincom Public Store and as QuickStart Image.
It's based on VW 7.7 and Seaside 3.0; follow the link for more details, including how to get it.
Apple updated the iPhone software development kit on Wednesday to allow internet telephony apps to work on the 3G network. The little-noticed move effectively unlocks the ability for the iPhone — and the upcoming iPad — to be used as web phones.
That will help tremendously here in the US - of course, while traveling, you would still need a (pretty darn expensive) data plan to use Skype over 3G. It's progress though.
Slicehost tells me that the server running my virtual machine needs to be rebooted for some patches, so sometime between midnight and 2 AM tonight (US EST), this blog will be offline for a bit.
Update: The server update came and went, and things are back to normal
Julian Fitzell notes that necessity is the mother of invention:
In our work on other projects, we found the same portability challenges came up over and over and we wanted to use the tools we had developed for Seaside to address them. So we began to split out the Seaside-specific functionality, allowing us to leverage the generic parts it in our other work. And thus Grease was born.
Over the years there have been many, many attempts at portability layers for the various Smalltalk implementations; none has ever stuck. I have a bit more faith in this one, because it's being driven by the needs of an actual project, instead of by the more typical hypothetical needs of some abstract project.
Is MacMillan engaged in some kind of hardball with online vendors? Venture Beat noticed that they've disappeared from Amazon's catalog:
Go to Amazon.com. Search for any publication by Macmillan, one of the world's largest publishing firms. The Prince of Silicon Valley, perhaps, or Sarah's Key. Or last year's huge #1 bestseller The Gathering Storm.
No details, and everyone seems to be staying quiet - sounds like one of those periodic royalty rate battles to me...
In deference to those who haven't seen the ending yet, I won't talk about specifics. My general take? There was a point midway through season 1 where my interest really started to flag. Once it was clear that season 2 was going to be it, the show came back for me - I think a hard deadline really got the attention of Joss and the other writers, and they focused.
Still, you could tell that the endgame itself was rushed - the last 2 episodes in particular just raced to the conclusion - not unlike the movie "Serenity", where all plot threads got tied up more quickly than they should have been. Which is not to say that I was unhappy with how it ended - it's more to say that I would have liked the end to have taken place over about 2 more hours.
When I first set up this site on Slicehost, I pushed up a "how did I do it" post. I recently got an email telling me that I skipped a step of interest: how did I set up the actual Smalltalk blog server?
Well, I do that somewhat manually, because I'm familiar with the process. However, I created tools for this a long while back, and I just refreshed them this morning. There's still a manual bit of intervention - my tools aren't quite as finished as I'd like. However, it works, so here are the steps:
Load Silt from the Public Store
Under Tools, select "Blog Manager"
Click the "New" button
Fill in the required fields, click the Set Up button
Your blog has been set up
Save the image
This image can be used by starting it headless
I should also document how I start the server, since it's a bit different, and structured so that I can do live patching - I'll get to that soon.
Apple Seems to be being a bit slippery about the iPad and Flash:
The iPad-Flash disconnect first came to light by way of Apple blog AppleInsider.com. The gang at AI noticed that promotional images posted on Apple's Web site appear to depict the iPad displaying Flash-based content from NYTimes.com.
While they've been verbally open about Flash not being supported, the ads are something else again. While I understand the issues around Flash - bloat, battery drain, etc - the web is what it is, and Flash is a huge part of it. I think Apple is going to have to swallow hard and let it on board.
Update: Apple has yanked the ads in question, and Adobe has gotten desperate.
And then there are the people who just don't like Apple at all:
Do you believe that Apple is 100 percent evil in every way? Well we're here to help. Due to the overwhelming demand of 16 commenters, we present to you the Apple-free Engadget!
In the comments for my
earlier post, a bunch of people made the point that Flash
"should die" (in my experience, lots of tech folks feel that way).
However, you really have to ponder the
end user point of
viewin banning Flash from a device like the iPad:
Last, I am not buying any device that is intended to
become my primary media consumption tool when it
won't display most video that exists online, or
that someone might want or need to show me. That would be nuts. I
get that Apple wants to force everyone to begin offering an Apple
video alternative online, along with or instead of Flash-based
video, but I am not going to spend $600 or more to be their
consumer battering ram on this issue. If I spend that much money on
a piece of technology which is primarily designed as a way for me
to look at things online, I darn well better be able to see ALL the
video that's out there, and see it easily and
without hassle.
This is why I think that Apple is going to have to bend on this.
Yes, HTML5 is coming, and yes, it'll change things.
But- the end user adoption rate of HTML5 capable browsers will be slow, and it will continue to be a safe bet to assume that Flash will work for most people.
Which means that for most end users, the iPad is going to be a sub-optimal video viewing device. Say you take a trip, and want to keep up with some of your TV shows on the road? Too bad for you - Hulu will display a "plugin required" image.
I don't think this will be the slam dunk Apple thinks it'll be without Flash support.
We got significant snow yesterday - not like the huge storm back before Christmas, but 6 inches counts as the real deal around here - especially after the forecast calls for a dusting of 1-2 inches :)
If this report is true, then maybe PHP will stop being the red headed stepchild that everyone seems to love to hate:
Well, I was able to put all the pieces together on this one, finally, and I now understand exactly what is up: Facebook has rewritten the PHP runtime from scratch. This coming Tuesday, they will make a big announcement around this project, and will make it available as open source software. I'm not really sure of any of the details of the project, but I do know that Facebook hired someone two years ago to do this, and I'm relatively sure this was a one-man project during that entire time.
Still sounds awfully speculative to me, but I guess we'll know the quality of the reporting on Tuesday. In the meantime, if you want a faster web runtime - both for development and deployment - you should have a look at Smalltalk.
This week Michael and I spoke about the work going into WebVelocity 1.1 - both the work that's improving the editor, and the work in support of cloud based deployment. Michael also mentioned that more screencasts on this stuff should be coming soon, so stay tuned to his blog for that.
To listen now, you can either download the mp3 edition, or the AAC edition. The AAC edition comes with chapter markers. You can subscribe to either edition of the podcast directly in iTunes; just search for Smalltalk and look in the Podcast results. You can subscribe to the mp3 edition directly using this feed, or the AAC edition using this feed using any podcatching software.
To listen immediately, use the player below:
If you like the music we use, please visit Josh Woodward's site. We use the song Effortless for our intro/outro music. I'm sure he'd appreciate your support!
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!
Apple brought 5 major publishers to the iPad party, and apparently swooned them with the promise that they could set book prices themselves - something Amazon has been pushing back on. However, I wonder who the rubes really are:
Something's got to give — and before the iPad hits stores in March. Otherwise, given that iPhone's Kindle application will be on the iPad, consumers will have the choice of paying two different prices for the same book on the device. That isn't likely to suit Apple or the publishers.
I can definitely see Apple pulling a shoulder shrug at launch time (or shortly thereafter) and dropping prices down to the level Amazon is setting (or even below as a competitive move) - with the explanation that they really have no choice, given Amazon's market power in the space.
Either way, I expect the price for e-books to drop. The marginal cost of delivery is around zero, and that means that markup will be driven down - just as it has been in the music world via the competition between Amazon and Apple...
Google is making a good move to cut off legacy browsers (IE 6 being the main legacy browsre, but also the 2.x series of Firefox):
Many other companies have already stopped supporting older browsers like Internet Explorer 6.0 as well as browsers that are not supported by their own manufacturers. We’re also going to begin phasing out our support, starting with Google Docs and Google Sites. As a result you may find that from March 1 key functionality within these products -- as well as new Docs and Sites features -- won’t work properly in older browsers.
They have links to the latest generation of all the main browsers, so there's really no excuse to keep using something like IE6. Even if your corporate intranet was built for IE6 (like *cough* the one I have to use *cough*), IE7 and IE8 both do a fine job of dealing with that. There's really no reason to stay with a browser rev that came out with the launch of Windows XP :)
I got a question via Twitter earlier today about creating a RESTful web service in Smalltalk - I'll do a screencast on this tomorrow, but I thought a quick walkthrough might be useful as well. This example uses the VisualWorks Web Toolkit (which would also work in ObjectStudio) - I'll create a Seaside based example later this week.
So: step one, load the Web Toolkit - right click and select "Load" after getting the Parcel Manager open:
Once that's in, connect to the public store repository, and load JSONReader - that's just what I'm using in this example. You could just as easily answer an XML document using the SAX driver, or some other format entirely. Anyway, load this via a right click on the latest version:
Next, you need to create a "site definition". You don't need to do this for each service; just for each named site (path) you want to support. You'll have two files: webtools.ini (copy that over from the $(VISUALWORKS)/web directory and edit it), and services-site.ini. The name of the latter file is whatever you want to call it, so long as you reference it in webtools.ini:
Now you can create your new service. Define a subclass of SingleThreadModelServlet:
I added the data instance variable just to have something to respond with. The superclass I'm using ensures that each request will spawn a new instance (thus sharing no data) instead of assuming a stateless model. Next, add these two methods:
initialize
"Initialize a newly created instance. This method must answer the receiver."
super initialize.
data := Dictionary new.
data at: 'name' put: 'James Robertson'.
data at: 'title' put: 'Smalltalk Product Evangelist'.
doGet
"entry point for this service"
| content |
response contentType: 'application/json'.
response status: 200.
content := self data asJson.
response contentLength: content size.
response write: content
Finally, define a listener so that you can make requests. In the launcher, over on the far right is a button for doing that. Press that, then create the listener (on any available port), and click Create and Start:
If you use some application that expects JSON, you'll get the actual object. And that's it - having the service read from a database (etc) is just a detail - the actual RESTful part is pretty easy. Questions? Send them here.
Once upon a time, Apple made the machines that made me who I am. I became who I am by tinkering. Now it seems they're doing everything in their power to stop my kids from finding that sense of wonder. Apple has declared war on the tinkerers of the world. With every software update, the previous generation of "jailbreaks" stop working, and people have to find new ways to break into their own computers.
Why am I chuckling? Consider the car tinkerer of the 1950s, transported in front of a modern car. I rather suspect he'd say a whole lot of the same things. Have we lost something since then? Maybe, but then again, cars are safer, simpler, and more reliable now. I think we'll be able to say the same thing about computing devices, too.
The computer sector, like audio systems (back in the 20's) and cars (up until the 50's or so), is moving past the tinkerer stage. It's less something to rage against than it is something that just is...
Well, this makes the next few weeks exciting. I was setting up my trip to London and Paris (for our next round of conferences), and I couldn't find my passport - it wasn't in the place I normally leave it. Finally, I opened the dryer, and sure enough: there it was.
Damaged beyond use, so I investigated the process. I couldn't find my birth certificate (with a damaged passport, you need proof of citizenship along with the damaged passport) - but fortunately, my mom still has a copy (and for safety, I ordered a new one from the state I was born in).
After that, I just need to run down to the local post office, pay a rather large fee, and wait. I'll have to expedite it, but that's just the way it goes...
Here's Roland Wagener of the Georg Heeg company, talking about a project he did to match printed graphic materials match up as closely as possible with a website. To watch, click on the viewer below:
Gilad Bracha sees the iPhone and the iPad, and has decided that they portend the end of the filesystem as we know it:
Which brings us to the programmer experience. File APIs will disappear from client platforms (as in the web browser). So programmers will become accustomed to working with persistent object stores as provided by HTML 5, Air etc. And as they do, they will get less attached to files as code representation as well.
Well, not so fast. What's actually happening is that the end user experience (apps manage the file system for you on an application specific basis) is diverging from the developer experience (writing the code to make that "magic" possible. Take iTunes or iPhoto - I never really look at the way either application manages things. From my end user standpoint, there are two folders I don't need to pay attention to (Music and Pictures). Underneath all of that is a mass of files (raw photos, XML metadata, edited photos, etc). All of that stuff is stored in... files.
Heck, even if you think everything will end up in the cloud that won't change. The end user will end up seeing application defined portals into their data, while the back end will be some combination of application specific file storage, databases (etc) - all in a filesystem somewhere.
As to developers moving away from files - well. Anyone who uses a source code control tool is moving in that direction already. It happens to be the case that the simplest artifact to go into these tools is usually the file, but those files are increasingly organized into some kind of package structure that is more meaningful.