antergos: simple, straightforward Linux desktop

Installed antergos Linux on my everyday working laptop yesterday after quite a while running ubuntuGNOME. After upgrading 14.10 to 15.04, some things on my installation became somewhat messy (in example system losing connectivity when switching between WiFi and LAN); I was pondering a clean re-installation after all but so far hesitated as these problems weren’t too annoying and I got other things to do most of my days.

However, few days ago I eventually stumbled across antergos, played a bit with it in a virtual machine and pretty much enjoyed what I saw. Talking about desktop computing, I’ve become pretty neutral throughout the last couple of years and aren’t really much emotionally involved anymore – I want a tool that just works out of the box, has a sane set of easily available configuration options and does provide a reasonable amount of “consistency” in look-and-feel with most of the applications I use in my day-to-day work. That’s why I still do not use “just some window manager on X11”. That’s why I still end up not just liking but also using Linux and GNOME as my main working vehicle: It offers everything I need in an unobtrusive way, works well using mouse and keyboard (touch input is not an option on my device so far), feels intuitive and well-crafted talking about its Human Interface Guidelines, seamlessly fits into my current workflow (which has changed a bit in the last years) and offers applications fitting into the look and feel for everything I need.

From an end user point of view I guess nothing’s generally wrong with Apple/MacOS or even recent Windows versions. They all possibly work, and each of them most likely will have a sweet spot – they’re just not my first choice (while on Linux, I still love KDE, but these days I tend to stay away from it in my everyday work for reasons outlined earlier, even though Skype fortunately ain’t an issue anymore). I do still have other issues with both platforms, but on a productivity (or comfort-of-use) level, it’s just a matter of individual taste I guess.

antergos-login

So just starting here, antergos is interesting because it provides a pretty good GNOME experience out of the box. The visual appearance based upon numix feels familiar if you look at some general common styles appearing in current web pages / applications or smartphone operating systems. It looks and feels good, however, and (another good point) runs recent GNOME 3.16; the last couple of years I learnt that GNOME 3.x has made substantial progress with each and every version so being with the latest release is desirable. Knowing that antergos is built on Arch Linux and thus a rolling release (opposing Ubuntu that comes with major releases twice a year) also is a good thing here, assuming that this might make newer versions available faster than following down the Ubuntu or even Debian release roadmap.

antergos-empty

So I decided to give it a chance in everyday work. That might sound a step bigger than it actually is – even though of course it’s about installing and to some point tweaking the installation, but in the end most of the environment I need for my everyday work either lives isolated in my $HOME folder after all or comes with default installations of virtually every Linux distribution to date (talking browser, mail client, some imaging tools and few other system utilities), so I got productive on this new installation in less than one hour (this works on Ubuntu too, by the way).

Impressions after the first day of working with it:

  • A bunch of things obviously are different especially when it comes to low-level stuff. Tried to debug a failed VPN configuration and stumbled across the fact that antergos obviously ships systemd and journald and comes without the usual plain-text log files in /var/log, see the arch wiki page on that topic. Interesting. systemd in its history has quite a controversy of people harshly blaming and bashing each other in very disputable ways for various reasons (some being more, some way less valid); personally I don’t really care much. It seems at least journalctl provides a bunch of features I’ve so far either been missing or manually scripted in other installations, so it feels like something not completely pointless.
  • Package management, obviously, differs pretty much. I found out that antergos provides the pamac package management GUI out of the box which is usable. They say that compared to Ubuntu or Debian the package repository is smaller, but so far I found everything I needed in there. My working installation seems to consume more space which is not much of a problem (despite my quite limited SSD). Then again, so far I haven’t bothered much cleaning the base installation as I gradually got to figure out which packages are installed and why they are necessary (or whether they can be removed without too much ado).
  • Not too surprising, most packages I have installed seem way more up-to-date than in recent Ubuntu stable, starting with the Linux kernel (4.0.5 right now). Just noticed, however – not really important in most cases except for GNOME (see above).
  • Community seems pretty friendly as far as I can tell by now. And at the core of course it’s Arch Linux (even though I still got to learn how much is Arch and how much is antergos), so most of the documentation in example on the Arch Linux Wiki applies as well, which is quite a plenty.

So far, antergos seems to be a friendly, visually appealing desktop Linux distribution, easing some of the difficulties of plain Arch to those who either don’t know or don’t want to spend time on immediately having to deal with them – and just want a good-looking, polished Linux desktop to do work. This is somewhere near what the elementaryOS folks also seem to be trying. And even while I prefer antergos (a few thoughts on elementaryOS can be found here), I am generally pretty happy with the tendency of people wanting to not just do technically “advanced”, stable, robust Linux distributions but also Linux distributions that also look good without being slavish imitations of any of the other platforms. Even just this very point makes antergos very much worth supporting…

“Building microservices” re-visited and reflected…

It seems that “Building microservices” finally made it to general availability. Actually, I’ve been following the book quite a while now, signed up (and bought the ebook version) pretty early during its early-access phase, and, finally, am pretty pleased with what the result looks like…

Read more ““Building microservices” re-visited and reflected…”

JavaScript Library Hell

After being into software development now for almost 20 years, counting in student days, these days I have to admit I spent most of this time, and especially most of my “productive” work on the server side using Perl and Java, with Python and shell scripting always being around as tooling things but never as real first-choice languages. Through these years, also my perceptions of architecture, technology and, actually, using server-sided Java have changed in many ways – from “web-only” applications to more complex structures running inside Java EE application servers to more lightweight structures running as standalone applications embedding HTTP servers or modules listening on messaging systems such as ActiveMQ or XMPP. Another change that happened all along the way is that JavaScript made its way from something everyone loved to hate to something everyone at least seems to want to use for day-to-day work. And while, after taking a few deep dives, in some fields I surely do understand this, in others I don’t at all…

Read more “JavaScript Library Hell”

HTTP caching and unirest-java

In one of our modules we make use of unirest client library for Java in order to access remote REST endpoints. As, right now, this involves quite some communication, we were looking into response caching which seems both an obvious idea and yet something that is defined pretty well in HTTP and, too, implemented pretty well in apache httpclient which lives at the core of unirest. And actually, even though undocumented in unirest, getting this done has proven to be mostly straightforward. Yet I decided to do a quick write-up, maybe it will help others get started faster.

Read more “HTTP caching and unirest-java”