Teotihuacan Pyramid of the Moon
Photography

Teotihuacan pyramids in Mexico

I’ve lived in Mexico almost all of my life (except for one year) and I had never seen any of the pyramids we have. I felt like I was a “bad” mexican or “incomplete” mexican by not knowing these amazing historical landscapes that everyone around the world talk about when visiting Mexico, besides the tequila, the beaches and the food.

So I finally planned a trip to Teotihuacan and take a few photos there.

The entrance was free, but I was not allowed to take my tripod with me. A security guard stopped me and told me that I needed a special permit to be allowed to use a tripod inside. I’ve heard about this rule for some churches in certain places but it’s the first time I get stopped for it myself. And of course as most security guards behave, I didn’t get informed on how or where I should ask for that special permission.

GST_0005

GST_0006

GST_0070

GST_0001

GST_0017

GST_0019

GST_0022

Since it was a weekend, the place was crowded with people. Ada and my uncle, who grew up in Mexico city and had visited the place several times told me that it usually is not as crowded. But when they visited, most of the times were school trips during the weekdays and they say those days the place is almost desert. So if you plan to visit to take some photos (with your tripod special permit), plan your trip for a week day if you want photos without people.

GST_0023

GST_0031

GST_0035

GST_0041

GST_0046

GST_0048

GST_0054

GST_0056

Ada and I met with my uncle, who’s a year younger than me and whom I hadn’t seen in several years. Little did I know, my uncle had just partied the night before and got home 1 hour before I picked him up. But he was a fighter and got up to the top of the pyramid of the Sun while hangover.

GST_0057

GST_0066

When we got to the top of the pyramid of the sun, there was a large crowd looking at something at the very center of the area. I asked what was going on, they told me that people were “recharging energy” by touching a little hole in the center of the pyramid. I got close enough to try to see this hole, and it was a little dent between rocks that was like a stone had been removed because it didn’t go deep at all, and people were putting their index fingers in it. It is always hilarious to me when people believe these kind of things.

GST_0061

So it was a very nice experience, lots of sun, we had to carry our water because it is a long walk between pyramids and in general we just had a nice time.

GST_0060

Standard
Burlesque girl
Photography

Burlesque show in Guadalajara

I attended to a burlesque show by Araceli De Anda in Guadalajara. Being used to classical ballet, contemporary dance and modern jazz, burlesque is something very new to me. I enjoyed this show that was based on the Wizard of Oz story. It was kind of bizarre, like all burlesque shows are, but also sexy and funny.

GST_GST_9883

GST_GST_0002

GST_GST_0003

GST_GST_0006

GST_GST_0020

GST_GST_0029

GST_GST_0035

GST_GST_0055

GST_GST_0077

GST_GST_0088

GST_GST_0090

GST_GST_0093

GST_GST_9920

GST_GST_9948

GST_GST_9959

GST_GST_9968

GST_GST_9973

GST_GST_9993

There’s a lot to learn to appreciate and understand this art form in a deeper sense, but you don’t need much to have fun and enjoy the show.

Standard
jumping jack
Photography

Nutcracker rehearsals by the Academia de la Danza Mexicana

Photographing dance is a tough task. Specially when it is an indoor low budget theatre with poor lighting setup. In these situations, you push your gear to the limit, not because you set the gear to the its maximum settings but because you need to explore the limits between capturing the moment and haivng a technically “good shot”.

The high noise in these images are because of my high ISO I needed to use. I’ve come to the conclusion of sacrificing image quality for capturing the right moments. And if you enjoy these images, I hope I’m not wrong.

GST_0024

These are some shots I took at the theatre rehearsals. Because of schedule conflicts I couldn’t shoot the main events, but I enjoy the rehearsals more because I get a better insight and feeling of the complexities and hard work that is put into these events.

GST_0014

GST_0013

Everyone involved, from the dancers and the musicians to the technical staff, makeup artists and most of all, the teachers and choreographers put a lot of effort for ballet to seem like an effortless dance with magic and princesses and where all is fine and beautiful.

GST_0037

GST_0043

GST_0050GST_0052

GST_0054

GST_0061

GST_0070

GST_0087

GST_0100

GST_0113

GST_0119

GST_0126

GST_0143

Yes, there is a lot of “magic” and beauty, but also a lot of hard work and effort. In these images I hope I could capture both, the beauty and the hard work by everyone involved for you to have a glipse at what is is to be in the dance profession.

GST_0059

GST_0151

GST_0170

GST_0168

I’ve been sitting on these images for way too long. I took them on November 2013 and I didn’t want to continue publishing more material without sharing these first.

