. .

js4u

JS 4U 139: JQuery Grep 1

March 13, 2012 11:11:00.675

Javascript 4 U

Today's Javascript 4 You looks at the grep() 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:

grep()

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:
[js4u139-iPhone.m4v ( Size: 1799246 )]

 Share Tweet This

law

Patents and Copyrights Jump the Shark

March 13, 2012 22:16:07.052

I think it's time to seriously consider ending copyrights and patents completely. Ask yourself - could a complete free for all be worse than what we have now?

While most of the tech world was partying at South by Southwest in Austin yesterday, Yahoo announced it was filing a lawsuit against Facebook for allegedly infringing on 10 patents from their 1,000+ patent warehouse.

As if all of that crap Yahoo claims as their work wasn't already done on some BBS system back in the early 90's. Seriously - wipe the slate clean, and just start over.

Technorati Tags: ,

 Share Tweet This

smalltalk

Pharo and Squeak Roundup

March 14, 2012 8:39:06.344

Lots of news from Torsten - just start at the top and keep scrolling

Technorati Tags: ,

 Share Tweet This

st4u

ST 4U 206: Introducing Log4s

March 14, 2012 11:01:42.253

Today's Smalltalk 4 You looks at log4s (a logging framework) in VA Smalltalk. Today we just scratch the surface; there will be more screencasts on this topic. 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:

log4s.

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 the logging framework that ships with VA Smalltalk - log4s (A Smalltalk port of the well known log4J package). It's already in your image, so there's no need to load it from ENVY. There are a couple of different ways to get started, but today we'll look at setting it up via the ini file. Every VA image has a corresponding (same base name) ini file - you'll want to append a new "stanza" to it. Here we are setting up a basic file logger, using the default root level logger. You can have multiple logging streams (each filtered separately) on a single logger; today we'll just look at a simple file logger. Here's the way we define that in the ini file:


[log4s]
debugEnabled=true
quietMode=false
globalLevel=All
dailyRollingFileAppender =(fileAppender, root, vaLog.log, false, Info, EsPatternLayout,
 'ڴe{ISO8601}: [%level] %message', true, topOfDay )


What that sets up is a file logger off the root (technically, a new appender - each logger can have any number of appenders associated with it). When you log something, it will appear in that log file (we specified vaLog.log above). The pattern specified how the log entry appears; the VA documentation goes through in great detail how you can customize that. To log a warning, you can do something like this:


"simple log event"
EsLogManager warn: 'This is a warning, beware!'

One caveat - the doc talks about class LogManager, while it's actually EsLogManager. The output for what we did above?

Logging

We'll get into filtering, programmatic setup and more in the future screencasts

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:
[st4u206-iPhone.m4v ( Size: 4534045 )]

 Share Tweet This

smalltalk

VA Smalltalk, .NET, and PDF

March 15, 2012 8:47:19.739

Schrievkrom talks about the twisty path he took to get all of those moving parts working together in an application.

Technorati Tags: ,

 Share Tweet This

js4u

JS 4U 140: grep() Part 2

March 15, 2012 9:56:29.017

Javascript 4 U

Today's Javascript 4 You finishes up our look at grep(). To see part 1, go here 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:

grep()

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:
[js4u140-iPhone.m4v ( Size: 1421534 )]

 Share Tweet This

st4u

ST 4U 207: Using log4s in VA Smalltalk

March 16, 2012 9:41:29.250

Today's Smalltalk 4 You continues our examination fo log4s, setting up a new logging channel (called an appender in the framework). 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:

Logging.

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 add a new logging stream (called an appender in the framework) using log4s. The same information gets logged to all streams for a given logger; we'll look at how to add new loggers in another screencast. First, recall how we specified the root level logger in the VA ini file:


[log4s]
debugEnabled=true
quietMode=false
globalLevel=All
dailyRollingFileAppender =(fileAppender, root, vaLog.log, false, Info, EsPatternLayout,
 'ڴe{ISO8601}: [%level] %message', true, topOfDay )


Now, if we send a logging event, as we do below, it drops out to our specified log file:


"simple log event"
EsLogManager warn: 'This is a warning, beware!'

What if we wanted another stream, on the Transcript? We could specify that in the ini file, or in code - as follows:


"Add a transcript appender programmatically"
level := EsLogManager getLevel: 'All'.
pattern := EsPatternLayout new: 'ڴe{ISO8601}: [%level] %message'.
transcriptAppender := EsTranscriptAppender level: level layout:  pattern.
logger addAppender: transcriptAppender.

Now, if we send that logging event again, it'll not only go to the file, but also to the Transcript:

Logging

We'll get into setting up new loggers in a future screencast

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:
[st4u207-iPhone.m4v ( Size: 3645789 )]

 Share Tweet This

games

On Mass Effect 3

March 16, 2012 17:03:28.061

I'm not going to give away any spoilers in this post - I'll link to this, which explains in very good detail what's wrong with the ending. Which is too bad, really - the rest of ME3 is quite good.

Here's what BioWare should do: release DLC that gives players the kinds of ending choices discussed in the linked article.

Technorati Tags: ,

 Share Tweet This

podcast

IM 70: Component Studio at ESUG 2011, Part 2

March 18, 2012 1:52:31.293

Welcome to episode 70 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.

This week we have the conclusion to last week's ESUG 2011 presentation - here's the abstract on the talk from Georg Heeg - this is part 2, which you can watch here if you would rather see the video. You can listen to part 1 here

Georg Heeg AG purchased assets of CS Component Studio GmbH including the software and rights of CS Component Set. CS Component set is a toolbox of ERP components for small and mid-size companies. It has been developed over more than a decade and is in daily use in successful companies throughout Germany. The basic idea has been to have an ERP system which has many standard components for any business and is adaptable to specific needs of special businesses and individual companies. Georg Heeg AG plans to fully support existing customers and to bring the software to an up-to-date level and to implement new and innovative applications.

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:
[im70.mp3 ( Size: 3246270 )]

 Share Tweet This

podcastAAC

IM 70: Component Studio at ESUG 2011, Part 2 (AAC)

March 18, 2012 1:53:11.783

Welcome to episode 70 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.

This week we have the conclusion to last week's ESUG 2011 presentation - here's the abstract on the talk from Georg Heeg - this is part 2, which you can watch here if you would rather see the video. You can listen to part 1 here

Georg Heeg AG purchased assets of CS Component Studio GmbH including the software and rights of CS Component Set. CS Component set is a toolbox of ERP components for small and mid-size companies. It has been developed over more than a decade and is in daily use in successful companies throughout Germany. The basic idea has been to have an ERP system which has many standard components for any business and is adaptable to specific needs of special businesses and individual companies. Georg Heeg AG plans to fully support existing customers and to bring the software to an up-to-date level and to implement new and innovative applications.

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:
[im70.m4a ( Size: 4677622 )]

 Share Tweet This

smalltalk

GSOC And Pharo

March 18, 2012 18:35:21.000

If you're a student interested in Smalltalk and want to get involved in the Google Summer of Code this year, then check out the projects page.

Technorati Tags: ,

 Share Tweet This

st4u

ST 4U 208: Pastell - XPath Type Capabilities in Pharo

March 19, 2012 8:21:40.446

Today's Smalltalk 4 You looks at using Pastell (for 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:
[st4u208-iPhone.m4v ( Size: 2318891 )]

 Share Tweet This

stic12

STIC Conference Begins

March 19, 2012 10:29:47.819

After Georg kicked things off with an explanation of the name change, Chris Thorgrimsson - talking about their use of Cairo in their wafer fab software. The explanation of how they did graphics prior to using Cairo is interesting - lots of primitive "stop motion" stuff with CompositePart. They are still on VW 7.4, for reasons that sound very familiar to me - large organizations often have a whole set of constraints on them that aren't related to simple tech issues. Here's a link to the abstract.

