Latest Stories

Keep your store fresh with an API-based CMSJuly 14, 2017

Link to Talk Link to Slides My name is Eric Saupe. I work for Deseret Book, a book publisher focused on selling Christian and Latter-day Saint products and founded in 1866. We have over 20,000 salable variants including digital products like ebooks and audiobooks. Those products are sold in our 45 retails stores and authorized reseller locations as well as online. We have an e-reader app called…

Keep Reading →

Getting Started with ProgrammingJuly 27, 2015

A friend of mine called me up recently to ask me how to get started with programming. I've gotten these requests more and more as the demand for programmers rises. I'm going to compile a list of resources to help anyone get started with what I feel are the basis for what anyone who wants to program will need. This list is by no means comprehensive and while this will get you started you should not…

Keep Reading →

What's Coming in Rails 5July 22, 2015

Rails 5 A lot of other under the hood improvements are expected to be made but I think I covered a lot of the major upcoming features. Let me know if you have any questions or which Rails feature you are most excited about by leaving a comment below.

Keep Reading →

How to Watch Streams in VLC PlayerNovember 02, 2014

VLC Player has a neat feature that allows you to watch high quality streams. Here is a small list of how to watch them. Link to Reddit Post

Keep Reading →

Rails Multipart Layouts and Yielding SectionsAugust 14, 2014

One of the great strengths of Rails is the ability to create layouts that house various views of content. You create a layout with a basic HTML structure and then simply drop in your new content based on the view you are rendering. One of the simplest layouts is one that just renders the view that takes up the whole page and this is accomplished by the auto generated app/views/layouts/application…

Keep Reading →

Getting Started With PostgreSQLJuly 17, 2014

PostgreSQL is a pretty common database choice these days. It's quick and fairly easy to set up but a lot of the information I've seen online makes it much harder than it has to be so I'm going to put my notes here. As usual if there is anything I've missed or questions that you have feel free to leave a comment below.

Keep Reading →

Installing Rails on Mac OSXJuly 08, 2014

When developing for Ruby on Rails the first thing you'll need to set up your development environment. This guide will be for installing things on Mac OSX and would be similar for Linux. These are my notes from experience setting up a Rails environment based on The Rails Tutorial by Michael Hartl. New Rails Installation on OSX

Keep Reading →

Ubuntu 14.04 - Fresh Install InstructionsApril 17, 2014

With the latest LTS release of Ubuntu many people, including myself, will take this time to do a fresh install of the OS on their development machines.  Here are a few tips for getting up and running after your OS is installed.  This guide will be for Python and Django development using Ubuntu 64-bit, alter the commands to work with your flavor of Ubuntu.

Keep Reading →

GitLab - Your Own Private GitHubApril 11, 2014

GitHub is great for open source projects and if you haven't been there to see what's going on you're missing out.  They offer free git hosting for all of your open source projects.  Their UI is great for tracking issues, commits, users, updates, and so much more.  But let's say you want to use all of that great UI on a project you don't want open source.  That's when you'll need to pay GitHub for…

Keep Reading →

Google Spreadsheet Graph with Dynamic DataMarch 27, 2014

Recently we started dumping some data from the database into a shared spreadsheet on Google Docs.  With all of this data it would be helpful to visualize it in some way.  After searching the net it seems there isn't really a good way to create a chart that is dynamic with what data is in the spreadsheet.  What I want is to have my graph update every time a new row is added to the sheet without…

Keep Reading →

ReportLab Default Paragraph StylesMarch 26, 2014

I have never found a good list of the default styles that ReportLab gives you when you run getSampleStyleSheet() so I wrote a method to spit them out and what they look like.  Below is that list along with the PDF output of each of the styles.  They are grouped into two categories, byAlias and byName.  Normally I just use the name but you can use either.

Keep Reading →

AngularJS Detect Enter Key - ngEnterMarch 14, 2014

