Rice University logo
 
Top blue bar image
Boanerges Aleman-Meza, Computer Scientist
 

end of year emails

December 23rd, 2014 by ba8

It is almost end of the year. Emails are coming from a bunch of suppliers, all of them wishing Happy Holidays. Even the organization for which I work goes the extra mile to make a web page with a video for the holidays. A co-worker (different lab) asked if I’ve seen the video. He said that the focus is on sports, and new constructions that took place during the year. It is clear to me that for alumni, it would be a great video.

I’m not sure what companies expect us to do with a happy-holidays email. There is no action for me to take. There is no promotion listed. There is no announcement of new products.

These things caught my attention among the happy-holiday emails:

  • The ones including a photo of employees are nice yet I happened to spot one company that seem to have zero minorities
  • Listing a link to visit their happy-holidays web page is useless.
  • Animations or use of flash is annoying.
  • (update 12/30) Sending emails about ‘happy holidays’ on the 28th of December (or later) seems a bit silly


Time travel with perks (story)

November 6th, 2014 by ba8

tl;dr Travel to the future and take full control of someone’s body (wifey) for a few hours.

I’ve been fascinated with time travel since I was a kid. Back to the future is one of my favorites. I was unable to find any flaw on the story for a long long time. Recently, I had this weird dream, from which I took the main idea for this story.

A long time ago, in a planet far, far away… Adam tested his time-machine. He could only travel to the future, no more than 2 weeks into the future. He setup the test of the the machine to appear two days into the future, at 2am, location: the master bedroom of his house. He pushed the button and felt a short cold breeze. Then he opened his eyes. It was dark, it was very late at night. He then hear the snoring of the other person on the bed. He touch his hair; it was very long. He then got closer to the other person on the bed bed and saw himself snoring and with a slight smell of alcohol. Adam has short hair, his wife has long hair.  It worked. He did travel in time to his own bed and is now possessing his wife’s body.  He moved his hands down the chest; it was a woman’s. Then he got up and walked to the bathroom. The night light allowed him to see in the mirror that he was in his wife’s body. It was odd. Then he proceeded to do the second part of the test. He walked to the kitchen, took the potato peeler and cut himself a small cut in the knee, his wife knee. He felt the pain, took a napkin and cleaned the two or three drops of blood. He wrapped the napkin in another napkin and trashed it. This is it. He went to back to bed as the time he had set to stay in the future was short, only 5 minutes. Laying down on bed, pain subsiding, hearing the snoring, waiting, and touching the next person, himself, with just a small padding, so that the snoring stops. He waited, and in a couple of minutes felt the cold breeze again and was back in his normal timeline, his hand just in front of the button he had pushed 5 minutes ago, actually, just a second ago.

The test for time travel worked well on his side. He was in the future, took possession of his wife’s body, did a tiny cut in her knee and went back to sleep. Now it is time to plan his actions for two days into the future.

The next day he stayed up late, working in the computer until he knew he would have only 4 hours of sleep. Then on the second night, during dinner, he popped an allergy pill; the ones that make him really sleepy. After dinner, he shared a beer with his wife, but after she went on to her computer as usual, he had a second beer without her knowledge. He was sleepy from the previous night, plus the allergy pill and the beer, he knew that he only had to wait until around 11pm and he’ll be deeply sleepy when the time travel test will take place. He slept trough; only to wake up at around 4am to pee. He then felt the anxiety as he wondered about his wife. He turned and looked at her sleeping on bed, as usual, without making any noise. He moved the blankets and spotted her hurt knee. Now he will go pee and then be back to sleep and talk to her in the morning.

He woke up first. Then he went to the restroom, followed by shower, when she came into the bathroom and only said “good morning”. He proceeded as the usual routine. When she was getting ready for a bath, he asked her “what happened to your knee?”. She looked at it and said she did not know, she must have hurt her somewhere and did not even noticed. He was happy. The time travel test was successful. He could travel to the future, possess someone’s body and that person would not remember, even if they got hurt. He then started to plan his next time travel episode, same location, same person’s body being possessed, but this time he will use his wife’s body to find out whether he is gay or not; or B (as in LGBT).



small gym routines

September 4th, 2014 by ba8

