blue flame This little image is a closeup of the top of one of the Arnold Tongues (phase locked regions occurring at frequencies that are Farey numbers), specifically, the one that appears on the iterated circle map. There are many more pictures in my Art Gallery.

Open Letter to Debian and Ubuntu Developers

25 May 2015 - Updated 24 Jan 2017 - Updated 4 Feb 2017

There used to be a time when Linux was a joy to use. Now, its a head-ache inducing slog through the bowels of the operating system. You have to be a brain surgeon and a rocket scientist. You have to work over-time. You have to have the patience of a saint and the persevernce of a boxer. I am so tired of this. I'm exhausted.

Update: 4 February 2017 - Systemd fucking rulez

cgroups/cgfs.c:lxc_cgroupfs_create:901 - Could not find writable mount point for cgroup hierarchy 12 while trying to create cgroup.

So, after an apt-get update; apt-get upgrade on Ubuntu 14.04 Trusty, my LXC containers stopped booting, with the above error message. It took me maybe 6 hours, with a dinner break, to find and fix the issue. The solution was simple, it turned out -- cgroups were not being mounted and my hacky solution was to copy /usr/bin/cgroupfs-mount from another system and run it by hand. Bingo, LXC containers work again.

What happened? Well, the interwebs claim that .. who knows. Its got something to do with systemd. The Ubuntu LTS maintainers apparently don't bother testing thier code before pushing it any more ... and they broke LXC. WTF. OK, yes, Ubuntu jumped the shark many years ago; but the new hero, the savior and solution to all our problems has not yet appeared.

Seriously: operating systems for servers are supposed to be stable. The apt-get update; apt-get upgrade is not supposed to break working systems. WTF.

Update: 24 January 2017 - FUCK YOU SYSTEMD

systemd-udevd[120]: renamed network interface eth0 to p1p1

Why can't systemd just boot my machine without fucking with the network interaces!? Why is networking so goddamned difficult with systemd? Why can't it just get out of the way and let the networking subsystem do its thing? I just want to boot my machine, I don't want to search on-line help to figure out why my system doesn't boot anymore because systemd renamed eth0 to p1p1 and then causes `ifup eth0` to fail. Its just frickin the integrated ethernet port on the motherrboard! Quit trying to fuck with it! FUCK YOU SYSTEMD!

And now back to the original 25 May 2015 rant.

I have 5 linux boxes I regularly maintain; two are webservers. You're looking at one now. The Linux kernel has a fantastic uptime -- a year, two years without reboots. But then there is the inevitable power outage during a thunderstorm. And then, at least one or two of my machines won't boot afterwards. Its been like this for 5 or 6 or 7 years now, and frankly I'm beyond getting tired of it. I'm beyond having enough. What are the Kubler-Ross stages of grief? Denial, anger, bargaining, depression, acceptance? I used to want to punch, well, I don't know who, maybe Kay Sievers, maybe Lennart Poettering, or someone, anyone, in the face, for all my trouble and my pain. The pain is still there. I think this open letter is a manifestation of the "bargaining" stage. What do I have to do, what price can I pay, to have a system that boots?

Its never the same thing twice in a row. Many years ago, it was udev and dbus. You had to do rocket surgery to get udev-based systems to boot. That eventually sorted itself out, but for a while, I lost back-to-back 12 hour days fighting udev. Then it was plymouth. Or it was upstart. Why were such utterly broken and buggy systems like plymouth and and upstart foisted on the world? Things with names like libdevmapper should not crash. And then there is systemd, which, as far as I can tell, is a brick shithouse where the laws of gravity don't hold. I understand the natural urge to design something newer than sysvinit, but how about testing it a bit more? I have 5 different computers, and on any given random reboot, 1 out of 5 of these won't boot. That's a 20% failure rate. Its been a 20% failure rate for over 6 years now.

Exactly how much system testing is needed to push the failure rate to less than 1-out-of-5? Is it really that hard to test software before you ship it? Especially system software related to booting!? If systemd plans to take over the world, it should at least work, instead of failing. Stop killing init. Stop failing to find the root file system. Stop running fsck on file systems that are already mounted r/w. Do you have any idea how hard it is to try to edit plymouth or upstart files from busy-box, hoping that maybe this time, all will be OK? To boot rescue images over and over and over and over, tracing a problem through a maze of subsystems, following clues, only to find, two days later, that it was Colnel Mustard, err, systemd that did it in the kitchen, with a candlestick? I mean, I have a really rather high IQ (just look at the web page below), and I have patience that is perhaps unmatched. And I find this stuff challenging. Lets get real: sysvinit was simple and easy-to-use by comparison, and it worked flawlessly. Between 1995 and 2009, I never once had a boot problem. Sure, there were times when I could not watch youtube videos ... but then Ubuntu came along and solved even that problem. For a while, it was Heaven on Earth.

Do you have any idea how shameful it is to tell your various bosses how great Linux is, and then have to dissemble and obfuscate, because you can't bear to tell them the reason you did no work for the last 10 days was because your Linux box didn't boot? To say "no thanks" when your boss offers to buy you a new laptop?