AngularJS has a ton of built in directives and functions to make your app come alive very quickly.  One thing I noticed it was lacking was a built in on-enter event.  For example, if a user is in an input field when they hit enter I want it to do something, maybe not necessarily submit the form.  Luckily, AngularJS gives you the ability to create your own directives and add them into your app…

Keep Reading →

AngularFire Filtering Data Returned by FirebaseMarch 04, 2014

Firebase is a great way to connect applications to a database that will sync data in realtime.  Tying this in with AngularJS allows you to create a single page application that updates dynamically and as data changes without page refreshes.  This allows you to create applications that can give your users access to data the moment it is updated and changed.  They have a great binding called…

Keep Reading →

Twitter Typeahead.js v0.10February 25, 2014

Twitter Typeahead.j s has been updated and there are a lot of changes.  I'm going to give a an explanation for a few of their examples and explain the key features and changes that they have made.  For those looking to upgrade to this new version it will require a rewrite of your current Typeahead.js methods so please be aware of that.  The biggest changes are outlined in their changelog…

Keep Reading →

AngularJS $location Not Changing the PathFebruary 22, 2014

In my adventures learning AngularJS I am confronted with strange problems all the time which is a really great thing.  I love learning how to do new and intersting things in different programming environments.  Today I was having problems with my URL not forwarding correctly on a callback method.  Once a user was logged in I wanted the URL to forward to another page.  I was using $location.path…

Keep Reading →

Mimicking Bootstrap Documentation SidebarFebruary 19, 2014

If you've spent any time looking at the Bootstrap docs you'll notice their nav bar on the right.  Very slick example of both Scrollspy and Affix .  I have written blog posts about both of these topics in conjunction with each other titled  Bootstrap ScrollSpy Pitfalls and Fixes .  In my example I use a very simple styling for my nav using nav-pills.  This works out alright but what if we want…

Keep Reading →

A Visual Guide to SQL JoinsFebruary 11, 2014

Your SQL database can be huge.  So many tables, so much data, combining it can be hard.  Even once you've sorted out what data you want it can be a real task to visualize what joins you need so that you only grab the data you want.  The more efficient the join the better.  I found this nifty image on SQL joins that I think does a great job at showing how the various joins work and does a great job…

Keep Reading →

ReportLab and Django – Part 3 – Paragraphs and TablesJanuary 31, 2014

ReportLab is full of different objects that you can place anywhere around the screen.  Following our previous code, we are making a list of elements that we want to draw onto a document.  ReportLab will handle all of the page breaks and lining things up but we can manipulate that a bit to help ourselves get a really clean looking PDF.  You can review the last two guides in the series by clicking…

Keep Reading →

Accessing a Git Repository Using a Key PairJanuary 29, 2014

We recently moved our git repositories over to Amazon Web Services.  We ran into one issue with it which was that now our git requests needed to have a key pair attached.  The Internet was not very kind on explaining how to do this very well so I'm documenting it here. The key pair you'll want to use is the one generated for you by AWS.  It is the same one you use when you ssh into your AWS EC…

Keep Reading →

Adding Extra JavaScript to AngularJS PartialsJanuary 24, 2014

When loading partials into your one page AngularJS app occasionally you'll need to load in JavaScript files that pertain only to those partials.  If you are only using AngularJS these added < script > tags won't be rendered by Angular.  After Googling for some time I have found that the solution is to load JQuery into your index.html file just before AngularJS.  This fixes the problem. partial…

Keep Reading →

ReportLab and Django – Part 2 – Headers and Footers with Page NumbersJanuary 21, 2014

Last time we looked at how to generate a very simple PDF using ReportLab and Django, ReportLab and Django – Part 1 – The Set Up and a Basic Example .  This time let's make the PDF a little bit more interesting with some headers and footers.  ReportLab gives a pretty good amount of control when it comes to adding headers and footers to your PDF.  To start off let's bring back the simple init…

Keep Reading →

jQuery Drag and Drop Image UploadJanuary 17, 2014

