Search Results: "will"

9 September 2008

Biella Coleman: STDIN, My Hacker Class Blog

So, I am pleased to announce that my course on hackers, which has already started, will be hosting a class blog, STDIN. Starting next class when we address phone phreaking, we will have one entry summarizing in some details each class readings and discussions. There is one student in charge for every class and then anyone else can post as they wish. I am also making an effort to post various definitions and examples of hackers, hacking, hacks and compile a master list at the end. I am not sure it will produce anything interesting except a list of definitions, but sometimes you see new associations and meanings when with such a comparative potpourri.

Erich Schubert: Increasing your privacy

Many people are already aware of the amount of data Google can (and does) collect on them. Some people therefore refuse to use certain google applications altogether. Others just like them too much.There are some services that won't work with heavy ad blocking and anonymizing services - others will work just fine. A prime example everybody uses is Google search.Google search will work just fine if you use anonymizers. Google Mail won't.Privoxy and TOR is a great combination for anonymizing, however you won't want to use them for bandwidth-heavy web surfing, and there is little benefit of using them for web sites where you authenticate anyway.Here's a way to do a compromise:
  1. Install and configure Privoxy and TOR. Make sure they work.
  2. Setup a proxy.pac file (proxy autoconfiguration) for your browser like this:
    function FindProxyForURL(url, host)  
        var google = /https?:\/\/([^/]*\.)?google\.[a-z]*($ \/)/;
        var tor = /https?:\/\/([^/]*)\.(exit onion)($ \/)/;
        if (google.test(url))  
            if (shExpMatch(url, "*.google.com/mail*"))  
                return "DIRECT";
             
            return "PROXY 127.0.0.1:8118";
         
        if (tor.test(url))  
            return "PROXY 127.0.0.1:8118";
         
        if (shExpMatch(host, "config.privoxy.org"))  
            return "PROXY 127.0.0.1:8118";
         
        return "DIRECT";
     
    
    and point your browser to it.
  3. Add the following to your privoxy/user.action file:
      +client-header-filter hide-tor-exit-notation   
    .exit
      +filter js-events  +crunch-all-cookies  
    .google./(search blogsearch scholar images)
    
    And don't forget to reload privoxy.
You should now be able to access Google search with enhanced privacy (I can't guarantee you they won't be able to track you though!) while at the same time you can access your Gmail account at full speed.When using Google Search (including image, blog and scholar search, feel free to add additional services) you should be seeing a login button, while you could be accessing Google Mail at the same time in another tab.This list is of course not exhaustive. You might want to actually use privoxy and TOR by default, and only disable it for certain sites (or configure privoxy accordingly). You get the idea: this is just a very minimal approach to disable tracking exactly by the Google search site. It all depends on how serious you are about privacy and how important data throughput is for you.Also it will allow you to access certain TOR functionality (such as hidden services) without running TOR all the time (after all, it is and will always be slower than direct access).[Update: apparently some TOR exit nodes trigger a spam protection on Google, and without cookies you can't solve the captcha. So the use of TOR doesn't work well with Google. All the privoxy cookie blocking however is still recommended.]

Petr Rockai: adept 3.0 beta 2

I have released second beta of Adept a few hours ago. For the unaware, Adept is an APT front-end for KDE: it lets you install, remove, upgrade software and such your Debian and Kubuntu boxes (and maybe on some other Debian derivatives, too). Changes since Alpha 6 Now, alpha 6 has been the last alpha release, therefore there are no more new features in beta 2. Most of the issues should have been resolved. I have also added a menubar, resolving a potential usability problem (and making the about box accessible, too!). There will be another beta that should fix the few remaining known issues. Please report any issues you have encountered to me (either mail, irc or bugs.kde.org). Where to get I have prepared binary packages. These should be now part of Debian Sid (unstable) and also of Kubuntu Intrepid. You should be able to get the new version from your distribution:
apt-get install adept
There is no Hardy backport, since my time is tight. If anyone is willing to do a backport (you can use the stuff that is in my PPA; however, some things need updating), please drop me a note: I will gladly publish installation instructions. Heroes of Beta 2 There has been a (silent) beta 1 a while back, which introduced a couple of regressions against alpha 6 (but fixed bugs, too!). Jobs for Beta 2 Sorting through Launchpad for bugs that have been fixed is still needed, as far as I know. JontheEchidna has been working on this (and maybe some others have? Drop me a note if you worked on this and claim your fair share of fame… Sorry that I don’t keep track of that, but you know the story… too much stuff to do in too little time, all the time.) Notifier is not included. Kubuntu has an independent sort of notifier now, I believe. Maybe I’ll find time to reconcile it in 3.1 or so.

Holger Levsen: RC bug a week - week 3

