01 September 2009

WWW Java Tech Sessions (Misguided By Google, Fooled By Fowler)

Java Frameworks of all sorts are like investment scams where the proponents try to make a lot of money without really getting anything done. So far, their success has been so amazing that most adapting developers and freshly graduated rocket-scientists are gasping for breathe one project to another.

In an effort to offer some enlightenment, a group of highly disgruntled individuals has proposed a WWW (What Went Wrong) series of Java technical sessions as a rescue package. The following topics has been compiled while these idiots are stealing time from they corporate development duties.

1. Waking Up From Hibernate (2-3 hours)
2. Fooled By Fowler (30 minutes)
3. How Not To Be Blocked By Bloch (1 hour dementing session)
4. Escape From Jakarta (1 hour)
5. Be Cool With Just 3 Patterns (3 hours)
6. Only The Gays Use Design Patterns (Until wee hours)
7. Head First Macro (6 hours)
8. Developing For Failure (10 minutes)
9. How To Cheat JUnit (1 hour)
10. Teaching: The Ultimate Exit Strategy (to be outsourced)

There's a bonus pack too.

1. How We Exorcised The Jerks Who Tried To Rule The World With Android (new!)
2. How To Cheat Estimation For Project Managers (1 hour)
3. Corporate Development Tips And Tricks (As If There's Any)
4. Save Yourself With PowerBuilder (All Time Favorite)
5. FoxPro For Dummies
6. The Geek Shall Inherit The Shit

All these brought to you by Green And Gold Outsourcing, (GAGO) Inc.

14 July 2009

Sim Card Registration

I just saw news clip today with regards to mandatory SIM card registration for prepaid subscribers. Well, I have no problem with that. In fact, it's about time that we have to do that. It protects consumers and public in general in several ways, such as mobile phone theft, credit theft by telcos, national security etc.

As usual, the idea is not bad. But the success of such measure can only be known through effective implementation. And through effective implementation we don't mean manual registration of SIM cards by any retailers, specially small retailers. As the telcos will always be reluctant in implementing SIM card registration for prepaid subscribers for reason that it will cut through the bulk of their revenue, an automated approach will help to carry out the enforcement of SIM card registration.

One that will make sense is for the telcos to open up an API that will be called by third-party developers to create in-store Qt-based registration software which can be based on Personal Information Management(PIM) specifications. The API can be deployed as a web service, remote procedure call or even through instant messaging via Jabber. Of course, every registration has a corresponding transaction fee which can be charged from the cost of the SIM card. Also, failure to register prepaid SIM card within one hour of activation will prompt a server-side action to invalidate the SIM card.

There's a lot of opportunities and possibilities that goes with SIM card registration. These are just a few of what I have in mind.

02 July 2009

The Essence of Full Screen Mode

What's the big deal? For what is mundane to game developers has become a great boon to desktop programmers. Full-screen mode brings your user to an exclusive dimension that provides a non-distracting journey around your application, it keeps your user glued within the context of what really matters most, the intended output in the shortest possible path.

Implementing the Full-Screen Mode

I've waited for years for Java to implement full screen mode, but until now, it's still flaky, cumbersome and not consistent in different platforms (so much talk about cross-platform). Some kiosk developers even go as far as "cheating" with the browser by enabling full screen mode in Internet Explorer via Javascript, Flash and other gazillion-of-html-code nonsense only to end up being locked in one operating system and limited possibilities.

The Qt Solution

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
showFullScreen();
}


Is a very simple one-function call to solve the problem and let the developer focus on other important functions, allowing them to finish projects in a short period of time. Qt provides consistency across different platforms.

Mac? Linux? Windows? It's hard to tell!


Programming the rest of the widgets that are needed by a full screen application is no different to programming a typical Qt desktop application. There are no other tags to maintain, no screen size to worry about, just do the proper layout and everything will go into the "right" places. That's less code, create more.



So, want to try this on HTML?

28 June 2009

Taking Back The Power To The Desktop (Revenge of the Fallen)

Alright, my day job is still with Java right now, but I had to admit lousy web development is really creeping up my neck already. It was never cool coding more for less, if you don't know what I mean, that's coding more lines of code for just rendering a simple web page regardless of what framework you're using, how many styles of configurations you have mastered and knows AJAX isn't for laundry anymore and no matter how hard you try you can't keep them all in your brains and reuse them on another project that is totally dependent on a different (but theoretically similar) framework. That's coding more for less.

The Power of the Desktop

In today's highly interactive apps, the Desktop has a broader role from just being a host to native applications serving unforgiving enterprise users. The Desktop can now provide stand-alone multimedia entertainment, entice users to play with its touchscreen, make marketing guys happy for doing more rather than take up user input all day. The Desktop is now portable and mobile, users can bring their favorite applications in a USB device and run it as if it was installed in a host PC. This is why web development always leave a bad taste in my tongue, because the power of The Desktop today is too hard to ignore.



Enter Qt


Why Qt? Why not Java Swing or Eclipse SWT? or even some other craps that M$ has to offer? Three words; Portable, Native and Fast. In all my research, only Qt provided answers to these three challenges. Besides, how hard it is to play a movie that even a label can render?


QLabel *label = new QLabel;
QMovie *movie = new QMovie("movies/transformers2.mov");

label->setMovie(movie);
movie->start();


That is "less code, creat more". Yes it's C++ and can be compiled on your favorite OS whether it's Mac, Linux or Windows; no code change, no behavioral change. Single source for different platform, that is a real-deal cross-platform technology, no JVMs!

Mac


Windows


It's 2009, and I'm still dumbfounded why some companies can't offer their desktop products in multiple platforms which is very easy to do! In fact, all it needs is to re-align proper mindsets to get started. Qt allows developers to create a lot of things for less, invent a lot for less, productivity for less. It allows developers to realized their dream killer apps in no time, get into the market in no time, impress customers without so much f*cking on web wonders. And now, the power of the Desktop is back!