As we continue to push forward on development our users have asked for a robust way of dragging and dropping images and linking them to a work order.  I was putting this off for a while because I thought it would be a pretty difficult task but after a few Google searches I found a great jQuery plugin from blueimp called jQuery-File-Upload .  Take a look at their demo and check out how awesome…

Keep Reading →

ReportLab and Django - Part 1 - The Set Up and a Basic ExampleJanuary 14, 2014

It's been far too long since my last post.  A lot has happened and the holidays make things so busy but I'm back and ready to get back in to the swing of things.  To start off the new year I'm going to do a series of posts relating to ReportLab specifically with its application to Django .  I want to go over a few of the pitfalls I've experienced and how to get things set up.  ReportLab is…

Keep Reading →

Things My Wife Doesn't Understand - 2013 ReviewDecember 31, 2013

The year is over and Wordpress has kindly sent me a summary of that stats for my blog.  The growth has been more than I ever expected.  I still consider this a personal blog for my own edification and learning but I'm glad I could share my knowledge and problems with so many.  In the coming year I would like to focus a bit more on Django and Python but understand that a lot of people really want…

Keep Reading →

Django Security Advisory: ImageField AbuseDecember 20, 2013

A couple of weeks ago it came out that there is a flaw in Django's ImageField which could potentially allow for phising programs to be uploaded and grab cookies or do other malicious things.  While there will be no fix in Django directly you still need to take precautions on how you serve and receive files uploaded by your users. Django has a page dedicated to fixing this exact issue.  Head over…

Keep Reading →

Adding Custom Django 404 and 500 PagesDecember 18, 2013

Django comes with a default 404 and 500 error pages which are dull and boring.  It would be much better if you add your own spin on those pages to inform your user of what happened.  Django makes this super easy by searching your project template files for a 404.html or 500.html file when it tries to render those pages.  This means all you need to do is make a nice Django template called 404.html…

Keep Reading →

Computer Science Education WeekDecember 12, 2013

Growing up I was always interested in computers.  I helped put parts in computers and install programs as young as five or six.  As I went to school I always knew I wanted to do something with computers.  Sadly, I wasn't able to take any computer related classes in middle school or high school because they simply were not offered.  I would have loved to take a computer science course before going…

Keep Reading →

How to Install SmartGit on UbuntuDecember 09, 2013

I've found that a lot of things on Ubuntu are very easy to install but there are some trickery ones that if you don't know the procedure can be a pain to get up and running on a new installation.  Here is a quick setup guide for getting SmartGit installed on a fresh Ubuntu installation.

Keep Reading →

World Cup 2014 Prediction AppDecember 06, 2013

With the World Cup draw just getting over, and the United States bracing for a tough group, I am pleased to announce a small project I have been working on in my spare time, a World Cup Prediction App (if you have a better name for it please email me )!  My wife wanted a way to get her family more into the World Cup.  Since they are big American football and basketball fans they are familiar…

Keep Reading →

Connecting Django with AWS S3 using BotoDecember 02, 2013

Amazon Web Services (AWS) has been revolutionary in getting servers and processing power to virtually anyone on the cheap.  You can host your web site there, process large sets of data, even back up your personal files to an Amazon S3 server.  Even if your site isn't hosted directly on AWS you can still benefit by hosting your files from there.  A lot of sites do this to help off load the…

Keep Reading →

Grunt - The JavaScript Task RunnerNovember 22, 2013

Developing for the web can be tedious sometimes.  Not only do you need to develop using multiple languages you need to make things as easy for yourself as you can when it comes to deployment.  One of the most basic things you can do to make your source files ready for production is to minify all of your JavaScript files.  There are a few programs out there that will do it for you but today I want…

Keep Reading →

Developing with VirtualenvNovember 19, 2013

When developing you'll occasionally need more than one version of Python, Django, etc. for your various projects.  The way to have multiple versions of the same library installed on one machine is to use virtualenv .  Virtualenv creates a virtual environment where you can install a unique version of Python, Django, etc.  This is great for testing and for working on old projects where you need old…

