Groovy and the loosely dynamic world

November 1, 2009

Toying around with Groovy with a hiatus of about 4 months from the initial foray, the feel is good n nice that I have a Java world I can toy around with more comfortably than through Java itself.

The idea of no types to run all your code initially through and then worry about type defining them later, more as a refactoring part. The quick RAD way to a Java Spring Project was really nice. What do I really think about it..from the experience in Smalltalk( majorly), Ruby, Core Java/ JEE…, VC++ and wee bit of C#.Net..

* Great to see a dynamic, loosely typed Java code enabled… too much of a pain writing

HashMap<String, ArrayList> map1 = new HashMap<String, ArrayList>() ;

or the likes..  brevity wins:

def map1=[:]

* The entire lot of wrappers over String, Maps, Reflection, Sql , MarkupBuilder et als..

What is really lacking:

* The IDE support for a full Smalltalk/ Eclipse feature set of watch/ inspect expressions, edit and continue as in Smalltalk living in the world of debuggers

* Extensive support for sender, implementors and references..

Musings :

* Groovy in the client side Browser.. replace java script with Groovy especially with its MarkupBuilder and wrappers for ArrayList, Maps , Strings is just too good a way to get rich internet apps code just that much easier..

* Doubt this is ready though for enterprise dev roll out in the sense the teams with less than capable developers as they abound in the Java world can run amok and cause more pain/grief than gain with loose typing.. unless there are the same rigors of TDD/ BDD etc as in Ruby or python, reinforced dynamic typing can be highly misused

-More on this as I have the time and specifics I can start bringing in..probably the whole spring sample app completely in Groovy..

Grails could be the next target to explore, but not really enthused trying out a copy of Rails… (that is the best in its category..)!

All in all a reaffirmation of nearly everything in Smalltalk is the best way to go …!


Quick Note: Linux, Smalltalk, Tech Management and all the interesting bits

August 20, 2009

Mint Linux= Fun + lil hard work to get it productive…

Smalltalk: Always fun to get work done, knowing that there is nothing stopping you doing it and not the geekish tech glee as in other platforms

Management: Not the best deal to be pushed up the ladder unless you are sure there is tangible tech mgmt to be done. so far so good it is and enjoyable to that extent..

Minty Linux Fun:

* Bcos its linux, cool UI more akin to Mac,

* highly productive to see all that you need already there and installed or just a click away to install: no buy/ borrow CD’s to install and wait the hour to complete the install too. Big argument for me who would try a different software just to see the 1% gain in feature/efficiency ..

* Great on drivers for nearly everything I can throw at it. Bit of a stretch at times but I guess with Google to assist nothing is too far from getting done and feel the thrill of doing it.

* Be free from the trapping of constant updates and restarts to apply them, the licence noose for everything you install

* Star Office and even IBM Lotus Office suite just is better than MS Office for nearly everything that I would imagine doing for my works

* Remote desktop and VMWare with its config to run better on linux is just too cool if you need that other “OS”

What still sucks:

* Outlook is just far too completely integrated in office environments, Evolution is trying hard to catch up.. just not there right now. But I am willing to struggle with it

* Dev that is tightly windows bound. Unfortunately even now some corporate apps are just too tightly windows bound so run up the remote desktop

* Worst is still the glitches that haunt you to redo configs, or readjust a bit here n there… predictability/ stability is still not 100% there. lil nagging issues: keep a VM ware window open connected to an external USB HDD and let the laptop go into hibernation, when you come back its all packed up. Few times will throw a garbled screen that flashes and your VMWare screen will need to be restarted..

* Seems to run up more of the CPU, heating a wee bit more than I have seen in Windows, not too sure if its initial feel.

Smalltalk:

Time to hack into VisualAge

* Product hacking has to begin and go deep real quick..

* work on  old works/ frameworks I have done in the past and bring them to usable levels pretty quick before they gather too much dust.

Why is there so little interest on moving smalltalk stuff onto rules engine/workflow that is framework driven than custom designed..?

Rather need to contribute my little bit to some smalltalk open source fun, I am sure it is worth if everyone puts his/her code out for common use a la Ruby style..

Try the GNU Smalltalk and move as much of these works into it.. I guess that maybe better showcasing its utility than putting in only for commercial smalltalk releases.


Linux on the desktops of the enterprise workforce

June 4, 2009

Check out: PC-LinuxOS, SimplyMepis, Moblin as well as SLED, OpenSuse, Ubuntu.. before you state any arguments for or against…!

What gives and shapes a windows adoption and the tardy progress of linux adoption since the early days of predictions of a roll over of MS to Linux juggernaut. Many reasons, chiefly the usability of various common purpose applications.

What is the cost of such adoption: roughly 700-1000 USD per desktop and upwards ( 700-1000 USD is only Windows Vista and MS Office after 2008 discounts..) ask IT admin for costs for its entire ops.

Linux alternative: Completely free to nearly free ( 50USD at best ) for a complete copy of OS+ StarOffice+tons of software including photo-movie editors, multimedia players, high end software you would pay an arm and leg for on windows.

