Hey, you: hands off the keyboard and step away from the computer!

Some developers really need to step away from their development job and study some things before getting back. And that's not to say worse things... I was navigating a Brazilian website today and suddenly I get a popup error that said (I've omitted some things and slightly changed some other things in order for this information not to be used by malicious people that might not have seen this error):

ERRO: /home/httpd/htdocs/[omitted].php (569) - mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'sistemabruboun'@'186.233.145.65' (using password: YES)
[BACKTRACE]
...
[FIM DO BACKTRACE]

Who in their right mind (or otherwise) would decide to add a username and password to a database in the error message??? 

Google+ is strange, and the bugs don't help

From time to time I look at Google+ for a reason or another just to see if there is any interesting reason to use it. But every time I do that I find things that just make no sense. For instance, twice already I had Amy on my circles and suddenly she wasn't on any circles anymore and Google+ was suggesting me to add her to circles. Huh? And I had to explain to my wife TWICE that it's not that I removed her from my circles. Fortunately she doesn't use Google+ so it wasn't a big deal.

Today I had a new one. I received an email that somebody that I don't know added me to her circle. So I went to Google+ to see who the person is... Not much information was provided, so I decided to look at the people that have added her to their circles. Google says: 8 people have her in their circles. I click on it and I get 5 people!!! But it gets better. In the bottom it has a small notice: "People who've recently circled <person> may not be shown." and a question mark. I clicked on the question mark and...

Thanks, Google!

A variant on multiple choice answers...

One in which you can only choose one choice at a time through Javascript:

Screen Shot 2013-02-17 at 9.19.44 AM.png

What you can't really see here is that if you choose "None of the above" it will make "enterprise" grayed out and unselect it if you had selected it. So, yes, it uses checkboxes to allow for multiple answers, but semantically it really only allows one answer right now (I think somebody was lazy and forgot to fill the list of the major car rental companies there).

Mountain Dew as a breakfast drink

I was reading this article on the Seattle Times today:

Mountain Dew introduces breakfast drink with a jolt

And the first thing that came to mind is: oh, Mountain Dew is not a breakfast drink? I don't drink it, but I've met multiple people that drink Mountain Dew all day long, including breakfast. So I'm not really sure how much market they will be able to get here. Maybe it's just that they can charge more and make more money out of the people that will switch just because PepsiCo now says that this one is "good to drink in the morning", so it must be healthy? It has juice (5 percent of it!) and vitamins! And, who knows, it might not have neon green color!

Anyway, thinking back on it, if people that drink Mountain Dew for breakfast change it to drinking this Kickstart, maybe they will be better off. It might have less chemicals, and some small nutritional value. It will have the same amount of caffeine (5.75 mg/oz), which could make people not drink more of it. So, go PepsiCo!

Enjoying the moment

Normally on Tuesdays I have voice lesson. However, yesterday it ended up being cancelled because my teacher had an urgent matter to deal with. Well, so I decided to use the evening to instead of just working late (which is not that I don't have to do, as I still have a ton of performance reviews to write) to go to a concert: Eighth Blackbird. It was quite great! Nothing like come contemporary classical music to make your day more interesting!

The concert itself was reasonably short. About 1h 30min with a 15 minute intermission. They played 6 different pieces:

  1. Derek Bermel's Tied Shifts (2004)
  2. Philip Glass's Knee Play 2 from Einstein on the Beach (1975)
  3. Tom Johnson's Counting Duets (1982)
  4. Gyögy Ligeti's Études for solo piano, arranged for sextet (1985-94, arranged 2012)
  5. Andy Akiho's erase (2011)
  6. Steve Reich's Double sextet (2007)

As you can see, they are all pretty recent (almost all of them composed when I was already alive, which is quite unusual for classical music). The weirdest one was probably Tom Johnson's Counting Duets. Unfortunately I can't find any recordings for you to look at, but basically it's for two musicians that just move around the stage counting (like "1", "2", "3"...). Just fascinating!

Anyway, they are nominated again for a Grammy. They already have two! I can't necessarily claim that I understand the correlation between quality and being nominated to a Grammy, or even winning one in classical music, but at least it means that they have some following and some people that are investing money on them to get them into the Grammy's. And I think it's well invested!

Is my HTML experience ruined?

When I joined Amazon, working in the catalog world, it made my life shopping at Amazon hard. I'd see all the possible catalog mistakes and it's would drive me crazy.

Now that I worked with an HTML5 platform at Amazon, now I'm feeling like my HTML experience in general is getting ruined, because I'm doing the same thing with web pages. For example, this is what I saw today when I opened twitter on Chrome:

Screen Shot 2013-01-15 at 7.05.14 AM.png

Pretty broken, right? Well, so I had to go and open it on Firefox and see what a different engine does with it:

Screen Shot 2013-01-15 at 7.04.46 AM.png

Less broken, but still not optimal. I tried to look at the markup itself and it seems to be some very strange unicode character that is causing it. Oddly, when I look at the inspector things look much more like what it looks on Firefox. I don't know what is causing Chrome to rotate those dots and then get confused about the text width and not know how to build that div. 

But let's put blame on the right place. I decided to open it on Safari then, which is also a WebKit browser. And see what happens...

Screen Shot 2013-01-15 at 7.13.16 AM.png
Fascinating... The font issue is the same, but it can figure out the right size for that div! Ah, HTML... 3 browsers, 3 different results!

Amazon AutoRip's unexpected benefits

Amazon launched AutoRip, which provides you with automatic MP3 versions of albums that you bought in CD form from Amazon. Not all CDs work, but for the ones that work, it will make things a little easier. Doesn't sound very exciting, right? Well, I went to check today what CDs were auto-ripped for me (well, all my CDs are already in MP3 format, so I was wondering what would happen with those) and it added 4 CDs to my collection. All 4 actually were CDs that I bought for other people! Thanks, Amazon (well, maybe I should thank them more if I really wanted those songs...)!

Happy New Year!

Amazingly 2013 is here! 2012 was a tough year. It was busy but not really as busy as 2011, but it was more introspective. It's hard to pinpoint what the problem of 2012 was, but now that it's over, maybe I can just leave it behind and move onto 2013. And there is lots in store for it already:

  • On January 14th I start in a new team at Amazon working on yet another secret project. My two years at Kindle were amazing. I learned a lot of what it means to do device and HTML5 development and handle working with a lot of people that are not on the same city I'm in. I've worked with some great people that can handle change in direction, or sometimes staying on the same direction for a long time, and still be fun and hang out from time to time.
  • End-of-march-ish my younger sister will become a mother of my first nephew (I have a niece). So that means I'll be heading to Brazil at some point during the year, but I don't know when yet.
  • More friends locally are going through the transition of becoming parents, which is also interesting.

Not much really changed in 2012...

  • After singing bass/baritone for about 16 years, I was now moved to being a tenor 2, and it's working alright so far.
  • I've started making bread more often (see other posts for more details)
  • I've gone on my first cruise (to Alaska)
  • I finally went to Victoria, BC, Canada.
  • My parents came to visit (they are here right now)
  • I've talked to my friends less (as much as it pains me to admit it)

Let 2013 come and bring joy to us all!

Somebody doesn't know how to count - Amazon Instant Video edition

There are lots of examples out there of systems not knowing how to count. I know that I have problems from time to time with Google Reader of it misrepresenting how many unread articles I have, for example. But today I found something that is closer to my control: Amazon Instant Video.

It's the end of the year, so it's time for the reports on the top of the year. So here is the top 20 best rated movies by customers on Amazon:

And yes, you are not crazy: there are only 16 of them. How fascinating! It's so easy to get this one right!

It's alive! (or at least doing something)

One of my current electronic projects is to build a distributed wireless temperature and humidity sensor network throughout my house and use that to eventually control my heater. One big restriction that I've forced myself into is to make it as inexpensive as possible. Well, after a few weekends of working an hour or so on it, I have something that works! Or sort of. But first for the summary of components (because that's important for what is going on):

The code is pretty simple: it uses a couple of libraries that already were provided out there (will provide the links soon, and post my modified code) and basically reads the two values and sends them to a receiver that is connected to my computer and logs the results.

Seems simple, right? Well, it is! So I put the sensor on the guest bedroom and I'm reading the information from my "lab" and it says: Temperature: 13ºC, Humidity: 27%. According to my measurements with other sensors, it should really say something like Temperature: 17ºC, Humidity: 52%! The interesting thing is that I have 2 of those sensors (they were $4 each) and they all say exactly the same thing, so if it's a calibration issue, it's consistent.

I'm not sure of what my theory should be. At first I thought that maybe humidity sensor was shifted by a bit and actually it's double that (which is consistent), but then the checksum should fail and the temperature should be off by a factor of 2 also, which it isn't.

What's next, then? Fortunately I have another humidity sensor: HH10D. A little more expensive and way more awkward to use (you have to read the calibration values from an EEPROM and then read the data and use those values to calculate the values), so I guess I'll leave this for some other time - probably next year (I don't know if I'll have time this weekend and then my parents will be in town for two weeks). Oh, well. We keep at it!

Breadth vs. Depth

Lately I've been very concerned that I haven't really been able to communicate very much with friends. I have not sent enough emails, posted enough on my blog, or called. Part of the reason is that I feel like I just can't find enough energy to spend time on a long-form prose or conversation, which I deem necessary in order to do any of those things. That's not a good thing to continue this way, so I have been trying to decide how to fix it.

One of the options is to abandon those modes of conversation altogether and adopt shorter-form ones, such as Twitter and Facebook. Start sharing things that I'm thinking about without having to spend time trying to draw conclusions or do a deeper research on it to see if it is something that I really have an opinion on.

At first I thought that short discussions were just too shallow. After some time I realized that I was missing an important part of it: the fact that it was a less filtered view of what is going on. I don't usually need to know what the person thinks about a subject, just that they are interested on a subject.

There is certainly a limit, though. You don't want really to know all articles I read, or songs I listen to, or things I buy. There is a level of noise that starts to muddle the message. We all read things that are not really that good, or listen to songs just because they were recommended to you, or they were randomly selected, or you just wanted to just not think too much about selecting your song and just listening to it. That information that you are then listening to the song has very little signal, tells very little about yourself. But because you are not really saying anything about it, just that you are listening to it, or reading it, it becomes impossible for somebody casually looking through your "life stream" to recognize the difference and that's when value is lost.

Another very important thing that you get on Facebook and Twitter that you don't usually get on a blog is discussions. Yes, people can leave comments on blogs, but that doesn't happen that often. Well, sure you can claim that this doesn't happen on this blog because almost nobody reads it... And that almost nobody reads it because I don't post anything here... And we are back to where we started.

The other side of the coin to discussions is that it is only useful if the people involved on the discussion are keeping up with it. It quickly loses the interest if it becomes one-sided because the other side just was never able to get back to it. That's what sometimes keeps me away from Facebook and Twitter (especially the latter): if I don't have time to check it at least once a day (sometimes more often), discussions with me end up not being very "enriching".

Back to the initial problem as mentioned above: what is the solution to the communication conundrum? I wished I knew. Maybe one of these days I'll find one. Until then, I'll just have those weekends where I post multiple times and those other 51-ish weekends of the year when I don't post anything.

Bread-making

A few weeks ago, I decided that I wanted to try to use my little positive energy that I have during the weekends onto something more "consistent" to see if I can find again some subject I can care enough for long enough. So I decided that I was going to bake bread.

At first I started with breads from my then favorite bread book that I've owned: Bernard Clayton's New Complete Book of Breads

It is a good book, but unfortunately it has quite a few recipes that don't seem to work so well. And when I tried to start going through it, I hit a set of them in a row and was demotivated. At this point I actually decided to stop my plans and focus on something else (more details on that some other time).

Then I was reading some article somewhere that pointed me to a new book: Flour Water Salt Yeast: The Fundamentals of Artisan Bread and Pizza by Ken Forkish

This book, not only provided some bread recipes, it also talked a lot about the process of making bread and why he believed his bread tasted better than other breads. So I decided to give it a try and... I now completely agree with him: the breads that I've made from this book do taste better than the breads that I've tried from other recipes. I've now gone through 3 different recipes from this book: "Saturday White Bread", "White Bread with 80% Biga", and "Overnight 40% Whole Wheat Bread". Amy's favorite was the Saturday White Bread (which was also the easiest to make) and my favorite was probably the Whole Wheat one.

Below I've pasted some pictures of the breads. They look nice, huh? Not that different on the outside, though.

I'll probably continue with it. I don't know if I'll be able to continue baking a loaf a weekend, but I'll continue trying until it stops working. It is a lot of effort to find the time to do it. It's not a lot of work itself, but it's quite some work spread out throughout the weekend and that need to happen at specific times (at least some parts of it), so it's not that easy to do on busy weekends.

Saturday White Bread

White Bread with 80% Biga

Overnight 40% Whole Wheat Bread

Election time... Time to watch everything on Hulu!

It's that time of the year where elections are getting close in the US and candidates are getting desperate. What that means is that if you ever watch local channels you get minutes of commercials of one candidate just saying dirty things about another candidate. At least in Washington State, that seems to be the only strategy left! And then people are concerned when the vote turnout is very low - nobody would know who to vote on, because nobody ever seem to be saying anything positive about their campaign anymore.

Yes, I know I can't vote in the US, and I don't even watch local TV, mostly focusing my TV watching experience to using Hulu, where you don't get all those election commercials (there is still some, but they are rare at least for the shows that I watch). So you might be asking why I care? Well, maybe it's just my brain looking and something and identifying it as bad, and trying to fix it.

Fix it? How do you fix it? They are very likely effective at reducing the number of votes that your opposition will get on this election, so why should this change? Because I believe that is a strong psychological effect of voting on fear change caused by you not voting compared to voting for the hope of change (or continuation of what you believe is good) through vote. It build future engagement and ownership, instead of just complacency and isolation.

Anyway, politics is hard. There are to many variables always in play and pretty much every situation is fundamentally different than the other, so there is very little science that can help you most of the time. The best you can always hope for is that the person that has been elected is true to him/herself and that you won't be surprised in a few years that they are actually doing things you never thought they would do. That's how you lose all that hope and start believing more on the fear style of voting.

Brazilian wines?

When I lived in Brazil, I can't say that I understood much of wines. I drank something occasionally, but mostly because my father drank something occasionally (or on Jewish holidays, but that usually meant bad sweet wine). After I moved to the US, actually more after I moved to Seattle, I started to pay more attention to it and appreciate more the variety and subtlety of flavors in wine. I still can't say that I'm a huge wine drinker (I probably drink 2 cups a week on a good week), but I can now even sometimes select wines at a restaurant without being completely overwhelmed (sure, there are some restaurant wine lists that are built to be overwhelming).

Back to Brazil, one thing that I remember, is that Brazilian wine wasn't really very good. If one wanted to drink "local" wine in Brazil it usually meant wine for Argentina or Chile. Apparently the industry has been growing since, which is good. I still can't find Brazilian wine for sale in the US (at least not in the places I usually look). But could this be changing? Yesterday I received an email from Snooth with their "wine of the year" and... It's the 2006 Lidio Carraro Tannat Grande Vindima. Interesting decision... Probably not a good one, but it does show that there might be some interest building on getting Brazilian wines to more people, which means that I might be able to tell how far off these people were on their assessment. Probably I'm not going to be spending $100 on a bottle of wine, but hopefully it works as a catalyst for other more affordable options.

The cost of being busy

Lately things have been quite busy. Between events with friends, work, and traveling to Cupertino, I haven't had much time to sometimes even look around. And that's why I ended up missing the fact that my favorite restaurant around work has closed: On The Fly... How disappointing! And it has been closed for almost 3 weeks now and I didn't even know! See what I do even with my favorite restaurants???

Email templating failure

Some day people will give up on the currently existing mass emailing systems. I've worked on one before, and I've tried to use one a couple of times. The biggest problems of those systems is that they are just easy to make mistakes... And there are two main types of mistakes (that don't happen on a normal email):

  1. Typo that causes your "personalization" to not work
  2. Formatting that doesn't work on all email readers.

The second one is actually more due to email readers not being the most standards-based application. Their support for things like HTML formatting is not very consistent. But what I've seen as being the most tricky thing about formatting on emails is related to text encoding. Some email clients expect different types of annotations for encoding, which causes you to not see what the other is expecting. Fonts are also tricky, as some email clients allow you to write your email on any font that exists on your computer, but when it gets to the recipient's computer, that font might not exist.

What triggered this post? The following email that I've received:

Transient

It shows all those issues in one!

There are other challenges with emails: the fact that you can't authenticate senders (technically the email protocol allows you to send an email claiming to be anybody that you want), you can't ensure that the email reached the recipient, and, mostly due to the first problem, everybody has spam filters that don't work 100% of the time to only remove spam. This is a bigger problem for people doing mailing lists or mass mailing, as they are on that boundary of fuzziness of what is Spam, so they very often are kicked to the Spam folder.

People have been talking about replacing emails for some time. Google claimed that they were going to do it through Google Wave, which died a horrible death. Other people claim that Facebook will kill email this time. And I do know some people that moved most of their communication there. But I still don't think that's the full answer. And if you don't have a full answer on a single service, I don't know if that's something that people will actually use. Anyway, I've deviated too much from the topic here. I'll approach the future of email on a future post.