Wednesday, August 5, 2009

Chromium nightly has an easter egg?


Check out the close button on this screen shot. This was installed from the nightly repo for the Linux distro. Makes me wonder what else sneaks it's way into the nightly.

Monday, January 12, 2009

Is Chrome undermining Firefox or IE?

A very interesting trend indeed. If you look at W3Schools Browser statistics for Dec 08. You cant help but notice that Google's Chrome seems to be getting it's user base at the expense of Internet Explorer and NOT Firefox as everyone expected.

http://www.w3schools.com/browsers/browsers_stats.asp

The short term trend clearly shows (at least for now) that the discontent with IE continues. Why you ask? Perhaps its the bloated and largely irrelevant feature set or maybe it's ever present "Anti-Standards" approach that Microsoft stubbornly insists upon in an effort to exert futile and fruitless control over development decisions made at other companies?? I honestly can't even come up with a conspiracy theory as to why they do what they do with IE. That said, Internet Explorer is just barely ahead of Firefox by less than one percentage point (In this set of statistics anyway).

if this trend continues it won't be long before the tipping point is reached. At which time Web developers around the world, will no longer start a project testing in IE, rather we will amend statements of accomplishment with "Oh and it works in IE as well" :)

Tuesday, August 7, 2007

Seamless Source Code Managment

Lets address source code organization and synchronization of teams. Everyone wants to have a standard environment when developing applications in groups. Really in my experience, it's critical. Honestly this is one thing that is really easy to do AND costs larger teams millions of dollars and jeopardizes deadlines .

Apache maven + SVN is great for keeping environments synchronized and for painless deployment of applications. SVN is great for source control and maven for build management and deployment builds. Mavens real strengths over ANT is dynamic dependency compilation and managing compatible versions.

but before we get into that lets start with a few standards. Here's what I use for my primary development environment:

8/7/07
-------------------------
Ubuntu 7.04
Eclipse 3.3
Jboss 4.0 (Via GEMS installer)
Seam 1.2.1GA


Server Software Configuration

The following is where each of these server components would be installed on a server. Not that they would all be running at the same time. In each of these instances the final element of the path. Bare in mind this is for setting paths on linux. For win32 users it's all done in the control panel's "system" applet . Just look under the Advanced tab you can create these variables in the user environment box at the top of the tab panel.

is a symbolic link to the actual installation. ex: /development/servers/tomcat is a symbolic link (ln -s) to: /development/servers/apache-tomcat-6.0.13. This is so that we can up grade versions and roll back just by changing the symbolic link on the fly.

The directory roots are:

/development/SDKs/
The SDKs directory is for different Java distros , Jruby or Python

/development/servers/
This is where we locate our server software like Resin, Apache, Jboss etc etc .. Always in this directory so we know the
deployment standards. Nothing is worse than wasting hours working on the wrong files or checking out old versions

/development/tools/
The tools directory is for build, testing and management tools. SVN (while technically a server), CSV, Maven, ANT and Junit etc

/development/libs/
All other libs, hibernate, Seam , Spring, apache commons , flavor of the day.

We declare the environment variables in the /etc/profile that loads at system initialization. we will use the following convention:

<%app_name%>_HOME

JAVA_HOME=/development/SDKs/java

GLASSFISH_HOME=/development/servers/glassfish
JBOSS_HOME=/development/servers/jboss
CATILINA_HOME=/development/servers/tomcat

ANT_HOME=/development/tools/ant
MAVEN_HOME=/development/tools/maven

HIBERNATE_HOME=/development/libs/hibernate
SEAM_HOME=/development/libs/seam
SPRING_HOME=/development/libs/spring

CLASSPATH=$CLASSPATH:$SPRING_HOME:$SEAM_HOME:$HIBERNATE_HOME:$MAVEN_HOME:$ANT_HOME:$CATILINA_HOME:$JBOSS_HOME

PATH=$PATH:$ANT_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin.......... etc etc


-- Richard Corsale