"Macintosh HD" -> "Users" -> "xed" -> "Documents"
The Linux Unity I Really Wanted
Back in March I mentioned that a lot of the big game development engines were relaxing a lot of the licensing fees (becoming free as in "free beer"). That was nice but still not terribly useful for me as an exclusive Linux user. With Android, SteamOS, and other knock-on Linux technologies, bringing games to Linux has very recently become a non-negligible priority in the industry. The problem for me is that until very, very recently, if a game engine had "Linux support" that meant it could create executable games that ran on Linux. That’s wonderful and I’ve supported this with some Steam purchases. (Most gamers don’t take 20 year breaks!) However being able to actually create games in Linux as a development platform using the major engines remained mostly impossible.
I am thrilled to report that this is changing! Today Unity (not to be confused with the painfully stupid desktop environment created for Ubuntu) is announcing that their editor now has a functional Linux build. But this isn’t even the first!
Coincidentally, this past weekend I had just managed to get the editor for the Unreal Game Engine working in Linux. I was able to make and play with a very simple 3d game based on their demos. This is a huge milestone for Linux and for me personally.
With developers free to use a proper OS like Linux for development it’s likely we’ll see a lot more games that actually work well on that platform. And you thought the Glorious PC Gaming Master Race was condescending. Ha! You ain’t seen nothing. This is going to be a lot of fun!
Fool Me N Times, Shame On You
In the Linux world there’s been a debate going on for some years about how to move forward. One approach is to stick with well-established principles that have worked well for 45 years and the other approach is to attempt to make the largest number of potential users comfortable today. I would argue that ultimately the former should drive the latter but apparently this does not seem plausible to most developers. A great introduction to the GNU/Linux problems of our time is this article that mentions many of the projects that many of us long time users often find annoying. I think fundamentally this debate is more about what constitutes success rather than how to achieve it.
Where my sensibilities lie is relatively simple compared to the subtle complexities of the projects in question. Simply put, I require that my computer not lie to me. Computers are hard enough without someone’s idea of "easy" distorting the truth.
To demonstrate the kind of thing I’m talking about I’ll give a simple Apple example. If you look at the Finder and enable show paths it will tell you stuff like this.
But that turns out to be a bit of a lie. If you open a terminal and do this…
ls -d /Volumes/Macintosh\ HD/Users/$(whoami)
You’ll get something like:
So if you thought that "Macintosh HD" was the top of the file system tree, you were wrong despite OS X’s Finder/GUI wanting you to believe this incorrect thing. More annoying to me is that the reality is this…
ls -d /Users/$(whoami)
The 2nd level directory is "Users" and the top level is actually "/" but apparently only us Unix fans like that story. You can see the real structure of "Macintosh HD" with this…
ls -l /Volumes/Macintosh\ HD lrwxr-xr-x 1 root admin 1 Aug 20 01:30 /Volumes/Macintosh HD -> /
That "Macintosh HD" thing is a symbolic link to the top directory. This can create topological problems. For example, this is valid…
$ ls -d /Volumes/Macintosh\ HD/Volumes/Macintosh\ HD/Volumes/Macintosh\ HD/Users/xed/
/Volumes/Macintosh HD/Volumes/Macintosh HD/Volumes/Macintosh HD/Users/xed/
This kind of nonsense where a filesystem tree has pointless cycles in
it drives me crazy. This first annoyed me (to put it mildly) with
Windows 95 introducing its graphical file system browser that had
Computer (still there on Windows) which contained
C: which, of
course, some how contains
Another place that OS interfaces lie is with "trash" or "recycle". I’m starting to realize that normal people do not understand that when they "put something in the trash" they are really just moving it to a directory named "Trash". Yesterday I helped someone who was dragging around a huge directory of photos (hope they weren’t "sensitive"!) that had come from the Trash directory of a USB stick. This had the double damage of wasting space/transfer time and dragging around photos that someone thought should be deleted. Of course this isn’t just an Apple problem.
Even Unix has its lies. The one I find most irritating is one of the
reasons that aforementioned Trash directory of photos didn’t get
caught (OS X is a Unix). The directory was actually named
which means, by Unix convention (ls, Bash, et al), the leading dot
caused this file to not be shown. I hate this convention and have
worked around it with aliases and
dotglob, etc. as needed (which is
why I found this), but I think it is wrong.
What I love about Unix is that even where it fibs, it is not hard to get the truth. It is always foreseen that some people will want to know what’s really going on. Even OS X is pretty decent to work with becuase despite its kaleidescope of deceptions in the GUI, you can always open a terminal and just get to the reality of an issue. When I look at the new developments in software, I judge them mainly on how often and how severely they lie to me and how hard they make it for me to find the truth.
Very Insideous Security Problems Part 3
I started by writing about the relative security between cloud vs. local computing. Then I looked at the security implications of an opaque hardware layer.
Today I came across another nasty problem which lies somewhere in between the these topics and is probably more of a realistic security challenge for free (auditable) software users.
Between the ware that is soft and the ware that is hard, lies the ware that is firm. Of course, firmware is not firm in the "not subject to change or revision" sense as with "firm prices". Quite the opposite. Firmware, by design, can be changed relatively easily.
Just thinking about firmware makes hardened computing freedom fighters start to think of homegrown alternatives and, on cue, here’s the libreboot project. Its relative lack of market penetration provides an idea of how serious the problem of proprietary firmware potentially is. But the story just gets worse. The libreboot developers explain that proprietary firmware is not just about the boot loading.
The most glaring issue on modern Intel hardware is the Management Engine. This is a separate processor that exists in all [modern] Intel chip sets… The management engine provides remote access capabilities, independently from the running operating system. It has full access to your RAM, and it has full networking support.
Throw in some IPMI or other straight up "out-of-band control" (i.e. backdoor) and it’s game, set, match. For us (semi-)normal people, we’ll never know if Big Brother is trying to pick our locks, but for some people, there is no doubt. I’m really curious what Edward Snowden is doing about this. Probably using carrier pigeons as defined in RFC 1149 "A Standard for the Transmission of IP Datagrams on Avian Carriers"
The Good Old Keyboard Days
I was struggling to correct the devastating mistake of capslock on the latest (and spectacularly awful) Gnome and I realized why I feel so strongly about this.
It also explains why I can’t type ampersands and parentheses as well as other characters. I have also been known to hesitate typing equals. I wonder how long it would take for me to be comfortable typing on that again?
I don’t go crazy insisting that modern Tab keys be replaced with Esc. That’s a bit of a sanity check which reassures me that putting a Ctrl to the left of the A key is truly the correct thing to do, at least for programmers. And I don’t even use Emacs! NO, I NEVER DO GET NOSTALGIC FOR TYPING IN ALL UPPER CASE.
I don’t think I really have anything to add to Brian Krebs' article on the new Windows 10 wifi password "feature".
Unless you opt out, Windows 10 will by default share your Wi-Fi network password [hashed] with any contacts you may have listed in Outlook and Skype — and, with an opt-in, your Facebook friends!
Wow. Sounds like Microsoft is very unclear about whom this kind of shared secret should be shared with.
I guess the consequence of this will be plausible deniability for everyone. Let the file sharing/trolling begin! Or am I missing something?
I almost never deal with Windows, Facebook, Skype, or Outlook so I’ll be mostly a spectator on this one, but it’s still pretty disturbing.