Welcome to episode 8 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today we talk about some of the more amusing quest glitches, some of the cool stuff we've acquired on the quests, and about the things we've been up to in the game. Make sure to check out the community page for some of the more interesting things we've run across.
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
Welcome to episode 8 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today we talk about some of the more amusing quest glitches, some of the cool stuff we've acquired on the quests, and about the things we've been up to in the game. Make sure to check out the community page for some of the more interesting things we've run across.
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
Today's Smalltalk 4 Yougoes through deleting objects using Glorp - which requires us to specify a primary key in our table mapping. The initial setup used is described here. 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 look at how to delete data from a database using Glorp - which means that we need to make a small modification to our #tableForEMP: method in class EmpSystem:
Note the small change - we've designated one column as the primary key. Ideally, that column would be more sensible than the one in this example, but the point is, you need to specify that. From here on out, Glorp will treat that column as the primary key, even if it's not specified that way in the database. Now we can actually do a deletion:
Executing that now works, and wraps the #delete: in a transaction for us. We can verify this by executing a query:
session readOneOf: Emp where: [:each | each firstName = 'Wilma3'].
And inspecting the results:
And that's about it for today.
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.
As I previously reported, Cincom is changing the way they deliver updates - Arden Thomas pushed out a few more details today, and asked for comments:
We are also experimenting with the delivery mechanisms of the maintenance releases, with full installations or in-place updates. The fall maintenance release full releases will be: ObjectStudio 8.3.1 and VisualWorks 7.8.1. VisualWorks will have an optional process to update a 7.8 installation. The future target will be online updateable maintenance service packs.
I'll share more details as they make them public - I think we'll try to get Arden on the podcast when that happens to talk about it, too.
Today's Javascript 4 You looks at selecting page elements based on a partial string match with the start of the attribute value. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube.
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.
I had a great time at Peak6 today - I want to give a huge set of thanks to Karla Yeh, who made me feel welcome from the moment I walked in the door this morning. The whole group at Peak6 was nice, and the talks I gave were well attended (and had good questions as well). I hope the audience enjoyed the day as much as I did - I'll be posting the slide decks I used soon.
Today's Smalltalk 4 You goes through deleting objects using Glorp - which requires us to specify a primary key in our table mapping. The initial setup used is described here. 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 look at how to wrap statements that will change a database in a transaction using GLORP. As the example, we'll revisit deleting. Recall that the following code implicitly wraps the #delete: in a commit:
"deleting - uses a transaction for is"
myEmp := session readOneOf: Emp where: [:each | each firstName = 'Wilma4'].
session delete: myEmp.
If you want to control that completely, simply put the entire sequence into a transaction, using #beginUnitOfWork
"specify a unit of work so we can rollback"
session beginUnitOfWork.
foundEmp := session readOneOf: Emp where: [:each | each firstName = 'Wilma4'].
session delete: foundPerson.
session rollbackUnitOfWork.
That will rollback the deletion. If you wanted to commit it, use #commitUnitOfWork instead. That's all there is to it.
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.
My wife's old XP box developed a bad sector problem on its hard drive, and it's old enough that it just wasn't worth it to fix - we dumped the data to a USB drive, and ordered a Mac Mini. She'll still need Windows access for some old apps, but that's what Parallels is for :)
The last non-VM Windows box in the house exists for only one reason now - to provide wired internet access to my XBox when I use the XBox in the exercise room :)
Welcome to episode 9 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today Michael, Austin, and James talk about the Daedra quests, the somewhat underwhelming end to the Alduin dragon quest, and the glitches that seem to pile on higher the later in the game you go.
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
Welcome to episode 9 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today Michael, Austin, and James talk about the Daedra quests, the somewhat underwhelming end to the Alduin dragon quest, and the glitches that seem to pile on higher the later in the game you go.
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
I may have to try this out - I upload to S3 a lot:
I needed a client to interface with S3 from Linux to store and retrieve archives and backups up to 100s of Mb large. Although I had already written a client for this web service in Pharo some time ago, I thought it would not be good enough for these amounts of data. Furthermore, it had no command line interface. So I Googled and found s3cmd. This installed easily and quickly in Ubuntu. Uploading/downloading some small test files went OK. However, uploading large files gave all kinds of strange errors, even though I was doing this from EC2 directly on the Amazon network. I don't know Python so I was not capable of debugging the tool.
Welcome to episode 57 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week dave Buck and I spoke about two things - the talks I gave at Peak6 on December 8 (2011), and Dave's experience with teaching his 11 year old son Smalltalk.
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 57 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week dave Buck and I spoke about two things - the talks I gave at Peak6 on December 8 (2011), and Dave's experience with teaching his 11 year old son Smalltalk.
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!
The title I've used seems to be the operating assumption behind music label deals with digital music systems (such as Spotify). GigaOm has lots of details, but it boils down to this: "heads we win, tails you lose". The more I read about this stuff, the more I question the very concept of copyright. The basic idea seems sound, but I'm having a hard time seeing how artists would do worse under an utter free for all system.
Today's Smalltalk 4 Youlooks at refreshing objects that we have previously read using Glorp - this may be necessary if another process (or user) has updated the source database information since we last read it. The initial setup used is described here. 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 look at how to refresh objects that you have read out of the database. For simple client/server apps, this might never be needed, but in any app where multiple users could be reading and writing the same data, you'll likely end up using this. First, let's read an object into memory:
Now, assume that some time has passed, or an event has been received indicating that the object in question has changed on the database side. To ensure that we have the most recent copy, we do this:
"time passes....
emp := session refresh: emp.
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.
Welcome to episode 10 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today we speculate about the eventual DLC, gripe a bit about the perk/leveling system, and cover a fascinating quest glitch involving a dremora, the stormcloak guards in Whiterun (after the end of the civil war, obviously), and The Companions. Hot tip: don't summon a Dremora in Whiterun to "help" fight a dragon :)
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
Welcome to episode 10 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim
Today we speculate about the eventual DLC, gripe a bit about the perk/leveling system, and cover a fascinating quest glitch involving a dremora, the stormcloak guards in Whiterun (after the end of the civil war, obviously), and The Companions. Hot tip: don't summon a Dremora in Whiterun to "help" fight a dragon :)
If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.
Everything that was recorded at the 2010 conference is now uploaded to the ESUG Video Channel
Update: Video from the 2011 conference is still being processed. They have over 4GB of raw feed, and trust me - it's a lot of work dealing with that :)
Today's Javascript 4 You looks at the clone() function in JQuery, and contrasts it with the appendTo() function. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube.
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 how to use sequence numbers as part of your table description with Glorp; in the process of doing that, we modify our simple table description, drop the table from Oracle, and then add it back. Finally, we add new data and check that the sequence number was used as expected. 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 make some changes to our simple example - adding a real primary key. That key will be a sequence number in the database, so we'll have to do the following:
Drop the old table
Modify the descriptor and mapping class in Smalltalk
Add the table back to the database
We'll then add some data to the table again to see whether our sequence generator works as expected. First, add an "id" variable to class Emp, and then make the following three changes to class EmpDescriptor:
Note two things: the type of our id variable is "sequence", and we made sure that it's the primary key. Now let's drop the table (in a separate transaction from where we'll add it back)
"we have updated the table description - need to drop the old table and re-add.
If that's not practical, mod it with db tools"
accessor dropTables: session system allTables.
"now create with the sequence"
session inTransactionDo:
[
session system platform areSequencesExplicitlyCreated
ifTrue:
[session system allSequences do:
[:each |
accessor createSequence: each
ifError: [:error | Transcript show: error messageText]]].
session system allTables do:
[:each |
accessor createTable: each
ifError: [:error | Transcript show: error messageText]]]
If you turned SQL logging on, you'll see the transactions in the Transcript. Now let's add some data - note that we do not set the id - Glorp handles that for us using Oracle facilities:
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.
Farhad Manjoo has pretty much summarized how I feel about Amazon, when compared to physical bookstores:
Compared with online retailers, bookstores present a frustrating consumer experience. A physical store—whether it’s your favorite indie or the humongous Barnes & Noble at the mall—offers a relatively paltry selection, no customer reviews, no reliable way to find what you’re looking for, and a dubious recommendations engine. Amazon suggests books based on others you’ve read; your local store recommends what the employees like. If you don’t choose your movies based on what the guy at the box office recommends, why would you choose your books that way?
Consider the kind of history books I look for - I tend to get interested in a period, and then I want other books on that period. At the local bookstore, I'll be lucky if I can find even a single book on the topic at hand, and no one there is likely to know anything about it. At Amazon? I have a nearly endless selection, and the recommendation engine pushes things that I'm highly likely to be interested in.
So sorry, I can brew my own coffee, and the chairs in my house are pretty nice, thanks :)