I guess I better start using it (years after I started it).
I’ve made it one of my goals for the year to put some time into blogging. I won’t call it a resolution. I feel like that automatically makes it something I’ll forget by February. Instead I kinda make a theme or themes for the year. 2011 into 2012 was a bad time for me and my family so the theme for 2013 was making this year different than the last. And it was. My wife and I got ClassbuzzApp out of pilot and into a closed beta among other things.
But last year wasn’t enough. I had projects that I started but never finished. I had goals that I never got started on. So this year my theme is to get more done. I’ll put some of the things I want to do here as a reminder to myself.
- Use this blog 🙂
- Build a quadrocopter from scratch with my kids
- More Android dev work; Get an app I’ve been sitting on into the Play Store
- Release a 2D game
- Get up to speed on 3D game development
- Learn my way around Blender for 3D modeling
I got underway with the last two quickly. I’d already been sitting on an idea and some code for a 2D mobile football game for awhile. Seeing a similar idea hit the Play Store let me know I need to stop sitting on it. There’s also a lot of things I liked to attempt in 3D gaming but if time doesn’t permit I’d at least like to understand the modern concepts. I’m learning JMonkeyEngine (uggh to Java but the SDK and tooling make for a good clean place to start) The same goes for modeling with Blender. Such a great free tool that I’ve known about and tinkered with for over 10 years but I’ve never sat down and worked through some good tutorials. I plan to start ordering the quadrocopter parts in the coming months and I think I have a handle on my flight control code that I intend to write in Go.
I plan to blog about my progress here but I guess if you don’t see any progress then you’ll know I’ve failed at item #1 lol. I don’t expect that I’ll finish everything up there but I definitely want to put more work into the goals this year.
Its been a long time since my last full blog post here which happened to also be my first ever. All kinds of things have changed since then. I’ve been all around the Java world and back again. Tried Grails, left it, worked with a number of other Java frameworks, picked up Python and have ended up back on Grails once again. I’ve started post after post to try and cover the journey almost all for different reasons along the way. But today I just had to pause and really question why I’ve run into so many “gotchas” in Java land.
To explain where I am now, I’m working on BugginMe a new social sharing site built on Grails. Just prior to that I was a part of another social networking startup building on GWT at one time backed by a Python server and then Groovy. Before that I was on my worldwind tour of the Java world looking for my stack of choice but hitting pitfalls and gotchas everywhere. The gotchas I’m discussing are roadblocks that popped up for me and made me ask how anyone could be using this platform. For instance I was falling in love with JSF 2 and building an app and then I was blindsided with the fact that I can’t simply build a paging mechanism. Well that was made ok when I discovered I was supposed to be using component libraries until I ran into gotchas such as a library not having a particular component or one that does but then doesn’t work with something else in the stack.
Well today I don’t know if it was one too many or just the most “interesting” gotcha or just that I couldn’t believe I’d never noticed it. But it really just caused me to stop work. This gotcha is the fact that Java session cookies (at least for Tomcat) are truly session cookies and are lost on browser restart. That in itself isn’t bad at all but when I went to find the correct way to change this and discover hacks or the need for filters or even the suggestion that Tomcat code would need to be changed my jaw dropped. There was also the suggestion that a custom cookie be used for session tracking but we’ve built around standard sessions through Grails including a SessionManager to move the session data to a central database so I wasn’t going to change it.
As I’ve mentioned in my other blog post I’ve worked with PHP, ASP, ASP.Net and other environments and I can’t recall having this pop up. The cookies have expiration dates. If I set the session timeout then it survives the browser restart. I’m certain there’s probably an enterprise Java explanation for this behavior and I solved it by implementing a separate “remember me” cookie setup which I was going to do anyway. But there just always seems to be these gotchas that pop up when developing an average app that’s not a big enterprise system. I guess this would explain the movement I’ve been seeing lately to use Java (and Groovy and Scala) in a manner similar to what I see in the Python world. After working with Python for a year I started to have the same feelings myself. So despite the gotchas I feel its an exciting time to be using Java for all kinds of projects. You just have to watch where you’re walking.
Time to blow the dust off and finally get in gear and start blogging more.
When I started this blog my original intent was to talk about my experiences as a developer and along with the wife’s experiences as a PM and Business Analyst. Well time changes all things. The wife will soon be starting a blog about being a newly minted stay at home mom which I’ll link to once the wonder woman is up and running. I’m going to now focus on my experiences as a dev, Android development, general technology and my experiences with a couple of startups including my current startup BugginMe.
Welp that’s it for now. I’m playing around with themes to find one that fits the style I like now and hopefully I can clean up a number of half done posts that I’ve just never published in the past 2 or 3 years and get them out there. Until next time. I’ll hit publish on this one now so it doesn’t die like the rest. 😉
I’ve released Typeright to the Android market. It was a little later than expected but I’m glad to finally have it out there.
Typeright is a simple spelling game. You’re presented with a set of 10 words each presented on the screen along with a common misspelling. You go through the round tapping the correct spellings. It may sound easy but as I found when I first made this as a game for my wife its not…well unless you’re a spelling buff. You’re also timed so theres no time for looking in the dictionary.
You can find it in the market or with the AppBrain link. Or scan the QR code below with your phone to install.
Download Typeright for Android
Hello blogging world. I’ve been putting off this first blog post for months and months. I’ve written up multiple unfinished articles but none seemed like the right place to start. Yet my starting point has been in my head all along and I kept looking right past it. So here it is. I’ll start with my adventures in learning Grails coming from PHP.
Before we jump into the subject heres a little background on myself. I’m a software developer with 8 years professional experience and 11 total years experience. Those years have taken me through PERL, ColdFusion, ASP, PHP, JSP/Servlets, ASP.Net and ColdFusion 8 on the web side, C/C++ and Java non-web projects and various other proprietary frameworks and technologies. Somehow I always end up in the web realm and get a bit tired of it and that will be a common theme throughout this blog. In fact it will come up when I explain my attempted exodus from PHP. If you’re wondering about the name of this blog I chose it for two reasons. Much of this will chronicle my adventures in coding overnight since thats mostly when I have time to work on these things. The other is because my wife and I considered sharing this blog as she is a PM/Analyst and we’d talk about topics from both the developer and PM/Analyst side. We’ll see if that second reason ever materializes. 😉
So where do I begin with why I’m trying to leave PHP? Unlike many of the people I’ve seen leaving PHP I’m not bashing it. I don’t have a big problem with the quirkiness of the language or lack of being a OOP based language as one of my first languages was C and its not much different to me. In fact until now PHP was my platform of choice for the web over all the other platforms I’ve used. In my opinion most complaints about it have come from people seeking “do it all for me” frameworks that may not have the programming skills to do it themselves. I actually fell in love with the Zend framework because it gives you tools to use instead of forcing you to paint by numbers. I think I’m smart enough to be let loose with some coding freedom. 🙂
So with all this praising why am I leaving? Well for starters as stated earlier I sometimes get tired of working in the web realm and thats where the goodness of PHP ends. Its great for the web because its built around the web. Outside of the web it doesn’t stack up well. Currently I do a lot of data integration work in Java on my job (which helps with my web boredom) and it would help to be able to share libraries and code across my web and integration projects. Its also been a few years since I’ve done any desktop application work and I’d like to toy around with some. Java isn’t big on the desktop but who knows…maybe I’ll end up pushing that issue one day. Then there’s the mobile market which is becoming hot and I happen to be a fan of the Android OS and I want to do some work in that space as well which centers around Java. In fact I may find my job pushing me into that space anyway. So call it laziness or whatever but I’d like to consolidate some of my work. I’m probably always going to be in the web business but I want that time to also go towards improving my skill set for those other spaces. If you’re connecting all the dots this obviously points to Java.
I like Java for everything except ironically for the web. For one on the web I’ve GOTTA have my dynamic language. I’m too used to it. Having used MVC in one form or another for some time I couldn’t stand the thought of going back to one off JSP’s either. And every MVC framework I looked at seemed to be heavy on wiring components together with XML which I’m not a fan of from experience. Yet Java solved some of the other dislikes I was starting to have about PHP. It has more robust application servers, its a more powerful language and overall feels like less kludgey of a solution. I think it was some database driver issues with Oracle and SQL server that finally put me over the top with kludgeyness. I said to myself if Java could just have the dynamic goodness of PHP I’d switch. Less than a week later a friend of mine tells me about alt.net where I first discover Groovy and of course consequently Grails.
No I did not initially fall in love with Grails and I’m still not quite there. For one its a rather opinionated framework…maybe not as much as others but its still rather locked down to a basic idea of how things should be done. However I did fall in love with Groovy. You couldn’t ask for anything sweeter than a dynamic language integrated so well into Java. You can swap Java and Groovy out both at the code level and at the compiled component level. Its great! So initially I began writing an MVC framework that would work as a simple library that can be used in any Java web project. There would be little forced structure or project setup and you could use pieces as you wanted them. But after doing some looking at Grails I found there was a ton I could learn from the project. The fact that I don’t care for opinionated frameworks doesn’t take away from the fact that the Grails developers have done some great work and incorporated some great ideas into their project. Plus so far its opinionated nature hasn’t got in my way. So I decided to try working with Grails while pulling together ideas possibly for my own less opinionated framework on the side.
So thats where I am and thats where this blog will begin. I’ll talk about my experiences with Grails and my ideas for an alternative framework possibly sprinkled in with my current PHP work. I’ll also get into other non-web projects as I seek to have some fun with other types of software. Some of these projects I’ll hopefully complete and some I know good and well I may never complete. I just start on some of them as learning exercises. So I hope you’ll stay tuned to my overnight coding adventures. I promise all of my posts won’t be so long. 😉