cat /merlijn/brain

Category Archives: Ubuntu & Linux

Wifi problems…

So, I’m having a problem with my laptop. When I’m using the “TelenetWiFree” connection, I get disconnected after a certain amount of time, and for some reason I cannot reconnect until I restart my computer. Toggling the hardware Wifi kill-switch, which lets you disable and enable the power to the wifi hardware, does not resolve the problem. After re-enabling the hardware, the wifi doesn’t seem to come back again. Only a reboot makes the Wifi work again…

The “TelenetWiFree” Wifi doesn’t play well with all the computers we have, three Ubuntu laptops and one Chromebook, but it seems particularly wonky with my computer. I had some free time, so I started digging into the problem.

Perf uses Non-Maskable Interrupts. This basically means Perf can tell the cpu “Pauze whatever you’re doing now and let me do something”. This allows perf to have a “watchdog” functionality where it can monitor even the most critical processes and interrupts.

With great power comes great responsibility. Perf can hang your computer by constantly pauzing everything. To make sure this won’t happen, the kernel itself monitors perf. When it decides perf is pauzing too long, it tells perf to do a little bit less. That’s basically what that dmesg line means. The kernel told perf to do a little bit less. Does it have anything to do with the Wifi problem? Probably not… But at least I learned something: The kernel watches the watchmen…

I got a ticket to the Pragmatic Docker Day meetup in Ghent in exchange for writing a blogpost about it. Free food, drinks & awesome talks for a whole day, who would want to miss that? Not me!

So here are my unstructured thoughts I gathered from the meetup:

Docker is awesome!

What is docker? Docker encapsulates apps in their own little sandbox. Every app runs in its own container. An environment made especially so the app can run well and can’t mess to much with other apps running on the same server. It’s basically a VM without the overhead.

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications

Developers write their apps and put them in a docker container. They give this container to sysadmins and they are sure everything will work once deployed on the server because the app and all its dependencies are bundled in the docker container.

Docker is fancy!

This isn’t new at all. Containers have existed on Linux for a very long time. What docker does is provide a very fancy interface and API to work with and distribute those containers. This opens container technologies to a much broader public.

Docker is becoming so popular that even Microsoft wants in on the party. Docker announced a partnership with Microsoft to bring Docker to Windows.

Docker is production-ready*

Tomas Doran talked about how Yelp is using Docker in their Continues Integration & Continues Deployment workflow. From what I gathered, almost every service at Yelp is running in docker containers. This allows for very dynamic scaling, and makes the development – testing – production chain a lot shorter without compromising on the stability.

*Docker is still a very young and fast-moving platform. Using this in production requires a lot of knowledge and requires some caution. For a small infrastructure the benefits you get from docker might not outweigh the disadvantages from working with such early technology. However, even when you don’t use Docker in production, you can still benefit from it during development and testing!

Docker containers are not cross-platform…

The docker container still uses the host’s kernel. This means that a docker container will only work on a machine that supports the same kernel functionality. If you make a docker container on Linux, and you run it on a distro with a different version of the Linux kernel, most of the time you’ll be allright. However, running Linux docker containers native on a Mac or Windows won’t work.

You can still run containers on Windows?!

It’s still possible to run Linux docker containers on Mac and Windows using boot2docker. This is basically a lightweight Linux VM. Docker containers run in this VM. This is great for development, but there might be an overhead because of the virtualization.

Pragmatic Docker Day

Tuesday, Apr 21, 2015, 8:30 AM

ZebrastraatZebrastraat 32 9000 Gent, BE

1 Dockers Went

Important: RSVP/Subscriptions via eventbrite: http://bit.ly/pragmaticdockerdayThe main focus ‘pragmatic’ docker:Docker is awesome but doesn’t come with batteries included ; once you go beyond the simple docker you’ll be searching the web for insights and having to decide between the old/new/hottest approach to do things.I’ve noticed many docker …

Let’s rid the world of one of the most prominent Linux myths: “Desktop Linux sucks. It’s just not there yet”.

When Windows power users try out Linux two things always happen:

They get frustrated because they can’t find how to do something in Linux.

They brick their system, or make it extremely buggy.

I’ve been that person, I’ve bricked my system (a lot!), and the fact is, it was entirely my own fault. Linux didn’t suck, I made it suck! This post is a summary of every mistake I made the last 4 years, in an attempt to prevent other people from making the same ones.

Let’s rid the world of a few Linux misconceptions

Linux is different

Let’s start with an example: Bill is trying out Ubuntu and wants to change his screen resolution. Bill knows that on Windows, you can right-click the desktop background and click “change screen resolution”. Bill tries this, but cannot find the “change screen resolution” option. Bill can now do two things:

[the bad way] Assume you can only change this using the commandline. Go online and rant about how Ubuntu is impossibly hard to use.

[the good way] Open the dash and search for “Resolution” or “screen” or “display” or “monitor” or “projector” or whatever. He will find the “Displays” application. If he isn’t entirely sure if that is the right application, he can right-click the icon and he will see a description of what the application does.