They've integrated Cairo right into the VW GUI framework, with views (and eventually, controllers) that slot into the standard VW way of doing things. That included work to bring them into the GUI builder, making them easier to get started with. The layout (transform) editor for these components looks very nice - once the videos for the conference start hitting the web, you should have a look. On that subject, the conference has professional video work this year, so the audio quality should be a whole lot better than it has been in the past.

It's funny that Chris has to defend the use of Cairo, due to nervousness about external linking - people tend to blame any crash on Cairo. I say amusing because there was a perception where I work that any crash (an unhandled exception that brings the app down) meant a blue screen of death at the Windows level.

Technorati Tags: ,

 Share Tweet This

stic12

ObjectStudio Demo at STIC 2012

March 19, 2012 11:13:23.745

Arden Thomas (Cincom's product manager) is giving a live demo of ObjectStudio with Dirk Verleysen (one of their engineers) - this is another talk that will play far better on video (once those hit the web) than it will in text :) Basically, it's a quick demo of a simple app for a presumed client (a health/fitness club).

One interesting thing I've run into (doing a screencast, but also in theory looking at our database at work) - the database mapping (old to new) presumes a relatively clean database where all tables either have a primary key, or have some set of columns that can be used as a primary key. I've now seen that in the real world, that assumption doesn't always hold :)

Having said that, the demo itself is pretty slick. Read the datamodel, map it, and then create simple GUI application from all of that. Additionally, a simple web interface got created using AidaWeb, and that looks pretty nice.

Technorati Tags: ,

 Share Tweet This

stic12

Dart at STIC 2012

March 19, 2012 12:37:49.509

First keynote of the conference - Eric Clayberg talking about Google's Dart. Eric is deep into Dart at Google. Eric is working on a Dart editor (Eclipse) which we may get to. Why Dart? Building large web applications is hard - Javascript just isn't up to the task. Dart is supposed to bring structured programming to the web, along with good tools. Right now, Dart is really "alpha" stage software.

One of the biggest changes is isolates, inspired by Erlang. One of the large non-changes is the syntax, which looks a lot like Javascript. That's for obvious reasons; you need to sell it to world developers. Another design goal - Dart is intended to be used at the client (browser) and server level, rather than the common split that exists now.

As with the previous talk, a fair amount of this one will only come across in video - Eric's doing a bunch of Dart demos, from simple to more complex.

Technorati Tags: ,

 Share Tweet This

stic12

Amber at STIC 2012

March 19, 2012 15:04:18.199

Post lunch at STIC 2012 - time for Amber. John Thornton is giving the talk:

Amber is an implementation of the Smalltalk-80 language that runs on top of the JavaScript runtime. With Amber, client-side web development finally gets the power and productivity that has existed for decades in other Smalltalk dialects.

John started out in Ruby (Rails), and came across Smalltalk in 2009. The path was through a mobile game he was writing, SubWars.

Amber is a full browser based Smalltalk, with a full object model, core libraries, access to the web canvas, and a full featured IDE. Like most Smalltalks, it's largely written in itself.

Amber simplifies the workflow - edit everything (HTML, CSS, Javascript, Smalltalk) in the browser, and keep your "mental context" focused. This is another talk you'll want to watch the video for - John is doing live demos in an Amber driven presentation.

Technorati Tags: ,

 Share Tweet This

stic12

Log4s at STIC 2012

March 19, 2012 15:59:55.719

Don MacQueen is presenting log4s - a port of log4j to VA Smalltalk. I've been doing screencasts on this, so I'm interested :)

To set all of this stuff up, you'll want to look at the VA docs. Other than a few naming discrepancies, those docs are pretty good. And, they (Instantiations) eat their own dogfood - they are using log4s internally, and are talking about using it more extensively.

Technorati Tags: ,

 Share Tweet This

stic12

Security Reloaded at STIC 2012

March 19, 2012 17:15:07.411

Over the last year or so, there's been a lot of confusion surrounding the security (encryption) libraries in Cincom Smalltalk - an ugly confluence of US government regulation confusion and lawyers :)

The good news? The kerfuffle (apparently settled now) led their engineering group to add bindings to external encryption libraries. That means that now developers have two paths through CST - use the Smalltalk libraries (always there), or use the faster platform libraries (if they are installed).

What libs? CNG/Bcrypt on Windows (Vista or higher), and libcrypto (openSSL) elsewhere.

There are a few API changes that come along with these changes - in PKCS8, X509, and SSL/TLS. The SSL/TLS implementation has been completely redone, with support for SSL3.0 (TLS 1.0 - 1.2).

Technorati Tags: , ,

 Share Tweet This

js4u

JS 4U 141: Time and Date in Javascript

March 20, 2012 8:29:26.068

Javascript 4 U

Today's Javascript 4 You takes a brief look at the Date object in Javascript. 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:

Date

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:

Enclosures:
[js4u141-iPhone.m4v ( Size: 1268934 )]

 Share Tweet This

stic12

Day 2 Begins

March 20, 2012 9:39:14.007

Mike Taylor kicked off day 2 by reminding everyone here about the drawing for a Kindle Fire at 5 PM - and the odds of winning that are way better than the odds of winning at one of the slot machines downstairs :)

 Share Tweet This

stic12

Code Completion in VA Smalltalk

March 20, 2012 10:19:04.202

Seth Berman - who's relatively new to the VA team at Instantiations - built the new code completion facilities for the tool. I've done a screencast on that - and Set looked at various other implementations (VW, Pharo, non-Smalltalk tools) before calling his work done.

Lots of new stuff in 8.5.1 - when I did my screencast, it was in 8.5. Sounds like I need to go back and have another look. It sounds like you can configure the way this works a lot more than you could with the first release of it.

Here's the abstract:

Code Completion allows for developers to type less by predicting how to complete what is being typed and offering these predictions to the developer to select from. Code Completion was first introduced in VA Smalltalk 8.5, but development didn’t stop there. Many additional features have since been added and it has continued to improve in usability and configurability. This presentation will show Code Completion in action by providing a thorough demonstration of its capabilities in the browsers, debuggers and workspaces. Furthermore, an overview of its extensive set of configuration options will be given to show how one can create a completely customized experience.

There's more coming for this, too - tighter integration with the existing code assist features being the biggest. As with many of these talks, you'll want to see the video (when STIC releases it) for the demo.

Ok, this is cool. The CamelCase matching is really quite nice. If you type in RWS, it knows that you mean "match by camel case", and offers "ReadWriteStream". This is the kind of intelligent help that experienced Smalltalkers could make great use of, and it makes long descriptive names easier to use. Works for methods, too: #add:afterIndex: comes up if you type aai - each character after the : gets treated (for matching purposes) as if it were a capital in camel case.

Also:


x := OrderedCollection new.
y := x
z := y.

Doing code completion on z (or x or y) offers methods from OrderedCollection. There's a setting option to filter out all of the inherited from Object stuff too. In general, the completer uses static analysis/type reconstruction to help it decide what to offer.

Technorati Tags: ,

 Share Tweet This

stic12

Gemstone Futures

March 20, 2012 10:59:32.362

Norm Green is explaining what's going on with Gemstone - 2.4.5.1 is the next (minor) release, with all of the big stuff happening in the 3.x version stream (which is where all future work is happening). It has a JIT, an FFI interface (obviating the need to hook in at a low C level). Martin McClure presented that at last year's ESUG. I'd provide a link, but I can't find it in the playlist.

Gemstone is now multi-threaded, and each thread (OS thread) uses a GS session. You get a fair bit of control over how aggressive you want that to be.

Smalltalk changes - arrays are constructed (runtime) with curly braces, in line with Pharo (and VW with extensions). ANSI exceptions now standard, old stuff deprecated.

There's a few metaclass level changes due to MagLev work - should be transparent. The upgrade should be easier than the last few, but Smalltalk code does need to be filed in (there are byte code changes).

The next major release - 3.1 - should ship mid June, 2012

Technorati Tags: ,

 Share Tweet This

stic12

Build Talk Done

March 20, 2012 15:22:15.303

I think my talk was pretty well received - it went well, and my slides will be posted on the site soon. I'd do it now, but the slides are over on my work laptop :)

