Tuesday, October 7, 2008

Threads, Multithreading. How about no threading model?

I'm scratching my head and wondering if I'm alone or is the world just a crazy place with lot's of sheep?

When Assembly was the normal mode of operation, threading didn't seem a problem. You simply had a stack and then pushed, poked, pulled and popped around until you reached the goal. Simple and elegant, it was great fun but any 11 year old has other thing's to do, such as BMX and fishing, equally as important as switching registers and bypassing primitive protection schemes on the Intel 8080.

Thankfully I'm no longer stuck with a 3Mhz processor and can now be a slob and get away with it. Thanks to Intel speeding up and complicating their processors, adding more cores, pushing threads from Erlang to Java and .Net, I can sit back and write sloppy, insecure and half brain code, performs well enough and get away with it. Cheers? Not really...

Anyone who really knows anything about anything will usually not say very much. Today I've stumbled across a man who inspired me by the fact that he has spoken out and against the grain with much my approval - Louis Savain and his Rebel Science work.

Shared states, message queue, wait states.. I'm falling back to sleep and then pow, Ultrasparc T2 Plus pops up and shouts love me! I'm the future and I've arrived! Almost instantly I fall into a depression requiring several months of therapy to relieve the shock. Marc Tremblay took flawed logic, built it into a chip and corrupted the reduced instruction set with a complicated mess as bad as the x86 architecture for what purpose?

People who make hardware today, really need to get with the program and start to think. It's patently clear that outside of the box is just one of the marketing departments glossy catch phrases as they really don't seem to have a clue about what the box even should be, what is outside of it is just another chance to sell unfinished software and tools, then upgrade the 'experts' with fixes and updates.. wow.. brillo.

I've been a fan you could say of Sun, Microsoft and Apple. The Apple "Think Different" campaign was one of the best thing's I recall a company of any kind ever pursing. Boy how that turned sour when Apple dropped IBM and went all Core 2. I suspect that these guys might end up with red faces and jumping camp again when IBM releases 500 cores on a single die all running at 500Ghz but for the meantime it's Bahh Bahh.. were all out to pasture and were going to build a new O/S based on Unix because it's easier than trying to debug Windows and everyone will think it's bullet proof from Trojans and Virus's etc etc... Crickey!

Does anyone even give a damn as I don't and the people who are selling you crap, soon to be obsolete, which can't take a spare battery and is designed for you, as disposable as you the consumer are. Do these people even know what it is to care about anything other than the love of money or was that all too hard?

Shared resources are a joke and I'll tell you why. Nobody is going to share their money and that is the worlds primary resource. If your reading this now, then there is a stream of free information in a read state. Millions could potentially read this, incurring millions of read only threads but if I edit this... so what? Everyone keeps reading and nobody would even notice that it has changed, except their may be a second pause when I save.

Where is the locking? Where is the race condition? Why would this require millions of calculations, timed mutex callbacks, synchronous wait states? The answer is simple as it doesn't.

Man I love reliable software with a passion. It feels great to know that something is reliable and solidly doing it's job the way it should and will keep doing it forever, beyond my fragile existence even. It actually provided for me the first sense of reassurance I can recall outside of being nurtured by my mother. Now if I have to go back to an 8080 chip just to feel that again, then isn't that a shame?

I'm not a fan of Erlang or lightweight threads. I'm not a fan of Java and I'm not a fan of pointers, green threads, red threads or .Net threads. I'm not a fan of threading in PERL, in C or in any other way at all and I try to avoid them as much as possible.

If you can't avoid threading then you have to lock, unlock and get into some real boggling. The reason being is the processors which your programming language is running from is flawed and so is the language that your using to reach your goal. Einstein said something along the lines of our technology being "child like and primitive yet the most precious thing we have". He also stated that "Everything should be made as simple as possible but not simpler".

Firstly look at what needs to be in a read only state, what needs to modify and different ways of implementing modifiers. There are solutions that can be found without thrashing in the water screaming for help, think differently!

The only way that I can see of eliminating threads, is to eliminate the hardware and programming languages which all equally stink of monolithic backwash from the 50's. How about some real innovation Sun, Intel, Anyone?

Monday, September 22, 2008

Flex Resources

Aside from stating the obvious. Save yourself (or prepare) by considering that, before you hand over money and start buying books on Flex or Air and that there are so many on line resources, starting with Adobe Live Docs.

