The Forgotten Sourcecode

I remember the first time I heard the term Public Domain software and Shareware somewhere between the late 1980′ and early 90’s. Towards the end of the Commodore C64 era, where software was almost solely commercial (and not affordable for the average secondary student) creating the vivid software “sharing platform” at the schoolyard as a solid first release of software piracy, I got my hands on my first IBM compatible PC running DOS. Soon after data CD-ROM’s appeared with Shareware, a legal way to use software. Magazines were published with CD-ROM’s attached and I remember regular visits to shareware shops selling nothing but legal CD-ROM’s, years before the internet was available to public. While Public Domain Software was totally free of any license and Shareware was more like a free-to-use model (sometimes under certain conditions or restrictions similar to today’s lite/free versions), it laid the foundation of what we know as Open Source today, in my opinion one of the most important elements of our software landscape. I recommend the title “The Cathedral and The Bazaar” by Eric S. Raymond, the 25 year old book describing the inner parts of open source, a lot of it still applies.

bazaar

The Cathedral and The Bazaar – 1999 Book by Eric S. Raymond

If you are keen to go on a time travel you can download the ISO image of a couple of these shareware CD’s from archive.org and have a hands-on session with 25 year old software, though I doubt you can execute all of them on current hardware and OS.

The640SharewareStudio

Shareware CD anno 1992 (archive.org)

Once the internet was in place platforms emerged where hobbyists could store the software repositories and releases of their software. One of the early ones I remember was Sourceforge which was launched in 1999, it still exists today (after changing ownership 3 times last few years). Few others were coming and going in the same space (BerliOS, Launchpad, java.net, Javaforge, Tigris.org, ..). Though not so dominating today anymore, due to number of alternatives, one of the most prominent is Github, Sourceforge still hosts a huge number of software, some of them quite prominent, it also was the starting platform of some rather known solutions (Pentaho, Firebird, Wireshark, Nagios, Notepad++,..). Over the years I created accounts for some of the platforms, and even forgot some of them, now I solely use Github. Recently I came across a simple tool that I created in 2008 to experiment with repositories in Java and noticed the tool is still there and it was downloaded over 2.300 times in the last nine years. Not that the tool does anything more magic than creating UUID’s and copy them to clipboard. It is just amazing to see, as long the platform does not disappear, the code lives on, no expiry attached.

2017-11-20 14_56_57-Download Statistics_ All Files

Do you have some old forgotten software treasures too?

2017-11-20 15_05_52-UUID Generator download _ SourceForge.net

d3.js getting started

I love visualization of data. It is fantastic what and how you can visualize data and make it accessible and understandable. Specifically I like tree, radial trees and graphs . While the tools some years back were rather restricted to thick clients and Flash applications, we can transport great visualizations with the means of a simple (recent) browser.I recommend this book ‘Beautiful Visualization’ by Julie Steele, Noah Iliinsky (link)

For a while I worked wth prefuse and flare (2 nice but more or less defunc projects), now I start to implement some real life applications with d3.js (link). The features are awesome but the documentation is still rather short, the API doc is complete, but not much hello world stuff to get started with, other than dissecting some of the sample in the download.

What do we need to get started ?

  • A browser and a web server (for Linux users: there is one build in your machine, just start python -m SimpleHTTPServer 8888 and the current path becomes ‘server’)
  • Download d3.js (comes with plenty of samples, some of them will NOT run when you open the html files as file, use the webserver instead!)
  • Text editor (Kate, vi,..)

What is the most simple visualization sourcecode ?

  • Create a html file and place the d3.js in the same or lib folder.
  • Lets draw a circle (I took this from one of the get-started blogs by Christophe Viau, link)
    <!DOCTYPE html>
    <html>
      <head>
        <title>Hello, data!</title>
        <script type="text/javascript" src="lib/d3.js"></script>
      </head>
      <body>
    
        <div id="viz"></div>
    
        <script type="text/javascript">
    
        var sampleSVG = d3.select("#viz")
            .append("svg:svg")
            .attr("width", 100)
            .attr("height", 100);
    
        sampleSVG.append("svg:circle")
            .style("stroke", "black")
            .style("fill", "white")
            .attr("r", 40)
            .attr("cx", 50)
            .attr("cy", 50)
    
        </script>
    
      </body>
    </html>
    
  • Open the browser

    Most simple d3.js sample