Last week I was in Extreamdura, Spain, polishing fai for Lenny. So I only fixed one RC bug (494243), which was affecting Lenny the day mrvn pointed me to it, but wasnt anymore when I uploaded it yesterday. The reason is simple: quite some removals of buggy packages have taken place, yay! (And gerris was one of them...)

Speaking of which, the bug count has been gone quite dramatically. According to the simple graph we are down to 310 (last week 383, the week before 428), according to this turmzimmer view we are now down to 266 (last week 339), but I have found yet a better one, according to which we are at 144 RC bugs affecting Lenny!

144 bugs ain't many for a thousand developers ;-))

Last week I pointed you to rc-alert, which helps finding buggy software you are using. Rhonda pointed out
rc-alert -d TU -o and
to me, which will show RC bugs (of packages installed on your system) which are open in unstable _and_ testing. This only works in testing/lenny or with devscripts from backports.org. It won't show you which have been removed from testing though ;-) Read the rc-alert manpage for other interesting queries to hunt bugs!

8 September 2008

John Goerzen: Twitter and Identica Dilemma

Since July, I've been trying out Twitter and its open-source competitor identi.ca. Both are microblogging sites, with Twitter being the largest and most well-established of them.

Both let you follow people with their 140-character updates via the web, or with alerts on your phone.

My dilemma involves how to make this work for me.

For some people, I'd like to get an alert as soon as they post an update. For others, maybe get a non-intrusive alert a couple of times a day. I want to get these notices on my computers, whichever one I'm using.

In theory, Twitter lets you follow updates on IM with Jabber. But their Jabber gateway has been down for literally a month now, and though they still have a note saying it will be back RSN, there's little hope.

Identi.ca has a working Jabber gateway. But unlike Twitter, you can only specify if you want notices from everyone, or nobody; with Twitter, you can sign up for IM notices from just a few people. I already have a Jabber client on all my machines.

So here are my options:

First, I could just use the Twitter and Identica web interfaces only. Not really all that appealing; I don't want to have to go load up a webpage a few times a day. Also it is annoying to have to open a web browser, pull up a web page, just to enter 60 characters of status.

Second, I could use Twitterfox and Identifox firefox plugins. They look nice, but add yet more bloat to Firefox -- and that's two more plugins per machine to set up and maintain, not to mention that one machine is not aware of what I've already seen elsewhere. They do make it easier to post updates.

Third, I could use RSS feeds for reading in bloglines. Not all that realtime though.

Fourth, I could set up two Identica accounts, one which sends all notices to my IM and one which doesn't. It'd be annoying, and still doesn't solve my problem with Twitter at all.

Fifth, I could install some Twitter-watching app on all my machines. That's annoying as it's yet another piece of software to maintain everywhere, and yet another one to keep updated, AND if that wasn't annoying enough, they still don't know what I've seen everywhere.

How are all of you using Twitter or Identica?

Also, I'm curious how all these companies that use Twitter and instantly find out when anyone mentions Dell or JetBlue are able to do that. I don't see a "search everyone's tweets" feature anywhere.

Michal Čihař: New SSL certificates

New Firefox is complaining about untrusted certificates in even more painful way and the time when CAcert certificates will be widely accepted seems to be far away, so I had to do something with bug tracker certificate. Otherwise I would receive too much of mails about broken certificate (which has been always valid, just signed by CAcert, which is usually not between trusted certificate authorities). As a cheapest way to deal with this issue I found seems to be StartSSL. The problem is that their root certificate is not everywhere, but at least Firefox contains it. Anyway it is just an attempt to make things work better, if you have any problems with new certificate, just drop me an email.

Holger Levsen: We had joy we had fun we had changelogs in the sun

In an hour the online part of this combined embedded+fai meeting in Badajoz in Extremadura, Spain, will sadly be over, but the sadness will hopefully be compensated by good food (yes, the food at the last dinner was great) and more fun! To me it were three intensive days (plus some two half days of intense travelling) which were really productive. This post is a summary of what I did here, to document how useful these meetings are. I'm only one person out of 18, who did some Debian work here, much more stuff was done, most of it I probably didnt even notice, as 14 people where working on embedded stuff, which I mostly ignored... ;-) That said, I think it was still very nice to have this meeting together, a.) because I'm quite interested in embedded stuff and b.) because the embedded crowd is a fun one to hang around with!

Right now I'm quite tired so that I dont fully remember what I have done on the first day :) It included uploading the DebConf7 mpeg videos which will now be used by Miguel Gea to create DVDs from those, so that he gets familar with the toolchain, so that he then can do the DebConf8 DVDs once those videos are (fully) ready. That will still take some time though, but hopefully not too long.

