Sunday, December 23, 2007

Seeking entertainment by looking at technology failures

Sometimes going to a website and seeing web technology working to make your interaction pleasant is interesting. But more and more I've been enjoying myself looking at when things fail. Today's example is an old one: Google News.

Google tries to do the almost impossible: match news so that you can look at one single headline and then follow the details on many different news sources. It works well on a number of cases, like when all the news sources get the information from the same place. However, on less-covered areas, it has always tried to match stories that have very little in common. Unfortunately links are hard to provide, as all stories are kind of dynamic, but I'll give a hint: look at Science and Technology. As I'm looking right now, here are some things I see:

Headline: This year in technology
Link 1: Mountain of discarded mobiles grows at 'frightening' rate
Link 2: Record mobile phone spending in 2007

Interesting connection there, huh? Here is another one:

Headline: IPhone Sales: 5 Million Down, 5 Million to Go?
Link 1: Apple's Jobs May Surprise With Slim Mac, New IPhone (Update1)
Link 2: Firms settle annuity

It's interesting that's a technology that was in "Beta" for many years. Now it's not in Beta any more, but seems to have still exactly the same problems. Maybe people just don't care enough. As long as it still makes people click on their ads, it's valid. I've actually learned that sometimes having a bad experience in your "local" system makes people click on ads more often. Maybe people just want to find an excuse to run away from your site into something potentially better.

Thursday, December 13, 2007

Deeply annoyed with Netflix

I'm a Netflix subscriber, but not a very big user. I don't watch that many movies, so I visit their website quite infrequently. However, tonight it's the third time that I try to go there to add or remove something and I get the wonderful message:

"The Netflix web site is temporarily unavailable due to scheduled maintenance.
It is anticipated that the site will be available again at 2:30 AM Pacific time.
We apologize for any inconvenience this causes you. You can contact Netflix Customer Service at 1-888-638-3549.
Please visit us again soon."

Excuse me, but I'm a client. If they have a "scheduled maintenance" they have to schedule it with me! That's how things should work. That's how things are done where I work. And that's why Amazon does not have "scheduled maintenance" of their website. You just keep it up. Shutting a website down for over 2 hours!!! That's just a sign of bad engineering. No wonder when I interview candidates I see that people have very little knowledge of how to design systems with high availability. Performance, sometimes. But availability...

Anyway, if I was the only person that used my Netflix account I would be very tempted to just cancel it tonight. It's convenient, it's really not very expensive, but I just don't like to support bad engineers.

Wednesday, December 05, 2007

Online purchasing - hard?

Sometimes I'm amazed by how some people just can't get the online purchasing experience right. Today I was renewing my IEEE membership and... It was hard! They pre-set everything that is in your current membership and then they have this "promotions" page that for each entry and sub-entry, there is a potential dropdown box (that is actually a popup) to let you choose promotions that are relevant to your purchase item. However, I think they forgot to include the manual on what each promotion means. For example (unfortunately I have finished the process already and I didn't really capture a real example):

By my IEEE Computer Society membership, when I opened the promotion popup I received a list that looked like this:

Name - Description
JJ-994M -
JJ-98B -
ABC-09 -


Anyway, I just gave up on trying any of their promotions and checked out with exactly the same I currently have: IEEE Computer Society, IEEE Intelligent Systems Society, print version of the Transaction of Knowledge and Data Engineering and the Intelligent Systems Magazine.

I haven't been reading papers lately as much as I did in the past, but I still do from time to time. So, I'll stick around until maybe I decide that I'll become poor and buy a house, then I won't be able to spend $600 on that any more.

Friday, November 30, 2007


It's actually interesting when you do something or look at something with very low expectations and they surprise you. I had this happen to me twice yesterday in completely different things:

1. Tchaikovski's Nutcracker: Talk about over-played pieces, especially during holiday season... So yesterday I went on a concert with the Seattle Symphony and they played excerpts from the Nutcracker. So, not only it was a piece I just heard too many times to be excited about, but they were doing one of my pet peeve: only playing "selected parts" of it. Yes, I know the nutcracker is not that "consistent", but in any way... It was actually a very good performance. Conducted by Rossen Milanov, the guest conductor for the concert, it was like listening to professionals do something that you've only seen done by amateurs. And note that I've watched the Nutcracker at the Teatro Colon before. Everything was in tune, note transitions were precise, and specially, note duration and dynamics were very noticeably clean. Very interesting.

2. Amazon's Kindle: Yes, I don't have one and don't plan to buy one any time soon (well, it's sold out right now anyway). I have been hearing about it for quite some time and when it released I have to say I wasn't very impressed. It didn't seem very user-friendly. But one thing dawned on me when I was comparing it to the best seller in this industry, the Sony Reader: it has a much larger selection and, more interestingly, it's a self-sufficient device, much more like a book. In the other readers you had to really buy your book on the computer and then connect the device to the computer to upload the book to the device. With the wireless option in the Kindle, this is gone. And that's what probably will be the winning feature.

The new iPod touch, with WiFi, has also the same behavior of being able to buy and get music without needing a computer. But it is missing the "free wireless" component and the fact that music you want to accumulate much more than books. So you will quickly hit the barrier of the device size.

Anyway, it's time for me to go for a long day today.

Thursday, November 29, 2007

My life

It's been some time I haven't written too much about how my life is going, huh? Well, I still won't write much here, but everything is moving alright. It's always easy to find things to be stressed about; things to be annoyed about; and not necessarily that easy to find things to be excited about. But I'll try to focus on the excitement (although people say that writing down what you are excited about is actually bad for you):

- It's winter here, so it's fun!
- Trips, trips and more trips ahead.
- No more activity on my credit, so it means that whoever stole a piece of my identity didn't do much with it (besides spending $18)
- It's 1 AM and I'm still awake!
- I've been reading a lot of interesting books! More on them some other time.

Yes, I do have a life. It might be isolated from many people, but it's still moving forward. And now I should go and... have dinner.

The two lives of social networkers

Lately I have been amazed about what kind of features social networking sites are adding. This includes things like, as I've mentioned before, showing what you have done on the web automatically to your friends. This assumes that your friends will be influenced by it and do the same, thus generating advertisement for the company and money on the social networking site's pocket.

But what I think people don't quite understand yet is that there are lots of types of social network connections, and each works differently. It's not sufficient for me to say "he is my friend". I have to say "he is my friend, but our relationship is only work-related. So that if I befriend somebody from work, I don't start to spam them with messages like "hey, I bought my new lizard!" or "I wished I could afford this new Mac laptop...". But it would be alright if they saw that I'm currently reading something like "Tapping into Unstructured Data: Integrating Unstructured Data and Textual Analytics into Business Intelligence", which most of my other friends wouldn't care about.