I hope I find the time to share more with you once I get the grip on this tool.

Kenai.com alternatives ?

Kenai.com (link) is dead (shot by the Sheriff, but he didn’t shoot no deputy, ooh, ooh,..) and by April 30th you better backup your belongings, otherwise they go /dev/null. (The domain will be removed as well). Unfortunately it was well integrated with Netbeans and this level of collaboration you wouldn’t achieve with another OS code repositories. No choice, so here a comparison of services on wikipedia (link).
My personal choice: I will select one with a public API, potentially could create a plugin (if it is not available yet). Maybe Launchpad or Github.

Tutorial: Getting started with Netbeans and JUnit plus Cobertura (Part 1)

I believe strongly in testing. I saw companies and products without any automatic test frameworks and the slightest change to the codebase (often in the urgent ‘we-need-to-fix-it-now-and-give-to-the-customer-in-1hr’ mode) made parts of the product or modules prone to crashes because no one could test the changes against the complete application. In my current endevour to create a new product we embrace testing, though we dont practice TDD (test-driven-development), but at least we maximize the amount of automatic testing with tools/frameworks like Netbeans, Hudson, Cobertura and others. If you dont practice TDD, how can you judge how much of your codebase is really tested, even you assume all you business testcases are covered ?

The other day Code Coverage crossed my way (Thanks Chris!). Eager to find out how to “do it” or to “use it” I found a few tools suitable for the Netbeans environment. It actually drilled down to only one tool: Cobertura. It fits exactly into our landscape using Netbeans and Hudson and it is opensource.
To get started with Cobertura you should be familiar (a bit) with Netbeans, JUnit and Ant. The Cobertura website offers sufficient reference for all functions and introduction to get you started. But what I missed is a tutorial the start from the scratch using Netbeans and Cobertura. I found 3 references (I will add them at the end,) which are not complete or just not working for me), so let me share the most basic getting-started steps with you.
Please note: This is how I get started, it might not be complete, foolproof or even correct in all details. Please feel free to comment, correct or give other feedback !

Continue reading

OSSPAC 2009 – Open Source in Singapore

osspac_banner_250

OSSPAC 2009
– The first (of its kind in Singapore?) conference attracts developers, adopters and companies from Singapore and the neighboring countries to follow a diverse string of sessions, talks and labs for 3 days this week.
From some very general talks and keynotes to very specific technical sessions and labs everyone should have found his cup of tea. I was surprised by the small number of participants, despite Singapore being a technology hub (not in terms of OS..) and attending the SUN TechDays (blog entry) some 2..3 weeks back with a overwhelming number of people (a commercial roadshow at the fraction of the price, I know).
The conference reflects the OSS landscape in Singapore: Small and not very vivid (yet) as in other countries and cities around the world. Still a way to go ! It lives by participation ! I try to add to it.

I like to compare OS communities a bit with the arts scene, it starts very small, usually by individuals or small groups without any professional or commercial backing, eventually it would pick up pace and more people join in and ultimately companies to sponsor or finance it. It (the initial spark) cannot be engaged, enforced or bought.
Joining last years OS conference in Sydney Australia (blog entry), I found a very vivid and colorful event, some of that spirit could be injected here.

I really welcome the organizers effort to get this conference started, hoping this will be a regular event in the OSS community of Singapore. So far it was worth attending, some very good speakers and  I get to know some new people, companies and products.

