. .

gadgets

Google Plus Ate My iPhone

March 7, 2012 13:00:00.000

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....

posted by James Robertson

 Share Tweet This

Macintosh

Apple Breaks Their Tools

March 7, 2012 11:40:37.258

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....

posted by James Robertson

 Share Tweet This

st4u

ST 4U 203: Scratch Editions in Envy

March 7, 2012 9:18:28.076

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:

ENVY.

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:

Scratched

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:

Scratched

Now all you need to do is tell ENVY to make that a new edition:

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.

Technorati Tags: , ,

Enclosures:
[st4u203-iPhone.m4v ( Size: 2497262 )]

posted by James Robertson

 Share Tweet This

js4u

JS 4U 137: JQuery Find Part 3

March 6, 2012 8:11:48.423

Javascript 4 U

Today's Javascript 4 You wraps up our look at the JQuery find() 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:

find()

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:

Technorati Tags: , ,

Enclosures:
[js4u137-iPhone.m4v ( Size: 2630240 )]

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk in NYC

March 5, 2012 20:46:16.210

The Smalltalk STUG in NYC is meeting tomorrow night:

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.

Technorati Tags:

posted by James Robertson

 Share Tweet This

skyrimAAC

Thu'umcast 23: Sneaky (AAC)

March 5, 2012 20:34:01.730

Thu'umcast

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.

You can subscribe in iTunes (or any podcatcher) using this feed, or this one for the AAC edition. We'll add the iTunes specific links as soon as they are available. In the meantime, join the Facebook Group and follow us on Twitter. If you play on Steam, join the Steam Group. Like the music? Pay Sbeast a visit, we thank him for letting us use it!

Links to all episodes and other information can be found on the Thu'umcast page.

If you want to download the podcast directly, we've provided it in three formats:

Got feedback? Tweet us!. Enjoy the podcast, and we'll see you in Skyrim!

Technorati Tags: , ,

Enclosures:
[thuum23.m4a ( Size: 21854686 )]

posted by James Robertson

 Share Tweet This

skyrim

Thu'umcast 23: Sneaky

March 5, 2012 20:33:32.210

Thu'umcast

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.

You can subscribe in iTunes (or any podcatcher) using this feed, or this one for the AAC edition. We'll add the iTunes specific links as soon as they are available. In the meantime, join the Facebook Group and follow us on Twitter. If you play on Steam, join the Steam Group. Like the music? Pay Sbeast a visit, we thank him for letting us use it!

Links to all episodes and other information can be found on the Thu'umcast page.

If you want to download the podcast directly, we've provided it in three formats:

Got feedback? Tweet us!. Enjoy the podcast, and we'll see you in Skyrim!

Technorati Tags: , ,

Enclosures:
[thuum23.mp3 ( Size: 15966711 )]

posted by James Robertson

 Share Tweet This

st4u

ST 4U 202: XML Parsing in Pharo

March 5, 2012 8:54:22.512

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:

xml

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:

Technorati Tags: , ,

Enclosures:
[st4u202-iPhone.m4v ( Size: 4520467 )]

posted by James Robertson

 Share Tweet This

podcastAAC

IM 68: There is so a Spoon (AAC)

March 4, 2012 10:29:02.571

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!

Technorati Tags: ,

Enclosures:
[im68.m4a ( Size: 17157626 )]

posted by James Robertson

 Share Tweet This

podcast

IM 68: There is so a Spoon

March 4, 2012 10:28:19.761

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!

Technorati Tags: ,

Enclosures:
[im68.mp3 ( Size: 12390016 )]

posted by James Robertson

 Share Tweet This

news

Is Anyone Surprised By The Volt Fail?

March 3, 2012 10:29:04.934

I'm not surprised by the failure of the Volt:

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.

Technorati Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 201: Using the Case Statement

March 2, 2012 11:09:21.915

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:

case statement.

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:

Case Statement

Now execute the removal, and try the last line:

Case Statement

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.

Technorati Tags: , ,

Enclosures:
[st4u201-iPhone.m4v ( Size: 3579475 )]

posted by James Robertson

 Share Tweet This

smalltalk

Summer Of Code Ideas?

March 1, 2012 11:45:32.276

Spotted in comp.lang.smalltalk Google Group

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.

Technorati Tags:

posted by James Robertson

 Share Tweet This

js4u

JS 4U 136: JQuery Find Part 2

March 1, 2012 8:16:54.248

Javascript 4 U

Today's Javascript 4 You continues our look at the find() function in JQuery. 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:

find()

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:

Technorati Tags: , ,

Enclosures:
[js4u136-iPhone.m4v ( Size: 1442801 )]

posted by James Robertson

 Share Tweet This

smalltalk

VisualWorks Can Make Pretty Apps

February 29, 2012 16:16:00.000

It might take some effort on your part, but have a look at what Cognitone has done

Technorati Tags:

posted by James Robertson

 Share Tweet This

smalltalk

Learn Amber

February 29, 2012 14:33:34.000

There's a YouTube channel full of screencasts

Technorati Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 200: A Case Statement in Smalltalk

February 29, 2012 10:59:24.463

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:

Case Statement.

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:


Object subclass: #CaseStatement
    instanceVariableNames: 'cases defaultCase '
    classVariableNames: ''
    poolDictionaries: ''



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:


addAll: associationsOrDictionary
	^self addAll: associationsOrDictionary default: self simpleDefaultCase.

addAll: associationsOrDictionary default: default
	^self new addAll: associationsOrDictionary default: default

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:


addAll: associationsOrDictionary default: default
	|associations |
	
	associations := associationsOrDictionary isDictionary
		ifTrue: [associationsOrDictionary associations]
		ifFalse: [associationsOrDictionary].
	associations do: [:each | self addCase: each].
	defaultCase := default

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.

Want the code? Download it here.

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.

Technorati Tags: , ,

Enclosures:
[st4u200-iPhone.m4v ( Size: 5173702 )]

posted by James Robertson

 Share Tweet This

copyright

Stupid is as Stupid Does

February 29, 2012 8:31:23.090

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....

posted by James Robertson

 Share Tweet This