Tag Archives: Day1

An Update on Python

Upon looking at the title of this post, you may be under the impression that
I am starting to learn python from scratch. Although that is most definitely
what the title implies, I am doing something a little bit different.

For the past 6 months I have been using python. I first started with a hackathon
project Recipr, where I implemented a server backend using Flask. This gave me the confidence I needed to start using python for other projects.

By its own standards, python is a language that allows you to quickly prototype
ideas. With that being said, it’s perfect for homework assignments where all
that matters is the final answer. (I don’t think many students are very proud
of the actual code that is submitted along with these assignments). Thus,
I also used python to implement several machine learning algorithms for a course
I was taking at the time.

Since then, I wrote a working replacement for my Programming Competition
framework, PCFramework, in python. I uncreatively called it PyCFramework.

I also used python for a fairly-large professional project during an internship
I held this summer.

With that being said, it is obvious that I have a decent amount of experience
with python. However, there is a clearly defined difference between knowing
a language and really knowing a language. To simply know a language is to
code in that language. To really know a language is to understand its principles,
design paradigms, and hidden features that make the language great.

Over the course of the next few months, I intend to really know and understand
python. Here is what to expect:

  1. Progression guided by Intermediate Python
  2. Refactoring and recreation of old projects, such as machine learning algorithms
  3. Creation of new projects, such as a new version of PyCFramework
  4. Discussion of the topics via this blog

The Switch to Linux: Day 1

This post is not only going to be brief, but also rather uninformative. My brand new ASUS ux305 arrived in the mail today and I spent a majority of the day playing with it. The laptop is beautiful. It has a very high quality build and feels extremely similar to the Macbook Air. One of the things I loved about the two months I spent with a macbook air was the keyboard. Well, I must admit, ASUS has done a great job at matching the quality of that keyboard. The size, the battery life, the weight.. everything about this laptop is perfect.

The first thing I did was go ahead and install Linux on this machine. My distro of choice is Arch Linux, so naturally I decided to put the Arch install .iso onto a flashdrive using Rufus. I then stuck the USB drive in and rebooted into the BIOS (Which is the del key for the ux305). Once in the BIOS, I noticed that it did not immediately detect the flashdrive as a boot device. No worries, I added an entry to the BIOS boot menu and pointed it at launch.efi on the flash drive. Everything went smoothly from there.

I simply followed the beginner’s guide, noting that I was setting up things for a UEFI system. This meant that I needed to do a few special things such as use GPT for my partition tables instead of the MBR I used on all of my other machines to allow for dual-booting.

Everything went great until I was required to install a bootloader. For some reason, the first time I installed gummiboot, I could not boot into Arch Linux because I was missing the file varlinuz-linux. I then tried to install GRUB. Same issue. I went ahead and cleared the partitioning scheme and formatted the drive and started all over again. It worked after that. I’m not entirely sure what happened, but if you encounter the issue, it can be solved by clearning the drive and recreating the partitions.

Now that ArchLinux was installed, I had to choose my software. I decided to go with Xorg for my display (Using the open-source intel video drivers). I also tried lightDM as my display manager; however, I did not like the look/feel of it, so I decided to resort to SLiM and its archlinux-simplyblack theme. I also tried to use bspwm and awesome window managers; however, I failed to find them as suitable replacements for i3 and went ahead with my tried and true i3 setup. After that, everything has been going smoothly. I will post more details later about the specifics of my setup. I am too tired to post it now.

The major problem I encountered during this install was connecting to the internet. For whatever reason, during the install process, I could not connect to the university WiFi. I used the wpa-configsection example for netctl, but couldn’t get anything to work for my wireless adapter. I ended up just using the USB to Ethernet adapter that came with the laptop in order to get a stable wired connection to complete the install. Maybe this is what contributed to the missing linux kernel file during the first boot-manager install. After I finished installing, however, the netctl profile I created worked no-problem. I guess there were just issues while using the install USB. Again, I’m not really sure why.

So far, it looks like I will for sure be sticking with Linux this time. I hope.