Categories
Photography

Got a camera for YouTube vlogging

Lately I’ve been hooked on watching YouTube daily vloggers and got inspired to try out vlogging myself. Daily vlogging is the real “reality TV”: mostly unscripted, casual and voyeuristic. Video is definitely something new for me but very appealing as a better way to preserve moments in life.

I remember when I was very young I watched The Wonder Years and the opening sequence was like a super 8 video capture of happy moments of that family. In my family video cameras never existed when I grew up so I have no videos of me as a young kid. I don’t know why that was the case, maybe it was too expensive back then, or maybe my parents were not attracted to technology as I am.

I don’t know if it came out of boredom or lack of good content on the TV or Netflix. Plus the inexpensive Google Chromecast makes it much easier to watch YouTube on the TV instead of on a computer or mobile device.

Somehow browsing YouTube I ended up stumbling with vloggers like Casey Neistat, Erick Conover, Ben Brown and Louis Cole. Their videos are inspiring to get off the couch and start having a life! Specially appealing for someone somewhat isolated working from home like me.

So being inspired and motivated, I wanted to try it out myself. I was definitely not going to walk around with my Nikon D750 all day and my current phone, the Nexus 6P, has a good camera but sucks at video stabilization. So I evaluated two options: the Sony RX100 Mark III and the Canon G7x.

These two models are the most popular for vlogging this year. They are not as expensive as a DSLR and have a very good image quality and features. They are both lightweight and robust for daily handling.

The Sony RX100 Mark III is a great camera: 20.1 megapixels, 1080/60p video, an electronic view finder and a tilting screen so you can see yourself while filming. This is a good option for taking videos and photos. It is a little bit more expensive than my second option.

The Canon G7X was the most recommended camera by many vloggers. It has 20.2 megapixels, 1080/60p video, a tilting screen, no view finder. For $100 USD less than the Sony and what I considered better video image quality, I decided to go with the G7x.

So if you want to compare both, here’s a video that helped me decide on which camera to get:

So here are some of the experiments with vlogging I’ve done. The hardest part for me is deciding if I should do videos in Spanish or English. I joined a community of people trying out vlogging for the first time and ran an experiment in English:

Then after a few days, I ran an experiment in Spanish. It would be easier to vlog in Spanish since everyone around me speaks it and interactions can be more natural:

Leave a comment below to let me know what you think about my vlogs. If you like them, subscribe to my channel for video updates. If you’re vlogging too, share your channel in the comments or recommend me good YouTube channels to checkout.

Categories
Photography

How I photographed the Pope in Mexico city

24635047389_837831ff0b_k

I’m not religious, but when a celebrity like the Pope visits your city, it is a historical event. Even more so when it passes a block away from my house every day during his visit. So I took the lifetime opportunity of being nearby the big event for the mostly catholic country of Mexico, and went out to take some shots.

GST_0913.jpg

The key of taking photos in these types of situations is scouting your location beforehand. The Pope’s main routes were being published days before his arrival, so people would know which roads will be closed. Right there I knew he’ll be passing near my house every day. I went for a walk to checkout where would be the best spots to get the shot.

GST_0911.jpg

At events like this, you have to get there with lots of time. You never know how crowded the place will get, specially in Mexico city where everything is crowded all the time. Luckily since I was very close, I didn’t had to stand there for 3-4 hours beforehand. One and a half hours were good enough for me to get a good spot. I also brought a stool so I can stand above the crowd and get as much heads or hands out of the frame.

GST_0914.jpg

Another thing you’ll have to anticipate is the lighting. The Pope was going to pass at night, but the popemobile has lighting, so preparing my camera settings for night will over expose the photos. You only get one or two seconds to get your shot, so everything must be set up before the moment. I used the lights of some cops passing by before the main caravan to set my exposure.

GST_0895.jpg

I took the 70-200mm f2.8 with my Nikon D750. Set the focusing system to continuous focus, single point and set the aperture to 3.2 to get more focus range instead of using the 2.8 where I could miss my focus very easily, specially with a subject in a vehicle. I set the ISO to 6400 because of the lack of any light around. The street had very poor lighting so I would be depending entirely in the popemobile‘s lighting. I’m usually not comfortable shooting at that high ISO setting because my previous camera, the Nikon D7000 performed very bad at that setting, but the D750 handles it much better.

