- Apple iPad 2: Who should buy and who should pass - Blind fans of Apple products will still just go buy one, but this article is a good dose of reality on why you should or shouldn't get one.
- Oracle gives up on OpenOffice - At least the LibreOffice crew didn't think Oracle got open-source and forked, and Oracle was unable to stop it. Does Oracle not "get" open-source?
Wednesday, April 20, 2011
links for 2011-04-20: Who should(n't) by an iPad 2; Oracle gives up on OpenOffice
Wednesday, April 13, 2011
Is GlassFish v3 slower and a bigger footprint than v2.1?
When I was at Sun, we often touted the work we did with GlassFish v3 to improve startup times. A lot of this was based on v3 being more modular with an OSGi kernel and "HK2". Now that I'm on the other side, at a software vendor (NextGate) that supports GlassFish as an app-server for our product, I get to see if it is really true in the real world!
To try it out, I did a few quick tests. For the record, what I tested was GlassFish v2.1.1, v3.1 Full, v3.1 Web Profile, and I included Tomcat 7 for one test just to compare. I also did this all on OS X on a fairly new MacBook Pro.
First, I deployed a fairly small and simple Web-app and then stopped and restarted each app-server several times. My observations on startup times and footprint after start were:
This shows that v3 has clearly made improvements over v2 in both startup time and footprint This is as expected.
What surprised me a bit was that Web Profile had further improvements over the full profile, this because I thought only what was required would be started with the full profile and so it should basically match Web Profile in this case and it didn't. It was also significantly heavier weight. Does this make sense?
Also, Tomcat is clearly the speed demon and lightest weight, but this isn't really an apples to apples comparison as Tomcat doesn't offer as much as any of the other options. It still sets the standard for fast startup and small footprint though.
Next, I deployed another EAR and WAR file that make up our application. Here is what I observed:
Now this was more surprising. Not only did v3 take longer to startup, the footprint was nearly twice that of v2! Effectively, v2 added 4 seconds to startup a second WAR and an EAR, but v3 added nearly 18 seconds to do the same. And why v3 is using so much more memory, I'm not sure.
Now, perhaps my test is too simple or I'm not looking at the exact right metrics to really measure startup time. But what I'm using is the Real Memory reported by Activity Monitor and both the time it takes for "asadmin start-domain" to return the the start time reported in the server.log file.
As additional background, I'm deploying the same WAR and EAR files to both v2 and v3, and since they run in v2 they are not specific to EE 6 and the only EJBs are SSBs.
So GlassFish experts, help me out. Is what I'm seeing real? Is v3 really slower and larger than v2 for this type of use case?
To try it out, I did a few quick tests. For the record, what I tested was GlassFish v2.1.1, v3.1 Full, v3.1 Web Profile, and I included Tomcat 7 for one test just to compare. I also did this all on OS X on a fairly new MacBook Pro.
First, I deployed a fairly small and simple Web-app and then stopped and restarted each app-server several times. My observations on startup times and footprint after start were:
| Container | Startup Time | Footprint |
|---|---|---|
| GlassFish v2.1.1 | 16 sec | 178 MB |
| GlassFish v3.1 | 6.5 sec | 153 MB |
| GlassFish v3.1 Web Profile | 5 sec | 123 MB |
| Tomcat 7 | 1 sec | 74 MB |
This shows that v3 has clearly made improvements over v2 in both startup time and footprint This is as expected.
What surprised me a bit was that Web Profile had further improvements over the full profile, this because I thought only what was required would be started with the full profile and so it should basically match Web Profile in this case and it didn't. It was also significantly heavier weight. Does this make sense?
Also, Tomcat is clearly the speed demon and lightest weight, but this isn't really an apples to apples comparison as Tomcat doesn't offer as much as any of the other options. It still sets the standard for fast startup and small footprint though.
Next, I deployed another EAR and WAR file that make up our application. Here is what I observed:
| Container | Startup Time | Footprint |
|---|---|---|
| GlassFish v2.1.1 | 20 sec | 207 MB |
| GlassFish v3.1 | 24 sec | 400 MB |
Now this was more surprising. Not only did v3 take longer to startup, the footprint was nearly twice that of v2! Effectively, v2 added 4 seconds to startup a second WAR and an EAR, but v3 added nearly 18 seconds to do the same. And why v3 is using so much more memory, I'm not sure.
Now, perhaps my test is too simple or I'm not looking at the exact right metrics to really measure startup time. But what I'm using is the Real Memory reported by Activity Monitor and both the time it takes for "asadmin start-domain" to return the the start time reported in the server.log file.
As additional background, I'm deploying the same WAR and EAR files to both v2 and v3, and since they run in v2 they are not specific to EE 6 and the only EJBs are SSBs.
So GlassFish experts, help me out. Is what I'm seeing real? Is v3 really slower and larger than v2 for this type of use case?
Monday, March 14, 2011
links for 2011-03-13: iPhone 5 wishlist; Do you think like an Engineer?; Gmail outage
- Wish list: 27 features we want on the iPhone 5 - A good list, some even not just gripes but innovative suggestions.
- Do you think like an Engineer? - It said I'm a Computer Engineer.
- Gmail Outage: The sky is not falling - Naysayers make a mountain out of a molehill when there is a glitch, but fail to point out downtime when hosting yourself is likely much higher and more costly.
Friday, January 28, 2011
links for 2011-01-28: AT&T unlimited data plan for iPhone back; LibreOffice release; iPhone and Google Voice; Startup business models
- AT&T quietly matching VZW's unlimited data plan for iPhone - I never gave up my unlimited plan, but good to know others can get it back.
- First LibreOffice Release arrives - Sounds like a good release, will have to check it out.
- Why the iPhone and Google Voice don't mix - I have not had the issues this story lists, it works great for me.
- Why DropBox won - Good read for folks introducing new technologies that require adoption.
- Kill your business model - Another good read on the same subject.
Wednesday, January 26, 2011
links for 2011-01-26: AWS Simple Email Service; Marc Fleury on Oracle and Open Source; No screenshots on Windows Phone 7
- Introducing the Amazon Simple Email Service - Another in the line of "simple" services.
- Oracle and Open Source. NOT GOOD - Marc's view on how Oracle is handling open source, based largely on what has happened with OpenOffice and Hudson.
- Capturing screenshots in Windows Phone 7's future? - Hiding behind DRM seems like a poor excuse. And no one has ever asked for it?
Tuesday, January 25, 2011
Fun with QR Codes - Encoding URLs and contact information in images
I've been playing with QR Codes recently. What is a QR code you ask? It is one of those square bar-code looking images that you may have started to see lately, and are used to encode text which can be URLs, vCards (contact info), phone numbers, or other data. By encoding this information in the QR Code, the data can be easily decoded by say a camera phone, and the information acted upon. Common uses are sharing URLs, avoiding having to type in a long sequence of characters on a small keyboard, or sharing electronic business cards (vCards).
Here is an example that encodes the URL to the Wikipedia page on QR Codes.

Use a QR Code reader on your mobile phone and it should launch your browser on that site. Most readers I've come across have this built-in behavior for URLs, but what about other forms of text encoded in the image?
I've done a fair amount of experimentation with several readers on the iPhone and have discovered some that simply show the text for non-URLs, while others have nicer behavior, especially with vCards. For example, the following QR Code has a name, work phone, e-mail, company, and title.

On an iPhone, scanning this with QRReader just displays the vCard text. i-nigma 4 recognizes it as a vCard, parses it, and lets me add it to my contacts, but ignores the company (ORG) and title (TITLE) fields as well as the work attribute on the phone number. ScanLife does the best, recognizing the vCard and all the fields.
So, your success with using a QR Code as your business card will depend on the reader your audience is using. Feel free to comment on how your reader works.
As you can see, when more information is added the QR code larger/denser which is natural and to be expected. The specification calls for a maximum number of characters of 4,296 but that would have an image that was 177x177 pixels and the dense one above is 1/9 as large. So when using it as a business card, particularly if you are printing it on the back of your business card, at some point it is too dense to print on such a small card and have readers still be able to process it, so you are somewhat limited in what you can include. You'll notice that I didn't include an address or secondary phone numbers in either case above and those would add significant characters.
The other thing I learned in trying things out is that while there are numerous services on the Web that will create the image from text you enter, they don't all properly format the vCard with the proper syntax and punctuation when you fill in their vCard form. But part of my project was to find a way to encode without internet access so I had to write my own anyway and did so using the Google's zxing project. That project seems focused on readers, but has encoding classes in it too.
What is your experience with QR Codes? What readers do you use and which work well?
Here is an example that encodes the URL to the Wikipedia page on QR Codes.

Use a QR Code reader on your mobile phone and it should launch your browser on that site. Most readers I've come across have this built-in behavior for URLs, but what about other forms of text encoded in the image?
I've done a fair amount of experimentation with several readers on the iPhone and have discovered some that simply show the text for non-URLs, while others have nicer behavior, especially with vCards. For example, the following QR Code has a name, work phone, e-mail, company, and title.

On an iPhone, scanning this with QRReader just displays the vCard text. i-nigma 4 recognizes it as a vCard, parses it, and lets me add it to my contacts, but ignores the company (ORG) and title (TITLE) fields as well as the work attribute on the phone number. ScanLife does the best, recognizing the vCard and all the fields.
So, your success with using a QR Code as your business card will depend on the reader your audience is using. Feel free to comment on how your reader works.
As you can see, when more information is added the QR code larger/denser which is natural and to be expected. The specification calls for a maximum number of characters of 4,296 but that would have an image that was 177x177 pixels and the dense one above is 1/9 as large. So when using it as a business card, particularly if you are printing it on the back of your business card, at some point it is too dense to print on such a small card and have readers still be able to process it, so you are somewhat limited in what you can include. You'll notice that I didn't include an address or secondary phone numbers in either case above and those would add significant characters.
The other thing I learned in trying things out is that while there are numerous services on the Web that will create the image from text you enter, they don't all properly format the vCard with the proper syntax and punctuation when you fill in their vCard form. But part of my project was to find a way to encode without internet access so I had to write my own anyway and did so using the Google's zxing project. That project seems focused on readers, but has encoding classes in it too.
What is your experience with QR Codes? What readers do you use and which work well?
Monday, January 24, 2011
links for 2011-01-24: Forrester on the Future of Java; Honda 1-ups Segway; Linux distros switching from OpenOffice to LibreOffice
- The Future of Java - "Over time, developers will begin to view Java as a server-side language for enterprises — like COBOL."
- Honda Personal Mobility Concept U3-X - Honda 1-ups (or 2 or 3?) Segway.
- Ubuntu opts for LibreOffice over Oracle's OpenOffice - Justified or not, Oracle just can't win with open-source advocates, developers, and Linux distributions
Saturday, January 22, 2011
links for 2011-01-21: AWS Elastic Beanstalk; Googled copied Sun's Java code
- AWS Elastic Beanstalk: A Quick and Simple Way into the Cloud - AWS continues to avoid going up stack to compete with partners, but still offer new services and value.
- Oops: Android contains directly copied Java code, strengthening Oracle's case - That would be a big ooops!
- Oops: No copied Java code or weapons of mass destruction found in Android - Or maybe not.
Monday, January 17, 2011
links for 2011-01-17: New data roaming option for international travelers; Battle over video on the Web; Android passes iPhone; Unplugging from LBS
- DROAM - Dreaming about Cheap Data Roaming - Great to see more options out there.
- Can Google and Mozilla dethrone H.264 on the Web? - Probably good in the long run, a bit bumpy right now though.
- Android passes iPhone in market share - Sounds like Gartner was awfully conservative in their Q4 2012 prediction.
- Why I’m Unplugging From Location Based Services Until The Privacy Issue Is Resolved - Great list of things to remember when using location based services.
Subscribe to:
Posts (Atom)