Posts

  • Technology - The Final Frontier

    Technology (and especially software) is constantly changing. Just because one database, framework or programming language is popular now doesn’t mean it will be in 5 years, or even 6 months. A career in technology is a career is constant learning.
  • 4 Keys to Fostering a Successful (Remote) Work Culture

    Teams working remotely is more common then ever. The combination of flexibility, high speed Internet, and the right tools make working remotely a viable option for may teams. It has given rise to a whole generation of people that not only can work remotely, they expect it.

  • Adding a simple API to your Postgres database

    When designing systems or platforms, it is very common to use a relational database such as MySQL or Postgres as a backend data storage. In order to access this data from a remote endpoint, it’s very handy to have an API that can serve out proper JSON data.

  • Automate all the things

    Building a computing infrastructure for your applications and big data stack is time consuming. Not only is it time consuming, but it’s very hard to plan for. Your needs today will likely not be your needs a year from now. This is especially the case if you are a growing technology company staying on the edge of the latest developments in the big data world. We all try to plan and think ahead for future needs, but this is often less than perfect.

  • Using pandoc

    The résumé is outdated. Why are people still passing around MS Word documents? There are a few problems with this:

  • Why I love open source

    There is a thriving open source community out there, just waiting to be tapped into. Have an idea to make an application better? The developers would love to hear it. Have time to code it yourself? Submit a pull request on GitHub.

  • My approach to design

    If you are a python programmer, or doing any technical design for that matter, I highly recommend checking out The Zen of Python. If you are on OSX or Linux, open up a terminal and type python -c 'import this'. You should see this:

  • Kafka

    There are a few decent resources out there for learning Kafka, but really it comes down to the Apache Documentation and Michael Knoll’s publications. While these are both excellent, I still think there could better information out there to help developers get started. Hopefully this post can help.

  • Mac dev tips

    I’ve been doing software development on a Macbook Pro for a little while now, and I gotta say there are a TON of great free packages and tools that make development that much more enjoyable. I’m not going to get into a Windows/Mac/Linux debate here, lets just say Mac OSX wins, with Linux a close second. All of the production code that I run runs in Linux, and most of all runs natively on my Mac as well. That with the combination of all the other nice feature of the Mac make it unmatched for software development.

  • Development Workflow

    There are many different ways to manage your git workflow, and a lot depends on the size of the team and how the team works together. For simplicity I’m going to break it down into 3 different types of Git workflow that I have seen: Master branch only, feature branch workflow, and gitflow.

  • Git fab part 1

    If you’re luckly enough to live in the modern era of version control, you probably rely on git on a daily basis. When I started to get into software, I had tinkered around with CVS, SVN, and a tool called Accurev. Before I left my last company, I started to learn git. Almost immediately I saw how it was powerful beyond traditional version control tools. However, I see a lot of software developers not taking advantage of it’s full functionality.

  • Trying out Pelican

    So as I mentioned in my first post, I decided to start my blog using Jekyll because it seemed to be the most widely used while still being fairly lightweight. However, as I began to look at trying to customize the site, I found the structure and templating system a little bit weird and unfamiliar.

  • Ready, set hack!

    OK so I want to dedicate the next few posts (and probably more in the future) to the subject of hacking things together quickly. No, I’m not talking about hacking as in “hacking into someone’s computer”, I’m talking about getting something working very quickly. In my experience, quickly usually means somewhere between 1 day and 1 week.

  • Hosting

    So I wanted to host a website with my own custom domain name. There are many options out there, with “unlimited bandwidth”, “unlimited space”, “one-click Wordpress install!”, “Joomla templates”, etc, etc. However all I really wanted want a basic web server and domain with the basic functions:

  • To blog or not to blog

    Well there are a lot of options out there for sharing content. There’s of course the social media outlets and then the standard blogging frameworks such as blogger, tumblr, and wordpress. A lot of people use Wordpress, and I thought about it, but after reading about all the security issues and problems with PHP, I decided to stay away from it. Also, I am kind of a minimalist and I like things to be as text-based as possible (true to the unix Gods).

    There’s a site called StaticGen that lists all the different website Static Generators and their github popularily, which helped me make my decision. I originally was going to use Pelican because it’s python-based, but ultimately decided to go with Jekyll becuase that’s what Github pages use to host content, and I <3 Github. Also - it’s popularity means more updates and more support, which is good since I’m new at this.

    I started off using Poole and Hyde but then realized that these were just custom themes on top of Jekyll. So I am instead just starting with the bare bones Jekyll build. I like to start off simple, and then build from there.

subscribe via RSS