11 karma · joined April 7, 2010
I spent many years hammering away with RDBMS and by and large it was great until it wasn't. I try to look at data storage more holistically now based on best guess of the problem. I have tried to convert an application from Postgresql to MongoDB and it failed but that wasn't MongoDB's falt it was because I didn't change the data model to fit a document storage system. I have also tried to use PostgreSQL for a realtime reporting system and failed horrifically and that was not Postgesql fault it was mine. Amazing what happens when you stop pushing a chain and start pull it!
Love building software! Specifically love working in exciting environments. Would love to work on some interesting projects my email is in the profile.
Linkedin: http://www.linkedin.com/in/lateefjackson
Blog: http://blog.hackingthought.com/
Resume: http://hackingthought.com/releases/Lateef_Jackson_2010.pdf
* The JVM is fast compared to VBScript type languages and slow compared to language that use C libraries (Python). There are benchmarks about how JVM is very fast at crunching numbers however in practice I have written very little code that is math I tend to use a library (math libraries written in C/Fortran). Most applications are moving bits around and are thus IO bound and so languages that can quickly be modified to use better caching or more complex data access algorithms will perform better. Enterprise web apps that use Java and are fast are the exception not the rule.
* JVM is a memory hog. Now this could be blamed on all the dependencies but even writing a very simple JSON web service is going to cost you a lot of memory. This makes compilation slow and development slow.
* Dependency management is a mess. Maven is helpful but is exceptionally slow with just a few dependencies.
* Multithreaded Java has never been as robust or fast as multiprocess applications I have see run in other languages. I have seen robust multiprocess Java applications but they tended to run per node because of memory usage and performance. I would say I am above average developer and have written and rewritten a good amount of thread code and the more I do the more I am convinced it is a horrible concurrency model for non super human developers.
PHP may make some inroads over time since it has a good base of people that can be hired. However I see it mostly to be used as an outsourcing tool when a project need to get done quickly. This is just my experience over the last 14 years so YMMV.
1. Do something impossible! I rode my bike to work 25 miles in the morning and 25 miles at night. This was something I thought was impossible, and I only got to do it a couple times a week but it gave me lots of time to think and work though my issues. Find your impossible task and do it.
2. Learn something new. When I teach myself something new it is a very euphoric experience and after I then want to do something with that new knowledge.
3. Lots have been said about gardening and yep it is all true do it now!
4. Exercise for 30 minutes first thing and your day will start out much better.
5. Eat local/healthy food. Good food makes you feel better.