Feedback:

  • A simpler conference location could bring down the price and allow more individuals to join.
  • Try to inject more interaction. (QA for keynotes)
  • Maybe you need a moderator for the individual tracks.
  • Where are the lightning talks ?
  • OSS conferences are not a place to wear ties.
  • The light (and sometimes the sound) setup was crap. But thats a general conference problem.

Conclusion (for me):

  • I will join again. OS is based on community and particpation.
  • Gonna hava mor detailed look at Jaspersoft BI and Ingres DB.
  • Signed up for Suse studio !

Application Framework

Looking around for a nice browser based application framework I stumbled upon 3 opensource products that are somehow integrated into the Netbeans and Glassfish world.

  • Icefaces (Woodstock migrated here) | link
  • ZK direct RIA | link
  • JMaki / Dojo | link | link

I will evaluate these 3 and report about the results here. While Icefaces and ZK are clearly enterprise enabled frameworks, JMaki is a rather consumer application orientated framework. I might be wrong with this statement, but this is my first tast bitting on it. ZK seems closer to Spring and Tomcat than Netbeans and Glassfish.

Installing OpenSolaris 2008.11

I downloaded the LiveCD already a while ago, but only after the last SUN TechDays here I was inspired to finally install it.

Requirements: OpenSolaris LiveCD and any Mac or PC.

Before starting: Dont waste your time and bandwidth downloading the CD image. FIRST check if your hardware gonna work with OpenSolaris ! SUN offers a smart Java tool (link here) to check your hardware and available driver.

Get Started: Fairly easy Get the ISO file (link here), create a CD and start on any desktop or notebook up. It is a LiveCD, so it starts up from CD and you can play around with it until you decide to install it (there is a desktop shortcut!) or trash it. Note that all application need to be loadd from CD, so this does not refelct the real performance of an installed system.

Out of 2 desktops and 2 notebooks only 1 works fine, or better all drivers were available:
Notebook Dell Vostro 1500 with Intel 8400, 4GB, NVDIA 8600,..

On 2 desktops there was no lan driver available.

On a Notebook Compaq CQ40 during starting from CD the loudspeaker creates a extreme loud squeeching noise which you cant switch of, after hearing this for 1 minute you wont go further.

Extra Software I installed so far:

  • Virtualbox
  • JDK 1.6_11
  • Netbeans 6.5 with Python addon
  • OpenOffice 3.0
  • MySQL

Problems so far (with my hardware!):
Switching on all desktop special effects and flipping between desktops makes desktop freeze und you only can close windows that are already open.

The next release will hit the road in April 2009.

JavaFX 1.0 released

The battle of RIA platforms goes on and SUN finally released (4th Dec 2008) the first version 1.0 after announcing and previewing it first time at JavaONE in May 2007. FX is the JAVA way of doing thing you are used to see in Adobe Flash/Flex and Microsoft Silverlight targeting integration of video, images, sound and 2D graphics (3D supposed to be in the roadmap). One of the main difference to competitors: Key elements of JavaFX are open source.

I find this an exciting step and it dont force me walk to far away from my JAVA platform environment to create more exciting frontends than standard Swing look-and-feel. It is integrated into Netbeans !

The programming language is JavaFX Script, some mixture of Javascript and Java (spiced with some python look-alike features).

It is not supporting all OS yet (only Windows and MAC OS X) and there is no need to install another plugin (unlike Silverlight), Java JRE just needs to be updated to unleash its power in and outside the browser !

The JavaFX website (link)
SUN one page summary (link)
OpenJFX on dev.java.net (link)
JavaFX Blog (link)
JavaFX Script Tutorial (link)

OpenSolaris 2008.11 released

2 days ago the latest OS version was released under the CDDL (free software license by SUN). Currently downloading the iso image I will have a look at its features. With my need to run several boxes for testing and development it is another option besides the various Linux distributions. Interesting enough, some hardware vendors (Toshiba,..) will start to ship notebooks with OpenSolaris preloaded.

Download the Live CD from http://www.opensolaris.com (link)