What is the consequence of it? Fundamentally: people get afraid of actually doing stuff online, because you don't know how people will interpret it. People get bored by the 90% of the things you do that aren't that interesting (and each person's 90% is different) and stop paying attention. The final conclusion is that the business just doesn't work very well any more.

Solution? If I was a semantic web guy, I would say: add semantics to your friendship connections. Then, by gathering semantics of your activities, you can create more powerful and robust "filters" to partition your life correctly.

But I'll pretend I'm not a semantic web guy and say: just let people choose. Create a few types of categories, like "professional", "personal", "family", "fan", "joe that I decided to accept in my network" and then allow mutual filtering (not only I can filter somebody out of some types of data, but somebody can choose to be filtered out of some type of data). Give people simple choices and help them choose. There is lots of money to be made in this business.

Sunday, November 18, 2007

Telling the difference between MP3 compression rates

If you feel like you have a few minutes to spare (something I don't, but I spent them anyway), you should give this a try:

Are all MP3s Equal, by Dave Munger

It's an interesting experiment on:

- The quality of your speakers/headphones
- Your ability to see the difference between audio compression parameters for the same compression algorithm.

A more complete study would include:

- More types of music (I remember hearing quite a difference between music that has too much silence and music with too much equal noise)
- More compression algorithms (this makes it even harder to judge, but it's interesting to put them side-by-side on different types of music)

As most people, it's easy to tell what is the 64K compression. The rest becomes more subjective. I found that I was barely able to tell any difference between the other two using my speakers, but with my headphones (Sennheiser), I was able to sense something. Not very huge difference, but there was something there.

The funny thing would be to find out that there was no difference and people were making it up because he said there would be three different compression rates.

Friday, November 16, 2007

Facebook in the news

It's disturbing how much social networking systems are the center of all attention right now. It's like the keynote speech that I've heard on last year's SIGIR: the way you see the world will change, because everything you do and everybody you meet will be transparent to everybody without them having to ask you for it. I've talked about this in the past. But some people are taking this concerns to a different level:

In Facebook's Brilliant but Evil Design, Joshua Porter points out that because Facebook ulterior motives are financial (they can tell what, out of the things you've done, should be told to your friend because it will generate more money to them), the experience sharing might actually hurt your social status. And because you don't have much of an option with all the great "you are opted in by default" behavior of social networks out there, you can't really control it.

Makes me a little scared to tell you the truth. Our society is changing in front of us. Initially, we were exposed to product ads based on word of mouth only. So things that came to you were filtered by your friends based on their experience with it. Then came the newspaper, radio and TV, where everybody would be exposed to ads that were considered effective to a large population. It was a very messy "weapon". But we had still the word-of-mouth to filter out this mess and still give you good suggestions.

Now we are moving towards a world where word-of-mouth is being automated for you based on what is more likely to affect you. It doesn't mean that it will always give you bad products. Not all products will be using the fact that you like to buy things with shiny boxes. But it will increase the noise in the word-of-mouth channel. Then what is next?

Saturday, November 10, 2007

Some interesting stories

Again, I don't have much to talk about. I've been annoyed most of the morning by crashing eclipse, so I decided to read some articles. Every time I do that, I find interesting things. So I decided to keep the interesting stories for myself and post some that might not be as interesting, but will hopefully prove to be valuable for your day:

Yellowstone is rising - Gives me a complete new perspective on what was happening under me when I was there.

DBpedia - Yes, not really an article, just something I wished worked better than it actually does. the "promise" of combining OpenCyc and Wikipedia (and some other data sources) with semi-well-structured data is exciting. I just don't think the data is there. You can query for information about the Eifel Tower, but when you query simple things like the list of all universities in Brazil, you get something like 25 hits. There are way more than that

Moving on... I've tried to write my thoughts about OpenSocial, but it's quite hard to write something with such an abstract API. I think that it will just turn quickly into a mess when social network websites start to actually expose their data and people will realize how different the data from each website is and how hard it will be to actually write any code that will take advantage of that and will be portable across sites. But we'll see. I don't plan to be a widget builder. I'm actually always annoyed by UI building when I have to do it...

Just to finish with something to keep people busy, one of the most interesting "blog posts" I read every week is Talis's Week in Semantic Web collection of links. It's interesting what they find and collect there. Worth visiting (if you care about it).

Monday, October 29, 2007

FriendFeed continued

So I actually got a FriendFeed account! You can check my feed at:

My current "services" are:
  • This blog
  • Google reader
  • LinkedIn
  • Netflix queue
  • SmugMug
Now you can see how boring I am.

Sunday, October 28, 2007


Why haven't I seen this coming:


It's a site (currently in private Beta, so I can't really give too many details) that aggregates all the public information it can get from people you consider your friends. You can see what this person added to their Amazon wish list, what they have posted on their blogs, YouTube... And even some things that I didn't even know you could monitor: shared links on Google Reader, favorite songs on, things that you dug on Dig... It's quite scary the amount of personally-tied information available out there.

But the concept of the site is quite good, in my opinion. If you have a bunch of friends that are highly connected and use web tools all the time, it would certainly be quite cool to get a feed on what they are up to. I know I miss blog posts from friends of mine all the time (well, ignoring the fact that most of my friends gave up on their blogs - what a shame).

What is the most exciting thing about it for me is that it doesn't limit you to a system. MySpace, orkut, and probably Facebook probably can provide this kind of updates for you in their system; but they can't provide what happens outside their system.

On the other hand, what worries me is that amount of different places that you have to go to keep your list of friends up-to-date. You have to sometimes go through multiple-step registering processes to get each person into the system. And then there is the upkeep (which is probably much more complicated in the case of keeping track of friends' actions on the internet). But we will see. I signed up for Beta testing it and I'll let you know how this turns out.

Thursday, October 25, 2007

The silly A380

So the Airbus 380 from Singapore Airlines finally took off. It's silly:

Video from National Geographic

Certainly a tech geek's paradise on this configuration. Unfortunately I won't be seeing any for a long time (and probably won't be willing to pay the price to travel in any for even longer)

Wednesday, October 24, 2007

Last one for the evening

Alright, I had to post this other ones:

New "Meme": Manly or Self-Sufficient?
Do Good Things

Those are related: lists of things you should do before you die. Lots of things there that I haven't yet done, of course. On the first lists, I can even claim I have done most of them. The final list is much more interesting though. Here is the list with my comments:

1. Found a utopian colony. - that you find every day
2. Integrate by parts. - I've done that way too many times
3. Decode the Voynich manuscript. - hehe
4. Defy gravity. - what is gravity, anyway? There is no spoon...
5. Recover lost treasure. - Treasure is such a vague word
6. Translate the pre-Socratics. - Another good thing to do on your spare time
7. Make love on the 50-yard line. - ok...?
8. Raise a pig and make sausage from it. - Can it be a dog?
9. Lead a witness. - I'll work on that
10. Outrun a bear. - I won't work on this one
11. Raise a point of order. - politics...
12. Memorize Paradise Lost. - memory?
13. Swoon. - That I don't remember...
14. Wake up in Vegas in a stranger’s house. - What happened there is a thing of the past
15. Collapse a wavefunction. - Also something that I've done way too many times
16. Run for public office. - Sorry, I can't
17. Resign in disgrace. - Hehe
18. Prove Fermat’s Last Theorem. - Can't do that, or else people will forget about poor Fermat
19. Hack into NORAD. - No comments about this one. Who knows who is reading this?
20. Problematize a binary opposition. - cool
21. Square the circle. - much more interesting
22. Kiss in anger. - huh?
23. Batten a hatch. - Sports?
24. Unscramble an egg. - Well, it's just a matter of what is an egg
25. Donate to charity. - cheap plug

Resign in disgrace... That's my next goal!

Tuesday, October 23, 2007

The importance of sleep

In my general "I don't want to go to sleep" evening, while going around reading articles, I came across this interesting report on Scientific American:

Can Lack of Sleep Cause Psychiatric Disorders?

I can't say I'm very surprised by the results shown here, but I just thought it was ironic to be posting this less than 6 hours before my alarm will go off and I'll have to wake up. So I had to do it.


Tonight, instead of going to sleep after a quite intellectually busy day, I decided to use my Alpha account to Freebase and give it another try. If you are not aware of Freebase, here is my summary: it's a website that was built to allow people to create and maintain structural data about things freely. It's very web 2.0-y, with lots of annoying AJAX that half-work, but are quite powerful.

There are many ways to review this website. I'll try to touch a little on each of them:

1) Interface: as I mentioned, it's quite annoying. It's full of hover javascript actions, with double clicks, single clicks, objects that appear when they want to appear... In a way, they had very good ideas, but javascript is still an unpredictable beast. Sometimes it works great, sometimes it's so slow (especially when you are doing AJAX calls to determine what you should show when the user has his/her mouse on top of the element) that it makes it just hard to use. So, great ideas, not very great execution.

2) Features: it's actually quite interesting feature-wise. It contains three different "core" elements: types, elements and attributes. All have hierarchies. Elements can have as many types as they need. Also types makes it so that you can select which attribute to fill in for an item. Only after adding a type that contains the attribute, you can add the attribute to the item. What is its fallacy? Simple: it contains a data representation model. When you constrain yourself to something, like the explicit separation between elements and types, you are restricting what type data you can represent. Also, their representation user interface does not help you to create aggregator elements. So, if you want to say that a person did a job between two specific dates, you are out of luck.

3) Data: It's not that easy to tell how their data is. They did a general import from wikipedia, and most articles that I've seen come directly from there. User contributions are harder to find. So, everything that came from wikipedia isn't very well-structured and not necessarily authoritative. Also, because of limitations on how to represent things, you can find the same data repeated, or very similarly defined with different models. For instance, I was trying to look into Mstislav Rostropovich. He was set as a musician, but not a conductor or cellist. So, my first task was to add those types. After I've created Cellist, I've seen that other people have used conductor and cellist as professions and not "is-a". Which is valid, but just a different model. And those examples are everywhere.

My conclusion: it's an interesting experiment, but it lacks a lot of features to make it a viable solution for knowledge representation. There are other systems out there that I want to have a look:


None I can really tell what they are about, but we'll see what comes out of it. I've sent my request to be added to their beta testers, so I'll just wait.

Thursday, October 18, 2007

Discussing data representation

It's interesting how data representation discussions always teach me something. I've read uncountable papers about it, but it seems like it takes me actually talking about it, arguing with different-minded people, to understand some of the concepts behind what exists.

So, today it was a discussion that actually opened my eyes to the "beauty" of RDF. I'll have to admit that it's sometimes hard to work with all the verbosity of it. It's also strange to have to create intermediary "fake" elements, just so that you can tie things together in a more coherent way. And the more elements you add, the more expensive calculations become and so on.

Why is it good then? Because its very simple triple limitation provides you with one of what I'm starting to believe to be the most powerful thing in data representation: schema compatibility.

Schema changes all the time and it's always going to be painful to maintain it. However, if when your change can't really do something that will break the expected elements at a certain section of your graph, it makes everything much more powerful. Let me try to explain with an example:

You are modeling a catalog of items and somebody tells you that you have a concept called "list price". The first thing that comes to your mind as a modeler is that list price has one value for each currency of a given marketplace. So that's how you model it and go on with your life, making good use of your new attribute.

Then comes a request to aggregate the data from an already-existing, very-similarly-modeled catalog, but that had one important difference: it was better tailored to different marketplaces. When you start the import procedure you suddenly realize that your assumption that "list price" is a single value for a single-currency marketplace is not valid any more. In some places of the world, for imported products from neighboring countries, customers like to see also the list price on the original currency!

If your catalog is very database-driven, you are very likely looking at having to change your schema, maybe backfill all your items and have some sort of either downtime or time that your catalog is in transition, so not completely consistent. It's a lot of pain that just keeps growing as your catalog grows.

Now, if your underlying data representation was just this RDF triples graph, adding a new edge of the same type won't really cause any problems. You have only to fix the validation code and, maybe, add some filtering code to make sure that clients that consume your data and can only consume the list price in the marketplace's currency only see the data they were used to see and voila, you are done. No backfill, no database cleanup, no database schema changes (but you do change your RDF schema to increase the cardinality of the connection restriction).

Oh, well, unfortunately sometimes you just have to live with other options due to optimization, so that you can handle millions of updates a day with a reasonably small fleet of machines. It's what engineers were bred to do, I guess.

3 years working for Amazon

So today I'm celebrating the fact that I have been at for 3 years. I don't know if celebrating is the right term for it, but, in certain ways, it surely feels like a celebration. Not because I'm getting RSUs today and Amazon share price is the highest it has been since I have joined, but because it's been 3 years.

The question that came to my mind was: am I closer to my ideal that I was seeking when I joined? I feel like I don't quite know how to answer this question. In many ways, yes. I have learned a lot in the last 3 years, and I'm still learning. This is the inwards-looking view of it. The outwards looking one, the one that looks at the organization that I'm working for, the company, and the world that this company serves, do I think that I'm closer to what I was expecting to get?

Without entering information that I wouldn't feel very comfortable in writing, I think the answer is "maybe". There are some signs of improvement. However, I feel like there are many more signs of loss on my part, of decisions that what I had in mind will never get done. It could probably mean that I've become more experienced and can tell what is feasible and what isn't; but it could also mean that I'm losing the dare to dream. I'm becoming engrossed the the operations of life.

Anyway, 3 years... Quite a chunk of my life here. Almost 7 years in the U.S.A. An even bigger chunk of my life.

Wednesday, October 17, 2007

Excel 2007 Bug

When I read this last night I knew I had to post it:

Excel 2007's numeric display bug

It's one of the weirdest bugs I've ever seen. I've tested the bug myself and it's really there. An interesting challenge to figure out what is going on. Maybe I'll use it as an interview question some day! :-)

Tuesday, October 16, 2007

Commas and quotes

I've mentioned in the past the fact that I find silly that in American English you have to put the commas inside the quotes. Because of this, I had to post this story from Worst than Failure:

It's a Different Set of Rules


Audio: what is enough?

Yes, I know I haven't been blogging much lately. It's not because I haven't had ideas to blog about, just that I think I haven't had many interesting conclusions of my ideas. So, what do you do when you don't really think you know you have something interesting to blog? You post links! So here is my link for today (I was planning on sanding more links, but I'll keep it simple for now):

Is really expensive audio equipment worth the price? Very interesting article triggered by an amazing new speaker cable that was priced at US$7250.00!

This also reminds me of hearing that there are some interesting developments in the music industry lately, with some bands deciding to break away from normal music industry and provide their albums online for whatever price you want to pay. Interesting concept, but I'm not sure it's big enough yet to shake the industry in any way.

Where do I think the music industry is going? Nowhere... I continue thinking that we will have the classic competing forces: to one side the bands that are usually not very good being sponsored by a lot of money and selling a lot just because of exposure, and smaller bands that are bennefitting from the lower cost in producing albums and have a wide range of quality. Some very good things, but most of the time they are buried in the noise of bands that probably just had way too much free time in their hands.

Diversity is great, but it can be claimed that if you lower the bar you will just increase the amount of noise you get. Decrease the proportion of good music to bad music that is recorded.

Thursday, October 04, 2007

Back from Yellowstone

So I'm back. Today was a day of fruitful discussions (or at least I like to fool myself thinking that they were fruitful) and catching up with what happened in the days I was out. Also, I've started to organize my pictures from the trip... About 900 pictures... It's going to be a long process to clean up everything and then upload it somewhere for people to access it.

But enough about today (or maybe yesterday). Some words about the trip itself: it was fantastic! Grand Teton and Yellowstone are amazing places. All the free-roaming animals, the strange rocks, breathtaking waterfalls, and scary hydrothermal features makes it a unique place. Something people have to visit to understand.

Weather was alright. It was the end of the season and the time that weather becomes a little bit less predictable. So we almost got snow every day, except for Friday and Sunday (which was our most active walking around day and the best weather overall). Between Monday and Tuesday it snowed about an inch. This made us a little scared as we had to drive back through passes to Idaho Falls to catch our flight.

Everything ended up working fine. There was no snow on the roads and we arrived at the airport 3 hours before our flight. Enough for us to... do nothing for a long time. I've read some of my book, some articles through my blackberry (trying hard not to read emails), and, soon enough, we were back home.

Now it's getting late and I should really go to bed. Just because I slept a lot during my vacations (there isn't much to do there when it's dark outside), I shouldn't just decide on compensating by not sleeping for the next few days...

Thursday, September 27, 2007


So the Amazon MP3 download store launched... So I had to go and check it out, of course! What happens when suddenly I am given a chance of quick gratification? Well, I take it! So I've been rediscovering music. Going through albums or music that I always wanted but just never had the "courage" to buy and just downloading it. It's not that expensive (I've paid so far an average of US$8 per album) and it's so easy...

Oh, don't think that I've spent a fortune. It was only about 6 albums so far. And I'm pretty happy about it. So excited that I ended up staying up until almost 2 am yesterday listening to three different versions of "...which was the son of..." by Arvo Pärt (one of which I was singing).

Anyway, music is fun. I just wished I had more time to listen to it outside being in the bus (way too noisy to enjoy) or at work (which I tried yesterday and just ended up giving me a headache instead of allowing me to concentrate better on what I wanted to do).

Sunday, September 16, 2007

New month, new year, just thoughts

So it's 5768... In these terrible days between Rosh Hashana and Yom Kippur, we are supposed to sit and think about all the terrible things that we have done in the last year and ask for forgiveness from the people that we may have hurt. I can make abstract claims that this blog is one of the things that have suffered this year, but it's not why I'm posting today. I'm posting today because in the middle of all these terrible and depressing thoughts, when you get your mind into thinking mode, it brings also some "positive" ideas.

What makes this even more interesting and cyclic is that these ideas end up, for me, being even more torturing than the thought of the past. It's worse to think about what options you will have in the future and that you probably won't accomplish any of them, than to think in the past.

Out of these ideas that have been torturing me, some I can't really write about here. Most have to do with product reviews. I feel like most review websites out there could really benefit from a more scientific approach. Not only this, I also think that any company that is trying to make a product being successful would benefit from a third-party company testing its product against competitors following scientific evaluations and then allowing time for the original company to analyze and criticize the methods employed. This can only happen if:

1) You have all the methods explicitly explained (not only ratings like: cleaning abilities - Great; smell - Good)
2) You have a relationship with the manufacturer and allow for unedited reply to analysis
3) You present all this to customers and allow the customers to suggest tests to be done (I care about MP3 players that can fall from my pocket and still work)
4) Allow also consumers to explain what their most important features in an item are to: (a) generate a single-dimensional list of products they should look into; (b) provide feedback for manufacturers on what customers are looking for so that they spend their R&D on things that matter.

If you create this cycle, you might have high-quality, authoritative item reviews that will provide consumers with the power to select the best product that matches their needs and manufacturers to modify the products to better satisfy customers.

There are examples out there of specialized sites that try to approach things like that, but I'm yet to see (it doesn't mean that it doesn't exist, just that I don't know of it right now) a system that includes all these feedback approaches.

The rest that I'm interested in is how to represent all this data in order to display it on some website and learn with it about what makes a good product. Also, there will always be some subjective component to all reviews. How this can be split out of the "scientific" part is tricky. Any good statistician knows that all statistics are biased towards what you want to prove or disprove. The important part is to make it as explicit as possible.

Oh, well, anyway, I'm still thinking about things. I wanted to send a lot of emails yesterday and today to friends, but didn't get to send any. I was just reading things, doing some random coding here and there, I've watched "The Corporation" - great movie, by the way, I've also played some Wii and DS (so odd), and, shockingly, I've even done some art. Nothing exciting, I'll have to admit.

Ok, time to go to bed.

Thursday, August 30, 2007

Silly things that keep me up

Sometimes there are some silly things out there that keep me up until late at night. Last night this was my reason:

Extremely addictive! The data is a little problematic in some classic areas like units of measure (are implied from the relationship type, but not explicit anywhere) and uneven structuring (contains things like "factbook:publicdebt '50% of GDP'" or sometimes some comma-separated values to deal with lists of things, instead of having multiple relationships)

But you can query for things like: give me the countries that have a life expectancy greater than 65 years and does not produce any oil:

?x a factbook:Country .
?x factbook:lifeexpectancyatbirth_totalpopulation ?life .
?x factbook:countryname_conventionalshortform ?name .
?x factbook:oil_production ?oil .
FILTER ( ?oil = 0 && ?life >= 65 )

(I first tried the neighboring countries of these countries, but got some exception of missing table... odd)

And here is where this link came from: Open Data: Information wants to be linked

What do you need to be intelligent?

There was an interesting post at Cognitive Daily today (well, technically yesterday):

Does an artificial intelligence require a body?

Certainly the authors and the readers courageous enough to leave a comment don't quite agree with this assertion (well, at least most of them). I don't agree myself, but with a small exception: I believe that the only way you can have something to be intelligent is if it can interact with the environment. In other words, you can't make something that is intelligent by just making it consume monstrous amounts of data (e.g., Google's amazing search index will never be intelligent). Intelligence comes from the feedback to the data itself, to its ability to organize and predict data based on organization. You can't correctly predict if you don't have some sort of control over the things you are predicting.

Well, at least that's what I believe. I'm certainly not as "educated" in the subject as the people that read the Cognitive Daily blog, but, as most software developers, I've tried my "luck" in AI-like things and you learn...

Tuesday, August 21, 2007

25 years of the CD

It's strange how silly events like this makes people start thinking about the current state of music in the world. It feels like everywhere I look there is an article or a discussion about how crappy the music we are listening to is right now. Starting with the dynamic range (IEEE Spectrum has an interesting article with examples about it) to really sound quality - imagine that some songs you buy online are compressed to ridiculous rates like 128 kbps. And people are so used to bad quality that they can't even tell any more.

I can say that I've been feeling part of this issue. For some time I tried to listen to music on the bus on the way to work and back, and it's painful. Anything with any real dynamic range forces you to keep changing volume all the time or else you are either destroying your ears on the fortissimos, or not listening to anything on the mezzo-pianos (yes, buses are quite noisy). Right now I don't listen to anything besides the news on my iPod. And for that it's pretty useful.

There I went adding a little bit more literature to the whole "the CD has destroyed music" subject. Digital compression has destroyed music, actually. And we are still going this route, with a lot of ground to cover until we will find ourselves either lost or at a precipice.

Saturday, August 18, 2007

Doing this and that

So here I am again to write something, so that people don't think I completely abandoned the idea of blogging. I haven't really, but I'm never sure what to write. Lately life has been a little unfocused, to say the least. And when you don't focus much on one thing you end up not really having much to say.

What I have been reading? Well, I finally finished reading Steven Erikson's Midnight Tides. Good book, but quite long. Not a very easy read, mostly because there are a lot of characters spread around the world and with somehow similar names. There is a section on the characters, but it doesn't really help much (it contains useless info like:

Arahathan, a mage


I've also finished reviewing yet another version of the major paper of my Ph.D. research and now it's back to the reviewers for another round. Everything just takes so much time, and with my terrible lack of free time, it makes cycles even longer. Writing papers takes a lot of effort - a lot of continuous time invested on it. Every interruption is very expensive. And I've received a confirmation that another paper that I've co-written with a lab-mate in Oklahoma is getting published sometime in October, I think, on JASIST. It's exciting.

In the middle of all this excitement, I have stopped pretty much all my ontology projects. I was building three large-ish ones at home, but they have stalled and now it's hard to get back to them. They are a great exercise for anybody trying to do any modeling of anything. It's hard. You have just to learn that you will be wrong and you will be changing your mind many, many times until you are finished. So be ready to almost fully rewrite everything you do every couple of weeks for some time. Especially when you are still learning how to use Protégé and for some reason it decides to mangle all your work.

Mastie is doing alright. She seems to have odd cycles: some days she is very active and hungry. Some other days she is very scared and doesn't eat very much. But, well, I can't say I see her many times anyway. But now it's the weekend, so I have a little bit greater chance.

I guess that's all for now. I finally I'm getting a little tired after my dinner that ended with a nice shot of espresso (with some star anise ground with the coffee beans).

Wednesday, August 01, 2007

A new female in my life

(sorry, Amy asked for this title)

Anyway, it is true. Last weekend, after a very long deliberation period, I've decided to get a pet. My restrictions on which pet to get were:

- Doesn't need attention all the time
- Doesn't need to be fed every day
- Doesn't stink
- Should provide some interaction
- It's not too hard to take care of

So, after a lot of walking around and looking at pet stores, the final choice was a Uromastyx maliensis, Mastie:

She has been great so far (or so I've been told - since the weekend I haven't actually seen her, as I leave to work before she woke up and get back home after she had gone back to sleep). We'll see how it goes.

Saturday, July 21, 2007

On dining experience

I had to post this:

Dining in the Dark

It's an interesting article about a restaurant in L.A. that serves food in complete darkness. Apparently it's the latest thing in Europe, but just now arriving in the US. It must be really odd!

iPhone and the web

So now that the iPhone is out, I'm preparing to start seeing pages that were built for the iPhone, with a fancy logo in the bottom or on the side saying "iPhone optimized". Actually, Apple already has instructions for it: Optimizing Web Applications and Content for iPhone. It has some interesting limitations like:
  • Mouse-over events
  • Hover styles
  • Tool tips
  • Flash

Flash is what really caught my attention, actually. Adobe is working really hard to push their Flex framework. Can this be an important challenge for people? Not that it can kill Adobe's framework, unless somebody comes with a new framework that works on the iPhone. That could make things interesting.

Anyway, just musing about technology, while I need to get back to working on a paper that has been on my table to work on for over a month now. Time to get to it.

Sunday, July 15, 2007

Strange curve fitting

This is a cool article on Cosmic Variance:

The Best Curve-Fitting Ever

It shows that interpretation is everything when looking at real data. And you have to add to it that when you are reading a news article you never know when you are looking at real data or not.

Monday, July 02, 2007

Second Life and the future of virtual worlds

Ok, I promise it's the last post of the evening. This is a report about Mitch Kapor's talk about the future of Second Life and how it's wonderful:

Second Life chairman's stump speech takes us down the rabbit hole

It it quite interesting. I did go around Second Life once or twice. With this very limited experience, I can't say I've enjoyed it too much. But from what I've been hearing about it, it seems intriguing to say the least. We'll see where it takes us, I guess. Mitch is a crazy visionary with more money than he probably can correctly spend around. But he should keep his ideas coming, as one day we might get something useful out of it! :-)

Very strange article - the power of pheromones

This is a very strange article from

Powerful urine is mind-altering

It talks about how strong pheromone smell can cause neurons to grow. It's just strange...

A month of half-finished posts

I guess I gave up on trying to write long and interesting posts. I have tried at least a half dozen of them, from search engines (reaction to this sort-of interesting article on ComputerWorld), to contextual ontologies, to photography (I've been trying Aperture and Lightroom - I do prefer Aperture simply because I'm much more interested in photo organization than adjustments), to responsibility. But I never finished any of them, so I decided to just write about what is going on with my life lately.

I've been busy - busy and planning on being busier in the next few months. I have something like 5 trips planned from now to early October. The most interesting of them is the one at the end of September: Yellowstone. I always wanted to go there, and now I'll finally make it there (I hope - air and hotels are already booked). It's exciting.

Work has been a little on the chaotic side. Maybe because I'm getting a little tired, maybe it's just because there are launch dates around and lots of projects coming down the pipeline. Many exciting things, many scary open problems. Coming from a research background I'm always attracted to the open problems - attracted and full of ideas about what to do and how to do things. But I know deep inside that it's all going to take a lot of time, a lot of energy, and maybe nothing will really come out of it. So I get psychologically scared away (yes, I didn't even count the number of projects I've started on my computer at home and didn't get much anywhere).

It's a little sad sometimes not to be able to follow-through with an idea. You start, get excited about it, spend time to setup the environment to work on it and then that's where you get. In the end what I see is that I isolate myself from things, and don't get anything accomplished to compensate this isolation.

Oh, well, that's how it works. Now it's time for me to concentrate on something else and, maybe, just maybe, reply to some emails that have been sitting in my inbox for over a month now...

Wednesday, June 13, 2007

Silly or what? Ebay vs. Google

Isn't this just silly:

EBay pulls ads from Google's U.S. ad network

I don't know too much of the context here, but just by looking at this article it seems like something is wrong about the age of the people that decide things on those companies...

Sunday, June 03, 2007

Sun, barbecue and flash face

In the end the weather forecast for yesterday was so static that I considered not very useful and quite time-consuming to enter it every day. The day was quite sunny with a high about 80˚F... Perfect barbecue weather. There were about 30-34 people here and quite a lot of food. The only thing that didn't quite work so well is that I was a little to quick on starting the charcoal grill and it ended up being a little too cold (the vegetarians/koshers were not very well fed from the grill).

Anyway, after a long night of sleep (I don't even know how many hours I slept last night... Something like 9, I think), I went around today looking for something interesting and found something that was quite intriguing to me:

Ultimate Flash Face

It's a "simple" (as a concept, quite complex implementation) flash website that allows you to create a face. So I've spent about 30 minutes trying to generate faces for people I knew from memory and... I wasn't able to! Probably it comes with the Y chromosome or something like that. Quite disappointing...

What is in for me today? Well, I have another party later in the day and some work to do. I also will try to go for a bike ride to try out my new bike, but I'm not sure this will actually happen. I don't know if I'll have time for it.

Sunday, May 27, 2007

I knew I was going to miss a day...

Well, at least I'll make it less than two days. Here is the current forecast for next Saturday's weather: Partly cloudy, high 82°F, low 54°F, chance of precipitation 10% Partly sunny, High: 74°F Low: 54°F (only partial): Mostly sunny, high 75°F

University of Washington: Not really sure where their forecast comes from, and also I'm not sure how to interpret it, so I'll paste it in and then think about the interpretation some other time: SATURDAY...MOSTLY SUNNY. HIGHS IN THE MID 70S TO LOWER 80S. && TEMPERATURE / PRECIPITATION PUYALLUP 60 43 70 / 50 40 10 TACOMA 60 42 69 / 50 40 10 SEATTLE 59 48 66 / 50 40 10 BREMERTON 59 42 68 / 50 40 10 EDMONDS 58 47 66 / 50 50 10 EVERETT 57 47 65 / 50 40 10 $$ (also partial): mostly sunny. Highs in the mid 70s to lower 80s.

KOMO TV (also partial): mostly sunny. High 77°F

I guess that's it... Now writing this takes a lot of extra time, but I'll keep trying. One difference now is that there is no rain forecast on any of them. There was no rain forecast for today but I woke up and it's raining...

Anyway, yesterday was a busy day. I even got a phone call from a friend that I haven't talked to in a LONG time. But I missed the call! I'll try to call him later today, and will write about it some other time (some odd coincidences that I've decided to discuss when I know more details).

Friday, May 25, 2007

Continuing the weather countdown

Not many changes today (as of 9:20 PM PST): Mostly Cloudy, max 70°F, min 51°F, chance of precipitation 10% Cooler with rain, High: 62°F, Low: 47°F

Countdown for the barbecue

So on next Saturday Amy and I are hosting a barbecue here at home. Barbecues are fun, but they tend to be very susceptible to weather variations. So, just because I'm a scientist, I decided to start a countdown with the weather forecast from multiple sources and see how they vary as we get closer to the date.

Today, May 25, 12:40 AM: Mostly cloudy, low 55˚F, high 72˚F, precipitation chance 10% Rain, low 49˚F, high 64˚F

Each source is a little different in the way they provide weather. Some only have a 7-day forecast, so I'll try to keep adding them as they enter the range. I'll just hope that is more correct than accuweather.

Wednesday, May 23, 2007


Lately one of my favorite things to do at night is to just pick up a subject and brainstorm about it, writing down whatever I feel like is relevant. It's quite interesting, because after I finish the activity I read back what I've written and enjoy how naive and contradictory all my ideas are.

Let me give you a hypothetical example. Let's say that today's subject is knowledge acquisition. So I start by writing:

- Knowledge is defined by the relationship between elements
- There are no elements, just the relationships
- The absolute is defined by a relative sense to what is culturally or personally defined as the absolute point

And there is goes... It's a fusion of not very actionable pieces of ideas. Not very exciting then, but it continues, and gets worse:

- Branch traversal is interrupted when relationships are not found or when they become too low in interest to continue
- Interest is defined by the types of relationships between things
- Types are also relationships to moods or goals

Conclusion, I'm back to saying that there have to be some absolute elements to knowledge: here the "moods and goals". How can you think of knowledge without being able to point to something and say: the book... the table... the book is on the table (sorry for you native English speakers).

Anyway, it's fun. And what makes it more interesting is that I don't expect to get anything out of it. I'm through with creating a new project every other day like a couple of weeks ago. Time to relax and just keep my mind active.

Talking about keeping my mind active, I was reading a paper earlier today: "Mining Nonabiguous Temporal Patterns for Interval-Based Events" by Shin-Yi Wu and Yen-Liang Chen. It's an interesting paper where the authors propose methods to find patterns on the relations between interval-based events by classifying pair-wise relations using a very simple set of 7 possible relations. It's pretty and all, but when you get to real world case, the stock analysis, they make a whole set of simplifying transformations that make the problem, let's say, silly. They use three "event types": (1) the stock price increases for at least 3 days, (2) the stock price decreases for at least 3 days and (3) the stock price increases and decreases at least 3 times. Also they discuss 3 period lengths: week, month and season. Talk about arbitrary definitions here. All stock prices go up and down at least 3 times in a week. They usually do that in a 5 minute period.

In any way, there are some interesting ideas in the paper, like the process to try and predict stock movement with their correlation patterns that was found. Interestingly some of their graphs show an almost random predictive accuracy for the interesting things and very good accuracy for behaviors like "season trends". Not very meaningful, I guess. Also what I liked about the paper that sparked the brainstorming that I've mentioned before is that what they mine is not the events themselves, but the relationship between the events.

Tuesday, May 15, 2007

Learning using generative approaches

On my way back home today (much earlier than usual), I started thinking about learning methods. Learning is both one of the most interesting things that you can think of in the computer science side of the world, but also one of the most traveled paths. Everybody wants to teach their computer to be a little smarter and not expect to just repeat what you say.

So, with all this already done, why did I decide to think about it? Do I have an answer to the machine learning problem? Yea, right! I never have answers, but I do have questions and the will to read papers and pursue things that make my evenings more meaningful. And today what I'm looking at are generative models.

Like with all research, you have to start with defining what you mean by the names you use. So, the generative models that I'm talking about are the ones that the system itself generates inputs to itself. The idea behind it is that you learn by doing it. Not necessarily actually doing it, but by rehearsing doing it inside your world model, your brain. Actually, we are very good at that! We can even understand intangibles, like other people's emotions, by trying to map their experiences and facial expressions to what we would do and determine what we would be feeling if we did it, thus what the person should be feeling.

Also, another interesting example is why are people usually scared during scary movies, or sick during bloody scenes? It's because we are constantly trying to understand it by applying what happens to ourselves and we do feel scared, we do feed the sickness of our pain that isn't there.

So, back to computers: I believe (like many other researchers that have tackled this problem) that one of the key methods for robust learning (and I'm not talking here of any learning - there are many ways for computers to learn, some very good), is to allow our learners to replay and internalize what happens.

This is much easier said than done, actually. It's very easy to think of learning in the normal learning way: synchronous. You present a case and potentially the answer or a hint about the answer and you let the learner take one step towards learning the model. Then you present the next one and so on. The problem of generative models is that the "will to learn" has to be an action from the learner. The learner should determine what it wants to learn and maybe generate what it thinks it should learn.

This post is already getting much longer than anybody should handle, so I'll try to make it easier and think of an example. Let's say that you want to teach a computer to play Sudoku.

Supervised method:
The "teacher" shows a Sudoku puzzle and then a solution (that can be a step towards the solution, or a piece of the puzzle with a step towards the solution). Then it shows another puzzle and a solution. It keeps showing different puzzles (well, sometimes you can repeat a puzzle to make sure it takes another step towards the solution of that puzzle) and solutions until you decide to stop and show some new puzzles and ask for the solution to see if it learned.

Reinforcement learning:
This is actually a type of supervised learning. It's focus is either on delayed gratification: you let the computer try a couple of things and then you zap it if it's not doing very well; or you give it candy if it's doing well. Also another possibility is not providing the next correct step, but just say if it's right or wrong. It feels much more like nature teaches animals, but it is limited to what saying right or wrong can make you learn. My Ph.D. research started with looking at reinforcement learning techniques and they are slow to learn and usually not very robust (well, if you can claim robustness on something that converges in way too many iterations)

Unsupervised learning:
In this type, you allow the computer to see the different games and let it find patterns in them by itself. Then it can use these patterns to solve other games. It's usually also based on showing the learner a set of examples but not saying anything about them. It's interesting, but it's usually very limited in what it can be applied to. I'm not sure it would create a good Sudoku player.

Generative learning:
In this case you can start with any of them methods. But then you allow the learner to either pass back to the teacher a whole new puzzle and ask for a solution, or request a recall of a specific puzzle, or even stop looking for puzzles and trying to predict what the next puzzle would be. Actually prediction is a very interesting consequence of these types of approaches. You are not really any more trying to answer the question like A + B = ?, but you are now trying to look at things like A + ? = C. You know what C should be because of your learning, but now you are trying to find other Bs that satisfy the same model. Then you try to look at other As. And then you try to vary C and look again. You build the model by constructing the question and not the answer.

Again, as you must have already realized, I quickly left the realm of Sudoku. So you can't try to implement what I've just written here. Yes, and I'm aware that nobody even thought of doing it besides me - and I haven't actually implemented anything myself, just written a lot of notes on OmniOutliner about what questions I'm trying to answer. And, of course, with no answers themselves. Things like:
  • How to make a learner use a 4x4 Sudoku as a learning ground for a 9x9?
  • Should the learner actually learn position and movement too? E.g., should it interact with the outside world like: show me the element to the right of the element I've just seen
  • Should learning involve separate learning modules for bad and good examples?
  • How much can you predict before seeing an example? (how much should you learn from the instruction manual - sort of like the ontology duality of intent/extent)

Oh, well... At least I have fun and keep my mind occupied! :-)

Tuesday, May 08, 2007

The public web

I was reading the news this morning and I couldn't let this one get away without me posting it on my blog:

Woman denied degree because of MySpace profile

A classic!

There are lots of interesting things that happens in a world where things you do are more publicly accessible. It's similar to the keynote speech by Jon Kleinberg I've heard during the last SIGIR: all the 6-degree-separation endless discussion has to be revalidated. Now that social networking sites makes your social network publicly visible, all numbers and goals change. It's much easier for a person living in a cave to have hundreds of friends. On the same lines, it's much easier for a person that is trying to know more about another person to find people or direct evidence out there. In the past you had to hire a private investigator or things like that.

I could now start reciting a number of science fiction authors that predicted this shift on the concept of privacy, but I'll just end this post and start my day.

Monday, May 07, 2007

So many ideas, so little time...

Lately I have been suffering from the old idea burst. I'm trying to write down all the ideas and all the things I have to do for each of the ideas, but I feel bad that I never get to actually execute any of them. My ideas don't come from a vacuum - it's worse, they compound on projects that had not yet been finished.

For example, I'm working on a metadata vision document. As I start to work on it, I decide that I need some examples of what I'm saying, so I start a project on building a sample ontology with the concepts that I'm trying to outline in the document. Then this weekend I look at what I'm doing and decide that this won't be enough. I need an application that makes use of all this structured (or not-so-structured -- and that's part of the document) information and does something fun, like organizing your purchases, or helping on researching for products. And there I went...

Another thing that is going on is that one paper that I've sent to a journal only now came back (about 1.5 years after sending) with some requests for changes. So I went through the paper and found out that some references are clearly outdated and that I need to work on the paper again. So there I went to sketch out the changes that I need...

I've also worked a little bit on "low-level" work stuff, like cleaning up things that I needed to clean from a long time ago. A good thing is that at least this I got done this weekend!

Anyway, that's all I have to say right now. I have something like two posts in Draft now that I can't seem to be able to finish them. One is a little long-ish, but the other probably is too centered on a couple of experiences I had in the last few weeks and I'm always a little worried on the wording I use when talking about other people.

Thursday, April 26, 2007

The year of the babies

After having two posts never leave the "draft" stage, here I am trying to write now something "lighter"... Hopefully I'll be able to finish this one quickly.

So, yesterday I got news that a 6th person within my close circle of friends/co-workers is pregnant! My first reaction was to think that this is normal, because I'm just getting in the age that people tend to start to develop their families, so my friends that should have about the same age as I have are starting to have babies. But this is not really true. Only 3 out of the 6 are actually in the same age range as I am. Some of the others are actually not even on their first kid.

It is so odd... There must be some sort of overarching psychological component to this change. Something about world politics/economics that hinted people that maybe it's a good time to start spreading. I went around to search for people observing this phenomena with better ideas than me, but I'm still unable to find evidence. Oh, well, maybe not enough people blog about this - maybe I should start.

Tuesday, April 10, 2007


Yes, yes, I'm still alive. With a lot to say, but not much time to say a lot. Life has been quite busy lately mostly with work-related things. Last weekend I spent a whole lot of time doing a procedure to make sure that people can correctly sell Jewelry on Amazon (whatever you want to make out of it). And I still can't say I have slept enough to compensate.

I've been looking around for things I should know that I don't have many books about. My latest thing was "Categorical Statistics", so I went and bought two books on it:

Categorical Data Analysis (Wiley Series in Probability and Statistics): A book that has a good coverage of the basics about categorical statistics. Seems straight-forward and not too difficult to read.

Bayesian Models for Categorical Data (Wiley Series in Probability and Statistics): As all my experience with Bayesian statistics, this book is much denser. Not that easy to read, but also seems quite interesting. I'm still trying to go through it to extract the core of its teachings, but I keep having flashbacks of my Bayesian Decision Theory class that used Box & Tiao's book. Hard class, quite a good instructor. A little too focused on Linear Models, as the professor had written a book about them, but very good.

Anyway, that's my life lately. I've been trying to do some fun things from time to time too, but most of them have been to play random computer games and getting tired for them after an hour or so. Oh, well...

Friday, March 16, 2007

Desperate people with money spend money desperately

I found this quite strange:

Microsoft: Use our search, we'll give you incentives

Microsoft using the fact that they have leverage with companies to get what they want. The question is whether companies have enough power over their own employees to do anything. But I'd have to admit that sometimes I do use Live Search and... I can't say I've been satisfied with the answers that it gives. This is not a scientific conclusion, but subjectively there is a lot of room for improvement yet. I do like that they have done a lot on trying to understand some types of questions and provide dictionary/encyclopedia answers to them, but the search itself is just not too good.

Sunday, March 11, 2007

Getting back to a world that has changed

I will have to admit that this weekend I haven't done much. My neck has been really bothering me and I haven't been able to do anything for any length of time. I could be able to lie down and watch TV for some time, but I don't allow myself to do that.

So, in these brief periods of going around and trying to do something, I went around online and checked how PC games are doing. It's been sometime that I don't look at what is out there and I felt that it would be a fun thing to look.

In this looking around, I found some suggestions that I should try the Supreme Commander demo. So there I went to download it...

The first thing I realized when I wanted to download it is that all websites require you to register to download (with exception to a couple that allow you to do the download anonymously but with a restricted bandwidth). And then they would put you in a queue if you don't pay for the service.

I found this very strange at first. After Google, the Internet for me was free and anonymous! But when I realized that the demo that I was downloading was actually a 1 GB file I started to understand it. 1 GB download!? That's very ridiculous! No wonder if they don't restrict what people download they will spend a lot of money on bandwidth so that people can get a software that contains no advertisement (except from the reminder that it's a demo and you should buy the full version). Tough business model.

In any way, I did download the game (in about 20 minutes) and played it for some time. It's not bad, but I found that I needed some more knowledge of the keyboard shortcuts. It was hard to organize an offensive (or defensive force) without being able to select all, or a well-defined part of all my bombers or interceptors, and so on.

But in general it does fall in the basic build and attack type of game (at least in the first campaign level). You have one type of foe at a time: airplanes that you need to use the interceptor for; ground troops that kill your airplanes that you need to use ground troops for (and move them using a transporter); ground turrets that decimate your ground forces that you need bombers for; ground-to-air turrets that you need ground forces for; and so on. So the idea is: find what you are up against, build the forces and deploy them in order.

Anyway, time to move. I have a LONG day ahead of me. Things this weekend didn't work as well as they should and my hurting neck is just making me tired and not very productive. I have no time to be unproductive! (you might be thinking - if he had a lot of work to do, how come he played games this weekend? Well, most of my work right now is to wait and monitor a build that is taking an amazing 10 hours to break... Not very exciting)

Thursday, March 08, 2007

Learning about Kaplan and Geiger

Time is going by and there isn't much I have to talk about. I've been busy doing a lot of random things, like buying stocks a couple of days before the market dropped, working on the garden, having so many meetings in a day that I don't even have time to have lunch... And life keeps going on.

One thing that I've been paying attention to lately is a very interesting lecture I'm listening to: Jewish Intellectual History: 16th to 20th Century. I guess what is interesting me the most is not really the "religious" or sociological side of it, but only that I'm now starting to make sense out of names that were used during some informal conversations with some friends in the past. Suddenly I know what they meant when they were discussing Abraham Geiger or Mordecai Kaplan! It's interesting how Brazilian Jewry is so different from all this. It's so much more conservative. Even some synagogues that are considered "Reform" make it the norm for men and women to sit separately and there are no women being part of the service itself. This has been abandoned a long time ago every in the Conservative movement in the US and Europe.

It's been interesting. Not really life-changing, maybe because I'm not in the right mood for a life-changing decision right now, but definitely I've been learning things.

Alright, time to accept that I'm falling asleep on my keyboard right now and go to sleep.

Friday, February 23, 2007

Looking for something fulfilling

Lately I have to admit that I have been feeling less and less fulfilled. It's like I don't produce anything new, I can't really interest myself on anything that makes me excited. Here were some trials:

1) Gardening: it's hard to feel fulfilled gardening still technically during winter
2) Stock trading: after playing around for a while, I just gave up on finding any companies that I think are doing anything exciting (and have shares being sold publicly) and keeping track on non-interesting companies was just boring. They all feel the same to me.
3) Music: I tried to go back to listening and playing some (only keyboard, didn't have the courage to take out my clarinet yet), but didn't quite work. It's been some time that music stopped touching me as much as it used to.
4) Electronics: my never-ending (and never moving-forward) recipe reader project... Quite disappointing to keep figuring out that I need more parts and not having time to go and buy the parts (or having to order in bulk online paying more for shipping than the part itself). I also have my plan for an interactive news visualizer, but that's way more complicated...
5) Work: I don't want to talk about work... It was a depressing week.
6) Reading: I'm actually reading a very interesting book right now, Alan Campbell's Scar Night. But there is a limit on how much I can read every day... And I don't really feel like I'm accomplishing anything reading.