Unlike DebConf8 I also brought my fancy new fonera2 with me, in the hope to give it to someone to work on emdebian support for it. This is quite a longer road, as currently uclibc is not part of Debian, but thats only one step in this puzzle. Much to my joy Per Andersson took the opportunity to play with it and now took it home with him to document how to run Debian on it. I'm looking forward to see progress on this in the future ;-) Update: uclibc support is only needed for running Debian from the 4mb flash it has. But since it also has an usbport one can attach some storage there and run a full Debian system, just like on the nslug, which also has 32mb of RAM.

Unfortunatly I basically forgot about the FSG-3 I also took with me (which was for good reasons, one the second and third day I mostly did FAI work), but then I remembered 90min before the end, which was really too late. Narf. But Riku had a short look at it and told me one thing I didn't knew before: (at least) arm(el) kernels need to have the cpu id set in the kernel and the debian kernels don't have that, as they are build for more than one cpu type, so one has to prepend an arm assembler code instruction before running the kernel... I'm curious to do this soon :-)

But I have more hardware news to tell: C sar G mez Mart n (thanks for organizing this meeting, too!!!1) gave me back my OLPC laptop which I borrowed to him quite some time ago, so he could use it for a talk he gave at a university in Extremadura, so now I finally could give Andres Salomon new debian image for the XO a try. It was really nice to finally see a nice Debian gnome desktop on the device :-)

Today the FAI group, that was Sebastian, Michael, Thomas and me, also took a break to visit the Alcazaba de Badajoz (built around 1100, so roughly 900 years ago) which is an amazing building (thats why I linked to the spanish wikipedia entry as it has nicer pictures), from where you can see most of the city. I've been to Badajoz at least three times now and I'm really glad I finally did that, it's only 5min away from the office where the meeting was held and I highly recommend it to anyone going here.

Oh, and last and definitly not least I did a lot of work on FAI too. Besides discussing stuff which will hit planet after I posted this (hah! Michael already posted it, though without proper credit, so I will do a repost) I mostly reviewed changes and patches and discussed bugs, I didn't develop many patches myself (well, except one for the changelog..) but I've read every change at least twice, once as a commit msg and once in a full review. Plus many patches I read more often... all in all I think FAI is now in an great shape for lenny (which was the only thing we worked on during the weekend, we discussed some future plans, but work was only done for lenny), except that we want to another upload (with only documentation changes) after the upcoming one (which has quite some documentation changes already, but also some RC+important and some trivial bugfixes).

As you might have guessed, I started this entry on saturday and am finishing it now. According to the topic of the #extremadura2008 channel, which we created to coordinate between the groups, we also fixed 7 RC bugs (or 8? one should really document the bug numbers and not the number of bugs..) affecting lenny and 3 more which are only relevant to sid. Which is not as many as I would have liked to be fixed, but then, it wasn't a ("traditional") bug squashing party either. Which makes me wonder, are there any planned in the coming weeks?

So all in all I think this meeting was really very productive. Plus, I also enjoyed a special half an hour of real holidays: on saturday we had to leave lunch without having a chance to have a coffee afterwards, so I stumbled into a random cafe on the way to the venue. Turned out it was a very nice one, where due to its nice interiour I managed to reflect on life, 42 and all the rest almost immediatly. A totally unexpected but needed break. I wont say more here, because the thoughts and memories are really mostly relevant for me, but I'm really happy I found that space. DebConf8 and this meeting both were really fun, but I really didnt have a minute to reflect things. 30 minutes to do that is definitly not enough, but it was a good start. Now I just need to find another opportunity to continue with it. I hope this will happen before the next Extremadura meeting ;-)

Christoph Haas: mentors.debian.net s flakiness

A lot of users of mentors.debian.net have already mailed, irced and jabbered me. (Fortunately nobody rang at my door.) The service was pretty unreliable in the past weeks. If I’m not mistaken it was due to not enough RAM. Unfortunately it’s a VPS server (sponsored for that purpose by vpslink.com) that has 1 GB RAM but doesn’t allow to set up swap for the rare cases where a 100 MB more RAM would save the world. Took me a while to figure out where the infrequent “MySQL server has gone away” came from. That lead to packages either left in the incoming directory or being thrown away randomly during the import into the repository because not all database error conditions have been properly caught. The better news is that the debexpo project done during this year’s Google Summer of Code is now done. The Pylons-based software was written to suit the need for easy-to-use web-based Debian package repositories like PPAs or debpool. I am currently working on a few subleties of debexpo before it will be used for mentors.debian.net. I intend to announce the beta version of mentors.debian.net in about a week. And I hope for lots of feedback then. And let’s hope I get the RAM situation improved on the server. The mentors backend was the only software using the MySQL database. With debexpo (which uses SQLAlchemy for database interaction) I’m free to use PostgreSQL or even SQLite.