Take this over 1000 – 50,000 desktops in an average organization or a firm.. you talk of millions in saving at just 10% adoption levels to begin with and at 50% or more you could talk of value substantial enough to impact bottom lines of any org. In the recession times a strong argument to reckon with..Can we sell this to ourselves in our own orgs we work in..

What is different in 2009 than the years before to talk of Linux desktops:

• The growth and substantial improvement of linux desktop variants
• Great strides in KDE, Gnome as a desktop GUI..
• Greater strides in applications setup/packaging simpler than Windows in a way
• Much better driver recognition and auto install in the OS setup process than ever before
• The OpenOffice huge leap in capability and compatibility with MS Office docs: Powerpoint ecquivalent is incredible… Word replacement is just very much there.. unless you do some specialized stuff. Excel is ofcourse the exception, nothing shall be as good.. but the OpenOffice does a credible job of spreadsheets too
• Credible alternatives of Mono and Crossover office for the addicted MSWindows user of those apps and environment. That is if you are a super power user of Excel, Outlook and want .Net running… for some great reason.. ( that percentage in a normal enterprise is about 10% or lower)
• Higher adoption through OEM desktop/laptop suppliers, the netbook variants etc..
• The VMWare appliances program to give you a complete plug n play environment for software products to give a OS bundled environment ready to go live.
• Nearly all programming languages and platforms now work on Linux as well if not better than on Windows from a performance and utility point of view.. Ruby: RoR, Java for a decade plus, Mono, Python, my fav: Smalltalk, host of others one can list…including pure C/C++…
• Alternatives range from OpenSuse, Ubuntu, SimpleMepis, PC-LinuxOS.. to about 500 others if you wish to know.. but the first two are adequate for an enterprise to choose from.

• Do we really use more than 25% of the Windows features anyways.. so though is talked off.. tom-tommed about.. we can easily do without it if we choose to.

Lots one can go on endlessly on…

I would say as a low hanging fruit, it begets reasoning that atleast an I.T. firm should adopt linux on a larger scale if for nothing else to increment the capability of all resources to know IT fundamentals better and more closer to the metal than they do using Windows. Bring in the benefits of doing so when they transfer the production software to a Linux hardware.

I will just conclude with links to a few web articles which can emphasize the relevance and importance of this move. I am more than convinced the days for Linux desktop more ubiquitously visible across the globe is not more than the mere 3 yrs away…

http://www.novell.com/products/desktop/lower-cost.html

http://news.zdnet.com/2100-9595_22-308528.html

Usha-Martin: Reducing total desktop cost of operation by 90% : http://www.novell.com/success/usha_martin_group.html

http://www-03.ibm.com/press/us/en/pressrelease/27562.wss

A very dated 2003 article on desktop linux but for the details a good one:

http://www.osafoundation.org/desktop-linux-overview.pdf

http://desktoplinux.com/articles/AT7702650846.html

I hope its some food for thought for all concerned.. As I write this I have partially moved to a PC-Linux OS on my machine and hope to now on move all my machine personal and work on Linux completely. I can bet I can move my Dad’s laptop to Linux now, and see him work as well.. and that’s a big thing.


Books to read

April 21, 2009

Should get back to some creative blogging.. but some dump first..

I am kind of on a book reading run since the last few months. Would recommend for anyone in IT-Tech-Mgmt to read these:
* Innovator’s Dilemma
* 100 minds that made the market: Ken Fisher
* Winning: Jack Welch
* Fooled by Randomness, and Black Swan: Taleb
* Pick any of the Apple History: Critical one’s are better
* Microsoft secrets: M. Cusumano really dated but you better read history than repeating it in your place of work..
* Art of the start: Guy Kawasaki

There were other rushed reads on the flights to LA too.. I am forgetting and also misc stuff..

* Wine Guide: Collins Pocket book.. interested a wee bit on the wine geographies and the background location wise.

I sure have another million books to read before I can claim to have read it all..that I can..


Yet another Web Framework for Smalltalk

September 19, 2008

Did this back in 2004-2005. Web framework independent of studying any others in Java, Ruby, PHP,.Net or anyone else.. Down the last two years realize how far it reinvented many of the concepts of Java XML config/ Ruby folder/code generation etc.. Seaside made it feel redundant. But more thought pored over lets me feel enthused to see a twist that can breath a fresher air to it.. and purpose it ought to serve.. 

Plugin a workflow / Rules engine it could be different tool altogether. modify the complexity of external XML configs to more code oriented debuggable configs. Work around the limitation if any of depending on ssps, loads of work re-engineering the original concept that smacks of an imitation of RoR, but never was an imitation.

The need is for a more drag and drop composition with minimal code intervention, yet fully debuggable as a code when required. Least and the essentials in XML configs, a folder structure to obtain flexibility of image, css, js handling.. 

simpleweb-ficci-2005


Re-visiting VM Plugin in VisualWorks

September 19, 2008

Hope to sometime soon revisit this VM plugin in VW ported from Squeak..  Posting this on to kick me to pick it off sooner than later..

vmplugin_sts05

