I try to keep the clutter on this blog to an absolute minimum, I try to attain this by carefully considering what to blog about and by having a personal blog which tries to cover all the non-technical stuff I find relevant to share.
However, sometimes very interesting comes along which does not exactly reside in my knowledge domains but is technical enough to belong here, and hence "forces" me to blog about it in "The Combined Corner".
One such things is The MyLifeBits Project by Mr. Gordon Bell at Microsoft.
Ever try to remember who you bumped into at the store a few days back? Or exactly what the company president said at the morning meeting?
Well, you're not alone. And IBM researchers are working on software that just may help you better recollect all the forgotten pieces of your life.
This week, the company unveiled software that uses images, sounds and text recorded on everyday mobile devices to help people recall names, faces, conversations and events. Dubbed Pensieve, the software organizes bits of collected information, stores them and then helps the user extract them later on.
"Today, we're flooded with information. It's an information overload and we're not capable of handling it," said Eran Belinsky, an IBM project leader. "This would relieve us from the anxiousness or need to try to remember everything. And there's the issue of trouble with recollection. [It's like] your index is broken. You know you know something, but you can't get there. This could help people having trouble with their memory reconstruct their memories."
IBM's project is akin to one that of Mr. Gordon Bell and a couple of other scientists at Microsoft Research have been working on for the past nine years. Bell, a longtime veteran of the IT industry and now principal researcher at Microsoft's research arm, is developing a way for people to remember different aspects of their lives.
MyLifeBits has Bell supplementing his own memory by collecting as much information as he can about his life. He's trying to store a lifetime on his Dell laptop. Collecting telephone conversations, music, lectures, books he's written and read and photographs he's incessantly taken, Bell is amassing a great database of his life.
Interesting stuff... :)
Idealism is what precedes experience; cynicism is what follows...
Showing posts with label Arbitrary Thoughts. Show all posts
Showing posts with label Arbitrary Thoughts. Show all posts
Saturday, August 02, 2008
Sunday, July 20, 2008
Workaholics United : Playing the Percentages
Whenever management lays down some new policies for customers or employees, there will inevitably be some degree of blowback. Any change, from moving to a outsourcing to India to moving furniture from one department to another, disrupts our sphere of comfort.
Since I can’t get away with simply saying, “Well, that’s different from what I’m used to,” I would be inclined to gather some negative results designed to invalidate the new policy. One time I was asked to implement an email autoresponder with text I disagreed with. After a few days, I got a couple of complaints from customers, so I argued to the boss that we should scrap the autoresponder. Referring to the complaints, he asked the question I’d come to expect from him:
“What percentage of the time does this happen?”
I sighed, knowing that not only had I been shot down, but that he was right in principle. I felt foolish telling him that I had received three complaints out of hundreds of email exchanges.
With any new project, some things are bound to go wrong. A zero-defect mentality is a zero-action policy. For practical goal realization, the operative principle should be to contain risk, not eliminate it. A certain amount of risk analysis is healthy. The trick is to identify the point of diminishing returns where further steps to reduce risk are actually attempts to eliminate risk, which is unrealistic.
There’s no formula for determining that point, only an intuition or an arbitrary definition that involves asking an answer certain questions:
* How seriously would the problem impact this?
* What percentage of the time does the problem happen?
* What percentage is acceptable?
* Is the problem irreversible?
* What other problems could happen?
* What steps could be taken to fix the problem?
* What steps could be taken to prevent the problem without abandoning the project?
* What problems would result from abandoning the project?
* Does the positive impact of success outweigh the negative impact of failure?
Psychologically, risk is “contained” when it’s given precisely the amount of attention appropriate to it, not more. The focus is predominantly on the likelihood of a negative outcome rather than the details of it. Problems are converted into projects, defined in terms of successful outcomes and next actions.
Recognize the difference between creating slack and being a slacker. Define your margin for error and embrace the art of strategic failure as a practical price to pay for accomplishing bigger goals.
Since I can’t get away with simply saying, “Well, that’s different from what I’m used to,” I would be inclined to gather some negative results designed to invalidate the new policy. One time I was asked to implement an email autoresponder with text I disagreed with. After a few days, I got a couple of complaints from customers, so I argued to the boss that we should scrap the autoresponder. Referring to the complaints, he asked the question I’d come to expect from him:
“What percentage of the time does this happen?”
I sighed, knowing that not only had I been shot down, but that he was right in principle. I felt foolish telling him that I had received three complaints out of hundreds of email exchanges.
With any new project, some things are bound to go wrong. A zero-defect mentality is a zero-action policy. For practical goal realization, the operative principle should be to contain risk, not eliminate it. A certain amount of risk analysis is healthy. The trick is to identify the point of diminishing returns where further steps to reduce risk are actually attempts to eliminate risk, which is unrealistic.
There’s no formula for determining that point, only an intuition or an arbitrary definition that involves asking an answer certain questions:
* How seriously would the problem impact this?
* What percentage of the time does the problem happen?
* What percentage is acceptable?
* Is the problem irreversible?
* What other problems could happen?
* What steps could be taken to fix the problem?
* What steps could be taken to prevent the problem without abandoning the project?
* What problems would result from abandoning the project?
* Does the positive impact of success outweigh the negative impact of failure?
Psychologically, risk is “contained” when it’s given precisely the amount of attention appropriate to it, not more. The focus is predominantly on the likelihood of a negative outcome rather than the details of it. Problems are converted into projects, defined in terms of successful outcomes and next actions.
Recognize the difference between creating slack and being a slacker. Define your margin for error and embrace the art of strategic failure as a practical price to pay for accomplishing bigger goals.
Saturday, July 19, 2008
21 laws of Programming
1. Any given program, once deployed, is already obsolete.
2. It is easier to change the specification to fit the program than vice versa.
3. If a program is useful, it will have to be changed.
4. If a program is useless, it will have to be documented.
5. Only ten percent of the code in any given program will ever execute.
6. Software expands to consume all available resources.
7. Any non-trivial program contains at least one error.
8. The probability of a flawless demo is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
9. Not until a program has been in production for at least six months will its most harmful error be discovered.
10. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
11. The effort required to correct an error increases exponentially with time.
12. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
13. Any code of your own that you haven’t looked at in months might as well have been written by someone else.
14. Inside every small program is a large program struggling to get out.
15. The sooner you start coding a program, the longer it will take.
16. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
17. Adding programmers to a late project makes it later.
18. A program is never less than 90% complete, and never more than 95% complete.
19. If you automate a mess, you get an automated mess.
20. Build a program that even a fool can use, and only a fool will want to use it.
21. Users truly don’t know what they want in a program until they use it
2. It is easier to change the specification to fit the program than vice versa.
3. If a program is useful, it will have to be changed.
4. If a program is useless, it will have to be documented.
5. Only ten percent of the code in any given program will ever execute.
6. Software expands to consume all available resources.
7. Any non-trivial program contains at least one error.
8. The probability of a flawless demo is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
9. Not until a program has been in production for at least six months will its most harmful error be discovered.
10. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
11. The effort required to correct an error increases exponentially with time.
12. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
13. Any code of your own that you haven’t looked at in months might as well have been written by someone else.
14. Inside every small program is a large program struggling to get out.
15. The sooner you start coding a program, the longer it will take.
16. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
17. Adding programmers to a late project makes it later.
18. A program is never less than 90% complete, and never more than 95% complete.
19. If you automate a mess, you get an automated mess.
20. Build a program that even a fool can use, and only a fool will want to use it.
21. Users truly don’t know what they want in a program until they use it
Labels:
Arbitrary Thoughts,
Best Practices
Tuesday, June 17, 2008
Google Browser Sync Discontinued in FF 3
If you are as sad as I am that Google have decided to discontinue further development of the Google Browser Sync, please dont hesitate to sign the petition...
You can read about Google's decision here...
http://googlesystem.blogspot.com/2008/06/google-browser-sync-to-be-discontinued.html
And sign here...
http://www.ipetitions.com/petition/googlebrowsersyncff3/
You can read about Google's decision here...
http://googlesystem.blogspot.com/2008/06/google-browser-sync-to-be-discontinued.html
And sign here...
http://www.ipetitions.com/petition/googlebrowsersyncff3/
Labels:
Arbitrary Thoughts,
Events,
Firefox,
Google
Monday, June 16, 2008
Introducing acrobat.com
Adobe has recently launched acrobat.com !
Uncertain what the fucture may bring, its quite interesting to see whats gonna happen with this initiative...
Check it out...
http://www.adobe.com/acom/
Uncertain what the fucture may bring, its quite interesting to see whats gonna happen with this initiative...
Check it out...
http://www.adobe.com/acom/
Sunday, May 11, 2008
Jesse Liberty's rules for examples...
Reading about Silverlight 2, I stumpled upon Jesse Liverty's rules for examples, they are simple and almost universal...
Judge for yourself...
1. Keep it simple enough that the example totally focuses on what you are trying to illustrate (but no simpler)
2. Try to use something like business objects rather than cute animals or game objects
3. Don’t show off how clever you are, break the code down into small digestible parts.
4. Use interim variables; they’re easier to catch in a debugger
5. Strip away all exception and error handling and bullet proofing unless you are teaching exception handling, error handling or bullet proofing.
6. Use great variable names so you need fewer comments, but don’t convince yourself that means you don’t need any.
7. Show the output
8. Make no apologies (except when you’re wrong)
Thanks, Jesse... for letting us laymen get access to some of the experience you have gained from writing those 10+ technical books about programming :)
Judge for yourself...
1. Keep it simple enough that the example totally focuses on what you are trying to illustrate (but no simpler)
2. Try to use something like business objects rather than cute animals or game objects
3. Don’t show off how clever you are, break the code down into small digestible parts.
4. Use interim variables; they’re easier to catch in a debugger
5. Strip away all exception and error handling and bullet proofing unless you are teaching exception handling, error handling or bullet proofing.
6. Use great variable names so you need fewer comments, but don’t convince yourself that means you don’t need any.
7. Show the output
8. Make no apologies (except when you’re wrong)
Thanks, Jesse... for letting us laymen get access to some of the experience you have gained from writing those 10+ technical books about programming :)
Labels:
Arbitrary Thoughts,
Best Practices,
Code Design
Saturday, May 10, 2008
Innovation Peak, when ?
According to Watts Humphrey in his work called "Managing for Innovation" the innovative peak for engineers and scientists occurs two times in a life time.
The first peak happens in the early twenties, which is not much of a surprise as its common knowledge, however there exist a common belief that once innovative skills decrease over the years which W. Humphrey seems to disprove.
It appears that the decrease over the years are less significant than most think. And as an encouraging thought for the seniors out there, it appears that a second and much later peak occurs in the mid- to late-50s. He claims directly that this double-peak occurs among all the groups of engineers and scientists and that the dip in between is not very significant.
He continues to argue that the late 30s and early 40s is a highly stressfull period, but once creative people pass this hurdle, they will continue their creative work for many years... he sums it by pointing to an all american icon, Edison, seeing that many of Edison's 1.100 inventions were produced later in his 84-year life.
Good news for us that intend to stay in the creative and innovative part of the software industry for many years.
The first peak happens in the early twenties, which is not much of a surprise as its common knowledge, however there exist a common belief that once innovative skills decrease over the years which W. Humphrey seems to disprove.
It appears that the decrease over the years are less significant than most think. And as an encouraging thought for the seniors out there, it appears that a second and much later peak occurs in the mid- to late-50s. He claims directly that this double-peak occurs among all the groups of engineers and scientists and that the dip in between is not very significant.
He continues to argue that the late 30s and early 40s is a highly stressfull period, but once creative people pass this hurdle, they will continue their creative work for many years... he sums it by pointing to an all american icon, Edison, seeing that many of Edison's 1.100 inventions were produced later in his 84-year life.
Good news for us that intend to stay in the creative and innovative part of the software industry for many years.
Thursday, December 06, 2007
WinToMac : Its begun !
The day before yesterday my latest attempt to climb up of the Microsoft hole I feel into 11 years ago arrived with the mail...
It consisted of a...
- Mac Mini (Fully loaded configuration)
- a sizzling 23" Mac display
- a set of the Wireless Mighty Mouse and the Wireless Keyboard (2008 edt.)
- an Elgato TV Link (Hybrid variant)
Initial setup was a bliss (even the Bluetooth Mouse and KB didn't incur any difficulty - spoken as a true windows user, I guess - because I guess the MAC people wouldn't even consider having difficulty with such a non-productive action) and after updating from the pre-installed OSX edition to the new Leopard edition via the included update CD I was installing the TV link without any hazzle whatsoever.
After apr. 20 minutes (the OS update took 15 of them) I was up and running including having my wireless network connection configured and gained access to all my shared windows drives on the network.
So far so good... I will keep you posted as I go down the path from Windows to Mac.
It consisted of a...
- Mac Mini (Fully loaded configuration)
- a sizzling 23" Mac display
- a set of the Wireless Mighty Mouse and the Wireless Keyboard (2008 edt.)
- an Elgato TV Link (Hybrid variant)
Initial setup was a bliss (even the Bluetooth Mouse and KB didn't incur any difficulty - spoken as a true windows user, I guess - because I guess the MAC people wouldn't even consider having difficulty with such a non-productive action) and after updating from the pre-installed OSX edition to the new Leopard edition via the included update CD I was installing the TV link without any hazzle whatsoever.
After apr. 20 minutes (the OS update took 15 of them) I was up and running including having my wireless network connection configured and gained access to all my shared windows drives on the network.
So far so good... I will keep you posted as I go down the path from Windows to Mac.
Wednesday, October 31, 2007
RIA : Is this Web 3.0 ?
Taking a step back from the ever occurring deadlines and technical challenges that lurch around every corner, it becomes evident that RIA may have a more significant nature than it may seem at first sight.
Not everyone agrees on exactly what Web 2.0 entails. As with all great buzzwords and concepts, people are already predicting what Web 3.0 will be. Will rich internet applications dominate it?
RIAs are still in their infancy, but when done right they're incredibly powerful tools. When Google launched Google Maps a few years ago, it opened people's eyes to the fact that web browsers can do much more than merely display pictures and text.
Currently, there are four mainstream mechanisms being used to develop RIAs.
AJAX/JavaScript
AJAX is a web development technique for using JavaScript with XML to create a rich internet application by dynamically and asynchronously exchanging data in the background without having to refresh the page. Google Maps and Gmail demonstrated what could be done with simple existing technologies like JavaScript and XMLHttpRequest. Google, Microsoft and Yahoo! all now promote their own AJAX toolkits to assist in building AJAX-rich media functionality.
Flash/Flex
The first horse in the RIA race was Flash. Adobe/Macromedia with its Flash/Flex infrastructure is still the leader in online video. Combining the programming capabilities of Flex makes an incredibly powerful toolset for creating internet applications. Flash has strong penetration and when used effectively can enhance your website.
Silverlight/.NET
Microsoft is barreling ahead with Silverlight, a browser plug-in to deliver interactive web applications that should be taken seriously. The company launched Silverlight earlier this year and is promoting it heavily to its large partner development network. Silverlight is delivered to a browser via XAML, which is a text-based markup language. This makes it easier for search engines to scan Silverlight vs. Flash.
OpenLaszlo
Finally, even though you don't see it much, there's an open-source platform for RIAs called OpenLaszlo. Initially developed as a proprietary system by Laszlo Systems, it was made open source in 2004. Not wanting to be left out of the RIA race, IBM--consistent with its embracing of Linux and other open source--has helped propel OpenLaszlo. The company worked with Laszlo Systems to use the open source Eclipse development platform with OpenLaszlo. Applications for OpenLaszlo can be run in Flash or in DHTML.
One current issue with Flash is that while search engines can index it, they don't index it as well as with text because Flash is a binary compiled file. That's why most websites aren't entirely created in Flash. Accessibility and keyboard navigation can be issues with these rich applications as well. If you don't have a mouse or can't use one, then you'll have problems with these technologies. Also, while the plug-ins have sizable browser penetration, they're problematic for some users.
What It Means for You
What does all of this mean for business owners in the Web 2.0 era? For the tech entrepreneur it means new opportunities. Many traditional client server applications are being pressured to move their applications to the web. Entrepreneurs can potentially displace client server apps with new innovative web applications. For other entrepreneurs, you have to evaluate your business and what specific benefits you can get from adding rich features to your website.
Ever Evolving
There will be other emerging technologies in the RIA area. The combination of these rich features will help trends like social networking continue to evolve. We'll likely see many websites with more drag-and-drop-type features in the next few years. The online/offline office also will continue to develop as predominant internet companies compete with Microsoft Office for the next generation office applications. Web applications will continue to become more robust and feature rich than ever before.
Note:
Copyright © 2007 Entrepreneur.com, Inc.
...and thanks to Frank Bell for his input.
Not everyone agrees on exactly what Web 2.0 entails. As with all great buzzwords and concepts, people are already predicting what Web 3.0 will be. Will rich internet applications dominate it?
RIAs are still in their infancy, but when done right they're incredibly powerful tools. When Google launched Google Maps a few years ago, it opened people's eyes to the fact that web browsers can do much more than merely display pictures and text.
Currently, there are four mainstream mechanisms being used to develop RIAs.
AJAX/JavaScript
AJAX is a web development technique for using JavaScript with XML to create a rich internet application by dynamically and asynchronously exchanging data in the background without having to refresh the page. Google Maps and Gmail demonstrated what could be done with simple existing technologies like JavaScript and XMLHttpRequest. Google, Microsoft and Yahoo! all now promote their own AJAX toolkits to assist in building AJAX-rich media functionality.
Flash/Flex
The first horse in the RIA race was Flash. Adobe/Macromedia with its Flash/Flex infrastructure is still the leader in online video. Combining the programming capabilities of Flex makes an incredibly powerful toolset for creating internet applications. Flash has strong penetration and when used effectively can enhance your website.
Silverlight/.NET
Microsoft is barreling ahead with Silverlight, a browser plug-in to deliver interactive web applications that should be taken seriously. The company launched Silverlight earlier this year and is promoting it heavily to its large partner development network. Silverlight is delivered to a browser via XAML, which is a text-based markup language. This makes it easier for search engines to scan Silverlight vs. Flash.
OpenLaszlo
Finally, even though you don't see it much, there's an open-source platform for RIAs called OpenLaszlo. Initially developed as a proprietary system by Laszlo Systems, it was made open source in 2004. Not wanting to be left out of the RIA race, IBM--consistent with its embracing of Linux and other open source--has helped propel OpenLaszlo. The company worked with Laszlo Systems to use the open source Eclipse development platform with OpenLaszlo. Applications for OpenLaszlo can be run in Flash or in DHTML.
One current issue with Flash is that while search engines can index it, they don't index it as well as with text because Flash is a binary compiled file. That's why most websites aren't entirely created in Flash. Accessibility and keyboard navigation can be issues with these rich applications as well. If you don't have a mouse or can't use one, then you'll have problems with these technologies. Also, while the plug-ins have sizable browser penetration, they're problematic for some users.
What It Means for You
What does all of this mean for business owners in the Web 2.0 era? For the tech entrepreneur it means new opportunities. Many traditional client server applications are being pressured to move their applications to the web. Entrepreneurs can potentially displace client server apps with new innovative web applications. For other entrepreneurs, you have to evaluate your business and what specific benefits you can get from adding rich features to your website.
Ever Evolving
There will be other emerging technologies in the RIA area. The combination of these rich features will help trends like social networking continue to evolve. We'll likely see many websites with more drag-and-drop-type features in the next few years. The online/offline office also will continue to develop as predominant internet companies compete with Microsoft Office for the next generation office applications. Web applications will continue to become more robust and feature rich than ever before.
Note:
Copyright © 2007 Entrepreneur.com, Inc.
...and thanks to Frank Bell for his input.
Subscribe to:
Posts (Atom)
Blog Archive
-
▼
2008
(123)
-
▼
August
(11)
- This blog have been moved...
- IDEFactory... currently in Beta… soon in production…
- RSL and the lack of a build-in map over class-defi...
- Adobe Flex training in a nutshell: Flex in a Week
- Guice (pronounced 'Juice')
- Curved Scrollbar
- .NET Reflector... no more Lutz Roeder
- ClassMappings between WebORB and Adobe Flex
- The other Adobe Flex ACE's in Europe
- I got my Adobe Community Expert (ACE) designation ...
- The MyLifeBits Project
-
▼
August
(11)
My Network
-
-
Stop dragging me into board meetings - Dear Reader : This might be a bit more NEGATIVE than you’re used to. Apologies about that. I love to chair startups and companies, but I hate 95% board m...11 years ago
-
Design practice makes perfect - Evidence gained from research is powerful. It can persuade the most stubborn board members if presented in a way where decisions can be made based on facts...12 years ago
-
-
dutch vs danish politics - First reaction: glad I don’t live there. And then I made this comparison. It doesn’t differ that much actually. CDA 14% – Konservative 10% VVD 21% – Venstr...16 years ago
-
The Next Web – Timothy Ferriss - First speaker on the last day of The Next Web was Timothy Ferriss, author of the ”4-Hour workweek”. I don’t know what I was really expecting from a guy who ...16 years ago
-
Links for Motorcycle enthusiasts - MC travel-blogs: Must see: http://www.kccd.no/ http://4qconditioning.blogspot.com/ Danish blogs: http://www.ossianbuilds.blogspot.com http://wrenchmonkees....16 years ago
-
New Arduino project - I found myself a new Arduino project – an automated car! Well how to go about this. My best approach was to get a cheap RC toy car from the local toy store...17 years ago
-
Unrecognized selector sent to instance - As you may or may not know, I do iPhone/Cocoa touch now... While playing around with something this evening I stumbled across something I thought I'd share...17 years ago
-
-
-
-
-
-
-
About Me
- Peter Andreas Molgaard
- Copenhagen, Denmark
Labels
- Adobe Flex (62)
- Events (28)
- Best Practices (27)
- ActionScript 3.0 (16)
- Adobe AIR (15)
- Tools (15)
- Workaholics United (14)
- PV3D (10)
- Arbitrary Thoughts (9)
- PureMVC (7)
- Adobe Flex SDK (6)
- Adobe Max (6)
- Methodology (6)
- RIA (6)
- State Machines (6)
- .NET (5)
- Adobe Flex Builder (5)
- DFUG (5)
- Google (5)
- WebORB (5)
- Data Visualization (4)
- Flash Platform (4)
- Independent Thinking (4)
- Process (4)
- SEO (4)
- Silverlight (4)
- Adobe Flash Player (3)
- Code Design (3)
- Flash Player (3)
- HCI (3)
- MAC vs. PC (3)
- Microsoft (3)
- Performance Optimization (3)
- Stockholm (3)
- Undocumentation (3)
- Visual Studio (3)
- Windows Workflow Foundation (3)
- ACE (2)
- AUG (2)
- Adobe Thermo (2)
- Ajax (2)
- Bug Report (2)
- Cairngorm (2)
- Commerciel (2)
- Documentation (2)
- Estimation (2)
- Firefox (2)
- Google Gears (2)
- London (2)
- Morphable Interfaces (2)
- SVN (2)
- SoftwareEngineering (2)
- Test (2)
- Admin (1)
- Adobe Flex Adobe Flex Builder (1)
- Facebook (1)
- Graphics (1)
- Hardware (1)
- HelloGroup (1)
- IEEE (1)
- Outsourcing (1)
- Training (1)
- XAML (1)