Keep Reading →

Django 1.6 Update NotesNovember 15, 2013

Django finally released version 1.6 of their Python based web-framework.  I use it at my job everyday and we ran into issues with the old system where they were using such an old version of Django that it was impossible to just simply update.  One of the goals with the new system we are creating is to stay as up to date as we possibly can with all of our technologies.  For us that is Bootstrap…

Keep Reading →

How to Make Bootstrap ModalsNovember 13, 2013

One of the most commonly used features of Bootstrap is their Modal component.  If you don't know what a modal is it is like a pop up except it can contain HTML.  This means you can put any sort of information you'd like in it, a common example is a modal that contains a login form.  This post will show you how to create your own modals and even load in the content dynamically using AJAX. Modal…

Keep Reading →

Create a Child Theme in WordpressNovember 07, 2013

Wordpress is a great way to get a site up and running quickly.  A lot of people think it is just for blogs but it can be whatever you'd like it to be with its customizable themes and content manager.  There are hundreds of Wordpress themes online and a lot of times you might really like everything about a theme except for a few changes.  To make those changes the best thing to do is create a…

Keep Reading →

Getting Started With jQueryNovember 05, 2013

I write a lot of posts that use jQuery but I haven't gone through the basics of getting started with jQuery on your new website.  There are just a couple of steps that you need to do to get started with using jQuery and getting it started right. The first thing you'll need to do is load jQuery into your website.  The easiest way to do that is to add the following line inside the < body > of…

Keep Reading →

Using Twitter Typeahead.js Custom Event TriggersOctober 29, 2013

Since Bootstrap dropped support for their typeahead they have since told people to use Twitter's typeahead.js.  It has a lot of great features that I have covered in an older write up about Twitter Typeahead.js .  In this post I wanted to go over the custom events that are triggered and how you can use them to get more out of Twitter Typehead. There are five triggers in the typeahead.js and you…

Keep Reading →

Clearing Float ElementsOctober 24, 2013

As you develop web pages you may come across moments when you need to float an element.  Using the CSS float you can make elements be pushed around to make room as more elements are added.    A nifty feature in and of itself but there is a common problem that tends to crop up. Recently I was working on a small navigation header that included two buttons and a search box.  The buttons were standard…

Keep Reading →

SmartGit Fix for Ubuntu 13.10October 23, 2013

After updating from Ubuntu 13.04 to 13.10 I found that my SmartGit was broken.  I could just use the standard git commands but that's boring and I like to have a GUI so SmartGit is nice for that and it needed to be fixed.  Apparently Ubuntu 13.10's GTK libraries aren't very compatible with SmartGit , any version of it.  The fix is simple. UPDATE They just released RC1 which fixes the problem…

Keep Reading →

Making jQuery Ajax RequestsOctober 22, 2013

In a lot of my other posts I show sample code that makes heavy use of ajax calls and today I wanted to take a step back and explain what exactly are ajax requests, when you should use them, and how to get the job done.  First, ajax stands for Asynchronous JavaScript and XML which may still be a bit too technical but essentially what it does is allow you to make a request to the server for data…

Keep Reading →

How to Install Komodo Edit on UbuntuOctober 21, 2013

My IDE of choice for developing lately has been Komodo Edit .  It's lighter than Eclipse and does what I need it to do.  Installing and updating on most OS's is easy but on my Ubuntu installation I always have to do a few more tricks to make everything work just right.  This post is to help me remember exactly the steps of installing and updating so that I don't need to Google it every time.

Keep Reading →

Windows 8.1 Released and Available for DownloadOctober 17, 2013

Windows 8.1, the long awaited updated to Microsoft's latest OS, is now available through their App Store as an update.  Why they didn't just do it through the traditional System Update is a bit confusing but it's in the App Store.  I have had the preview installed for a week or so and really like it.  A lot of the problems that people had with Windows 8 are fixed, to an extent, with 8.1. A few…

Keep Reading →

