Hands (Part I)

I’m currently helping my friend Dave Gertler to build his Burning Man art installation which is called Hands. Specifically I’ll be focusing on the electronics, which is a fairly big chunk of work. In this post I’ll introduce you to the project and show you some of the work we’ve been doing to make this a reality. Intro The installation consists of 2 hands with the palms facing upwards. The hands will be made out of CDX plywood and the piece is designed to be assembled as a huge 3D jigsaw puzzle.

   burning man, hands, arduino, ios, ipad


Closures and Scoping in Javascript

Per Wikipedia, a Closure is: … a function or reference to a function together with a referencing environment—a table storing a reference to each of the non-local variables (also called free variables) of that function. I want you to pay special attention to the last part of that definition: together with a referencing environment, containing references to each of the non-local variables of that function. This is easier explained with a little code:

   javascript


A Performance Testing Methodology

The primary goal of any web site performance testing and capacity planning activity is to know how many users can our system handle under acceptable response times given certain hardware specifications. We can get this information by graphing a concurrency vs response time graph. A typical graph looks like this: Note how the curve grows exponentially. Depending on the nature of the website (or web pages) under test you might have different acceptable response times.

   performance testing


Notes On Continuous Delivery

Only Build Your Binaries Once Reduce the risk of introducing difference on each build. Takes time to compile code (specially in large systems) Deploy the Same Way to Every Environment Once you reach Production you are confident that your deployments work. Smoke-Test your Deployments After deploying, immediately make sure that the most basic functionality works as expected. Deploy into a copy of Production Make your environments a similar to production as pipeline.

   continuous delivery


Click to download PDF version of my resume Daniel Valencia, Software Engineer Professional Summary I have over 10 years of experience as a software engineer and technical lead across multiple projects. My strengths lies on my breadth of knowledge across the development stack: UI, mobile app development, backend development, infrastructure engineering, QA and performance/load testing. I have strong expertise in Java based web application development, mainly in the ecommerce space, and I’m also proficient in other languages and platforms such as Javascript, Ruby on Rails and iOS.



About me

I’m an experienced software developer from Ensenada, México, currently working as head of engineering for Tacit Knowledge in Guadalajara, Mexico. I’d say curiosity is one of my biggest strengths, and that has helped me get involved in the entire software development stack: from frontend, backend, and mobile app development to infrastructure engineering, QA, and performance testing. I’m a technologist at heart who loves solving hard problems; I’m a generalist who believes in using the right tool for the job.