Use a Smalltalk framework to write a code that gets converted to a C code , recompiled and pluggable back optimized to your Smalltalk code for those 10% of the code optimization you require…


OOPS: Revisiting it for a lec-dem

September 19, 2008

Having been asked to hold a lec-dem for the freshmen of IT unit, I realize there is always a huge gain in revisiting the basics.. For records I thought I better most this here..

oops1.pdf

Think of Architectural CAD:

  Started with the  Procedural lines, circles, arcs.. ,  added the capability of blocks and finally has gone Object Oriented with walls, windows, doors et als to visually display the simile in transition from procedural to object oriented and beyond..

Fun with Objects if you understand them well..
What is OOPS and what is not OOPS..
Specifications and structure of OOPS: a lil bit of history..
Evolving  OOPS for your needs:
    –Trapping requirements
    – Designing with OOPS
Visualizing and representing OOPS
     – Writing the code
     – Debugging and testing OOP code
     – Delivering OOP code..
Practical OOPS tips.. The best way to be a Zen master at OOPS..
     –All that you should do
     –All that you should avoid…
     –Somethings you can get away with.. Occassionally..
Is OOPS the cure-all methodology.. Alternatives and their terrains..
      –The way ahead to succeed with OOPS.. And meld it with other techniques..

The Banking Meltdown

September 19, 2008

I guess it is obvious turnaround for the rapacious financial institutions, which have created the artificial veneer of business operation based on derivatives, paper instruments, bloated remunerations for unreal world of financial juggleries.  The ripple effect now threatens to be the worst situation to be in for years known in the past. How far would this boil down to a jobless market across all segments, all industries is going to be visible in 3-6 months. Global impact would be equally severe for those who have seen massive growth in the last 3-5 yrs in any part of the world..

Old world order of low risk, safe bets may seem to be paying off for many in the world. For a connected flat global world, the effect is sure to be immediate and deeper than ever before. There is lot more to speculate on how many more companies will go under, how many jobs will be taken off… the pessimists and the optimists can vary largely on it only on the volume but agree on its going deep south.. well and sure. “Bears” in the corporate world that can see benefit in this new world order would have a new drum to beat and work with..

Go back to the basics, less jargon, keep it simple ( a la google.. or apple), work through to service/offer what is essential to the target consumer/client.  Being agile and be able to move and twist to the turns that are going to be the need to move ahead of the crowd in the next 3 yrs. Or stay put in an inertial mode.

IT world too has basked for too long on gains from personnel replacements with automation to reach a point of no signficant gains to offer than the “instantaneous” internet is already reaching for. It will have to work towards the manufacturing industry like longer cycles of investment, products offering something more than just workflow optimization. Whither to for IT services industry beyond 2010-2013 at best, till when the current contracts should expire.. Deep Think.. to survive beyond 2011.. Lots that can be done and still a long way to go before it can be really called a crisis in a real sense, when despite most optimized efforts and at least cost the industry struggles to survive… Right now it has just too easy a travel to make its 30%+ growth and profits even till this year past.. down from highs of the past.. How many of the unrealistic brainstorming, conferences, jargons, useless sales cycles be dumped.. is to be seen through the year and three ahead. Leave the assumptions of the past, and see the future as it is; significantly different than the past.


XSD based XML Exports Framework

September 10, 2008

For nearly all projects now it is a requirement to export all outputs as XML. Schema is well defined and has to be adhered to for the exports. In all but the current project requirements pre-existing or additional formats as in csv, fixed file formats too are required. If the schema defined is a known superset of the formats of output it would be easy to rake up a meta framework code that takes the XSD file as an input and creates the comprehensive scaffolding of the export code and leave a minimal section of methods to be filled into for the runtime data values and custom changes for exports in other formats being the only intrusive effort from development.

This is a basis for something like the servingXML project too a lot more generic and comprehensive dependent on a XSL like template being filled in and used.

In the context of a Smalltalk based application there is an attempt to work through this meta framework that yields a benefit of over 60x (execution time) over basic and amateurish attempt to construct XML nodes at runtime to export the XML file.



Rules Engine

September 10, 2008

There are now a galore of Rules Engines starting from the very basic  a_squeaky_rule_engine.htm   to the Microsoft’s, Sun JRules or JBoss, iLogs and the other 300 odd initiators of rules engine ( including in many cases the workflow). 

How about the need for a lean rules engine, simple/sequential that converts business decision to table based rules in its own native language integrated to the application rather than as a standalone process. For normal execution has a flow of value calculation through the Rules objects and for performance intensive operations is compiled and executed as a method once the server is up and running. Invocation first time penalty being a very minor charge for the efficiency of maintainability, scalability. This contrasts to maintaining a special Rules Engine server despite their optimizations will require overheads of performance even most enterprise applications cannot support. Why not have a lean rules engine that can support nearly all of the rules categorized as:

 * Business logic

 * Application logic

 * Workflow logic

 Yield an optimization that is integral and dynamically compiled to the application delivered and not standalone linked, unless it is a severely large enterprise application.

  Some thoughts that lead to this Lean Rules Engine development in Smalltalk… Comments and posts are welcome..