JQuery Find, Parents, and SiblingsOctober 15, 2013

A very important tool when working with JQuery is the ability to traverse through elements in the DOM.  When a user clicks on a button you may want to change the color of the nearest row to display the click.  Maybe after an input you want to change the nearest column to be hidden or show that input value.  Whenever you need to walk through the elements in your page JQuery has a way to do it.  All…

Keep Reading →

Django and South - Making Your Data Migration EasierOctober 04, 2013

Django works wonderfully as a web framework but sufferes from sub-par data migration.  Luckily for all of us one of their developers has created an application called South that fixes this very problem.  South is meant to bring data migrations to Django and make it easy to make schema changes that are quickly applied to your database without much effort on your part.  Django does have a few…

Keep Reading →

Google Calendar for Business and LifeOctober 01, 2013

Google has worked really hard at making their Google Apps for Business to be something great that all businesses can use. They say that over five million companies are using Google Apps for their business and the company I work at is one of them. In order for Google to compete with the powerhouse that is Microsoft Office Suite they need to have some pretty great things, and they do. I've already…

Keep Reading →

Take Advantage of the Bootstrap GridSeptember 27, 2013

One of the biggest features of Bootstrap is their responsive grid .  It helps developers and designers easily space out content on a page without having to worry about margins and screen sizes.  I've done some posts in the past talking about the best way to use the various screen size related tags .  Today I wanted to focus on taking all of that to the next level.  The grid system works at…

Keep Reading →

Custom Column Widths in Bootstrap TablesSeptember 24, 2013

One of the biggest things I've run into with Bootstrap are their tables which are dynamic and grow and shrink depending on content size.  For the most part this is completely desired.  Every now and then you want a bit more control over your table column widths.  This is a very simple trick that I wanted to document for those who have run into the problem of wanting more control than Bootstrap…

Keep Reading →

MySQL Queries for Grouping Data By YearSeptember 19, 2013

A big request we had in designing our new system was an easier way for users to get data from the database.  With the large amounts of data that we use across dozens of tables it can be slow going to use the Django methods.  Instead they have given the ability to use and write raw SQL and use that result how you please.  You can read about using cursors here , I may do a post in the future about…

Keep Reading →

Bootstrap Tabs with Dynamic Content LoadingSeptember 17, 2013

Bootstrap comes with a lot of different JavaScript tools to make your website more user friendly.  Today I'm going to cover Tabs and then give a more advanced example for making your tabs have dynamic content using AJAX.  We all know what tabs look like and in a website they can be very useful to group similar content without having to create a new page for each chunk of data.  Below is an…

Keep Reading →

Google Hangouts - Why You Should Be Using ItSeptember 12, 2013

Recently Google said goodbye to their chat system Google Talk and replaced it with Google Hangouts.  If you aren't currently on Google+, and I know that is a lot of people, you probably don't know what Hangouts is.  Google Hangouts is Google's voice/video/chat client and is very comparable to Skype and Apple's Facetime.  This post will discuss some of those comparisons and why Hangouts should…

Keep Reading →

Get List from POST Data - DjangoSeptember 11, 2013

Recently I tried sending a list through a form using something like < input name="my list[]" value="some val" > .  When this form is submitted all of the inputs with that name are grouped together for easy access.  In Django, one would think you could simply access the list using request.POST['my list[]'] .   This is not the case.  Using that command will give you the last value.   Django says…

Keep Reading →

Making Beautiful JQuery Graphs With JqPlotSeptember 10, 2013

One of the best ways to make a page of data better is having a nice, visual way of looking at the data and graphs and charts do a great job of that.  Figuring out which graph works best for your situation is up to you but in almost all of the cases jqPlot has a way of rendering that on your website.  JqPlot is an open-source project with a ton of features, graph and chart types, and visual…

Keep Reading →

Backup and Restore MySQL Databases and TablesSeptember 05, 2013

