Search Results: "reg"

1 October 2006

Andreas Metzler: done.

With some handholding from vorlon it is now finally done:
Apparently successful
final: -gnutls12,-libtasn1-2,
[...]
The old gnutls stuff (gnutls11, gnutls12, libtasn1-2) has been removed from etch. It took a little bit longer than I originally thought but it happened before etch, which is the main point. ;-) There are not many lessons learned, I should have know before that it can take an unexpected amount of time to get stuff (re)built. A nice piece of information was the best way to ask for binary NMUs. The other thing is that it might be have been worthwile to upload a libgnutls11 without libgnutls11-dev at some point to stop people from (accidentally) building against the old crufty library. I ended up searching for these with grep-dctrl regularily.

30 September 2006

Erich Schubert: Dancing like crazy

Swing dancing (i.e. Lindy Hop, Balboa, Boogie Woogie) is my big hobby these days. It started with Rock'n'Roll dancing some years ago, and when I was in Berkeley I picked up some Lindy. Since February I've been going to social lindy dancing every couple of weeks. This month I've become a member of Boogie Bären (yes, that is "boogie bears"), a Munich dance club, and started taking classes in Lindy Hop, Boogie and Balboa every week, in addition to my usual lindy social dancing on sunday. Right now I'm right in an "extreme dancing" phase. It started tuesday with the Lindy classes (yes, both of them, over 3 hours), followed by the boogie beginners class on wednesday and the balboa beginners class on thursday. Friday there was a great balboa and swing party in a bar, with top attendees: the teachers of the workshops on saturday and sunday (which I have attended and will continue to attend tomorrow), Andy & Christelle from Lyon and Marty & Valerie from Cleveland. They've been great teachers so far, and their skills are very impressive. And they showed us some really cute moves. After the second half of the workshop on sunday, there will be social lindy dancing in the evening again, monday evening there is swing dancing in another bar in Munich [Update: with live music, Route 66, in addition to the usual singing DJ], tuesday will likely feature a liveband and boogie dancing (it's a holiday, so no regular lindy classes that day), followed again by boogie beginners course on wednesday, balboa class on thursday, maybe balboa and swing dancing in a bar on friday. Maybe I'll then watch the German championships in Boogie Woogie and Rock'n'Roll on saturday, social dancing on sunday and monday again, and so on. It's getting somewhat out of hand, as you can see. I should focus more on my diploma thesis instead... so I'll skip saturday. ;-) [Update: did I mention that Munich has a fantastic Lindy/Balboa scene? Upcoming events include a big balboa weekend 11./12. november, the new years swing ball and the Rock that swing festival in February.]

Evan Prodromou: 8 Vend miaire CCXV

I mentioned OpenSearch a few days ago. I've been working on getting it implemented for Wikitravel, based on the great extension written by Gregory Szorc. Well, just as I get it finished and submitted to A9, they've redesigned their site, and now the Wikitravel search option is much harder to find. It does work, though. Another thing I found interesting was experimenting with the OpenSearch support in Firefox 2.0rc1. I was getting weird errors with it, but thanks to a helping hand from folks in #addons, I got the scoop. Hopefully Wikitravel will be OpenSearch-enabled sometime today. Interestingly, in the A9 redesign, they moved http://opensearch.a9.com/, with the OpenSearch plugin enabled! tags:

Zak B. Elep: More on being 0 16

Its the close of September. And just a week ago I turned 16: in hex, that is. Although I do distinctly remember how I wished coming back to being a 16-decimal-year-old then… So, how does it feel being one? I’ve barely begun to feel it. There has been a lot of distractions to keep me from contemplating too much about $age: That’s just the tip of the iceberg. Moving back to Manila again has its own issues; I still have to look for a better place to stay (not that I’m complaining about my Tita’s place in Malate, but hey, we’re already overcrowded… I suppose I’ll get my own flat once I think I can stay out beyond the 3 months,) and I have to get better internet connectivity (all the better for my chroots to keep updated, and finally get back on the Debian/Ubuntu packaging scene.) I also have to find some time to get a passport, a haircut, some nice pair of sneakers, and a Wii. I’ve yet to know what this being 0×16 business is all about, but this I have to say: Thanks $DEITY for all the fish.

29 September 2006

Russell Coker: SAK, ctrl-alt-del, and Linux keyboard mapping

A common problem with Linux systems is when Windows users press CTRL-ALT-DEL at the login prompt and reboot the machine.

To fix this some people change the ^ca line in /etc/inittab to just disable the reboot function. However this is not desirable because sometimes you want to reboot a machine with a simple keypress.

Another problem that has not been widely considered is the use of fake login prompts by attackers. This can be implemented in either text mode or graphics mode. All the fake login prompt has to do is display something that looks like a real login prompt, accept a user-name and password, verify the password (a localhost ssh connection is a good way of doing this) and then abort. In the case of a text-mode login the user will think that they entered the wrong password, in the case of a GUI login via an XDM program the user will think that the login program just crashed. Then the attacker has access to their account.

The solution to the fake-login problem is the use of the Secure Attention Keyboard (SAK) feature. When invoked this feature makes the kernel kill all processes that are on the virtual console in question. If you make CTRL-ALT-DEL the SAK combination then pressing those keys will cause the kernel to kill any processes that are attached to the current virtual console and preventing the ability of hostile programs to forge a login prompt (which is the same as it's purpose in Windows).

The next thing to do is to make another combination used for system boot. A reasonable combination seems to be CTRL-ALT-BREAK as those keys are widely separated and the combination is not used for anything else.

If you put the following in a file named sak.map (or whatever you want to call it) then the command loadkeys sak.map will apply the change. Note that when creating a keyboard map you should do it on a machine for which you don't mind being forced to perform a hardware reboot. It's easy to make a mistake and give yourself a keyboard mapping that is not usable. Another possibility is to do such testing on a machine that allows ssh logins, you can then login via ssh and run loadkeys -d to correct any errors you might make.

control alt keycode 119 = Boot
control alt keycode 83 = SAK
control alt keycode 111 = SAK
control altgr keycode 119 = Boot
control altgr keycode 83 = SAK
control altgr keycode 111 = SAK

Note that the above covers both ALT and ALT-Gr keys as well as the numeric keypad and regular versions of the delete key.

dumpkeys -l gives you a list of all possible keyboard combinations. showkey will display the number matching any key you press and will exit after 10 seconds of inactivity.

28 September 2006

Biella Coleman: The Silence of Failure in Silicon Valley

After about 6 months of initial research in the Bay Area, I had to make a choice over the future direction of my more directed fieldwork. Would my project be on Silicon Valley, its religious fervor for the exuberant technology start-up, with the geek entrepreneur (probably with some affiliation with Standford) at its center stage, or would it be more broadly about free software and the culture of geekdom? I chose the later, for various reasons, but I think I wanted to write a dissertation that did not bleed with cynicism but instead flowed and flowered with a lot more joy than could have been possible if I had stayed within the grasp of the start-up and the venture capitalist. That said, I learned a lot about SV, took a lot of notes, and read most anything I could get my hands on whether the work of San Jose Anthropologist,Jan English-Lueck or published in magazines like Mother Jones, Harpers, and even the National Geographic. One of the luminaries that writes about SV from a cultural perspective is Paulina Borsook. And she is fine writer who admittedly has ticked me of on occasion (to be precise because she collapsed too much of geek culture into that of the specific SV world in Cyberselfish, which at the time I found almost personally offensive, probably more than it should have). Today I just came across a short, older but very illuminating piece of hers The Disappeared of Silicon Valley (or why I couldn’t write that piece) which is as much about the limits of historical representation in general as it specifically about the failings of start-ups in SV at the end of the recent boom and bust cycle. So her goal was simple enough: To find people involved in starting new high-tech whose companies had died.. and to find them to get a more visceral and cultural window into this experience. But it was a near to impossible task. Despite her impeccable record with confidentiality and a far flung social network, she could not get anyone talk about these ostensible failures. There has been a good amount of writing on the limits of historical representation because the archive or what comes to be the archive is a function of power and it is usually the powerless who are left out, as the work of Michel-Rolph Trouillot has so eloquently shown. But while it is true that some CEO of a dethroned corporation may be powerless in some sense of the word, it is not what we associate with the word. But in fact, the power of stigma of failure in a region that magnifies an already well-develiped cultural fetish of success (especially, I imagine, among male graduates, of places like Stanford Buisiness School), is enormous, so much so, that it seems one can only write about the experience, as Barsook has done so well, through the reality of a lack, through silence.

Enrico Zini: debtags-interesting-times

Debtags interesting times An unbelievable amount of interesting, fun and bleeding-edge things to do are coming out with Debtags. Erich did some javascript tag cloud. Interactive tag clouds are probably the coolest thing to provide as a link for packages.debian.org when people click on a tag. They can also replace the current navigator we have at http://debtags.alioth.debian.org/cgi-bin/index.cgi I started using Xapian, which is cool. It does fast text search with all the cool things like stemming and whatnot. Check out a prototype package search interface using it. Xapian can also find packages similar to a given one by looking at the description, which is cool. I can already use it to suggest tags, until we manage to put some of the bayesian code we are accumulating into production. Plus, I had an IRC chat with a Xapian developer: he was really nice. We had one of those neat chats in which really cool ideas keep coming out and it won't be so hard to implement even and wow, that'd be so cool, let's do it! Then there's the new web-based tag editing interface to do to replace the old one. I can add the smart search idea to it allowing to display tags giving keywords: and that'd give suggestions that automatically follow existing tag practices, which rocks. The C++ daemon backend that we now have for the website is great to allow to quickly intermix tag updates and queries, and still hope to scale. Maybe it means that soon we finally can start handling debtags mail submissions on Alioth as well. Distro-wise I have a plan to finally get rid of apt-index-watcher. The plan is already working in my computer, and just needs some more tests before hitting unstable. I'd also like to have the Python Debtags interface packaged somewhere, so that people who don't grok C++ can have fun with the Debtags data. Work is underway. Then there's the debtags-updatecontrol experiment, which didn't go quite as I expected, but still went well. I've already sent my first tag override update to aj incorporating data from control files. Other ideas? For example, implementing Xapian indexing in libept, and finally have a package manager with an amazingly fast search-as-you-type. And that, as a side effect, would create a Xapian package description in /var/something that is ready for any installed software to use. Then there's popcon. That's another piece of data to make available to package managers, and I already know how to do it. With Phil Hands at Debconf6 we had also started designing a way to use the unaggregated popcon database to implement an Amazon-style functionality that would go like "users which have a system similar to yours also have packages X and Y installed: would you like to have a look at them?" Joey Hess suggested to filter popcon analysis data with debtags, so that one can get suggestions, for example, only limited to game packages. Oh so cool! And this all feels like just a beginning...

Evan Prodromou: 6 Vend miaire CCXV

As far as I can tell, polygen is a piece of software developed to make jokes at my expense (my favourite kind!). First there was the Evan's blog posts grammar, and now I've made the list in the Complaints grammar for the Debian:TheDebianChoirOfComplaints. I'm so glad this process has finally been automated! tags:

Hey Don Don Marti saw my ssh woes as previously mentioned (see Tag/ssh) and gave a cool shell function to fix it. It even snags credentials from your other ssh-agent instances, even if they're not an immediate parent of your shell. Thanks, Don! Thanks, wp:Lazyweb! tags:

OpenSearch So, I've been twiddling around with OpenSearch, the feed-based distributed search system that weird little Amazon subsidiary A9 is foisting off on the world. I think it'd probably be pretty neat for Wikitravel. Gregory Szorc, the mad scientist of the MediaWiki world, has done a nice OpenSearch extension for MediaWiki. I had to tweak it a lot, which was kind of fun, but I still haven't gotten it to work entirely satisfactorily. I'm suspecting I'll have to changeover to lucene search, the MW plugin that uses Lucene as search subsystem, to really get reasonable performance out of this. In any event I'm mildly interested in OpenSearch. It's nice, I guess, and it's kind of cool that it works with Firefox and IE7 as an in-browser search alternative. However, I'm disappointed it's not supported in other portals besides A9. tags:

YaCy Speaking of search: wow. YaCy. The distributed search engine system. It seems like a really good idea, but I'm not really impressed by the search results I've gotten so far. But, regardless, I've set up the crawler to run on a couple of servers around the house, and the daemon seems to be running pretty cool, so it's not really noticeable. I'll probably forget about them for a while, and we'll see what some benign neglect will bring to their index accuracy. tags:

Evan Prodromou: 5 Vend miaire CCXV

Being an inveterate domain-name registerer, I've got a lot of domains sitting around doing nothing. I've only recently stumbled across Bruce Perens's Open Source Parking site. It's a clever idea -- transferring those parked domains on GoDaddy and other registrars to a page with ads for FOSS projects. tags:

Adieu John Our friend John Usher bugged out to wt:Banff today. He's off to the Banff Centre to finish up the research he did on his Ph.D. and do some more work on goofy, crazy audio projects in the healthsome mountain air. According to John, it's really nice at the Centre, but if you go outside you have to clap all the time to keep grizzly bears away. I'm not sure if that's for real or just a prank that the locals play on visiting scientists. John's been here a few weeks -- it was really good to have him. Our apartment is just a bit too big, and I've enjoyed the space most when we have a friend or relative staying in the guest bedroom. I think in the year or so that we've lived here it's been occupied about 30-40% of the time. I know Amita June will miss having Mononc John around. They get along really well, and I was hoping that AJ would pick up some UK turns of phrase like "tickety-boo" and "manky". I'm particularly charmed by the English use of the word "cheers", which seems to be analogous to the way like Hawaiians use "aloha"; it means hello, good bye, thank you, and Mmmm! Beer!. A fine word used by fine people. tags:

Postfix fix Over the last few days I've been tightening down on the amount of spam I get in my Inbox by trying to cut it off at the MTA (mail server) level. I have a lot of different email addresses, and I use a mix of mail forwarding and multiple IMAP or POP3 inboxes to bring everything together into one nice little bundle. I do some Bayesian filtering on the client side, and I have a call to use Vipul's Razor in my .procmailrc files, but it's great to filter this stuff further up the data path, too. Fortunately the three servers that get me the most mail all run Postfix. Postfix has some nice common-sense features that cut down on spam right out of the box. First, I made sure all three servers used wp:DNSBL lists to block open relay servers. Second, I added some checks for validity on sender address domain and domain in the HELO command. Finally, I added a filter to check the Sender Policy Framework to see if the connecting server is authorized to send mail for the sending address's domain. Of the three changes, I've found that the basic checks -- making sure that sender address domains and HELO hostnames are valid -- are blocking the most mail. But the other two kinds of checks help, too. This all came not a moment too soon, as the wikitravel.org mail server seems to be under another DDOS attack. Check out the numbers on the mail that's queued versus what's getting rejected!
evan@antipater:~$ sudo grep NOQUEUE /var/log/mail.log.0   wc -l
119150
evan@antipater:~$ sudo grep qmgr.*removed /var/log/mail.log.0   wc -l
590
Gee, three orders of magnitude difference... I'm getting about 50-50% on other servers. This is over the last 24 hours or so -- what a huge waste of time. tags:

27 September 2006

Aigars Mahinovs: Howard worldwide

I am hooked. I love to listen to Howard Stern. Up to now I have been doing it quietly by downloading it from P2P ever since I heard about him from a 60 minutes appearance just before moving to satellite radio on 1st January of 2006. Finally Sirius started transmitting their radio stations to the Internet (for a fee). 13$ a month is not cheap for Internet radio (that is common to be gratis), but Howard Stern makes up for every penny of that with 5 hours of great talk show 4 days a week. And the dozens of other channels are just bonus. If I were in the coverage zone of the Sirius satellite, I would get a receiver and look forward to the Stiletto, but as I am in UK, I have to make do with the Bittorrents shared by a highschool janitor and now with live streams from Sirius.com for 13$ per month. Luckily, the streaming works perfectly in Linux. (I did have to supply a USA address when registering, so I gave them the address of Google headquarters :) ) One more case where a gratis P2P downloads create a devoted fan and generate a sale. Now I am just relaxing and enjoying channels 100 - Howard, 9 - The Pulse, 12 - Super Shuffle and 33 - Area 33.

MJ Ray: TPM/DRM

There's a protest/rally outside Apple Store in Regent Street, London, England from 2pm on Saturday 2006-09-30, just ahead of 2009-10-03's Day Against DRM.

Benjamin Mako Hill: Who Gets to Define Freedom?

Recently, I had an opportunity to publicly discuss my projects around definitions of freedom for creative work with Lawrence Lessig at a workshop at Wizards of OS. In particular, we talked about my article Toward a Standard of Freedom in which I advance a call for a list of essential freedoms, a definition of free culture or content, and a goal around which a social movement for free creative works can be based. At WOS, Lessig and I agreed that its likely that, eventually, some standard (or standards) of freedom will take hold. Like me, Lessig seems to think that this is a good thing. We both agree that there will be, and should be, competing definitions of freedom, competing social movements, and a long conversation about what essential freedom really to creative works is before we get there. Our most fundamental differences seem to stem from a disagreement about who gets to define freedom or, perhaps more precisely, who the communities of producers should listen to in order to find out what essential freedoms in the domain of different types of creative works are. Lessig is extremely reticent to make any claims about what essential freedoms might be: he does not want to speak for creative communities that he does not intimately understand. While he seems to be suspect of any project making normative claims in this regard, he disagrees most strongly with projects like mine that offer definitions of free content and expressions that are intended to be applied broadly and outside of the explicit domain of the definition's initiators recognized experience (in our case, online encyclopedias and software). Lessig explained that he trusts musicians -- and in particular, Gilberto Gil, the progenitor of the CC Sampling license -- when it comes to defining essential freedoms for music. Similarly, he trusts programmers -- and in particular, Richard Stallman -- when it comes to defining essential freedom for software. Since Richard and I are less accomplished, less well known, and less experienced musicians, Lessig feels most comfortable erring in favor of Gil where there's a disagreement between us about the scope of essential freedom for music. While his is a convincing argument, I disagree with Lessig's position for a series of reasons I'll try to discuss here. First, it is important to remember that Gilberto Gil does not represent all musicians. There are many artists and musicians who support my definition. There are many (and probably more if the CC license usage statistics are any indication) who support Gil's lower base-line. It's worth remembering that, even though we disagree, both Gil and I are offering controversial and extreme positions. Today, most creators think that giving away their work at no cost, even non-commercially and barring derivatives, is crazy. To illustrate why this is not a problem, we can look again to free software. In the free software community, we see that Richard Stallman does not speak for the programming community at large when it comes to defining essential freedoms to code. In the mid-eighties, Stallman spoke for himself and a tiny handful of like-minded others. Today he speaks for many more but it's still a tiny fraction of all programmers. It's hard to remember when you're down in the trenches but the idea that software should be free remains a marginal and kooky idea to this day. Due to the hard work of the free software movement, many people have adopted Stallman's definition of essential freedom for software and many more will. But it is not mainstream and it didn't get here by being so. Setting an ethical standard and a goal for a social movement should not be about being popular. It should be about describing an ideal. It should be about standing up to injustice. It should be about answering the question, "what sort of world do I want to live in?" Not only is this process not a popularity contest, it will, in all likelihood, stand to make one very unpopular. Being respected or seen as an expert within a field will help with the adoption of one's ideal. Programmers trusted Richards Stallman because he'd written large parts of the very popular programming tools like GNU Emacs and GCC. However, it wasn't from his experience in programming that this insight into the importance of software freedom stemmed. It was from his desire to be a good, ethical, neighbor and member of a technical community. To this day, most great programmers continue to disagree with Richard. Second, I'm interested not only in talking about the ability of authors to choose how their works are used but in the rights of readers. You don't need to have a platinum album under your belt to have an informed and important opinion about how music should be heard, experienced and distributed. Lessig's current push for a "Read-Write Culture" is very fixated on creators and re-mixers. That's only one important piece of the community that frames and deals with this problem. Third, while I agree with Lessig that discussions around definitions of free culture must happen separately in each separate artist community, I see several compelling reasons why a single definition of freedom may be a very good idea both tactically and philosophically. For example, it provides a common rallying cry around which different creative groups can collaborate and it mirrors the common treatment of different types of works in current IP systems. More importantly, there are fundamental similarities between information goods and the way they are created, distributed, and consumed on computers and in digital networks. I've highlighted this before in quoting Eben Moglen on the ethics of creating artificial scarcity in goods with zero marginal cost. As a final note, it's worth stating that one doesn't need to feel that all works should be free to support a definition of freedom. Richard Stallman provides a great example of this. Stallman doesn't think that works of opinion or works that are designed primarily to entertain need to be free. However, he does believe that the term "free" should refer to a fixed set of freedoms so that he can take such a position. Without a definition of "free," a position on what should or should not be "free" is impossible. I believe that freedom to distribute and produce information goods like art and content and software are embedded in a set of freedoms and rights for both the producers and consumers. I think that to some degree (and quite probably a less extensive degree), Lessig agrees with this. Unlike Lessig, I don't believe that one needs extensive expertise in the creation of a particular type of creative good to make true statements about what is ethical or unethical in the production, distribution, and control of it. To use admittedly extreme analogies, you don't need to be a slave owner (or slave for that matter) to say that slavery is wrong. You don't need to be a farmer to make arguments against or in favor of vegetarianism or in favor of free range animals. I don't believe you have to be a technologist to claim that certain freedoms to technology are essential. I don't believe that you need to be an musician (successful or not) to make claims about essential rights to music. I welcomed the conversations and challenges that Lessig offered and it was encouraging to see agreement on the process of discussion and debate going forward. After the workshop, Lessig suggested that we continue the conversation. I look forward to doing just this in other venues and in other ways.

Robert Collins: 26 Sep 2006

I've just released bzr 0.11rc2 which unbreaks the test suite for windows and fixes our commit performance regression! The 0.12 release will be managed by John Arbash Meinel, giving me some more cycles to focus on local performance. Yay!

26 September 2006

MJ Ray: A note on phone numbers and forms

It sucks that despite (and apparently maybe because of) not being a BT customer any more, they can still delay my new phone line and broadband until a fortnight after moving in. (Ask not how I am online at the moment, for it is truly evil.) It sucks more that online forms for some essential services won't let you register a change of address if you don't have a telephone number. Bad Anglian Water. Bad North Somerset Council. It sucks even more that online forms for Wessex Water try to make you agree to even more restrictive terms than if you use the equivalent paper forms - I'm pretty sure their online terms break the Unfair Terms in Consumer Contracts Regs, but I'm not starting that fight just now.

25 September 2006

Russell Coker: quotes

At http://www.infodrom.org/Infodrom/fortunes/download/infodrom-linux there are a heap of quotes from Debian people, and more than a few from me. It's strange reading my own writing in someone else's quote file. Some things seem so removed from context that there is little point to them. For some things I couldn't even remember writing them and had to ask google. There were some things which seemed wrong, but google showed list aschives proving the quote file to be correct.

Also when googling my quotes I found that I had written an amusing and apparently quotable flame to someone who was far from the top of the list of deserving recipients of flames.

For anyone who reads the quotes, the Double Woody refers to Balvenie Double-Wood Scotch whisky. When Debian Woody was first released I would regularly bring a bottle of the Double Wood to Debian meetings.

Martin-Éric Racine: CUPS-PDF finally works on Ubuntu

For a long time, one of my Debian packages, cups-pdf, could not work on Ubuntu, because Ubuntu runs its CUPS daemon using a low-privilege user. I'm happy to report that this issue is finally resolved: following the release of CUPS 1.2, a simple solution was discovered by Andre Klitzing. However, I only noticed this recently, after registering myself on Launchpad to respond to Ubuntu bugs affecting my Debian packages. Sigh! Perhaps notifying me earlier, via the Debian BTS, would have been a good idea? Anyhow, after checking that the solution wouldn't break anything on the Debian side, I committed the fix to cups-pdf 2.4.1-2. Enjoy!

Evan Prodromou: 2 Vend miaire CCXV

Happy new year, everyone! I was away over the weekend, working hard on Ignition 2006, and I missed the big day here in front of the computer. Instead I was out under the stars with Montreal Burners, having Burning Man fun out in the wt:Eastern Townships. I'm not sure if it happened this year, but I think next year it would be great to have a Debian:BSP in wt:Black Rock City. OK, sure, it'd be super-nerdy, and the connectivity is pretty spotty, but there are some long, hot afternoons out there and I know that there are at least two DDs that are on the Playa pretty regularly (me and Don Armstrong). I wonder if there are more? I wonder if we had a BSP, if lots more would show up? tags:

Usability So, my current computer usability problem has to do with the rockin' secure shell program OpenSSH. Here's what happens: I'm on a box and I have a new login goin' on. And I have to ssh to another box, and I get the message:
Enter passphrase for /home/evan/.ssh/id_rsa: 
This happens because I haven't run ssh-add when I logged in, to store the passphrase for the key with the current ssh-agent. So now I have two options:
  1. enter my password and then possibly forget to run ssh-add before running ssh again
  2. kill the current ssh instance, run ssh-add, then run ssh again
Both options suck. What would be nice is if I could enter my passphrase, and have that count as if I had run ssh-add. Like, after I enter it, the ssh client could say:
Add this key to your current ssh-agent session [Y/n]?
...and then ssh would add the key, like ssh-add does, and continue with the login. Wouldn't that be great? I think this is the biggest usability problem I run up against in my daily work life. Which, y'know, is pretty good. [You might want to look into libpam-ssh] [See also http://advogato.org/person/mbrubeck/diary.html?start=90 ] tags:

Wikimania 2007 in Taipei I have to say that I'm a little wistful that wt:Alexandria wasn't chosen for Wikimania 2007. We had a really good bid to hold the event in Alexandria at the Bibliotheca Alexandrina, the "new" Library of Alexandria. I was getting pretty excited about going to the Mediterranean next year. But I think that Taipei is going to be a fantastic place to hold Wikimania, too. Holding the event in wt:East Asia will make it much easier for people there , in wt:Southeast Asia, and in wt:Australia or wt:New Zealand to come to the event. A Wikimania in East Asia will focus attention on the non-English-language and non-European efforts of the Wikimedia Foundation. Taiwan also has a really strong local Wikimedian group, with Wikimedia Taiwan soon on its way. Finally, a Wikimania in wt:Taiwan will re-emphasize the wp:Blocking of Wikipedia in mainland China. Jimmy Wales has said on the record that Wikimedia will not censor its Chinese-language projects to comply with the PRC's firewall (the so-called wp:Great Firewall of China), and I'm sure an official event in the ROC will further highlight that point. Personally, I'm looking forward to a trip to Taipei, which will be a good excuse for some more exploration of Taiwan. And I want to congratulate the Taipei bid team. I was impressed by the amount of work that went into the Alexandria bid, and I'm sure they did a lot of work for Taipei, too. I know the Alexandria crew is optimistic for next year: starting the steps for making a Wikimedia local chapter in Egypt, and continuing to develop relationships with the local technology companies as sponsors. Should be interesting... it might be worth a trip after all! tags:

24 September 2006

Benjamin Mako Hill: PyBlosxom and Comment Spam

Over the past few months, I've dealt with something of a blog spam nightmare on Copyrighteous: my blog running the PyBlosxom weblog software. Wiser and less stubborn individuals might given up on either PyBlosxom or the ability to receive public comments. However, I find PyBlosxom unique in its flexibility and great ReStructured Text support and am always frustrated with others' blogs that don't accept comments. At the end of the day, I couldn't bring myself to part with either. Historically, my blogspam protection has been to use a simple weak CAPTCHA and to have my blog software email me each time a comment is successfully submitted so that I can (with a built-in macro in mutt) delete each spam comment that slips in. This has worked well for the last couple years. This summer, Mika pointed out that my blog was full of Chinese link spam that I had not noticed or been notified about. Around the same time, I realized that my website had been dealt a massive spam penalty by Google and was basically not showing up in any search results. I have spent a significant amount of time over the last month repairing the damage and working to prevent it from reoccuring. I'm documenting this process here in the hopes that it might save other time and energy. Upon reflection, the situation could have been prevented the in three relatively easy ways -- all of which I have now implemented.
  • Had the PyBlosxom comment.py plugin's mail function been working properly, I would have known that I was being spammed.
  • Had PyBlosxom been configured to only make blog entries (and not comments) indexable by search engines, Google and others never would have seen the link spam.
  • Had I installed a stronger CAPTCHA, I might have blocked the spam from being submitted in the first place (although at the expense of the participation in comments by visually impaired users).
A month or so, hours of work, and a Google reinclusion request later, my website is beginning to show up in search entries again. Hopefully this message will help save others from a similar fate. Fixing PyBlosxom's Comment Notification The most critical problem was a bug in PyBlosxom's contributed comment.py plugin and its comment notification system. In short, the email based comment notification system failed silently if the body of the email -- which included the full text of the comment -- included any non-ASCII UTF-8 encoded text. I've filed a bug against PyBlosxom and included a patch that fixes this issue. However, since this is a rather critical problem and because PyBlosxom releases tend to be few and far between, it might be worth patching your system now. My patch is against version 1.3 but can easily be modified and applied to version 1.2. Hiding Comments from Search Engines The major reason that the successful spam became a problem was that it triggered Google's abuse detector, resulted in a spam penalty, and made all of the (non-spam) material on my website more difficult for others to find. A simple way to prevent this is to hide all comments from the search engines. I've done this by creating a new PyBlosxom flavor that shows comments (and allows them to be input) which is not indexed by search Engines and to remove comments altogether from the default indexable flavors. To do this, I removed all of the comment-* templates from html flavor and created a new flavor called comment.flav that included the comment templates. I also had to make the comment submit action point to the new flavor and to change the "Comments: N" link to point instead to .comment flavor rather than the .html. The rest of the template is simply symbolic links to the the HTML template. The next step is to ensure that the comment flavor is not indexed by search engines. I found two ways of doing this and did both. The first was to add a "no index" meta tag to the header of each .comment page. It looked like this:
<meta name="robots" content="noindex, nofollow">
This is necessary because the robots.txt standard, the normal way to tell search engines not to index a page, does not support wildcards. Luckily, Google (and others I imagine) do support an extension to Robots.txt that allows you to use wildcards. To take advantage of this, I created a robots.txt for mako.cc that blocks indexing all of the comment flavor. The following robot.txt did the trick for me:
User-agent: Googlebot
Disallow: /copyrighteous/*.comment$
An Improved CAPTCHA Ultimately, the best solution would be to keep the spam from showing up on the blog at all. The only decent PyBlosxom CAPTCHA is the "nospam" plugin by Steven Armstrong. It is a simple image-based CAPTCHA and I was running it when I was spammed. It uses PIL but generates purely number-based strings and does some minimum obfuscation. Basically, spambots were able to break the CAPTCHA and toward the end, I was receiving thousands of pieces of a blog spam a day. I've incorporated the PIL image generation code from Mediawiki's ConfirmEdit/FancyCaptcha extension into nospam.py with this patch which I have also sent to Steven Armstrong -- nospam.py's original author. It's much stronger. Apologies, of course, go to all of my vision impaired users. Image-based CAPTCHAs really are evil. In this situation though with many thousands of attempts of a day, the alternative is that I will turn off comments altogether -- the standard (and poor) lesser of two evils argument. Ultimately, I will write a python implementation of a new strong text-based CAPTCHA I've invented that uses commonsense knowledge and pulls off some cool data acquisition in the process. I presented this project at the Wikimania Hacking Days and at a Media Lab open house for AAAI 2006 where I got universally positive and useful feedback. CAPTCHA inventor and recent genius-grantee Luis von Ahn seemed to like the idea too. I'll write more about this on another day though.

23 September 2006

Erich Schubert: Meme time: top 10 shell commands

Note: the script posted originally had a bug in sorting, as seen here. I used history 1 awk ' print $2 ' awk 'BEGIN FS=" " print $1 ' sort uniq -c sort -nr head -10 (this is for zsh history; the fix is the -n flag to sort)
    254 ls
    141 cd
    131 vim
     86 svn
     77 grep
     70 apt
     65 sudo
     60 ssh
     51 rm
     45 dpkg
Boring meme. I work on files, edit files, use subversion, grep and eventually run apt-get or dpkg. "apt" is a small script of mine which will call apt-cache search or "sudo aptitude" as appropriate; somewhat merging the functionality of these into one command). Followers up:
     45 cat
     43 man
     33 debuild
     28 apt-cache
     18 dch
debuild, dch - yeah, I have been doing some Debian work recently. Mostly SELinux, like a week ago or so. [Clint, I didn't invent that double-awk pipeline. I just fixed the sort issue. I'm currently more annoyed by awk because it uses isatty() on regular files, which in turn does ioctl, which in turn triggers SELinux audit errors...]

Jordi Mallach: What about GNOME 2.16 and Debian?

I haven't heard too many people asking if GNOME 2.16 will make etch. Maybe everyone just assumes it will, because the latest transitions have been pretty good, or maybe everyone just assumes it won't because nobody would expect Debian to ship with a current GNOME release, right? Or maybe Debian is immerse in what looks like the beginnings of a civil war, and that is more interesting. The Debian GNOME team has been preemtively working on GNOME 2.16, though, as the release clock is ticking. Lo c has spent a big amount of time revamping the packaging of GTK+ and Pango, finally resulting in sane source packages people can look at. Joss, Guilherme, Lo c and others have worked on the rest of the Developer Platform packages, which is now ready for testing in experimental. The evolution team has also been rocking and all the associated packages are ready to go in experimental as well. The GNOME 2.16 status page still shows quite some red for Desktop packages, which are now being worked on, with GTK+ 2.10 in place. But we still haven't decided if we can go ahead and attempt a 2.14 -> 2.16 transition in time for etch. Our biggest concern are the known problems of GTK 2.10's file chooser regarding cancelling of operations. Apparently, other distributions are getting bad bug reports due to these, so we need to be very careful about it. We know there are people working on an upstream fix as I write, but we don't know when there'll be a patch for GTK+ and libgnomeui available. If we learn it's due soon, we might start speaking to our release managers about the possibility of starting a transition. If we have no news, it'll probably be too late.

Next.

Previous.