Let we apply this year again for the Google Summer of Code, which as you know is a Google's stipendium program for students to encourage them working on open-source projects [1]. Ok, our first step as community is to collect ideas for possible projects and to apply to the GSoC as an organization.
Follow the link to get involved in the conversation.
Join the Facebook Group to discuss the tutorials. You can view the archives here.
To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at implementing a case statement construct in VA Smalltalk. If you would like to download the code, links are below, in the walkthrough section. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
You can also watch it on YouTube:
Today we'll build a simple case statement class in VA Smalltalk. Why? People are often surprised that Smalltalk does not have one, so building one is a good way of showing how Smalltalk works to a new user, while implementing a concept that's familiar to them. To get started, define a new class:
The cases will be stored in a dictionary, and the default case will be held in the defaultCase variable. In this example, we'll default that to a simple Transcript write. Next, let's add the instance creation code:
Here we allow for the definition of a default case, and for the inbound cases to be either a dictionary or a collection of associations. We'll see how that gets handled in the instance code:
Note the conversion of string keys to symbols - that ensures that we have unique keys. For the values, we simply assume any object that responds to #value. It'll probably be a block, but that's not all that could be done there. Now let's look at the execution:
caseAt: keyName
"execute the corresponding value"
| key val |
key := keyName isString
ifTrue: [keyName asSymbol]
ifFalse: [keyName].
val := self cases at: key ifAbsent: self defaultCase.
^val value
Again, we convert the key if necessary, then do a lookup. If that fails, we simply use the default case. Finally, we send #value to the looked up case. That's it - we now have a case statement in Smalltalk.
Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.
I see that it's not just the RIAA and MPAA that have terminal stupidity - there are artists out there who are afflicted as well. Consider what Spotify calls "windowing" - releasing music to iTunes (and other digital sales sites) prior to letting them play on streaming services. The theory is that this amplifies sales. That theory is just stupid, as John Irwin of Spotify explains:
Certainly it's not supported at all by data and facts. There's no data to suggest that it does [negatively affect] sales. To the contrary, our indicators point out that if you want to increase sales, you ought to be increasing access to your music. People want to listen to music--they don't want a 30-second sample. It's kind of wrongheaded to think you're creating scarcity by withholding [music from Spotify]. When you withhold a record on Spotify, it is available on torrent sites, on Grooveshark, as well as on YouTube likely. You're not creating any kind of scarcity.
The reality is this: everything you could download is available for free if you spend a couple of minutes looking. Most people are willing to pay if you make it simple enough. Make it hard, and you'll just increase piracy. That then generates idiocy like SOPA and ACTA, as a response to the eariler stupidity. It becomes a really vicious circle, in which no one wins....
Join the Facebook Group to discuss the tutorials. You can view the archives here.
To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at using HTTP in Pharo Smalltalk. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Welcome to episode 67 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week Dave and I talked to Dave Thomas (of OTI fame) on the broad topic of whether "objects have failed us". That came up based on a thread floating between the Squeak and VWNC mailing lists recently. After the chat, Dave sent us a PDF presentation he's given on this topic.
You can subscribe to the podcast in iTunes (or any other podcatching software) using this feed directly or in iTunes with this one.
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. You can also download the podcast in ogg format.
If you like the music we use, please visit Josh Woodward's site. We use the song Troublemaker for our intro/outro music. I'm sure he'd appreciate your support!
If you have feedback, send it to jarober@gmail.com - or visit us on Facebook - you can subscribe in iTunes using this iTunes enabled feed.. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!
Welcome to episode 67 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week Dave and I talked to Dave Thomas (of OTI fame) on the broad topic of whether "objects have failed us". That came up based on a thread floating between the Squeak and VWNC mailing lists recently. After the chat, Dave sent us a PDF presentation he's given on this topic.
You can subscribe to the podcast in iTunes (or any other podcatching software) using this feed directly or in iTunes with this one.
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. You can also download the podcast in ogg format.
If you like the music we use, please visit Josh Woodward's site. We use the song Troublemaker for our intro/outro music. I'm sure he'd appreciate your support!
If you have feedback, send it to jarober@gmail.com - or visit us on Facebook - you can subscribe in iTunes using this iTunes enabled feed.. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!
After some optimizations in both Seaside and AJP I managed to break 8000 requests / sec with a single Pharo 1.3 image. Thanks to SystemProfiler I knew where to look. This is with a single request handler that just returns a two byte response. It doesn't involve any rendering, sessions, continuations or whatsoever but it kicks on the full Seaside request handling machinery with a request context and everything.
It would be interesting to see how many requests a more "normal" set of pages could handle, but this sounds pretty cool.
In response to a user who asked about a possible Netflix app for the BlackBerry Playbook tablet, Netflix's Twitter support account replied that the company has no current plans to support BlackBerry devices, including the Playbook.
Most people don't want two phones/tablets (one for work, one for personal use) - they want one. Given that, this kind of thing makes the path in front of RIM pretty darn hard to thread....
Today's Smalltalk 4 You looks at raising exceptions in VA Smalltalk. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
You can also watch it on YouTube:
Today we'll take a look at raising exceptions (either your own or existing ones already defined) in VA Smalltalk. We'll use a somewhat artificial example to demonstrate:
This code raises the MessageNotUnderstood exception when it sees that we are trying to add a string to a number. The larger point is that this is how you raise an exception in VA (or most other Smalltalks) - see class Exception for the full range of API options.
Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.
Join the Facebook Group to discuss the tutorials. You can view the archives here.
To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.