Anytime I need to move data or alter our database I get a little bit nervous that something is going to go wrong and crash the database losing all of our data, dropping tables, causing chaos, and so many phone calls.  Our database automatically backs up every so often but right before any major changes I make a quick local copy of the data.  This came in handy just the other day when a table was…

Keep Reading →

Add a Simple Google Map to Your WebpageSeptember 03, 2013

There's just something about having a map of an address that is appealing to people.  Why just list the address like a mailing label when you can place a nice marker on an interactive Google Map?  That's what I thought too when I was adding content to our customer profiles.  I'd never done this before but knew that Google has a great API for accessing their data as well as some pretty good…

Keep Reading →

Chromecast - Unboxing and First ThoughtsAugust 29, 2013

Google has released their own competitor to Apple TV and Roku called Chromecast .  It's a very small device that plugs into an HDMI port in your TV and can stream Internet video right to your TV.  The box is very small and does not come with a remote because your tablet/smart phone/laptop/desktop is your remote.  Using the apps on your tablet or smart phone you can stream YouTube videos, Google…

Keep Reading →

Django DRY URL's in TemplatesAugust 27, 2013

With so many templates in a large project that all link together in creative and complicated ways it can be a pain to keep track of URLs.  Every URL is an address that can also have a number of variables associated with it.  If these need to be changed it can be very tedious to go through every file and replace the hard-coded URLs to reflect the change.  Helping with this, Django has a template…

Keep Reading →

Bootstrap 3 ReleasedAugust 23, 2013

Just a quick note for everyone, Bootstrap has officially released version 3.0.0 as of Monday.  If you have been following along with the blog so far you'll already be familiar with the major changes to Bootstrap.  This final release fixes a lot of those bugs that I've brought up here.  It is now stable and ready for production.  The biggest complaint I've seen from people is the move to the flat…

Keep Reading →

Django Messages Framework and Custom TagsAugust 22, 2013

Sometimes it's necessary to display a message to the user in a quiet and clean manner.  To do this, Django has given us the  messages framework for cookie- and session-based messaging.  After a form or other input is submitted we can quickly send a short message to the user without much effort at all.  Here are all the documents related to the framework but I'm going to give you the quick…

Keep Reading →

Bootstrap ScrollSpy Pitfalls and FixesAugust 20, 2013

Designing our new internal marketing tools has been a pet project of mine for a couple of weeks now.  I spend a little time here and there adding information and tools for our employees to better understand our relationship with our clients.  I'm displaying basic contact information, some information on the kind of business we do with them, a log of notes we take, past business, and company…

Keep Reading →

Bootstrap RC2 - Another Update, More ChangesAugust 16, 2013

As Bootstrap nears releasing their final version of Bootstrap 3 they will continue to roll out Release Candidates for bug fixing and testing.  We have elected to keep as up to date with them as we can under the assumption that release candidates are fairly stable and shouldn't change too much between now and release.  Tuesday they released their next release candidate, RC2.  You can read about the…

Keep Reading →

Twitter Typeahead.jsAugust 08, 2013

The first issue is that right out of the box it will not work with Bootstrap 3.  Support is still being looked at but in the mean time there are some fixes.  Here is a thread about the issue on their GitHub page with some helpful people posting solutions for the interim.  Below is the code we are using for ours which I'm sure will change in the coming days. Once we got the formatting and could…

Keep Reading →

Bootstrap 3 Change NotesJuly 31, 2013

After spending the last two days working with Bootstrap 3 I wanted to jot down a few of the things I found in case I forget them tomorrow or to help anyone else running into similar issues. Old code: New code: Cleaned up a bit as we had that extra label tag on our old code which was unnecessary as Django adds the label tag correctly on render.  One of the biggest thing to notice is that the span…

Keep Reading →

Bootstrap 3 RC1July 30, 2013

Creating our new site required a better base.  We chose to use the popular Bootstrap CSS engine to unify our CSS and help us get things started quickly.  After using Bootstrap 2.3.2 for nearly three months Bootstrap 3 was released.  We had hoped that the update would not affect our code base but we were wrong.  Nearly everything has changed in our styling.  Bootstrap 3 has gone for a mobile…

