gentoo

Linode: don’t use barriers and ext-4

On my Linode running Gentoo Linux, I converted to ext4 some time ago and didn’t have any issues until now for some reason, mostly because I don’t reboot that often to notice. The symptoms are :

Every reboot, you will see:

EXT4-fs error (device xvda): ext4_journal_start_sb:296: Detected aborted journal
EXT4-fs (xvda): Remounting filesystem read-only

and a subsequent reboot fixes this by a forced run of fsck. Now that is an annoying one, every other reboot results in a crippled system and otherwise a fsck “fixes” it and you have no issues.

So, after some research I found that barriers are enabled by default and they don’t really make sense on a hosted vm guest. I qualify the last statement by google research, not an expert but it seems that the common knowledge is that disabling barriers is safe for battery backed up storage, and Linode disabled barriers completly.

The solution to the above problem is simply disabling barriers. Like so:

In /etc/fstab:
/dev/xvda / ext4 noatime,barrier=0 0 1

Source: Linode Forums

gentoo prefix

Gentoo Prefix: A look at the number of packages

Gentoo Prefix is still alive and going strong. In my opinion, Gentoo Prefix remains a strong point of Gentoo Linux and really establishes that Gentoo Linux is a metadistribution. In this post I want to focus on the numbers. The number of packages in the Gentoo Prefix tree, specifically. But first, a history lesson. It wasn’t until EAPI3 in Gentoo that “allowed” Gentoo Prefix variables into the main Gentoo Linux tree. That was in late 2011, but Gentoo Prefix existed much before then, all the way back to 2006 (at least). Before EAPI3, the prefix team made slight modifications to ebuilds and placed them in a repo and called it the tree of packages for Gentoo Prefix. This worked fine, but we had growing pains. The major issue was that we were getting too successful to manage the increased contributions from users. In other words, as the number of “forked” packages grew, the amount of maintenance time increased greatly – this is due to the fact that it is a chore to keep our forks synced. At least, a large chore for a small team. This is why we looked for help and adoption from the other pool of 200 Gentoo Developers, hence EAPI3 and beyond. Since supporting Gentoo Prefix is not a big use of overall developer time, this has gone over quite well in my opinion – yes, there are some pain points at times I do realize. Enough history, here are the numbers:

  • Number of packages in Gentoo Linux: 15554 packages in 154 categories.
  • Number of total* packages in Gentoo Prefix: 9483 packages in 154 categories.
  • Number of KEYWORDED packages in Gentoo Prefix: About 3000 for the most popular arch
  • Number of packages still NOT in the main Gentoo Linux tree: 369 packages

* The total packages in the tree also contains non-keyworded packages because that just makes life simple. Once packages started migrating to the main tree, I helped think of this “whitelist” concept. The short version of the whitelist is that if a package is listed in that text file, it gets included in the Gentoo Prefix tree as a direct copy of the version in the Gentoo Linux tree. The presense of the package in the old repo means that it is used instead. Eventually, this concept will go away and we will overlay the Gentoo Linux tree directly.

So why is it taking so long to migrate ALL packages to the Gentoo Linux tree? Well, that is where the rubber meets the road and we get into roadblocks. A roadblock for us could be a number of things, such as a disagreement with the Gentoo Linux maintainer, some patches existing that we don’t feel are a good fit for Gentoo Linux, or even us being lazy and not submitting stuff to upstream. We also don’t want to push invasive changes to Gentoo Linux for critical packages, like the toolchain for example.

It has long since been our agenda to not add anymore packages to the old repo and going forward only adding new stuff to Gentoo Linux directly. I hope we can make a dent in those remaining 369 in 2012!

linux

Solaris 11: Where is /usr/ucblib? Quick tips to install ‘ucb’ package

Well… I finally figured out that the ucb package isn’t installed on Solaris 11 by default (resource). Unfortunately, the Oracle docs are confusing to follow. Here is a cheatsheet for installing the ucb package on your shiny Solaris 11 install.

    1. Figure out the IPS installer, read man pages, get frustrated at lack of detail, run to Google.
    2. Find the package you want on http://pkg.oracle.com/, in this case compatibility/ucb
    3. Add the publisher link to your config, by the way, this link is not documented that I can find so I had to guess and check. A publisher is a package list of sorts, I guess.
      # pkg set-publisher -G '*' -M '*' -g http://pkg.oracle.com/solaris/release solaris
    4. Install the package, # pkg install compatibility/ucb

