I've been on a new engagement for the past three months, and my customer's IT department uses a UI framework called Vaadin. If you're thinking, "Great! Just what we need: another UI framework!" then you're thinking what I was thinking when I first started.
However, the more I use Vaadin, the more I like it. Mainly for three reasons:
First, Vaadin is easy to use. It's so easy to write a UI it's almost unbelievable. It took me about three minutes to stand up the basics for the application I'm working on now (i.e., to generate the complete, "Hello World" skeleton I am currently building on top of).
Second, there is LOTS of sample code for doing all of the basics on the Vaadin Sampler Site
. If you're like me, you LOVE sample code. Need to know how to use a radio button? No problem? A drop down list box? Combo box? List view tied to a Database table? No problem. No problem. No problem.
If you're interested in Vaadin, start here
or by reading The Book of Vaadin.
I've always wondered if people learn better through playing games. This idea struck me as I was watching the 1994 Michael Douglas movie "Disclosure". You know, the one with all the Virtual Reality stuff in it? I thought, "If people could play a game while they're learning, they would learn faster and retain more." (Don't try and figure out the connection between the movie and the idea... it's just how my brain works, and it's weird, admittedly).
Okay, so, I'm learning Android programming. And I'm thinking of ideas for games. My company, Makoto Consulting Group, does IT training of the traditional sign-up-then-i-teach-you-and-10-of-your-coworkers-about-something sort of classroom style training. It works well, but I've also taken some Computer-based training (CBT) classes during my career and I liked the at-your-own-pace-when-you-get-time style of learning too.
What if people could play a game and learn about, say, how banks use loans to increase their asset portfolio? Or how the total price of a prescription drug is calculated? Or how the retail price of a doorknob is derived from the wholesale price?
Just something to think about. My problem is that I don't have any ideas. I have skills to write software. (sigh)
So, what IS the next big game idea? C'mon. I won't tell anyone. :-)
I am a HUGE Android fan. I don't mean that in the sense that I have a hundred Android devices and constantly install the latest Android OS beta updates. What I mean is that I'm a huge fan of Java, and that extends to Android, which has a pretty cool (if somewhat overly complex) SDK. That's why I love Parallax' Javelin Stamp
: I can build my electronics projects using a language with which I'm familiar (but I digress).
Anyway, I'm reading this article at ZDNet.com
, where the author is (justifiably) bemoaning the sad state of Android update cycles, which goes a little something like this: everything works great/poorly, you install an update and now everything runs worse/better, then you install another update and everything is (mostly) better/worse.
Anyone who has run Windows (Windoze) for any significant period of time is familiar with this sort of Update Toggle (I've even seen it with early updates of Flash on Ubuntu, but the issues have been long since worked out).
This is why I am not an early adopter. I'll stick with Windows XP at work (mainly because I'm forced to) and Ubuntu 10.04 LTS at home (I installed 12.04 on my shop PC and HATE IT).
I have two Android devices: a Motorola Atrix 2 (meh) and an Acer Iconia (love it). Both run ICS (Ice Cream Sandwich, 4.0.x). Jelly Bean (4.1, 4.2) has been out for a while now. I could probably finagle it onto both devices, but I'm not going to. Why not? Because I really believe "If It Ain't Broke, Don't Fix It".
So in protest to constant updates, I withdraw my brainpower from the collective effort (frustration?) of early adoption. I don't have time for it. I have things to do, produce, and create. No time to help Google (or Microsoft or Canonical) fix their broken stuff. If you do, good for you. When does the cycle of mediocrity end?
Who Is John Galt?
But this article
at ZDNet.com, where the author points out the outrage that is apparently being generated over the advertisements in place in some Windows 8 apps, has me thinking about whether or not advertising is just going to become more and more prevalent, and thus something we should simply accept.
Remember those scenes in the 2002 Tom Cruise film "Minority Report", where everywhere people walk they are barraged with customized (and constant) advertising? Granted, that is a somewhat dystopian view of the future of advertising, but could some version of that become a reality? Whiter teeth? Why, I would LOVE that!
But, I digress. Is Windows 8 to blame for this? Hardly. Everywhere you go there are ads (except, I should point out, at IBM DeveloperWorks). Blogs, emagazines, web sites, email. Everywhere. And this has been true for years. I can't even watch a YouTube video without sitting through an avert.
So, should we be angry? Are ads going to become more and more prevalent in all things cyber?
Probably. And we should accept it. Or turn off our computers.
p.s., this blog entry brought to you by....
I for one, am OVER the whole Windows 8 thing. Why? Well, for
starters, I'm having flashbacks to the Windows 95 launch. That was back
when I really liked Windows (okay, so for enterprise desktop
development, there weren't really a lot of choices).
I am really tired of Microsoft Hype Machine(TM). Seriously, if they
were as good at putting out software as they are at talking about it, I
wouldn't despise Windows the way I do (though, I must admit, Windows 7
is almost as stable as XP, so it's tolerable).
I don't think Windows will ever be as stable as Linux (I personally
like Ubuntu). Period. In fact, just this morning, I got to my desk and
had to reboot because Windows wouldn't connect to the wireless network
(this unfortunately requires a reboot). Ugh.
for the enterprise, it will be a decade before the jump to Windows 8
(e.g., every large company I currently work with uses Windows XP). For
the consumer, they just have to suffer through whichever version is
preloaded on the computer they get from Best Buy.
So, I guess my question is: WHO CARES?
I was reading this article
at InfoWorld.com. In it the author makes a compelling case for the decreasing premium certifications offer.
It got me to thinking about certifications in general. I'm not a fan of them. I've had several and, honestly, never felt like I was any better qualified to practice my craft than before I picked up the study manual (and let's face it, isn't that what we all do? Just study to pass the test?).
I've worked with people over the years, some with certs, some without. It doesn't seem like the "cert chasers" were any better at what they do than the ones who just learned the old-fashioned way (on-the-job training).
Not to mention the cost of certifications.
So my question to you is this: is it worth it? Why (or why not)?
Thanks for reading.
I was reading this article
at ZDNet.com where the author claims there is a rumor floating around that Google is working on a version of Android that supports multiple users on a single installation.
Many of you know that I am a huge Android fan (well, a huge Java fan, which extends out to Android, to be more precise). So I think this is good news.
Many of you also know that I hate Windows (detest, despise, etc). Unfortunately I am often required to use it (at the request of my customers). At home I use Ubuntu Linux and LOVE it. But I promise if there was a multi-user version of Android out there for AMD 64 bit processors, I would install it. "What do you mean, Steve? Android is Java, isn't it?" Well, yes, and no. Android, as many of you know, is built on the Dalvik VM, which would have to be implemented on every target platform.
So provided that Google is either going to abandon the Dalvik VM in favor of a different one (hm, isn't there some sort of lawsuit pending, I digress), or implement it for all the major platforms, I think this is a really cool idea.
What do you think?
I was reading this article
at JavaWorld.com, and in it the author credits a Spanish proverb with
the wisdom that is the subject of this post. I'll repeat it again for
Slow down, I'm in a hurry.
If that makes no sense, then neither will the rest of this post. Thank you. Have a good day.
for those of you that get this, and the beautiful, simple, genius of
it, welcome to the rest of this post. How often have you worked with a
colleague (usually young, but not always) who, in their sincere desire
to solve a particular issue, is in a terrible rush? I've worked with a
lot of people over the years, and this happens with alarming regularity.
The well-meaning colleague is panicked, throwing information at you so
fast that it takes ten times longer to help them than if they had just
slowed down, thought through how to present their dilemma, and taken
their time in solving the problem.
What is it
about being panicked that causes us to think less methodically then if
we were calm? Ironically, when the situation demands quick action the
effect is magnified. So that when we most need to think clearly, calmly
and methodically, we are the least likely to do so.
teaches us how to temper this effect. I've wasted so much time
attacking the problem like a rabid Jack Russel terrier, when, if I had
just slowed down and gotten to the heart of (whatever the particular
problem was), I would have solved it SO much more quickly.
Here's another one: "haste makes waste". I love that one too.
Experience is that knowledge you get just after you need it. Fortunately for us, history repeats itself.
Hey, don't you have work to do?
Greetings. I have recently gone through a significant amount of pain (the good kind, where I get to learn stuff) to get JBoss EAP 5.1.2 to work with JPA 2.0 as implemented by Hibernate.
"But Steve, why not just use JBoss EAP 6 or higher?" I can hear you say. Well, I frequently work on projects where I am either not the HAIC (Head Architect In Charge) or come in after decisions (like which version of JBoss to use) have already been made. So, stuck with using JBoss EAP 5.1.2 and JPA 2.0, what's a poor programmer to do?
You may think it's not possible. But I am here to say it most certainly is. Unless you like pain (yes, the good kind, where you get to learn stuff), read on.
First, download Hibernate 3.6.10 (final). It supports JPA 2.0 nicely and doesn't have any of those annoying JBoss dependencies (like JBoss logging, UGHHHHH!!!!).
Next, use class loader scoping. What's that? Basically that is where you cordon off your application so that you may use a different version of some library that is part of the app server's stack (like Hibernate).
Finally, deploy your WAR file (or EAR file, though I've only tested this so far with a WAR file).
Get Hibernate 3.6.1 here
Learn about JBoss Classloading here
Learn about JBoss Classloader Scoping here
It works. It really does. You will still get to learn stuff, but if you follow the recipe outlined above (make sure to include a jboss-web.xml as outlined in the last article on scoping), you will be able to get it working.
Greetings. I've been a professional software developer for a long time now. Almost as long as the ages of some of the people I work with. In that time, I've been able to make a few observations, one of which I recently voiced to a colleague (a programmer at a client site).
The conversation went something like this:
Him: I'm feeling stressed, man.
Him: Because I've got to get this (feature) to work, and it's due next week and I just can't figure it out.
Him: Yeah, and I felt so good this morning when I came in because I just got (some other feature) to work before I left yesterday!
That's the nature of software development. One minute you're on top of the world ("I am the GREATEST PROGRAMMER EVER!"). The next you're at the bottom of the ocean ("I will never get this to work, I'll get fired, and be disgraced!"). Congratulations, and welcome to software development.
I've noticed that as I navigate the waters of any given software project that I have ups and downs. Almost manic/depressive in nature. One minute I'm the greatest programmer ever for getting (some feature) to work or figuring out some really tough problem (usually with the help of a forum post or two, I probably should mention that, huh?). The next, all I can see is how I cannot get (some other feature) to work and I should just give up, quit software development altogether, and just take that night manager job at McDonald's.
So what makes some of us like that? I don't suppose knowing the answer to that question would make any difference, or prevent it from happening. But it's a curious little tick of most software developers I know (arguably most of whom are overachievers). Whenever it happens that I'm down (depressive), I try to remember to tell myself that the feeling is illusory and that while I may not be the greatest programmer ever, I'm competent and I will figure the problem out. And when I'm up (manic), I try and remember that this too shall pass and later today (or tomorrow or next week) I'll run across some seemingly insurmountable problem and round it goes again. And again. And again.
Now, if you'll excuse me, I have to get back to coding. I just figured out (some really difficult problem) and feel like I'm the greatest programmer EVER! I am, right?