Keep Reading →

Simple JavaScript Clock with Time Zone SupportJuly 29, 2013

Just wanted to write down a quick little JavaScript clock I made that converts to the user's time zone.  Since we have offices all over the world and the date time fields keep track of time in UTC it is important for users to know what time zone they are currently logged into.  I have placed this clock in the navbar at the top of the page next to the user to let them know what the current time is…

Keep Reading →

MySQL Collation MattersJuly 25, 2013

When creating databases and tables with MySQL there seems to be one setting that gets overlooked, collation and character set.  For most smaller sites, and maybe those purely in English, this may not be such a huge deal but for a larger application site and one that will be holding characters from various languages this is essential. UTF-8 is the collation and character set we want and the MySQL…

Keep Reading →

Django Context ProcessorsJuly 24, 2013

Today I started work on allowing users to edit certain settings we have for them, namely what office they are in and their language.  Using Bootstrap I changed the way our navbar worked so clicking on your name drops down to give you the option of editing your profile or logging out.  Editing your profile brings up a modal with the choices you can change.  This modal is located in our project's…

Keep Reading →

Django Translation - Going Live!July 18, 2013

A while back I wrote a post about Django translation and getting your websites to be translated.  Since then it has been pretty successful in our development version of the site and I have continued to learn the quirks of Django translation.  A couple of things to note:

Keep Reading →

Django Timezone ConversionsJuly 17, 2013

Django does a great job at converting datetime objects to whatever the servers timezone is when your settings are set to do so.  For our big project we needed times to be local to the user.  Django documentation says to allow the user to select their time zone and save it to their user profile, which we plan to do.  Until then, to get things working, a few tests were in order. I have a page where…

Keep Reading →

VMware Player Custom Font Installation and UsageJuly 09, 2013

Came across this one today and wanted to document it for future needs.  We had a machine running Windows 8 that needed a VM of Windows XP to print reports from an old version of Access.  Everything installed fine and after getting the printer detected on the guest OS using VMTools we ran into a problem where the custom fonts we installed weren't being used.  Turns out you need to have the custom…

Keep Reading →

Django Translation Creating Locale FoldersJune 27, 2013

As our huge project progresses we need to start thinking about some of the major features that our users would like to see.  The first is less of a feature and more of a necessity.  Our users are located all over the world and speak four different languages.  To accommodate all of these users we need to translate every bit of text on every page of our application for all of our users.  Luckily for…

Keep Reading →

Custom Django Admin Filter with Foreign KeysJune 20, 2013

During our massive redesign of our internal tools I wanted to make the Django admin page more friendly for us, the software engineers and admins.  Currently when they have problems or need things changed the easiest way to do that is through raw SQL and altering the database directly.  This is inconvenient and can lead to bad data.  Django, by design, abstracts that interaction and creates a great…

Keep Reading →

*args and **kwargsMay 25, 2013

As a recent graduate in computer science, I really probably should have known this, but today I learned.  This morning as the team and I were discussing some new methods and software to write the discussion came up about what were the args and **kwargs we so often see in method declarations within Python.  Off to the Internet we went and found a <a title=" args and **kwargs?" href=" http…

Keep Reading →

Django Dynamic ModelForm Using ClosureMay 23, 2013

At my job we are currently undergoing a total rewrite of their old web-based data entry system.  It's written in Django and works pretty-alright we are just going to make it better.  When it was first written the company was small and very few tests were being done.  This caused the initial design to lack foresight into the growth of the project.  Another problem with this current system is that…

Keep Reading →

Starting AgainMay 23, 2013

Hello, Welcome to my new blog. Created for me to take notes on my every day workings and findings in the areas of web development and computer science. I will try to update regularly with notes that I take each day working on the various projects that I do. A little about myself, I am a recent graduate of the University of Utah with a Bachelors Degree in Computer Science. I work full-time as…

Keep Reading →