# pkg install compatibility/ucb
Packages to install: 1
Create boot environment: No
Create backup boot environment: No

DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 80/80 0.4/0.4

PHASE ACTIONS
Install Phase 166/166

PHASE ITEMS
Package State Update Phase 1/1
Image State Update Phase 2/2

  1. Behold, that you now have the compatibility libs for software that may need to use them

Whew…now, you might wonder what is so hard about that. Well, traversing Oracle docs is the hard part.

Here are the docs that I had open in my browser, they may or may not help and I fully expect the links to break in the future because Oracle is good at that.

skydiving

Skydive Arizona: 2011 Holiday Boogie

(I realize that I go on 7-8 skydiving “trips” per year and I often don’t write about them. It may be fun to read about the special events later, so I’m going to try my best to publicly write about my adventures. For an aggregation of random skydiving blogs, check out planetskydive.net)

A few weeks ago, I returned from a 12 day skydiving trip to Skydive Arizona. The highlights of this trip were 2011 Holiday Boogie, freefly load organizers, an hour of tunnel time, getting food poisoning, and a CRW Bigway camp. All while meeting new and old friends. This was my first far-away skydiving trip that I went on by myself, it takes abit to figure out who to jump with but just introducing yourself to the load organizers helps with that. Soon, they are seeking you out to jump because it is their job to encourage you to spend money :)

So, a great success overall. I made 53 skydives in 10 days (minus 2 days for the food poisoning incident) and had a great time. There are pictures of the CRW camp, here. A couple of my favorites are these…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

And of course, my cutaway…

life

My IFR Checkride Experience

(Preface: I’m writing this for my own recollection and because I found it useful to read other people’s experiences as well)

Dec 6 2011: Planned: 9am meet the DPE (referred to as ‘she’) at KANE hangar. I went to KMIC to get the plane ready, it was snowing and forecasted to rapidly improve. However, time was not on my side here and I had to make a decision about my flight to ANE. I called off the flight after some AWOS phone calls when conditions of the minute were below VFR. The ironic thing here is that I could have made the flight under an IFR flight plan and the conditions did improve as forecasted, but… oh well. In chronological order, the best I can recall.

  1. We first started with the 8710 form, which I didn’t fill out properly. Note: fill out all hours including private pilot minimums (night, solo XC, etc). ID, paperwork verification, logbook, etc. Two snags: a) missing 1 of 2 endorsements from instructor, b) “Long XC” may not have had 3 different approaches. Lesson: read the FARs and be precise. Paid fee, moved on.
  2. AC & Engine logs. I bookmarked the a) annual, b) ELT, c) ELT battery due date, d) pitot-static check. This helped. I was also asked what ADs were and if there was any recurring (seat rails). This was quick and painless.
  3. W&B. I “just” printed off the spreadsheet that the club provides with our weights in there and fuel burn. This was acceptable, however there were questions about the validity (check POH) and utility vs normal, then questions about SPINS…uhh. I haven’t thought about spins or G forces in years. So, she refreshed my memory on spin recovery (PARE) – she was happy to ‘teach’ me on this. What a first question though….got me abit nervous.
  4. She had me plan a XC to KGFK. I used FltPlan.com (she questioned the use of fltplan – don’t think she has used it and wrote down the website) and printed out everything I could (NOTAMs, METARs, TAFs, etc) – I forgot to bring the actual flight plan though. Doh. So, I “recreated” it, verbally, just a casual discussion. This was acceptable.
  5. While the enroute chart was out. We talked for a good amount of time about my proposed route (I drew a line direct ANE, GFK). She said this was fine but not ideal and we talked about many circumstances, she helped me understand why it was less than ideal in the end. Some points: a) active RA/MOA – while IFR, vectored around. She seemed impressed that I knew this b) Filing direct is more SRM than a route when ATC gives you curves vs ‘as filed’ c) know your alternates, I picked KTVF (41nm away). It had a A-NA ILS and non-precision approaches – if you have to use an alternate you should prefer a precision approach but that wasn’t available to me. The next closet alternates made me uncomfortable with available fuel. She did some fuel calculations on paper with me and I came up with my own conclusions. She liked that I said that if I had to file an alternate, I would stop for fuel enroute as that gave me more options. d) RAIM prediction – what, how, etc. e) FDC NOTAMS, f) My aircraft’s de/anti icing equipment, I started with ‘not much’ then listed pitot heat, carb heat, defroster. She was impressed with the latter. Flight into ‘known icing’ ? I said well, don’t fly in clouds when it is cold and was quickly interrupted – ‘that is POSSIBLE icing’ – ‘oh, PIREPS is KNOWN icing’ g) picked random things on enroute chart, MEA, MEA-G, MOCA, MRA, MCA, center freqs, just random things on the chart that she was looking at and asking me about, no specific items really h) lost comms procedures – this was fun. Emphasis on when to hold vs ETA, etc. The scenario was pretty easy – ‘you are halfway to GFK, can’t turnaround, radio dead (not pilot error)’ She liked my answers: squawk 7600, continue to GFK in IMC or land if VMC, hold at GFK VOR if not at ETA – convo went into IAPs
  6. IAPs, we talked about the hold at GFK, ILS 35 and how to leave that hold (with lost comms). Then went into some other stuff that proved I could read a IAP, casual convo and she helped on some finer points. Then looked at KTVF, the ILS A-NA thing came up here.
  7. Some other topics were sprinkled in. t/o minimums, alternate mins, VOR checks, Garmin 430 DB, RAIM outage on IAP, IFR currency, FDC NOTAMs
  8. Nothing or not much about: medicals, weather (besides icing), available weather charts, instrument systems, VORs, ATC (besides a quick empathsis on asking for clarification/help if needed)
  9. I was over prepared on some topics. I didn’t ‘offer up’ too much info except a few times to steer the convo away from my less strong topics, this just came natural to me and I can’t remember anything specific except that I know it happened.
  10. Bottom Line: She was interested in a conversation with me. It took about 2 hours and ended with, “Well, we can talk about this for weeks, good job I wish we could have flown too”