And its not just the low-level stuff, either. There's also the nuttiness known as gnome-shell and unity. Which crash or hang or draw garbage on your screen. And when they do work, they're unusable, from the day-to-day usability perspective. This wasn't a problem with gnome2. Gnome2 rocked. It was excellent. Why did you take something that worked really really well, and replace it with a borken, unusable mess? What happened, Gnome and UI developers? What were you thinking? In the grips of what madness? In what design universe is it OK to list 100 apps, whose names I don't recognize, in alphabetical order? Whoever your design and usability hero is, I am pretty sure they would not approve of this.

Its spreading, too. Like cancer. Before 2013, web browswers worked flawlessly. Now, both mozilla firefox and google chrome are almost unusable. Why, oh why, can't I watch youtube videos on firefox? Why does Chrome have to crash whenever I visit adware-infested websites? What's wrong with the concept of a web browser that doesn't crash? Why does googling my error messages bring up web forums with six thousand posts of people saying "me too, I have this same problem?" When you have umpteen tens of thousands of users with the exact same symptoms, why do you continue to blame the user?

I can understand temporary insanity and mass hysteria. It usually passes. I can wait a year or two or three. Or maybe four. Or more. But a trifecta of the Linux boot, the Linux dekstop, and the Linux web-browser? What software crisis do we live in, that so many things can be going so badly, so consistently, for so long? Its one thing to blame Lennart Poettering for creating buggy, mal-designed, untested software. But why are the Gnome developers creating unusable user interfaces at the same time? And what does any of this have to do with the web browser?

I'm not sure its limited to Linux, either. Read the trade press, everyone belly-aches about the incompatible, fragmented Android universe. And, well, obvioulsy, Microsoft Windows has been a cesspool for decades; it was the #1 reason why I switched to Linux in the first place. Duhh. But why has Linux morphed into all of the worst parts of Microsoft Windows, and none of the best parts? We are all Microsoft Windows, now.

What's at the root cause of this? Sure, its some combination of programmer hubris, lack of system test, inexperienced and callous coders. Overwhelmed coders with a 10 year-long backlog of reported, unfixed bugs. Perhaps some fatigue and depression in the ranks of Debian and Ubunutu package maintainer community. Perhaps it is a political problem: the older, more experienced developers have failed to teach, to guide the younger developers. Perhaps we've hit a fundamental complexity limit: there are too many possible combinations of hardware and software. I fear we have hit a wall in the ability to communally develop software; the community is not working. All bugs are no longer shallow. Or maybe it has something to do with capitalism and corporate profitability. Some malaise presaging the singularity. I don't know. What's the root cause of this train wreck?

We need to figure out what is going wrong, not just at the technical level, but at the social and political level, that is allowing major distros to ship buggy and incomplete and broken software, oblivious to the terrible condition it is in, uncaring and dis-interested in fixing it, or perhaps unable to fix it, and unable to see a way forward. But we have to move forward. We need to find a way out of this mess. It cannot continue like this.

Yesterday, there was another thunderstorm, another power outage. Today, I spent the last 11 hours trying to make my other webserver, boot. No matter how I twist and turn, I get a "can't mount root filesystem" or "killing init". Its supposed to be a holdiay weekend. I'm not being paid to run these servers. Why can't I just have a system that boots?

-- Linas Vepstas 25 May 2015 Austin TX

Contacting Me

I can be hard to reach. If you need to reach me, leave a note for me at google+

The Home Page of Linas VEPSTAS

Welcome to my home page! There's a lot of stuff here, some quite good, and some that's so bad I'm ashamed of it. Yet I've been too busy to find it, figure out if it really is that bad, and remove it. So its a grab bag. Some of it's funny but mostly it's not. A lot of stuff here is hopelessly dated. I tend to spend most of my on-line social time on the opencog blog, irc, maling lists, wikipedia, and google+, rather than in polishing this web site. Basically, this page is a snapshot frozen in time: its what a blog looked like in the 1990's, before blogs were invented.

Who am I?

At various times in my life, I've been a scientist, technologist and entrepreneur. I have broad interests in mathematics, physics, and computer technology.

My current technical interests focus on natural language processing and artificial general intelligence. I've held jobs working in the above areas; unfortunately, I now pursue these only as a hobby. The NLP directory has pre/re-prints of some of the academic publications that have come out of this work. My primary research platform is the open-source OpenCog project. For me, OpenCog provides a general technical setting where I can experiment with different machine learning theories and algorithms, with both connectionist and symbolic processing flavors. I've compiled a messy list of related open-source AGI projects here.

I've spent many years at IBM; most recently working on the Linux kernel for Power architecture-based mainframes. The Linux on the PowerPC wiki is a good place to find out more about IBM Linux mainframes and systems. I've been active in the Linux community; I was a founder of the Gnome Foundation; and was the lead developer for GnuCash for over 7 years. I've founded three dot-com startups, all of which failed to enrich me financially. I was a founding member of the OpenGL Architecture Review Board; and spent 8 years learning about and designing 3D graphics hardware and software. I have a PhD in theoretical physics from SUNY at Stony Brook. Currently, I am utterly infatuated with mathematics, and have made large contributions to over 400 math articles in Wikipedia. BTW, y'all, global warming is for real. Do something about it.

