General

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 to college to better prepare myself for the challenges that it brings.

Luckily, there is a group trying to change that.  Between December 9-15, 2013 is Computer Science Education Week organized by Code.org.  Their goal is to promote computer science education.  They’ve done a great job getting celbrities to back the cause and made a great YouTube video that you can see on this page and their site.

Computer science is not just for those who want to program.  Computer science is all about solving complex problems and critical thinking.  The solutions computer scientists come up with are manifest through a computer program but anyone can benefit from being a better problem solver.  Taking time to learn to program just a little bit will help you better see solutions to complex problems and understand how many of your favorite programs work and function.

Take time to program today or teach someone else.  The Computer Science Education Week website has a lot of great tutorials for anyone new to computer science.  If you already have experience but want to practice a bit more, head on over to GitHub and find an open-source project that interests you and contribute.

world-cup-trophy

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 with brackets and tournaments.  I decided to make a simple website that allows people to create World Cup predictions to compete with others.  This app is still in very early days.  Most of the images are placeholders and the scoring system and group creation is still in the works.

You can sign up now to get updates on the app as it develops as well as create your predictions right now.  Just create an account and login.  Then click Brackets at the top and New Bracket.  Enter a name for your bracket and submit.  Now you can select the winners of the groups and the winners of each match by simply clicking their name.

This is also all open source so if you want to keep up on updates or leave feedback/bugs head on over the the project’s GitHub page or send an email to info@ericsaupe.com.

I will post more about the app as it gets updated but in the mean time please feel free to create an account and click around.  The address is currently at http://soccer.ericsaupe.com but once a name is chosen I will change that.

Watch as I play video games for 25 hours to raise money for Primary Children’s Medical Center.  You can watch every second of it here on my site from the start at 8AM Saturday to the close at 8AM Sunday and even chat with me below.  I will be watching the chat all day and interacting with everyone.  While you are here please donate so we can all raise money for a good cause.  You can read more about Extra-Life and Children’s Miracle Network Hospitals at their websites.

Thanks.

UDPATE:

Thanks to everyone who donated and hung out with us.  Together we raised $200 for Primary Children’s Medical Center.  Thanks again to everyone.

Windows-8-1-Betta-Fish

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 notable changes, for desktop users, is the ability to boot directly into your desktop rather than the tiles.  I love that feature and it should have been in from the beginning.  They also brought back the Windows button in the bottom left though it does not bring up the traditional Start menu it instead brings up the tiles.  Tiles have been improved as well giving better customization of tile size and even naming columns.  Backgrounds and customization all around the OS has improved.  For the most part I think that it is a solid improvement and fixed on a lot of the issues people had when trying out the new Windows 8.  I’ve always liked the OS and think that if you are put off by the tiles and radical change to the operating system that you take some time and play with it.  Windows 8 is really fun and works really well and fast.

One very important note.  If you installed the preview and want to get the real version of Windows 8.1 they are suggesting that you re-install Windows 8 with your original key and then upgrade.  They say that they are having a hard time verifying old keys without having the original Windows 8 installed.

That’s it.  If you are on your Windows 8 machine now you can upgrade to Windows 8.1 by clicking that link.

extralife2012_728x90

Every year the people at Extra Life have a massive drive for donations that benefit hospitals in the Children’s Miracle Network Hospitals.  With most donation drives there is always something that sets their’s apart and Extra Life is in a class of its own.  Extra Life is a marathon of sorts where participants request sponsorship for the distance that they go.  The difference here is that there is no running involved, instead participants will play video games for 25 straight hours.

I’ll be the first to admit that this idea seems like an excuse for a bunch of people to waste a day playing video games.  While that is a side benefit, the real reason it’s being done is for the children of these hospitals.  Thanks to the Children’s Miracle Network Hospitals every cent of your donation goes directly to the hospital that the participant is playing for.  It is my pleasure to say that I will be participating this year and playing for Primary Children’s Medical Center in Salt Lake City.

Last year I raised $160 thanks to friends and family and all of it went directly to Primary Children’s.  This year I am teaming up with two others and our team goal is to reach a combined $500.  We will be streaming every second of our 25 hour journey together on November 2, 2013.  What I ask now is that you please sponsor me or a member of my team.  From now until the end of the event I will have the chart tracking the progress to my personal goal to the right of every page on my blog.  You can donate as much or as little as you would like.  All donations are tax deductible and 100% of your donation goes directly to the hospital.

I hope that all of you see this as a perfect opportunity to give to a great hospital and benefit some children’s lives.  Thank you so much for taking the time to read this and even more for your donations.  If you have any questions please feel free to get in touch with me.

Thank you.

– Eric Saupe

Google-Calendar-icon

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 done a post about Hangouts which works well as a chat client and awesome for video conferencing. Today I’m going to show off Google Calendar and how to use it to its fullest in a business setting as well as a few tips for making Google Calendar your personal online calendar of choice.

A lot of basic features you can find with any calendar program are already present including multiple calendar support, calendar sharing, and permissions.  Let’s quickly run through how to create a new calendar and share it with your company.

Create a New Calendar

new calendar

  • From the main calendar view, on the left side of the screen it says My calendars, click the arrow to the right of that.
  • Click Create new calendar
  • Fill in the calendar name
  • Fill in a description
  • Set time zone and location (This isn’t necessary but we have offices all over the world and it helps to distinguish where these meetings pertain to)
  • Set sharing to your organization
  • Add specific people to be able to make changes and add to the calendar
  • Click Create Calendar

You’ve just made a new calendar!  You can change the color of the events by clicking the drop down arrow to the right of the calendar’s name and clicking one of the colors.  Now that we have a calendar we should create a meeting and invite people.  Click Create at the top left to get started.

Create an Event

event

  • Click Create at the top left of the calendar view.
  • Title your event.
  • Set the start date and time and end date and time.
    • Setting the time zone will ensure that the time is converted to whatever timezone the guests are using.  For example, when our China office sets up a meeting they can set the timezone to China and invite me.  On my calendar I see it in my local timezone.  This helps with not having to do the timezone conversion on your own.  Use this!
  • Select if this event is all day and if it repeats, if it doesn’t just move on.
  • Fill in where the event is happening, if you use an address Google Maps can give the guests directions, if you are just doing something that everyone invited knows you can use a common name like Conference Room A.
  • If this is going to be a video call click add video call.  This creates a link to a Google Hangout that everyone invited can quickly jump into when the meeting begins.  The link is both on the calendar event and in any event emails.  This takes all of the confusion about joining a conference call out of the equation and just requires guests to click the link and join.
  • Select the calendar you want this to be displayed on.  A note on this, if you set it to a shared calendar and invite people to the event it will show up on their calendar twice.  Once for the group calendar and once for their personal calendar because they were invited to the event.  For most meetings I leave this to my personal calendar and invite guests.  That way it shows up once on my calendar and on their calendar.  This obviously makes the meeting a bit more private.  If it is necessary that others should see that the meeting is happening change this to a shared calendar that others can see even if they aren’t invited.
  • Add an attachment if one is needed.
  • Set a color, if you’d like.
  • Set reminders, these are for you.
  • Set your status, again for you and others to see if you are free or busy.

At this point your event is nearly completed you just need to invite guests and schedule any equipment or facilities you’ll need.  Inviting guests is very important because it will allow them to accept or deny your meeting request.  You can also check if that times works for them and if you need to change the meeting.  If there are changes to the meeting Google Calendar will automatically email them with the changes.  This is a very critical part because if you don’t invite people how will they know there is a meeting?

  • At the right side of the event creation you can see an Add Guests | Rooms, etc.  Make sure Guests is highlighted
  • Type in the email address of the guest you’d like to add.
  • Either click their name or hit Add
  • The guest list will grow longer below.
  • If a guest is just optional you can click on the black portrait next to their name.  This will change it to white which indicates they are optional.
  • Click Rooms, etc.
  • Choose what rooms or equipment you need.  By default it only displays what is available at the time you have selected already.  If you need the full list then uncheck Show only available and select what you need.  This will help you find an available time if you really need the equipment or room.

Now that you have guests and possibly room and equipment let’s make sure everyone can attend.  Find where it says Find a time above the event details you filled in like description, etc.  This tool will show you when people are available and busy.  If there are any conflicts then just change the time that fits everyone’s schedule.

If everything looks correct then just click the red Save button at the top of the page and you’re all set.  Your guests will get an invitation and you will receive notifications of their responses.

Other Tips

When you receive emails with dates and times you can click these to quickly create a calendar event.  The benefit of this is that on the event there will be a link back to that email.  When you open up that event later and forget why that was created you can click the Source link to the email and remember.

In your settings you can select the times that you normally work and it will warn users if you are normally not in the office at that time.

 

This post was a little verbose and spelled out specifically how to use Google Calendar.  Don’t be afraid to play around with it and figure out how to best use it for you.  Organization and collaboration is key and finding times to get together can be difficult.  Google Calendar is a great solution for businesses and individuals to keep all of that together.  Let me know in the comments if you have any great tips for using Google Calendar in your life or business.

urls

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 feature that will look those URLs up for you and insert the relative URL, without the domain name, into your templates on render.

It’s a waste to have hard-coded URLs in your templates and if you are adhering to the DRY principle, don’t repeat yourself, you’ll not want to have the same hard-coded URL in many places in the same project.  Using the {% url %} tag you can reference a view and no matter what its URL is Django will handle it for you.

Example time:

urls.py

views.py

base.html

This application, Marketing, uses a base.html page that is extended in all sub pages.  This gives the ability to have the same menu across all pages in the app.  I also limit the links based on whether a customer has been selected or not.  Let’s focus on the url tags though.  In the menu we see there are three links; marketing home, overview, and profile.  The first url tag demonstrates the most basic use of the Django url tag.  Simply it in your href and you have a link.  Make sure to have quotations around the view you are referencing, this was an update starting with Django 1.5.

Some URLs take parameters and we will need to pass those on occasion.  This is very easy to do by putting a space after the view and then adding the parameters, in order, with spaces between them.  If you don’t want to use the default ordering of the URL you can call out the variable name in the url tag.  Changing the marketing overview link to use the named parameter it would change to {% url "marketing.views.overview" cus_id=customer.customer_number %}.  Simple enough, right?  You can even reference views used outside of the immediate app like I have done with the Profile link that moves you to the customers application.  Django will handle all of your URL needs.

Hope this clears up how to leverage this great tool from Django.  I know when I first started with Django I didn’t use this as much as I should have but I’m loving it now.