- Company Sues MPEG-LA, Claiming Antitrust Violations Over Patents - Is it just sour grapes from Nero or has MPEG-LA not held up their end of their deal with the DoJ?
- Database daddy goes non-relational on NoSQL fanbois - VoltDB, perhaps offering the best of both worlds?
- Google vs. Apple in the battle of the fanboys - Is Apple playing catch up? This years WWDC will tell us for sure.
- Is Android destined to be the Windows of smartphones? - Informative piece that highlights Google getting into mobile back in 2005.
Tuesday, May 25, 2010
links for 2010-05-25: MPEG-LA sued; Stonebreaker's VoltDB; Apple playing catch-up?; Android to be "Windows" of phones?
Friday, May 21, 2010
links for 2010-05-21: Sayonara iPhone; Google and Adobe gang up on Apple
- Sayonara, iPhone: Why I'm Switching to Android - "The Android OS is already outselling iPhone OS in the United States. Now it's blowing past Apple in terms of the technology it's delivering." "What makes this even more insulting is that Jobs tries to dress up his selfishness as a kind of altruism. He says it's all about creating a beautiful experience, that while he may be selling you an intentionally crippled device, he's doing it for your own good."
- Strange Bedfellows, Google And Adobe Gang Up On Apple - It was a bit of a change from day 1 to day 2.
Thursday, May 20, 2010
links for 2010-05-20: Android on the iPhone; Google IO; Conan visits Google
- VMware’s Cloud Portability Promise Powered By Google - One of the announcements out of Google IO was their working with VMware to offer Java via SpringSource in the cloud. This is Stefan Ried's analysis.
- The Mall of Google - Jeffrey Hammond's analysis of Google IO day 1.
- Conan visits Google - Entertaining if you have the time to watch it.
- How to install Android on your iPhone - I haven't tried it yet, but thinking about it ...
Tuesday, May 18, 2010
links for 2010-05-18: Oracle releases new version of MySQL Enterprise; Amazon stealing the Cloud; Book on Facebook; Future of Development; Flavors of Cloud Computing
- Oracle Announces Immediate Availability of the Latest Release of MySQL Enterprise - But press release only mentions MySQL Enterprise Monitor 2.2. No new server yet, but a beta was announced at the MySQL conference.
- Amazon is stealing the Cloud - Some interesting stats and survey numbers listed.
- The Age Of Facebook: Excerpts From The New Book By David Kirkpatrick - Interesting insights into how they started and Zuckerberg's unwillingness to cash out.
- Understanding the many flavors of Cloud Computing - If you are confused by all the *aaS's.
- Beyond Cassandra: Facebook, Twitter and the Future of Development - Is the data or code valued more?
Monday, May 17, 2010
links for 2010-05-17: Google I/O is the new JavaOne; Government using the Cloud; Caspio = Access + Cloud?; Jobs engages blogger
- Google I/O is the new JavaOne - Google I/O is this week. Will it become "the" developer conference superseding the new, not at Moscone, JavaOne Oracle puts on in the fall?
- Recovery.gov finds new home in the cloud - It is good to see the government saving the taxpayer a little money by using the cloud.
- Is Caspio The "Microsoft Access" Of The Cloud? - Interesting tool for simple query (and presumably full CRUD) applications.
- VMware/SpringSource buys GemStone - I worked with their Smalltalk offerings in the past and really liked them.
- Steve Jobs engages blogger via e-mail - Kudos to Jobs for engaging, but I still think Apple goes too far in "protecting" their users.
Thursday, May 13, 2010
Event Processing in the Cloud - Combining Esper with AWS SNS
The folks at Amazon Web Services released their Simple Notification Service in beta a little over a month ago, and I used it to create a loosely coupled weather notification system by publishing weather events to an SNS topic. It is working great, but I started to think of other types of situations I'd want to monitor and have notifications for, and what better way to process these weather events than with a Complex Event Processing (CEP) engine? While I could keep extending my shell script, that would be a bit of a hack and I wanted something cleaner that would more easily last the test of time.
Event processing is in many ways a natural extension of messaging infrastructure as the latter is typically used for the passing of events between systems and so having an easy way to plug in or use an event processor makes a lot of sense. In my case, I wanted to be able to feed periodic weather observations, the raw events, into the messaging infrastructure, then be able to dynamically define the processing rules for those events, and then be able to publish any notifications or "complex events" back into the messaging infrastructure where I could then subscribe or receive them for e-mail/SMS notifications or to kick off other processes or logic.
So, how to put this all together? There are CEP engines from many of the major middleware vendors, but on my shoestring budget I wasn't about to go spend 5-6 figures on software just to process events for my weather station! At Sun, as part of the OpenESB project we had developed the Intelligent Event Processor in open-source so it was a natural choice, but it requires the complete ESB infrastructure and can't run standalone. As I was already using SNS for my messaging and was aiming to make what I created Cloud friendly (see below), I didn't want to bring along an entire ESB, so I needed something else. Another open-source CEP engine I was familiar with is Esper, and after a quick refresher on its capabilities, I decided it would be perfect.
Esper provides a simple to use but very powerful Java API for configuring the events, queries, patterns, etc. and so I set about creating the interface between SNS and Esper. What I ended up building has the following capabilities:
With this created, I was then able to easily configure the following:
The further beauty of this is that while I happen to have this running on my server at home, because of the way it is built using SNS and HTTP, it could be located anywhere on the internet whether hosted on EC2 or your favorite provider, or a "Cloud CEP" service available to all.
Note also that what I've written is by no means tied to SNS either. It just happens to be Cloud based messaging infrastructure that is convenient to use and gives the benefits of loose coupling. The input to my Cloud CEP is just an HTTP request and I've written an e-mail and HTTP handler so that generated events can go direct as well instead of going to SNS.
So what do you think? Do you have scenarios where a Cloud CEP would be useful? Would you like to try out what I've built thus far? Feel free to leave a comment or contact me at kschmidt at techrunning dot com.
Event processing is in many ways a natural extension of messaging infrastructure as the latter is typically used for the passing of events between systems and so having an easy way to plug in or use an event processor makes a lot of sense. In my case, I wanted to be able to feed periodic weather observations, the raw events, into the messaging infrastructure, then be able to dynamically define the processing rules for those events, and then be able to publish any notifications or "complex events" back into the messaging infrastructure where I could then subscribe or receive them for e-mail/SMS notifications or to kick off other processes or logic.
So, how to put this all together? There are CEP engines from many of the major middleware vendors, but on my shoestring budget I wasn't about to go spend 5-6 figures on software just to process events for my weather station! At Sun, as part of the OpenESB project we had developed the Intelligent Event Processor in open-source so it was a natural choice, but it requires the complete ESB infrastructure and can't run standalone. As I was already using SNS for my messaging and was aiming to make what I created Cloud friendly (see below), I didn't want to bring along an entire ESB, so I needed something else. Another open-source CEP engine I was familiar with is Esper, and after a quick refresher on its capabilities, I decided it would be perfect.
Esper provides a simple to use but very powerful Java API for configuring the events, queries, patterns, etc. and so I set about creating the interface between SNS and Esper. What I ended up building has the following capabilities:
- A simple (HTTP/JSON) API for dynamically configuring the events and queries/statements in the engine.
- Receives events from an SNS topic via HTTP and feeds them into Esper. The publisher of the raw events just publishes to the SNS topic like it was before and I just create a new subscriber for the CEP engine, thus leveraging the beauty of a loosely coupled messaging system.
- Esper processes the events per the configured queries. As the queries generate results, the results are published to a specified SNS topic which can result in a notification e-mail or kicking off some other process or logic, again leveraging the decoupled nature of SNS.
With this created, I was then able to easily configure the following:
- I had an existing script called by cron every 10 minutes that sent the weather observation to the Weather Underground. I added a few lines of code to this script to publish the observation to an SNS topic as well.
- I created a subscription to the SNS topic that notifies the event processor using HTTP/JSON of each event.
- I configured my "Cloud CEP" with the following JSON to define the events it would be receiving:
- I configured a query to use for processing the events, this one telling me the high and low for the past 24 hours every 12 hours at midnight and noon, and sending the result to the specified SNS topic. The statement is Esper's SQL like syntax for specifying queries:
- I then created a subscription to the WeatherEventOutput topic to send myself an e-mail.
{ "Type": "EventConfiguration", "Name": "WeatherEvent", "Fields": [["temp", "double"], ["humidity", "double"], ["dewpoint", "double"]] }
{ "Type": "ListenerConfiguration", "Name": "Every 12 hours high and low", "Statement": "select max(temp) as High, min(temp) as Low from WeatherEvent.win:time(24 hours) output at (1, */12, *, *, *)", "ActionType": "SNS", "SNSTopicArn": "arn:aws:sns:us-east-1:444520459559:WeatherEventOutput" }
The further beauty of this is that while I happen to have this running on my server at home, because of the way it is built using SNS and HTTP, it could be located anywhere on the internet whether hosted on EC2 or your favorite provider, or a "Cloud CEP" service available to all.
Note also that what I've written is by no means tied to SNS either. It just happens to be Cloud based messaging infrastructure that is convenient to use and gives the benefits of loose coupling. The input to my Cloud CEP is just an HTTP request and I've written an e-mail and HTTP handler so that generated events can go direct as well instead of going to SNS.
So what do you think? Do you have scenarios where a Cloud CEP would be useful? Would you like to try out what I've built thus far? Feel free to leave a comment or contact me at kschmidt at techrunning dot com.
links for 2010-05-13: Ellison on fixing Sun; Fragmenting Linux a bad thing; Apple's cache waning?; Infinity; SAP acquires Sybase
- Ellison on how he is fixing Sun - He doesn't hold back on pointing out Sun's pre-acquisition flaws. It is unforgivable if they are all so easily fixed.
- Fragmenting Linux is not the way to beat Apple - But will the vendors using Linux as the core of their mobile strategy align?
- Is Apple's cache waning? - The iPhone 4 announcement in June will tell us a lot in answering this question.
- Android's army passes iPhone OS, says NPD - The jump seems pretty big when comparing with other research from 2009, but the trend is clear regardless of the actual numbers.
- Infinity - The Hilbert Hotel - If you ever wondered what infinity squared is, this one is for you.
- SAP acquires Sybase - This is a reflection of being a software vs hardware company, but Oracle pays $7.4B for Sun with >$10B in revenue while SAP gets Sybase for $5.4B with about $1.2B in revenue
Wednesday, May 12, 2010
links for 2010-05-12: Apple update for iPad WiFi woes; Flash not a CPU hog?; Microsoft responds regarding HTML5/H.264; Rich Green CTO at Nokia; Oracle Office; Adaptive PaaS
- Apple Plans Software Update For iPad WiFi Woes - Adjust your screen brightness to solve WiFi issues?
- Top Flash Misperceptions : Flash is a CPU Hog - Hopefully the performance issues on Mac are addresed with the API access, but a related issue (to me at least) is that Flash is now used in places it isn't needed so its performance compared to HTML5 is accurate at times.
- Microsoft responds to questions about stance on HTML5/H.264 - Not that this will end the debate, but interesting to see Microsoft respond as I don't expect Steve Jobs to issue a followup to his remarks. Read Ed Bott's analysis.
- Rich Green Nokia's new CTO - I was wondering where he might end up.
- Oracle Office on sale - A lot cheaper than Microsoft Office for sure, but now a perpetual license not a subscription like it was under Sun.
- Adaptive PaaS - Interesting thought on what PaaS needs to do to gain momentum.
Friday, May 7, 2010
links for 2010-05-07: Red Hat vs VMware; Cloud washing; Netflix selects AWS; Android in iPhone 3G
- VMware and Red Hat: The war for the data center - Increasingly overlapping portfolios force them to compete. VMware's next acquisition SUSE Linux to get an OS?
- May the cloud washing begin: Enterprise software giants graze on cloud startups - "The burden of cloud computing proof rests with the large enterprise software folks. Your job will be to distinguish from mere cloud washing and real IT value."
- Netflix Selects Amazon Web Services to Power Mission-Critical Technology Infrastructure - They'd been using AWS for more than a year but are expanding their use.
- Android now running on the iPhone 3G - It is still a bit rough (no audio support, but coming in days the story says), but getting close to being able to really run Android on an iPhone 3G
Wednesday, May 5, 2010
links for 2010-05-05: Apple's control freakishness; Chrome update; SOA embraced; Android tablets; Solinsky AR splits
- The upside to Apple's control freakishness - I like this from Tim O'Reilly: "It is becoming increasingly clear that the Internet is becoming not just a platform, but an operating system, an operating system that manages access by devices such as personal computers, phones, and other personal electronics to cloud subsystems ranging from computation, storage, and communications to location, identity, social graph, search, and payment."
- Google Chrome update: Speed, performance and a deeper push into browser computing - Upgraded, still had it freeze on me once, but now it pops up a dialog telling me what page is the culprit and I had Flash enabled at the time.
- Just as vendor-speak turns from SOA, the users are actually embracing it - No surprise here. Vendors and analysts are always talking about the next great thing while there is a lot of money to be made just delivering and implementing the last thing.
- Android based tablets on their way - Already running Flash and Air.
- Chris Solinsky's splits from his 10000m AR - It appears he could have run faster with more even pacing! Bodes well for his 5000m AR attempt at the Pre Classic in July.
Tuesday, May 4, 2010
links for 2010-05-04: IBM acquires Cast Iron Systems; Scaling open-source; Browser market share; Software patents are good ... for lawyers; Google's cash; Open Data; Android on your TV
- IBM acquires Cast Iron Systems - IBM making more of a push into the Cloud. Another set of thoughts.
- Open-source support: Can it scale? - "Enterprises turned to open source to shave money in the economic downturn and are staying with it now to drive greater innovation and productivity."
- Browser market share: IE drops below 60% - Every browser other than IE shows a growth trend (Opera interestingly seems to have plateaued though), particularly Chrome.
- Browsers: Does minimalist win the race? - ZDNet speculates on why IE is losing share and Chrome is gaining. A few quotes: "Tech geeks aside, people are more interested in web content than they are the browser" and "... Chrome just kind of blends into the background".
- Patent Litigation Weekly: MobileMedia's Unusual Patent Infringement Campaign - Give it away free or let folks use it for free to get adoption, then swoop in and sue. Nice.
- Google at a loss for what to do with cash? - They'd have to do a lot of acquisitions to spend $26.5B!
- The Future of Open Data - Some interesting ideas. I have to admit that I've run across data sets where I have made changes or cleanup and what Stephen describes would work better than just sharing the Google Spreadsheet I've done in the past.
- Ready for Android on your ... TV? - Not really a surprise as TV's are a natural for being connected and a platform for new types of apps.
Monday, May 3, 2010
links for 2010-05-03: Apple/Adobe debate brings in Microsoft; More on HP/Palm; iPhone envy erased by Droid Incredible; iPad reaches 1M sold
- IE9 HTML5 Video Will Be H264 Only - Microsoft supporting H264 (they are part of MPEG LA so that's natural) but don't seem to be quite as opposed to Flash as Apple.
- Mobile is the New Desktop: The HP/Palm Q&A - Stephen's take on the acquisition. Also see Cote's and James' to complete the RedMonk trifecta.
- HP: Is it spreading itself too thin in the IT wars? - They do cover a lot of different areas now. Too much?
- Top 10 ways the Droid Incredible killed my iPhone envy - The author has given up waiting for the iPhone on Verizon and it appears for good reason.
- Apple sells 1M iPads in 28 days - But there is still ample demand for the iPad it would seem.
Sunday, May 2, 2010
Is Flash costing the American public money in electricity costs?
There has been much furor about the lack of Flash on the iPhone, iPod Touch, and iPad with Apple espousing a number of reasons for that, a key one being performance and resource utilization. I wrote about my experience with Flash and some minor improvements a beta of 10.1 seems to bring, but I've observed that even when not watching video, with the number of sites that use Flash for other things the CPU is actually quite busy when one would think it would be idle (i.e. I'm not actively browsing).
To test this out, on a Mac I opened up several windows, each with several tabs opened to sites I'll typically have open during the day including Gmail, Google Calendar, Blogger, ESPN.com, StatCounter, ZDNet, and a handful of others. I also watched a Dodger game on MLB.com for a bit but closed that window and left the computer basically idle but with the tabs still open in my browser.
At this point the Shockwave plug-in was using about 2-3% of the CPU, not bad. But 20 minutes later of just sitting otherwise idle, the plug-in was using 10% of the CPU. During this test I did not wait significantly longer, but previously I've seen the plug-in using 15-20% of the CPU while the machine is seemingly idle.
So, even at a conservative 10% of the CPU being used unnecessarily by Flash on an idle machine, one has to then wonder what that is doing to the power consumption of the machine. A little quick research revealed that moderate usage of a desktop uses 30-50 watts above idle and a laptop 10-15 watts above idle. If moderate use is 20-30% CPU, then our 10% CPU is going to be using around 10 watts on average.
Let's keep doing more math to see where this takes us. The current population of the US is just over 307 million and 76.2 computers per 100 people that is roughly 234 million computers. If only 10%, or 23.4 million, are used on a daily basis and when they are used 10%, or 2.34 million of them visit sites each day for an hour that use Flash and have this CPU waste, that is 23,400 kilowatt hours each day, or 8.54 million per year.
To make that number more meaningful, at an electricity price of $0.10 per kilowatt hour, the use of Flash is costing the American public $854K per year. And the 10%'s and single hour I used above are likely clearly on the low end of what the actuals are and my analysis ignores computers used at work. So the actual cost is likely well into the millions. In the grand scheme of things, $854K isn't that much for the entire country, but it is still sobering to think about.
Now, is this all Adobe's fault? If their software is indeed buggy and inefficient they do shoulder some of the blame, but I would argue that Flash is likely used in many situations it isn't needed and that it is poorly written Flash apps that is a big factor too. Poorly written AJAX apps running in your browser could cause the exact same issues.
So what can one do about it? Well, you can choose to do nothing as it is really only costing you at most pennies in extra electricity costs (although what about wear and tear on your computer from heat and the fan running?), but your other alternatives are to not install the Flash plug-in and forgo benefiting from sites that use Flash, or installing a Flash blocker. I've done the latter and it blocks all Flash applets by default but allows you to white-list sites or selectively enable specific applets.
Using the blocker it is interesting to see what sites use Flash and the list includes Google Mail, ESPN.com, ZDNet, java.sys-con.com, StatCounter, and more. Do each of these really need to use Flash?
To test this out, on a Mac I opened up several windows, each with several tabs opened to sites I'll typically have open during the day including Gmail, Google Calendar, Blogger, ESPN.com, StatCounter, ZDNet, and a handful of others. I also watched a Dodger game on MLB.com for a bit but closed that window and left the computer basically idle but with the tabs still open in my browser.
At this point the Shockwave plug-in was using about 2-3% of the CPU, not bad. But 20 minutes later of just sitting otherwise idle, the plug-in was using 10% of the CPU. During this test I did not wait significantly longer, but previously I've seen the plug-in using 15-20% of the CPU while the machine is seemingly idle.
So, even at a conservative 10% of the CPU being used unnecessarily by Flash on an idle machine, one has to then wonder what that is doing to the power consumption of the machine. A little quick research revealed that moderate usage of a desktop uses 30-50 watts above idle and a laptop 10-15 watts above idle. If moderate use is 20-30% CPU, then our 10% CPU is going to be using around 10 watts on average.
Let's keep doing more math to see where this takes us. The current population of the US is just over 307 million and 76.2 computers per 100 people that is roughly 234 million computers. If only 10%, or 23.4 million, are used on a daily basis and when they are used 10%, or 2.34 million of them visit sites each day for an hour that use Flash and have this CPU waste, that is 23,400 kilowatt hours each day, or 8.54 million per year.
To make that number more meaningful, at an electricity price of $0.10 per kilowatt hour, the use of Flash is costing the American public $854K per year. And the 10%'s and single hour I used above are likely clearly on the low end of what the actuals are and my analysis ignores computers used at work. So the actual cost is likely well into the millions. In the grand scheme of things, $854K isn't that much for the entire country, but it is still sobering to think about.
Now, is this all Adobe's fault? If their software is indeed buggy and inefficient they do shoulder some of the blame, but I would argue that Flash is likely used in many situations it isn't needed and that it is poorly written Flash apps that is a big factor too. Poorly written AJAX apps running in your browser could cause the exact same issues.
So what can one do about it? Well, you can choose to do nothing as it is really only costing you at most pennies in extra electricity costs (although what about wear and tear on your computer from heat and the fan running?), but your other alternatives are to not install the Flash plug-in and forgo benefiting from sites that use Flash, or installing a Flash blocker. I've done the latter and it blocks all Flash applets by default but allows you to white-list sites or selectively enable specific applets.
Using the blocker it is interesting to see what sites use Flash and the list includes Google Mail, ESPN.com, ZDNet, java.sys-con.com, StatCounter, and more. Do each of these really need to use Flash?
Chris Solinsky shatters the 10000m American Record
An historic event occurred last night at Stanford as Chris Solinsky ran 26:59.6 to shatter the American Record that was 27:13.98. It was a fabulous run but what was more surprising was that this was his debut at the distance and the race had been billed as Galen Rupp's attempt to break the record and Chris upstaged the runner from the sister training group. Also, Chris becomes the first non-African born runner under 27 minutes.
The IAAF story above has a good recounting of the race and you can see Flotrack's finish of the race but a quick summary is the rabbits took it through mid-race on 27:10 or so pace and then Rupp took over the lead and pulled everyone along with Chelanga, Salel, and Solinsky close behind (Bairu may have been there too). Rupp made a move with 3 or so to go, Solinsky went with him and passed him with about 2 to go and closed in about 1:56. Rupp finished 4th in 27:10, breaking Meb's former AR time, but Salel and Chelanga beat him, Chelanga setting a new Collegiate Record.
Quite an impressive race, especially considering it was his debut, but clearly shows he is likely in sub-13 5000m shape which it appears is his goal for the year, or rather breaking Dathan Ritzenhein's AR of 12:56 is the goal. He'll be running one in Oslo in early June and then another at the Pre-Classic in July.
It is shaping up to be a great summer for American distance running. Look for Rupp to come back strong and Matt Tegenkamp who went sub-13 last year should have a another go at the AR. Enjoy!
The IAAF story above has a good recounting of the race and you can see Flotrack's finish of the race but a quick summary is the rabbits took it through mid-race on 27:10 or so pace and then Rupp took over the lead and pulled everyone along with Chelanga, Salel, and Solinsky close behind (Bairu may have been there too). Rupp made a move with 3 or so to go, Solinsky went with him and passed him with about 2 to go and closed in about 1:56. Rupp finished 4th in 27:10, breaking Meb's former AR time, but Salel and Chelanga beat him, Chelanga setting a new Collegiate Record.
Quite an impressive race, especially considering it was his debut, but clearly shows he is likely in sub-13 5000m shape which it appears is his goal for the year, or rather breaking Dathan Ritzenhein's AR of 12:56 is the goal. He'll be running one in Oslo in early June and then another at the Pre-Classic in July.
It is shaping up to be a great summer for American distance running. Look for Rupp to come back strong and Matt Tegenkamp who went sub-13 last year should have a another go at the AR. Enjoy!
Subscribe to:
Posts (Atom)