Linux is not Windows. You are used to doing things a certain way on Windows. Some things will work differently on Linux. You will have to get used to it. This does not mean Linux is hard, only that it is different. Mac has this exact same problem. Windows power users complaining that ctrl-c ctrl-v does not work on a mac, even though the command button makes a lot of sense.

And yes, you can change the resolution in a GUI

Windows power user != Linux power user

Another example: Jessica knows a thing or two about Windows, she can even re-install Windows, if she finds that dvd she once burned. Jessica want to try out Ubuntu. She takes an old computer lying around and starts up the Ubuntu installer. She knows it’s better to have different partitions, so she chooses to partition the disks manually. She tries to configure the partitions, but she keeps getting errors she does not understand. She gets frustrated and rants on G+ about how in Linux, everything is complicated.

I see this mentality a lot: “I know how to do advanced tasks on Windows. I don’t know how to do advanced tasks on Linux, so Linux must be hard.”

You can do advanced tasks on Windows, because you learned how to do them on Windows. You will have to learn how to do some of them for Linux. This is the same for every platform. You can be a complete Linux Guru, being able to install Linux From Scratch. But you will still have to relearn how to flash your android phone.

Give it time, after a while you will come to have the same skill level on Linux as you have on Windows. Just don’t expect to get there on the first day.

You are a danger to your Linux

Exhibit A: Alice her Windows machine is becoming really slow and she wonders what she could do to speed it up a little. Alice googles “how to speed up Windows”. One of the first results is a blog explaining how to use cCleaner to disable processes. Alice, being a Windows power user, knows this can break her system really bad, so she is very careful and googles each process before disabling it. Alice is happy, her Windows is faster again.

Exhibit B: Bob is running the latest Ubuntu on a 10-year old laptop and notices it is a bit slow. Bob is a Windows power user, he figures he knows enough about computers to do something about it. He googles “how to make Ubuntu faster”. He finds a blog telling him to run different commands. The blogpost is a year old and has a lot of “thanks!” comments, so Bob thinks he can trust the author. Bob runs the commands. When a command fails, he figures it is a permission problem, so he runs the command again with “sudo”. The following week, Bob experiences weird glitches and crashes, and his computer cannot connect to his printer anymore. Bob is unhappy and goes on twitter to rage about how buggy Linux is.

You’re a Windows power user. You can mess with Windows, because you know what is dangerous, you know what warnings you can safely ignore. You are not a Linux power user. You do not know how to make that distinction on Linux, so be very careful!

Do not blindly trust commands from the web

I cannot stress this enough. I’ve seen this happen so many times, with myself, and with other people. A friend of mine wanted to make a lightweight Ubuntu install for a media center. He was using a heavily outdated guide to do so. The guide instructed him to remove a lot of programs, including compiz. Little did he know that newer versions of Ubuntu(Unity) require compiz to function properly. The result: he bricked his system, and blamed Ubuntu in the process.

A Desktop environment is not a theme

A desktop environment(DE) is a collection of software that does a lot more than just “look good”. A DE handles a lot of the “usability” features of the desktop, like automounting USB-sticks, CD’s, DVD’s and memory cards. It also helps you set up your network, it configures DHCP, detects wireless networks and gives you a nice user interface to enter the WIFI password. A DE also handles the function keys (brightness, sound, …) on your keyboard, and it can even connect to your smartphone to show you if you have new messages.

When you choose a DE, you basically choose how you will interact with your computer. If you choose a lightweight DE like lxde, you will lose a lot of the out-of-the-box experience a Windows/Mac user might expect. You will have to pop open a terminal, even to do basic stuff, like change your timezone. Unity on the other hand has those features, but demands more from your hardware.

Xubuntu might be fast and stable, but it comes with a price

A lot of the DE’s share the same libraries and software. Installing multiple DE’s at the same time can cause problems. If you want to try out different DE’s, I recommend doing a clean install with one of the official Ubuntu flavours, or another distro.

Choose wisely, and stick to that choice

Linux gives you a lot of choice. This is a great strength, but also a weakness. People have a tendency of making bad decisions when presented with so much choice.

If you’re looking for a Window/Mac replacement for your primary machine, and you are new to Linux, you should use default Ubuntu. Ubuntu offers the complete out-of-the-box experience you are used to on Windows/Mac. It is the best supported desktop, and It also has a good community that is very newbie-friendly. Every problem you will have, someone has had already. Askubuntu is full of questions Windows and Mac users might have when switching to Ubuntu.

Askubuntu, helping Windows users change to Linux since 2010

You will surely find a DE that is easier to use than Unity. You will also find one that is more stable and one that is more beautiful. However, Unity offers the complete package with very few rough edges.

It’s also easy to find a Distro that is more up-to-date than Ubuntu. Finding one that is more stable and one that is faster is easy too. But again, Ubuntu offers the complete package, with very few rough edges. It makes the transition very easy and it is a care-free Windows/Mac replacement.

With a Numix theme, Unity looks pretty good!

Conclusion

Are you thinking of joining the cool kids and trying out Linux? Then start with an easy distro like Ubuntu and be careful with what you do in the commandline. Most important of all, remember that Linux is different, and that’s a good thing.

One more company to put on the “Gaming on Linux” list: Crytek. A job posting reveals their intentions to bring the CryEngine to Linux. The CryEngine is famous for games like Far Cry, Crysis and the crowd-funding giant Star Citizen.

Star Citizen revealed their intentions to port the game to Linux a long time ago. They were very clear that, for that to happen, the CryEngine would have to be ported:

“The server side of CryEngine can run on Linux. Unfortunately the client side currently does not and is tied to DirectX.
We’ve been discussing OpenGL with them for Linux and Mac reasons and they have some other licenses that also want to do it, so it may happen in the near future.”

This is the future and it looks like it happened! So does this mean that Star Citizen will come to Linux? It does, According to Chris Roberts:

“I think that Linux and Mac owners will be happily surprised, when we can make an announcement we can’t just make yet.”

CryTek and Star Citizen, two more victories in the battle for Gaming on Linux

As strange as it sounds, playing a Microsoft game on Linux is possible! And quite easy to do so…

These instructions should work for Ubuntu 12.04 and 14.04 with a legal copy of AOE2HD on Steam.

STEP 1: Install Steam with PlayOnLinux

The game is not available on Steam for Linux. We will have to install Steam for Windows using Wine. Playonlinux does al the downloading and configuration for you. You can find PlayOnLinux in the software center.

In PlayOnLinux press the install button

Search for steam and install it

Note: If you can’t find steam in PlayOnLinux, search for the game on their website and click on the “install” button. Now it should show up in the search results of PlayOnLinux.

STEP 2: Install Age of Empires II: HD Edition

Start Steam (double-click “Steam” in PlayOnLinux)

Click the install button

STEP 3: Rename launcher and remove vcredist folder

The launcher is a little bit buggy in Linux, so we have to make Steam skip that.

Right click on Steam in PlayOnLinux

Click “open application’s directory”

Go to the folder SteamApps/common/Age2HD

Rename “Launcher.exe” to “Launcher.exe.bak”

Rename “AoK HD.exe” to “Launcher.exe”

Every time you start AOE, steam tries to install vcredist and fails. This isn’t a problem, but you have to wait a while before AOE can start. To prevent this from happening, do the following:

Go to the folder SteamApps/common/Age2HD/_CommonRedist

Remove the folder “vcredist”

STEP 4: WOLOLOOOOOO!

You can now play AOE2HD on your Ubuntu, and enjoy listening to singing monks, building castles and killing turkeys. It is possible that you have to repeat step 5 after a game update. If you are still having problems, let me know in the comments section below.

PS: If AOE2HD breaks after an update, just re-install it, and it will work again.

NOT WORKING? TRY THESE:

On my system it works without doing these steps, but feel free to try them, if it does not work for you.

First, I install the ambiance theme because the default gnome theme looks way to Whity-KDEy-Appely-Fancy-Chromy. I get the feeling I’m standing in the middle of an ice desert, even though I’m in the middle of Africa sweating like a pig…

Then, I remove the menubar because why the hell is it still here? “A waste of space! A waste of space!”

Lastly, I install unity because this gnome-thing is as unstable as a 13-year old girl. Ever seen “The Virgin Suicides”? Yes? Then you know what I mean…

Chapter 2

Why I still like it

Even though it is far too unstable, even for Ubuntu standards, I really like it. I will try it again in a few months, hoping it will be a little bit more stable. This is why I like it:

I REALLY like the activities panel. I think it is a way better design than the unity launcher. I like how much power the windows-key suddenly has. “want to switch to another window? Press windows!” “want to launch an app? Press windows!”. I also understand and the decision to remove the minimalize buttons because they are mostly used as a less-efficient way to switch between windows.

The hot-corner is the windows-key-master-goto-default-thingy for when you are working with your mouse. There are a lot of times when I’m working on my pc but my hands are not on my keyboard. Throwing my mouse in the left corner to be able to switch windows; it just seems natural to me.

Chapter 3

Advice

There are a few things that have really to change:

First, and most important: stability! stability! stability! I think the problem is with gnome 3.6 itself, because I had exactly the same experience with gnome on fedora. Then you should think about what to do with the “background-program-bar” because in this form, it’s an windows-8-like mess… Try to use dropbox and you’ll know what I mean. When all that is fixed, think about what to do with the menubar, because in this form, it is pretty much useless…

I have been using gnome 3.6. I have no idea if those things are fixed in gnome 3.8. If you know more about those things in gnome 3.8, feel free to let me know! If you have any idea how I can make it more stable, the comment section is at your disposal.