Saturday, June 25, 2016

Moving on from Gentoo to Ubuntu

When I started running Linux, Gentoo was a good fit for me because I wanted to learn what was going on under the covers.  Gentoo (at least, eleven years ago) forced you to edit every config file manually, and the default install had you configuring and compiling your own kernel.

It was a great learning experience, and I'm glad I did it.

But at this point in my life, I have better things to do than to babysit weekly "emerge --avuDN world".  I let my Gentoo box get out of date, I didn't want to bother learning how to set up my own systemd services, and when some update's dependency tree decided I was switching, it stopped booting.

I was able to recover it at the time, but then this week (and I had been putting off rebooting for months) my Linux machine (frodo) took a nose dive and kernel panicked.  When I rebooted it, it was in such a state that I considered my OS installation 'totaled.'

For a while I've been running certain things off of my Linux box.  I've got a couple of RSS feeds which trigger IFTTT events, but I also have @twooshbot now, and any more than a few of hours of downtime results in missed data. (I need to add some functionality to read more tweets at startup, which will help with that.)

Anyway, on Friday evening, I found myself in the position of needing to pick and install a new distro, and fast.

A quick trip to DistroWatch, and I decided on Ubuntu.  It was dead simple, there are spoon-fed answers to almost any question online, and it's based on RedHat, which I am familiar with.

I was able to get @twooshbot back up and running that evening, and I've been slowly adding services and scripts to get back the functionality I'm used to (Dropbox, apache2, samba, vim, screen, etc.)

Anyway, I look forward to LTS support and dead simple updates.

Saturday, January 10, 2015

Gentoo is not ready for systemd

This is mostly just a rant into the aetherwebs, and it won't make a lick of sense to someone who doesn't manage a Gentoo Linux system.

You have been warned.  Move along.

Yeah, I know systemd is optional (for now) on Gentoo.  The thing is, unless you take specific steps to avoid it, it just happens to your system.  This is a bad way to introduce such a fundamental change.

Several months (a year?) ago, my emerges simply stopped working.  There were package conflicts all over the place, and I didn't have time to untangle everything and get to the bottom of it.  So, I just stopped updating.  Obviously, as a Gentoo user, I hated this.

Now, months later, I decided to build up a new system on my newly-obsoleted laptop.  It looks to me like systemd is the future, so I go that route.

Here's what doesn't work, out of the proverbial box:
  • Service configurations usually adjusted in /etc/conf.d/
  • DHCP
  • crons
  • webalizer
  • Dropbox (at least, the way I use it)
I was able to figure out how to get dhcp working via NetworkManager, and that got me to the point of a functional-ish system at boot.  That was the easy part.  Next, I transitioned what system cron jobs would fit into cron.hourly and such.

I still haven't figured out how to set up user-specific timer jobs that run on a schedule (say, every 15 minutes).  The file formats are simple enough for services and timers, but I can't get ssytemctl to recognize the files I place in ~/.local/share/systemd/user/.  In theory, though, that should all work, and it would be worth figuring out and moving forward.

It's also worth noting that the Gentoo Handbook and other documentation has thus far not been updated to support users building with systemd by default.

Here's what is flat-out broken for me, that I had working in my previous system:
  • Dropbox running in the background, launched the first time my user logs in.  Since Gentoo completely disables running anything out of /etc/init.d, I would need to write my own service file, which I'm not prepared to do.
  • Webalizer running just before the apache log gets zipped up by systemd.  This is probably as simple as specifying "run this task just before you rotate the apache log", but I don't know enough about the guts of systemd's log rotation for that.
For now, I think I'm going to revert my new system back to OpenRC.  It's the path of least pain, now that I know how to exorcise systemd from a box.  During this whole process, I got my old system's portage tree untangled.  I basically had to move the world file to a temporary location, untangle the system dependencies, depclean everything, restore the world file, and re-emerge it all. 

See, most of what my Linux system does is act as a web server, and a Dropbox client.  I have several cron jobs that rename files in Dropbox which get uploaded via IFTTT and other automated means, and sometimes these files have characters in their names that aren't valid on Windows.

Suffice to say that right now a systemd-based Gentoo system significantly fails to meet my specific needs.  If it was just a desktop workstation, and I wanted the latest version of Gnome I would probably stick with that.

Hopefully these issues will get resolved in the future.  Maybe I'll even help that to happen.  In the meantime, my main Gentoo system is dropping systemd. I have other priorities.

Saturday, June 15, 2013

Three Weeks with the Helix: My Thoughts on Windows 8 and Hardware

A couple of months ago, my laptop's charger died, and I suddenly found myself in a computer crisis.  (At the time I thought it was the battery (again--this machine has killed 2 batteries so far), hence my frantic search for a new machine, but it turned out to only be the charger--it turns out I have access another one I can use in the meantime.)  I needed a dependable machine; one that was good for every-day tasks such as browsing, e-mail, documents, and of course blogging, but also good for programming and other tweaking I like to do.

I had been keeping my eye on the market for about a year, and so I decided that then was the time (even though I knew Haswell was just around the corner--silly me).  I was very interested in Windows 8's new touchscreen features.  I tested the beta builds of Windows 8 on my laptop, and I found them to be very fast and stable, but I determined that the "Modern" interface (a.k.a. "Metro") was pretty much useless without a touchscreen.

Nevertheless, touchscreen is the future of computing interfaces, but by the same token, keyboards and mice/trackpads are also the present state of computing interfaces in Windows.  I definitely needed both, without compromise.  The Microsoft Surface Pro was too inflexible as a laptop device--the "Touch" keyboard is worthless to me, and even with the "Type" keyboard, the screen is only supported at one angle, and then only when it's on a flat, stable surface.  No, thank you.

I really liked what I saw coming out of Lenovo lately.  The Lenovo Yoga 13 looked pretty awesome (I had tried it at the store), and the Helix looked amazing, but it wasn't out in the U.S. yet--or was it?  It wasn't for sale on Lenovo's website, but I was able to find it from small sellers at Amazon and elsewhere.

After looking around for the best price at a somewhat reputable retailer (as far as I could tell) I found a site with a coupon code that was out of state (no tax), and bought it.

I was very happy with the touchscreen interface, for the apps that were available.  I found the selection of touchscreen apps barely adequate, but that situation will improve with time and consumer adoption.  There were a few kids games that Shoshana in particular loved to play, and the tablet form factor (and tent mode, and stand mode) is a great feature for kids.

In daily use, switching between touchscreen input and keyboard/trackpad input was as natural as switching between mouse/trackpad and keyboard input on a 'traditional' machine: I was able to use whatever seemed appropriate and convenient to the task at hand.  I didn't find myself using trackpad gestures, since the screen itself was a more intuitive place.  Trackpad gestures will probably be more useful to someone with Windows 8 and no touchscreen (which I don't recommend).  Similarly, I completely ignored the "hot corners" functions of Windows 8, since those are built as a way for mouse users with no touchscreen to do tasks built for a touchscreen.

Keyboard replacement (left), and base unit (right)
To make a long story short regarding my ownership of the Helix, I was sent a unit with a French AZERTY keyboard dock.  I opened a support case with the retailer, and with Lenovo.  I was sent the QUERTY keyboard part, but with no way to open up the base unit and install it (without breaking anything), I had no choice but to simply send the keyboard back to the manufacturer, and send the Helix back to the retailer.

I was issued a full refund for my troubles, so I'm not out any money, and I have gained a lot of perspective on what I value in a computer.  Here are my notes from the Helix experience:
The detachable screen form factor was pretty awesome, though I did end up taking the base with me everywhere even if I wasn't using it.
  • "Stand mode" is great for using the touchscreen at an angle on the lap or a table.
  • In laptop mode it seemed top-heavy due to the "behind-the-glass" design, but this was never a real problem.
  • The 1080p screen was simply too small for the Desktop interface at 11 inches.  This is a fault of Windows 8, not the hardware.  DPI settings are simply ignored by too many apps.  The text was too small to read comfortably. The 13" Yoga is looking pretty good in that regard.
  • The stylus was nice to have, but with a trackpad not really necessary.
  • The Windows 8 Modern UI app ecosystem is lacking.  This may improve with time. BlueStacks is too cumbersome to really use for touchscreen apps.
  • Using the mouse buttons on the bottom corners of the rocking touchpad was wonky, and never worked the way I expected.
  • The function keys F1-F12 were toggled to their auxiliary functions by default. I had to hold the function key down to get them to work as themselves.
  • The function key was located where I expected the control key to be and vice versa.
