Search Results: "will"

10 April 2006

Enrico Zini: What package is eating up my disk space?

My 5Gb /usr partition is full. What do I have installed that's eating up all the space? Let's see:
#!/usr/bin/ruby
# pkgsizestat - Display the installed size of packages in a filesystem
#
# Copyright (C) 2006  Enrico Zini <enrico@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
# Display the installed size of packages in the given filesystem
# Defaults to /usr if non specified
#
# Usually used as "./pkgsizestat /usr   sort -nr   less" to see what packages
# are filling up your /usr partition
dev = File.stat(ARGV[0]   "/usr").dev
def pkgsize(name, dev)
      size = 0
      IO.foreach(name)    line 
              begin
                      st = File.stat(line.chomp)
                      if (st.file? && st.dev == dev)
                              size += st.size
                      end
              rescue
              end
       
      return size
end
Dir.glob("/var/lib/dpkg/info/*.list").each    file 
      puts "%d %s" % [pkgsize(file, dev), file.gsub(/.+?\/([^\/]+)\.list/, '\1')]
 
Neat little useful ruby script. Ruby is nice in making scripts short clean and compact. Now I need a shorter version of the GPL :) Update: Florian Ragwitz suggests to use dpigs(1) from debian-goodies instead. What my script does that dpigs doesn't do, however, is counting only those files provided by the packages that reside in the given partition. I could for example use my script to see what's filling up the root ('/') partition when /usr is mounted elsewhere, and I find out that the top package is not openclipart-svg, but linux-image-2.6.15-1-686. Update: htom sent an updated version to sum all sizes and show only up to a certain size:
dev = File.stat(ARGV[0]   "/usr").dev
def pkgsize(name, dev)
      size = 0
      IO.foreach(name)    line 
              begin
                      st = File.stat(line.chomp)
                      if (st.file? && st.dev == dev)
                              size += st.size
                      end
              rescue
              end
       
      return size
end
pkgs =  
Dir.glob("/var/lib/dpkg/info/*.list").each    file 
  pkgs[pkgsize(file, dev)] = file.gsub(/.+?\/([^\/]+)\.list/, '\1')
 
pkgs = pkgs.sort
pkgs.reverse!
to_size = 1024**3 # show up to 1 GB
size = 0
pkgs.each do  a 
  size += a[0]
  puts "%d %d %s" % [a[0], size, a[1]]
  break if size >= to_size
end
Ralph Amissah posted a different variant:
# [License part omitted]
dev=File.stat(ARGV[0]   "/usr").dev
def pkgsize(name, dev)
  size=0
  IO.foreach(name) do  line 
    begin
      st=File.stat(line.chomp)
      if (st.file? && st.dev == dev)
        size += st.size
      end
    rescue
    end
  end
  return size
end
def space(file,dev)
  "%d %s" % [pkgsize(file,dev),file.gsub(/.+?\/([^\/]+)\.list/,'\1')]
end
@used=Array.new
Dir.glob("/var/lib/dpkg/info/*.list").sort.each do  file 
  x=Array.new
  x << space(file,dev).split(/\s+/)
  p [x[0][0].to_i,x[0][1]]
  @used << [x[0][0].to_i,x[0][1]]
end
#p @used.sort.each    x  p x  
@used.sort.each    x  puts "# x[0]  # x[1] "  
#redirect to file?
Thank you everyone for the nice feedback!

John Goerzen: Taxes

Seen this morning on the Wordsmith list by Anu Garg:

In late seventeenth century, William III of UK imposed a window tax, levied on each window in a house.

Three hundred years later, William III of US imposed a Windows tax, levied on each personal computer manufactured, whether it had Windows or not.

Simon Richter: Good I got a calendar