GST_0924.jpg

The next day he would pass very early in the morning and I got confident. I assumed that since it was a weekend and early morning, not many people would be there. I was wrong. I didn’t take my stool and I was late to get a good spot.

GST_0929.jpg

My other mistake was not taking into consideration the Pope’s white clothes. If you see the image, the other guys in black are exposed correctly, but the Pope is over exposed.

GST_0937.jpg

Not everything will be perfect, but I tried to rescue the images in post.

GST_0939.jpg

Categories
Photography

A Saturday ballet class

24685472271_aa9a2ed057_k

These are some images I took a long time ago, but I had forgotten to edit and release them.

I can’t believe how many times this happens: I go out on a photoshoot (unpaid), come back home, save and backup all RAW files, and forgetting about editing them to release the JPEG versions. I was doing some cleanup the other day and I stumbled upon several folders of RAW images waiting to be edited and see the light of day.

Sometimes shooting in RAW and all the extra work that involves is tiresome. But I can’t get myself to shoot straight JPEGs because of the opportunities I miss from editing and getting more from those images.

This set is about a special Saturday morning ballet class at the Mexican Dance Academy (Academia de la Danza Mexicana) the oldest dance school in Mexico’s history. The ballerina students were preparing for a national showcase of schools and they asked their teacher Ada to give them a special training class prior to the event. I admire dance students. They are so different from “normal” students who would never ask a teacher to give a class on a weekend.

DSC_3277.jpg

DSC_3334.jpg

DSC_3355.jpg

DSC_3387.jpg

DSC_3389.jpg

DSC_4088.jpg

DSC_3402.jpg

DSC_3411.jpg

DSC_3416.jpg

DSC_3461.jpg

DSC_3631.jpg

DSC_3690.jpg

DSC_3806.jpg

DSC_3914.jpg

DSC_4022.jpg

DSC_4062.jpg

I remember this photoshoot to be a challenging one. That day my wider zoom lens was in the shop (I had dropped it and some parts broke) so all I had was my 50mm 1.8F lens. Considering that the D7000 is a half-frame camera, that 50mm is really about a 75 or 80mm lens. Using that indoors, even in a dance room, is difficult enough. Add to that the fact that there’s mirrors everywhere and I didn’t want to show up in the background of every photo. Anyways, challenges are good and I learned a lot about positioning to frame the shot with mirrors and very active subjects.

Categories
personal

Big dance event

23344825811_c15da48bcd_z

The Dance department of the UNAM for the second year in a row invited dancers from all over the country to celebrate an event called “UNAM En Movimiento”. It was a week long event with special classes, one of them by the Cuban ballet maitre Ramona De Saá (detailed info about her here if you read Spanish).

GST_4030.jpg

GST_4057

GST_4656

Sala Covarrubias

Followed by a an event where many dance schools showcase their best dancers.

GST_4183

GST_4800

GST_4207

GST_4216

The nice and interesting thing about this event is that it is not exclusively of one or two types of dance, like typical “cultural” event where only classic ballet and contemporary dance are showcased. This event had every kind of dance that a school proposed. From classical ballet to salsa, flamenco and even break dance.

GST_4350

GST_4898

GST_4952

GST_5025

GST_5192

GST_5270

After the show, there was a closing celebration party, where dancers still showed off their talents in an improvised breakdance battle and ending up in a nice big party.

GST_4518

GST_4574

You can checkout a the full gallery of photos of the event at my Flickr album page. Also follow me on Instagram for more photos I publish of dance events I’m at and other random things.

Categories
Programming & Web Development

Avoid Django’s invalid HTTP_HOST error message

Invalid HTTP_HOST error log

I have several Django projects published, and I constantly get my email inbox and log files inundated with errors of spiders and hack attempts to connect to my applications. Those error messages have the email subject: “[Django] ERROR (EXTERNAL IP): Invalid HTTP_HOST …”.

This is due to a Django’s security setting ALLOWED_HOSTS to prevent attacks. Better explained by Django’s documentation page:

This is a security measure to prevent an attacker from poisoning caches and triggering password reset emails with links to malicious hosts by submitting requests with a fake HTTP Host header, which is possible even under many seemingly-safe web server configurations.

At first, I thought of trying to configure Django’s logging to ignore those errors, but I knew that was not the right way to fix the situation. After several attempts, I found the right solution to the problem: a way to configure the web server to stop those connection attempts before they reach Django.

Here’s a configuration example for Apache web server (taken from StackOverflow):

SetEnvIfNoCase Host example\.com VALID_HOST
Order Deny,Allow
Deny from All
Allow from env=VALID_HOST

Here’s a configuration example for Nginx web server (more details here):

upstream app_server {
    server unix:/tmp/gunicorn_mydomain.com.sock fail_timeout=0;
}

server {

    ...

    ## Deny illegal Host headers
    if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
        return 444;
    }

    location  / {
        proxy_pass               http://app_server;
        ...
    }

}
Categories
personal

Minimize interrupting notifications to stay focused

annoying notifications

I work remotely, so I have to be communicated through chats, emails and service notifications. On my desk at all times are a laptop, a tablet, a phone and a smart watch (on my wrist). When a notification comes along, all four beep almost at the same time. Technology connects us more every year with more devices, wearables and social apps. But sometimes being too connected gets in the way of truly connecting, and specially, being productive.

As a software engineer, my work is more in the creative process than in the task oriented type of work. Many times when planning or designing software, I need absolute silence and long moments of full concentration to build the mind model of the software I’m working on. Notifications get in the way of full concentration. Even when you can dismiss them right away, it’s a “ding” that goes into your workflow and ends focus.

Programmer Interrupted

Considerations for interrupting

Here are some considerations to take in mind when communicating with others (or, what I would like others consider when communicating with me):

When sending someone a message, get to the point in one long sentence rather than several short ones. Never start with “hey” or “can I ask you a question?” or worse, send one word messages and trigger 10 notifications in 5 seconds. I can’t count the times I get a message, a one line that says “hey” and then I have to wait until the real message/question comes in before I get back to what I was doing. Just type in your message, even if it is one long message. Chat applications can handle long messages, only Twitter is still limited to 140 chars (and considering changing that). That will create less constant interruptions and straight forward communication.
Use chats for short conversations, email for long explanations. If your question, message, or the expected answer to it, is too long to explain in one single chat message (or paragraph) then consider using e-mail as your communication channel. E-mails are easier to track back and check the context of the conversation than scrolling back in a chat window. Some chat programs don’t even have a search function.
Only use chat programs when you need real-time conversation. A few years ago, messaging or chat applications were called “Instant Messaging” apps. I don’t know where they lost that classification, but not everything needs instant reply. Use forums, message board applications, e-mail or other types of communication instead.
Consider the time of your interruption. Avoid annoying people in chat windows with irrelevant questions. Don’t send chat messages extremely early in the morning or very late at night, unless an immediate attention at those times is required.

Tips to minimize distractions

Some tips to stop notification saturation:

If you’re like me with many gadgets in your desk, put all of them except for one in silence. This way you’ll avoid multiple beepings everywhere when a notification comes along. And believe me, you’ll feel less stressed or annoyed during the day. It has made a huge impact in my daily life.
Prefer vibration over sound. In my experience, sound creates an annoyance Palvlov response faster than vibration.
If you use Gmail, activate the “priority inbox”. Then in your apps, set the notifications to only trigger on emails marked as important.
Use web versions of mobile chat applications. Most mobile chat applications have a desktop or web equivalent version (WhatsApp web, Telegram, iChat, Skype, Hangouts). Having the chat in your computer will avoid the need to pull up your phone to read or reply back. It’s easier to just switch windows or browser tabs and faster to reply back with a physical keyboard.
Schedule notification downtimes. On Android devices you can set notification downtimes to avoid getting interrupted. I set them at night to sleep like a sane person and sometimes during the day when I need full concentration moments. If you already do this for night times, consider expanding the downtime to your first hour or two of the day. Enjoy your morning and start your day without beeps and inquiries.

Unless you’re a doctor or a sysadmin, emergencies are not life or death situations. If emergencies are constantly coming up in your life, you should analyze your environment because then the problem is much bigger than notifications.