Hello, Raleigh

June 2nd, 2010

Tonight I arrived in Raleigh, NC at the apartment that I am co-leasing with Mel for two months. I’m here because I wanted more from my new shiny Red Hat internship than a paycheck from working at home — I wanted a totally different experience.

So here I am.

Tomorrow, I go to get set back up at Red Hat again. This year, I get a cube. :) I’m talking with the boss tomorrow about the next two months and beyond for what I’m doing in and around Fedora, and it should be fun times.

(I’m also using this as an excuse to play with the WordPress client for Android. It’s pretty nice!)

Tags: , , , , , | 3 Comments »

My summer to-do list

May 27th, 2010

Is there something I told you to do and totally forgot about? Fear not! I’m keeping a list of stuff (again) on the wiki.

[[User:Ianweller/Summer_2010_to-do_list]]

It’s a wiki. Be bold ;)

Tags: , , | Comments Off

FAD NA 2010: “Can you see…”

May 26th, 2010

One of the great advantages of having membership within the Fedora Project (including all the little subgroups like ambassadors) centralized in FAS is that you can write a simple script to get some meaningful numbers.

We were discussing ambassador mentoring at FAD NA 2010 and one of the many proposals tossed back and forth was to require that ambassadors are within the project for a period of time before they apply to be an ambassador. David Nalley asked the group: “How long do people wait now before they join the ambassadors group in FAS?” Three seconds later he turned to me and asked me to write a script to do that. Here it is.

This script downloads a bunch of group data from FAS (which takes a little while because it needs to grab cla_done), finds users who have signed the CLA (approved in cla_done), and who have applied to be an ambassador but have not yet been approved. It then determines the amount of time the user spent between signing the CLA and applying to be an ambassador in FAS (what we’ll call the “delta”). It prints two lines: the first is a sorted Python list of the delta, converted to seconds; the second is the number of users the list describes (a count of the elements in the list).

(It should be noted that there is a cutoff for the usability of time-based data in FAS. For some reason or another—whether it was beacuse FAS1 didn’t track times, or because the upgrade to FAS2 overwrote the times—timestamps for group joins and approvals are all horribly wrong before March 12, 2008 at 02:06 UTC. See line 11 in the script.)

As of the FAD, here’s the data it produced (with line breaks added):

[65, 71, 90, 100, 117, 157, 177, 359, 367, 390, 432, 455, 518, 1032, 4174, 4327,
10162, 18168, 21257, 66571, 120267, 122254, 230746, 451587, 904754, 1293886,
1378508, 2001388, 2619665, 3862083, 6272559, 10794330, 15915004, 19977760,
36867582, 39432762]
36

Some conclusions we can make based on this data:

  • The average delta was 1544 seconds, which is about 26 minutes.
  • 20 of the 36 users (55.6%) had a delta of less than a day (86400 seconds). 7 of the 36 users (19.4%) had a delta of less than 5 minutes (300 seconds).
  • The maximum delta was 456.4 days (about 15 months).

If you look to the comment on line 19 of the script, it’s a simple one-line change to get data for those who already have become ambassadors as well. Here’s the data for that, as of now(ish), with line breaks added:

[-7046682, -2244969, -2169415, -2105694, -1210664, -946193, -171773, -132781,
-105235, -88070, -11491, -2193, -380, -70, -31, -30, -13, 18, 19, 22, 26, 26,
26, 33, 33, 33, 36, 39, 40, 41, 43, 46, 47, 47, 47, 57, 59, 60, 61, 62, 62, 66,
66, 66, 67, 68, 69, 71, 71, 75, 76, 76, 77, 80, 85, 90, 90, 90, 92, 93, 95, 96,
98, 104, 105, 106, 109, 109, 109, 110, 111, 118, 119, 119, 120, 120, 127, 128,
131, 134, 135, 137, 139, 143, 145, 145, 146, 150, 150, 152, 155, 156, 158, 159,
168, 169, 176, 183, 185, 189, 191, 194, 194, 196, 198, 199, 205, 210, 211, 214,
217, 222, 222, 225, 237, 240, 243, 245, 252, 256, 258, 262, 264, 270, 272, 272,
278, 283, 294, 294, 295, 296, 297, 304, 306, 319, 321, 321, 323, 328, 335, 343,
346, 353, 361, 374, 378, 400, 400, 402, 412, 421, 441, 450, 452, 452, 455, 478,
484, 491, 520, 531, 575, 589, 607, 607, 621, 648, 658, 663, 705, 720, 722, 724,
732, 733, 738, 749, 753, 814, 827, 832, 874, 880, 929, 950, 956, 1012, 1014,
1041, 1046, 1131, 1286, 1381, 1408, 1430, 1559, 1577, 1821, 1845, 1887, 1906,
1971, 2028, 2165, 2195, 2424, 2479, 2640, 2901, 2934, 3094, 3339, 3354, 3364,
3413, 3414, 3711, 4874, 5386, 5426, 5577, 6329, 7416, 8916, 11001, 18324, 18575,
19330, 19936, 21462, 24887, 27708, 28870, 31331, 37117, 37872, 43673, 45269,
45565, 48128, 49488, 63696, 66359, 68765, 69655, 69813, 70958, 73441, 75468,
76693, 78022, 80469, 81074, 83926, 84313, 85884, 94732, 97918, 109199, 132682,
153970, 159001, 159096, 166200, 167190, 172526, 203033, 209366, 232599, 254839,
298215, 335812, 338047, 346164, 347030, 350391, 373753, 390049, 402758, 419056,
419722, 426483, 473510, 516436, 573911, 602051, 677595, 692417, 760878, 763579,
765369, 856220, 857455, 988386, 988834, 1000077, 1100141, 1208640, 1209160,
1296560, 1298298, 1391236, 1399265, 1409442, 1462069, 1468372, 1475776, 1549503,
1551292, 1556641, 1570053, 1644704, 1724047, 1727078, 1736449, 1819393, 1852417,
1883617, 1908922, 1969031, 1989497, 2075824, 2122750, 2139385, 2145740, 2186876,
2267192, 2292659, 2410660, 2430179, 2503012, 2594221, 2644249, 2699353, 2711578,
2826634, 2905727, 2917899, 2926825, 2928264, 3087834, 3130616, 3133132, 3772561,
4058559, 4446452, 4477283, 4590461, 4666894, 4771861, 4809502, 4868847, 5005004,
5058314, 5092264, 5183777, 5196236, 5411273, 5593249, 5628497, 5873109, 5947922,
6105292, 6240295, 6368175, 6488855, 7137656, 7348233, 7412019, 7524910, 7695694,
7712467, 7743736, 7950337, 8184019, 8226472, 8898541, 9143874, 9157720, 9354098,
9481789, 9552013, 9850428, 10295579, 10468848, 11302343, 11365382, 11483738,
11680912, 12374970, 12556286, 12776962, 12916884, 14004298, 14098912, 14506093,
14567374, 14836520, 15074649, 15868294, 16877210, 16920294, 17261366, 17462813,
17654050, 18496770, 18578171, 19207671, 19240507, 20335751, 20650780, 21510299,
21576474, 22797578, 25967324, 26705809, 26819684, 27315401, 27475767, 27628951,
28697835, 29272369, 29484943, 30322585, 30675304, 31282206, 31359463, 35558509,
36867582, 37016239, 37389204, 40520264, 43289246, 45256091, 45268939, 49846083,
56418326]
438

The first thing I noticed was that there were negative numbers. (lolwut?) These were probably before FAS had the ability to require that you were in cla_done before you joined ambassadors.

The main reason I’m posting about this is because I want to show that it’s really easy to pull group information from FAS and start messing with numbers. Take a look at pydoc fedora.client.fas2 and some other modules inside python-fedora. Looking at numbers can help you figure out what you can do within Fedora to help the project move along. (As for the requiring a certain amount of time as a contributor before becoming an ambassador proposal, I’m not sure where that ended up. I think we determined it was unneeded, but I can’t quite remember.)

Tags: , , , , , | Comments Off

From flatbed scanner to PDF in no work flat

May 19th, 2010

I wrote this before I scanned in my paperwork for the Red Hat internship last night. Given that it was written around midnight my time, it’s a little bit basic for a bash script. :) I was getting sick of scanning each individual page and then doing the converting nonsense.

Anywho, this script will scan documents for you and they will still be better quality than a fax.

#!/bin/bash

TEMPDIR=$(mktemp -d)

for (( i=1; i< =$1; i++ )); do PAGES="${PAGES} $i"; done
for i in $PAGES; do FILENAMES="${FILENAMES} ${TEMPDIR}/$i.pdf"; done

if [ $# -ne 1 ]
then
	echo "Usage: scan2pdf NUMBER_OF_PAGES"
	exit 1
fi

scanimage --resolution 150 --mode Gray -y 279.4 --format=tiff --batch="${TEMPDIR}/%d.tif" \
	--batch-start=1 --batch-count=$1 --batch-prompt -p
for i in $PAGES
do
	echo "Converting page $i..."
	convert ${TEMPDIR}/$i.tif -quality 90 ${TEMPDIR}/$i.jpg
	convert ${TEMPDIR}/$i.jpg ${TEMPDIR}/$i.pdf
done
SAVEFILE="scan-$(date +%s).pdf"
echo "Exporting PDF to ${SAVEFILE}..."
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=${SAVEFILE} ${FILENAMES}

1 Comment »

The end of a chapter

May 18th, 2010

I graduated high school on Sunday.

I start my summer internship for Red Hat on June 1.

I go to the University of Kansas in August.

I’m kind of super excited for the future. :)

Tags: , , | 2 Comments »

Repositioning myself within the Fedora Project

March 21st, 2010

After talking with a few people recently and doing some self-analysis, I feel like it’s time to make a major shift in what I do within the Fedora Project. My Fedora résumé so far has consisted mostly of wiki czaring,1 package maintenance and other odds-and-ends jobs others kindly ask me to do.

I’m presently concerned with the second in that list — a combination of increased stress and decreased time available due to school and the speed of discussion on package maintenance and release engineering is a losing game. In the next few weeks, I’ll be checking all of my packages and determining which ones have dead or slow upstreams or bugs that I can’t resolve on my own. Those packages will likely be orphaned, and if nobody wants to care for them, so be it.

The two others? Wiki czaring is fine, but I need to improve on it a bit (see the footnote), and I always enjoy the random problems that I can help quickly solve for people. This being said, development on mw, supybot-fedora and other convenient software is (hopefully) Not Going Away™ any time soon.

With the pushing away of my first Fedora love, package maintenance, I’ve found something new to focus on. Through my internship with Red Hat last year, I discovered that there is a large deficit of good statistics about our community. There’s a large deficit of good statistics about most free software communities, according to some random Google keywords I just tried, apart from “this is how many times our product has been downloaded.” I really loved the opportunity to combine my self-proclaimed mad Python skillz with answering other people’s questions, such as:

  • How many contributors does Fedora really have? And according to these standards/filters?
  • How often is the wiki edited and when?
  • How many “things” has this random dude over here done? Do we consider that “active”?
  • How many vague statistically-related questions can we come up with on devel@l.fp.o or during a marketing meeting?

Some of these, obviously, have no answer. Yet.

When I finally graduate from high school, I’ll be pushing full swing into answering these sorts of things. Until then, you can help me make Fedora a better place by simply telling us what you want to see tallied up. I asked this about 9 months ago and I got a lot of responses — thank you. But with recent discussions about the future of Fedora and a lot of claims about our user and contributor bases not being backed up (not pointing fingers), I think there are even more questions that can be answered. Please add your statistically-inclined questions to [[Statistics 2.0]] and I’ll do my best in the near future to get them answered with statistics on our community.

I also love help. (Shout out to joshkayse who is taking the lead on making it simple to find a single contributor’s actions within Fedora, taking inspiration from Mel’s FAS scraper.)

Quick summary: Maintaining packages is a drag (for me) right now. I like taking questions and answering with numbers. I graduate soon. Ask questions.

1 While writing this I decided to Google for “fedora wiki czar“. What I found was a mysterious character who was appointed as such in a community touting full transparency. Mel brought this to my attention the other day — I really suck at providing transparency into the process of administering the wiki. It’s pretty much on a whim. It shouldn’t be this way.

Tags: , , , | 1 Comment »

$ mw commit

March 14th, 2010

It’s 3:25 a.m.

mw now has a working commit command.

Go find a bug for me, please.

Tags: , | 4 Comments »

Some words on the devel@l.fp.o thread-o’-doom

February 27th, 2010

I read a little bit of the most recent humongous thread on the devel list. For those who like to ignore threads with 70+ replies in them, it’s about changing the Fedora updates system to not allow anyone to go straight to stable. (The policy isn’t actually written yet, so we don’t know if packages will require testing or if we can wait until the old_testing period is up or what. I also just summarized 70 emails worth of data into two sentences, so obviously I’m missing something—if you want to bite, read the thread.)

I have never had karma posted to a testing update—positive or negative—unless I, well, basically campaigned for people to test and vote, and I only did this for Gwibber when I maintained it. I spent more time trying to get three people to test this update than I did rebuilding and testing the update myself. I really only did this because I thought it was for the betterment of Fedora, and it really is, but it was one of the reasons I gave up maintenance of Gwibber: I didn’t have enough time to test it properly myself. (Then again, I had stopped using it for personal use as well.)

Gwibber is one of the few packages that I pushed to testing, and I only started doing so after someone started asking maintainers why they were pushing straight to stable. I didn’t have an excuse. :)

The bigger picture is that people don’t have time to give positive karma on packages that aren’t actively tested (like kernel). I’m going to source some conversation I looked at in #fedora-devel (and hopefully the owners of the words won’t care):

< hno> I usually keep my updates in testing until getting that email that it's
       about time to push it, which I for a long time took as a policy. But sad
       truth is that the amount of feedback given from users is usually nil..
< hno> and without users testing it does not really matter what policy there are
       imho.
< nirik> well, no karma does not mean no one tested it.
< nirik> it means that it didn't break or annoy them enough to go -1. Or matter
         to them enough to +1
< hno> true, but it also means the packager have no idea if it's been tested.
< kylem> the kernel has a huge problem here. nobody notices it's running unless
         it doesn't work.
< kylem> that's not as big a problem as the people who don't understand what
         regression means.
< kylem> but just vote -1 to every kernel because i didn't bother to fix their junk.
< kylem> which actively harms everyone else.
< kylem> makes me a sad panda.

I don’t know how to refactor the updates system so that we have more effective package updates and more effective testing. I’m no updates engineer. But I do think that requiring all packages to go through a two-week or indefinite testing period really pushes (hah) us farther and farther away from our why upstream policy.

Tags: , | Comments Off

“Get with the program”

January 22nd, 2010

John Gruber on Vimeo’s new HTML5 player:

“Nice. And, just like YouTube’s, it only works with Safari and Chrome because they’re using H.264. Firefox supports the HTML5 video element, but only for Ogg Theora video. Get with the program, Mozilla.”

Mr. Gruber, I subscribe to your blog in my feed reader because I enjoy feeling like a rational human being. I am still a recovering Apple zealot, and it’s interesting to see how much my views have changed over the last five years.

Some of my friends know that I started with Linux simply because it was free and accessible to me, but I stuck around because of the philosophy behind it—most notably, the concept of free software, and the concept of what is “bad” software because you can’t change it or legally use it.

When I hear comments such as Mr. Gruber’s—”get with the program, Mozilla”—I wonder if people really understand the patent issues that surround the HTML5 open video debate. (Read more on the debate from Ars Technica’s Ryan Paul.) Long story short, H.264 is patent encumbered, Ogg Theora isn’t (as far as anybody can tell). Full stop.

Unfortunately here in the United States, we still permit software patents. Also unfortunate is that somebody is charging for patent licenses to the H.264 codec.

There’s a reason Mozilla is staying away from H.264, and it’s not just about the monetary cost of a license. Mozilla has taken on the responsibility of providing a free-software solution for browsing the web, which often directly conflicts with anything that requires a separate license. Even if Mozilla did want to pay for the patent license, even redistributing Firefox with the H.264 codec would taint the very freedom that it touts.

So, Mr. Gruber, et al.: Get with the program. Understand what Mozilla and its hundreds of contributors want to do. Help put an end to software patents. Or, help to make Theora better, making it more useful to YouTube and Vimeo. It takes a community to have real action, not just the beck and call of the few and powerful.

Tags: , , , , , | 16 Comments »

What I want for my 18th birthday

December 20th, 2009

Edit: I did the first one myself :)

Comments Off