Archive for August, 2009

Space! Space! Space!


Staying in the (two bedroom, one working bathroom) house right now: my mom’s 5th sister, her two children, and her husband; her husband’s sister and her son, my mom’s 2nd sister and her two children and her husband, my mom’s 6th sister, me. This isn’t all that weird. When I was a kid, our (3-bedroom-turned-into-4-bedrooms-and-a-basement) house (pre-renovation; now it’s bigger) held me, my brother, my mom and dad, my mom’s 2nd (until she got married), 5th (until she got married), and 6th sisters (when I was really young, I think my mom’s sisters #7 and #8 stayed with us also, and I think my dad’s younger brother for a time, but memories of that period in my life are pretty fuzzy), and my mom’s parents were also there half the time (and sometimes my dad’s parents too).

This means that when I was 14 and learned that I would be sharing a tiny dormitory room with another girl for the next 3 years, my first reaction was “whoa! So much space and privacy!” And when I stepped into the hotel for POSSE and discovered that my room contained not just a bed and a bathroom (that I wasn’t sharing with anybody!) but a little kitchenette, I was floored. That much square footage? Just for me? Whoa.

Today we’re going to the Freedom Trail. Audrey (my 5-year-old cousin) is sitting on my lap, wearing a yellow hat. Audrey, would you like to write something? (“No.”) Okay. Time to go to the Freedom Trail!


How the zikula-based test instance of FI was put up, part 1


Another peek into the thought processes of a newbie learning how to be a sysadmin. My project: install zikula with 2 plugins on a test server. This took me 14 minutes to do on my own laptop; let’s see how long it takes me to figure out how to do the same thing on Fedora Infrastructure’s publictest6 machine. Go!

Part 1: Package installation

  1. I’ve ssh’d into publictest6 and am armed with my ticket and instructions. Excellent.
  2. Shoot. I can’t yum install the zikula packages because the package needs the more recent versions of a bunch of php modules.  This error has been encountered before, but after reading that mailing list thread I’m still not sure what to do about it. HALP.
  3. Ask Ricky on IRC. Answer: the package doesn’t actually need the recent versions of those php modules; the old ones are fine. The package is being updated to reflect that, but in the meantime I can use yumdownloader to grab the rpm and then install it with –nodeps to force past the issue.
  4. This does indeed work. I rejoice, then ask Ricky where I could have found that out for myself – where did the packager give the ok to blithely ignore dependency errors? Answer: buried in mailing list archives – and I know it’s impossible for me to keep up with all mailing lists – so asking around was actually the best strategy for me here.
  5. Now that I’ve installed the zikula package, I easily yum install the zikula-module-crpTag package, and then… well hey, that’s interesting. When I try to do the same for the zikua-module-News package, I get an error saying “No package zikula-module-News available.” Running a yum search zikula-module confirms that… huh, yeah, it isn’t. That’s strange, because I know publictest6 is running RHEL 5.3 (because Ricky told me), and when I search for packages (I found that page by googling “search fedora packages”) I readily find the entry for zikula-module-News and that it’s packaged for EPEL 5, which… should make it available to a machine running RHEL 5.whatever. HALP.
  6. Ask Ricky on IRC. His answer: “I imagine it’s waiting on the next EPEL push. We do have epel and epel-testing enabled on our machines, so once it even gets into testing, it should show up there.” These two sentences teach me a couple things: (1) packages are pushed to ‘available’ status for various repositories (in this case, the EPEL repo(sitory)) in regular cycles; they’re not necessarily instantaneously available when they’re made. Hm. Now I wonder how those cycles happen, how often, and who pushes them. (2) Fedora Infra enables epel and epel-testing on their machines, so if I want to know what packages I can easily install on Fedora publictest machines, those are the two repos I should check. (I already knew that you could specify what repos your computer would be able to install packages from.) (3) It seems unusual for a live server to have a testing repo enabled (but not so weird for a publictest machine).
  7. However, this doesn’t tell me what I can do to fix the issue. “Am I out of luck on the News module until the next push?” I ask. “And when would that be?” Ricky outlines 2 options: (1) get it in the Fedora Infrastructure repo (hey, another repo I didn’t previously know about that is also enabled on the publictest machines!) (2) install the RPM directly on the machine. When I ask Ricky which one he would pick, he says he would download the RPM from koji and then install it (option 2).
  8. …so I wander to koji and find the zikula-module-News package there, then wget the noarch rpm into publictest6 and install it (sudo rpm -i –nodeps zikula-module-News-2.4.1-3.el5.noarch.rpm) All modules are now installed. The process so far has taken me about an hour (granted, I’ve been interrupted by cousins to serve as a piano accompaniment for part of that). In comparison, when I was going through the same process on my own laptop, I’d finished these steps (without needing to ask any questions) by the end of the second minute, most of which was “sit and twiddle thumbs while stuff downloads” time.

Part 2: System setup

<mchua> ricky: [mchua@publictest6 ~]$ sudo chkconfig httpd on
<mchua> sudo: chkconfig: command not found
<mchua>  (but the ‘Web Server’ and ‘MySQL Database’ groups are already installed on publictest6).
<mchua> ricky: what’s happening / what to do?
<mchua> (I told you I’d need hand-holding through this first round.)
<tmz> mchua: you likely just need to specify the full path to chkconfig, as your user may not have /sbin in the path.
<tmz> e.g.: sudo /sbin/chkconfig httpd on
<mchua> tmz: …that would do it. thanks!

Yeah, that would be from the “d’oh, I should have checked that” department. This section went without a hitch thereafter.

Part 3: Set up database

  1. I gleefully followed the instructions to set the mysql root password (mysqladmin -u root password the-new-password-I-wanted-went-here)
  2. …then realized that the mediawiki instance that fedora QA was running on publictest6 might also want to know the mysql root password I’d just changed. Ran to IRC and asked Ricky how they usually worked out accounts/passwords/access between multiple things using mysql on the same server. Answer: “Oh, we usually just leave it blank since it’s only accessible if you have a shell there anyway. If you want to change it, I’d store it in a file like /root/mysql_password and make sure anybody sharing that machine knows about it.”
  3. That would overcomplicate things, though, so I hurriedly set the mysql root password back to blank. (mysqladmin -u root -p password ” # I guessed that empty ” quotes would give me a blank password, and I was right.)
  4. As a side note: while that was going on, I asked Ricky whether that was a general thing to do for mysql root, becaues it seemed odd to leave root passwords blank. Ricky explained that production machines had /var/lib/mysql chmodded to 700 so that one would need to mysql -u root as root (or as the mysql user) to get access.

Things went without a hitch thereafter.

Part 4: Zikula installation

Around 3:15am, I decided to do the rest of this… tomorrow.


Fedora Insight is going up as a zikula guinea pig for F12 after all.


Seems like I’ve got a lot to thank Ricky for today. I was originally all gloom and doom and “we’re not getting a zikula-based FI up for F12 because there are blockers, RAAAH BLOCKERS” after reading the logistics archives wherein a lot of very smart people concluded that Zikula Would Not Work For F12. And then Ricky questioned my assumptions.

Are the same things that were blocking zikula for the docs team blocking zikula for marketing? Would it be that hard to get even an initial, relatively blank zikula instance on servers that are not covered by the Infrastructure change freeze and then work on polishing that?

After a conversation in #fedora-websites with ricky and poelcat, the answer to “can we make a zikula-based FI go live for F12?” now seems like this:

  • we aren’t sure…
  • but there actually aren’t any good reasons why it wouldn’t work,
  • so we should try it until we hit an actual blocker instead of whining about things maybe not working for unknown reasons.

The legal things I thought were blocking zikula were actually blocking zikula for docs, not marketing. All 3 packages we need for an FI zikula instance (zikula, zikula-module-crpTag, and zikula-module-News) are already packaged (and thus definitely not blocked on legal stuff). And zikula is extremely easy to set up. I just followed https://fedoraproject.org/wiki/How_to_set_up_a_Zikula_sandbox, and in 14 minutes I went from “which packages should I download?” to “logged into working local instance with both modules installed.” Now we just need to get it on a test instance…

After it’s up, Robyn Bergeron has stepped forward (thanks Robyn!) to test it out and hack through a first run of some semblance of a workflow. Things are moving forward. Life is good! It’s my hope that FI using zikula will let us test out the platform within the Fedora community and make as many mistakes as possible so that Docs doesn’t have to make them.


Joining Infrastructure


I seem to have inadvertently started learning how to be a sysadmin. While talking about Fedora Insight (FI) in the Fedora Infrastructure IRC channel, I decided to try installing zikula, the platform we’ve chosen to base FI on, because nobody seemed to know how much work it would take to get the things Marketing needed (the zikula, zikula-module-crpTag, and zikula-module-News modules) up and running. Turns out it was ridiculously easy, thanks to Paul writing awesome documentation.

<mchua> Just followed the instructions and set up a zikula sandbox on my laptop. Total time elapsed: 14 minutes, including installing all the necessary packages. So, yay. :)
<ricky> mchua: Feel free to apply to sysadmin-test if you want to replicate that 14 minutes and get a nice test instance going

So I headed to FAS and applied to the sysadmin-test group, and now I’m working through the Infrastructure Getting Started instructions in order to join the group. So far I’ve subscribed to the mailing list and then gotten interrupted by family wanting me to come to dinner. Once dinner has been et (eated? eaten? I know the last one is grammatically correct, but they all sound wrong) and I march through the Join Infra! instructions, here’s the ticket I’ll be working on.

Stuff I’ve learned so far:

  • Joining Infrastructure isn’t as big a deal as I thought it was. I mean, it’s important, but it’s not… for some reason, I have this knee-jerk reaction to the word “SYSADMIN!” and thought I wouldn’t be competent enough to contribute and that joining would be Scary And Hard. I need to actually question these assumptions when they pop up in my head and go find out how hard things actually are (because they usually aren’t). And yes, I find it especially ironic that this turned out to be my mental blocker, because I spend a giant portion of my time getting other folks past the “but… but… contributing is HARD!” bump.
  • In order to play around on test instances, all you need is to be a member of the right FAS group. (sysadmin-test). That’s it. Then you can just ssh into whatever test server you want to play with, and you’ve got sudo, and you can do stuff.
  • Test servers are at publictestN.fedoraproject.org, where N = {1, 2, 3, 4, 5, 6, 7}, so you can ssh yourFASusername@publictestN.fedoraproject.org and poof, you’re in. (Though you should write down what you’re doing at the appropriate https://fedoraproject.org/wiki/Infrastructure/Server/publictestN wiki page – for instance, I made a note on https://fedoraproject.org/wiki/Infrastructure/Server/publictest6.)
  • Ask questions on IRC. Ask questions on IRC. Ask questions on IRC. I am being overly cautious and asking “I’m going to do X! Is X okay?” before running any command I haven’t run before – so I’m really overdoing it on the side of caution – but my underconfidence is rapidly petering out and I’m starting to get braver about trying things on my own. Sweet. (Sometimes, for whatever reason, I just need a psychological safety net. Thanks for everyone who puts up with me doing this.)

I’ve never really done sysadmin stuff on anything other than my personal computer, so I may need a lot of hand-holding through getting this first test instance up (in terms of working with infra procedures, not so much the technical aspect of getting code/modules/etc. to work.) Actually, I’m surprised that Ricky was able to get me into it so gently that it completely bypassed my (irrational) “WHAAA I can’t help with Infrastructure, I don’t know enough!” fear – and thankful that he did.

Wheeeee! Getting stuff done!

If anyone would like more details/docs/thoughts on the “what’s it like to come into Infrastructure as a newbie?” process, holler and I’ll try to answer questions. I’m pleasantly surprised at how smooth and easy and awesome I’m finding the learning process right now, and I’m trying to do this as a “hey, if I can do it, so can you!” thing – one thing I’ve learned over the last few years is that being a vocal newbie helps the project you’re a newbie to. (Yes, new folks. This is a “please blog!” poke.)


Oh fine, I’ll shell out to get myself some stable infrastructure.


A learning sprint I should do sometime: sitting down and figuring out what it is about what settings in what stage of an internet connection that allows – or does not allow – VPN connections to go through. Is it a particular port that needs to be open, or… what is it?

In other news, the AP at my aunt’s house appears to change its mind about VPN at seemingly random intervals. It worked last night. And then it didn’t. And then it worked this morning. And then it didn’t. And then it continued not to work tonight. So never mind the inbox shoveling I was planning to do tonight; I’ll just drive to the office earlier tomorrow morning.

In other other news, I’ve decided that a slicehost slice (so I can ssh into a whole bunch of useful things and have stuff like an IRC proxy, offlineimap, etc. working at all times) takes priority on the “presents for myself” list than a travel fretless electric bass + pocket amp. Saving up…


Retrospective decompression


I’m decompressing from interviews this afternoon. (Phone marathon went well. I am tired. I will try to do some work tonight; I don’t think I can function that much right now, my concentration reservoirs are completely shot.) What happens when I decompress? I write a lot! Hurrah! And I read. So here is writing about reading.

One thing I mentioned to people this afternoon was MetaOlin, the first student-run course at Olin and a mind-blowing experience for me and the other 5 students involved. Thankfully, we blogged! Some of my favorite bits from that right now:

Letting things rest unquestioned has never been a talent of mine. I have to consciously put things down, step back, and say “I’m going to be okay not understanding evvvvvvvvvverything about this right now.” Otherwise I’d just keep following random intellectual threads and tangents, and I would be happy but not content because I wouldn’t actually focus enough to get something concrete done. –March 2007

And then there’s just this ridiculously EXCITED ABOUT EVERYTHING!!! post from communications engineering. And then dragons.

However, when you fall of the edges of your world, you usually fall into a new (and larger) one. Take that metaphor and spin it around into systems thinking today. Instead of here be dragons, we have the much subtler factors beyond our control or even unexplained side effects. Can’t do anything about dragons; they’re just there, and if something flies into their realm, best let it go. We’ve roamed outside the known boundaries of our field… The case study of the Hubble telescope, while impressive and clearly written, has one major flaw. It has no stories.

As Boris said, “I agree with everything [the Hubble case study] said, but it doesn’t help me.” It’s like saying here be dragons, followed by instructions to be cautious around dragons and avoid getting your ship sunk by dragons. What we need are more specific stories: “…and there was the one time we found this beast of a dragon, purple wings and scaly tales, who flew in from the sky to attack our boat… except Jorge discovered they were vulnerable along the underside of their wings…” If a purple dragon is ramming at your ship, you want to know how people have gotten rid of them in the past, not that you “should avoid purple dragons.” –February 2007

And then this – I now belive that learning how to learn is a very learnable mindset, and experience can help, if used as tools rather than ruts to get stuck in.

Question: Is the advantage in the new world system (whatever the heck that means) and the creation of new systems (products, etc.) skewed towards the young? Since young people tend to be much more used to “being bozos” on account of not knowing enough to be much of anything else, we’re apt to adapt better to a world where everyone’s thrown into bozo-hood, much like being blind during a nighttime power outage. I have a hard time believing this; experience and the wisdom of years is usually transferrable to different situations. –January 2007

Some old blog posts I’ve randomly reflected on lately:


Resting up for the marathon


Yesterday, after taking a couple phone meetings from the Red Hat New York branch, I caught the bus to Boston just in time to have dinner with Fred Grose, Karlie Robinson, David Farning, and 3 students from RIT – Eric Mallon, Tyler Bragdon, and Wes Dillingham – all working on Sugar-related projects this summer. After taking an extremely inefficient route to Alewife (non-Boston drivers in Boston + one way streets = lost) to show David and Fred where to park their cars for the week, I got back to pika to find myself locked out of my room, and spent the night working (and eventually sleeping, for a few hours) on a couch in the basement instead.

I am going to sleep so much this week. (Target: at least 6 hours a night, every night, in an actual bed.) I’m going to bed before 1am tonight. I need to make sure I’m at my best on Thursday afternoon, because I’m going to need the energy for 5 hours of sustained, intense concentration; I have 5 straight hours of interviews and nearly all that time is back-to-back phone calls.

It’s actually a mark of pride that I think I can handle 5 hours of back-to-back phone calls. A few years ago, I would have blanched and said “no, I can’t do this.” As a severely hearing impaired person who relies heavily on lipreading, I’d always assumed phone calls just Didn’t Work for me, and when I had to take them (because I couldn’t avoid them), they were Really Hard.

When I graduated from college, I decided this was stupid. I was avoiding phone calls because they were hard. Okay. Were they hard because they had to be hard? Was this an unavoidable, unassailable thing I couldn’t change? Or were they hard because I hadn’t learned how to handle them yet? Either way, there was no hope of finding out or getting better unless I forced myself to try it. Repeatedly. Constantly. Looking for ways to improve my coping skills. Thus followed long periods of alternating teeth-gritting masochism and total wimping-out.

I still avoid phone calls now if I can help it, but I can deal with them now. It helps to do explanations and disclaimers at the beginning, and I use conversational strategies like periodically summarizing the other person’s comments to make sure I’m understanding them correctly. Incidentally, I’ve long been convinced that my hearing loss has made me a better listener because of the amount of focus I have to muster in order to begin understanding a speaker. And that’s what I can do; focus harder, longer, and smarter. It’s still as hard as it ever was, but my endurance for pushing through it has increased. I can make my brain sustain a longer effort to understand and react to signals I can often barely detect, and I know when I have to let it coast and let the conversation wash over me (and accepted that sometimes I’m going to have to coast and that this is okay), and how to catch up afterwards. I don’t prefer phone calls, and don’t think I ever shall, but I’m no longer irrationally afraid of them.

This is still the longest marathon of phone calls I’ve ever done, though. It’ll be a challenge. After a one-hour call, I’m nicely warmed up. After two one-hour calls, I’m a little tired. After 3 hours on the phone, I’m beginning to tip into the start of “mentally exhausted” – but I can keep going, and I know my reserves for coping with any sort of exhaustion are very, very large.

5 hours will rock. I’ll probably be useless for the rest of the evening after that – so my remaining plans for Thursday night involve (1) a nice drink, (2) a nice movie, and (3) chilling with family until I fall asleep.

It’ll be good.


A weekend in New York


“There are goldfish in there,” said Kristen. “So careful when you dump it in.” I nodded, wrestling a full bucket over the edge of a giant plastic tub, trying not to kill the goldfish I was pouring water on or the corn I was stepping through. The barge lurched, and water slopped over my shirtsleeves. To hell with the goldfish, I thought, and dumped the water on their heads. They didn’t die.

This is how I spent my Friday night: walking through an unfamiliar Brooklyn neighborhood in order to talk complete strangers into letting me help them haul water in a wheelbarrow through a construction zone in order to support completely decorative (read: not-actually-algae-eating) goldfish in an utopian art project.

IT WAS AWESOME.

By the time the remainder of the crew had reappeared (with beers), I had gotten a tour of the self-contained floating ecosystem, helped with signage for the upcoming barge party, coaxed connectivity on their two (previously unused) XOs into being stable enough to carry out an IRC conversation with John Rose about Fedora Ambassadors, and taught Kristen how to deliver the “Why Open Source Is Totally Cool” spiel to visitors (with the help of an XO/Sugar cheat sheet written between frantic squirts of bug repellent).

After Mary, Alison, and the rest had gone to bed, I stayed up reading by the light of a bare solar-powered bulb, then walked to the edge of the pod and leaned out into the most gorgeous Manhattan skyline I’d ever seen. The barge bobbing gently up and down, the Brooklyn Bridge stretching out towards a twinkling morass of piled urban sprawl, an open stretch of water, and the Statue of Liberty.

I fell asleep in a hammock stretched between two struts of the giant geodesic dome. It got cold; I woke up shivering, shrugged, looked at the skyline until dawn, then snoozed contentedly on a pile of soft, springy rubber coils in a window of sunlight until the chickens got too racuous to ignore. Kicked off the day by climbing the geodesic dome barefoot with a knife in my teeth in order to install a movie screen, then slung my backpack on and went out to meet my brother Jason, who had decided to come out to NYC that weekend with his friend Amy.

As usual, Jason had arrived with a long list of restaurants he wanted to try, so we worked our way through fried fish (A Salt And Battery), chocolate (Max Brenner’s), empanadas (the tiny place on 8th av. by 14th st. that I can never remember the name of), pizza (Two Boots), burgers and shakes (Stand, with Nikki coming along – last weekend was apparently the weekend for random NYC trips), and… too many more things to list.

Amy taught me a little about political science. I showed them all-you-can-eat falafel at Maoz. Jason brought us to a tiny pizzeria (Di Fara) an hour from the city where a legendary pizza master has made every pie by hand, every day, for over 40 years. (Very, very slowly. We waited nearly 2 hours in order to get a slice, for which we paid $6 apiece. It was completely worth it. All the rooms in the hotel Amy and Jason had booked a room in were completely full, so I made a thin mat of folded towels on the floor of their room and slept there with a wadded jacket as a pillow.

All of this, unexpectedly, from coming down to NYC on Thursday evening for a Friday morning work meeting. I thought I’d go back Friday night; instead, Jason came, and so the weekend turned into an adventure.

I love my brother.


Growing into instead of growing out of


The feeling of needing to rise to meet expectations is still a foreign one to me, and it’s fantastic. I love it. I’m far more used to bounding up in excitement and thwacking my head against the ceiling, and then having to stand on a chair and use my fist (and perhaps a mop handle) to smash above expectations anyway.

I can count the times I’ve been really pushed on one hand. Number theory my senior year of high school. A few classes and projects at Olin. Running the community test group at OLPC.

AND THEN THIS ENTIRE FREAKIN’ SUMMER.

I’m not used to being asked to step into larger shoes than I’d already planned myself – not used to having to run faster than I’d already planned on pushing in order to keep up with people far smarter and faster than I am – not used to having roles to grow into instead of things to prove I’ve grown out of.

I like it. I really, really like it. It’s wonderful to be able to struggle to grow into something I’m expected to become. Hungry for more.


Passing on sea fever


I ran across a lovely quote today.

“If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.” — Antoine de Saint Exupery

It made me remember my favourite poem when I was 16, the one I scribed in painstakingly neat marker on my previously inviolable bookshelf, the one I painted for my senior quote that year – a small sailboat, mast pointing to a single star above it in a black, black sky, with the second line of the poem lettered into the waves. I loved this poem not because I loved the sea, but because I knew what it was like to love something like this poem loves the sea.

I must go down to the sea again, to the lonely sea and the sky,
And all I ask is a tall ship and a star to steer her by;
And the wheel’s kick and the wind’s song and the white sail’s shaking,
And a grey mist on the sea’s face, and a grey dawn breaking.

I must go down to the seas again, for the call of the running tide
Is a wild call and a clear call that may not be denied;
All I ask is a windy day with the white clouds flying,
And the flung spray and the blown spume, and the seagulls crying.

I must go down to the seas again, to the vagrant gypsy life,
To the gull’s way and the whale’s way, where the wind’s like a whetted knife;
And all I ask is a merry yarn from a laughing fellow-rover,
And a quiet sleep and a sweet dream when the long trip’s over.

–”Sea Fever,” by John Masefield

And now I know what it is like to love the endless sea so much that you’ll come back to land to pass that yearning for the sea to someone else.