About the Asus USB-N14 Wireless-N300 adapter

Some of you know that I’m running Ubuntu at home (and at work, most of the time). So when I bought a new computer two weeks ago (have forgotten to blog about that (stay tuned)), I needed a USB wifi adapter as the motherboard dindn’t have an integrated one. I forgot to search high and low before ordering, so I just took the newest Asus (as I have an Asus router) adapter that had a fair price.

The Asus USB-N14 Wireless-N300 USB Adapter (that is one long name) did (not surprisingly) not work out of the box on Ubuntu 14.04. So I downloaded the driver using my phone and extracted it to my computer, but when I tried to compile the code I always got two compile errors. So after a lot of googling and trying to fix the error I just have up.

So I decided to send it back and order a new one. I went for the little sibling USB-N13 Wireless-N300 Adapter, this was mostly because most of the answers that I tried for myy N14 where reported to work with the N13. So when I hooked it up it was detected automagically by my computer, but of course couldn’t use it to use the internet. It would only connect. So I went to my backup plan and followed these simple steps (that are taken from this GitHub-page¬†https://github.com/pvaret/rtl8192cu-fixes):

Ensure you have the necessary prerequisites installed:

sudo apt-get install linux-headers-generic build-essential dkms

Clone this repository:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Set it up as a DKMS module:

sudo dkms add ./rtl8192cu-fixes

Build and install it (the version at the end may be updated, so double check with the git repo to be sure):

sudo dkms install 8192cu/1.9

Refresh the module list:

sudo depmod -a

Ensure the native (and broken) kernel driver is blacklisted:

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

And reboot. You’re done.

Thanks to P. Varet!

Evolution of a Python programmer

It’s not often I post really nerdy stuff on this blogg. Not sure why, but this has been in my draft folder since March 30th. So I think it’s about time to share it with my readers. It’s the evolution of how python programmers code (of course it’s all make-believe). This is one of the best, and true to life! See them all over at GitHub.

#Enterprise programmer
def new(cls, *args, **kwargs):
return cls(*args, **kwargs)

class Number(object):
pass

class IntegralNumber(int, Number):
def toInt(self):
return new (int, self)

class InternalBase(object):
def __init__(self, base):
self.base = base.toInt()

def getBase(self):
return new (IntegralNumber, self.base)

class MathematicsSystem(object):
def __init__(self, ibase):
Abstract

@classmethod
def getInstance(cls, ibase):
try:
cls.__instance
except AttributeError:
cls.__instance = new (cls, ibase)
return cls.__instance