07/09/2013 § Leave a comment
I’m so ashamed. I swore off Apple products for ever and here I am again with a new McBook Pro Retina 13″.
I love my Acer S3, but it has problems. Its got 4 Gigs ram, total. The keyboard is prone to spurious typing anomalies (broken words, typing errors, lots of them). The resolution is really low, even for an ultrabook in 2013. The battery lasts 2 hours on a full charge, 2 1/2 if you really pack it. In 2013 those stats are rediculous. Plus I’ve had a banner year so far so I had some spare bux burning a hole in my pocket.
First I went to the nearby Fry’s Electronics and took a look. What I look for in an ultrabook is light-weight and power. I look for the lighest book with the most Ghz I can get. Then I look for RAM, expandability would be nice but that’s REALLY hard to find in an ultra. So, given that the RAM will be static in size I try for the most I can get. That’s also hard. It was impossible to find an ultra with more than 4 Gigs two years ago, ALL the manufacterers were worried about price plus meeting the minimum specs for running Windows 7, so 4 Gigs was the most they were willing to fit the new, hot-selling ultrabook phenomenom with. Now that things are a little more relaxed its easier to find ultras with 6, and even 8 gigs. Another thing I crave is low weight. I know I ask a lot but as a consultant I travel a lot and weight is serious consideration. One thing I really don’t need is a book with a light drive (you know, a CD/DVD drive.) I needed to use one last year to install Windows XP on an old but tiny pc I wanted to use as a media server, but before and after, rarely. If you feel like you need to use plastic light media for anything you need to get aquainted with modern SD Multi Media memory devices. Ever breath on a CD and all of a sudden not be able to read it? I have) yet they were difficult to find, being larlgely relagated to the Japanese market. Lately however that hasn’t been as much of an issue and light-driveless books are easy to come by here in the states.
At the Fry’s nearest to my house I wandered about the notebook aisles until I spied a really great number that met all my criteria. It in fact looked a bit smaller than typical ultrabooks, but at 8 Gigs RAM it would have worked quite well, and I wanted it.
Is there anything worse than a retail store that won’t sell you something? I don’t think so. I found a sales droid and showed her the ultra I wanted to purchase. She spent the usual 10 minutes fumbling about doing who knows what and finally came back and told me should coudn’t sell it to me. I asked her for the display model. She said she couldn’t sell me that one either. Seeing red I left the store. I should have looked on-line for the model and probably would have gotten it cheaper but I was really pissed off. I was on a mission now.
If you’re familure with Fry’s you know its the one retail brick store that, like Mitt Romney’s “binders full of women” has aisles full of notebooks, there’s really no other place like it. The help is utterly worthless but the sheer number of models on display can’t be beat. The only other place better WAS CompUSA, may that establishment rest in peace. So my only other shot, though I was loathe to take it, was another Fry’s. So I decided to haul my butt to the next nearest one, which happens to be the Fry’s in Palo Alto. THE Fry’s. A Fry’s in San jose is certainly near the pulse of Silicon Valley, but the Fry’s in PA would be in the Valley’s heart beat. This is near Stanford University and Page Mill Road, the valley’s trail of venture capital repositories. THE Fry’s did indeed have a number of models available on display, but not the make/model of the one in San Jose that I wanted. But what it did have was a full selection of MacBook Pros with the Retina display. I took a look at the Retinas. Damn the display was pretty. They had both MacBook Airs and the “classic look” Pro models, the new ones. The smallest one caught my eye; it was just like my older MacBook Pro but considerably smaller, and with that increadible Retina display. I also knew that my keyboard issues with the Asus would be completely gone. The crisp MackBook Pro kb design is probably the best in the business. I also knew that I would have problems running the software that *I* wanted to run on it. The latest MacBooks use the new Intel boot process known as Unified Extensible Firmware Interface, or UEFI, and like anything unknown the human reaction is to fear it. Which I did, but its the replacement for BIOS, and not going away. It also complicates Linux installation. Thankfully it doesn’t prevent it, which I first feared, it simply complicates it.
In an effort to be both entertaining, relevant, AND useful let me breifly summerize the process of installing Linux on a Retina. And let me preface the process by explaining that I have absolutely NO use for MacOS, sorry mac fan boys. And I have a larger MacBook that runs Windows 7 when I need that, I also stuffed 16 Gigs of RAM in the thing so I use it for running virtual machines (usually other versions of Ubuntu, the embedded & thin client world is going nuts for Ubuntu for some reason). What I wanted was a small, light, powerful book for traveling with MORE RAM. Since most of my work is on Linux, that’s what I wanted to run.**
First thing you’ll want to do is install rEFInd, and use the “binary zip file”. Don’t get too caught up in the wordy web page that is the rEFInd home page; the author spends WAY too much time explaining the story of rEFInd in tangents. After resizing your disk execute the install.sh script as root using the “–esp” and “–drivers” options. I’m not sure that the drivers option is absolutely nessessary, but the esp one is. If you don’t specify it refind won’t get installed on the disk and when you reboot the machine Linux won’t boot. I went ’round and ’round on that one. Then reboot with your Linux distribution ISO of choice written on a plugged-in USB dongle. There are some instructions on the net saying you need to write the ISO in a special way for MacOS, I didn’t find that to be true. You should see a new boot manager menu with an Apple logo and a generic USB symbol as button selections. This is the rEFInd boot manager. Select the USB option. Your choice of Linux should be a fairly recent so as to take advantage of the EFI boot process, if you insist on using an older distribution you’re on your own, I have no idea what BIOS-based distributions work on the EFI system of the MacBook Pro Retina. After the dry run system (if your distro has a test drive desktop, I think most do now) boots up go ahead and double click the install icon. Installation is the same as always, but be very aware of what you are doing during the disk editing part of the install; you’ll be presented with a gparted (or whatever they do with KDE based distros) dialog. Go ahead and partition the main slices however you want; BUT DO NOT DELETE THE EFI PARTITION. If you want to use the Linux as your sole OS on the Retina thats fine as long as you do not touch the ~200 Meg boot partition at sda1, or whatever device node your boot disk is (usually sda1 on Debian systems). This is the partiton that should clearly be labeled “EFI” in the gparted partition list. I wanted to use this book soley for linux, so when I got to this step I blithely deleted all partitions and created a main slice and a swap area, which normally would work fine. I installed Linux (Mint in my case) and when I re-booted: NOTHING. The machine wouldn’t load Mint.
After doing some research I learned about the newer EFI boot process, that rEFInd was needed to install a new boot loader, and that you don’t want to re-construct an EFI boot partition from scratch. After messing around with re-creating EFI boot partition structures for 3 days (They have to be a certain size, have a certain directory structure, have certain files…) I finally re-installed MacOS Mountain Goat* or whatever and re-tried my Linux installation, this time without messing with the EFI partition. It worked like a charm, my new Retina was running Mint 15.
Here’s some after install pointers, points; I had to install and open up the curses-based alsamixer app and unmute all the sound devices, simply uping the volume controls or messing with them in any way using the usual gnome controls didn’t give me my sound. I also edited /etc/modprobe.d/alsa-base.conf and added “options snd-hda-intel model=mbp101″ as the last line in that file. The HDMI port on the right side doesn’t appear to work unfortunately, and neither does a minidisplay port to HDMI adapter. I was really looking forward to having HDMI out. I don’t know if a miniport to VGA or DVI dapter will. Also this book appears to have two display adapters, one from Intel and one from nVidia; don’t install any of the many nVidia driver options available in the repositories, they don’t appear to work, while the Intel driver works great. Its kind of wierd getting a full 2560×1600 resolution on a 13” notebook LCD. That resolution is so high that I had to step on it a bit to make everything readable. I re-compiled a mandelbrot generating X app I wrote that also prints the execution time in the shell if its launched from that and running it on the Asus took about 9 seconds; on the Retina it takes 5. I get the sense also that this thing has four full core i5 @2.5 GHz processors, not just two real and two virtual ones. I’ve also read reports of the Retina running very hot on Linux, but I’ve not noticed this.
The 13″ Retina is a very powerful ultrabook, a true “Ultra”. I love it. Its really the perfect size with the perfect power and RAM. It’ll run at least twice as long on a full battery charge as my trusty-but-slower Acer S3. I’m looking forward to doing a lot of work on it. I hope linux developers down the road get the ports working, but that’s not going to hold me back.
UPDATE: I spent the latter half of my yesterday building and installing the 3.9 kernel and some Intel support libraries and viola! The HDMI port works!!! I’m staring into the warm glow of my Vizio 26″ HDTV as I type this. Its funny, the Retina’s LCD is STILL higher rez than the Vizio, but its nice to have a “console” sized display. The MicroSD slot on the right works too! I LOVE THE RETINA!! Pricey, and locked down as far as RAM & SSD go, but I’ve come to live with that from Ultras. If you’re looking to run Linux on the 13″ Retina, follow the above directions and then grab the 3.9 kernel and install it. Also grab the intel graphics stack components here. After installing everything (yes, I went ahead and compiled everything from source, getting missing libraries from the baseline repositories when they popped up) I had control over my HDMI and SD ports.
* I have to say that Apple really saved my ass in this regard; the 13″ Retina (and I assume all the latest Pros) don’t come with much in the way of paperwork or media, almost none at all in fact. Just the usual worthless warranty “square”. There is no Mac OSX install disk, nothing. Just the MacBook and that funky, little white power supply. Scary, but in some ways refreshing for a faux minimalist such as myself. Re-installing Moutain Lion was a simple matter of hitting an option-R key combo during the boot process, using the disk utility to re-partition the drive the right way, and then selecting the Mac OS re-install option. Apparently, since I had already configured the book to use my wifi it simply retrived that configuration from *wherever* and went to town. After a warning that the re-install process would be slowed by my use of wifi (a hard ethernet connection would obviously be faster, but who cares?) it automagically just connected to an Apple server (I assume) and re-installed Mountain Lion. The whole thing was really kind of amazing from a geekly perspective and very easy.
** The Apple droids will say that MacOS is a version of Linux. No, its not. It resembles it in better then superficial ways, but its not.
02/23/2013 § Leave a comment
Got a really good idea for what I believe is a marketable IT Utility for the Resturaunt Industry, so I sat down earlier this week to set up my tools and libraries, and roll up some prototype code. Its been a while since I’ve done any Apache module development, so I set about re-familiarizing myself with the code and procedures.
One thing I have a real stick up my ass regarding is documentation; it needs to be complete and accurate, or you don’t publish it. Publishing documentation that is innacurate or incomplete is a sin. Too bad so many web sites do it.
I get it if its just out of date; but innacurate is unforgivable. Stuff like “…then edit the file…”, so many times I see this, without any reference to “what” file is supposed to be edited, or edited with what…? Another thing that bothers me is when I need to track down instructions that leave off with out any discernable next step, and then I have to track down that next step on some other website. I think a lot of this is due to the nature of OSS, things change at the drop of a hat, but if you’re going to publish information, its of no use if its incorrect.
I want to jot down the steps I took to get an Apache 2 module working from source before I forgot, so here goes; we are assuming an apache module called “mod_module.c”; first install Apache 2 dev files by installing (I’m not supporting Apache 1, sorry) the apache extension tool; “apt-get install apache2-prefork-dev”, prefix the command with sudo if you’re not root, of course. Then write your way cool extension, the important bit is this; in a remarked section of the code place a structure similar to this:
* Name: mod_module
MOD_LIB="-L/usr/local/lib/somelib -lsomelib -lm -lz"
if [ "X$MOD_LIB" != "X" ]; then
echo " + using $MOD_LIB for Mylib support"
You’ll of course be substituting the “mod_module” references for the actual names in your dependancy list. The important part, the part that took me a few tries to understand, is in Apache 2’s LoadModule directives. In your distribution’s apache2 “../mods_available” subdirectory you need to make sure there’s a “mod_module.load” file, make sure the name of the file corrosponds to the “Name” field in this struct, and the file should contain a LoadModule directive that looks like
"LoadModule mod_module /usr/lib/apache2/modules/mod_module.so". You’ll then want to build the module with
"sudo apxs2 -c -lsomelib -lm -lz mod_module.c", using the “somelib” reference if your module has a dependancy on some external library. You’ll end up with “mod_module.la”, this also threw me; you end up with a static library rather than a shared object. The next step creates the actual shared library MySQL will use; “sudo apxs2 -i mod_module.la” will build the shared library and place it where apache will find it. Then “sudo a2enmod mod_module” activates it. You also need to make sure that in your <sites-available>/<website>/”Directory” directives or your “.htaccess” file has whatever properties your module requires are in your site’s config file.
Believe me, it took over three days for me to figure out how to make this all work given the disparity, dry prose, and plain incorrectness of the textual instruction available on the net. I’m sure its correct, however I’m also sure I’ve missed something so if anyone out there tries these steps and can’t get it to work I’d appreciate feedback.
01/22/2013 § Leave a comment
I want to impart two procedures today; the first is the right way to configure the HP Linux Imaging and Printing Suite on Linux. The second is my take on the classic Taiwanese Oyster Omlette.
I purchased a new HP Photosmart 5520 so I could scan some forms to send an employer and decided I needed to get a network server printer since I’ve not had a console, or tower, pc in years. This way I can walk all around the house and not need to worry about connecting a USB port to a printer during the odd printing job. I also knew I wanted an HP printer since their Linux support, like Intel’s, is pretty generous.
So I get the thing home, unpack it, and set it up. It was pretty painless with my MacBook Pro Windows 7 Machine, as I assumed. Locating and installing the HP Driver suite for linux (HPLIP) was also pretty painless on my underpowered Gateway E1440u netbook as well. The thing about the book however is the installation was painless I’m sure due in no small fact that the OS install was mature and over time I have installed many (or all) of the dependencies the driver suite needed. Installing HPLIP on a new machine was painful though; the usual dependancy chain issues. APT is a great system, but why can’t it report the actual NAME of any dependancies it finds lacking for any particular application you want to install? This one feature would increase the usefulness of APT immeasurably.
There are several names for packages, there is the name that is useful, then there are usually one or more quite useless names for every package in every repository for every distro. Searching for the package that APT refers to and presents the user is usually not very useful. APT should report the ACTUAL NAME and minimum version of the missing dependancy its looking for, like this: “missing libgooblat-dev-184.108.40.206”; NOT “missing gooblat-devel”. It drives me crazy when it complains about missing a lib yet refers to the binary package name. YES, I know there are tools and commands that will tell you what the missing package(s) are but they aren’t widely published, even now I dread the effort that will be needed to locate them. And YES, I know Synaptic will resolve depandancies issues but this completely defeats the need. I have little love for fireing up Synaptic when I’m in the heat of installing stuff in bash. Oh, and I love searching through apt-cache; it can present up to 100 packages with variations on the name I’m searching for. Useless. The actual package name & version should be displayed by APT, and you know its possible, if APT didn’t deal with this information internally then it wouldn’t work; so all that needs to happen is the Debian dev team just needs to expose this info to the user.
I recently decided to invest in an Acer Aspire S3 for Linux duties. Its a pretty cool machine execpt for a few issues; the Linux distros I’ve tried (Mint and Bodhi) do not recognize the on-board bluetooth chip. There are a few remedies on the net and I’ll try them when I get a second. For one the battery life doesn’t last the specified 6 hours (more like 2 1/2), and I hate that I can’t upgrade the RAM from the onboard 4 Gigs, but otherwise I like the extra umph of the 4 i5 2467M processors a lot. With the later distros (3.x+ kernel) I don’t even have to recompile the kernel for SMP, at least as far as I can tell.
For whatever reason HP has seen fit not to enable network scanning in a NETWORK SCANNING APPLIANCE in their pre-compiled HPLIP package, so to get this going you need to follow the procedure below. As mentioned earlier I had some issues getting the HP LIP compiled and installed, twice, (installed multiple distros on the new machine to try some stuff), so I present here now how to do this to save you the hassle;
- First make sure you have the following installed; net-snmp-dev libcupsimage2-dev libsane-dev python-dev libusb-1.0-0-dev libusb-1.0-0
- Go to: http://sourceforge.net/projects/hplip/files/hplip and select the tarball appropriate, usually the latest. DO NOT download the precompiled package (like the .deb package for Debian platforms), you need to compile this to get scanning working.
- Extract the files and cd into the directory you extracted them to.
- Run the following command:
./configure –with-hpppddir=/usr/share/ppd/HP –prefix=/usr –enable-udev-acl-rules –enable-qt4 –disable-libusb01_build –enable-doc-build –disable-cups-ppd-install –disable-foomatic-drv-install –disable-foomatic-ppd-install –disable-hpijs-install –disable-udev_sysfs_rules –disable-policykit –enable-cups-drv-install –enable-hpcups-install –enable-network-build –enable-dbus-build –enable-scan-build –enable-fax-build
- Run make
- Run sudo make install
- Run hp-setup (as your user, no need to run as root) and configure your printer set up (make sure the printer is on and on line)
- Log out and log back in.
You should see a blue “hp” icon on your task bar now, and you should be able to print, scan, whatever.
Second thing I want to publish is a food recipe I’ve developed in my capacity as an amateur chef; Oyster Omlette. This is a classic chinese dish found mostly in Taiwan but also in Hong Kong and other Chinese parts of Asia but with a Japanese spin.
Japanese Oyster Omlette
- 4 Tblspn Shoyu (Soy Sauce)
- 3 Tblspn Zeisner curry ketchup, or plain ketchup + 1/2 teaspn curry powder
- Dash of cooking sake
- 5-6 raw Oysters
- 3 Eggs
- Bok choy, chopped
- Teaspn corn starch
- Clove garlic
- 1 Oz. Chopped mushrooms
- Make an Omlette with the above ingrediants
If you like curry and ketchup get a bottle of Zeisner’s. I get mine from my local Cost Plus food section, but you can order it from Amazon as well, but for more than the $4.99 I pay at the Cost Plus. Amazon has other curry ketchups but I’ve tried them and Zeisner’s is the best. I hope the above steps help you in your IT and culinary endevours.
03/12/2012 § Leave a comment
I don’t know why I’m so married to the Gnome desktop. I should trip down Torvalds’ route and use Xfce. This latest questioning of my desktop philosophy comes from the latest X11 update I recieved from the update gods at ???, I’not exactly WHO is in charge of updating each of the particular forks of the various components that congeal to create Mint Lisa. At least I assume an update caused my latest hassle.
As I remarked previously I like to have my desktop a certain way, chief among these preferences is the ability to have my X output on a large Vizio LCD. If I cant have that I have nothing. Well, last night I received another update and blithely accepted it. Today, after I powered back up my precious display settings were munged. I tried to get back to where I wanted to be but I had the same problem that I had with Oneiric, I could not set the display up on the Vizio and turn off the netbook’s LCD, OR make the Vizio my main display. Obviously the X server code itself has gone through some kind of change. Frustratingly I searched for a solution and thought briefly about switching again, hopefully for good, to Kbuntu, or trying out Xfce, or some other desktop.
Then I ran accross some mention of Gnome Fallback Mode.
But my settings applet doesn’t have the Forced Fallback Mode switch.
Not to fear: one more duckie search and I found a Gsettings tweak that did the job; in a terminal enter this:
gsettings set org.gnome.desktop.session session-name 'gnome-fallback'
then log out, and when you’re back in you should see your applet panel and system menu in whatever you have set as your main display. I’m saved from the pain of being a Gnome refugee one more time. This is probably all I needed to do with Ubuntu Oneric. Now I need to add this to the lengthy list of post installation procedures the next time I need to install/upgrade/shoot my netbook.
This solves my immediate UI problem, for now. But on the development front I’m still having problems building some apps from source. For example I’m trying to learn how to use DBus, and since my preferred language is C++ I’m trying to learn libdbus-c++. It took a considerable amount of time to figure out that this needed to be my replacement for GConf. First I thought it was supposed to be XConf. Ok, I understand things change. But this is on top of problems I’m having building GTKMM 3.0 example programs, and I’m afraid of tinkering too much with my system for fear of breaking things. I’ll need to do my development with the old 2.x kit until things settle down with later releases of Mint. I’m hopeful that later Mint releases will have all this sorted out. This is a real problem, unless Gnome and Ubuntu (as separate, but related issues of concurrency) care to compete with RedHat and KDE, Xfce, etc.
Of course situations like this are part of the price of admission for the joy of running open source software. But I’m not alone. its very easy to find many users who aen’t happy with the current state of affairs in Gnomeland and these Debian forks of Linux.
03/04/2012 § Leave a comment
I’m a very big fan of the BSD fork of Unix and use OpenBSD exclusively as a network stack (pf, SMTP, bind, name, squid), but for the desk top it always seemed a little kludgey to me, so I’ve always used Linux. I’ve tried many different flavors of Linux, but settled on Ubuntu for a desktop machine after I reading about it on Slashdot. It was (and still is) by far the smoothest install of all I’ve tried, and I think its popularity bares this out. I’ve been using it since Fiesty Fawn and was very happy with it.
Mid 2010 Canonical announced Unity, and in doing a little digging I found some comments by Shuttleworth himself explaining to the effect that the X system was very buggy (and I agree), and they had been wanting to improve Linux’s entire graphical subsystem; the fruits of that effort are Unity Desktop. And of course there would be some changes to it as a result.
I don’t want to be “that guy”, the curmudgeonly old dude who rejects new technology, so I tried real hard to embrace Unity. But I’m a stickler for desktop real estate- I always set task bars and launcher pallets to auto-hide when they have them, and I like to set the color scheme to combinations that are easy on my eyes (and Ubuntu’s brown/rust scheme is just hideous, I’m sorry), and I like to use minimally-sized window borders and so on… the list goes on. I don’t mind too much setting these things up after a new install, but I do demand the ability to set things up how I want them. Its one of the joys of Linux that you can set things up how ever you want.
So after having run Hardy long after Natty Narwhal had been released I decided an update was long due. After the update I tried very hard to get used to Unity. But I couldn’t deal with that left side application launcher thing; its huge, and uses rules to hide and reveal itself in non-intuitive ways, as far as I was concerned. Then I noticed that the login screen had an option to use the classic desktop. After flipping that on I was almost home free. I had to do some research to figure out how to configure a few things to the way I liked and *bingo*, I was back in my old stomping ground. Life was good.
THEN, a year later, things changed drastically. First, Oneiric Ocelot was released, riding static on a distro really isn’t a good idea. Plus, I munged up my package manager system, and since I use autotools that was an untenable condition, so time for another step up in distro. After letting upgrade do its work I logged into to my new set up fully expecting to be able to configure the system as I had last time. I had done my research and knew that Gnome Classic and Metacity had been removed from the release but could be installed using Synaptic and making a few changes. But I started having problems when I got actually configuring things; not all of my customizations were coming together. For one thing it took me forever to figure out how to set the window manager to use the Crux design, which I prefer to all others.
I have a netbook I run Linux on exclusively; the thing sucks up Linux like a hose. The biggest deal with this book is rather than using a shitty Broadcom wifi chip its using an Intel device that Ubuntu has supported since Feisty that supports promiscuous mode, and the GFX subsystem is another Intel chip, the GM45. Intel, probably not surprisingly, actively supports OSS with a relatively open policy with regard to their specs. More drivers mean more users. I get full device support, powered by a 1.3 GHz Celeron CPU, not an Atom, 4 GB ram, and an HDMI port. All inside a netbook form that allows easy access to the SODIMMS and the 3.5″ HD. And I use it with a wonderful VIZIO 24″ LCD, this is a necessity; I dock the book by simply hooking it to the HDMI and use a bluetooth mouse and kb and get working. Its a set up I’ve gotten very comfortable with, and Natty handled it beautifully. When I dock it I switch off the book’s display and audio and switch them to the LCD.
So after installing Onerirc I did my usual HMI switch. Immediately both displays went dark. Obvious problem. After letting the “keep this config” prompt time out and I was back to being able futz with things I tried again. Same problem. After screwing about for a bit I found that I could have both displays only. I was prepared to live with it as long as I could use the 24″ as my main display. But I couldn’t have that either. I couldn’t find any way to move the system menu to the larger display. Well, that was a problem.
Months earlier I bought one of those tiny Via Artigo pcs intending to use it primarily as a media server with Ubuntu as its OS. During hours of tinkering with different distros trying to get the video working (and it doesn’t, Via only makes drivers for Windows) led me to try Mint as a possibility. I installed Mint, and have been happy with it ever since. My video set up works exactly the way I wanted it to! Life is good again. Be sure to install Cinnamon if you want the old Gnome 2.2 action. Its pretty sweet, it gives you back the old functionality on top of the Gnome 3.0 stack.
Seems I’m not alone, read this blog post.