So today I decided to go back to one of my old hobbies: writing. Apart from not being a good writer, it's sometimes fun to just let you mind go wild with ideas and then try to put a consistent thread to tie them all. I'm actually trying to get back to one of my most ambitious writing projects (no, not the multi-language book - I can't write in German any more, I'm afraid). More details about it some other time.

Monday, February 12, 2007

Some talk about music theory

I was asked to comment on adviken, an interesting guy that posts music theory lessons on YouTube. His lessons are actually quite interesting in the sense that he can explain some things quite well, like the tonal relations and scale variations. However, there isn't much more there.

There are a couple of things that I've heard some time ago that intrigued me in relation to music theory:

1) Our ears are not as relative as we once thought. Classic music theory claims that if you play a piece in C major or C# major you won't feel the difference. And that's actually not true. Actually it was something that a lot of composers already claimed not to be true - some gave colors to different tonalities like Scriabin. Also I'm not falling for the statistics discussions that claims that there are more pieces in C, F, Bb and G major than any other key as proof for key preference, because that is probably mostly related to the difficulty of playing specific keys in some instruments. There are some interesting experiments that showed that people can sing their favorite song in the correct key only using their memory. Quite interesting
2) Sound compositions is extremely important. You learn that very quickly the first time you try to compose something with more than 4-5 instruments. It makes a huge difference to forget a little about harmony and counterpoint theory and just think about what you can do with two or more instruments that will sound interesting. Percussion is great for it. It has been proven that the attack of an instrument is what gives most of the difference in the sound. If you add a percussion to the attack, you suddenly have something very strong messing with the instrument identifier and what do you get? A "new instrument"!
3) Harmony and consonance is mostly cultural. In different cultures people get to (approximately) different harmonies and your ear gets used differently to what "soundg good". And that begs for the question: now that we are continuously moving towards a globalized world, are we losing this richness in hearing? Are we drifting towards somehing else?