The next two months are going to be quite stressful, but hopefully also enjoyable. The kick-off is the Debian Embedded work session in Extremadura over the Easter weekend (my demoscene friends will hopefully forgive me skipping this year's Breakpoint), shortly thereafter followed by moving my stuff to a new flat (which allows some differentiation between sleeping and living room, whee!), then there is LinuxTag, which I'm not entirely sure I will fit into my schedule, then DebConf, shortly thereafter followed by the Wave-Gothic-Meeting and what happens then I have no idea yet. Probably madness.

9 April 2006

Joachim Breitner: Wanted: Code Deleter

The recent removal of the “wpasupplicant as a roaming daemon” mode caused a lot of bug reports from people like me who need a complex wireless setup, i.e. several different networks defined in /etc/network/interfaces and a daemon that automatically brings the interface up and down upon availability of one of these networks, and guessnet to decide which network from /e/n/i to use. This setup worked very nice with wpasupplicant+ifplugd+guessnet, but now it does not any more.In the following discussion on pkg-wpa-devel mailing list, I argued in favor of reducing wpasupplicant to do just that: Providing WPA support. Analogous to the wired roaming support (please read my post for a in depth justification), and to continue to have one /e/n/i entry per location (and not device), we then need to create a separate daemon, e.g. “wifiroamd”, that will do this:The functionality is all there already, in wpasupplicant, tested and proven good. What needs to be done is to remove all non-roaming-code and create this wifiroamd. So if anyone is looking for a nice project, or likes to delete code, or for any other reason interested, please step forward and help us out here.BTW, in all these consideration, I think of /e/n/i as “network” definition, not device or interface definitions. If that’s a very uncommon PoV, I invite you to discuss that, either here, or my mail, or on the pkg-wpa-devel list.

Jose Carlos Garcia Sogo: iLBC GIPS license: non DFSG compatible.

After looking a bit for which was the actual license for iLBC, a speech codec used by lots of VoIP products, it seems completely non-DFSG compatible to me. Though they claim in the main site that it is FREE, and they provide source code, with a not very restricted license, it has some issues that makes it clearly non-DFSG compatible. Fisrt, the license itself is not stated anywhere but their main web site. But after some look you can find that software is subject to the GIPS Royalty Free License, which has been yet commented in debian-legal mailing list. It is really a pity that people or organizations wanting to give away some product does fail on their goal because of some glitches in their own made licenses. But for now, we will start reviewing all projects maintained by Debian VoIP Team and all iLBC code will be removed from upstream sources that include it.

Wouter Verhelst: Crypto law, take two

Serge,

8 April 2006

Julien Danjou: Time Management for System Administrators

I just found this book. Amazingly enough, if you read this book, your entire life will be transformed instantly and all of your problems will be fixed. You'll be better looking, too! I should read it...

Lars Wirzenius: Random thought: Simplicity in web browsers

I like simplicity. I want things to be as simple as is sensible, but no more, and because of this, I tend not to particularly like web browsers. Web browsers are extremely complicated beasts, and to a large degree this is for stupid reasons, like having to support any kind of broken markup. I think the world would be better if web browsers would simply not display pages with broken markup. However, web browsers also have other things that irritate me, even if ever so slightly. For example, there's way too many buttons and other elements in their tool bars. Compare the following four screenshots of Mozilla, Firefox, and Epiphany, with their default configurations in Debian, with the version of Epiphany that I have configured myself.
Mozilla screenshot Mozilla: six real buttons, URL box, throbber, four bookmark buttons, plus widgets for rearranging or otherwise manipulating the toolbars themselves.
Firefox screenshot Firefox: six real buttons, URL box, Google search box, throbber, two bookmark buttons.
Epiphany screenshot Epiphany: nine buttons, throbber, and URL box on a separate line.
Epihany   la liw screenshot Epiphany la liw: four buttons, URL box, throbber.
Now, I admit that I'm a bit of a power user, and don't need quite as much hand-holding as a novice, but still, does anyone need a bookmarks button in the toolbar? People who make bookmarks often will quickly learn to type control-D, and those who do it only rarely don't need a toolbar button, they're happy enough with a menu entry. And why do Firefox and Mozilla need a button called "Latest Builds"? How is that interesting to anyone except Mozilla developers? Me, I prefer my setup. Four buttons plus the URL box. All buttons are easy to hit with the mouse, no need to hunt and seek the right location. Besides simplicity, my configuration saves on vertical space, which is pretty important for us laptop users.

Erich Schubert: Alexa.com wildy inaccurate

I just checked out alexa.com, and was very surprised to see graphs for my blogs domain. (Note: the other stuff in the same domain has even less visitors; alexa says 75% are on the blog) Alexa graph for blog.drinsama.de Apparently, one day beginning of april, drinsama.de made it into the top 100.000 domains at alexa again (happened in january and february, too). This very likely was my blog posting on running MSIE on Linux (whyever you might want to do that...). But their numbers are just absurdly off. They claim my blog has a reach of 20 Mio users. My ModLogAn, which uses the actual access logs, lists a peak of 358 visitors on April 4 (average is around 300 for March, 220 average in April so far). This doesn't include readers on Planet Debian, which is probably the largest share. At alexa, the domain peaked at .6 million pageviews - ModLogAn says 10k. I have, however, lots of referrals from Digg.com, Reddit.com and del.icio.us this month, since they've picked up my MSIE posting. Maybe this will happen again with the Cross-platform virus posting. I do think it has to do with users using the alexa toolbar and similar things (there is a nice firefox extension for showing Google Pagerank and Alexa traffic rating). My personal homepage, which is totall overrated in Google and has had an average of 1000 unique daily visitors in December and January, never made it that highly into alexa. While having three times as many visitors, alexa thinks it's 3-4 times worse. The difference is probably the power users. My personal page doesn't have "power visitors" like my blog.

Erich Schubert: Apple's backstab on Windows

Apples latest move - BootCamp - can turn out quiet bad for Microsoft. By allowing users to install Windows XP additionally to OSX on it's newer machines, many people will buy a Mac (because of it's design, and the ability to try out OSX while still having Windows available). They'll install Windows. But one time or another, Windows will fail them, and they boot up their OSX. And eventually notice that it's better, prettier, easier to use. And they'll see the price of buying Windows licenses. If Microsoft doesn't manage to launch Vista before christmas, and offer something relevant for the users with Vista (a prettier UI and a malware detector isn't enough, and noone believes Microsofts security promises anymore), they'll lose quite a bit of the christmas sales. I wonder when Dell and Samsung will start selling PCs with OSX, too, now that it's no longer an either-or decision.

Jose Carlos Garcia Sogo: Autostart applications in GNOME 2.14

Dear Lazyweb, Gnome 2.14 can autostart applications by putting a .desktop file in /etc/xdg/autostart directory. I have been asked to do that for Beagle packages, but I have a question to make: how can a user to disable autostart of Beagle if he desires to do so? If he have to edit /etc he won't have rights, if he cannot do it, I won't make such requested change. Update 2006-04-09: Thanks to Yann Rouillard, Travis Watkins and Sam Morris for their comments on how autostart actually works, and pointing me to Freedesktop.org autostart specs. I will make some tests on how this works in Gnome, with gnome-session, and then I will probably include this in beagle package.

Erich Schubert: Proof of concept virus for Linux and Windows

Many IT news websites have been reporting that there is a new proof-of-concept "cross-platform" virus for both Windows and Linux. This is largely overrated. There are a couple of reasons why this type of virus poses no threat to Linux users: So overall, this threat is very theoretic. However, the Linux community should consider defense mechanisms for this. Debian can already verify the integrity of most of its files via md5sums, but some tools (e.g. prelink, to improve application start times) will modify the applications and thus the md5sums. A couple of measures we could/should probably do: These measures could make it even less attractive to write attacks against Linux software. I can't assess the potential security issues we might "inherit" from the Windows platform by offering the Mono C# implementation. This basically means that some of the to-come malware for Windows will run on Linux, too. Only if users try to run their Windows shareware, of course. [Update: another win32+linux virus, from 2001. Noone cared, nothing happened.]

Martin F. Krafft: Restless travellers

We've been busy travelling, never spending more than a night in the same place. Leaving Bangkok on the "3rd class" train for Ayuthaya was an experience of its own kind. The platform was full with people waiting for the train to arrive, and when it did, we witnessed something totally unexpected for the Thai: they almost quarelled to get into the train first to catch a seat. Fortunately we got lucky in the otherwise crowded wagons. We stopped frequenly, and a glance out of the window would give you a peek into the lowest end of Thai civilisation: barracks built along the tracks with large numbers of people vegetating along. Inside the train it was hot and sticky, and we were surely happy to disembark in Ayuthaya about an hour later than planned. Ayuthaya was the Siamese royal capital between the 14th and the 18th century (the name derives from Sanskrit and means "undefeatable") and a bunch of temples and ruins, most with strong Khmer influence, survived the various Burmese attacks until today, making the city a nice attraction for those who like "stone piles" (as I've heard them described). We had made arrangements from Bangkok with the Baan Lotus Guesthouse, run by a lovely lady who spoke good English. Apart from the broken light in our room, the setting, the friendliness of our host, and the cleanliness of the rooms were definitely worth the price. After visiting Wat Phra Mahathat, the temple home to a Bhudda's head embedded in twisted roots, we had a guide escort us to a remote Elephant camp to witness the preparations for the upcoming New Year celebration (Songkran) in a week from now -- we are definitely looking forward to that. Later that night, we met some locals at a bar for chatting and went to bed late, thanks to our host handing over the keys and making an exception to the 11pm curfew. We got up to meet the guide from the night before, who took us around three temples before dropping us off at the boat stop for a short cruise around the island (Ayuthaya is encircled by a river). Our train to Khorat (Nakhon Ratchasima) was scheduled for 12:23, and so we had to forgo most of the temples due to time constraints; Ayuthaya is close enough to Bangkok to come back here again during a future trip. Reaching the station with ample time, we found the (express) train to be full, but did not feel like waiting for the slower train an hour later, so we talked the station ward into getting us on anyway. Interestingly, I think he would have tried his best even if I had not slipped him 100 Baht (2 EUR) under the table. We got on, and even had two seats in an air-conditioned wagon, so the trip was quite relaxing -- to the point that we almost missed our stop. Shortly before reaching Khorat, we rode through a thunderstorm, and there was a light drizzle as we stepped out of the station. The distance from Bangkok showed, the Tuk Tuk drivers (Tuk Tuks are the infamous three-wheeled taxis you find all over Southeast Asia) didn't hassle us, it was in fact not at all easy to find one, and when we did, he did not know where the Tokyo Hotel, our chosen home for the night, was located. With a map in hand, we thus simply started walking, but had to run for shelter at an ice factory when the rain picked up and sent cats and dogs onto the streets that really aren't made to take that much liquid. Eventually, a Tuk Tuk picked us up and got us to the hotel safely, and an hour later, the rain stopped. We did not miss a beat to get outside and ended up at "The Mall", a magnificent American-style "shopping paradise" (as Aline would call it) which clearly showed that shopping is one of the top passtimes for Thais. We ended the evening at Khorat Texas, a very nice bar in the centre of the town, with decent food and live music. As I was rolling a cigarette, a local from the next table curiously came over, and shortly thereafter, the two of us joined the three of them at their table for some cultural exchange in broken English. We picked up quite a few handy Thai expressions but also came to the conclusion that the Thai don't really know how to say things themselves and would often disagree with each other over the endings of words. But as the beer kept flowing, we seemingly got better at Thai intonation, although the language is definitely very hard for Europeans. I could not help but notice though that it seems to be better suited for cell phone conversations in noisy places while one of the three men we met kept chatting away to his wife for an hour while the band was playing in the background. This morning, we weren't motivated to get up before 11, checked out, made travel arrangements for our next destination -- Phimai -- dropped off some laundry, and then headed for the national museum, which we only found through the technique of circling and spiralling inwards. Not much to see otherwise here. The Lonely Planet guide says this city is unexciting, but it grows on you if you spend longer periods of time. Sure, like most cities, I say. As it stands, we have reason enough to abandon the place and spend tonight in Phimai, close to the famous and beautifully restored Khmer temples of the area, so that we can hopefully spend as much time as possible in the temple area before the heat gets unbearable. Nevertheless, speaking of heat, yesterday's rain shower cooled the air by 5 or 10 degrees, and it's very bearable right now. I have to point this out because in general, the month of April is not a month during which to travel Northern Thailand due to the temperatures approaching 40 degrees during the day. I know for sure that next time, I will be looking into clothing made out of fabric better suited to handle large amounts of sweat than cotton. We hope to leave Phimai on a bus to Udon Thani. I expect that shall be the next time I get to write. Thanks for reading along.

Robert Collins: 8 Apr 2006

Yay for siproxd. Working multi-user sip is a beautiful thing. Key notes: You need to configure siproxd, allow siproxd to use some ports on the firewall, and configured your sip client. after installing the package, edit /etc/siproxd.conf and set if_inbound=INTERFACENAME if_outbound=INTERFACENAME hosts_allow_reg=your internal network/netmask do not set hosts_allow_sip - I found it interacted strangely and got 408 'timeouts' - which is how siproxd shows 'access denied' to the client. edit /etc/default/siproxd and set it to enabled. do a sudo invoke-rc.d siproxd start Now, in your iptables rules you need to allow the following ports for 'INBOUND' on your inside and outside interfaces: 5060 (sip) 7070-7079 (rtp - the voice and video data) Activate those rules, and you are done on the infrastructure, now its just each client that you need to configure. So fire up your sip client. It should have a sip proxy field - in there put 'sip:' + your gateway address/ip. if you have STUN configured - disable it. The sip proxy will forward registration and all traffic for you, STUN will at best confuse the issue. And bingo, you should have working sip.

7 April 2006

Axel Beckert: Last day at work

As some of my friends already know, I’ve quit my current job and will start working at the Department of Physics of the ETH Zurich in May. Today is my last day at work here and I feel a little bit sentimental. Most co-workers became friends during the last four and a half years and I’ll move away from a bunch of friends at Darmstadt and from some friends in Mainz and Frankfurt/M. And I’ll leave the Rhine-Main area just shortly before LinuxTag moves in. Fsck. But it had to be. Although I like creating dynamic web pages with Embperl and Apache, I became sick of working with SuSE Linux, sick of developing with OpenLDAP, sick of developing web applications which must (also) run with Apache under Windows or with MS Access. Since I understand that for the success of my current employer the use of these products can’t be changed that easily, the only solution for me was to quit the job. My new job at the ETH Zurich will be administrating mostly Unix systems at the Department of Physics as well as some Unix user training. I won’t get rid of Windows and OpenLDAP there though, but I won’t have to develop software with them. What I’ll get rid of is SuSE: I will have my beloved Debian around me (which I can use here only for building Debian packages for customers) and some FreeBSD (no change here ;-), too. So I really look forward to my new job. Therefore I’ll move to Zurich soon. And since I have down there a lot of friends, too — not only through Symlink and the Linux User Group Switzerland but also people from the 2CV scene — it’s not so hard to the leave the current environment and jump into a new one. Another advantage of moving more southwards is that I’ll be closer again to the rest of the Beckert family, at least the part I’m related to. (The biggest number of Beckerts seem to live near Chemnitz according to Geogen, so perhaps I should pay attention to this when visiting the Chemnitzer Linux-Tage the next time.) But I’ll come back and visit the Rhine-Main area probably quite often, not only for LinuxTag. P.S.: It maybe that further blog postings about my move to Zurich only appear in the German written part of my blog and therefore not on Planet Debian (but Planet Symlink).

Wouter Verhelst: DFSG vs GFDL

One of the things that has kept Debian in heated discussion over the last few years is the question whether the GFDL, or the GNU Free Documentation License, is free according to Debian's own DFSG. We've had three votes on the subject, with the final one decisively saying it's conditionally free. Or so I thought. Yesterday, Josselin Mouette proposed another GR on the subject, since he believes there's a conflict between GR 2006 001 and the current text of the DFSG. Sigh. At least he isn't trying to reverse the effect GR 2006 001. But still; no, the GR does not conflict the text of the DFSG. I used to think otherwise, but got swayed by the discussions on -vote that occurred prior to GR 2006 001, especially (strangely) the one that happened as a result of Anton Zinoviev's amendment, which ended up as choice #3 on the ballot. At the the time, I was supportive of the original proposal to throw out all GFDL-licensed documents, even though I disliked doing so (for obvious reasons); but I felt that the arguments about the DRM clause did hold. This was wrong, and it took me an insult to see it. Quoting Anton, myself, and Craig Sanders:
This clause disallows the distribution or storage of copies on DRM-protected media only if a result of that action will be that the reading or further copying of the copies is obstructed or controlled. It is not supposed to refer [to] the use of encryption or file access control on your own copy.
No; however, as written it can be interpreted as such.
only by nutcases with an agenda. normal people (including lawyers and judges) wouldn't have such an insane and insupportable interpretation. that's because normal people rely on facts. and evidence. they don't just make up whatever crap they need to suit their argument.
Craig's way of saying things did not immediately have the intended effect; and had I not grown tired of the discussion, I probably would've missed it. But the fact that I stopped following the discussion gave me some time to think about it, and as such, Craig's argument had a chance to sink in. When I was finally swayed, I failed to attribute it to Craig, however, instead thinking it was an argument by Anton that did it. The point is this: the mere fact that you're able to construct an interpretation of a license which is logically sound and complies with everything, does not mean that it is a sane interpretation. Lawyers and judges, strange people though they might be according to some jokes, are still people; human beings. If you come up with an interpretation that nobody in court came up with on the first reading of a given text, then chances are rather high nobody will follow you. That's what really matters: whether something you claim will hold in court. Not whether something you claim holds up to your own argumentation. And yes, claiming that doing chmod -r, or storing something on an encrypted filesystem is somehow restricting distribution, seems a little far-fetched. After all, when I'm storing something on my own hard disk, or even in the privacy of my home-directory on a large shared fileserver, I'm not engaging in a distribution of any kind.
From WordNet (r) 2.0 (August 2003) [wn]:
  distribution
      n 1: (statistics) an arrangement of values of a variable showing
           their observed or theoretical frequency of occurrence
           [syn:  statistical distribution ]
      2: the spatial property of being scattered about over an area
         or volume [syn:  dispersion ] [ant:  concentration ]
      3: the act of distributing or spreading or apportioning
      4: the commercial activity of transporting and selling goods
         from a producer to a consumer
Definition 3 and 4 seem to require an active action by the originating person; when someone copies a file from your $HOME, you didn't distribute the file to them; they took it from you. In our culture of sharing is good, you should share!, I missed it; but a court would probably see copying without asking for permission more as stealing, rather than distributing. After all that, the arguments about the DRM clause being too broad seemed a bit weak to me; and given that the FSF had already agreed on it being a bug which needed to be fixed, as they had for the other arguments against the GFDL (apart from the Invariant sections, which are not being discussed here), made me decide that the big giant insane problems with the GFDL are not so much of a problem as most people seem to claim.

Uwe Hermann: The Underhanded C Contest 2006

The Underhanded C Contest 2006 has started.
We hereby announce our second annual contest to write innocent-looking C code implementing malicious behavior. In many ways this is the exact opposite of the Obfuscated C Code Contest: in this contest you must write code that is as readable, clear, innocent and straightforward as possible, and yet it must fail to perform at its apparent function. To be more specific, it should do something subtly evil.
This year's challenge: ridiculous performance degradation
For this year's challenge, imagine you are an application developer for an OS vendor. You must write portable C code that will inexplicably taaaaaake a looooooong tiiiiime when compiled and run on a competitor's OS. The program is supposed to read a set of words on stdin, and print a frequency count of unique words in lexicographical order. Essentially the output should match the command line tr "[:space:]" "[\n*]" sort awk 'length($0)>0' uniq -c Try to write a simple C program that does this, but produces as wide a disparity as possible between its runtime on one platform and runtime on another (your "competitor.")
This sounds like a lot of fun ;-) I have participated last year and will most probably do so this year... Deadline: July 4th, 2006

6 April 2006

Jeff Bailey: Has the hula hoop fallen?

Last weekend I found myself looking for something to hack on that wasn't something I see during my work day. I took a look at <a href="http://www.hula-project.org/Hula_Project">Hula</a>. I've wanted something like this for use at home. It would be nice if <span class='ljuser' style='white-space: nowrap;'><a href='http://auzure-skies.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0;' /></a><a href='http://auzure-skies.livejournal.com/'><b>auzure_skies</b></a></span> and I could see one another's calendar, have our own Jabber server, and have easy access to our email through a local client or through webmail.<br /><br />There seem to be a steady stream of commits to Hula's SVN, but almost no discussion on the mailing list. I've sent in <a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-March/001012.html?id=1613&amp;prjname=hula&amp;mlname=dev">one patch</a> to the Makefile so that make dist would run (<a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-April/001014.html?id=1613&amp;prjname=hula&amp;mlname=dev">accepted</a>), and sent <a href="http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/hula-dev/2006-April/001013.html?id=1613&amp;prjname=hula&amp;mlname=dev">another</a> asking for design information (No answer yet). In general, the codebase seems crufted with a bunch of legacy NetWare concepts. It's written in at least four languages (C, C , C#, and Python) and doesn't seem to have a testsuite. The code also currently doesn't run on powerpc without segfaulting.<br /><br />Ah well. Anyone know if there's another project that has similar aims and goals? Basically some sort of server software that will handle almost all of what evolution can hand to it, plus some sort of extensible interface so that it's reasonably easy to add things like Jabber servers, RSS/Atom Aggregators, etc.

Enrico Zini: Converging to a solution

Sustain a discussion towards solving a problem is sometimes more important than solving the problem. I can't decide if this is trivial or counterintuitive. Anyway it's been quite enlightening when it came out. I once took this note:
I found that with my projects, when someone posted a mail about a problem I would work maybe some days to find a solution, and just post the solution at the end. However, now I realised it's more costructive to have the problem-solving process itself happen online. This way, instead of keeping people waiting in silence for a few days they can get quicker feedback and extra informations, and they also have a chance to participate to solving the problem before I manage to. For example, when I have to interrupt to go home or sleep, someone else can pick it up and do another step. Plus, the entire problem-solving process remains documented, which will provide more written information for future readers.
This note was from a few months ago; however, I still fail to do it. Bad habits are sometimes hard to change. Please kick me about it :)

Erich Schubert: Planarity

Planarity is indeed an addictive flash game. I just did level 13 in 19:30 minutes. What are your scores like? This game was also featured in that cool Multi-Touch touchscreen video you might have seen some month ago. There is however a rather generic approach that will lead you to a solution rather reliably. Don't just move around random vertices, instead pick one and move it into the center, now grow the solution from that center node. The higher the level, the less space you'll have, so keep it dense! Always look at all "new neighbours" first, where to place them best to avoid having to swap them later. But by just walking around clockwise around the "convex hull" of what you've built so far, you get a pretty good network. I guess you can even prove it that you'll be able to solve it in O(n) that way when done right. In level 13 I this worked quite good for me, except I ran out of space some time. I then picked a random outer node, moved it to the very upper left, and moved the "covex hull" to the borders of the screen. From time to time you'll see you've made a mistake, but this can usually be solved by mirroring some group in your network. Update: Level 14 in 18:13 Minutes. Looked like this: Planarity screenshot with a small problem at the top edge of screen due to lack of space there. Update: Level 15 in 14:01 Minutes. The schema works perfectly, you have to touch each node at most twice (once when discovering, and maybe switch place with a sibling when discovering the new neighbours). All changes are local, and you don't actually look at the lines, just at the colored nodes. Unless of course you run out of space and have to rearrange.

Next.

Previous.