Posts

Why you should use Docker in your development lifecycle.

Image
Docker is a virtualization tool that enables you to set up "containers" for a variety of environments. So for example, if you want to set up CentOS for a component of your project go head and do that with a quick config file. Want to make sure you have Python 3 with all the libraries needed to run a Machine Learning program, that's easily done also.    The folks at Docker have done an incredible job of making it super easy to not have to worry about the details of setting up the OS, Network, etc... for each container as well. Anyone who used to use VMWare appliances can remember making sure you got the networking and the shared drives right - not to mention any extra drivers you needed to make everything work.  Typical VM Appliance                                                                Docker Container                                              I wont get into too many specifics of how to use it, as I am not a top authority on it so Ill d

7 AWESOME BENEFITS OF TRAINING IN MIXED MARTIAL ARTS

Image
I originally started my Martial Arts journey when I was in my late teens or early 20s. I don't really regard it as the beginning of my journey because I was kind of an apathetic person at that age. I half-assed most of my training or I trained hard for a week and thought I was amazing and stopped. I didnt have the discipline nor the patience to learn it. I tried a variety of martial arts from Kempo, Kung Fu, Escrima, Capoiera, and wrestling.  I wasn't impressed with them but, how could I be when I really wasn't spending the time to really learn them in a more than superficial way. My first real world class instructors were Richard Raciti, Justin Rios, and Rich Sabatino.  Even though my instructors were incredible and quite a privilege to have trained under, I kind of squandered my time with them.  You get out what you put in and I definitely put in a piss poor effort so my experience was just that. (Sorry guys! I should have trained more with you!!) Sadly, I

Important Tips to Rock the Coding Technical Interview!

Google interviews are the source of fable and mystery if you search the Web. A quick "Google" will return a myriad of pages documenting war stories, impossible brain teasers, inconsistent hiring methods, and too many rejection emails and phone calls. I myself have interviewed with Google twice for a Software Engineer position and have not received an offer. So you're thinking - "he didnt get in. What qualifies him to write about getting into Google?";  in a word - nothing. This is just my humble collection of tips, artifacts, and experiences from my friends and peers who have made it into the Google Utopia, in hopes that it will help the next person get in.  "Dont be evil" right?? My Experience First  Google Interview  -  I got a call from a recruiter and was super excited, little did I know the obsession to get in that would follow. 2 phone interviews came and went. Didn't hear from Google assumed they didn't care or weren

Double Checked Locking Singleton Pattern

The Singleton Design Pattern is one of the most used patterns for providing a single instance of an object. It is thought to be made Thread-Safe by having Double-Check Locking eliminate the possibility of having 2 instances of the object made by 2 separate threads. While this is true, it does still allow a possible memory exception. The following paper  http://erdani.com/publications/DDJ_Jul_Aug_2004_revised.pdf  shows that when looking to use a Singleton, there are alternatives that provide better thread safe protection.

LEARN THE DIFFERENCE BETWEEN COMPUTER SCIENCE AND IT

Most people assume that all "computer people" are all the same. They all do the same work all the same way.  For those that do care to know the difference, the work they do is related and sometimes does overlap but there definitely is a subtle difference. According to Wikipedia the definitions of each are (IT)Information Technology  -   I n a business context, the  Information Technology Association of America  has defined information technology (IT) as "the study, design, development, application, implementation, support or management of computer-based information systems". [5]   http://en.wikipedia.org/wiki/Information_technology (CS)Computer Science - I s the  scientific  and practical approach to  computation  and its applications. A  computer scientist   specializes in the theory of computation and the design of computational systems http://en.wikipedia.org/wiki/Computer_science What this means is that IT is typically geared towards a sp