I'm back at work today after having taken time off since Wednesday to move house. I spent Wednesday packing boxes and got the CHAPS transfer and mail redirection (£35.40 for a year) done. Keys were exchanged at 1pm on Thursday, and it took two Luton vans + three removal men (£270) to carry our stuff to the new house. We were all done by 4pm. We've unpacked our important items but are still mostly surrounded by a sea of boxes! Its good to be back at work though!
Here is a list of useful bookmarks if you're moving house: http://del.icio.us/fahdshariff/moving%2Bhouse
Monday, June 23, 2008
Tuesday, June 17, 2008
Firefox 3 Released!
Firefox 3 is here! Download it now and help set a Guinness World Record for the most downloads in 24 hours!
You even get a certificate!
You even get a certificate!
Friday, June 13, 2008
Change Logging Levels using JMX [Howto]
This handy example shows you how you can use Java Management Extensions (JMX) to change your application's logging level.Step 1: Create your management interface which consists of all the attributes which can be read or set and all the operations that can be invoked. In this case, we want to change the logging level of our application.
public interface MyAppMBean{ public void setLoggingLevel(String level) ; public String getLoggingLevel() ; }Step 2: Create a class which implements the MBean interface
import java.lang.management.ManagementFactory; import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.log4j.Level; import org.apache.log4j.Logger; import com.sun.jdmk.comm.HtmlAdaptorServer; public class MyApp implements MyAppMBean{ private static Logger logger = Logger.getLogger(MyApp.class); public void go() throws Exception{ while(true){ logger.debug("DEBUG") ; logger.info("INFO") ; Thread.sleep(2000); } } public void setLoggingLevel(String level){ logger.info("Setting logging level to: " + level); Level newLevel = Level.toLevel(level, Level.INFO); Logger.getRootLogger().setLevel(newLevel); } public String getLoggingLevel(){ return Logger.getRootLogger().getLevel().toString() ; } }Step 3: Register the MBean with the MBeanServer. Also register an HTMLAdaptorServer which allows us to manage an MBeanServer through a web browser.
public static void main(String[] args) throws Exception{ MyApp app = new MyApp() ; ObjectName objName = new ObjectName("MyApp:name=MyApp"); MBeanServer server = ManagementFactory.getPlatformMBeanServer(); server.registerMBean(app, objName); int portNumber=9393; ObjectName htmlName = new ObjectName( "MyApp:name=MyAppHtmlAdaptor,port="+portNumber) ; HtmlAdaptorServer html = new HtmlAdaptorServer(portNumber); html.setPort(portNumber); server.registerMBean(html, htmlName); html.start(); app.go(); }Step 4: Compile. Make sure you have log4j, jmxtools and a log4j properties file in your classpathStep 6: Run MyApp. You need to add the following JVM properties:
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=falseStep 5: Open jconsole
- Click on MyApp and press Connect
- Go to the MBeans tab and choose MyApp from the tree on the left
- You can then change your Logging Level while the application is running!
- Go to http://localhost:9393
- Click on name=MyApp
- Change the LoggingLevel!
Thursday, June 12, 2008
Firefox 3 - Release Date Tuesday, June 17, 2008
The Mozilla Developer Center is reporting Firefox 3 will be released on Tuesday, June 17, 2008!
After more than 34 months of active development, and with the contributions of thousands, we’re proud to announce that we’re ready. It is our expectation to ship Firefox 3 this upcoming Tuesday, June 17th. Put on your party hats and get ready to download Firefox 3 - the best web browser, period.I've been using the betas and RCs for some time now and can't wait to get my hands on this release. If you haven't already pledged to download it, and help set a world record for the most software downloaded in 24 hours, do so now: http://www.spreadfirefox.com/en-UK/worldrecord/ (Total pledges 1,109,453 so far)
Monday, June 09, 2008
Google's New Favicon
You may have noticed that Google has a new favicon, the small icon (16x16 favicon.ico image file) you see in your browser next to the URL or in your bookmarks list. It has changed from the familiar upper-case G to a lower-case one.
According to an official Google post:
To me, its an obvious play on the infinity sign - Google ad infinitum.
The new icon has yet to grow on me. The old one, whilst old-fashioned, was immediately recognisable as part of the Google brand.
According to an official Google post:
The reason is that we wanted to develop a set of icons that would scale better to some new platforms like the iPhone and other mobile devices. So the new favicon is one of those, but we’ve also developed a group of logo-based icons that all hang together as a unified set.
To me, its an obvious play on the infinity sign - Google ad infinitum.
The new icon has yet to grow on me. The old one, whilst old-fashioned, was immediately recognisable as part of the Google brand.
Subscribe to:
Posts (Atom)