Here are some links and resources, collated from a recent news group posting and edited to include some more comprehensive links and some removed. I recommend heading over to Flexcoders at yahoo groups - All for ease of measure in locating resources and getting Flex and AIR rich Internet application development up to speed.

http://jessewarden.com/

http://www.stevensacks.net/

http://blogs.adobe.com/acom/

http://adamflater.blogspot.com/

http://rss.adobe.com/en/flex_cookbook_most_recent.rss

http://blogs.adobe.com/aharui/over

http://flexdiary.blogspot.com/

http://shigeru-nakagaki.com/index.cfm

http://www.boostworthy.com/blog

http://www.buntel.com/blog/index.cfm

http://www.herrodius.com/blog

http://www.darronschall.com/weblog/

http://david.realeyes.com

http://davidzuckerman.com/adobe

http://www.degrafa.com

http://www.dgrigg.com

http://dispatchevent.org

http://dougmccune.com/blog

http://ecmascript.zwetan.com/

http://jwopitz.wordpress.com

http://sherifabdou.com

http://blog.sunild.com/

http://blog.flexmonkeypatches.com

http://www.dehats.com/drupalinteresting

http://blogs.adobe.com/gosmith/

http://blogs.adobe.com/fcheng/

http://fullasagoog.com/

http://www.gskinner.com/blog/

http://gettingandsetting.com

http://www.graviti.tv/blog

http://blog.haxe.org

http://iamdeepa.com/blog

http://blog.iconara.net

http://jacwright.com/blog

http://ech.net/blog

http://www.joeberkovitz.com/blog

http://joshblog.net

http://www.colettas.org

http://office.realeyesmedia.com/blogs/jun

http://kennethteo.com

http://blog.kevinhoyt.org

http://blog.thinkingdigital.org

http://weblogs.macromedia.com/mchotin/

http://weblogs.macromedia.com/paulw/

http://www.quasimondo.com/

http://www.riapedia.com

http://www.ryangorer.com/blog/

http://thesaj.wordpress.com

http://scalenine.com/

http://seantheflexguy.com/blog

http://blog.smashedapples.com/

http://www.thetechlabs.com

http://www.onflex.org/ted/index.php

http://timwalling.com

http://www.tink.ws/blog


Saturday, September 20, 2008

OpenSolaris Color Terminal

Simply open your user home directory in OpenSolaris, via a terminal and locate the - .bashrc - file and append the following to the bottom of your default .bashrc file;

alias ls='ls --color=auto'


Et VoilĂ !



Saturday, May 10, 2008

Ruby for the enterprise.

MVC (Model, View, Controller) programming paradigm is nothing new. It is in fact close to 40 years old and was invented by Trygve Reenskaug, who at the time worked for the Palo Alto Research Center of Xerox - Xerox Parc.

What strikes me as interesting is the increasing amount of people that I have heard, who have brazenly taken it upon themselves to venture into an Ruby and Rails programming, ditching their .Net / PHP and even Java development's in favour of this under matured language, without full understanding of the implications such a radical change imposes.

This might sound like a sweeping statement to make but hold on a second. CGI or the Common Gateway Interface is the oldest web technology, simple. Allaire Corporation founded by Jeremy and JJ Allaire in Minnesota, were the first to release a database driven web content server, they named this "coldfussion". Microsoft quickly took to arms with this model and implemented "Active Server Pages" or Classic ASP and today's modern version ASP .Net is in fact a MVC framework, although not in the strictest sense, however with minimal effort it can be deployed as such and with the extra advantage of having one of the fastest moving and biggest computer company's in the world behind it - Microsoft.

The real intention of MVC is the distinct separation of interfaces. The GUI or graphical user interface, is separated from the code logic or middle ware interface and again separated from the controller or data interface. Adele Goldberg while working with SmallTalk in the 1980's came up with a method of "pluggable" views to facilitate generic display of text boxes and list views, which were parametrized and reduced the amount of controller and view classes required to display them. Pluggable Views were a part of Smalltalk-80 R2.

The Presentation Abstraction Control or PAC is in fact even older than the Objective interface, however I am not here talking up the history of what has already happened and neither am I about to start building SharePoint web parts in SmallTalk .Net! It's very simple to see that some people rush in to put themselves at the "bleeding edge" of technology and end up falling flat on their face, as my father used to tell me "fools rush in where angels fear to tread" is most poignant.

