Last week, my phone (an iPhone 4) started losing charge rapidly - it would go from fulll to red within 2 hours, just sitting idle on my desk. It was also warm to the touch, indicating that background jobs were obviously chewing up the CPU and battery. But what?
As it happens, I have lots of things providing me notifications - facebook, Twitter, Drudge, you name it. I started turning notifications off, but that wasn't helping. I finally sat back and replayed when this started happening, and came up with it: a friend used the Google "hangout" feature earlier in the week, and I responded to it. Since then, the problem was rampant. I turned off all notifications for Google Plus, and bam - problem solved.
I'm not sure what Google did wrong, but it sure was using up my phone's useful life. I'd be curious to know whether or not anyone else has seen this....
I had a fairly dismaying time with Lion this morning; one of the changes Apple made has really impacted my workflow in a negative way. The change is pretty stupid, too. Consider how I would deal with an image in Snow Leopard:
Export a .pct image from a video using QuickTime Pro (the old version; the new version still stinks)
Open the image in Preview
Crop, resize, save, all in the same session
Now ponder the *cough* improved *cough* workflow:
Export a .pct from a video using QuickTime Pro (the old version; the new version still stinks)
Open in Preview
Export to a PDF
Open the PDF, export to a JPG (or PNG, etc)
Open the new file, crop, resize, export yet again
What the heck was wrong with Save As? Why do I have to walk through PDF, when it's clear that Preview still handles all the image formats? Who at Apple thought all of these extra steps served a purpose? Who at Apple is going to fix the problem? And who decided that eliminating Save As across all the stock tools and replacing it with Export was helpful? I understand the versioning idea, but heck - that's not how every other blasted tool on the planet works. Give me back my old workflow - if I wanted to have a crappy time working, I'd use Office with the idiotic ribbon....
Today's Smalltalk 4 You looks at "scratch" editions in VA Smalltalk. If you just grab an application and start coding, it's what you get - and today we'll look at what that means. 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 what a "scratch" edition in VA Smalltalk means. Recall that ENVY tracks every change you make in VA; that means that a version of your code always lands in the repository. So if you don't create a new edition, one gets created for you. Make a small change in some application:
You'll get prompted about creating a scratch edition. That's simply a new edition you haven't named. Go ahead and do so; you'll see this:
Now all you need to do is tell ENVY to make that a new edition:
And you'll have a new "clean" edition to work with.
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.
The presentation will introduce the debut of S8. S8 is Smalltalk running over javascript execution engines on all major browser flavors. Its a generic framework but with initial implementations and objectives for the development of social networking and mobile applications. The presentation will discuss examples of this including the targetting of Android devices.
Follow the link for more details, and for time/location info.
Welcome to episode 23 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 went back to the perk trees - check out the Skyrim Perk Calculator to follow along. We talked about the "sneaky" skills - and along the way we got into the dragon priest masks, some of the RPG aspects of the game, and a few others things.
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 23 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 went back to the perk trees - check out the Skyrim Perk Calculator to follow along. We talked about the "sneaky" skills - and along the way we got into the dragon priest masks, some of the RPG aspects of the game, and a few others things.
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 You looks at using XML 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 68 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week I interviewed Craig Latta about Spoon - his technology for making Smalltalk systems small and modular. It's a lot more than that, as you'll hear on the podcast - his approach also brings the ability to use general development tools (i.e., text editors) for development. If you want to see more about Spoon, check out Craig's screencast on it.
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 68 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.
This week I interviewed Craig Latta about Spoon - his technology for making Smalltalk systems small and modular. It's a lot more than that, as you'll hear on the podcast - his approach also brings the ability to use general development tools (i.e., text editors) for development. If you want to see more about Spoon, check out Craig's screencast on it.
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!
GM, which is based in Detroit, announced to employees at one of its facilities that it was halting production of the beleaguered electric car for five weeks and temporarily laying off 1,300 employees.
I suspect that the production shutdown will be more prolonged than that. Electric cars are a luxury status item, not a useful transit option. Why do I say that? Well, consider: if you live in the suburbs, the range problem makes them highly impractical. If you live in the city, where that's less of an issue, there's the charging problem. Where, pray tell, do you charge one for the multiple hours you need if you usually park it on the street?
Hybrids make perfect sense to me; pure electric vehicles? Not so much. They've been "the car of the future" for a century now, and they'll still be "the car of the future" for a very, very long time.
Update: To clarify - yes, the Volt has a gas tank, so it has the range of a regular car. The fact remains though: the battery is an expensive brick for most people. If you live in the city and use street parking, you'll never get to charge it. If you live in the suburbs, you'll only get to charge it at home (and based on the charge time using a standard 110 outlet, never enough). This car solves no problems, but it sure gives the owner new ones to deal with.
Today's Smalltalk 4 You looks at using our simple case statement class from last time. 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 use of the case statement code we built last time. Here's the workspace we'll use:
dict := Dictionary new.
dict at: 1 put: [Transcript show: 'This is One'].
dict at: 2 put: [Transcript show: 'This is Two'].
case := CaseStatement new.
case addAll: dict.
case caseAt: 1.
case caseAt: 2.
case caseAt: 3.
case removeCase: 2.
case caseAt: 2.
That creates a simple case statement with two cases (and at the end, removes one of them). Try the first three lines after defining the dictionary and adding it to the CaseStatement - you should see this in the Transcript:
Now execute the removal, and try the last line:
After removing the second case, we get the default case when trying it (as expected). That's it - we now have a working Case Statement object in Smalltalk. Next time you run into someone asking about one, you'll have 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.
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....