New photography gear

Nikon D7000

I got new photography gear after my last “accident” forgetting my Cannon T1i at the airplane on my last visit to Mexico city. Also, it was my birthday gift to myself.

I was sad about loosing my camera and about how long it would take for me to get new gear, since it’s very expensive. Luckily and without really searching for it, I accidentally stumbled upon a great deal at Best Buy that I couldn’t refuse: I got the Nikon D7000 with 18-105mm f/3.5-5.6 AF-S DX VR ED Nikkor Lens, two 8 GB cards and the Nikon 50mm f/1.8D AF Nikkor Lens for a very good price.

I’m very excited about the new photos I can take with this 50mm lens, which is not excellent but it has very good reviews and some say it will help me become a better photographer by moving around to compose my shot.

I wanted to switch to Nikon for a while. I’m very used to Cannon, but without trying to enter a Cannon vs Nikon flame war, I think Nikon has better image quality and build. Speaking of flame wars, I feel like switching from Vi to Emacs with this change. The Nikon system has a steeper learning curve but I’m sure once I get used to it I’ll feel it more comfortable. I still have a lot to explore with this new camera and lenses, so I’ll keep posting.

My new photography gear

Posted in Photography | Tagged , , , | 1 Comment

Using Git with Subversion repository subdirectory

Git logo

Interacting a local git repository with a subversion one has been very useful and is very common on old projects. The way to do that is by using the git svn commands. But sometimes there are situations where there is one large repository with several projects as subfolders in that repo.

Using the standard svn cloning command:

git clone my_svn_repo_server.com/repository

Will checkout the whole SVN repository (all subfolders, hence, all projects) into your local machine. This can be very large if the codebase and history is big, and very slow to interact with, since getting your local repository updated will involve getting changes from all other projects.

To make git clone a subdirectory from an SVN repository, use the following:

git svn init http://my_svn_server.com/repository/path/to/directory/of/project
git svn fetch

This way you not only clone that subdirectory, but also you will get updates from only that folder, making faster code pulls and pushes to the central SVN repository.

While I consider a very bad practice to have one large Subversion repository with several projects inside it as subfolders, I’ve come across such setups several times and it drove me crazy to have to checkout the whole thing. Hope this helps out.

Posted in Programming & Web Development, Tutorials & Tips | Tagged , , , , , | Leave a comment

The importance of real-time personal communication

I Hate Digital

For the past two months, I’ve been staying at an old friend’s house, who’s helping me out while I move my things and rent a flat in Guadalajara. He has no Internet access at home and he says he prefers being “more analog” than, for example, me, that I do everything “digitally”. We are very good friends but handle things on a very different way.

One day we were discussing how my search for places to rent was going. While I was telling him how I found listings on the Internet to start calling, he said the best way is just to drive around the neighborhoods of my interest and look for leasing signs outside the buildings. At first I thought it was a very innefficient way to do it, but after we tried it a couple of times, I understood it is a better option. This way I knew exactly where and in what conditions the property is. The best part was that sometimes calling the owners while being outside the property got me opportunities to visit it right away, since some of the owners lived nearby and could show me the place.

Waiting for a phone call

A situation I felt bad for was when he offered to give me a ride home from the office. I was not finished yet and I was going to take some extra hours before heading out. I sent him a message using WhatsApp but I never saw that my message was not delivered immediately. He waited outside for 20 minutes, then left angry about me not telling him what was going on. I apologized later when he told me what happened, and he’s right: some things are better handled directly, either by going in person or calling in real time to make sure the other person is aware of the situation.

In retrospective, it reminded me of the times when I sent my girlfriend messages and she replied 2 hours later, when my message was no longer relevant, with the excuse that the phone was in her purse and she didn’t see or hear the notification. That pissed me off constantly.

I’ve been handling everything very asychronously or through indirect communication for a long time. I’ve been constantly communicating via IM (which can sometimes be not so instant) or Email instead of talking to people directly. It feels more comfortable to just send a message, very impersonal and you get the illusion of being in touch. It sometimes takes some extra effort to call or go to the person and talk right away, but in the end, you get instant feedback of what you need, resolve situations faster and you get in a better relationship with the people around you. I know because I feel better when I get a phone call from an old friend, than an email or a Facebook message.

It’s a good thing that my friend made me realize this and made me aware of the consecuences of indirect (or impersonal) communication. Sending an sms, a message, or emails might be practical, but sometimes is not the right way to do certain things. Calling someone right away to get realtime feedback, make things faster, easier and more personal. From now on, I’ll try to interact with people directly instead of through messages.

Some things just can’t wait for a reply.

Old school phone call

How do you balance “digital” vs “analog” communication?

I Hate Digital photo by the|G|™
Old pix of Hanim photo by rèi
Old school phone call photo by zubrow
Posted in personal | Tagged , , , | 1 Comment

Galaxy Nexus with Ice Cream Sandwich from Telcel

Galaxy Nexus box

I was lucky to get an online coupon to get the Galaxy Nexus phone on launch in Mexico (Telcel carrier) last thursday.

The software and usability

I wanted to give the phone some use before writing about it so I waited some weeks to post anything about it. I think it’s a very fast and elegant phone and the new operating system is key to its success. The good news is that the Galaxy Nexus was not altered by the carrier, so it has no crapware on it. It’s 100% Google’s Android Ice Cream Sandwich.

Having used for months the Samsung Galaxy Tab with Honeycomb, moving to ICS was not a big deal to me, but I can imagine that it would be a big leap for Gingerbread users. The interface is very different and they way you interact with apps has also changed. Since there are no “physical” buttons, or touchable buttons like in the Galaxy S and S2, all buttons are on screen. The menu button is gone, so for apps that use it you need to look for a button that has three vertical dots. That can be very confusing at first, but having used the Honeycomb’s Gtalk and Gmail apps, it was easy to figure that out immediately.

One friend once complained about Android taking too long to open the contacts list. On the Galaxy S it took a couple seconds to load. I don’t know if this is Samsung specific or all 2.x versions had this lag. On ICS there is no lag when opening the contacts list, it has a very fast scroll and it has a very nice and clean design.

For the security aware people, ICS now comes with an option to encrypt your phone, a feature that was present in Honeycomb as well for the tablets (but I hadn’t tried until now). The bad news about it is that once you decide to encrypt your phone, you can no longer use swipe, pattern or face unlock screens. Only PIN and passphrase unlock screens are available. I didn’t expect that but I don’t mind, I “ported” my pattern to a PIN and use that. I can’t imagine typing a passphrase everytime you want to unlock your phone.

Galaxy Nexus with Ice Cream Sandwich

The hardware and design

On the hardware design part, I like the fact that the headphone jack is at the bottom and not at the top like in the Galaxy S, this makes it more comfortable and a more natural movement when taking it out of your pocket without having to flip it around. I sometimes miss the front button that you could tap quickly to turn on the screen.

My surprise though, was that when I read the Galaxy Nexus official website, it says it has 32Gb of internal storage and no indication of any alternative options. The version I got, has only 13Gb and since it has no SD card slot to expand your storage, this can get quite limited.

The Galaxy Nexus has a multicolor notification LED that is very practical to see what type of notification you haven’t seen. The downside is that the LED blinks very slowly, so you have to stare at your phone for a couple seconds to see if there’s anything blinking. On the Galaxy S I used BLN notification and when I had a notification, the LEDS were always on. If only I could make the Galaxy Nexus LED blink faster it would be more practical.

Compared to the Galaxy S2, the phone’s camera is “smaller” on the Galaxy Nexus, and by that I mean that it has a 5 megapixel camera vs the Galaxy S2′s 8 megapixel camera. The good news is that it has a zero delay shutter speed so as soon as you hit the button, the picture is taken. Long shutter lags was one of my biggest rants on previous phone cameras, so for me this is a must have on every phone from now on.

Battery lasts longer than my Galaxy S, for which I’ve had to buy an additional battery because it drains so quickly. Still you have to take the normal battery saving considerations of turning off things that you don’t need, but it still lasts longer on idle. It’s a bigger battery as well, so it might be just that.

Conclusion

Having used the phone for a couple weeks now, I noticed that for me there was little difference in speed and usability to use the Galaxy Tab with Honeycomb or the Galaxy Nexus with ICS. But I could feel a difference when using the Galaxy S with Gingerbread. I went on a weekend trip taking only my phone and I didn’t miss my Tab or my laptop to do my causal browsing and information consuming “needs”. But I couldn’t say the same if I just had the Gingerbread phone, the larger screen and the commodities of ICS in the Galaxy Nexus makes it a very fast and comfortable mobile device. ICS is a very well built mobile operating system that is not designed as only a smartphone like the 2.x Android versions. I’m very happy with this new phone and I recommend it greatly.

Posted in GNU/Linux Free Software & Open Source, personal | Tagged , , , , , , , , , , , | Leave a comment

CSS3 columns in Internet Explorer and other unsupported browsers

http://www.csscripting.com/wiki/images/4/4b/Diagram-css3multicolumn.gif

Recently I’ve been working on a project for a client that makes use of CSS3 columns in its layout design. The problem with CSS3 columns is that it’s not supported by any stable version of Internet Explorer so far (surprised? no? good!). At the time of this writing IE9 is the latest version.

Luckily there’s hope. The CSS3 Multi-column script helps render columns in browsers that do not have this capability. All you need to do is download the file and add it to your HTML after all your stylesheet declarations. It will read all your CSS3 column declarations and render the content accordingly.

The script uses some crossdomain ajax calls to work its magic, but IE8 does things differently. I’ve patched the library with the fixes needed for it to work correctly in IE8.

Download the patched CSS3 Multi-column script.

Thanks to Tobin Titus, Internet Explorer Performance Manager, who helped me track the bug down.

Posted in GNU/Linux Free Software & Open Source, Programming & Web Development | Tagged , , , , , , , | Leave a comment

Resolutions for 2012

new years resolutions

At first, according to my last year’s resolutions post, I thought this year’s resolutions would look like the image above. Fortunately after reviewing a bit further, I did manage to accomplish 5 of 7 goals, so it’s not that bad.

  • I went to Google I/O
  • I got back into the open source community in Mexico giving talks in Puerto Vallarta
  • I traveled several times to San Francisco
  • I didn’t initiated my entrepreneurship with a startup, but I started freelancing and got some ideas around.
  • I lost some weight and did a bit more exercise than the year before.

This 2011 has been a year with lots of changes. The good times have been great, but the bad times have also been very deep. It’s been a year with a lot of travelling, learnings and experiences.

For this year, I’m still having trouble setting up my goals. I’ve been thinking about this post for the past two weeks and still things look blurry. Maybe because of all the things that happened last year and I still don’t have a clear mind to see where I want to go. Right now I feel this 2012 is a blank sheet of paper. Anything can happen.

Still, I don’t like having absolutely no plans. There’s a saying that has been sounding in my head for the last months: “If you don’t decide what to do with your life, life will decide for you…and it might not be what you wanted”. So I must set a few goals at least.

Improve health by getting fit.

I need to get closer to my ideal weight. I need to loose about 10kgs. I’ve been loosing weight with little effort following some tips from The 4-Hour Body . I interrupted my diet but I will restart it since it has given me good results.

Quantify and monitor life.

I would like to start monitoring and quantifying more the things I do in life so I can take decisions based on real numbers not just on appreciations of what I’ve done. For example, I just told you that I did more exercise last year than the year before. That’s just a hunch. I really can’t tell exactly by how much hours of exercise I exceeded the year before. Also because of my high cholesterol detected a few years back, I must test my blood regularly. I want to keep track of my health improvements and blood tests so I can motivate myself to keep making good health choices as I watch my progress. Things like that can be measured and tracked, and will aid me when taking decisions in health, financially and other aspects of life. Reading Sacha Chua’s blog has inspired me to start tracking and monitoring life.

Keep exploring startup ideas.

Release early, release often. Last year I did release the changes I had promised, but I’ve also had time to develop some new ideas but haven’t been published. I’ve been approached by a lot of people with ideas and the most common thing is that no one executes. I did some prototypes but nothing got published. And if it’s not published, it doesn’t exist. Those ideas must get out of my mind and my local machine and out there to gather feedback in hopes that one of them might also get some wings. If not, I still win, by learning what doesn’t work and why.

Keep the traveling going

It’s very refreshing and inspirational to travel around and change locations out of your routine. You know what they say, that sedentary life is bad for health. I think it not only applies to a sitting down in front of a computer kind of life, but also a not getting out and staying in the same places can age your mind.

Write more.

Even if it’s not a blog post to publish. I want to do writing as a mind exercise of setting my thought clearly and in order in a written form. Writing your thoughts, memories and ideas down helps organizing your mind and it’s cool to be able to go back and read what you’ve thought before, how you felt, etc. The mind can’t retain all the details. The book Writing About Your Life: A Journey into the Past was a very inspirational read about getting into writing, as well as a good guideline on how to start and what to do.

Posted in personal | Tagged , | Leave a comment