Skip forward to Dec 14, finally find out that the “Long XC” did not fit the requirements..Time to fly again for 3 hours with my instructor. Set up flight with DPE on Dec 21 after completing a ‘valid’ long XC.

Dec 21 2011, flight in the afternoon with DPE. Weather conditions were forecasted to deteriorate as the day went on. We needed VFR conditions to do the flight safely. I get to the airport and find that the plane owner has not updated the nav database on the Garmin 430 – so now my GPS is a VFR GPS only and not allowed for IFR flight. At least, now, I know what approaches I’ll be flying because I only need 3 and the plane is only equipped for 3 – VOR, LOC, ILS. For the flight:

  1. I fly to ANE, she is outside her hangar and directing me where to park. We go inside, we have to complete some paperwork then proceed to check the weather for our flight. There are some passing snow showers to the north – St Cloud, Princeton, etc. Should not be an issue for our flight around the metro area.
  2. She gives me a ‘clearance’ to read back – then we proceed on course to Grand Forks via Gopher VOR, V2. I’m to ‘report’ established on V2. So this proves that I can intercept and track a VOR.
  3. After reporting established, she did two unusual attitudes. These were easy and my instructor’s unusual attitudes were much more extreme – these seemed mild, almost as if I was recovering wrongly because the plane was straight and level so quickly.
  4. Next, called up MSP approach while she was flying the plane to get a VFR code for practice approaches at ANE. Request published hold for the VOR 9 approach at ANE
  5. Execute hold multiple times around to prove that I can make adjustments – actually the first outbound leg I had the opposite wind correction angle. It was acceptable to her that I was able to correct for this the next time. 2 times around then requested to continue with the approach, was told to go around again by MSP.
  6. Come inbound, keep VOR needle mostly centered – it was off course by 1-2 dots at the worse. Acceptable. About halfway through, I was expecting a question like “when are you going to execute a missed?” since I forgot to take the time at the FAF – luckily, that didn’t come up.
  7. Go missed, request vectors for the LOC 27. This went fine, big emphasis on the step down fix for this approach. Nothing crazy happened here.
  8. Go missed, request the 23DME ARC for the ILS 27. This involved abit of flying and was eventually cleared ‘direct BLAYN’ – I had GEP for DME in the GPS so I couldn’t easily fly there via GPS, instead intercepted the intersecting radial off GEP. I flew a really nice ARC, I was +/- .1 mile. Then intercepted the localizer and flew that in. Having just down the LOC approach, this was easy – I already knew the correction needed, etc. She placed emphasis on flying ABOVE the glide slope such that if I had a GS malfunction, I would be immediately aware because the GS would snap to the center (as opposed to flying ON the GS and then not knowing about a GS malfunction right away). Circle to land on runway 36 – she had some tips for me on my circle to land.
  9. About 1.6 total flight time, about 1.0 simulated instrument time

