Tag Archives: hate

I want my UNIX groups back

The breakage of permissions under recent PolKit/logind is flabbergasting. They have completely subverted UNIX groups/permissions in a difficult-to-unbreak way. And I get cheerful little update messages saying things like “You no longer need to be in the camera group to use cameras” like it’s a fucking feature (and they’re lying; they mean users logged in locally no longer need to be in the camera group – remote users still need it). If I want a user to have access to some hardware on a machine, I’ll give it permissions. If I don’t, I probably don’t for a reason. Let’s talk use cases: perhaps you would like to hide the camera from a kid’s user. Or you would like to check on something with the camera attached to your remote machine. Or work a music player via SSH. Or generally use the resources on the machine you bothered to log into remotely because why the fuck else would you have logged in there? Every one of those is now more complicated to accomplish. Adding a facility to enable/disable permissions for remote or local users might be reasonable, but just fucking breaking groups for a couple use cases no one uses is moronic. (Seriously, Fast User Switching keeps coming up as a rationale for breaking things. Has anyone, ever used fast user switching on one of the platforms that supports it? There are usually more computer-like-devices than people in a household now, it isn’t relevant.)

Can someone please come up with a straightforward way to just noop all the PolKit bullshit so I can have my UNIX box back from the FreeDesktop assholes?

Posted in Computers, General | Tagged , , , | 10 Comments

I just wanted to make a pointer to this /r/archlinux thread about dropping ConsoleKit support for a systemd-specific replacement, because I think the discussion (that I waded in to) is revealing about how the current “Linux is increasingly un-UNIX-like, and … Continue reading

Posted on by pappp | 1 Comment

Udisks2 and UNIX Philosophy

Apparently the udisks devs took it upon themselves to violate the FHS and moved the path for automounted media from /media/$DEVICE_NAME to /run/media/$USER/$DEVICE_NAME.

This is a user-facing change that I can’t find primary documentation for with google, which means the developers are automatically in the wrong, even if it is a good change.

Now, let’s talk about some things this change does (The first three are the developer’s claimed features):

  • Mount paths now belong to users – Why would a device plugged in to a computer belong to a particular user? It’s just as likely to be a backup drive or some other shared resource, and the interactions with hotplugging filesystems that support proper permissions are kind of bizarre. Older auto-mounters having to work around the “priviliged mount as a user” issue was a feature.
  • Avoids name clashes – Seriously? If we make the assumption that all relevant systems are single-user interactive machines, as the FreeDesktop folks have been making, every disc will belong to the same user, so the namespace is exactly the same. Also, is this a real problem? How common are device name conflicts? Can’t we just append “-(n+1)” or something straightforward like that?
  • Works with a ro / – OK, fair enough, it’s a neat idea. Now who run anything other than a statically configured embedded system with a ro /? Bueller? Bueller?
  • Where do discs plugged in before a user logs in go? How about if you have multiple interactive users logged in? This Fedora mailing list discussion seems to indicate they didn’t even think about it before pushing the change, and the suggestions mean your disc will mount in different places depending on when you plug it in. Broken.
  • The FHS is a standard, all manner of programs and scripts follow the standard. Everyone who was following the rules just got burnt.

    It wouldn’t be so aggravating if it weren’t part of a stream of douchey autocratic decisions the the gnome and RedHat contingent among the FreeDesktop folks have been making during the transition off of HAL, that harm everyone but the narrow use case they envision while making the decision. This is the same crew that has been forcing the *Kits on us (PolicyKit, ConsoleKit, DeviceKit, etc.), which have all made things less transparent, and power users’s lives more difficult. Most of these changes seem to be dedicated to breaking features accessible from the command line or other simple interfaces and instead integrating them into one of the bloated libraries attached to Gnome and QT, just to make things easier for the big desktop environments, which I find philosophically objectionable … in the words of Doug McIlroy himself, “This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.”

    There is a ragier condemation of it here that fails to bring in the UNIX philosophy argument, and an obnoxious but partly correct rebuttal from someone involved here if you would like to peruse the politics.

  • Posted in Computers, DIY, General | Tagged , | 4 Comments

    A Single-Image Review of the Windows 8 Consumer Preview

    The default desktop background/log in image is the ugly 8-betta. Thanks to the GIMP and general orneryness for the flip.

    This, even more than the DP, is a media-consumption OS – either we are watching the end of general purpose computers, or it will be holding the “Every other Windows release is a miserable failure” pattern. Touchscreens are horrible interface devices where other options are available, and optimizing for them makes horrible interfaces.

    Edited to switch to a deader version (old version) and add source XCF with the background edges fixed and all the objects on separate layers for other’s editing pleasure.

    Posted in Computers, Entertainment, General | Tagged , | 2 Comments

    Dear web designers: Stop breaking my browser.

    I’ve been running in to more and more sites which attempt to override browser features for no apparent reason. We know you can do all kinds of fancy things with CSS and EMCAScript, but that doesn’t mean you should. To pick out two examples I’ve hit in the last few minutes:

    The Verge: Uses some sort of dynamic scrolling mechanism, so my scrollbars (and hence indication of length and position) disappear. There is no reason to do that, and it removes features you would otherwise get for free from the browser.

    Gmail: For some reason, searches are done with a dynamic page, so the browser’s back button doesn’t take you back to where you were before the search, and even worse, hitting back from a message in the search results doesn’t take you back to the search results. They even replicated the back button in the interface bar because this is obviously how it should work. I leave a persistent Gmail tab up, and probably 1/3 of its reloads are because of this misfeature.

    As my adviser is fond of reminding us, you could build a car with a tiller and throttle as easily as a wheel and pedals, and in the early days people did, but we (as a society) picked some acceptable standard interface elements to ease adoption and transitioning between vehicles. Until recently, browsers were one of the few places in computing like that: it didn’t matter what (GUI) platform you were on: the scroll bar moved you around in the page content, and the forward and back buttons moved you between pages you visited in chronological order. Now, the net is full of pages that break that paradigm, and I can’t find any compelling reason to do so beyond “Because we can.” Please stop.

    Posted in Computers, Entertainment, General | Tagged , , , | 2 Comments

    Android Hate of the Day: Missing Basic Functionality

    [This post is part of a series on my initial Android impressions.]
    Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

    Android doesn’t come with a file manager. It doesn’t come with a terminal emulator, or a task manager, or almost any of the things one has come to reasonably expect an operating system to have. This makes it excessively hard to share instructions, since everyone is using interfaces broken in slightly different ways, and means the first few days of using a new device are spent on “Damnit! why won’t it do $Basic_function? Now I have to sort through the crap pile in the app store until I find one that actually works.” (which, come to think of it, is likely the objective.)
    The file handler functionality is as good as any desktop platform (I don’t actually know if it is based on XDG like most other *nixes, or some homegrown solution) so it wouldn’t debilitate third party solutions to have sane defaults, and the argument that most users wouldn’t want all of those functions is completely specious… it took me a couple hours to strip most of the unwanted crap off my new phone, and that crap was certainly less useful than the things I’m complaining about being missing.
    Also, most of the third party solutions suck. I’ve been using ConnectBot for a shell, which is better than the other free options I’ve tried, but handles the keyboard differently than every other program, and thus has problems with entering symbols like “|” and “>” which are sort of important on the command line. Likewise, after several seriously disappointing alternatives, I’ve settled on ES File Explorer for file management (also a solid [s]ftp/smb client), which is a little quirky about permissions and different file systems, and is nearly unusable in landscape mode (a rant for later), but is generally adequate. I’ve heard there may be some paid alternatives which are significantly better, but the idea of paying for this kind of basic functionality is infuriating – it is basically the same situation of coughing up for a Mac then having to buy one of a dozen Finders from some random dude for $20 before you could use it.

    Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

    Android Hate of the Day: Process Management

    [This post is part of a series on my initial Android impressions.]
    Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

    The task/process model Android uses is total bullshit. Task switching via the launcher is clumsy, and having things popping in and out of memory at random creates performance instability and the worst kind of non-determinism. To make an easy-to-demonstrate example, hit the “Internet” button – is it just bringing the screen back up, or starting over reloading the page you were on? You don’t know unless some form data disappeared, but the page probably does. This is especially significant in a mobile device, where user input is time and energy intensive, and, more importantly, the close button has a strong implication of “get up off my battery” that isn’t necessarily being honored.
    This also runs afoul of the “never lie to your user” axiom; there is a difference between running and non-running processes, and trying to ignore that distinction, unlike every other multitasking platform, is going to cause more confusion that it saves.
    This is again partially fixable via third party software – I’ve been using Gemini App Manager to hunt down badly behaving processes. Unfortunately, Gemini App Manager is seriously clunky, and between the profusion of RAM-eating background processes endemic to Android (and Sense…), and the number of apps designed with the expectation that they be allowed to sit in the background doing nothing useful, it isn’t really practical to keep an eye on what is running. I haven’t found anything that helps with the lack of a proper task switcher, and the “Recent” list from holding the home button or bringing up the notification screen is not even close to a solution.
    This is, in my opinion, the most fundamentally broken thing about Android, and will be the hardest to fix in a sane way, especially without running afoul of someone else’s ridiculous patents. I’ve mentioned before that Google’s recent spate of UI hires gives me hope on this front, especially Matias Duarte who designed good solutions for task switching on a number of other mobile platforms, but for the time being it makes me irritable.

    Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

    iOS is not a Promising Platform (for me)

    This is a response to “what about iOS?” questions from my calling Android “the last promising mobile platform standing” in the boilerplate for the posts I’ve been making about problems with Android. I come prepared with a list from my last two rounds of mobile device shopping.

    • The whole Jailbreaking mess is ridiculous. Android rooting is a relitively passive process, and the manufacturers are actually trying to be helpful. Apple is actively trying to lock you out of your device on every update. I’m a firm believer in the “If you can’t open it, you don’t own it” philosophy, and I like owning my computers.
    • Silly domain-specific language. Apple likes to act like their implemenation of Objective-C is a general purpose language (and that the versions for OS X and iOS aren’t mutually incompatible dialects), but when was the last time you saw something in Objective-C that wasn’t for an Apple platform? Even if you can come up with something, the other implementations are all OpenStep compliant – which is to say, incompatible with Apple’s. I will admit that using native code that is a superset of C is arguably better than the “Everything is written in Java and runs through our re-implemented JVM” situation on Android, but at least Google has their NDK now.
    • To write code for iOS, you need a recent Mac, Xcode, and a subscription to Apple’s developer program. To develop for Android, you need a computer. Google has a nice integrated eclipse-based toolchain, but if you want to do it with a text editor, make, and the binaries for whatever platform you are running from the SDK, there are directions for that too. I’d really prefer that the “computer” requirement wasn’t there – being able to try out simple scripts and compile test C programs on Maemo was wonderful, WebOS had it, and I want it on Android… apparently you can hack a toolchain together on Android with tcc and uclibc/dietlibc, and I’ve been trying, but I’m not willing to pay for a broken version.
    • All of the current mobile platforms give an unprecedented amount of access to the platform owner. I don’t trust Apple enough to give them a snitch in my pocket. I’m not entirely comfortable with Google having that kind of access either, but it’s a “choose your poison” situation.
    • No native multitasking. Apple has that weird freeze state background callback mechanism they call multitasking, which works in limited circumstances, but it really isn’t. They also don’t have a platform level clipboard mechanism or any of the other features that make multitasking work. WebOS’s behaviors in that regard were better than Androids, but… yeah.
    • Single source for software. Android has a checkbox to use alternative sources, and doesn’t have byzantine rules on what goes in Google’s market. iOS has “Jailbreak, install a third party manager, and pray the next update doesn’t brick your phone”, coupled with a transparency-free review process for applications that go in their store. That’s an appliance with vendor-provided modules, not a platform.
    • I want a god damn keyboard. Using up half your expensive high-resolution screen for a keyboard large enough to mash your fingers on is retarded, and I’m yet to use a software keyboard that comes close to being as usable as even second-rate hardware keyboards. Apple has a long standing war on buttons, so built in isn’t going to happen, and third party clip on Bluetooth keyboards aren’t a solution.

    Honestly, a 4-ish inch iOS device with a physical keyboard hacked such that it would have nothing to do with Apple’s servers (Updates when I ask, Cydia (rebadged dpkg) for package management, etc.) would be a pretty attractive platform – the underlying tech is good, and the userland is more POSIX-like than Android – but Apple won’t let that happen.
    As for other platforms, I don’t see any evidence that Windows Phone is going to be any more successful or desirable than the previous incarnations of WinCE and WinMo – they seem to just be copying iOS, stupid omissions and all, on top of a different kernel. HP did their stupid thing to WebOS, and Nokia just killed their own to turn themselves into Microsoft’s mobile hardware division in all but name (which, history tells us, means they should be defunct shortly). So. Last promising platform standing.
    Edit: I would make a note about it being tied to iTunes, which I despise in almost every way imaginable, but I once owned and liked a Creative Nomad Jukebox 3 where step one is “Get third party replacement software,” and the situation is much the same with Apple. Also, removable storage counts as a plus for Android, but Apple hasn’t expressed a dogmatic position against it, so the fact that no iDevice has had a microSD or similar slot isn’t a fundamental platform problem, just an issue with their existing hardware.

    Posted in Computers, DIY, Electronics, General | Tagged , , | Leave a comment

    Android Hate of the Day: Everything is Full of Ads

    [This post is part of a series on my initial Android impressions.]
    Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

    This is somewhat related to the market profiteering, but is a distinct and separate problem. Between internet ads that work because the built in browser is fully featured (yay? Flash), and “ad supported” software, the advertising situation crosses from merely irritating into usability problems. I don’t fundamentally have an issue with ad supported software and services, especially free games, but when 1/3 of the screen is covered with moving, changing, bandwidth-consuming advertisements, it has transitioned from “supporting the developer” to “disrespecting the user,” and that isn’t OK. At least google doesn’t have an Advertising API baked in to the platform like certain other popular mobile platforms.
    On a rooted phone, AdFree Android takes care of the bulk of the problem, but misses some things, and is a substantaial hassle just to block enough ads to use your phone. I’m not sure what you would do if you couldn’t or didn’t want to root.

    Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

    Android Hate of the Day: Profiteers

    [This post is part of a series on my initial Android impressions.]
    Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

    Android’s developer community is poison. With Maemo and WebOS, the objective was making and sharing software you wanted to use. With Android, the idea seems to be to extract as much money as possible from suckers. More infuriating, on the other platforms, Free software was available for free as a matter of course. With Android, there are at least three assholes trying to charge $1-5 for dalvik-wrappered versions of every useful bit of F/OSS and other noncommercial licence code (ex. Look how many pay apps are based on the “anything but commercial use” licensed SNES9X codebase). I may not be concerned about casual piracy, but it pisses me off when money changes hands for other people’s work.
    Finding a suitable sub-community hasn’t been terribly successful either; XDA-Developers is the best I’ve found, but is full of [l]users, and NookDevs, while promising, seems to be both nook specific and mostly defunct. Furthermore, the native code build system is so broken I’m having trouble DIYing binaries (as opposed to “apps”) more complicated than hello world on my own. Is there an intact community of people who just want to hack that I haven’t found?

    Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment