Despite the fact that there are plenty of free languages and development tools available online, there is still a much larger barrier to entry for someone who wants to get started as a programmer compared to nearly 30 years ago. I have fond memories of the computing of the 80s so I thought I’d take a quick trip down memory lane and write about my personal exerience of becoming a programmer. It may also be of interest to those familiar only with the Silicon Valley version of the history of computing since this covers events from the other side of the pond in the UK. When historians talk about the history of computing, they really only cover things like the TRS80, Altair and rise of the PC and Mac, yet there were many important and competitive developments in Europe that are often not included as part of this history.
For most of us, as programmers, we are a pretty lucky bunch. We get paid handsomely (or at least nicely) for doing something which we enjoy, will never go out of fashion and provides a great deal of benefit to the companies we do it for, if not the world at large. While we may not be working in the IT fields we want to be working in or for the companies we want to be working for, we still get to enjoy the process of writing code on a daily basis for a living.
So I’ve been on a bit of break from blogging, I’ve had lots of things going on, I’ve moved house twice, and changed jobs a couple of times. I’ve not even really been checking my email that much (as evidenced by the fact that I didn’t see my hosting invoices and the subsequent temporary suspension of my blogging web site). I’ve been spending time with the family over summer and taking a bit of a break from the extra-curricular IT work. I’ve also been doing some thinking on which direction I want to go in my career. Because of all this, If you’ve emailed, or sent a LinkedIn request that I’ve done nothing with, that’s why. However, things have been hotting up in my absence so there’s certainly a lot of topics to delve into.
I haven’t been writing for a while since I’ve been busy working on several things right now.
First off, after a few months of job hunting, I’ve changed jobs, I’m now doing some Java contract work down in Pittsburgh. After 11 years at my old job, it was time to move on. The great thing about contract work is the opportunity to work on a lot of different projects in a lot of different places. After being stuck in Cleveland for 11 years, we are ready for some changes.
I also want to try and get into doing some more Java EE 6 and CDI training. A lot of people are unsure of how it is all meant to work together and are missing out on the real beauty and simplicity of working with these frameworks.
Rick, Rob and I have been doing some more work with CDISource and anticipate a release of our source in the next few weeks. Once thats out, I want to start playing with some of the Seam 3 stuff especially with regards to CDI. We announced CDISource and then all of a sudden we all got busy with different things, and we have some code we want to release for which we have a number of articles to write.
Between moving, unpacking, starting a new gig, which always fries the brain for a few weeks, and having my Mum over from Manchester,England, I haven’t really been having time to write or work on projects.
I have a new release of the Knappsack almost ready to go which includes Spring based archetypes and also a Java EE 6 EAR archetype as well as a couple of new posts.
In the last few weeks I have been rather busy working on a new project with Rick Hightower, who is fairly well known for his training and writings on Spring and JSF, and Rob WIlliams who is a blogger known as much for meddling in new technologies (and getting mad at them) as he is for intertwining various historical and literary references in his posts. The result of this is the CDISource project which aims to advocate and facilitate the use of the JSR 299 – Java Contexts and Dependency Injection framework across the Java landscape.
If you’ve seen my posts or my site before, you’ll no doubt be aware that I have written at great length about Java EE 6, JSF, CDI , EJB and so on. What I haven’t written about is the many frustrations I’ve come up against in dealing with these frameworks on their own and especially when combined, or how their usefulness is often constrained to the application server container.
Java EE in some ways is an archipelago of frameworks that lacks the cohesiveness and all in one wide screen vision that software developers need. Java EE is about the enterprise, in reality its about the web, or even more specifically about Java EE containers. There’s a whole slew of uses for a good type safe and flexible dependency injection and AOP framework and such as CDI outside of Java EE containers but there is very little information and code to make it actually work.
Our goal is to make CDI useful and usable on its own without Java EE 6, and to give developers the tools and information to do so. To let them write vendor neutral and portable code, and apply agile and best practices. Developers know how to write good software and don’t want to sacrifice that for the sake of using a framework to make things easier. To that end we aim to provide code and information that will help facilitate those practices.
There will be some learning for ourselves along the way and we will have to change some of our previously held concepts. I know over the last few weeks having been getting CDI working and useful outside of the web container it has really altered my perspective on how I think about the dependencies and structure in CDI applications. My perspective has changed even more than when I wrote A Little Less Conversation.
As much as I hate to say it, we did come up with a mission statement, although we found it fairly easy and enjoyable to clearly defined the goals and attitudes of the project.
Our mission is to :
- Promote and facilitate the use of the Java Context and Dependency Injection (CDI) framework in relation to as many aspects of application development as possible.
- Enable developers to take advantage of CDI independently of Java EE.
- Provide lightweight, lean and agile access to the underlying CDI container as a core principle in our efforts.
- Make testing easy without requiring a complex set of tools or complex deployment scenarios.
- Enhance both Java EE development as well as the use of CDI in non Java EE application where possible.
- Promote and enable the use of CDI in a vendor neutral environment and maximize the portability of application code across CDI implementations.
- Not reject the ideas of Java EE but expand the usability of CDI outside the borders of Java EE application servers with frameworks that are not a part of the specification.
- Not reject other CDI efforts but to provide another venue to promote those efforts. This is an addition. This is another voice in support of CDI.
We are pretty excited that so far we have been able to live up to the intent of our mission statement with everything we’ve done so far. Over the next few days and weeks you will see articles and tutorials come out of Rick, Rob and I as we write about the CDISource project and we start to showcase some of the code we have written and start giving you an idea of where we are heading.
Right now we have vendor neutral support for starting up CDI outside of the web container and also for testing CDI beans with minimal configuration and intrusion on your test cases. We also have a few other pieces that are nearly ready, as well as dozens of ideas to get started on.
You can start by looking at Ricks brand new introduction of CDI over on JavaLobby.
I dusted off my PHP skills and added a new custom wordpress page to list all articles for a set of tags to create a kind of index page. The articles are grouped by tag and ordered by date so you can see the whole library of articles and tutorials. You can also find the index linkin the list of links in the header.
Happy 2011! Well, I’m back from the Christmas break. I had a lot going on last year so took some time out. If you posted an email or comment, I’ll get back you this week.
I spent a month working on a 3D terrain rendering engine that provides real time terrain and texture generation and can be used for ‘infinite’ terrains in real time at 100fps.It also uses multithreading to generate the terrain patches and shading so it can maintain frame rates while it fills in the geometry and shading information. If I find time to clean it up I may end up releasing it as it is part of a personal graphics library I use and I have some other mini-projects based on it such as a particle engine. Actually, I may end up incorporating the particle engine in with the OpenGL engine that the terrain engine uses. I often find I want to play around with some graphics based ideas and then need to spend time creating the boilerplate just to try them out. This way all the basics are in one place and I can just summon the libraries and code I need from Maven.
I’ve also got a couple of enterprise Java posts up my sleeve, and at the end of last week, I had a bit of an epiphany regarding some of my practices with the CDI and getting it to work with other frameworks, including in the Knappsack archetypes. I need to investigate it a little more but I think I’m on the right track.
As for blogging, this year I plan to add a couple more foodie related posts. My wife and I are fairly big foodies and we like to try out different recipes now and then, and since I use my blog to remember things that I normally would forget, like recipes, I’ll probably blog about them. Currently, I’ve been playing with the dutch oven I got for Christmas, and had great success with Short Ribs and Chuck Steak, some of which got made into pasties for the New Year with homemade shortcrust pastry. In the summer, I’ll probably cover my BBQ escapades.
After my wife being in hospital for a month, she finally gave birth to Amy Louise Gibson who was born on 29th October 2010 at 9:01pm weighing 6 lbs, 5oz, and 18.5 inches long.
Not only is this the third October birthday in our house (my son Michael is on the 24th and I’m on the 18th), but this is the first girl born on my mine and my dads side of the family in 4 generations.
As a result, I’ll be a bit tied up for the
20 years next few days, so email and comment responses might be slow coming,
My wife is currently in hospital, and will be for the next week or two so I’ll be playing single dad for a while. As a result, I am slow responding to emails, and probably won’t be posting much this month. I will be checking email daily so I will see anything urgent that comes in.
When I talked about how Context Matters When Discussing Frameworks I intentionally left out naming any picks because the point of that article wasn’t to start a framework debate (neither is this one, but at least it will get isolated in here). In this post, I’ll cover my choice of frameworks.