For me, seeing these images again after many months and remembering how I also struggled to capture them, I realize that in this business everyone involved, even the by-stander-photographer pushes themselves to the limit to deliver their art.

GST_0188

Let me know what you think, and if you feel identified with this story, I’d like to hear your stories of art delivering hard work in the comments.

Standard
python snakes
Programming & Web Development

Using Django models in external Python scripts

Since Django 1.4 the syntax to import you models in external scripts has changed. The setup_environ method has been deprecated for a while and it no longer exists in Django 1.6.

Assuming you’re using a virtualenv and your script is one directory outside the main Django project directory structure.

my_directory/
  |
  |---> virtualenv/
  |---> my_project/   < --- Django project files
  |---> my_script.py

I use this for Django 1.6 integration in my_script.py:

sys.path.append(os.path.join(os.path.dirname(__file__), 'my_project'))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")
from django.conf import settings

from my_app.models import MyModel
Standard
engagement ring box
personal

Engaged

One of the main topics I couldn’t yet write about on my first posts of the year, was my plan of getting engaged. But now I can talk all about it without ruining the surprise.

It all started around December, where the plans started to take form. I’m from the north-east of Mexico, where most people are used to travel to Texas for shopping. So I planned a trip there to get the plan going. Having moved to Guadalajara (west, and more to the south part of Mexico) two years ago, accomplishing my plan was getting more complicated than usual. After many travel attempts to the north, because of one thing or another, I couldn’t make it in January, but my parents did. I asked my mother to look around and send me photos, hoping to do the shopping that way. I was visiting my girlfriend that weekend in Mexico city, and while having dinner with some friends I finally received a message from my mum. The message had a single picture of a ring and the words “I got it”. I was shocked! I didn’t want my engagement ring to be picked by my mother, I wanted to choose it myself! Well…at least remotely. I could barely hide my red face in the dinner table, and my girlfriend was wondering me suddenly messaging back and forth, not saying anything about who I was talking to and even trying to hide the screen from her eyes. I excused myself from the table and called my mum, she said it was no big deal, that I should call the place and tell them to hold it for me. I made plans to go in two weeks.

Two weeks passed and again I could not make my trip. It was now mid February and my plans to pop the question on Valentine’s day were frustrated. I finally made definitive plans to travel to Texas by the end of the month. My excuse was that I had ordered my Lenovo X240 and I had to pick it up. So finally I went to the jewelry store, explored more options and made my choice. The next problem: to have it sized in her number was going to take one week. Since having it sized by the store was of no extra cost and covered by warranty, it was the wisest thing to do. So I came back to Mexico empty handed.

It was now March and I had no excuse to travel back. March is important, because after Valentine’s, the next “big” date is my girlfriend’s birthday near the end of the month. I was hoping my parents would go but their agenda was busy too. Fortunately, my mums best friend, whose daughter lives in Texas, was travelling soon and I asked her to do me the favor of bringing the ring back for me. She did, but delivered it to my mum, in the north-east of Mexico. The ring was still not in my hands and had to travel all the way to the south-west in a secure way (we don’t trust mail here). My mum and I ended up planning a meetup in Mexico city, she would get to visit my brother who lives there, and I would finally get the ring. That moment finally happened one week before Ada’s birthday.

So with all the complications and timing problems, and adding to that that I live in Guadalajara and she lives in Mexico city, I couldn’t plan a big moment or fabricate a special situation for the occasion. So, being the software engineer and a photographer, I relied on technology and photography to create a good moment that not only will be emotional at the time, but can also be saved and relived in the future. I made a nice slideshow video with lots of photos from all our years together using Google+ photo gallery and video editor. I’m passionate about photography, and I’m dedicated to technology. It makes sense to put to work my two passions together to get the third and most important one that completes my life.

On the weekend of her birthday, I traveled to Mexico city on a red-eye bus and arrived very early in the morning. After a nice rest at her place, and before leaving the house to get something for breakfast, I sent the video to her Google+ account and told her to open what I just sent her in her tablet. She smiled through the photos but never expected where they leaded. Right after the last photo, I popped the question.

Untitled

She said yes! And after the emotions calmed down, we went to get some street tacos as a celebration breakfast. We just love tacos.

Untitled

Later that night, we celebrated the engagement and her birthday with some friends. Here’s my girlfriend fiancee and a friend who also got engaged this year.

Untitled

So after a long relationship with many ups and downs and long distances and short ones, and many many adventures together, we have formal plans to continue living more adventures for (hopefully) the rest of our lives.

GST_0003

Standard
whatsapp_logo
Interesting random stuff

5 alternatives to Whatsapp

Now that Whatsapp is part of Facebook, some might feel a bit exposed using it. But I wouldn’t worry about Facebook doing something with their chat conversation data. I would worry more about the fact that it has been known to have very weak security.

Also last weekend, after the Facebook purchase, the service had a major fail. I had several friends going back to SMS messages to communicate.

So for those cases, here are 5 alternatives to Whatsapp in case you don’t like it, don’t trust it or when it fails:

Line

line logo

Besides normal chat like Whatsapp, Line offers free video and voice calls. It has emoji like Whatsapp plus stickers, and you can also send location, photos, videos and voice messages in the chat stream. Another plus with Line is that it has a desktop client, so you can reply and continue your conversations on your desktop while doing other things, instead of having to reach your phone every time.

Download Line

Viber

viber logo

Viber also supports emoji, stickers (and you can download extra ones if you need), and like Whatsapp it supports group messages with up to 100 members. Besides texts, Viber only supports voice calls. Like Line, it also has a desktop client. Oh, and they explicitly say they value your privacy.

Download Viber

Telegram

telegram logo

When Whatsapp went down, Telegram signed up 5 million new users. This app is getting more popular every day.

Telegram supports group chats with a maximum of 200 members. You can share photos and any other media, and videos up to 1Gb. The most unique feature of Telegram is Secure Chats. These chats have end-to-end encryption and they claim are not logged in the chat servers. Also you can set them to auto delete themselves after certain time on both ends.

They also claim to be concerned about your privacy and security and they show it with their features. They also claim to never disclose data to third parties.

The interface is very similar to Whatsapp if you’re migrating from that. The downside is that it doesn’t support voice or video chats. It supports emoji but no stickers like other clients and no desktop client either. Although you can install it on a tablet, it lacks a tablet design.

Download Telegram

Skype

skype logo

Well, we all know Skype by now. It supports chats with very limited emoticons, no emoji or stickers. You can send files but not share pictures easily in the chat timeline. The advantage of Skype is its large user base and its voice and video chats. And if you have skypeout or similar you can have an additional phone number to receive calls on any device.

Download Skype

Google Hangouts

hangouts logo

Hangouts is Google’s chat client replacing Google Talk. It supports voice and video chats, emoji, photos and location (no videos or voice messages for now). It has a desktop client (actually a Chrome extension) so you can continue your chats anytime your browser is open, or you can do it while having your Gmail or Google+ window open. Like Google+ in the social media landscape, Google Hangouts is a late-comer into the mobile messaging world and it has slowly been adopting features from its competitors. But since it has the Gmail user base behind it and every new Android phone seems to have Hangouts included, it is slowly gaining popularity and it is very likely that your friends already have it, ready to receive your messages in case other services are unavailable.

Download Hangouts

If your concerns are more into the privacy and security area, I recommend you to read my post about secure communication apps.

Standard
Lenovo X240 closed
GNU/Linux Free Software & Open Source

Debian on Lenovo Thinkpad X240

I recently got myself a new computer, the Lenovo Thinkpad X240. It’s my first Thinkpad so I cannot compare it to previous models. My old laptop is a Dell XPS m1530 that’s about 5 years old by the time of this writing. Still very functional but I wanted an upgrade in hardware and a lighter computer to travel with.

The pros:

  • weight
  • matte screen and higher resolution
  • keyboard
  • speed (processor, RAM, SSD, USB3)

The cons:

  • GNU/Linux compatibility
  • wireless
  • brightness controls
  • FN key and FN Lock

So let’s go and review the whole thing:

BIOS

It came with Windows 8 pre-installed, but I immediately installed Debian Testing (Jessie) on it. This machine comes with UEFI boot, but fortunately it has a Legacy mode to behave like normal BIOS. Installing like normal boot instead of UEFI boot is a lot easier and you don’t have to struggle with the disk partitions and boot options. On the boot configuration settings, disable secure boot and set it to legacy boot first instead of UEFI boot first.

Hardware

Lenovo X240 open

The X240 is very light, even with the additional 6 cell battery instead of the default 3 cell battery. It is a 12.5″ computer, so it can be comparable to a Macbook Air or similar computer. The case is plastic, but feels very well built and durable.

X240 width

There are no indicating LEDs anywhere except for the power button LED that indicates if the computer is on, off or suspended (blinking). There are no hard disk writing indication, battery charging indicator, wireless, bluetooth or any. Just an additional led behind the screen, the dot in the “ThinkPad” logo lights following the power button LED and that’s it.

This is a bit confusing specially when charging the laptop, since the charger also lacks any LED indicator, so the only way to know if your computer is charging is with the software indicators in your desktop environment (the battery monitor icon in your system tray).

It has no HDMI port, but it has the old VGA adapter and a mini digital port for external monitors. Only 2 USB ports, both are USB 3.0, and one with power over USB. My model came with a fingerprint reader, an SD card reader, a 720p webcam and an Ethernet port.

Keyboard

Lenovo X240 Keyboard

It seems that all new Lenovo models are coming with the new “chicklets” style keyboard and its new layout. I’ve heard some criticism about it, but since this is my first Thinkpad, I’m not biased. Comparing to other laptop keyboards, it is nice. The keys feel good and not fragile and is very silent. My only compliant was the strange placement of the Fn key where I usually expect the Ctrl key. Fortunately for me as an Emacs user I map my CapsLock key to an additional Ctrl and use that instead, so my key stroke memory doesn’t get much affected by that. What I didn’t like is that the F keys are now by default media keys and to use them as F keys you need to press Fn+key or Fn+Esc to activate ‘Function key lock’ then press the F key you need. So, for example, if you want to reload your browser and immediately lower the volume of the speakers, you have to strike additional keys.

The screen brightness control keys by default didn’t work for me, but there is a fix. You need to load the thinkpad acpi kernel module on boot. So edit /etc/modules file and add:

thinkpad_acpi

Then you’ll need to add this to your /etc/default/grub file and check that your kernel options are as follows:

RUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=!Windows2012 acpi_backlight=vendor"

This will enable the volume, mute, brightness and wireless media keys. I haven't been able to make the microphone mute button work.

The keyboard backlight works by default using FN+spacebar and it looks nice. It has three states: dim, bright and off.

Pointers

As many other previous ThinkPads, the X240 still keeps the nipple mouse or clit mouse or however you've heard it's called. The downside is on the trackpad, now called clickpad which has no hardware buttons but does have a larger surface area. By default on Debian Jessie + KDE the clickpad works but it's not precise. When trying to press for a click it inevitably moves from the target area, so clicking is hard. Right click worked out of the box for me by just pressing the pad on its bottom right area. Clicking can be fixed by addding:

sudo apt-get install kde-config-touchpad

and configure single tap clicking, two-finger scrolling and three finger tap for middle click. If you like to use the /nipple/ pointer and miss the buttons for it on the top of the pad, you can configure the button area to be on the top part instead of the bottom part in the X config file.

Make sure you have the following in your file /usr/share/X11/xorg.conf.d/50-synaptics.conf

    # This option enables the bottom right corner to be a right button on
    # non-synaptics clickpads.
    # This option is only interpreted by clickpads.
    Section "InputClass"
            Identifier "Default clickpad buttons"
            MatchDriver "synaptics" 
            #Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
            Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%"
    #       To disable the bottom edge area so the buttons only work as buttons,
    #       not for movement, set the AreaBottomEdge
            #Option "AreaBottomEdge" "82%"
            Option "AreaTopEdge" "4%"
    EndSection

I found this solution at this blog

Wireless

The wireless card is an Intel 7620 rev 6. After having to struggle with a Broadcom card for many years I thought my wireless card struggle days were going to be over. Well, turns out that the 7620 card is a very recent card and is not very well supported yet. By default it doesn't work with Debian. To make it work you need to enable the non-free repository and install

sudo apt-get install firmware-iwlwifi

This will enable your card and make it work, but if you suspend the computer, you'll loose bluetooth conectivity. To fix that you need to disable the 802.11n compatibility in the driver configuration. Add this to a file in a new file called: /etc/modprobe.d/wifi-disable11n.conf

options iwlwifi 11n_disable=1

I have experienced some instability with it. At random times the driver would just stop working and your card will seem working and connected but no traffic goes on. If you suspend the computer with the card in that state, it will not suspend and will hang the system. Once the wifi card is stuck the only way to bring it back is with a restart. I've tried rfkill, unloading and loading the module, but nothing works.

Another issue is that it will not connect to a wireless-n router, even when disabling n-band in the driver configurations. I had to configure my home router to only use b/g bands for it to connect.

UPDATE: Debian Jessie has upgraded to the Linux kernel 3.13, enabling the use of the iwlwifi driver version 22.24.8.0, which doesn't need any of the changes mentioned and doesn't crash anymore.

Conclusion

Not being able to compare to other previous Series X Thinkpad models, I cannot say if the X240 is an improvement or not. I've seen a lot of criticism to it, and I don't blame them. Some indicating LEDs would be nice to have, and why does a new computer model in 2014 doesn't have an HDMI port and has the old VGA port instead? There are weird hardware choices in this, but overall I'm enjoying the portability and speed of the computer. I'm hoping that my GNU/Linux compatibility issues (specially the WiFi card issues) get fixed over time.

Do you have some other configuration or fix tips for Debian on the X240? What to you think of this model? Share some ideas with me on the comments.

Standard