One thing that surprised me was that I didn't like the pixel density.  I have pretty good eyes, and I have always sprung for the highest resolution displays that I can get on my laptops.  I have been very put off by all of the new computers these days with 1366x768 displays.  768 vertical pixels is equivalent to those 1024x768 displays we all had with Windows 95 on our 11" 3x4 monitors.  It's worthless for multitasking, or for reading text, and especially for editing code.  It simply will not do.

I was surprised, then, that 1920x1080 pixels was too small for me to find useful.  Yes, I could see everything, but I had to concentrate to actually read it one line at a time.  This also would not do.  So no longer can I simply say "increase the pixels"; I must find the right balance between screen size and pixel density.

To that end, here are some pixel density data points I have collected:

My Dell Inspiron E1505 has:
  • 1680x1050 at 15.4" 16x10 = 128.645 ppi
  • Equivalent size at 1080p 16x9 128.6 ppi would be 17.1"
Lenovo Yoga 13 has:
  • 1600x900 at 13.3" 16x9 = 138.0 ppi
  • Very similar to my E1505, and quite useable
Lenovo Helix has:
  • 1080p at 11.6" 16x9 = 189.9 ppi
  • Not useable
Dell Precision M4700 (encountered at work) has:
  • 1080p at 15.6" 16x9 = 141.2 ppi
  • Looked usable
The best pixel density per inch seems to be in the 140 range, not the 190 range.  If I want a 1080p screen, I'll need to go with something larger, like the 15.6".  If I want something smaller, I will need to sacrifice some screen real estate.  Suddenly the Yoga 13's screen resolution transforms from a disappointing spec to a sound product design decision.

I definitely like the Yoga 13, but I'm not sold on it.  My current machine is bulky, but it has suited my needs very well for over 6 years.  It's definitely on the way out, and has its problems:
  • Broken charger
  • Broken hinge 
  • Hot
  • If it gets jostled the wrong way, the screen goes dark and everything is unresponsive (ever since the hinge broke).
  • Battery life is down to about 40 minutes on a full charge.
  • Not to mention its 6-year-old specs.
...but I'm hoping it will hang on until I see what the new Haswell chips can do in a transformable laptop in the 15" range.  I don't want to feel like my new computer is a downgrade.  With the Helix's small screen, that was definitely the case, even with the increased pixel count.

Saturday, March 30, 2013

Coming Around to the Kindle Paperwhite

I like to make my buying choices intentionally.  I support the ecosystems that I think are best for the user, usually in terms of user rights and flexibility.  Not just for myself; I want ecosystems that respect the users' interests over centralized control to exist and be well supported.  This is why I initially bought HD DVD over Blu-ray, and refrained from buying iPhone (and every other Apple product).

This is also the reason I chose to avoid the Kindle.  Amazon has their own proprietary format and DRM for e-books; they don't support other vendors' books on their readers, nor their books on other company's readers.  I have found, however, that this restriction is easy to get around, with the right software.  I am free to buy e-books from any vendor and load them on a device from any vendor, Amazon included. 

In the 11 months since I bought my Nook Simple Touch, the market has evolved.  Both Barnes & Noble and Amazon have come out with lighted e-ink readers.  Both companies have tablet-style readers.  Barnes & Noble is spinning off their Nook division to a separate company.  An antitrust lawsuit has resulted in actual price differentiation in the e-book market once again, and Amazon once again clearly has the lower prices and best promotions.  In fact despite my owning a Nook, most of my e-book purchases have been from Amazon.  I have only purchased one (non-free) e-book from the Nook store.  The rest have been from Kobo, StoryBundle, and the Humble Bundle (and also one from Google for 25 cents).

I got a $25 Barnes & Noble gift card for Christmas from my parents.  I have loaded it onto my account, but I haven't spent any of it yet.  Every e-book purchase I want to make, it's never the best price.  I will probably use it to get the next installment in the Game of Thrones series (whenever that eventually comes out), since new releases tend to have the same price in most places.

There is also the issue of Amazon Prime.  Last summer, I switched from Netflix to Amazon Prime for streaming video.  Our Blu-ray player has built-in support for both.  The selection of free streaming movies isn't nearly as good, but they do have an excellent selection of TV shows, including all of Star Trek, Firefly, and several other sci-fi series.  The free two-day shipping from Amazon with no minimum order (which I was able to extend to four additional friends' accounts) makes it an excellent deal.  I'm hooked.

The value of Amazon's streaming would definitely be increased if I had a Kindle Fire.  Thus far, Amazon has not released their Instant Video player for Android.  This despite the facts that Kindles are built on Android, and they have a player for iOS.  Their excuse is that Android isn't secure enough, and their video partners wouldn't let them stream their content if they had an Android player.  This doesn't seem to have stopped Netflix, Flixster, RedBox, the Google Play store and several others from offering streaming players on Android. The transparent artificiality of this restriction alone makes me not want to buy a Kindle Fire.  It's simply a bad way to treat your customers, and it makes me want to look elsewhere.  The Kindle Fire devices aren't that good when compared to other tablets.  If I'm going to spend money on a dedicated tablet, I would much prefer a Nexus device.  All things considered, my actual plan for tablet functionality is to get a touchscreen Windows 8 convertible laptop/tablet.  My current laptop is nearing the end of its life, and I'm keeping my eyes open for devices like Lenovo's Yoga and Helix lines, which are full PCs, but also have tablet functionality and form factor, and a tablet app ecosystem that I believe will do well over time.

The other benefit of owning a Kindle device is access to the Kindle Lending Library.  The best way to take advantage of this would be with an e-ink reader, which is definitely my preferred reading medium.  If I were to get a Kindle Fire, I would want to keep my Nook around for most actual reading.  That's another reason I'm not very interested in the Fire.

When I purchased my Nook, I was aware that a GlowLight version was coming down the pike.  I chose not to wait and spend the extra money just for that one extra feature. Looking at the landscape now, the Kindle Paperwhite offers several advantages over my Nook Simple Touch:

  • Higher resolution, higher contrast e-ink screen
  • Built-in illumination - at the time I bought my Nook, I didn't want to be doing a lot of reading in bed.  These days, mostly because of how Shoshana's condition has effected our lives, I have been doing a lot of reading in bed when Elizabeth and I have different sleep schedules, and in darkened hospital rooms while Shoshana sleeps.
  • Access to the Kindle Lending Library
  • Kindle-specific features, such as "X-Ray", Whispersync, Time to Read, and upcoming Goodreads integration (Amazon is buying Goodreads). 
I don't regret buying my Nook.  It was a good decision at the time, and it was fun to root it and customize it. Managing the rooted environment has become somewhat of a chore, and it is a definite drain on battery life.  If I buy the Kindle Paperwhite, I will be able to sell my Nook Simple Touch for at least $50.  Including the skin and case (and the option of root or not) should increase that price.  I have some birthday money still burning a hole in my pocket.

I will miss the Nook's physical page turn buttons and wide grip.  I will miss the ability to supply my own screensaver images.  I will not miss the Nook ecosystem.
My folder of Nook screensavers.  Definitely preferable to Kindle's ads.

Wednesday, November 28, 2012

Humble Bundle Data - Android 4

I did it again.  This time, the bundle was a games bundle (The Humble Bundle for Android 4), which is Humble's normal fare.  Also this time, I was able to collect data from the very beginning.  There was a period of 7 hours where my server got turned off and no data was collected, but that time slot was in the middle of the data collection with no major events occurring near it.  I patched it up with a little bit of linear interpolation.  It shows up on the Marginal Average Price as a plateau, but is otherwise unremarkable.

One thing about this graph that I was not able to capture last time is that the average price was actually highest at the beginning, before sinking to a low, and then slowly rising.  The "event" in the middle is when games from the previous Android bundle were added as an additional bonus.  Interestingly, I was able to purchase at the point of lowest average price though I did beat it by making my purchase price a nice round number, thereby contributing to the bounce-back of the average price from its initial fall.

The initial fall is probably due to a bunch of people paying $0, or $1 immediately just to get the basic games and/or Steam keys.

The ramp-up of initial purchases is quite high, as you can see.

In this case at least, the initial "bump" was much more significant than the subsequent "blip" produced by adding more bonus content.  A lot of people already have the previous bundle games, so this is somewhat expected.

Here again is the raw data, for those who might be interested: