links for 2009-6-30: Windows 7, iPod Touch, New App Store
And Windows 7's killer feature is ... - "Put a PC running XP and an identical system running 7 side by side, and both PCs will be able to carry out the same tasks, and I doubt that in real world conditions that there would be any difference in time taken to carry out those tasks, or the reliability of each of the systems."
Are iPod touch users second-class citizens? Apple says yes - I never understood why Apple charges iPod Touch owners but not iPhone owners (not that I'm complaining as an iPhone owner) and it appears the iPod folks are resisting paying.
Benchmarking the iPhone, and lots of other devices too
Benchmarking has been around for years, and I started playing around with writing them back in college. I recall an assembly language class were the assignment was to implement the Sieve of Eratosthenes in as few bytes as possible. I "won" the assignment by doing it in 24 (or was it 25, too many years ago!) bytes, but that got me started on benchmarking as I instrumented the code to time how long it took and then proceeded to run it on all the different machines I could to see which one was the fastest.
Clearly though, having a benchmark written in 8086 assembly language had limited usefulness, so in later years I rewrote it in C and added several other standard algorithms to the stable that were executed including calculating PI, a selection sort, and computing Ackermann's function to test recursive performance. I proceeded to run it on every machine I could from PCs running MS-DOS to workstations running Solaris to PPC machines running LynxOS and AIX. In later years, I ran the same benchmark on UltraSPARC, SGI MIPS, and DEC Alpha machines as well as today's dual-core Intel chips. Somewhere along the line I starting writing more in Java than C and I ported the benchmark to Java to see how it compared, and several years ago I began using BlackBerry's and wrote a Java ME version.
As you can imagine given the wide range of machines I've run it on in the past, having an iPhone was just begging to run it there too. While I have creating a proper iPhone app version on my list of things to do, thankfully a jailbroken iPhone makes it pretty easy to run the C and Java versions I already had. A sampling of results appears below, but the summary for the iPhone is that the native version is about 5 times faster than the Java one and ever so slightly faster than a 75 MHz Pentium 5 of yesteryear.
Machine
Language
Math
Array
Sort
Sieve
Ackermann
Total
Motorola L6
Java ME
0.11
0.19
0.23
0.13
0.19
0.17
BlackBerry Curve (OS 4.5)
Java ME
0.95
2.21
2.96
1.72
2.96
1.81
iPhone 3G
Java SE
12.4
4.79
4.64
3.28
5.01
4.95
Intel 486DX2-66 (Linux)
C
10
10
10
10
10
10
SPARC-20 (Solaris)
C
66.4
20.3
17.6
20.1
4.1
12.1
Pentium 5 75 MHz (Linux)
C
21.3
19.6
28.6
23.2
33.4
24.2
iPhone 3G
C
65.9
21
23.4
19.2
46.7
27.9
DEC Alpha 275 MHz (OSF/1)
C
111.4
93.6
63.1
41.2
76.1
68.6
Pentium 600 MHz (Linux)
Java SE
191.9
106.1
99.1
68.9
78.2
96.1
Pentium 600 MHz (Linux)
C
216.4
319.3
219.8
171.5
131.2
194.1
MacBook Pro 2.33 GHz
Java SE
655
1096
794
549
334
587
MacBook Pro 2.33 GHz
C
1089
2413
664
800
1356
1037
You may also view the full list that I have maintained over the years. You'll notice that I did my initial calibration on a 66 MHz 486 DX-2 so that it scores 10 in each of the tests.
Now, I'll be the first to admit that my benchmark is pretty simplistic and thus shouldn't be be the end all be all testing to compare machines or platforms. The results can also be significantly affected by the quality of the C compiler or JVM being used. However, the results can provide a rough comparison and are at least fun to look at.
For example a SPARC-20 has terrible performance with deep recursion. And as noted above the JVM on the iPhone is about 5 times slower than a native app whereas on an x86 box the JVM is about half as fast as native.
While I've run the benchmark on quite a few machines, I'd love to add more to the list. If you'd like to run it, here is the binaries in a variety of formats:
Linux on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
OS X on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
OS X on ARM/iPhone - Download the binary, use ssh/scp to get it on your jailbroken iPhone, and execute with "./sci <iterations>". The default iterations should be fine.
Solaris on x86 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
Solaris on SPARC - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
AIX on RS/6000 - Download the binary, set the executable flag, and execute with "./sci <iterations>". On most of today's faster machines iterations should be 10,000 to have reasonable results.
Java SE - Download the jar and execute it on any machine you have a JVM with "java -jar SCIJ.jar <iterations>". On most of today's faster machines iterations should be at least 5,000.
Java ME devices - Point your phone/device browser at the link and it should prompt to install the application. Run the app and if it executes in less than a few seconds change the iterations to a larger number to make it more accurate in calculating the benchmark.
If you do run the benchmark, please post a comment on this blog entry with the chipset, clock-speed, operating system, and results from each of the tests that the program displays. As soon as someone jailbreaks an iPhone 3G S, it would be great to add that result to the list.
Enjoy!
links for 2009-6-29: NetBeans 6.7, Making SOA services more reusable
NetBeans 6.7 Released - New features including integration with Project Kenai, native support for Maven, support for GlassFish (v3) and more.
Six ways to make SOA services more reusable - Nothing ground breaking or new, but always good to reiterate decoupling the transport from the logic, having standard interfaces, and testing for interoperability.
Saturday Jun 27, 2009
US Track and Field Nationals Mid-Point Update
As I wrote about earlier, the US Nationals and qualifiers for this years World Championships in Berlin started Thursday and we are halfway through, so an update seemed appropriate.
First, touching on the items I said to watch for:
Tyson Gay did run only 1 round in the 100m but threw down a wind aided 9.75 in winning his heat so he seems in good form. He was unhappy with his execution in the race so look for better later this summer. In his absence, Michael Rodgers capitalized and won the final in 9.91w to take the national chamipionship.
Bernard Lagat also only ran 1 round in the 800m but unlike Gay did not look that great running 1:48.59 and finishing third in his heat. He plans on running another 800m in Europe in a week so look for an improvement there. The favorites, Symmonds, Robinson, and Smith are all through to Sunday's final, but look for Tevan Everett to push all three.
German Fernandez ran the senior 5000m and did fantastic finishing 5th and setting a new American Junior Record of 13:25.46. Just in front of him Tegenkamp and Solinsky threw down 53.x final laps with Teg coming out on top in 13:20.57. Training partner and 20 year old Evan Jager finished third. Given the young ages of all, it would seem to bode well for the US in the 5000m in upcoming years.
The 1500m has pretty much gone to form with Rob Myers being the key casualty in the heats. Webb eked in getting second in his heat and Manzano and Lomong also were through easily. Final is Sunday.
Galen Rupp did win the 10,000m in impressive fashion stalking Ritz over the final laps before kicking past with 500m to go. It will be great to see hi run in Europe where he will be pressed by better runners and could get close to the American Record.
Sanya Richards looked very good in her 400's with the final today.
On the other hand, Allyson Felix didn't look so good in her 100's having a very poor start and not being able to close to reach the final. Here's hoping she'll do better in the 200m and sharpen up before Worlds in August.
Barringer chose to run the Steeple and had to deal with a water barrier that was 6 inches too high in her heat. She still won comfortably and the final against Anna Willard is Sunday.
Vessey is through to the final of the 800m with Borza'esque tactics of running near the rear but closing hard.
Flanagan choose to run just the 10,000m and surprise, her competition was not from Kara Goucher but from her training partner Amy Begley. And Begley was sharper than Flanagan out-kicking her with 200m to go to take the title. I'd still look for Flanagan to sharpen by Worlds and be in the running for a medal.
Now, some things I didn't say to look for but were notable.
Kara Goucher did run the 5000m and won easily looking good. She says she will only contest the Marathon at Worlds though.
Carmelita Jeter continued her outstanding 2009 winning the 100m but was pressed by Muna Lee having to go to the photo to pick the winner by 0.001. If Muna is running this well in the 100m, look for her to press and likely beat the current form Felix in the 200m.
Kerron Clement, choosing to bypass the 400m hurdles as he has a bye, ran the 400m and led all qualifiers including Olympic Champ LaShawn Merritt going into today's final. Clement, while a hurdler usually, is the world record holder in the indoor 400m.
With the 200m heats today along with 400m finals and womens 1500m final, should be another entertaining day.
Friday Jun 26, 2009
iPhone Jailbreak App Update
I blogged about upgrading and jailbreaking my iPhone several days ago and noted that several apps I had grown attached to weren't working under OS 3.0. I'm pleased to say that 2 of the 4 that weren't working now are.
Using Cydia, the latest versions of Insomnia and Backgrounder can be installed and seem to work fine. Of course, some of the optional features of Backgrounder aren't working yet, but the basic function to put an app in the background is. Of course, Cydia is confused and keeps telling me there is an available upgrade of Backgrounder,
Unfortunately, Mobile Finder doesn't appear to be updated nor does LogoMe. But Mobile Finder was more of something just to show folks for the Gee Whiz factor and I've got the boot logo I want so not having LogoMe isn't an issue.
I'll update as I uncover more.
Sun Middleware Success Stories
As we near the end of our Q4 our sales force in going full bore on closing deals to help continue the great momentum we've built up around our middleware this year (see the FY09 growth numbers in the "MySQL / Infrastructure" row of slide 5 of the Q3 financial slides). But selling software to customers is not where it ends as each customer is buying the software to help solve a business problem and deliver an ROI and business value for their organization. That is why it is rewarding to see the success stories our terrific reference team publishes on sun.com.
A sampling of some of the recent published stories includes:
Medavie Blue Cross - Implemented an SOA built with Sun products and technologies including GlassFish ESB, OpenSSO, and NetBeans in order to simplify application development and integration increasing agility and flexibility. Listen to the podcast to learn more.
TravelMuse - Innovative travel and vacation site saved $200K in licensing costs and cut hosting costs by 50% through their use of GlassFish Enterprise Server, MySQL Enterprise, and other Sun software and hardware. They too generously created a podcast.
Pretium Telecom - Using GlassFish Enterprise Server and GlassFish ESB, Pretium replaced its existing SOA infrastructure with an open-source model that provides all of the required functionality in a less complex, more flexible framework accelerating development cycles 50% and cutting TCO 50%.
Equifax - Using the full spectrum of software from Sun under a Java Enterprise System subscription, from GlassFish Enterprise Server to the Portal Server to OpenSSO to Identity Manager, Equifax cut costs, increased revenue, and streamlined audits.
Bâloise Insurance - Using Identity Manager, Bâloise created an integrated platform for assigning and approving access based on employee business roles gaining transparency into business and IT roles and reducing provisioning time.
This is just a few of the success stories that we have. Browse the site to see more.
Thursday Jun 25, 2009
US Track and Field Nationals Start Today
The US Track and Field Nationals start today in Eugene Oregon. Besides crowning national champions it will also serve as the qualification for the US team for the World Championships in Berlin in August.
There is a full slate of events on tap, check out the full schedule to see what you might be interested in, but the highlights for me will be:
Can Tyson Gay complete his comeback from injury at Nationals last year and a subsequent poor showing at the Olympics? He ran a fantastic 200m a few weeks ago in his debut (19.58, third fastest ever) and will be running the 100m only at Nationals as he has a bye into both the 100m and 200m at Worlds due to being the defending champion from 2007.
Bernard Lagat will be dropping down to 800m to work on his speed. He has never gone sub-1:46 even with his outstanding 1500m/mile credentials. He also has byes to Worlds in the 1500m and 5000m. It will be tough going against Symmonds, Robinson, and crew.
German Fernandez, what will he run? He is entered in both junior and senior races at distances including 1500m and 5000m. It would be great to see him go up against Tegenkamp and Solinsky at 5000m or Manzano, Lomong, Webb, etc. at 1500m.
Since Lagat isn't running the 1500m, who will step up and perform? Manzano has looked great at times but not at others. Lomong has potential. Webb has only looked ok so far this season. A long list could steal a spot on the team if it is a kickers race and Fernandez could steal it if he runs and it is a steady/fast pace.
Can Galen Rupp win his first national championship? He has had a terrific year already with numerous championships at the NCAA level and is one of the favorites in the 10000m but Abdi will have something to say about it.
Will Sanya Richards redeem herself in the 400m after last years disappointment? She was coming off illness and had issues with rounds last year but looks better this year.
Allyson Felix is doubling in the 100m and 200m so how will she do? Many would love to see her run the 400m against Richards.
What event will Jenny Barringer run? It will probably be just the Steeple and the American Record could fall there, but I'd like to see her run the 1500m where she is the fastest American this year and only the third American under 4:00 ever.
Was Maggie Vessey's 2:00.18 for real and can she step up as our next great 800m runner?
Will Shalane Flanagan double at 5000m and 10000m (or just run the latter) and if so, the duel between her and Kara Goucher at 5000m should be fun.
There is much more and the above is just a sampling, so do tune in. Where you ask? There will be the normal television coverage on Friday, Saturday, and Sunday, but in a new partnership between USATF and Flotrack there will be live and archived streaming video. So you can tune in this afternoon to begin catching preliminaries in many events and the finals of the 10000m tonight.
Enjoy!
Wednesday Jun 24, 2009
links for 2009-6-24: Hidden iPhone Features, AT&T Improving Network, Analysts on Twitter, Zappos goes social
10 Hidden iPhone Features - Quoting fragments in e-mail and additional keyboard shortcuts are most interesting to me.
AT&T Upgrading Equipment - Adding 3G capacity which will be needed with all the new iPhones and other devices being sold.
With the release and all the hubbub about OS 3.0 for the iPhone, it was only a matter of time before I upgraded. However, I was interested in seeing others experience with it and also having the jailbreak for it out before I did the upgrade. Well, I went ahead and did it this weekend and here are the highlights.
First, since I had previously jailbroke and had read about potentially losing storage if one just upgraded over a jailbroke phone, I first restored to a vanilla 2.2.1. And I did this with iTunes 8.1 as I didn't want to upgrade iTunes and cause any problems. This went fine and as expected, I lost all my jailbroken functionality. I also learned that doing a full restore can be very slow with the restoring apps via iTunes seemingly going slower than installing them from scratch via the AppStore.
Since upgrading to OS 3.0 requires iTunes 8.2, I went ahead and let iTunes upgrade itself and then went ahead and let it detect my phone and the OS upgrade and perform it. This all went fine, but oddly after it was done, my battery meter had both the icon and a percentage! On my jailbroken 2.2.1 using SBSettings I was able to have the meter toggle between the icon and a percentage but this was new. In reading some blogs I learned that this is a feature of OS 3.0 but is only supposed to work on the 3G S, but apparently phones that were previously jailbroken also get it. I guess restoring to 2.2.1 doesn't fully "unjailbreak" it. Anyway, I'm glad I have this feature as I like having the percentage.
I restored from my backup to get all my apps and data back, again, very slow, and then went ahead and jailbroke. This went smoothly other than I was unable to pick my boot logo of choice. I wasn't worried though as I had used LogoMe in the past to change the boot logo after jailbreaking. Using Cydia, I installed:
OpenSSH - Can use ssh to connect to my iPhone
Cycorder - Shoot videos without requiring the 3G S
JamVM - Java VM for the iPhone
SBSettings - Shortcuts and toggles for a bunch of features that are otherwise buried in the Settings apps
Five Icon Dock - Allows me to put 5 icons on the dock rather than the stock 4
Mobile Terminal - Get shell access to the phone
Insomnia - Keeps the iPhone's network connection open when the device would otherwise go to sleep, however, the current version doesn't seem to work with OS 3.0 so looking forward to an update
Backgrounder - Allows apps to run in the background, however, the current version doesn't seem to work with OS 3.0 so looking forward to an update
LogoMe - Provides a way to change the boot logo that is displayed, but alas, it too doesn't seem to work with OS 3.0 but see below for workaround
MobileFinder - Provides a Finder app like one has on OS X on the desktop, but alas, it doesn't work with OS 3.0 either
Tricker ThreeG - Fakes applications into thinking they are on WiFi when they aren't so that they give the full WiFi functionality
Qik and UstreamBroadcaster - Apps to stream video to the web
While Tricker ThreeG seemed to work fine, it seems to hardcode the apps that it fakes out so I switched to the app I had previously, VoIPover3G which allows one to specify what apps to fake out.
On the boot logo, I went ahead and went through the jailbreak again this time taking the extra steps to get my logo in the right format so that I could include it as part of the initial jailbreak. That seemed to work fine.
So, I now have OS 3.0 and am jailbroken, although some of the apps I like to use aren't working yet. I'm confident they will be updated soon. As I use it more, I'll blog about some of the new features I come across.
Tuesday Jun 16, 2009
GlassFish ESB Continues to Grow
GlassFish ESB was released earlier this year and included as part of GlassFish Portfolio, but that was just the start as a new minor release, v2.1, has just been made available that continues what was started and adds in some important new capabilities. A sampling of those includes:
Clustering for all components is now supported.
The Intelligent Event Processor (IEP) for performing complex event processing is now included in the installer.
The Scheduler BC is also included in the installer.
Support for NetBeans has been updated to version 6.5.1.
Numerous other enhancements to existing components that you can read in the release notes.
If you'd like to learn more, visit any of the links above or download the software. And if you are interested in being on the bleeding edge and would like to see what is coming in the future, visit Project Fuji where a lighter weight, OSGi based platform is being worked on that blends in scripting and simpler ways to implement an ESB.
links for 2009-6-16: The Future of SOA, Why Solaris Matters, SMS/Text Messages
The Future of SOA - Look for simpler and lighter weight tools and technologies being applied to the enterprise
First, in the Decathlon, Ashton Eaton from Oregon wrapped up the win as expected getting the Ducks 10 important points in the team title. He was on pace for a huge score but a poor showing in the pole-vault put and end to those thoughts but he still won by about 200 points.
The field for the mens 1500m was loaded and the heats did not disappoint with good times and a huge surprise. The first heat went out quick with 3 going under 3:40 led by Craig Miller from Wisconsin, the second heat a more traditional NCAA heat going out slow with a quick last lap won by Garrett Heath from Stanford in 3:44.22, and then the surprise was in the third heat with contenders Coe, Fernandez, and Centrowitz, the latter, the collegiate leader this year and a favorite to win, had a poor showing finishing last, apparently due to a foot injury. That makes the team competition extremely close with Texas A&M now predicted to win by 1 point over Oregon.
The result from the 1500m put even greater importance on the mens 10000m final with favorite Galen Rupp now having to win to not "lose" more points in the race with Texas A&M. He did not disappoint as after Chelanga and Forrest tried to run away at the beginning, Rupp reeled them in and the just followed until it was time to put the hammer down, closing in around 1:59 and 3:01 and he had plenty more. He may need the more in the 5000m tonight where he is again expected to garner the 10 points for the win.
A great writeup on the whole day is here. Coverage is on CBS College Sports tonight and CBS tomorrow. Enjoy!
links for 2009-6-12: MS Money done, iPhone specs, Twitter good for burglars?, EC2, Windows 7
iPhone 3G S Specs - It's going to come out anyway, not sure why Apple is so secretive. But I'm still waiting a year-plus for my contract to expire before I can consider upgrading the device, so just looking forward to OS 3.0 next week.