There's a Christmas Tree Waiting in the Shadows...
Tuesday, September 30, 2008 at 11:51 PM Posted under
You didn't see it come in the room because it was brought in as a tiny seed 20 years ago and grew slowly over the years, right under your nose!
But now, christmas is approaching, lights are being wired, and the tree will become what it was meant to be in the first place.
Let's turn on the tree lights!
Let's give way to Linked Data!
Ho ho ho ho ;)
mIRI xmas!
The Apple, The Snake and The Strengthening Mind
Tuesday, September 23, 2008 at 12:00 AM Posted under
I am a Zen practitioner. Although each day a little bit less...
One thing that has caught my attention lately is how my Internet time is inversely proportional to the ease with which I can practice meditation in any shape or form.
This makes sense if you consider that most meditations, in particular Zazen, use physical stillness as an anchor to divert attention from the mind. Once attention is drawn away, thoughts usually fall like dry leaves.
In this context, the Internet acts like fertilizer for my thoughts. They are stronger than ever! And they raise higher into new levels of abstraction ( this is also probably in part because of programming and KR&R ).
Or maybe I am developing a Wi-Fi sense of some kind ;) ( neuronal plasticity and electric cortical sensing still have unexplored boundaries you know ).
One thing is clear... we are becoming one endlessly chatting family that says "no sir" when you ask permission to be dismissed.
Beware sinners!
Beware of the proverbial apple and the snake... thou whilst be cast from paradise!


Why I Work On The Internets
Monday, September 22, 2008 at 5:50 PM Posted under
( And for the headache thing, try Google )
A Million Lines of Code from Base Camp
Thursday, September 18, 2008 at 5:23 PM Posted under Labels: Software Architecture
I have been splitting and refactoring a monstrous codebase into small chunks. Some of it into opensource projects.
Common sense says it should be faster to refactor and reorganize than to code in the first place. Right?
Humm. Not necessarily.
That depends on how careful you were on your way up.
Gravity is a double edged sword. You better watch your step and hope for your nuts and bolts to be firm ( unit and regression tests ) and that you laid out the route correctly ( architecture, separation of concerns, dependencies ).
Ah, and did you know that 80% of fatal accidents happen on the way down?
( Hehe. Nice thought to have at this point )
See you at base camp ;)
A Simple Micro-Team Structure for R&D
Sunday, September 14, 2008 at 6:59 PM Posted under
When leading high tech innovation projects you usually face some recurring problems:
- How do you exert indirect pressure for requirement freeze?
- How do you transition from R&D to factory?
- How do you improve the team's autonomy and release the lead innovator?
The Innovation Module Micro-Team
I call the following 3-man configuration an "Innovation Module", consisting of one lead developer and two wings:
In this setup, the lead ( top ) is normally a subject expert who keeps tight contact with the customer and is given a preponderant weight in the team. The role of the other elements initially is mainly to support and offload the lead, remove roadblocks, fix bugs and undertake blocks of well-defined tasks. This is a highly agile structure for early stages of innovation and high customer contact and works particularly well with small scoped, specialized projects.
Dynamics and Evolution
The distribution of work is dependent on the stage, overall flux of requirements and complexity of the project. If an initial requirements gathering phase is taken and requirements are defined to great extent, then more work can be routed to the “wing” developers and lead appears sparsely. The more they stay in flux, the more work that has to go through the lead.
This is a way to transfer some control on innovation, design and research overhead to the customer so he can make adjustments regarding their own involvement and their commitment to the requirements ( lead time is usually much, much more expensive ). Therefore, this is an effective way to exert indirect pressure.
As the project evolves throughout agile iterations and specific business requirements become clearer, the team can move onto a different PMO supported structure and adopt a more scalable product oriented methodology such as Scrum (which we use internally for product development) to undertake more requirements across more projects.
In an ideal situation, the lead developer will be eventually replaced by a generic, shared project manager or PMO, and he will be free to bootstrap a new Innovation Module somewhere else.
Conclusion
I know of similar approaches, but this is my extreme simplification. Keeping it simple allows me to fit it into other methodologies, get the message across to the customer and remember the core principles.
Recursive Blog Post
Friday, September 12, 2008 at 9:44 AM Posted under Labels: Funny
Hey Googlebot, look! ----> a Recursive Blog Post!
( I mean, there has to be a way to kill Google, right? )
Writing Tidy Emails using Footnotes and Shortened URLs
at 8:29 AM Posted under Labels: uncategorized
I am a bit tired of getting unreadable emails full of inline links...
Take the following example:
Hi Myself,
I just wanted you to know that I ( http://aldobucchi.com/ ) wrote a piece on writing emails with links ( http://blog.aldobucchi.com/2008/09/writing-tidy-emails-with-using.html ). I hope it provides you with ideas on how to keep your emails short and clean.
You'll notice the links get in the way and bloat the message, making it hard to read. The longer the message, the worst the situation.
There are two ways to solve this:
Use Inline Shortened URLs
Hi Myself,
I just wanted you to know that I[http://bit.ly/221Jq3] wrote a piece on writing emails with links[http://bit.ly/4EYyRg]. I hope it provides you with ideas on how to keep your emails short and clean.
Best,
Me
You can argue that these short URLs still get in the way. Yeah, but they are short! And, what's just as important, they don't contain words with any meaning. This means they don't confuse you while reading the message in a linear fashion.
Try to read "I ( http://www.example.com/sites/people/guywithabike.html ) love you".
Use Footnotes
Hi Myself,
I just wanted you to know that I[1] wrote a piece on writing emails with links[2]. I hope it provides you with ideas on how to keep your emails short and clean.
Best,
Me
[1] http://aldobucchi.com/
[2] http://blog.aldobucchi.com/2008/09/writing-tidy-emails-with-using.html
Tip:
If you're writing a long email with five or more links, chances are you will be moving paragraphs around for a while and it will be hard to keep track of the actual order of the footnotes.
What I do to solve this is to leave the links in their actual inline positions till the final revision of the email ( right before sending it ), and only then refactor them down to the footnotes, one by one ( copy paste, and take note on the next number ).
Conclusion
Not much to say. I confess I just wrote this post so I can politely point people who write me bloated emails this way ;)
If you don't know which one to use: I normally use the latter in academia ( I think it is a habit inherited from paper footnotes ) and the former when talking to business clients ( who find footnotes irritating ).
Ah, and if you're thinking: "this is the reader's problem", you're absolutely wrong.
In today's information overloaded era, hard to read messages will be most probably scanned, poorly assimilated and discarded. You are the one writing the email in the first place... YOU are the one who wants to get the message across.
mx:Bindings on Steroids
Tuesday, September 09, 2008 at 3:09 PM Posted under Labels: as3, BigFlexLib, flash, Flex, MXML, opensource, useful code
OK. The title is way too much.
This is just runtime binding ;)
Problem
You need to setup a binding on runtime, where the properties of the binding are themselves dynamically binded and can be swapped. This is currently not possible with mx:Binding as it is evaluated at compile time.
Solution
Use the RuntimeBinding tag, which uses the same semantic as the mx.bindings.BindingUtils.bindSetter and mx.bindings.BindingUtils.bindProperty methods.
<binding:RuntimeBinding
site="{targetObject}"
prop="targetPropertyName"
host="{hostObject}"
chain="label.color"
/>
You can also pass a reference to a setter function and/or specify a different value for commitOnly:
<binding:RuntimeBinding
site="{setValue}"
host="{label}"
chain="text"
commitOnly="{true}"
/>
Any of the properties can be swapped at runtime. This will cause the binding to be reevaluated and the internal change watcher to be reset.
This class is part of the BigFlexLib project.
Dynamically Binding to a Style in Flex
at 2:59 PM Posted under Labels: as3, BigFlexLib, flash, Flex, opensource, useful code
Problem
You need to bind a value to a style ( not a property ). This is not currently allowed, as the only way to set a style is through the setStyle( ) method,
Solution
Use the StyleBinding tag from BigFlexLib
<styles:StyleBinding
target="{myComponent}"
style="color"
value="{data.color}"
/>
As expected, this will internally call myComponent.setStyle('color', data.color) whenever data.color changes.
Dr. Todd: The Real Life Laser Man
Monday, September 08, 2008 at 2:48 PM Posted under Labels: personal, uncategorized
I was going through some notes scribbled on an old passport and I found these words:
It took me a while to remember where it came from. An then it struck me.
Oh, how could I forget it in the first place!
Rewind.

Precisely one year ago, Cafe 976, San Diego California. It's the middle of Summer. I'm sitting in my usual spot, with my usual cup of coffee doing my usual after lunch tasks.
As usual, a beautiful girl walks in and my eyes get drawn away from the screen for a couple of seconds. I look around to make my peeking a little less obvious and, without really meaning it, I end up dead staring at the guy right next to me for a little longer than I should have.
He had a friendly invitational smile in his face, and I was very intrigued by his evidently intelectual look. So I just jumped in and asked... "Hey, what are you working on?"
The guy next to me was Dr. Todd Ovokaitys, and he was working on a patent application.
Luckily, I used to study Medicine and I have always been fascinated by biochemistry and genetics, so I could relate to what he said from that point on. Dr Todd was also kind enough to bring things down to my level when necessary and the conversation went through smoothly and developed for hours.It was an extremely interesting conversation ( for me at least ;) and we touched on many different things.
Well, I guess I cannot tell you exactly what we talked about, but just for the sake of completeness, and because I think he has one the coolest jobs on earth, I will give you a brief summary of what I understand Dr. Todd is doing today ( from what is publicly disclosed ):
First of all, he is working with Laser Technology. If you consider that the word "laser" can even make "skin imperfection removal" sound cool, then imagine how interesting it can be to use Lasers to play around with the fundamental biological building blocks: Proteins and DNA.
In specific terms, he is using laser electromagnetic resonance to modify the structural ( and therefore functional ) properties of biologically relevant proteins. This process has all sorts of ramifications and applications. Some of these applications have simple and immediate practical uses, such as the enhancement of transport, specificity and delivery of nutrients through the modification or combination of vitamins and other dietary elements with selected co-factors.
You can actually buy these laser-boosted supplements from his company: Gematria.
The core invention that enables this process is formally called: a "holographic temporal displacement prism for the non-fringing phase conjugate interference of light".
Now, if you think that such a name is overkill for nutritional supplements.... you're probably right ;)
This is actually a generic process that may well go way beyond vitamins.
For anyone who has spent hours in a lab working with proteins and complex sequential enzimatic processes ( unfortunately, I have ) to activate cell surface receptors, this kind of "a la carte" structural modification tool is not short of a holy grail.
In fact, given that the actual process is induced through a very specific and highly penetrating kind of laser ( thanks to a novel wave structure ) and requires no infiltration or chemical processing, it apparently can be applied in-vivo as well. This means that some proteins could even be modified, or cells' surface chemistry altered, without removing them from your blood stream! And this is where imagination takes off... so many possibilities ( AIDS? ).Quoting, from their website:
This new laser optical technology has been patented worldwide as U.S. 6064500 and worldwide patent WO 09722022A1.
When ordinary laser light in the visible spectrum interacts with tissue there is intense scattering such that a coherent signal cannot penetrate more than 5mm. Sparse constructive nodes are ultra-brief wave summation signals that spark in and out of existence deeply in tissue or an otherwise scattering medium, with 6-20cm projection even through bone predicted. The duration of the pulse is just long enough to excite specific desired molecular stimulation, yet brief enough not to nonspecifically heat target molecular structures.
Global applications patents have been submitted for "The Use of Sparse Constructive Nodes (of electromagnetic energy) for the Selective Modulation of Cell Surface Chemistry." This general applications patent covers the use of the laser technology to activate and enhance desired cell chemistries in vitro and in vivo.
Ah. I almost forgot.
What does all this have to do with the words in my passport?
It turns out that at some point in the conversation I asked him if he wasn't afraid that his technology could someday be used for evil. After all, it is not hard to think how enhanced cofactors or in-vivo modifications of bio-protein structure and function can be used with not-so-good purposes.
Specifically, I asked him if he was considering what might happen if he lost direct control of his legacy. Which is something that, we all know, is inevitable in the long term.
-"Someday", I said, "You are going to die, aren't you"
And that's when I remembered:
These are very interesting times!
$3.4M for a SemanticWeb based Browse/Discovery company?
Friday, September 05, 2008 at 1:04 PM Posted under
I don't usually Echo. But this one caught my attention. From Venturebeat.
Semantinet, an Israeli company working on a browsing product incorporating semantic technology, has taken a first round of funding totaling $3.4 million.
There aren’t many details yet on what Semantinet’s product will look like. The company has only said that it is working on “software enabling the discovery of new information as part of the natural browsing experience.”I went over to the website and they say they're launching Sep2008. I'm sure keeping an eye on this one...
Selective and Incremental RDF Parsing for Memory Critical Thin Clients
at 4:26 AM Posted under Labels: Linked Data, rdf, semantic web, semanticflash, User Agents
When working with Linked Data directly from a thin client (which involves loading tons of published RDF files) it is often the case that you end up loading and parsing tens of thousands of triples into memory of which you only actually require a small amount for display and processing.
For example, most generated RDF documents from DBPedia contain multiple translations of their literal values.
If you are loading hundreds of these documents, this can become a serious issue from a memory management and processing standpoints.
We are now tweaking the parsers in SemanticFlash to support some sort of granular tuning so that they can be instructed to skip complete sub-structures in the AST processing phase according to simple declarative rules.
How important is this?
Well, suppose you just want to meshup some markers on a map with labels and a small description from wikipedia. In this particular case ( Cambridge ), you would end up processing and storing 546 triples instead of just two!
( want to see how these 546 triples look like? )
And now multiply that for 100 markers. That's 54600 triples, and probably a couple of MBs of memory (consider the literals). And that is assuming you are not running any inferences or rule-based processing on the data, which would make this even more expensive.
OK, you get the point.
In the future we will explore some literal compression techniques, Bitmap Indexing and Storage and how we can make get this sort of behavior interact with incremental loading and federated querying to offload working memory to a maximum.
But it is a tricky problem in the end.
I have experimented with this in the past and the Open World Assumption's non-determinism starts knocking on the door as soon as you throw in some inference and smushing. Bottomline is that it is impossible to stay totally monotonic AND OWA friendly AND cope with finite memory resources. Old problem. New face.
Remember: The Web of Linked Data is Huge. Your User Agent is Not.
WorldBank Data as Linked Data Please
Thursday, September 04, 2008 at 6:15 PM Posted under Labels: Linked Data, rdf, semantic web
TBD: http://developer.worldbank.org/ + http://linkeddata.org/
( $20 Bucks OpenLink gets there first )
Functional Analysis of an Umbrella
at 4:32 PM Posted under Labels: Funny, uncategorized
Today I found myself walking in the rain through crowded downtown streets, and I realized that there is something that is simply wrong about Umbrellas.
...Especially when you're not carrying one.





