Tag Archives: programming environment

Program a random password generator in QooxDoo

I have created my first video in a series of planned videos on programming in QooxDoo.

Programming in QooxDoo:

QooxDoo is a object oriented JavaScript library which allows you to create any type of widget, like List controls, Tree controls, Windows etc. Inside the browser without the need to worry about browser compatibility.

Aside from being very easy to use, this framework is fully object oriented and is better than any other framework I have seen in the past. Obviously people have their own preferences, and frameworks like jQuery, and Angular are at the top of their game. QooxDoo like other frameworks has strong parts and its weak parts.

This episode goes through some basics first before I dive into the programming part. As mentioned above I create a random password generator which you can use whenever you are asked to either create a new password or re-new your old password.

You can find the video on YouTube.

Password Generator preview
Password Generator preview

The resulting application looks like this

What I have learned from my first video tutorial:

I found that my mic is too sensitive to the higher frequency ranges and going forward I will have to either find a hardware equalizer or do some post production on the audio in software.

Since I am using Linux, my setup is all open source and freely available. As such some of the shortcomings are that Audacity is crashing once in a while, KDenlive was constantly crashing and unusable so I had to switch to OpenShot. I may give Blender’s built in NLE ( Non Linear Video Editor ) a go in a future part.

My keyboard ‘hacking’ is way to loud and will either need to find another keyboard, try to get the right filter settings to suppress it as much as possible ( without too affecting the overall audio quality too much ) or place my mic in a better spot.

Bottom line:

I had a lot of fun putting this tutorial together. I spent probably twice as much time on getting my equipment in place, and preparing AstraNOS for the link to allow people to try for themselves Here …..

The next episode will take most likely less time overall and I will also try my best to cut down the duration of the next episode to be 10 minutes or less.

I learned a ton of things and I am going to continue to learn during my next videos.

Does communication improve technology ?

Does communication improve technology or does technology improve communication ?

Communication
Communication

That’s a question I have been tossing in my mind for some time now. I came to the conclusion now that it is bi-directional, and that better communication will foster better technology which in turn will be the breeding ground for better communication.

If communication is the key to advances in technology, or at least a major component of it, how come we are still struggling with voip and video phones ? While this helps somewhat, the environment is not suited for most use case of ‘personal communication’

Think about it this way, why do business people travel that much ? Do they like to fly, or leave their family for weeks at a time ? No, the reason is that it is extremely difficult to communicate  complex matters remotely.

Back in 1995 / 1996 when I was briefly working at the ZGDV ( Frauenhofer Institute ) in Mannheim I saw virtual cubed environments which tried to achieve virtual immersion. The goal back then seemed so easy, and the outcome so close. What happened ? Where are the Holo-decks of the 21’th century ?

With the increase of computing power and the availability of technology and the Internet ( the Evernet really ) I am still stuck at looking at a 2D screen to interact with the computer, and with other people. Even though I now enjoy a 30 inch screen with an almost optimal resolution of 2560×1600.

We need better technology thus we need better communication. To get better communication I think we need better tools.

One of the main sticking point in recent computer science is the advance of multi core, multi cpu computers. But beyond that we now have heterogeneous computing environments. Ever wondered how much computing power is in your phone ? Why not leverage the CPU in your tablet together with the horsepower of your Laptop ?

The reason is that the available tools lack. Those tools have been designed decades ago and have not evolved at the speed required. If the programming language would adapt as fast as the web technology we would by now now look at Laptops with 2048 cores and more.

There are a multitude of attempts to invent better tools but their adoption rate is negligible. One prime example of a failed ‘better tool’ is Java. I liken it to the move from CVS to SVN. It does maintain most of the existing features and adds some bits and pieces to it but if you step back and take a look at it from a distance Java and C++ are really not that different. So why bother ?

Others attempt to modify existing languages. For me that is a much better way to go. After all, if it is done properly you can retain the billions of lines of code already written and you add functionality. Or you give a simple means of conversion.

I firmly believe we should look into adding communication into the core language itself. Design the runtime environment such that it can handle high latency or unreliable links and nodes. Maybe add some grains of auto adjustments ( Aka self healing or Learning ) to it and really re-think the paradigm of software developing, away from functional or OO to a distributed or universal ( I don’t like to use the buzz-word cloud ) based paradigm.

I am an optimist, and I see that we will eventually get there. I will try to play my part in it and while I may never get up to the ranks of true visionaries like Vint Cerf or Bjarn Stroustrup, I will never be content with the status-quo and always do what every geek should be doing.

Follow the pursuit of innovation.