software engineering, social networking, linux, android, java, the cloud and happiness!
Tuesday, April 17, 2012
Modern Web Architecture: The HTML5 Web Storage
Tuesday, March 6, 2012
15 Tenets For The Software Engineer
Read more: http://www.javacodegeeks.com/2012/03/15-tenets-for-software-engineer.html
Wednesday, February 1, 2012
Using the Tomcat 7 JDBC Connection Pool in Production
Fortunately, this is where the JDBC Connection Pool excels. It is a completely new connection pool which has been written from the ground up, with a focus on highly concurrent environments and performance.
Given its focus on high concurrency and performance, many users are finding that the JDBC Connection Pool can be great for use in a production environment. This article will discuss the features and options which make using the JDBC Connection Pool a great choice. More...
Monday, August 15, 2011
What features of Java have been dropped in Scala?
Friday, June 17, 2011
Intermediate Java | Software Developer or Engineer? An Immature Discipline
…there is still little consensus on the precise definition of software engineering, and even the legitimacy of using software engineer as a professional title is still being debated….
One of the key differences between engineering and craftsmanship is that the success of engineering projects can be assured beforehand through scientific analysis of their designs, whereas the success of craftsmanship projects is attained through trial and error during current and prior construction….
Monday, June 6, 2011
The science of software pricing | Binpress
Pricing is not an exact science, but it is not magic either – it is influenced by perception of your software, market conditions and its value. So what is the process of finding that sweet pricing spot?
Monday, May 23, 2011
Coding Horror: The Infinite Version
Thursday, May 12, 2011
Blogger for android rocks!
Just installed the Blogger application from the android market. I don't know how it took me so long to discover this app but it really is a must have.
The application does what you would accept - write and post new applications, post pictures from your phone memory card or directly from the camera and tag ur posts. I still need to fugure out how it fairs on formating text etc. The basics are good enough for me.
I discovered there are several other applications for doing the same job but I settled for the official one by Google Inc.
Saturday, April 30, 2011
High Performance Computing: Create an AMI
Monday, April 18, 2011
Oracle Technology Network: Contexts and Dependency Injection in Java EE: Which Annotations to Use?
Read more at the Oracle Technology Network in "Contexts and Dependency Injection in Java EE."
Friday, April 15, 2011
Alex talks about Java: java.util.Objects. A new JDK 7 class for managing Objects
Wednesday, April 13, 2011
The Brain Dump: Gavin King unveils Red Hat's top secret Java Kille...
Is Having a Build Specialist an Anti-Pattern?
The build system should be looked at as a module or component of the software application or platform being developed, so the philosophy taken towards code ownership apply.
If a single person owns the build system, everyone else becomes dependent on them to fix issues with it, and to extend it to meet new needs. There is also a risk, especially for projects which are big enough that maintaining the build system becomes a full time job, that a bit of a siloed mentality can develop.
If developers have a poor understanding of how their software is built and deployed, their software is likely to be difficult and costly to deploy. On the flip side, if build and test tools are implemented and maintained entirely by people who don't develop or test the software, it isn't likely to make the life of those who do as easy as it could be.
In the past few months I've taken on a role which is largely focused on this area, and have been helping a development team get their build and delivery system in place. Pairing with developers to implement aspects of the system has worked well, as has letting them take on the setup of particular areas of the build and test tooling. This follows what Martin Fowler calls "Weak Code Ownership", allowing everyone to take part in working on the build and test system.
Special attention is needed for stages of the path to production as they get further from the developer's workstation. Developers are keen to optimize their local build and deployment, but can often be fuzzy on what happens when things are deployed in server environments. This is exacerbated when the platforms are different (e.g. developers working on Windows, code deployed on Linux).
Even without platform differences, developers understandably focus on the needs of their own local build over those of production system deployment. This is natural when server deployment is not a part of their daily world. So the best way to compensate for this is to keep developers involved in implementing and maintaining server deployment.
Driving the implementation of the build and deployment system according to the needs of business stories has also been useful. So rather than setting up tooling to test parts of the system that haven't been developed yet, wait until the design of the code to be tested starts to be understood, and the code itself has actually started being developed. This helps ensure the tooling closely fits the testing and deployment needs, and avoids waste and re-work.
Blog post originally from Kief Morris' Grok and Roll
Wednesday, April 6, 2011
Linux-Recipe: List all listening ports and the PID of the associated processes
- #lsof -Pan -i tcp -i udp
It works for AIX, Apple Darwin, FreeBSD, Linux, NetBSD, NEXTSTEP, SCO OpenServer and Solaris 9 and 10.
Options
- -P don't bother converting port numbers to port names - speeds up lsof.
- -n don't bother converting ip addresses to host names
- -i internet address must match the address specified (-i4 and -i6 are used to IPv4 and IPv6 respectively).
- -a used to AND list options i.e show only files that satisfy all list options. The default behaviour is to show files that satisfy any of the list options.
Thursday, October 14, 2010
Tech Support
Wednesday, August 18, 2010
Java Best Practices – Vector vs ArrayList vs HashSet
Continuing our series of articles concerning proposed practices while working with the Java programming language, we are going to perform a performance comparison between the three probably most used Collection implementation classes. To make things more realistic we are going to test against a multi–threading environment so as to discuss and demonstrate how to utilize Vector, ArrayList and/or HashSet for high performance applications.
Read more: Java Code Geeks: Java Best Practices – Vector vs ArrayList vs HashSet
Thursday, February 11, 2010
Google Buzz - My First Impressions
Buzz allows you to post items - links, images, videos etc to a wall within your gmail, that all contacts following you can see and comment on, much like the facebook wall. Buzz integrates well with Google Reader so that when I 'like' an item on Reader, it automatically appears in my Buzz like it does on my reading list feed. Of course Google Reader has to be added to my list of "connected sites" within Buzz. Connecting sites is easy and Google Buzz will offer to link your twitter and blogger accounts too - coool.
My biggest problem with Buzz is privacy - the default settings are just too slack that you can virtually follow anyone and easily find their email address. By default, you can view the profiles (Google Profiles) of people who follow you and those you follow. You can also see all their followers and those they follow and so on. What's worse their Buzz posts are also displayed on their profiles by default (I'm sure this can be turned off). I found this a bit disturbing. Of course when posting one can select to make posts private - only viewed by certain contacts but the tick will go unnoticed for most people.
I think the thinking behind Buzz posts is closer to tweeting than the facebook wall but it is definitely sitting somewhere between.
Comments on posts made by people we follow can also create unnecessary noise as they also increase the count on unread Buzz posts. What's worse, if you comment on someone's post, all comments made after yours will also appear in your inbox like ordinary direct email. To be fair though, there is an option to 'mute' a post - which makes it dissappear and stop subsequent comments from comming to you, much like Google Wave.
Another annoyance is that since my Reader account is "connected", anything I 'like' is by default shared public. I 'like' so many things in a day I can only feel sorry for the people who follow me. The Buzz inbox can soon be cluttered if one follows too many people. This is annoying because it is within email and unlike facebook feeds, we normally want to check on any new item in our email box.
It would be nicer if you could specify within Reader if with each 'liked' item, you wanted it also posted to Buzz. Linkedin does that well. When you link a twitter account, you can specify that it doesn't grab all tweets. If you want your tweet to appear on your linkedin profile, you prefix it with #in. I'm not sure if Buzz even supports the '#'.
Buzz is a great innovation but Google still needs to do some work there. I would like to see more twitter like features like "retweeting" and the ability to reply to a specific person with the @mashtales. This probaly needs Google to give us handles that do not reveal our email addresses.
Should Facebook and Twitter be afraid, maybe not very but this latest kid on the social networking block carries a brand with it and also rides on the millions that long fell in love with Gmail. No doubt Google has some more feature to roll out on Buzz, we will just wait and see.
Friday, November 27, 2009
5 Must Have Google Chrome Extensions
While Google hasn’t officially released their own repository to download extensions yet (although you can officially submit them here), third-party sites such as Chrome Extensions have a large repository of extensions ready for you to download.
While many of these extensions are next to pointless, there are a few gems that can make your Chrome browsing experience a bit more useful.
Aviary Screen Capture
Aviary, a powerful online image based editor, has released a quick and easy way to capture screenshots within Chrome instantly and edit them within a streamlined version of the Aviary image editor. You also get quick links to other Aviary products, such as Aviary Audio Editor, which we covered here. (Download extension)
Chrowety
You just can’t have a list without a Twitter app of some sort included. Chrowety is a streamlined, convenient and surprisingly intuitive Twitter client. While it doesn’t have all the features more advanced Twitter clients such as Seesmic Web, if you’re looking for quick and dirty tweeting without all the wait, you got it with Chrowety. (Download Extension)
Feedly
One of the most popular Firefox extensions, and beloved by many RSS consumers is Feedly.
Feedly turns your Google Reader into a magazine like start page. While I am not an avid user of Feedly, I know of many who swear by it. Some of them are so rabid about Feedly that they refuse to move from Firefox until a Chrome extension is available. Talk about a dedicated user.
Well now they can see the light. Feedly has now officially released a Chrome extension that will give you all the greatness of the magazine style reader you have come to expect. Time to move to the faster side of browsing my Feedly friends. (Download Extension)
Chrome Reader
It has always puzzled me why Google does not integrate their own superior RSS reader, Google Reader, into Chrome. Until that day comes though, Chrome Reader will have to suffice.
When Chromes discovers an RSS feed, simply click on the RSS icon in the URL bar and that feed will automatically be subscribed to in Google Reader instead of opening a web page full of XML. Chrome Reader also allows you to add your new subscriptions into folders within the extension. (Download Extension).
Dotspots
Dotspots is an annotation service that we recently wrote about here. Using the Chrome extension, you can add annotations to any content based web page by simply highlighting a paragraph. You can also see and edit other users annotations (also known as Dots). While the extension requires you have an account through DotSpots, it is a powerful extension that can potentially add a lot of value. To download sign-up for an account.
While I am sure there are plenty of other extensions just as useful, if not more useful than the ones listed above, you can be sure that Chrome extensions will start seeing some serious advances in the near future. Keep in mind, these Chrome Extensions are not officially backed by Google and can break. While I have not personally ran into problems with any of the extensions listed above, I am sure some people have.
Make sure if you think there are any Chrome extensions worthy of a future “must have” list you leave them in the comments.
YouTube to Live Stream Alicia Keys Concert Worldwide [VIDEO]
In October, YouTube hosted one of the biggest live streaming events ever held: a U2 concert generating more than 10 million streams across 7 continents.
Now YouTube is looking to repeat that success, with an Alicia Keys concert being live streamed on December 1st at 8pm ET.
The concert, to be held at the Nokia Theatre in New York City, aims to draw attention to World AIDS Day; viewers will be encouraged to donate to Alicia’s chosen charity, Keep a Child Alive. You’ll be able to tune in at the Alicia Keys YouTube channel.
Will you watch Alicia Keys live? And will the concert be as big as U2 at the Rose Bowl? Let us know in the comments!
Tags: alicia keys, youtube