Photography in the Age of Social Media

Tue Jun 11 2019

John Green's recent video on Vlogbrothers got me thinking a lot about why I take photos and the impact that social media has had on my journey in photography.

A Closer Look at Fitbit Data

Sat May 04 2019

Health trackers are the current craze. After I bought a Fitbit, I wanted to determine what exactly could I do with my Fitbit data. Can we learn something from this data that we did not know before? Most people don't need a watch to tell them that they walked a lot today or that they got a ton of sleep. We typically have a pretty good gauge of our basic physical health. I am interested in figuring out how we can use data science to look at our health over a longer period of time and learn something.

Lets first look at a few things that people typically use Fitbit data for before we jump into the weeds.

  • Setting Goals
  • Motivation
  • Tracking Progress

The Essential Vim Configuration

Sat Apr 20 2019

1 Vim Configuration

Stock Vim is pretty boring. The good news is that Vim has a very comprehensive configuration file which allows you to tweak it to your heart's content. To make changes to Vim you simply modify the ~/.vimrc file in your home directory. By adding simple commands this file you can easily change the way your text editor looks. Neat.

I attempted to create the smallest Vim configuration file which makes Vim usable enough for me to use as my daily text editor. I believe that it is important for everyone to know what their Vim configuration does. This knowledge will help ensure that you are only adding the things you want and that you can later customize it for your workflow. Although it may be tempting to download somebody else's massive Vim configuration, I argue that this can lead to problems down the road.

R Programming Language

Wed Mar 27 2019

R is a programming language designed for statistical analysis and graphics. Since R has been around since 1992, it has developed a large community and has over 13 thousand packages publicly available. What is really cool about R is that it is an open source GNU project.

1 R Syntax and Paradigms

The syntax of R is C esk with its use of curly braces. The type system of R is similar to Python where it can infer what type you are using. This "lazy" type system allows for "faster" development since you don't have to worry about declaring types -- this laziness makes it harder to debug and read your code. The type system of R is rather strange and distinctly different from most other languages. For starters, integers are represented as vectors of length 1. These things may feel weird at first, but, R's type system is one of the things that make it a great tool for manipulating data.

R Arrays Start at 1
R Arrays Start at 1

Is Using ML for Antivirus Safe

Sat Mar 23 2019

In this blog post I examine the ways in which antivirus programs currently employ machine learning and then go into the security vulnerabilities that it brings.

1 ML in the Antivirus Industry

Malware detection falls into two broad categories: static and dynamic analysis. Static analysis examines the program without actually running the code. Static analysis looks at things like the file fingerprints, hashes, reverse engineering, memory artifacts, packer detection, and debugging. Static analysis is largely known for looking up the hashes of the virus against a known database of viruses. It is super easy to fool signature based malware detection using simple obfuscation methods. Dynamic analysis is a technique where you run the program in a sandbox and monitor all the actions that the virus takes. If you notice that the program is acting suspicious, it is likely a virus. Suspicious behavior typically includes things like registry edits and API calls to bad host names.