A Jekyll website built from scratch using WSL

Jekyll
By Ben of OpenClipart, CC0

In the previous post, we discussed setting up a dev environment consisting of the Windows Subsystem for Linux and Visual Studio Code. This post will focus on building a Jekyll website from scratch in this environment.

More...

WSL - A Windows dev environment for Jekyll websites

Visual Studio Code
By Microsoft, MIT

Before we get started with Jekyll, we need to have a working Windows developer environment, ideally one that works for general web site development. In this post, I’m going to detail my environment. It may not be the best or the most efficient set of tools out there, but it’s very functional and was very easy to set up, something I value since I like to work from both my desktop and my laptop.

All you need to get started is a PC running Windows 10. The PC will need to be on the latest update as of the date of this post, which is called the “Creator’s Update.” The Windows 10 version can be checked by going to Settings->System->About and examining the “Version” field. The Creator’s Update is version 1703.

There’s a lot going on in this post, so in order to keep the guide lean, extra details and my opinions will be moved to the bottom of the guide in a separate section.

More...

New look - Changing hosts and moving to Jekyll

Old site
The old website

Originally, this site was created during college as a place to show off some side projects when applying for jobs, as well as a means to maintain my super basic web dev skills. I’ve since graduated and moved on to getting some jobs, but this website has pretty much only changed once, and that was 5 years ago.

It was about time for a refresh.

The site has changed in 3 key ways:

  • Layout
  • Underlying code
  • Hosting
More...

Windows Phone Tiles

Windows Phone tiles
Windows Phone depends on tiles like these

I really enjoyed making my first Windows Phone app. I’m a fan of the ease of use of C#, and the plethora of libraries allow me to not worry about trivial things like parsing strings, which takes a lot of unnecessary pain at development time. Of course though, there’s definitely some weird things with the Windows Phone SDK, just as there are with any other platform.

One thing that was unnecessarily hard to figure out was altering the color of the default tiles. Developers can change the tile images by opening up the WMAppManifest.xml file and uploading images with transparent backgrounds. However, there’s no option to change the color of the background of the tile templates, unlike Windows 8.

More...

OAuth 2.0 in Windows Phone using HttpClient

OAuth logo
By Chris Messina, CC BY-SA 3.0

Chances are if you’re using an API for any piece of software, you’ll probably need to use a protocol like OAuth for authentication and authorization. There’s a lot of documentation for OAuth (v1) out there, especially for Windows Phone; here’s a popular C# file that implements most of the OAuth protocol, and there’s lot of pages out there which show how to use it.

There’s not much documentation for using OAuth 2.0, but that’s because it’s really easy to use, especially compared to the original OAuth protocol. Here’s how OAuth 2.0 generally is used for APIS:

  1. Register your application with your API’s provider. You’ll usually receive a client ID and a client secret that’s specific to your application.
  2. Send a request to your API’s provider for an access token using your newly acquired client id and secret.
  3. Send the access token with any API request.
  4. Refresh the access token if necessary.

Of course this process varies by the provider, but it’s usually similar to the above. For an example, check out this explanation.

The process above is easy to understand, but what would that look like in C# for a Windows Phone/Windows Store app?

More...

Announcing YNABcompanion

YNAB logo
By Jesse Mecham of YNAB

After graduating from college this past year, I wanted to get my ducks in a row and start off life in the real world on a good financial foot. I ended up spending a lot of time on the personal finance subreddit, where a lot of people recommended (among other things) a budgeting app called YNAB, or “You Need A Budget”. Ever since, I’ve been hooked on the desktop app because of its ease of use and its built-in ability to interface with Dropbox.

Unfortunately, there was no YNAB app for Windows Phone, and being a Windows Phone user, I had to manually add transactions on my laptop or desktop instead of being able to add them as soon as they happen on my phone. That was the motivation for YNABcompanion.

More...

Installing Ubuntu (Pt. 2 of dual booting Ubuntu)

Ubuntu logo
By Canonical Ltd.

This is the second post in a multi-post series of how to dual boot Ubuntu for CUDA programming on a Windows 8 PC. You can find the first post of the series here.

The boot process for Windows 8 has changed quite a bit, as documented by this post. Although there are lots of guides out there for installing Ubuntu on a machine, there isn’t a lot of info for some special cases for Windows 8. For example, there’s lot of support out there if you want to install Ubuntu on your primary drive (eg, the C drive), but not very much for installing it on a secondary drive. Although this doesn’t seem like a big deal, this is kind of bad considering the rise of SSDs and their falling prices; a quick google search about SSD sales brought up an article from Forbes about considering a hybrid drive. Regardless, the big takeaway is that it’s becoming more popular to have a small boot drive with a much larger drive or personal home server for documents and media, so it’s not unheard of to want to install another OS on a secondary drive.

That said, this post will walk you through how to install Ubuntu on a secondary hard drive. If you want to install Ubuntu on a partition of your primary drive, check out the Ubuntu dual booting community for some helpful guides and tips.

More...

Dual booting Ubuntu with CUDA on a PC (Pt. 1)

NVIDIA CUDA logo
Via Wikimedia Commons, CC BY-SA 4.0

Recently for my systems development class, I teamed up with another student to parallelize a decently sophisticated graph using CUDA, a toolkit for GPU programming using an NVIDIA graphics card. Although it was a fun project, and we achieved pretty impressive result despite only working on it for 2 days, it was a huge pain to set up on my Windows 8 laptop. This is the first post of a series that serves as documentation for setting-up Ubuntu on a second (non-bootable) hard drive on a Windows 8 PC which has both integrated graphics and a discrete, NVIDIA graphics card.

This series of posts will be consist of the following topics in the following posts:

  • The machine, and Why I might want CUDA on Ubuntu instead of on Windows?
  • Installing Ubuntu
  • Setting up CUDA on your new Ubuntu installation

I’ll update the last few bullet points with links to the posts in which they are discussed once the posts are written.

More...