Music is exciting! But sometimes work is necessary.

Friday, February 09, 2007

Self-describing data

Lately, for reasons I won't delve into here, I have been thinking quite a lot about self-describing data. I'll have to admit that the first time I heard of this expression, when I was reading about ontologies, DAML+OWL, RDF, I didn't give too much attention to it. It seemed a little odd for me to worry about it.

However, lately I have realized the real importance of it. Its wastefulness has some very interesting consequences:

- Independence between systems: two systems don't have to completely understand each other to interoperate, as long as they can find within their data things they can understand. Independence also relates to same-system upgrades - if you use this data for storing state, it's easier for a new version to understand the old version's state without having to explicitly code for it.
- "Isolationability" of data: data can be understood (somehow) without a system around it - you can build generic tools to look at the data - they will never be optimal for anything, but they allow for inspection and improve debug-ability.
- Extensibility: as you know that your clients can live with only understanding part of your date (yes, your clients have to be built with that in mind), you can extend your data without worrying too much about the consequences.

Let's give an example. Let's say that you are trying to store personal information about your friends around. Your first solution could be something like:

Joe Smith, 10/12, 555-555-5555
Clara Smurf, 05/05/1977, 555-555-5544
Joe Jack, 01/01

Now you have to build a system that will parse each line and understand that the name is before the first comma, the birth date (with or without year) is next and then the phone number (if you know it). Now let's say that you want also to add a city of residence. Now your system, has to know how to parse something completely new.

But what if you write a second file that contains how to parse this file? Something like:

<name>, <birth-month>/<birth-day>[/<birth-year>][, <phone-number>]

Let's call this file a dictionary. Now you have to keep that file always with your initial file. More than this you have to make sure that when you change one, you change the second one too. And that if you are dealing with files written with different dictionaries so you have to keep a copy of all the dictionaries around and how they relate to each other. One misunderstanding on which dictionary to pick and you are suddenly getting everything wrong. But I have to admit that it's better than the first option.

Now, what if you wrote something like:

Friend 1:
Family name: Smith
First name: Joe
Birth month: 10
Birth day: 12
Phone number: 555-555-5555
Friend 2:
Family name: Smurf
First name: Clara
Birth month: 05
Birth day: 05
Birth year: 1977
Phone number: 555-555-5544
Friend 3:
Family name: Jack
First name: Joe
Birth month: 01
Birth day: 01