Linas' Mathematical Art Gallery
A colorful exploration of some well-known, but under-examined equations. I think some of this is high Art, and much of the rest of it should be an eye-opener for even jaded fractal mathematicians.

The Art Gallery has been running for fifteen or twenty years while being silent about the underlying math. I suppose its high time to make amends. The core idea of the dissertation is that the shapes of fractals are describable through Farey Fractions, which appear naturally through continued fractions, which have the symmetry of the Modular Group SL(2,Z), which is inter-twined with the Riemann Zeta and the structure of the set of rational numbers. Besides the four basic operations on the real numbers (addition, subtraction, multiplication, division), there is a fifth basic operation which is rarely taught in primary school and under-appreciated at higher levels, namely, "Farey Addition" or, expressed correctly, group multiplication in SL(2,Z). The modular group doesn't just lead to Pellian equations and algebraic numbers, it in fact intertwines all rational numbers (and their extensions to reals and p-adics) in crazy, fractal ways. This is why, for example, one sees Farey Fractions in the Mandelbrot Set. In number theory, the structure of the Modular Group provides a unifying theme for understanding the nature of factorization and primality. This is why, for example, power series and Dirichlet series (such as the Riemann Zeta) exhibit such crazy fractal Cantor-Set type patterns. Despite this connection being seen by Weierstrass as early as 1872, its more-or-less entirely ignored in standard textbooks on Analysis and Number Theory. A series of articles tries to provide some of the underpinnings for the above breathless assertions. Some highlights include:

Political, Economic and Social Screeds
Some short essays on emerging economic and political forces. Most of these are just sly, corrsive expressions of anger and hostility, a lashing out at events beyond my control. Kind of like those ugly tv/radio talk shows, just not from the wacko right-wing nut-job perspective.

Linux Enterprise Computing
(Old, out of date) References, resources and a guide to prominent Free Software systems and technologies, from the corporate computing perspective. This is a snapshot of what Linux tech was like back in the late 1990's. Topics include:

My Free Software Projects
I've worked on many free software projects. Below are some of my favorites, with a more complete list here. My Ohloh account provides details and statistics for some of my more recent, active projects.

Technical Ruminations
Miscellaneous technical articles and notes.

Philosophical Ruminations
Sophomoric, half-baked, incoherent, nutty ideas, most of which have probably already been better-expressed in some top-ten selling book. These include, but are not limited to:

My Weblog
This is the output of my new experimental note-taking and publishing and general-diary tool, GnoTime. We'll see how easy, scalable, effective this tool really is. Or, how dis-interested I am in using it ...

The good stuff is in the form of letters:

Employment History, Schooling
References pertaining to the various jobs I've held, and what I did while I worked there. In reverse chronological order. My sort-of current resume is here.

Web Site Mirrors and More Web Site Mirrors
A random assortment of mirrored web sites. I mirrored these because at some point in time I thought their content was interesting, and they seemed to be at risk of disappearing forever... and some of them have ... This is my attempt to archive some of these, for some distant future rainy day.

Vintage Netscape Navigator
Some vintage copies of Netscape Navigator, v1.0n, v1.1 beta 1 and v2.0, for Linux/x86. These are circa 1994-1995. The binaries still run on my machine.

A really great photo of me at the 2009 Pumpkinhead 5K head race (7:45AM 31 October 2009). Peter Hoffmann in stroke, we're enroute to the starting line. During the race, we ran the boat aground (into a pollution control barrier), got completely hung up, lost a few minutes trying to get underway again, and still managed to win the race!

Training video, with coach's chase-boat in pursuit.

Taip, aš kalbu Lietuviškai. Parašykite!
Taip, tevas iš Panevežio.
Dabarmėtiniais laikais gyvena apie 6000-12000 kalbėtoju kalbos 'Veps', ant Rusijos-Finlandijos sieno, Karelijoje. Man šove į galvą, ar gali būti, kad, sakykime, prieš 5-10 generacijiu, gal koks žmogus, o gal visa šeima ar giminyste, atvažiavo iš Karelijos, ir apsigyveno Lietuvoje? Nu, Karelija ne taip jau toli nuo Lietuvos. Jeigu taip tikrai iškylo ta keista pavarde 'Vepštas', tai tas primas 'Veps' negalėjo atkeliauti ilgiau negu prieš 10 generaciju (200 metu), nes Vepštai nepaplite po visa Lietuva; bet irgi ne greičiau negu 5 generacijas, nes yra šimtai Vepštu. Tai ... ar galėtu būti?

Finlandijoi randama pavarde 'Vepsalainen'. Dagiau apie Veps.

My Goddess Jewelry
Please buy some of this beautiful jewelry!

Started in 1995, last updated October 2010

SANLight status reports - Novamente status reports - Hanson Robotics Docker containers - Language learning databases