Neil Williams: Gobby - collaborative editing for worksession meetings

A few speakers at DebConf8 used gobby during their talks to collate ideas without breaking the flow of the session.
I've just come back from the Emdebian meeting in Extremadura (of which more later) where we also used Gobby - FAI used it too. Once the network setup was working, it was simply a case of clicking Create Session in gobby on my laptop and everyone else clicking Join Session, entering the IP of my laptop (only accessible locally) and choosing a colour.
Gobby is real-time, currently plain-text only but clearly indicates how sections have been edited and has an integrated IRC box for each session. At the end of the meeting, every gobby user has a copy of every document they opened in every session they joined. updated to the moment they quit the session.
Based on using gobby in events like this, I'd strongly recommend that someone at each worksession-type meeting starts a gobby session and maintains that session for the duration of the meeting.
Gobby even does syntax highlighting - depending on how many people join and the colours they choose, this might become difficult so it can be turned off too.
There are only a few minor issues:
  1. The colour bar warning box isn't particularly intuitive - you need to click on what looks like a dimmed progress bar to select a unique colour for yourself.

  2. I initially thought that Gobby had no authentication - in a local meeting, anyone who can connect to the specified IP address is able to edit the document. Since then, I've noticed it does support password authentication and there is mention of fully encrypted connections so it may be possible to use it over public networks.

  3. According to Wikipedia, there is a gobby server that allows non-GNU/Linux clients to run gobby and join any gobby session - I didn't explore this and the Debian package doesn't mention anything about a server option or mixed-OS support.
    • Update - the server is called Sobby and is in Debian.


  4. The right hand side of the window is a bit wasted - maybe some kind of sidebar would be handy, especially docking the userlist into the window so that edits can be identified more quickly.


7 September 2008

Michal Čihař: More fun with phpMyAdmin package in Debian

When finishing series of articles about Debian packaging and writing about dbconfig-common, I just had to ask myself, why it is not used in phpMyAdmin package. I did not find any reason and as Thijs did not have any objections, I hacked it together this evening. So what you will get? All fancy features where phpMyAdmin requires it's database to manage some additional features. For example you can create PDF pages with structure of your database, add additional comments to databases, notice relations between MyISAM tables, etc. Simply see wiki for more details. Besides this, phpMyAdmin is now automatically configured to use database you choose using dbconfig-common, so you can also connect to remote MySQL server without manually configuring anything. The only thing which scares me a bit is that we now increased a lot number of debconf questions user has to reply by this...

John Goerzen: Two New Arrivals

There are some things you just wouldn't want to do without living in the country in Kansas.

A lot of rock on your driveway.

A good view of the sunset.

Neighbors with tractors.

Some way to get rid of trash and recycling.

Some friendly outdoor cats.

That last item is there because there are a few things you would really love to do without:

Mice.

Rats.

Pack rats.

Other assorted rodents.

Now, although we were adopted by a stray cat not too long ago, he is really the skittish, wondering hobo type of cat. Sometimes he's around, sometimes he's not. We'd really like more of a 24/7 rodent patrol. Plus we can't ever get close enough to Sneaky to play with him.

So on Labor Day, I brought home two cats from my parents place: Hudson and Nash. Both are yellow. Neither of them were really accustomed to a car carrier, and though the trip is less than 15 minutes, were quite scared by the end of it.

We normally pen up outside cats for the first few days so that they can identify with a new home, then let them roam free. So we decided to take them in to the grain elevator and let them roam in there for a little while. This is a big old wood structure about 80 years old. It has two stories, and a series of wooden grain bins built into the first floor.

We took the cats, in their carriers, into one of those bins, closed the door, and then let them out. Both were scared, but one of them calmed down quickly, and was soon happily playing with shoelaces, purring loudly, and generally wanting to be held.

The other made a run for it. He couldn't get out the door, but, well, he managed to climb up the wall. Up and out of the grain bin, and another jump or two and he was in the second story of the building -- no doubt finding a lovely cat-sized place to hide.

We eventually closed up the elevator as best we could, and left for the evening.

Tuesday morning, we saw only the smaller cat around. By the afternoon, Terah saw the older cat prowling around in the yard. That's one thing about 80-year-old farm buildings: they can't keep cats in or out. A cat will find a way in, or a way out, if it wants.

By now, they're playing outside and love it. They still like to go inside, and Hudson -- the older cat -- will let me get within about 5 feet of him. Nash tries to not let me get more than 5 feet away, and has climbed most of the way up my jeans using his claws by now.