Maybe the flying portion was easy but more likely was that I was extremely prepared (thanks Kevin!). The flight felt like a conversation (again) in the air and she was more than helpful and provided subtle hints, like “now we just be sure not to peg the needle” or something akin to that. I PASSED.

Now, the fun part was trying to get home. In the meantime, the snow started creeping south and now we had a full fledged snow storm on our hands, 1.25 mi visibility, heavy snow, light ground winds. I could have flown IFR home – it was only 8 mi flight, but I was not excited about the circumstances. So, after listening to AWOS at ANE and MIC, I ask ground control for directions to the FBO – I love talking to ATC, they are often nice. When asked which FBO I had to laugh and say one with a lounge please (since I didn’t know ANE at all). Anyway, I ended up at Cirrus Flight Operations – and I just have to put a plug in here because even though I didn’t need to buy anything, the staff treated me as a first class citizen, buying ME a soda and pizza – what a way to de-stress the situation, awesome. Eventually, I did make it home at sunset. It wasn’t my most favorable flight but it was safe and legal VFR. Whew.

gentoo

Gentoo: Colemak keymap support

Colemak is my new keymap of choice. Luckily, Gentoo Linux supports it well. Unlike some of the crazy instructions people have posted out there, you only need to edit 2 files to convert your console and Xorg server. Note, I’m taking the time to write this because I couldn’t find easy instructions out there…


% cat /etc/conf.d/keymaps
# Use keymap to specify the default console keymap. There is a complete tree
# of keymaps in /usr/share/keymaps to choose from.
keymap="en-latin9"
<...>


% cat /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
        Identifier "keyboard-all"
        Option "XkbVariant" "colemak"
EndSection
gentoo

Tip: “Intelligent” bugzilla mail threading in GMail using procmail

(Preface: Target audience for this post is Gentoo Devs + GMail WebUI users, however, anyone that forwards bugmail to GMail and has procmail between them could also use this.)

I find it annoying that the GMail web interface chooses to thread messages based on subject name alone, this creates two threads for every new bug report sent to you from bugzilla. Sadly, we can’t control the threading that Google tells us is “the only way” (subject based threading or email header based threading, which bugzilla does correctly). If you want to follow the rabbit trail that I went on regarding this subject, I won’t stop you…

Or you can use procmail to rewrite the subject, that is, remove “New: ” from the first email:

# Remove "New: " from the subject so threading in gmail works
SUBJ_=`formail -xSubject: | expand | tr -d '\n' | sed -e 's/^[ ]*//g' -e 's/New: //'`
:0
* ^From: bugzilla-daemon@gentoo.org
{
    :0 fwh
    | formail -i"Subject: ${SUBJ_}"
}

Tangentially related that may be useful, is this rule that kills duplicate messages when you report a bug and are assigned the same bug (or in CC). The bugzilla software has no way of knowing what email aliases you may be in.

# Kill duplicate messages. If I am the reporter *and* the bug is assigned to a
# team I am in, delete the mail to me directly
:0
* ^To: username@gentoo.org
* ^From: bugzilla-daemon@gentoo.org
* ^X-Bugzilla-Reporter: username@gentoo.org
* ^X-Bugzilla-(Assigned-To|CC):.*(team1|team2)@gentoo.org
/dev/null

I like the GMail WebUI. I use it. Please don't suggest that I should use other clients, I already know that other clients can handle the threading fine.

gentoo

Gentoo: Removing USE=”python perl” from the default profile

Well, I got sick of setting -python -perl on my Gentoo hosts, I even consider them “questionable defaults” for a majority of Gentoo users..

So, let this be an advanced notice that you may see some rebuilds for useflag changes. There has been sufficient testing such that there should be few to nil problems, but we can’t test everything. Please file bug reports, if needed.

See also: