. .

itNews

It Wasn't Dead Yet?

April 26, 2010 0:10:00.000

Spotted in Slashdot

In a brief press release buried within Sony Japan's website, the company announced that they would be ending sales of the classic 3.5 inch floppy disk in the country in March of 2011. Sony introduced the size to the world in 1981, which saw its heyday in the 1990s. Sony has been one of the last major manufacturers to continue shipments of the disk type they helped develop, but had ended most worldwide sales in March of this year. The company's production of the 3.5 inch floppy ceased in 2009

I had no idea that you could still buy those things. On a slightly more serious note: "back in the day", lots of people did backups on floppies (I well remember the multi-disk flip operation). If you actually have data from that era that you need to access, it's well past time to fire up any old PC's you still have in working condition and transfer the data :)

Technorati Tags:

posted by James Robertson

 Share Tweet This

smalltalk

Array Binding with VisualWorks and Oracle: Video

April 26, 2010 6:48:32.939

Today's Smalltalk Daily looks at using Array Binding against Oracle (version 9 and up) with VisualWorks. If you're looking for a particular topic, you can find it with the Media Search application on our site.

The code used is below; To watch, click on the viewer:


"The following Workspace examples will show the performance improvements when using array 
binding and array fetching in VisualWorks."

"Connect to an Oracle database."
conn := OracleConnection new.
conn username: 'username';
password: 'password';
environment: 'ORACLEDB'.
conn connect.

sess := conn getSession.

"Drop the test table if existed."
sess prepare: 'DROP TABLE TESTTABLE';
	execute;
	answer;
	answer.

"Create a test table."
sess prepare:  'CREATE TABLE TESTTABLE(
	NUMMER int ,
	BEMERKUNG varchar2 (30)
)';
	execute;
	answer;
	answer.

"Set the number of records being inserted."
loopCount := 1000.

"The SQL used to do inerst."
sql := 'INSERT INTO TESTTABLE VALUES (?, ?)'.

"Insert: not using array binding."
sess prepare: sql.
insertTime1 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
         sess bindInput: (Array with: i with: 'test');
		execute;
		answer;
		answer.
	].			
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent without using array binding: ', insertTime1 asFloat printString.

"Insert: Using array binding."
insertTime2 := Time millisecondsToRun: [
|bindArray numArray stringArray |
    numArray := Array new: loopCount.
    stringArray := Array new: loopCount.
	1 to: loopCount do: [ :i|
		numArray at: i put: i.
		stringArray at: i put: 'test'.
	].			
	bindArray := Array with: numArray with: stringArray.
	sess prepare: sql.
         sess bindInput: bindArray;
		execute;
		answer;
		answer.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent using array binding: ', insertTime2 asFloat printString.

"Set times to repeat."
loopCount := 1.

"Set the SQL to do the fetch."
sql := 'SELECT * from TESTTABLE'.

"Default value of blockFactor is 1."
sess blockFactor: 1.

selectTime1 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when blcokFactor is 1: ', selectTime1 asFloat printString.

"Set blockFactor to 100."
sess blockFactor: 100.

selectTime2 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when blcokFactor is 100: ', selectTime2 asFloat printString.

"Set blockFactor to 500."
sess blockFactor: 500.

selectTime3 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when blcokFactor is 500: ', selectTime3 asFloat printString.


You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This

smalltalk

Scratch on the Podcast

April 26, 2010 8:35:10.000

This Tuesday at 9 PM EDT we'll be doing the podcast - Listen live as we talk to John McIntosh and John Maloney about Scratch.

I'm sure the topic of the new Apple language regime for the iPod and iPhone will come up, but we'll primarily be focused on what Scratch is, and what kind of reception it's had in the educational community

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This

management

Reaping What You Sow

April 26, 2010 10:11:55.000

Now Apple is finding out about the kind of distrust their new "our languages only" policy is setting up with developers - witness the rumor that flew around the internet yesterday, ultimately ending in an email that Steve Jobs felt compelled to answer personally:

We heard a rumor last week about Apple making some big changes to the Mac OS X platform, let’s say to 10.7, in order to make it similar to iPhone OS and introduce an App Store for Mac applications that should be approved by Apple first. People started complaining about it, and I guess this would be the worst thing that could happen to a Mac developer, indeed. There are entire business built on top of the open nature of Mac OS X, and Apple just can’t change it anymore

It's a fairly absurd rumor, but - ponder the fact that it started to gain traction. That's the hole Apple has dug itself with some developers. As I've said before, it's too early to tell whether enough developers are angry enough to impact Apple... but this was an interesting data point.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

sports

The NFL Needs MoneyBall

April 26, 2010 13:15:43.000

Spotted in Wired Top Stories:

Most NFL teams have a sucky strategy at selecting their draft picks. Why? They're not looking at the numbers and crunching the data.

A few years ago Moneyball showed up, and soon thereafter, it wasn't just teams with less money (like the Oakland A's) that were zeroing in on "the stats that matter". Heck, the Red Sox suddenly became a team that could win a World Series after their new ownership bought into the idea.

Wired thinks it's high time that the NFL followed suit. I'm sure that the long suffering fans of the Detroit Lions would agree :)

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Argentina Leads the Way

April 26, 2010 15:30:29.000

For the upcoming Google "Summer of Code" projects, four of the five projects are being led by people from the Argentinian Smalltalk community. Looks like the Smalltalks conference series has been doing good things down there :)

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

gadgets

Something Apple Needs to Provide

April 26, 2010 19:16:18.000

Seriously, Apple - it's 2010 now:

Following Opera's script in building grassroots hysteria to goad Apple into approving a contentious app, developer Greg Hughes is teasing a video of his Wi-Fi Sync app to the peoples of planet internet. As the name implies, the app promises a complete sync of your iPhone or iPod touch with iTunes without having to tether and looks pretty straightforward

Can we get this out of the box?

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

humor

Wally Explains the 4G iPhone Mess

April 26, 2010 22:18:36.000

Scott Adams hits it out of the park :)

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

smalltalk

Using LOBs with Oracle and VisualWorks

April 27, 2010 6:29:36.418

Today's Smalltalk Daily looks at using LOBs with Oracle (version 9 and up) with VisualWorks. If you're looking for a particular topic, you can find it with the Media Search application on our site.

The code used is below; To watch, click on the viewer:


"The following are examples to demonstrate performance improvement when 
setting the right size of LOB buffers."

"Connect to an Oracle database."
conn := OracleConnection new.
conn username: 'username';
password: 'password';
environment: 'ORACLEDB'.
conn connect.
sess := conn getSession.

"Drop the test table if existed."
sess prepare: 'DROP TABLE TestLob';
	execute;
	answer;
	answer.

"Create a test table."
sess prepare: 'CREATE TABLE TestLob (A CLOB, B BLOB, C INTEGER)';
	execute;
	answer;
	answer.

conn begin.
insertSQL := 'INSERT INTO TestLob (a, b, c) VALUES (?, ?, ?)'.
sess prepare: insertSQL.
clobLength := 2097152. "2MB"
blobLength := 2097152. "2MB"
clob := String new: clobLength withAll: $a.
blob := ByteArray new: blobLength withAll: 1.

sess lobBufferSize: 32768.  "32KB is the default buffer size for read/write Large Objects."

insertTime1 := Time millisecondsToRun: [
		sess bindInput: (Array with: clob with: blob with: 1);
		execute;
		answer;
		answer.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent for insert when lobBufferSize is 32KB ', insertTime1 asFloat printString.

"Set lobBufferSize to 1MB"
sess lobBufferSize: 1048576.  "1MB"

insertTime2 := Time millisecondsToRun: [
		sess bindInput: (Array with: clob with: blob with: 2);
		execute;
		answer;
		answer.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent  for insert when lobBufferSize is 1MB: ', insertTime2 asFloat printString.

conn commit.

conn begin.
sess := conn getSession.
selectSQL := 'SELECT * FROM TestLob'.
sess answerLobAsValue. "Get LOBs back as values."
sess defaultDisplayLobSize: 2097152. "We want every byte of the LOBs returned."

sess lobBufferSize: 32768.  "32KB is the default buffer size for read/write Large Objects."
selectTime1 := Time millisecondsToRun: [ | ans1 |
		sess prepare: selectSQL;
		execute.
		ans1 := sess answer.
		ans1 upToEnd.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent for select when lobBufferSize is 32KB ', selectTime1 asFloat printString.

"Set lobBufferSize to 1MB"
sess lobBufferSize: 1048576.  "1MB"

selectTime2 := Time millisecondsToRun: [ | ans2 | 
		sess prepare: selectSQL;
		execute.
		ans2 := sess answer.
		ans2 upToEnd.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent  for select when lobBufferSize is 1MB: ', selectTime2 asFloat printString.

conn rollback.


You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

gadgets

Popularity Breeds Malware

April 27, 2010 8:45:37.000

Well, it looks like we're about to find out just how secure (or not) the iPad is - it's big enough that hackers are starting to target it:

Sabina Datcu, technology writer for anti-virus firm BitDefender, wrote in a blog post today that the threat arrives via an unsolicited email urging the recipient to download the latest version of iTunes as a prelude to updating their iPad software.
"A direct link to the download location is conveniently provided. As a proof of cyber crime finesse, the web page the users are directed to is a perfect imitation of the one they would use for legitimate iTunes software downloads," Datcu said.

And we're off to the races. I wonder whether anti-virus apps for the iPad (once non-Apple background apps are allowed in OS 4) are the next step?

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

law

If I Lived in California...

April 27, 2010 13:46:25.000

Is it just me, or does it appear that California law enforcement has hopped all over the Gizmodo/iPhone thing in a way that the average homeowner who spots his stolen stuff at a flea market can only dream about?

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

More Smalltalk

April 27, 2010 15:48:49.000

I just spotted another Smalltalk implementation:

ChocoSmallTalk is a hybrid SmallTalk/Lisp implementation in Common Lisp. The purpose of this project is an embedded SmallTalk in Lisp, known as a meta-circular implementation of lisp as an add-on. As time permits this project should be usable on ARM based processors on handhelds to make a real lisp-smalltalk machine.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

podcasting

Live at 9 PM EDT

April 27, 2010 20:51:42.269

We will be live on justin.tv with John McIntosh and John Maloney - talking about Scratch - at 9 PM (10 minutes from this postingig)

posted by James Robertson

 Share Tweet This

smalltalk

Using Prefetch with Oracle and VisualWorks

April 28, 2010 6:51:07.133

Today's Smalltalk Daily looks at using Oracle's pre-fetch capability with VisualWorks. If you're looking for a particular topic, you can find it with the Media Search application on our site.

The code used is below; To watch, click on the viewer:


"Connect to an Oracle database."
conn := OracleConnection new.
conn username: 'username';
password: 'password';
environment: 'ORACLEDB'.
conn connect.

sess := conn getSession.

"Drop the test table if existed."
sess prepare: 'DROP TABLE TESTTABLE';
	execute;
	answer;
	answer.

"Create a test table."
sess prepare:  'CREATE TABLE TESTTABLE(
	NUMMER int ,
	BEMERKUNG varchar2 (30)
	)';
	execute;
	answer;
	answer.

"Set the number of recrods being inserted."
loopCount := 1000.

"The SQL used to do insert."
sql := 'INSERT INTO TESTTABLE VALUES (?, ?)'.

"Insert: Using array binding."
insertTime2 := Time millisecondsToRun: [
|bindArray numArray stringArray |
    numArray := Array new: loopCount.
    stringArray := Array new: loopCount.
	1 to: loopCount do: [ :i|
		numArray at: i put: i.
		stringArray at: i put: 'test'.
	].			
	bindArray := Array with: numArray with: stringArray.
	sess prepare: sql.
         sess bindInput: bindArray;
		execute;
		answer;
		answer.
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent using array binding: ', insertTime2 asFloat printString.

"Set times to repeat."
loopCount := 1.

"Set the SQL to do the fetch."
sql := 'SELECT * from TESTTABLE'.

"Default value of prefetch rows is 1."
sess setPrefetchRows: 1.

selectTime1 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when prefetch rows  is 1: ', selectTime1 asFloat printString.

"Set prefetch rows to 100."
sess setPrefetchRows: 100.

selectTime2 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when prefetch rows  is 100: ', selectTime2 asFloat printString.

"Set prefetch rows to 500."
sess setPrefetchRows: 500.

selectTime3 := Time millisecondsToRun: [
	1 to: loopCount do: [ :i|
		sess prepare: sql;
		execute.
		ans := sess answer.
		res := ans upToEnd.
    	].
].

"Print out the miliseconds spent."
Transcript 
	cr; 
	show: 'Time spent when prefetch rows is 500: ', selectTime3 asFloat printString.


You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

social media

Facebook Supporting the iPad

April 28, 2010 7:45:06.000

Looks like my theory on transcoder use in order to support the iPad wasn't off - that's exactly what Facebook has started to do:

As ReadWriteWeb notes, this implementation is not HTML5, which is what YouTube, Vimeo, Brightcove and a host of other video services are starting to support. Instead, Facebook is doing device-based transcoding (something that SaaS companies like Encoding.com provide) and converting the video so that it plays back in a QuickTime-compatible format within the iPad’s native video player.

As time goes by, I expect more sites to move to HTML5 or use Transcoding - and I also expect Flash usage to start dropping. Flash was the video standard for the web, but I think these sorts of moves prove that it's being dethroned....

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

browsers

Partying Like it's 2001

April 28, 2010 10:07:23.000

Apparently, corporate IT shops are keeping IE6 alive - during work hours, it's the 4th most common browser in use - after hours, usage drops in half:

"It almost looks like individual Internet users are more tech-advanced at home than the IT departments where they work," said Alden DoRosario, Chitika's CTO, in a statement. "It's crazy to think that people whose job description revolves around employees having secure ways to browse the Web would keep IE6 alive, while these same employees go home to more secure browsers."

It's an amazing thing. The intranet I hit at work is usable in IE7 and 8, but only after I set compatibility mode. We have met the enemy, and he is us...

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Andreas Raab is Blogging

April 28, 2010 13:07:05.000

Andreas is one of the most active guys doing Squeak development - now he's got a new forum for telling us what he's up to

Technorati Tags:

posted by James Robertson

 Share Tweet This

browsers

The Open Platform Grows

April 28, 2010 14:54:28.000

Android is progressing - Firefox for the Android is coming along:

Early adopters, it’s time to rejoice: Mozilla has officially released the “pre-alpha” of Firefox for Android — aka Fennec. It is available now for testing.

I think we can say "game on". It's going to be an interesting competition between Apple and Google in the mobile space. A lot of people think it'll play like Windows vs. Mac, but - there's a huge differerence now. The App store and iTunes puts Apple in a much better place than they were circa 1990.

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This

games

It's the 21st Century

April 28, 2010 16:57:35.000

Spotted in Engadget

The Boy Scouts of America have finally recognized that most important of modern children's pastimes with the creation of a "Video Games" belt loop and pin.

Just in case you had any doubts about what the relevant survival skills were for a modern boy...

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

management

Why Does HP Want Palm?

April 28, 2010 18:00:46.677

I can't figure this one out:

HP and Palm, Inc. (NASDAQ: PALM) today announced that they have entered into a definitive agreement under which HP will purchase Palm, a provider of smartphones powered by the Palm webOS mobile operating system, at a price of $5.70 per share of Palm common stock in cash or an enterprise value of approximately $1.2 billion. The transaction has been approved by the HP and Palm boards of directors.

Why? What on earth is HP going to do with a failing phone business? Didn't they learn anything from the Compaq deal?

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

news

Cue the Terminator Music

April 28, 2010 18:02:16.000

Be Afraid:

If an unmanned Apache gunship makes your boots quake, you're not alone, but you won't truly have reason to fear until 2025. That's when the government estimates half of all Army aircraft will be OPV, and those bots will learn the more deadly behaviors, like swarming.

Thisis a combination of awesome and terrifying, all at the same time. The idea of a swarm of Apache choppers with aAI driven chain guns is sort of nightmare thing.

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

smalltalk

Statement Caching with Oracle: Video

April 29, 2010 6:49:34.601

Today's Smalltalk Daily looks at using Statement Caching against Oracle (version 9 and up) with VisualWorks. If you're looking for a particular topic, you can find it with the Media Search application on our site.

The code used is below; To watch, click on the viewer:


"The following are two examples, one uses statement caching, the other does not."

conn := OracleConnection new. 

"Verify whether the loaded OCI supports Statement Caching."
conn supportStatementCaching.

"Set to use statement caching."
conn useStatementCaching: true.

conn environment: 'ORACLEDB'; 
        username: 'username'; 
        connect: 'password'. 

"Get Statement Cache Size, the default is 20."
conn getStatementCacheSize.

"Set Statement Cache to desired size."
conn setStatementCacheSize: 30.

"Verify the new Statement Cache Size."
conn getStatementCacheSize.


t1 := Time millisecondsToRun:[

       " | conn sess ansStrm |"

     100 timesRepeat: [
		sess prepare:  'select * from sys.all_tables where TABLE_NAME=''DUAL'''.
		sess execute.
		ansStrm := sess answer.
		res := ansStrm upToEnd.
	].
].
Transcript 
	cr; 
	show: 'Time spent when using Statement Caching: ', t1 asFloat printString.

conn := OracleConnection new. 

"Set to use statement caching."
conn useStatementCaching: false.
conn environment: 'ORACLEDB'; 
        username: 'username'; 
        connect: 'password'. 

t2 := Time millisecondsToRun:[
       " | conn sess ansStrm |"
     100 timesRepeat: [
		sess prepare:  'select * from sys.all_tables where TABLE_NAME=''DUAL'''.
		sess execute.
		ansStrm := sess answer.
		res := ansStrm upToEnd.
	].

].

Transcript 
	cr; 
	show: 'Time spent without using Statement Caching: ', t2 asFloat printString.


You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This

general

Death By PowerPoint

April 29, 2010 7:48:52.000

If your slides look like this:

Death By PPT

Then you lost your battle, or war, or sale - whatever it was you were attempting. Based on the graphic, it's not entirely clear what was being attempted :)

Technorati Tags:

posted by James Robertson

 Share Tweet This

social media

Back to the Past

April 29, 2010 9:00:28.000

Good luck with this - from a New Jersey Middle School Principal:

"It is time for every single member of the BF Community to take a stand! There is absolutely no reason for any middle school student to be a part of a social networking site! "Let me repeat that - there is absolutely, positively no reason for any middle school student to be a part of a social networking site! None."

Right.... just like there was no reason for his generation to use a phone. When this guy joins the 21st century and reality, he should let the rest of us know.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk in Argentina

April 29, 2010 9:50:23.000

Spotted in Planet Squeak

Alexandre Bergel organizes a new Pharo sprint in Argentina (Buenos Aires or Rosario).

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

itNews

No Climb Down for Apple

April 29, 2010 11:18:13.989

Looks like there won't be a climb down for Apple - Steve Jobs has released a public letter on Flash - and why he doesn't want it on Apple's mobile devices. He went through a whole set of points, building up to this last one: Jobs doesn't want cross platform tools being used to build apps:

Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

Maybe there was some kind of compromise possible before this, but - not so much now. Apple has - from the very top - told Adobe (and every other non-native toolset, for that matter) to "go fish". That means the lines are drawn now: there's the bright lines of Apple's app store, and the less well drawn ones for Android. Meanwhile, HP sounds like they intend to invest real money in WebOS, so there's going to be real competition in this space. Game on.

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

smalltalk

World of Smalltalk

April 29, 2010 11:52:30.000

Geert Claes has set up a new "World of Smalltalk" site - I'll be setting up a podcast calendar so he can include that.

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk TV

April 29, 2010 13:56:16.000

Interesting video site for Smalltalk tutorials - the Smalltalk Medicine Show, run by Chris Cunnington. Chris does a new video every week - the Medicine Show has some interesting video up on HttpView2.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

More on Xtreams

April 29, 2010 15:58:14.000

Michael has pushed out some new info on Xtreams - check it out.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Taking Advantage of the Java Deluge

April 29, 2010 18:38:01.000

Spotted in self halt

For example, to access the Google Spreadsheets APIs and Tools, you need to download the Java client libraries and all its dependencies. The paths to there Jars must be known to the JVM and can be set through JNIPort. For easy deployment, I put together a single jar using an Ant build script

That's pretty cool - there are tons of Java libraries that connect to tons of things and JNIPort opens up that world to Smalltalk. It's all about reuse :)

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Workspace Variables in ObjectStudio

April 29, 2010 21:40:01.000

You might have noticed that I used the VisualWorks workspace in a few recent ObjectStudio screencasts; now Andreas has addressed the issue that drove me to that:

What are Workspace Variables? Well, a Workspace Variables is just like any other variable, except that it is defined in the context of the current Workspace. This way you can get always the content of the variable, if you use the same Workspace.

That's what's cool about Smalltalk - want a feature? You can add it, whether you're an expert like Andreas or not.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Reusing Column Buffers with Oracle and VW: Video

April 30, 2010 6:49:39.586

Today's Smalltalk Daily looks at reusing column buffers with Oracle (version 9 and up) with VisualWorks. This is an upcoming feature of VisualWorks, scheduled for VW 7.7.1. If you're looking for a particular topic, you can find it with the Media Search application on our site.

The code used is below; To watch, click on the viewer:


"Connect to an Oracle database."
conn := OracleConnection new.
conn username: 'username';
password: 'password';
environment: 'ORACLEDB'.
conn connect.

sess := conn getSession.

"The default is false meaning not to reuse."
sess reuseColumnBuffers: false.

t1 := Time millisecondsToRun:[
       " | conn sess ansStrm |"
     100 timesRepeat: [
		sess prepare:  'select * from sys.all_tables where TABLE_NAME=''DUAL'''.
		sess execute.
		ansStrm := sess answer.
		res := ansStrm upToEnd.
	].
].
Transcript cr; show: 'Time spent without reusing row buffers: ', t1 asFloat printString.

"Set to reuse the column buffers."
sess reuseColumnBuffers: true.

t2 := Time millisecondsToRun:[
       " | conn sess ansStrm |"
     100 timesRepeat: [
		sess prepare:  'select * from sys.all_tables where TABLE_NAME=''DUAL'''.
		sess execute.
		ansStrm := sess answer.
		res := ansStrm upToEnd.
	].
].
Transcript cr; show: 'Time spent with reusing row buffers: ', t2 asFloat printString.


You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This

web

Flash Not Dead: Film at 11

April 30, 2010 8:34:01.000

While Apple has unloaded on Flash, YouTube has quietly unveiled a new flash player for the site:

YouTube has started to roll out a new Flash video player across its site that features not only a completely new design, but also offers some nifty bits of information about the performance of the current video.

However this plays out, it is not going to be a quick thing...

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

social media

The Social Web

April 30, 2010 10:37:41.000

The semantic web is apparently a sponsored thing:

Facebook has just given us an idea of how quickly these widgets are being adopted: a week after f8, 50,000 websites now feature the Like button and the other new plugins.

There were plenty of people who thought that it would happen some other way - but what was really needed was a critical mass of social users (all the Facebook users) who could be encouraged to start using simple "semantic web" stuff such as the "like" button. I'm part of that 50k - look at the bottom of this post :)

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

itNews

Adobe Responds

April 30, 2010 13:12:22.000

Adobe's CEO has responded (in an interview) to Steve Jobs' smackdown:

Narayen didn't offer much we haven't heard Adobe say before, but his frustration with Apple is palpable even in summary form: he called Jobs' points a "smokescreen," said Flash is an "open specification," and further said Apple's restrictions are "cumbersome" to developers and have "nothing to do with technology." What's more, he also said Jobs' claims about Flash affecting battery life are "patently false," and suggested that any Flash-related crashes on OS X have more to do with Apple's operating system than Adobe's software.

The market will figure this out - it's Apple's way, Google's way, RIM, and whatever HP does with Palm. I'd include Microsoft, but they've been fumbling the ball in this space for more years than I can count.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

itNews

Change

April 30, 2010 14:53:29.000

Engadget notes that Microsoft is echoing Apple's lines about the future of video on the net. Cast your mind back a decde and ask yourself whether things would have progressed from Apple to Microsoft that way:

Where Steve Jobs leads, Microsoft follows -- how's that for shaking up the hornet's nest? It's said in jest, of course, but we've just come across a post from the General Manager for Internet Explorer, Dean Hachamovitch, and the perspective expressed by him on the subject of web content delivery broadly agrees with the essay penned by Jobs yesterday on the very same subject. Echoing the Apple CEO's words, Hachamovitch describes HTML5 as "the future of the web," praising it for allowing content to be played without the need for plug-ins and with native hardware acceleration (in both Windows 7 and Mac OS X).

No, Microsoft isn't banning Flash from IE - but further down Hachamovitch did single it out as a security and reliability problem that needed attention. It's been a bad week for Adobe.

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

gadgets

Ceding the Field?

April 30, 2010 18:52:30.000

Looks like people are ceding the tablet field to Apple:

HP has conceded the tablet war before it even engaged in battle by terminating the HP Slate project.

This device was supposed to be one of the major Windows based answers to the iPad - now it's a non-answer. Whatever you think of Apple's moves on Flash and language development restrictions, it looks like they'll win the early stages of that battle - simply due to the fact that they'll be the only ones playing the game.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

music

Will iTunes add Streaming?

April 30, 2010 19:55:50.000

Apple is shutting down Lala at the end of May - that's awfully close to their June announcements. Does this mean that we can expect a rollout of a streaming service from Apple? It's hard for me to understand why they would have bought Lala if that isn't planned....

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

gadgets

Microsoft has lost that "Zing"

May 1, 2010 8:30:41.000

Dvorak gets this right - what if Microsoft played the mobile game the way they played the PC game twenty years ago?

Microsoft's key to success with a Zune Phone would be the addition of all sorts of screwball features. An easy way to do this is to do what Microsoft has always done: copy other people's work. In this case, the handset should come preloaded with 100 apps. It wouldn't take a lot of time to find out the top 100 iPhone apps. Clone them and pre-install them on the Zune Phone—or make them a part of the phone's basic functionality.

It's not as if they lack the resources to do that - they have money galore, and tons of talent. What they apparently lack is leadership.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

gadgets

Semi-Mobile Video

May 1, 2010 11:51:25.000

It looks like the iPad is a semi-mobile device in the "video streaming on the go" side of things:

The iPad’s built-in YouTube application strips both standard and HD videos to a dramatically lower resolution over the cellular data connection, something that iTunes Store video previews notably do not do, instead staying at a higher quality and consuming a greater amount of data. Other third-party applications, such as the ABC Player, refuse to work at all over the cellular connection, producing a notification pop-up that states, "Please connect to a Wi-Fi network to use this application. Cellular networks are not supported at this time."

So... if you had a Netbook and one of the 3G cards you can slap into a USB port, does this happen? I suspect not. Steve Jobs might want to hop on this, as it's clearly a bigger part of the experience than whether Flash supports touch well or not...

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

web

Flash - Not in the Majority Anymore

May 2, 2010 7:18:34.000

It looks like Apple has been quietly winning the battle against Flash:

As the chart [link above] shows, in the past four quarters, the H.264 format went from 31 percent of all videos to 66 percent, and is now the largest format by far. Meanwhile, Flash is represented by Flash VP6 and FLV, which combined represent only 26 percent of all videos. That is down from a combined total of 69 percent four quarters ago. So the native Flash codecs and H.264 have completely flipped in terms of market share (Flash also supports H.264, however, but you don’t need a Flash player to watch H.264 videos)

Wow, I had no idea. I thought Flash was still the biggest player - but it looks like Apple has already won that battle. As one of the folks on the Smalltalk IRC channel pointed out: "h.264 won the day that youtube started using it"

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

smalltalk

Scratching the iPad Itch: Podcast

May 2, 2010 11:56:54.600

This week's podcast is part one of our 2 part podcast with John Maloney, one of the members of the Scratch project at MIT, and John Mcintosh, the long time Smalltalker who's been developing the Squeak port to the iPod/iPhone/iPad. Recently, John's port ran into issues with Apple, and Scratch has been removed from the app store. As you'll find out in the podcast, that's not due to the new language restrictions - although those do raise a different bar. In any event, it was a fun podcast, and we learned a lot about Scratch, which is a great environment for teachin kids about software.

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. Starting with Episode 186, you can also download the podcast in ogg format.

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!

Technorati Tags: , , ,

posted by James Robertson

 Share Tweet This

smalltalk

GNU Smalltalk 3.2 Out

May 2, 2010 18:27:00.269

Looks like the 3.2 release of GST is out - follow the link for details

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Shared Substreams

May 3, 2010 8:32:31.000

Michael has written another post about Xtreams - this time, on transferring data between images:

I mentioned in my last blog post about Xtreams that I wanted to devise a way of sending object messages between images while also allowing file transfers and other large data transfers to happen without interruption. This is not something that Opentalk has typically been good at - if you have a giant collection of data and you start returning it on your connection, that connection is locked up until you're done. I've started a new Xtreams-Xperiments addition which I'm calling Shared Substreams.

Read the rest - it's interesting stuff.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Customizing a Workbook: Video

May 3, 2010 8:32:43.933

Today's Smalltalk Daily looks at how to open a workspace with your own text in it. To see the code in a Smalltalk environment, browse the class side examples in Workbook - click on the viewer below to watch it now:

You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

social media

The Good Old Days

May 3, 2010 9:53:54.000

This is the kind of non-reflective stuff I love from social scientists - in the context of worrying about the rise of texting/IM/etc as a communications default amongst kids:

What she and many others who work with children see are exchanges that are more superficial and more public than in the past. “When we were younger we would be on the phone for hours at a time with one person,” said Ms. Evans. Today instant messages are often group chats. And, she said, “Facebook is not a conversation.”

If you jumped into the wayback machine to the 70's, there were plenty of people worried about the impersonal nature of phone conversations, and how it "just couldn't replace" face to face conversations. I suspect that this current worry is part of the ever present worry on the part of adults that the next generation is somehow being ruined by technology.

posted by James Robertson

 Share Tweet This

law

Not So Open

May 3, 2010 11:25:23.000

I haven't paid much attention to the H.264 patent issues, but perhaps I should have - according to CS News, the license for H.264 encoded video is insane:

As I explained above, the problem CAN NOT be fixed by simply exporting your footage using OGV Theora, because by the time you decided you want to charge for your video, or upload it on a free streaming site with ads, or you used a non-licensed *decoder* to edit it, you're already liable. In fact, you've already made your decision which route to take by the moment you pressed that "REC" button on your camera! Theora (and any other Free codec) only helps you in one small part of the licensing minefield that MPEG-LA has setup in the last 20 years. It doesn't protect you in the whole chain of creation-editing-exporting-sharing, which is how MPEG-LA has locked us in for good.

If their reasoning is right, most people who have shot video and uploaded it to YouTube (et. al.) are in violation - because the streaming ads push it off "non-commercial and personal". Maybe, I don't know. Certainly if you charge for video in any way you could have a problem.

On the other hand, I can't see how the patent owners would enforce this now. Doesn't mean they won't try though - witness the idiots at the RIAA and MPAA....

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

law

A Bridge Too Far

May 3, 2010 17:40:38.655

Apple may have gone too far with their development restrictions for the iPhone/iPad - there's a story in the NY Post claiming that the feds may be looking into those policies on anti-competitive grounds:

According to a person familiar with the matter, the Department of Justice and Federal Trade Commission are locked in negotiations over which of the watchdogs will begin an antitrust inquiry into Apple's new policy of requiring software developers who devise applications for devices such as the iPhone and iPad to use only Apple's programming tools.

I thought the efforts against Microsoft were silly, and I think this is too - the market will (eventually) deal with Apple if they have gone too far. However, that's simply my opinion. Apple should be more worried about what the folks at Justice and the FTC think.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

education

Step One: Outsourcing the Grading

May 3, 2010 20:49:38.065

I seriously doubt that the outsourcing of education will end here:

Prices vary per course, but Virtual-TA estimates the program costs a university about $12 per student per assignment. Six assignments for 20 students would cost $1,440. EduMetry graders receive from $500 to $1,000 a month, depending on hours worked, according to GlobalPost, a news service.

At one point, I might have worried about these sorts of jobs going overseas, but I've been looking at the cost of a University education (I have a teenage daughter a couple years away from that) - and the costs are absurd. The next logical step is streaming video to multiple locations from a single good professor - and when that happens, the cost of an education might finally leave the stratosphere.

Can't happen too soon, IMHO...

Technorati Tags:

posted by James Robertson

 Share Tweet This