When we're not outside, we can see them prowling about outside. Sometimes they'll see something -- maybe a cricket or a mouse -- and they'll crouch down, tail moving excitedly, ready to pounce. They don't really play with each other, but they stay close by.

All of this is great, but it comes with a price: I no longer have an excuse to avoid cleaning the rat droppings out of the elevator, because they won't just reappear within a month anymore.

Kyle McMartin: CONFIG_PRINTK_TIME, what is time?

GMsoft reported a few weeks ago, that kernels on his A500 were hanging on startup with CONFIG_PRINTK_TIME enabled. Knowing that all this does is prefix the kernel messages with a timestamp, I was interested to find out how this could possibly be causing a hard hang. Obviously, the first thing to do, is to try and reproduce the problem. But I was completely unable to reproduce it on my RP3440… How very strange. Ok, well, let’s poke at the A500 and see if it will happen there. It does! Spooky…[1] Well, now I was really interested. Let’s see what CONFIG_PRINTK_TIME actually does… In kernel/printk.c::vprintk, around the if (printk_time) section, we see that after printing the priority level tag, such as KERN_INFO, etc., we attempt to print a timestamp obtained with cpu_clock. The returned value from cpu_clock is in nanoseconds, so before it’s printed, it is munged into two smaller integers, the whole-seconds portion, and the decimal portion. Ok, this gives us a great place to start looking for ways PA-RISC could be tripping up on these codepaths. The first was a fairly fruitless search of the cpu_clock call chain, which turned up nothing suspicious, aside from a maze of CONFIG_ options. Turned out, on non-x86, this code reduced into some fairly trivial stuff, none of which could really have been causing a hang. However, we now had a basis for a fairly good hunch. If it wasn’t the cpu_clock going awry, the do_div routine, or sprintf must have been causing it. A quick boot-test to comment out the do_div routine and replace it will a fixed value resulted in a working system. Hooray. Then it hit me like a freight train, when I saw what was being printed. This was the banner line… the very first thing printed in init/main.c, right after jumping into the kernel in virtual mode at start_kernel.
Linux version 2.6.27-rc5-00283-g70bb089 (kyle@shortfin) (gcc version 4.3.1 (GCC) ) #2 SMP Sat Sep 6 19:45:05 PDT 2008
FP[0] enabled: Rev 1 Model 20
The 64-bit Kernel has started…
console [ttyB0] enabled
Initialized PDC Console for debugging.
Seeing the “FP[0] enabled” line immediately caused me to smack my head at the obviousness of the problem. We were attempting to do a division, which, because of how the kernel and libgcc are compiled, is attempting to use the fpu. However, this is faulting on the very first printk in the kernel, well before any of the architecture-specific initialization is done. A quick hack removing any printks before we initialized the fpu fixed the problem as well. But, dirty hacks are not appropriate for mainline. I thought long and hard about a nice way to fix this, but, really, open coding firmware calls in assembly didn’t strike my fancy. There is, however, another easy way to solve it. I ended up replacing the jump to start_kernel in head.S with my own function to turn on the fpu, and called start_kernel from there. Kind of ugly, but at least the fix is entirely contained to arch/parisc, instead of leaking all over the tree. The patch is available, but I’ve been too busy to push it this last release-cycle (and, didn’t really want to tempt fate at pushing a not-quite-actually-serious-fix outside of -rc1 time.) This has been another post brought to you by the maintainer of an inconsequential architecture. We do hope you enjoy it. 1. This ended up being due to either 1) the fpu being enabled by firmware on the PA8800, or 2) the fact that I was doing warm resets instead of cold starts.

6 September 2008

Ben Hutchings: chmod -x considered harmful

I discovered an interesting "feature" of chmod(1), which caused a package build to fail. According to the GNU manual page, if no letters are used before a "-" or "+", "the effect is as if a were given, but bits that are set in the umask are not affected." The command will also fail with an error message when it does this! The Single Unix Specification says this is correct, though there is some ambiguity over whether the exit status should be 0 or not. Anyway, the result is that it is generally a bad idea to call chmod in this way in a script. Always specify who the permission changes should apply to.

Wouter Verhelst: Bughunting is fun

Two reasons:
  1. 'foo FTBFS on m68k' is not RC. 'foo FTBFS on m68k because it segfaults during the build since it does bar and baz, which just happens to result in a segfault on m68k at startup but might randomly result in a segfault on every architecture, really' in most cases is.
  2. It, well, is just fun to debug someone else's code. On m68k, it's easy to do that, too, if you know a bit of assembly language.
Today's (and last week's) bug: #497262. Xemacs21 segfaults at startup on m68k (and FTBFSes because of that), which is RC for m68k. Reason: confusion between a pointer and its value. In other words: the sanity check might succeed, or it might not, depending on your luck. In fact, the first time the code flows through this buggy path, it does not bomb. Once we do get through this bit, it's also very likely that regular error handling will catch it—the only reason why xemacs segfaults here is because we're still in initialization, and the error object in the lisp stuff hasn't been initialized yet, so we get a nice null pointer dereference... That alone isn't enough to make it RC everywhere, but it's good enough to make it important and fixable for the maintainer. Like I said, fun. Sorry for those of you who want to release Lenny ASAP, but I think I'll be making your life a bit harder :-> Next week's bug: a similar issue in emacs, or the build failure of ghc6 on m68k, depending on time and complexity.

5 September 2008

Christian Perrier: D-I string freeze status

After more than one week of string freeze for Debian Installer, here's the status (I post it daily on debian-boot and debian-i18n mailing lists). 15 days are left before the end of the string freeze 34 Languages meet the release criteria: Arabic, Belarusian, Bulgarian, Czech, German, Dzongkha, Basque, Finnish, French, Galician, Gujarati, Hindi, Croatian, Italian, Japanese, Korean, Lithuanian, Malayalam, Marathi, Norwegian Bokm l, Dutch, Polish, Portuguese, Punjabi, Brazilian Portuguese, Romanian, Russian, Slovak, Swedish, Tamil, Thai, Turkish, Traditional Chinese 27 currently activated Languages *fail* and risk to be disabled et the end of the freeze: Amharic, Bengali, Bosnian, Catalan, Danish, Greek, Esperanto, Spanish, Estonian, Hebrew, Hungarian, Indonesian, Georgian, Khmer, Kurdish, Latvian, Macedonian, Nepali, Norwegian Nynorsk, Northern Sami, Slovenian, Albanian, Tagalog, Ukrainian, Wolof, Simplified Chinese 14 more languages are under work but will probably not make it: Afrikaans, Welsh, Persian, Irish, Armenian, Icelandic, Kazakh, Kannada, Malagasy, Malay, Serbian, Telugu, Urdu, Xhosa In short, this summarizes to "hurry if you don't want your language disappear from D-I"...:-)

Jeff Licquia: Election Time: Republicans Win

It’s silly season again in America: a Presidential election year. If you don’t know that, you must really be living under a rock. As I did four years ago, I’ll post my thoughts about how I vote online for all the elections I can participate in: national, Congressional, Indiana-wide, and local. That way, you can do more than curse the ignorant Americans for their choices; you can possibly influence at least one. Local races look to be more boring than usual this year, because neither of Indiana’s Senators is running this year. Fishers trends strongly Republican, too, which makes a lot of the other local races uncompetitive. But that’s not why I said the Republicans win. I figured I’d be able to watch the speeches from the conventions at my own convenience online, so just now I tried both sites. Here’s what the Democratic convention site told me:
We re sorry, but the Democratic Convention video web site isn t compatible with your operating system and/or browser. Please try again on a computer with the following:
Compatible operating systems:
Windows XP SP2, Windows Vista, or a Mac with Tiger (OS 10.4) or Leopard (OS 10.5).
Compatible browsers:
Internet Explorer (version 6 or later), Firefox (version 2), or, if you are on a Mac, Safari (version 3.1) also works.
That’s because the Democrats chose Microsoft as their official technology provider, and Microsoft chose to deliver all video using their Silverlight technology, which doesn’t work on Linux (yet). And what are the Republicans using? Good ol’ YouTube. Yes, I’ll probably be able to find the important Democrat speeches on YouTube. But how easy will that be? And how many of the obscure Democrat speeches will I be drawn into watching just out of curiosity? I’ve already listened to portions of Fred Thompson’s and Joe Lieberman’s speeches–because it was so easy. Advantage: Republicans.

Raphael Geissert: Google Reader sucks at parsing Atom feeds

Since some time ago I was pointed out by somebody that my feed's urls provided by planet.d.o were giving 404's.
Today I was again notified about that issue and finally decided to investigate what was going one.

This time it was Lisandro P rez Meyer (those who attended DC8 might remember him) who notified me, so first thing I asked was the link he was using to open my blog post, and to my surprise it was:
http://my.op era.com/atomo64/blog/2537614

Which of course throws a 404 as it is not a valid link. Next question was where he was obtaining that link from, and it was then when I found the culprint: Google Reader

A quick execution of curl and grep demonstrates how dumb Google Reader is:

$ curl -s http://my.opera.com/atomo64/xml/atom/blog/ grep 'http://my.opera.com/atomo64/blog/2537614'
<id>http://my.opera.com/atomo64/blog/2537614</id>

Anyone familiar with the Atom 1.0 specs will quickly notice how wrong Google Reader is by assuming that the id is an URL. The specs (text html) state:

The "atom:id" element conveys a permanent, universally unique identifier for an entry or feed.
...
Its content MUST be an IRI, as defined by [RFC3987]. Note that the definition of "IRI" excludes relative references. Though the IRI might use a dereferencable scheme, Atom Processors MUST NOT assume it can be dereferenced.


Note that it refers to just an identifier (an IRI, actually), not to a URL.

It leaves me one question: why does it do that?!
I mean, the specs define the atom:link element as a "a reference from an entry or feed to a Web resource", what makes Google Reader believe that an identifier is better than a reference to a Web resource? :rolleyes:

Steve Kemp: I don't have no other pants!

OK so I've knocked up a simple blacklist: The source code behind it all is open. Currently it is setup to import IPs which denyhosts has downloaded every hour, and it will also receive updates from several systems under my direct control. If you wish to begin submitting your own reports you may get in touch, or read the documentation in the source repository. I'll document that on the site itself publically in a couple of days. So far I see several people have rsync'd my zonefile a few times. I guess the domain name was a bit predictable. ObFilm: The Great Muppet Caper

Gunnar Wolf: Awesome!

For about eight years, I was a very happy WindowMaker user. It was very lightweight, aesthetically pleasing, and I had interiorized its behaviour and keybindings so much, I didn't feel I'd ever switch away. I periodically tried (forced myself even!) to use any of the other, more en vogue environments... Experimented using Gnome for a week, KDE for a week, XFCE for a week (so I would have enough time to learn their ways)... And always came back to my good, well-known wmaker.
In 2006, when we held DebConf6 in Mexico, I saw how other people worked with ion3. I fell immediately in love with it. Not because it is prettier, snappier or has nicer widgets than other window managers - but because it is enormously more usable. Quoting Tuomo Valkonen, the ion3 author,
Ion is not perfect and certainly not for everyone, but neither is any user interface. Usability is subjective.
Using a keyboard-oriented, tiling window manager represented -for the first time in 20 years (I had my first contact with a Macintosh in 1986)- a radical user interface change. For my way of working, I just don't need a desktop, I don't need having a background space or overlapping windows. What I need is a way to functionally organize the windows I have open at any given time, quickly switch between them (and not depending on the mouse, please!), maximizing screen space and all that. ion3 was godsent.
Now, in 2007 there was (yet another) huge flamefest. Valkonen basically does not want distributors distributing any version of ion3 that's not the latest, and introducing changes not approved by him - He basically demands ion to be non-free. So, it was moved to the non-free section of Debian where only Womble decided to keep giving it support. And, of course, by September 2007 Julien Danjou announced he had written another window manager: Awesome.
My main motivation for switching away from ion3 is that... I don't want to use non-free software. But I was very comfortable with ion3. It was only after I saw many other people using Awesome at DebConf8 I decided to bite the bullet and switch. It looked at least as comfortable as ion3.
But... Well, I cannot come up with better phrasing than what Joey said when he switched to Awesome, almost exactly a month ago. When changing between the mainstream window managers, the differences are mostly cosmetic. But with these really different window managers... I cannot but reproduce Joey's words:
I wish I had a good analogy to explain to my nontechnical readers what changing to a new window manager is about.
One way to think about it is that it's like driving a car down the road, and suddenly swapping the steering wheel and brakes out for a tiller and gear shifter. And having to downshift for braking until you learn that the brakes moved to the turn indicator lever. By trial and error.
But that's really only part of it. Another way to look at it is adopting a new philosophy. Or, in some cases a cult. (In some cases, with crazy cult leaders.) Whether they use Windows or a Mac, or Linux, most computer users are members of a big established religion, with some implicit assumptions, like "thy windows shall be overlapping, like papers on the desktop, and thou shalt move them with thy mouse".
So, changing to a new window manager is a process of being dumped into a different environment, where nothing works like you've come to expect, and trying to construct a mental model that you can use to make sense of it. But it's also a process of modifying that environment to behave the way you like.
And when done whole-heartedly, this doesn't just mean trying to make it like the environment you were used to before. It means trying to absorb the underlying philosopy of the window manager, and think up new ways of doing things, inspired by that philosopy, and modify the environment to allow doing those things.
So ideally, "I switched to a new window manager" doesn't mean "my screen has some different widgets on it now". It means "I'm looking at the screen with new eyes."
So, what's so different?
Besides learning some new keybindings (expected, of course), Awesome has several suggested layouts to help you organize your workflow, usually (although not always) consisting of a main area and a side area, tiled side by side (or one above the other, or several stranger ways). This sounds rigid, but it is incredibly comfortable - and I've only been an Awesome user for three days!
But what sets Awesome apart from basically anything else is the concept of tags. Whey you see an Awesome session, you recognize something similar to the very well known workspaces concept we have had in any Unix-like environment for many years, right? Well, but they are not workspaces. They are tags. What is the difference?
When I work with workspace, each of my windows can be in a different workspace. So in one, I'll have my mail-related stuff. In another one, I might be browsing. In another one, I have my development things, and I might be following some logfiles in yet another one.
Awesome allows you to use tags for categorization in much a more flexible way.
For example: I am mostly a web-oriented developer. I usually need four things when developing a system: A browser, Emacs, the log for my development server, and a console where I can peek and poke at my objects and interactions. Of course, cramming them all into the same screen makes no sense - It would be better to follow the good ol' desktop metaphore, and just switch the focus and raise the window, right?
In Awesome, I can have them all set to the maximum screen size - _and_ use the most common combinations as well. Each of the windows can be tagged to more than one workspace (and yes, this is immensely more flexible than the always visible hint on traditional WMs).
To begin with, I'll give each major process a tag to itself, to work full-screen. Emacs is on tag 1, my browser on tag 2. The log and the console share a terminal (i.e. via screen or terminator).
This console by itself is not too useful, so I'll set it to tag 4, and we will go back to it later.
So if I'm building a view or following online documentation, I will add tag 3 to both Emacs and the browser.
I'm also setting tag 4 to the browser - That allows me to use it next to my terminal, following the results of my website-clicking.
And, of course, tag 5 will be set to Emacs and to the console, so I can quickly check any quick API-related question that does not need the documentation or look at a newly written method.
By the way, have you noticed CapsLock is the most stupid key invented, ever? Ok, I gave a good use to it: It's called Mod4. Imagine it is just an extra Ctrl, Alt or Meta key.
So, Mod4-1 gives me Emacs. Mod4-2 gives me the browser. Mod4-3 gives Emacs+browser, Mod4-4 gives browser+console, and Mod4-5 gives Emacs+console. And, of course, the handy Mod4-0 gives me all of my open windows tiled side by side.
Even this is a pattern of being a newbie, I know - I could keep 4 and 5 free, and just tag several simultaneous tags to be active. How? Switch to tag 1 exclusively (Mod4-1), and activate tag2 as well (Ctrl-Mod4-2). There, I have Emacs and browser side by side. Want to get the console instead of the browser? Simple. Ctrl-Mod4-2 (toggle off tag 2), Ctrl-Mod4-3 (toggle on tag 3).
Anyway - As you can see, I am excited at finding a very new and nice tool to help me work better. Today I was playing a bit with the Awesome widgets, but that's something to be talked about later.
In Debian, we are at a crossing point: Awesome is just reaching ion3's popularity. And I'm adding my two main machines' votes to Awesome.
This is Awesome. Quoting (yes, one last quote) the official Awesome site, This gonna be LEGEN... wait for it... DARY!.

Joachim Breitner: vm.overcommit_memory = 2, vm.overcommit_ratio = 0

Do you know this experience: A program, in my case subversion, has a bug and starts to eat memory. You can not interact with your system any more, only watch the memory and swap run full (if you have a display for that). Then it takes a while, while the kernel kills the (hopefully right) program. Things start to move again, until they are fully recovered from the swap and you can continue your work. Or the kernel does somehow not kill the right program, and you are screwed.During regular work, though, your swap is hardy ever needed. Only after a while, a few megabytes of never-used RAM is swapped out, to make space for using the RAM as a file cache.I d like to see the kernel not give out more memory to processes than there is physical memory, because that s plenty for normal work, and if there is more requested, then that s most likely wrong. But I still want the kernel to use the rest of the memory for caching files, and also move some unused RAM pages to the swap file.Unfortunately, there does not seem to be a settings that achieves this directly. But if you happen to have the swap about the same size as your RAM, then these settings, when written to /etc/sysctl.d/vm.conf, will do the job:
vm.overcommit_memory = 2
vm.overcommit_ratio = 0
The first one is to make sure the kernel does not hand out more memory than you tell it to, and the second is to make sure that it only hands out (swap size + 0 * RAM size) to processes.Beware that things go wrong if you happen to have no swap any more for some reason, beause then the kernel will hand out zero memory! Therefore, you need to make sure that these settings are applied after swap was enabled. On a Debian machine, rename /etc/rcS.d/S30procps to /etc/rcS.d/S37procps. This would not be possible if you could also specify the ration of swap memory to be used. Then I could set that to zero and the RAM ratio to 100.If anyone knows better ways to achieve this, I m interested to hear them.Update: For my qemu based armel package builder, this is not enough it seems. I m now running it with overcommit_ratio = 50.

Next.

Previous.