Using Windows for Development

It’s been a few months since my 2011 Macbook Pro died. I’ve tried to find a replacement since. With rumors of a new Macbook Pro announcing soon, I haven’t found any justification to replacing it with another. I did however, purchased a 2015 12” Macbook. I bought for my son and I was planning to use it as a secondary development machine. I’m not expecting it to be a powerhouse laptop which is why it won’t be a primary device. I will share my thoughts on that once I play with it more.

So I’m left with looking for a Windows PC laptop. I could also dual boot it with Ubuntu if the Windows OS won’t work well with my development environment needs. But where’s the fun and challenge in that? I was also encouraged to try it out since Dave Rupert has had success with it. I won’t get into too much of setting up the environment since there are countless of articles out there. I will share some of the softwares I use.

Hardware

After many attempts at different laptops, I have finally settled with the Dell Inspiron I7568-2867T. It’s a 15” laptop with a touchscreen display running a Skylake i5 processor. I hope to write about it soon. I’m still getting used to it. As many of you know, I only run Windows at home and that’s for gaming. Otherwise, I primarily use Apple. This will be a good adventure.

IDE

One of the best text editors (that’s cross-platform) is Sublime Text. It’s fast, light-weight, and highly extensible. But that would leave me in my comfort zone. So I decided to try Microsoft’s Visual Studio Code. I’ve been hearing about this IDE and it is also open source and cross-platform. You can install extensions similar to Sublime Text. Here is a list of what I’ve installed so far.

I’ve only been messing with Ruby/Jekyll and Node. I have yet to get into PHP development. I haven’t decided whether to use PHP’s built-in web server or use IIS, Apache, or Nginx. I want to get into .Net development as well.

Version Control

I am using both Github and Bitbucket. There are two clients I’m using.

  • Sourcetree – I’ve been using this for a while now and like the ease of use.
  • Git-scm – This is needed for VS Code to work with local .git repo.

What about WSL

Since Windows 10 build 14316 (preview), you may enable Windows Subsystem for Linux (WSL). This allows you to install Ubuntu-based bash environment on Windows. It sounds great but what I’ve found is you cannot have Windows access the files in this environment. I was hoping to run the environment and have an IDE on Windows edit the files. Currently, this is not allowed.

While VolFs files are stored in regular files on Windows in the directories mentioned above, interoperability with Windows is not supported.

You would have to use VIM to edit your files which, for me, takes more time than using an IDE. I am not accustom to using VIM. I need my IDE. For those who are, this wouldn’t be an issue and should look at WSL as an option.

I wanted to mention the Command Line. I miss the terminal app on Linux and OSX and use it frequently. I’ve been able to use Command Prompt but you cannot have tabs. You would have to open a new window. In a laptop screen, it can get cluttered quickly. There are many alternatives but I want to try what is included in Windows. I am currently trying PowerShell ISE. It has tabs, yay! You can also adjust the font and color.

So far, that’s I’ve been using with my laptop. If necessary, I could use Laravel Homestead for developing with PHP. I’m very curious about .Net and MVC and considering converting a few projects to it. We’ll see.

powershell vscode sourcetree

PowerShell ISE, VS Code, and SourceTree

Upgrading to Jekyll 3

On October 26, 2015, Jekyll 3.0 was released. You can check out the blog post athttp://jekyllrb.com/news/2015/10/26/jekyll-3-0-released/. I decided to try it out but I ran into a few issues. One big one that many may face is the built-in pagination feature. In version 3, it is now deprecated. You can still use it but you must install it separately. You can do this in two ways:

  1. Create a Gemfile and add gem 'jekyll-paginate'. Then run bundle.
  2. Just install it with gem install jekyll-paginate.

If you create a Gemfile, make sure you add it to the exclude array in your config file. Also, add Gemfile.lock.

I also ran into an error with kramdown and jekyll-watch. I solved it the same way I did jekyll-paginate.

In one of my other websites built with Jekyll 2.5.3, I ran into issues with plugins. Be prepared for that as well, many will be broken. I’d like to get that fixed because it’s a site with over 300 posts. I want to see if Jekyll 3 has improved the speed of compiling.

If you are using permalink, make sure you have a trailing /. I was getting 404 errors on newly published files before I added the / in my permalink values. I’m not sure if it’s related to caching or just a weird bug I ran in to.

Finally, the last thing I noticed with version 3 is it includes the year of post date as part of the categories array. I’m not sure if that’s intensional, a bug, or I’m using old code.

Good luck with version 3. I’m glad for the new version but it has its headaches. I just have to be more patient and learn new things.