When Ruby is mature enough for the enterprise, I may have a use for it. As it is in it's current early stages of development there is very little that I can do with it that I can't anywhere else, in fact there is nothing that I can't do in C# .Net that Ruby offers me. Please provide some feedback, anyone as I am really interested in finding out why people are making such bizarre leaps from highly productive and highly efficient environments to buggy, incomplete experimental frameworks.

Should Ruby loose flavour and cool off within the next few years, as I'm almost certain that it will, there are going to be a lot of web app's that are require porting back to a framework, which they could have been targeted for in the first instance. If you need MVC and are sticking with *Nix then go for Struts and stick with Java. You will also have the advantage of very easy migration to/from .Net if ever required. IronRuby and the DLR on the other hand is to say simply, syntactically hungover from TCL/TK in my humble opinion.

Tuesday, April 15, 2008

HD Wallpaper

Ok so you got your glossy nice big wide screen. It screams for something to show the sheen of that glass, the quality of that plastic and the artist trapped within your materially quivering soul. So now what? Where are these high resolution images that you have been yearning to see come to life on your new desktop or notebook?

Same place as they have always been of course ;-)

http://exoteric.roach.org/

Amazing fractal art, very busy and sometimes can be a bother to access. However this is well worthy of your patience!

http://www.dualscreenwallpaper.com/

Two monitors are great, the trick is to use a serriously good image, the right size and set your monitor to "tile" the image. If the tile is the size of the display resolution, it displays just the way nature intended!

http://www.mandolux.com/

Another excellent collection of widescreen and dual screen masterpieces! Jump over and have a look for yourself.. go!

http://www.pixelgirlpresents.com/

Making waves since 2002 with an impressive collection of original designs in many forms. A multimedia inspiration and an excellent collection of original and inspired desktops and themes.

http://www.socwall.com/

Great site for sharing and spreading wallpaper and all things to make your monitor shine!

http://pichaus.com/

Great site for sharing and downloading original art. Somewhat less of a mainstream site as I type, I'm sure that will change very soon!

http://www.deviantart.com/

Love the domain name and this has to be one of the most successful design websites of all time. Simply excellent web development has gone into delivering this site and the artwork by the contributing artists has made this one of the leading contributions to modern art in the past five years.

http://www.hamaddarwish.com/

After seeing some of his work on Flikr, creative directors and lead-designers from the MSX (Now the Microsoft User Experience, when I was a child it was a computer..) design team approached Hamad in an attempt to purchase some of his work. After a period of negotiation and planning, Microsoft commissioned Hamad on a photo-shoot to take pictures to be used in the desktop wallpaper collection of their newest, and highly anticipated, operating system Windows Vista.

Game Wallpapers

Collection of over 3800 game and movie wallpapers, surely a hit for anyone in a Crysis!

http://www.bowsershrine.com/

Copyright © of Nintendo, edited and compiled by the mighty Bowser, this is a great collection of fun wallpaper to cheer up any grey day in the office!

http://www.nintendolife.com/wallpapers

And not to forget the original masters of the craft, the Mario's of the Mario! Nintendo is life, Viva Nintendo!

Mike Swanson

It say's that Mike is a "Technical Evangelist" and who am I to dissagree? I'm more inclined to say "Asthetic Mastermind" but who is splitting hairs, especially ones this colorful!

http://www.cinematicwallpaper.com/

All the great walls from all the great movie houses... or something along the lines of that. If movies are the theme of the moment, this is the site.

http://www.graffitiwallpaper.com

Nice wallpaper site, designed and provided by Emma McCreary.An Interesting find worth investigating!

http://www.digitalblasphemy.com/

One of the biggest resources of 3D walls running for eeeeever and a day! A membership based site, similar to Deviantart in that regard if nothing else. Stunning collection of images and well presented member section for a small fee.

http://weblog.404creative.com/index.php/category/wallpapers/

Constantly rotating and evolving this is a great resource for fresh and original designs brought to us by Kevin Flahaut and crew.

http://interfacelift.com/

After all... who dosnt need a facelift?

http://www.ewallpapers.eu/

When I first found this site, I was glued to my chair and couldn't move for hours. It's what inspired me to write this blog I think...

Four hours later, I've done enough wallpapering for the day. Enjoy!

Screen On!