Back to Java, With a dash of JSF

My first exposure to real programming was with the Java platform. I spent my first two years in technology learning Java and that platform’s web-specific frameworks for developing applications. At that time JavaServer Pages (JSP) was a relatively new technology and Servlets had been the real work horse. Of course now the landscape has changed and web frameworks have dramatically improved. It’s laughable to think of presentation code being generated by Servlets these days, legacy applications excluded, of course.

The hot new framework at the time was Struts. The idea of MVC was not exactly new but bringing it to the web was a very interesting idea. Struts was pretty much the greatest thing since sliced bread to every Java developer doing web programming. Personally, I just couldn’t grasp it. I was too new to programming in general and that framework was simply over my head. I stuck with my JSPs and Servlets.

Shortly after my time ended at that company and I started working at VCU, I was exposed to Microsoft’s .NET framework. This was roughly in the spring of 2003. Even though my bachelors program was focused around Java, I spent a lot of time devoted to .NET. The Imagine Cup project consumed a year of my life and was completely in .NET. I think at one point we had counted nearly 100,000 lines of code in that project. One of my higher level courses was somewhat language independent and I ended up using .NET there as well. I essentially had moved on to what I considered greener pastures and had no interest in looking back.

After school, which was winter of 2005, I had a number of jobs that were all specific to .NET. I worked with GIS technology, built some very interesting AJAX/C# applications, and rebuild Richmond.com. Simply put, I know the platform very well and had really invested myself it in.

Everything changed one morning last September. I was sitting in a room with my buddy Matt and the CEO of his company. Originally I was there to chat with the CEO and find out if there were any areas I could help the company in, on a consulting basis. By the end of our conversation, I had a job offer on the table which I happily accepted. The kicker was that the company was a Java shop and it had been a number of years since I had done any real Java work.

Since the start of my new job I was actually doing everything in C#. I built a new company web site, created an automated way to transfer and validate data, and a few other miscellaneous things. It wasn’t until a month or two ago that I actually picked up Java again for something real.

What I quickly noticed is how much had changed since I left Java. Nothing! Struts is still around, only with a new version number, JSP and Servlets don’t appear to have changed at all, and now there are dozens of web frameworks out there trying to fill a void I can’t seem to find. The only “Sun sponsored” framework I’ve seen is JavaServer Faces (JSF).

In my search for a framework I looked at Spring, Struts 2, and JSF. I decided to go with JSF. Where JSF stands out in comparison to the others is in the simplicity of getting started and the ease of use. Struts has been and will always be a monster to set up and code with. Spring is a monster of a framework that pretty much does everything you could want. That’s all well and good, and a lot of people swear by it, but for what I wanted it was just too much to take in. I just wanted to get started on a web application. I wasn’t interested in AOP, Dependency Injection, ORM tools, and the other things Spring includes.

JSF provides a fresh and simplistic approach to MVC. Frankly, a framework that didn’t follow MVC wasn’t an option for me. Anyone who knows me knows how nutty I am over architecture, design patterns, and elegant solutions. JSF is a great solution for MVC, while maintaining an environment where I can understand how everything works. The lack of “automagic” is a good thing and I appreciate JSF for it. Working with JavaBeans in JSF is a dream and a fundamental aspect of the framework. The abstractions of Models and Controllers aren’t enforced by JSF, but rather implicit by design. It’s my call on how I structure my Java code and I simply inform JSF by using the faces-config.xml file. JSF gives me an easy environment to implement a “domain driven” model, my interpretation of it at least. I’ve stuck with that programming model for this project and it has worked out incredibly well.

What’s really shocking to me is that JSF has not caught on in the Java community as I would have expected. It really goes to show you how important the community is in Java. Had this been in the Microsoft camp, it would have been devoured and sword by immediately. In that world, Microsoft is your dictator and what they say goes. Sure, there are successful open source projects, but it’s nothing like the Java community. There are so many options it can almost become a problem but that’s another subject I guess.

I’ve enjoyed JSF, a lot. It has it’s problems. For me, most notably, the lack of URL importance. I think a lot of people have not bothered to give JSF the proper look it deserves. Many pass it off as being complicated. I’m very surprised by that as I’ve found it extremely easy and open to work with. If you’re starting a new web project and want a fresh look at web development, take a peek at JSF, you might like what you see. I sure have.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Back To Verizon FiOS

At our townhouse we had Verizon FiOS Internet service. At the time the TV service wasn’t available in our area. This was about a year ago when FiOS was really new in the Richmond area. Once we moved to Chesterfield we lost the ability to have FiOS so we went back to Comcast. Lately we’ve seen a number of people in the neighborhood having FiOS installed.

Katie has been bugging me for months to get a home phone again. So once I looked into the prices I discovered that I could get TV, Internet, and Phone service from Verizon for a little bit cheaper than we were paying Comcast for just TV and Internet. Not to mention that the difference in Internet speeds is staggering.

Today was the day for the install. It took about 6-7 hours total. I would say a lot of time was spent just waiting for the activation process to happen.

Home phone is home phone. I really don’t have much I can say about that. When I pick up the phone, there’s a dial tone, so I’m happy. :)

The Internet was what I remember it being. Instead of the crappy ActionTec modem/router, Verizon now uses a slimmer and Verizon branded modem/router. I did notice that by default it uses WEP security, which gave me trouble with my iPhone. Once I switched the security to WPA2 everything was good to go. For a quick speed test, I started downloading Xcode from Apple.com. The 1GB+ file was coming down at 1.2MB/sec. Certainly can’t complain with that performance.

The TV service is pretty nice. It sucks to learn a whole new set of channels but oh well. All I care about is 826, which is ESPN HD. :D The HD service is solid with roughly the same number of channels as Comcast. I will miss INHD as I actively watched two of their shows. The quality of the HD channels really doesn’t look any different to me. The standard definition does look a little better. Enough that even Katie noticed the difference. She actually asked if I was watching an HD channel, which I wasn’t. I wouldn’t say it looks that good but that was her initial reaction.

Overall, I like it so far. Price was the biggest factor for me and that was enough to make the switch.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Book Review: LINQ Quickly

I’ve been reading another book from Packt Publishing, called “LINQ Quickly“. Again, it’s a pretty short book, coming in at 250 pages.  The author does a decent job at explaining the basis of LINQ and the various implementations, such as LINQ to SQL, and so on. What would have been a welcome addition to this book is a more practical approach to the technology. Perhaps by building a real application along the way. There is an appendix for just that, but it’s a disappointing 7 pages. The book’s subtitle mentions it being a practical guide but I didn’t see that.

If you want a brief overview of what’s possible with LINQ and the various implementations, you’ll probably find the same information for free across the web. I was hoping for more of a real-world introduction.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

A Real Person Answers the Phone at Oracle

The company I work for has a pretty large Oracle installation and we’re looking at migration and upgrade paths. Not knowing much about our current licensing situation, I figured I’d just give Oracle a call and see what I could find. As I think anyone would these days, I was expecting a long “conversation” with an automated telephone system and a few hops across the globe in the process of finding what I was after.

I dialed the 800 number on Oracle.com and someone actually picked up the phone on the other end. At first I was half shocked and half thinking it was just a really good phone system that came with an American accent. I asked to speak with Oracle Sales and the real live person on the other end said he could help me with that. After about 2 minutes of explaining what I was after and giving him the company name and address, he said he’d locate our account representative and have them call me back. How’s that for customer service?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Tell IE8 to render like IE7

With the upcoming release of Internet Explorer 8 (IE8) and the recent flip-flop on web standards support, a lot of web developers will likely have some upgrade pains once IE8 does hit the mass market. I have a few spacing issues I need to address but am simply swamped with other things at the moment. Until I can get to those issues I wanted a solution to tell IE8 to render the site as if it were being viewed in IE7. After some searching around, I came across this meta tag that will do the trick:

<meta http-equiv=”X-UA-Compatible” content=”IE=7″ />

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Book Review: ASP.NET 3.5 Unleashed

I’ve been working my way through “ASP.NET 3.5 Unleashed” lately. Although I’m not quite finished, since the book comes in just under 2000 pages, I do feel confident in writing a review.

The Unleashed series has a certain following behind it for being a fairly comprehensive guide to the technology the book examines. This entry into the series is no exception. This book goes into every detail of ASP.NET and ready digs into the new features of 3.5, as you may expect given the title.

I’ve enjoyed the way this book presents material. It’s not too detailed for the beginner but doesn’t leave the experienced wanting too much more. I would highly recommend this book to anyone looking for information on ASP.NET 3.5. This book is something every ASP.NET book should aspire to be.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Book Review: Managing Software Development with Trac and Subversion

I just finished an interesting book, “Managing Software Development with Trac and Subversion“. Trac, a ticket management system, and Subversion, a source control management system, are open source software that are very popular in the community. I’ve used each extensively and really enjoy what each of the solutions bring to the table over their competition.

The author does an excellent job explaining everything you need for getting an environment set up.  By the end of this book you’ll understand the setup, configuration, and usage of each of these tools, in addition to Apache.

I would highly recommend this book to anyone looking for a free solution to project management and source code management. It’s a rather quick read at 120 pages but enjoyable and useful.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Book Review: Build Your Own ASP.NET 2.0 Web Site Using C# & VB, 2nd Edition

Over the last few weeks I’ve been working on finishing the latest book from SitePoint on ASP.NET, “Build Your Own ASP.NET 2.0 Web Site Using C# & VB, 2nd Edition“. The authors did a great job on this book. It’s fit for a beginner and does a wonderful job of teaching the basics of getting started in ASP.NET. Many books skimp on the things you need before coding can begin, or they leave it out completely. Here you’ll find plenty of help and suggestions for using the most modern tools available to a new ASP.NET developer.

This book provides you with the background necessary for building ASP.NET applications. It covers what nearly every introduction book covers, the ASP.NET controls, data access, master pages, and so on. What sets it apart from most other books is how clearly the material is presented to the reader. You won’t find some golden piece of information you’ve never heard before but that’s not the focus of the book. For a beginner, it’s a perfect choice.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

Book Review: ASP.NET Data Presentation Controls Essentials

Not long ago I received an email from someone at Packt Publishing asking if I would review their latest ASP.NET book. I gladly accepted as this is something I’d like to do more of. I have another book on my bedside table waiting for a review and I’m in the middle of performing a technical edit of a book due for publication in July. I’m thoroughly enjoying this kind of work and hope to continue it. More on that in a future entry I imagine.

The book is called ASP.NET Data Presentation Controls Essentials. This book is clearly marked as not being for beginners to the ASP.NET framework and I would suggest potential readers follow that warning. The book is littered with helpful snippets of C# code showing you how to obtain data-driven output in your ASP.NET pages. These snippets can be confusing if you’re not fairly comfortable with the ASP.NET framework and the event model. There are not that many instances of a full walk-through in the examples provided, so it’s hard to follow unless you know what you’re doing. I personally found no trouble in keeping up with the book. So, beginners, you’ve been warned. :)

The author has a clear understanding of the subject matter and it shows in this book. The topics presented cover a solid portion of data access and presentation in ASP.NET. I do wish there had been some introduction to ADO.NET at the very beginning of the book. Being as ADO.NET is the fundamental building block to this book, I think it would have been a welcome addition. The book itself is just over 200 pages that are broken down into 8 chapters.

As a first edition, there are a number of formatting and technical mistakes present in this book. I noticed a specific code example towards the beginning of the book where quotations had been replaced by another character, which certainly would not compile and run for the reader. A reader with C# experience would notice this instantly, but it’s a mistake that should have been corrected. The indentation of the code examples in this book are widely varied. As a developer, it’s fundamental to see correct formatting in code, and a book should hold that to a higher standard. I also noticed a few instances of code that was simply formatted in such a way that made it invalid. It would not compile if sitting in Visual Studio. Again, something an experience reader would catch easily and wouldn’t impede their progress through the book.

Overall, I liked the book. It contains valuable information if you need a lesson in data presentation controls for ASP.NET. If you are considering this book, I would pick it up at your local book store and determine if the content is what you’re looking for and whether the list price can be justified to you. Even with the technical mistakes and being a quick read, it will be a worthwhile purchase to many developers looking to understand the data presentation controls available in ASP.NET.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

My ASP.NET Blog

After my last post, I thought a lot about what I could do to get my voice out there in the ASP.NET community. In 2003, I ran across a site that provided a free blog based on an engine, called .Text, that the community starter had developed. So I kindly asked if I could have a blog there and was given one.

I can’t remember what the domain was back then but it was something like dotnetblogs.com, or similar. Anyway, fast forward a few years and this site becomes the most popular aggregation of .NET bloggers, many of which were Microsoft employees. At some point the community was brought into Microsoft in some way because the base URL changed to asp.net. So this little community my many-year-old blog lived on was now a part of www.asp.net.

Since then the community has existed at weblogs.asp.net. I decided to clean out all of my old posts there, which ran from 2003 until 2005, and start a new blog focused on ASP.NET. So, I’ll keep my ASP.NET thoughts there and leave CompiledMonkey.com for more personal items or those that don’t really relate to ASP.NET.

http://weblogs.asp.net/cstewart

Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • BlogMemes
  • Fark
  • NewsVine

« Previous PageNext Page »