Isn't it much easier to understand what I mean? Surely it's much more expensive to store in disk and to send out to people, also more expensive to parse and process, but what it's a matter of looking forward and thinking where do you want to go with your data. Are you building something that will only work for what you know you need right now, or do you accept that your needs change with time and you would like not to have to reinvent the wheel ever time it does (and more than this, keep track of all the wheels you have invented in the past, because they might come back to haunt you).

Surely I'm over-simplifying things here. There are lots of things that you can do that will make things not backwards compatible on the self-describing solution. Also there are things you can do to the dictionary solution that would contain the version of the dictionary in the message contents and a dictionary repository that you could get any specific version.

I guess my point is the following: if you can live with the complexities of non-self-describing data, if things don't change, or if change is centered around systems that you have good control over, go for it. For all the rest of us, mortals, it's just too painful for gains that it offers. Especially in our world where networks are fast and disk space is cheap.

Sunday, February 04, 2007

It's superbowl weekend

Yes, it is, but that's now what I'm going to talk about. There are lots of interesting things happening right now, besides preparations for this money-packed event.

I'll have to start with my current most forbidden site: Amapedia. I've seen this site pretty much from its infancy all the way to launch and... Well... It's a very interesting concept. There are already some nice things that are coming out of it, especially related to more information about authors that you don't get on, contents of books and CDs, and not too much incorrect information. But one of the most exciting things, in my opinion, is the ability to do fact-based search, and leverage structured information. I wished I could send a link to it, but it seems only to be available to people that are logged on to the site. There is also one small issue with the structured search: it only works if you add structured information to the articles! Now come the reasons why it's a forbidden site for me:

1) I know how important structure is for the way the site works and most pages have no structure at all, so I go around and spend time cleaning up the data there. Spending time is not 5-10 minutes here and there, it's 30-120 minutes here and there!
2) Like wandering around, because I know the way things were supposed to work, bugs just become extremely evident and annoying. I just sent a short list as feedback.

Anyway, I will encourage people to try it out. Have fun, give them feedback and NEVER finish writing an article without entering fact information (in the second page of editing, you have to click on "Next")

Saturday, January 27, 2007

I hate Yahoo! Mail

Yes, for the 5th or 6th time I've received all my messages on my Yahoo account on my POP3 client. I've talked with Yahoo support three times about this already. The first time they said they couldn't do anything. The second time I was routed around multiple times to the Brazilian support (it's my account) and the result is that they didn't know what was going on, but as it stopped happening they didn't have anything they could do. The third time I got a message back with instructions how to call or chat with support (and how much it would cost) and then another message with a survey asking how I was helped on my case. I never wrote so many "terrible"s in a survey!

Anyway, here I go again deleting 10K emails on my mail system hoping not to delete anything important by accident.

Thursday, January 25, 2007

Back from Chicago

Unfortunately I don't have much time to discuss my trip to Chicago, but I can say it was great. Here are the brief highlights:

- Friends... Oh, meeting friends anywhere is always the most important highlight of anything. If any other friends want to come to the US, please let me know! :-)
- Art Institute of Chicago: Amazing impressionist collection!
- Charlie Trotter's: Awesome food... Certainly one of the best meals I've ever had in my life (and the most expensive too)
- Shedd Aquarium: lots of interesting things there, from trained whales and dolphins, and even penguins, to beautiful coral reef "replicas"
- Field Museum of Natural History: some very interesting exhibits, but sometimes seeing "stuffed" animals is not as interesting
- The city of Chicago: I think I've lived too long away from big cities... It felt good to be able to walk around downtown Chicago and feel like there are lots of things to do everywhere you walk. It felt like a big city.
- Walgreens: I have to add this. It was founded in Chicago, according to Wikipedia, so maybe that explains why there is one every 3-4 blocks. It was just amazing to think how much Chicago citizens like to go to the pharmacy!

Anyway, that's what I had to report. Now I'm back to normal work. Lots of things to do still and with a lot of events coming up this weekend, including a housewarming party.

Sunday, January 14, 2007

Another weekend has gone by

Yes, it was one of those weekends when nothing got done. I can't really say "nothing" but it wasn't even close to what I had planned. Not too much of my fault, though. On Saturday I went volunteering at a Sand Points Community Housing (now part of Solid Ground). It was not very demanding, because we were diverted to a different project as the snow on the ground prevented us from doing the landscaping that was planned. Then Amy and I went home and played a game of Terakh... 3 hours later I left to have a haircut, buy groceries for dinner (it was quite icy outside, but I survived). Made dinner and the day was over.

Sunday started with a brunch to celebrate some people's 80th and 70th birthdays. It was quite nice, actually. Got back home and had about 2 hours before chatting with my parents. I turned on my work computer to find almost 900 messages in my inbox! Some system has gone completely bezerk and was sending me 5 messages every 10 minutes. Oh, joy - there I went to figure out what was going on and try to fix it. Result: I was 30 minutes late to my chat with my parents.

Then I went chatting, then dinner and again the day is over! Isn't it sad?

Well, at least we got some snow here. Last Wednesday it snowed and the snow is still around. It helped a little that we had a little snow on Saturday too and there is a slight chance of snow again on Tuesday. All for me to get ready to go to Chicago next weekend. That is going to be exciting!

Friday, January 05, 2007

How a service can be amazing, but quite useless

So I received the following email from a friend today (I'm changing some things just to keep things anonymous):

Dear past Dinner Out Participants,

We will be going to Great Princess Ethiopian Restaurant tomorrow night at 8pm.
Go here to read a description, RSVP, or read a review of the Great Princess Ethiopian
Restaurant. Hope you can make it tomorrow night!


This was through gmail... So on the right side I got the following suggested thing to do:

Would you like to...

Add to calendar
Dinner out at Great Pr...
Sat Jan 6, 2007 8pm

- At no place there was the explicit date there (you had the email date, plus "tomorrow")
- At no place it was written "Dinner" (or "out", for that matter).

Simple things, but made me smile. It's not that I would use it for anything, as I don't like online calendar for scheduling, but it's just good to see technology doing the right thing.

Wednesday, January 03, 2007

First it was orkut, not YouTube

Another Brazilian lawsuit, now trying to get YouTube to pay a fine of R$10 million (about US$4 million), and an extra R$250K a day while the video with the model and TV show host Daniella Cicarelli is available on their website. The interesting thing is that now they are trying to turn on the "Great Brazilian Firewall" and block access to YouTube to everybody in Brazil. That is something I want to see happening! [source - in Portuguese, couldn't find the news in English]

I do think there has to be a mechanism in place to take care of these kinds of things. Surely they were in a public place and the person that recorded they doing "whatever" at the beach in Spain had all the right to record it. But there is a limit where your personal freedom starts to hurt somebody else. In this case, there is no gain to anybody (maybe to some sick people, but I won't get into this level of details), only career and psychological loss to this "poor woman and her boyfriend". I know you can't take it from the internet - once digital, forever somewhere - but you can show that there is a way to get at least some things out from some places. And this is all that matters.

I've missed this one...

Microsoft and AMD decided to give out free computers loaded with Vista to "famous" bloggers, as reported by ComputerWorld. I think I was left out of this first batch...

Not that I'm really looking forward to having a computer running Vista. I'm actually dreading the fact that now that I maintain a Windows machine, I might be forced into it in a year or so, when software will start to be released that will only work on Vista.

Talking about windows machines, when I renewed my TurboTax I got also the new Quicken. I already had a Quicken for Mac, but the newest version only existed for Windows, so that's what I've received. And I was quite impressed with the amount of extra features that the Windows version has! It actually connects with all my financial organizations and gets all the bills. In the past, I had to go and download the statements manually and it was a big pain. Enough for me to give up this mechanism for keeping my finances up-to-date.

The only problem I had was that it does crash from time to time (it happened twice already in about 2 months) and it was a huge pain to import things from my Mac Quicken to the Windows Quicken. It would have been quicker to start over from scratch.

My conclusion is that software for Windows, when it isn't something that is especially focused on Mac users, like Photoshop and the likes, does receive much more support and care. The law of numbers in software quality: that's where the money is, and not on the half a dozen Mac users...

Monday, January 01, 2007

Society of weirdos

Being social sometimes is fun. It certainly helps you grow into a more generally complete person, enabling you to see views of the world that you wouldn't by yourself. However, it sometimes can attract some strange people. The latest is a person that seems to be quite nice, but, besides the very complicated-to-understand Portuguese, she ended the email with something in the lines of: "may God be with you and bless you and protect you and make His light shine on your face and give you peace!"

Sometimes email signatures should just be abolished.