Technorati Tags:

 Share Tweet This

stic12

VA Smalltalk Update

March 20, 2012 16:13:18.520

After a bit of a fight between John O'Keefe's laptop and the projector, we're on to a VA Smalltalk update. Lots of news on the website - new forum, and a videos/podcasts page.

Version 8.5.1 just came out this month - and based on Seth's earlier talk, there's some really cool stuff in it. The highlights of the new stuff:

  • Code Completion
  • SUnit update - support for "expected failures"
  • Log4s (Logging Framework based on Log4j) (updated with asymch support)
  • Updated to a new preference setting framework. They plan to move most or all things to that over time - uses a standard .ini file format (key/value pairs)
  • Marking code as deprecated via a new exception - you get the error, but you can handle it
  • Support for mapping logical names of external libraries to real names via an external ini file - allows non-Smalltalk changes in platform to be migrated to easily
  • Updated VA to support the latest Windows updates to the progress bar control
  • Added support for date/time controls
  • Support for HTTP chunked transfer encoding
  • Improvements in support for SST, GLORP, and validate on Fedora Core, OpenSUSE, and Ubuntu 11
  • Lots of bug fixes

Still doing two releases a year - next one planned for 3rd quarter 2012

Possible futures - full unicode, Seaside 3.x, continuations, multipart form support, WS* updates, validating XML parsing, GTK+ 2.x on Linux, more Windows controls, better icon support, more dev tool work. They have a Monticello importer done.

Technorati Tags: ,

 Share Tweet This

stic12

Smalltalk, GLORP, and Legacy Apps

March 20, 2012 17:06:35.256

Mark Grinnell and Andreas Hiltner (Cincom) are giving something of a continuation of the talk Arden gave yesterday - how to get a new web application up and running when what you have is a set of older legacy applications.

The legacy domain is medical data - and the baseline idea is that the legacy systems are from a bunch of different labs, and can't be updated/retired - they need to keep running as is. Any new system is additive, not a replacement. The goal is to create a web app that creates a unified view over the top of the disparate ones from the multiple labs (for instance: different IDs for patients in each system).

The next bit is demo - you'll really have to wait for the video to see that. The demo is using the same glorp mapping approach Arden talked about, just in front of a larger problem.

Technorati Tags: ,

 Share Tweet This

stic12

Cincom Smalltalk Memory Management

March 20, 2012 18:07:14.082

Last talk of the day - memory management in Cincom Smalltalk. There have been changes in this area over the last couple of releases, which is good - I learned a fair bit about the old stuff (caveat: having said that, I only ever scratched the surface), and the new stuff makes it a bit more accessible. Andres Valloud is giving the talk - he's starting with some basic background on memory management in CST (eden, survivor spaces, all of that stuff - I'll refer you to the docs for a broad discussion of that).

What's been fixed since VW 7.7?

  • The way IGC (incremental garbage collector) handles aborted state - properly now.
  • Adjusted the default setting for the Growth Regime Bound (was 32 MB, now more sensible). Having that default led to much thrashing
  • Also moved the emergency threshold back from the raw upper bound, to allow for actual emergency handling
  • Changed growth increment default from old (1 MB) to something more reasonable
  • FixedSpace allocation has been fixed
  • Improved weak/ephemeron support
  • IGC improved - including the ability to turn IGC on and off
  • some protection for stack overflow
  • new switches for the VM on the command line - so you don't need to adjust the numbers and resave the image

The development team at Cincom has created a test suite for all of this stuff, which has already been a big help. They've added a tuner that will make suggestions for optimization.

Technorati Tags: , ,

 Share Tweet This

gadgets

Massive Storage

March 20, 2012 21:33:41.000

This is amazing:

The technology used to achieve the benchmark, which Seagate said it would introduce in products later this decade, will also lead to the production of 3.5-inch hard drives with up to 60TB of capacity.

I'm trying to figure out how cloud based backup (heck, any backup) strategy works with that. With that much space, I'd never worry about how much space a VM took up again....

 Share Tweet This