I’ve taken notes of my notes at the small gym (3 year old kids). The routine varies every week but here are some of the activities:

  • Airlock: kids go on it, lift hands up, airlock fills in. Then, donkey legs and turning, jump all the way, forward rolls. Jump forward.
  • Play/music:
    • Bouncing balls with music that stops and goes several times.
    • Run around but also jump sometimes depending on the music
  • Beam on floor
    • walk along the beam and jump when reaching the end
  • Balance beam
  • Uneven Bars:
    • turning around forward facing and backward facing
    • stand on one, hold the other with hands and hang in there for a moment
  • Two bars, move along (or crawl) them with hands and feet
  • Jump followed by forward roll
  • Legs on wall, hands on floor, hold it a bit, then do it again.
  • Single bar
    • hang on the bar (favorite)


Recipe for Mexican Rice (from my mom)

August 19th, 2014 by ba8

This is the way my mom prepares Mexican Rice.

Ingredients:

1 cup long grain rice
2 tsp oil
2 cups water
1 cube Knorr Chicken Bouillon
1/2 cube Knorr Tomato Bouillon with Chicken Flavor

Procedure:

  1. Add oil and rice, medium heat; boil water in a separate pot on high heat.
  2. Keep stirring the rice till it is golden, about 7 minutes; At the same time, the water should be boiling or close to boiling.
  3. Add water to rice, add chicken and tomato bouillon cubes, mix so that the cubes dissolve completely.
  4. Boil on medium heat for 8 minutes uncovered.
  5. Cover the pot, reduce to low heat, cook about 12 minutes till rice is soft and all water is absorbed. Rice should not stick to the bottom.

Notes:

  • I have used a big pot to make 4 times the original amount. In such cases, I use 4 cubes of chicken bullion and 3 cubes of tomato bullion.
  • When using powder version of the chicken or tomato bullion, 1 cube = 1 tbsp.


ok Toyota, if you insist on knowing about bad service via survey

May 28th, 2014 by ba8

I did regular service on my Toyota car early on May 2014.
I’ve received three emails asking for feedback about my recent service experience, and today I actually received a phone call to remind me about it. I strongly believe that no one truly reads or acts upon such automatically generated surveys. But, given that Toyota insists, I’ll fill it up and copy relevant feedback here.

Quality of work: They should have mentioned that the terminals had corrosion but I should have read the printout of the service too, instead of relying on the service advisor saying that “everything is great with the car”.
They normally inspect the cabin air filter and recommend changing it. I have changed it myself in the past, so I changed it about two weeks after the service.
To my surprise, I found that the little tube that helps the globe compartment to open slowly was disconnected. I also found that they did not even blow air on the cabin-air filter. I know for a fact that even if you do not install a new one, it is a common practice to just blow some air on the filter to remove some of the dust. When I replaced the cabin-air filter I knew immediately that such blowing of air to clean it a bit was not done at all.
I consider such quality of work to be unacceptable.



Simplest biology heatmap in php

April 23rd, 2014 by ba8

Biology heatmaps are useful to summarize results, such as in this example:

Need: create a heatmap from values in a database table. The table has three fields, one for names of rows, another for names of columns, and value.
Solution:

  • Make a table in HTML
  • Set the background color of each cell depending upon the value of each database record.
  • The color coding preferred by my boss is from blue to black and then to yellow:
  • Find out what the minimum and maximum value are supposed to be. In my case it was 0.9 and 1.1
  • Make a list of colors such as colors.php (if you use this file, rename it from .php.txt to .php, I appended .txt for easy display/view on browser).
  • Use a formula that will get you a given color depending upon an input value.
    • My formula requires to know the ‘start’ value, in this case 0.9; it also needs to know ‘half’ of the heatmap, in this case 0.1
    • Example of getting the index value in php, where $value is the input value:
    • $index = round( ( ( $value ) – $start ) / ( $half * 2 / ( count( $colors ) – 1 ) ) )
    • Then the color to use as background color in each cell would be: $color = $colors[ $index ]
  • Display a ‘legend’ that tells the user the range of colors for given values.
    • My legend is automatically generated using ‘start’ and ‘half’ values, here’s an example for a legend that ranges from -1 to 1
    • Actually, I have it as a file that gets included into the file containing the heatmap. Legend php file: legend.php
    • I should mention that the file containing the heatmap must include the colors.php before including legend.php
  • When things go OK, heatmap should look pretty. Example:
  • Missing values should use a different color, such as gray.
  • Last note: it was not necessary to care about efficiency when displaying the heatmap. One query was used to remember the rows and columns. Then nested loops performed queries to retrieve the value of each cell in the table. That is, for ‘c’ columns and ‘r’ rows, there were c * r queries to the database, which was OK in heatmaps on the range of 100 rows by 20 columns.

Later, the database table had to be updated via a text file. These steps were done to update it:

  • Truncate the existing table
  • Make sure that there is no header line (such as cross1 cross2 value)
  • Since we’re in linux, make sure that end-of-line characters are not an issue (‘vi’ tells me if file is DOS, if so, do: set ff=unix).
  • Load the new file into the table via SQL command: load data local infile ‘heatmap.txt’ into table heatmap
  • Verify the minimum and maximum value in the table so that the heatmap can display colors correctly


Lentils soup (mexican dish ‘sopa de lentejas’)

April 20th, 2014 by ba8

Ingredients:

  • 5 cups of lentils (1 lbs)
  • 1/3 cup of chopped onion
  • 1 garlic cove
  • 6 cilantros
  • 3 cups of mixed veggies (I normally used one 16 oz. frozen bag)
  • 2 tomatoes (chopped)
  • 4 slices of bacon, chopped in 1/4 inch pieces (alternative ingredient: ham)
  • 3 teaspoon chicken bullion
  • 3 teaspoon salt

Procedure:

  1. Wash the lentils with water and drain the water
  2. Fry the bacon in a big pot with 2 spoons of oil
  3. Add the onion and cook until it gets transparent
  4. Add the tomatoes, the veggies, the lentils and mix them
  5. Add water, chicken bullion, garlic, salt, and cilantro
  6. Mix and cook at middle fire for 30 minutes


Interviewee and interviewer in the same week

March 25th, 2014 by ba8

tldr; I believe that interviewing people does not improve my technical skills.

The other week I did a phone technical interview with a company that is one of top 5 in its category. Here’s what I consider top tech companies and why, in no particular order:

  1. Google – potential for growth and they still do not do everything well.
  2. Twitter – this company will have an influence for decades to come.
  3. Facebook – they capture family relations better than any one would dream of.
  4. Amazon – they sell stuff but they are going to grow much more in future.
  5. Microsoft – I think they are the underdog now.
  6. Apple – I would like to work in something new they do and ‘secret’ enough that I would not be able to mention it to my partner.

On the same week, I was the interviewer for a handful of candidates for a six-month internship at my workplace. It was clear to me how to prepare for the technical interview. However, I could not give any precise advice on how to prepare for the interview to join our lab. When I reflect back on the interviews, I realize that interviewing people does not improve my technical skills. The people I interviewed are undergrads in biology area. I would think that the person that interviewed me had a chance to improve his/her technical skills because I was asked programming questions. It is likely that the interviewer learned nothing new, but the chance is there.

I did enjoy talking to candidates to the lab where I work. It is good that all have a high level of knowledge and are likely to do well professionally.

The books that I browse for preparing for interview were:

  • 60 seconds and you’re hired (by Robin Ryan). Summary: reply with short answers (no more than 60 seconds)
  • Programming interviews exposed (by John Mongan, et al, 2nd Edition)
  • How would you move mount fiji? (by William Poundstone)


Your January eStatement is available

February 4th, 2014 by ba8

“Your January eStatement is available” and similar monthly-statments emails are useless notifications in our time.

What does the bank (or other institution) expects me to do? download it, print it, and archive it for my records?

It is not needed! unless you’re applying for mortgage or something like that, it is useless.

In addition, the institutions that send me such emails do not have an option to unsubscribe! It is either get zero emails or get all, and I need other emails, such as the email they send when a check has been cashed.



Missed opportunity on “replies to survey@united.com are not monitored”

January 23rd, 2014 by ba8

United Airlines has been sending email after each flight, such as: Tell us about your recent flight from Cancun, Mexico to Houston, TX.

My unsolicited suggestions about their approach:

  • Remove the line saying “replies to survey@united.com are not monitored”.
    • It tells me that no one cares. Others have pointed this out: here, and here.
  • Give the option to just reply to message, or answer the structured survey.
    • Imagine a big display on a wall inside United Headquarters that randomly displays such emails for them to see as they walk on a hallway.
    • Such emails could be placed automatically into an internal blog in United, or a forum, so that follow up can be done as needed.
  • It makes no sense that the survey “expires”.
    • After a week long vacation, does United really think that answering their email is the top of the things to do when I get back to home and work?
  • Give some incentive to provide feedback. Example: a chance to win a tablet, or even a chance to win frequent-flier miles.