Search Results: "spa"

15 June 2007

Paul van Tilburg: DebCamp Update

It is time for a DebCamp update, since I’ve been here three days now. I have mainly been working on picking up the slack regarding Debian/Ruby Extras. This meant: getting rid of a CDBS rule that substitutes the entire team in the Uploaders field, cleaning up some package, uploading some packages with new upstream, solving and filing bugs. During all this, the “picture” of the environment outside is actually only missing yellow/brown trees shedding their leaves. Ruby D-Bus 0.2.0 In between the Debian/Ruby Extras work I have been able to finish the documentation of our Ruby D-Bus protocol implementation. It is due for release this weekend and I think we’ll make it.

MJ Ray: Stupidity: Online Banking Authentication

I'm registered with three online banking systems. (Actually, I'm probably on more, but I only use three.) Two of them use similar authentication systems. The third one uses some similar details but adds a random alphanumeric user ID and a load of restrictions on passwords and so, I just locked myself out again which has annoyed me somewhat, as well as blocking my access to some of my money. First of all, adding restrictions to passwords is stupid. It makes them easier to guess by eliminating whole regions of the solution space. If I can send the damn thing to the webserver, that should be all that matters. It also makes me more likely to either store the crippled password or details of the crippling somewhere. And it makes me more likely to lose access, like I just did yet again. How many more of the Security Myths and Passwords do they need to follow? Just put the login in a GUI transmitted unencrypted and they'd have a full house, I think. Secondly, why the devil aren't our banks using things like certificates or multi-site identity services yet? Our national government moves with the efficiency of treacle in snow when it comes to web services, yet it has been using both in its government gateway for years. It's not perfect, but they're working. Meanwhile, we're still waiting for everyone to get on the list of banks that work with GNU/Linux and I've yet to find a PGP- or S/MIME-ready bank. Online banking authentication - stupid bad technology.

Russell Coker: Rackspace RHEL4 updates

A default RHEL4 install of a Rackspace (*) server contains a cron.d file named /etc/cron.d/rs_rhncheck that runs a job to check for Red Hat Network updates. In the default configuration this would send out a message every day indicating that up2date did nothing. To only get email when there is something interesting happening I changed the cron.d file to call the following script. The checksum is compared against the checksum of the output of up2date when it does nothing (I guess I could have tested the return code for diff). So when up2date either installs a package or decides not to install a new kernel package (or other important package) then I get an email. #/bin/sh
/usr/sbin/up2date --nox -u > ~/up2date.out
SUM=`md5sum ~/up2date.out cut -f1 -d\ `
if [ $SUM != "65c57b05b24bd8f656a0aec0d6db725a" ] ; then
  cat ~/up2date.out
fi (*) Rackspace support is really good. If I was paying I might look at other options but for my clients I am happy to recommend them without hesitation.

Bernd Zeimetz: debcamp hacklab

debcamp hacklab Although we ve moved into a different room a few minutes ago, here s a little pano from yesterday, thanks to tokkee s cam, hugin, autopano-sift and gimp :-D Update: Here s another hackish pano of one of the hacklabs we re using since today. The stitching is not perfect again, I ll probably fix this when I m home again - or not ;-)

Eddy Petrișor: libgnome-dev + libsvn-dev = problems

On Debian Etch systems it is impossible to install out of the box both libglade-gnome0-dev and libsvn-dev due to a conflict between depended upon libraries.

In order to install them side by side you will have to modify an existing libdb4.4-dev deb package to add "libdb3-dev" to the Provides: field of the package. You can do this by editing DEBIAN/control after running:

deb-reversion -k /bin/sh libdb4.4-dev_*.deb

When done, exit and install the newly created libdb4.4-dev package:

dpkg -i libdb4.4-dev*LOCAL*.deb


I managed to find this solution thanks to mrvn and other people on IRC. Thanks.

14 June 2007

Ingo Juergensmann: Gallery2 and Comment Spam BotNets

For about two weeks now it seems that a botnet is attacking one of my Gallery2 installations in order to either comment spam me or to solve the captchas:


121.132.186.55 - - [14/Jun/2007:09:09:27 +0200] "POST /main.php?g2_GALLERYSID=4cc6b5e4b7ce4a207957a07c081b6f65 HTTP/1.1" 200 12167 "http://gallery.foobar.net/main.php?g2_GALLERYSID=631acbacb15f2cfb83cdaf592721c082" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 0 gallery.foobar.net
121.132.186.55 - - [14/Jun/2007:09:09:30 +0200] "GET /main.php?g2_view=comment.AddComment&g2_itemId=7152&g2_return=main.php%3Fg2_itemId%3D7152%26&&g2_returnName=photo HTTP/1.1" 200 10349 "http://gallery.foobar.net/main.php?g2_view=comment.AddComment&g2_itemId=7152&g2_return=main.php%3Fg2_itemId%3D7152%26&&g2_returnName=photo" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 0 gallery.foobar.net
121.132.186.55 - - [14/Jun/2007:09:09:32 +0200] "POST /main.php?g2_GALLERYSID=b45c76223a933ba3bed6e09a9589a6cd HTTP/1.1" 200 12081 "http://gallery.foobar.net/main.php?g2_view=comment.AddComment&g2_itemId=7152&g2_return=main.php%3Fg2_itemId%3D7152%26&&g2_returnName=photo" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 0 gallery.foobar.net


Sadly Gallery2 seems to not offer the configuration option to disable comments for non-authorized/logged-in users, just only to disable captchas for some users/groups, but apparently disabling captchas for guests seems totally wrong for me.
Currently I'm blocking the hosts with an iptables rule whenever I see an attacking host by accident, but I guess that there should be a better option...

Christine Spang: Impressions

The Real Cambridge is quite a lot different from the US Cambridge. There are vast stretches of green grass everywhere. People drive little brightly-coloured Volkswagons on the wrong side of the street, and in some places one can be walking down the middle of the street and not realize that vehicle traffic can go there too until a car creeps up behind you, trying to get through. Everywhere that’s not explicitly marked “no cycles” (the colleges, historic important buildings, etc.) features dozens of locked up, often step over-framed commuter bikes, decorated with panniers and front baskets. I still find it vaguely nerve-wracking being in a British vehicle, since I’m always expecting cars traveling in the opposite direction to come wheeling towards me. But I have yet to step off the curb and almost get hit by a double-decker bus because I looked in the wrong direction before starting across. The Cam River is frankly quite puny. Walking alongside it you can witness such events as crew boats nearly crashing into tour boats, and apparently a sort of crew racing called “knocking” is often used because of the river’s narrowness. It’s also not very deep, as can be proven by the periodic punt hires along its shores. And here punting is not to procrastinate (very much an MIT-ism) but to propel a punt , which is a flat-bottomed boat with square ends, by pushing a pole against the bottom of the river. It’s difficult to go six hours without being offered a cup of tea, especially if one is visiting many different people. And I have no idea how people can manage to get drunk off of beer, because a pint is quite enough to fill my stomach and leave no room left for more. So much liquid! And the prices of everything here are just about the same as in the US–except in pounds sterling, not dollars. Which means things really cost twice as much. But since the only things I really need to buy are food, drink, and miscellaneous (like anti-death-by-hay-fever-histamine), things will work out alright. Things have been awesome so far, and the local free software-Debian-Ubuntu-GNOME crowd has made me feel right at home. Maybe someday I will actually swap Cambridges for a while. I’ve gotten to see a bit of Cambridge University here too. Since Hanna’s (really awesome) dad is a fellow of King’s College, we got to go in and look around even though it’s exam season and the general public isn’t allowed in — there’s always a person in funny academic robes standing at the gate and shooing away tourists. Right through the gates there is a large, pristine mowed lawn. It’s in such a condition because no one is allowed to walk on it — unless they’re a fellow of the college. Flaunt that. Her dad also supervises the Cambridge end of CME, so we crashed an end-of-the-year garden party for that this past afternoon. And Saturday it’s off to Scotland, which should be just as awesome! And with more people and more Debian! I’m excited.

13 June 2007

Eddy Petrișor: Whacky ideas, my addition...

PriorityIncreaseIfBinariesFromTheSameSource:

It would be really useful if a -dev package's priority would inflate proportionally with every binary package originating from the same source as the dev package.

This way I would never see this[1]:

# LANG=C apt-get install libxmu-dev libagg-dev libgstreamer0.10-dev libgtkglext1-dev libmad0-dev libxul-dev libdirectfb-dev libkonq4-dev libcurl3-gnutls-dev libcaca-dev libboost-date-time-dev libavcodec-dev libavformat-dev libming-dev
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
kdelibs4-dev liba52-0.7.4-dev libacl1-dev libarts1-dev libartsc0-dev libasound2-dev libaspell-dev libattr1-dev
libaudio-dev libavahi-qt3-dev libcucul-dev libcupsys2-dev libdc1394-13-dev libdts-dev libfam-dev libfam0
libgl1-mesa-dev libglu1-mesa-dev libgsm1-dev libgtkglext1 libidn11-dev libjack0.100.0-dev libjasper-1.701-dev
liblcms1-dev liblua50-dev liblualib50-dev libmng-dev libmozjs-dev libmpeg3-dev libnspr4-dev libnss3-dev libogg-dev
libopenexr-dev libqt3-headers libqt3-mt-dev libraw1394-dev libsasl2-dev libslang2-dev libtheora-dev libtiff4-dev
libvorbis-dev libxslt1-dev libxt-dev mesa-common-dev qt3-dev-tools xlibmesa-gl-dev
Suggested packages:
libasound2-doc aspell-doc libqt3-i18n qt3-doc libraw1394-doc
Recommended packages:
fam gstreamer0.10-doc libqt3-compat-headers
The following packages will be REMOVED:
gamin libgamin0
The following NEW packages will be installed:
kdelibs4-dev liba52-0.7.4-dev libacl1-dev libagg-dev libarts1-dev libartsc0-dev libasound2-dev libaspell-dev
libattr1-dev libaudio-dev libavahi-qt3-dev libavcodec-dev libavformat-dev libboost-date-time-dev libcaca-dev
libcucul-dev libcupsys2-dev libcurl3-gnutls-dev libdc1394-13-dev libdirectfb-dev libdts-dev libfam-dev libfam0
libgl1-mesa-dev libglu1-mesa-dev libgsm1-dev libgstreamer0.10-dev libgtkglext1 libgtkglext1-dev libidn11-dev
libjack0.100.0-dev libjasper-1.701-dev libkonq4-dev liblcms1-dev liblua50-dev liblualib50-dev libmad0-dev libming-dev
libmng-dev libmozjs-dev libmpeg3-dev libnspr4-dev libnss3-dev libogg-dev libopenexr-dev libqt3-headers libqt3-mt-dev
libraw1394-dev libsasl2-dev libslang2-dev libtheora-dev libtiff4-dev libvorbis-dev libxmu-dev libxslt1-dev libxt-dev
libxul-dev mesa-common-dev qt3-dev-tools xlibmesa-gl-dev
0 upgraded, 60 newly installed, 2 to remove and 0 not upgraded.
Need to get 21.6MB/22.2MB of archives.
After unpacking 108MB of additional disk space will be used.
Do you want to continue [Y/n]?



[1] these are gnash's build deps, in case you're wondering

Eddy Petrișor: NaughtySVN

After the feedback related to my latest post about NaughtySVN I thought it would be nice to commit my pending changes about update, although they are not enough to make a functional update feature.

I also thought is time to clarify a few things about the project:
[1] see the comment starting from "A word of caution" in this message from Alexander Thomas

Eddy Petrișor: Your next Gnome subversion client...

... is NaughtySVN.

I have joined this project which was started by Alexander Thomas a few weeks ago and I have convinced him that is better to have a release sooner rather than later. The project is still in its early alpha stage[*] but I thought is better to have a rather minimalist and functional client first.
So, I talked to Alexander and we came up with a roadmap; for the 0.0.1 release I am working on the update feature which is about 40% done[1][2] (update dialog screenshot).

Of course, after the release I will probably make a debian package, too, unless someone else beats me to it :-) .

So, the future is bright.


Update: as a response to a comment, NaughtySVN is designed to be not only a Subversion client, but also a framework for other VCS-es and other clients. It just happens that we are working on the Subversion backend and client at the moment.

P.S.: as curiosity of mine, I have written in python a small nautilus plugin that does the svn update (is a svn frontend) and I must say I really miss the development speed of python when writing in C (or maybe I am out of practice).

[*] only a few features are implemented and can't be used yet as a SVN client without being forced to use another client.
[1] according to my estimations
[2] update related code is not committed yet

12 June 2007

Michal Čihař: Troubles on being popular

phpMyAdmin is quite popular tool and it attracts people who want to earn money on it. For long time Navicat company used phpMyAdmin name to propagate their completely different product, but this seems to be gone now (probably with help from Google, but I haven't receive reply from them, but short after my complain, all their ads abusing phpMyAdmin were gone). Today Marc spotted that somebody just stole our website added Google shopping cart and started to sell phpMyAdmin: Main stolen page screenshot Buy page screenshot Lets see how long will it take to get them down. PS: There is intentionally no link in this post, you can see URL on screenshot, if you really want. Update: It looks like hosting is very responsible on such problems, they just disabled this domain:
Hello, Thank-you for your e-mail enquiry. Please be advised that we have disabled site php-my-admin.awardspace.com. AWARDSPACE.COM provides legitimate web hosting services and has a ZERO tolerance policy towards these violations. We apologize for the inconvenience this has caused you. If you still have any concerns in regards this matter feel free to contact us. Best Regards, Harry AWARDSPACE Dedicated Support Team support@awardspace.com /"Your winning web hosting provider"/ http://www.awardspace.com

Michael Prokop: Error handling: ENOSPC

Hopefully fuzz testing is well known nowadays, right? But did you check how smart your software can handle ENOSPC - the ‘No space left on device’ error? I like stress testing software (to be honest: no, not really). Yesterday I debugged a problem regarding zsh history writing on ENOSPC. Usually I use the grml Linux live-cd for stress testing (often running inside Qemu, Virtbox, VMware,…) like in:
dd if=/dev/zero of=/tmp/home.lo count=1000
losetup /dev/loop1 /tmp/home.lo
mkfs.ext3 /dev/loop1
mount /dev/loop1 /home
mkdir /home/grml
chown grml: /home/grml
Now after restarting the shell session of user grml I can play with ‘No space left on device’ situations. (Notice: I adjust the count=… according to what type of application I want to test.) Too many applications don’t really cope with the ENOSPC situation. Firefox for example is very funny, depending on the situation it either just segfaults when trying to start up, or decides to not start up at all and just exits with ‘1′. See the relevant strace output:
mkdir("/home", 0700)                    = -1 EEXIST (File exists)
access("/home", F_OK)                   = 0
mkdir("/home/grml", 0700)               = -1 EEXIST (File exists)
access("/home/grml", F_OK)              = 0
mkdir("/home/grml/.mozilla", 0700)      = -1 ENOSPC (No space left on device)
access("/home/grml/.mozilla", F_OK)     = -1 ENOENT (No such file or directory)
exit_group(1)                           = ?
Opera also just exits when already running and receiving an ENOSPC - I encountered data loss (for example the transfer history got lost) more than once. Very "funny" to see how applications like dillo, joe, wireshark,… behave in the ENOSPC situation. Not. Oh, your application handles ENOSPC just fine? Then continue testing with read-only filesystem, using NFS, removing files randomly,…

MJ Ray: Views on spelling and textarea Sizes

Update: Debian, and other stuff writes about A solution for a better spell checker in firefox : a better editor Joey Hess commented:
"I'm suprised that noone has mentioned how to get a text area to fit the whole width of the browser window, no matter what width it's set to (I prefer approximatly 60 characters wide sometimes, and nearly 120 other times..): Just put width: 100% in a stylesheet for the textarea. Unfortunately I don't know a good way to dynamically scale a textarea vertically."
That's container-width, which is not window-width for my site, but I'll give it a go.

Christine Spang: IBM Takeover

Made it to the “real” Cambridge in one piece. I’m currently in Dafydd Harries and Matthew Garrett’s living room. Last night when we were all sitting around hacking and drinking tea, there were four X-series Thinkpads and four people at the table. Clearly these must be smart people.

11 June 2007

Enrico Zini: libept

libept 0.5.3 hit unstable I prepared a new toy to play with at Debconf and uploaded it to unstable:
Package: libept-dev
Description: High-level library for managing Debian package information
 The library defines a very minimal framework in which many sources of data
 about Debian packages can be implemented and queried together.
 .
 The library includes four data sources:
 .
  * APT: access the APT database
  * Debtags: access the Debtags tag information
  * Popcon: access Popcon package scores
  * TextSearch: fast Xapian-based full text search on package description
 .
 This is the development library.
Package: ept-cache
Description: Commandline tool to search the package archive
 ept-cache is a simple commandline interface to the functions of libept.
 .
 It can currently search and display data from four sources:
 .
  * The APT database
  * The Debtags tag information
  * Popcon package scores
  * A fast Xapian-based full text index on package descriptions
Yes, this finally brings lots of very cool data sources about packages together. Try this one:
# Check if all data providers are active and give instructions on how
# to activate those that aren't
ept-cache info
# Follow the instructions to activate everything
# Show all GUI image editors, sorted by popularity, in reverse order
ept-cache search image editor -t gui -s p-
If you have the Xapian data provider enabled, the results of a search are given in relevance order, the most relevant first. And also, searches are done with proper stemming, so if you look for image editor it will also find image editing, although it would score image editor higher. It's also quite lovely to work with it in C++. I'll improvise here a few examples: Print name and short description of every package
#include <ept/apt/apt.h>
#include <ept/apt/packagerecord.h>
using namsepace std;
using namespace ept::apt;
void playWithApt()
 
    // Apt data source
    Apt apt;
    // Parser of package records
    PackageRecord rec;
    // Iterate all package records
    for (Apt::record_iterator i = apt.recordBegin();
        i != apt.recordEnd(); ++i) 
     
        rec.scan(*i);
        cout << rec.pakcage() << " - " << rec.shortDescription() << endl;
     
 
Show all image editors
#include <ept/debtags/debtags.h>
#include <set>
using namespace ept::debtags;
void playWithDebtags()
 
    // Apt data source
    Apt apt;
    // Parser of package records
    PackageRecord rec;
    // Debtags data source
    Debtags debtags;
    if (!debtags.hasData())
        return;
    set<Tag> tags;
    tags.insert(debtags.vocabulary().tagByName("works-with::image:raster"));
    tags.insert(debtags.vocabulary().tagByName("use::editing"));
    tags.insert(debtags.vocabulary().tagByName("role::program"));
    set<string> results = debtags.getItemsHavingTags(tags);
    for (set<string>::const_iterator i = results.begin();
        i != results.end(); ++i)
     
        rec.scan(apt.rawRecord(*i));
        cout << rec.pakcage() << " - " << rec.shortDescription() << endl;
     
 
Print all package names, sorted by popularity
#include <ept/popcon/popcon.h>
#include <algorithm>
using namespace ept::popcon;
// STL comparator
struct PopconCompare
 
    Popcon& popcon;
    bool operator<(const std::string& pkg1, const std::string& pkg2) const
     
        return popcon[pkg1] < popocon[pkg2];
     
 ;
void playWithPopcon()
 
    // Apt data source
    Apt apt;
    // Popcon data source
    Popcon popcon;
    vector<string> sorted;
    if (!popcon.hasData())
        return;
    // Get all package names in the vector
    copy(apt.begin(), apt.end(), back_inserter(sorted));
    // Sort it by popularity
    sort(sorted.begin(), sorted.end(), PopconCompare(popcon));
    // Print it out
    for (vector<string>::const_iterator i = sorted.begin();
        i != sorted.end(); ++i)
        cout << *i << endl;
 
Search for image viewer, but we don't want to view kernel images
#include <xapian.h>
using namespace ept::textsearch;
void playWithXapian()
 
    TextSearch textsearch;
    vector<string> wanted;
    vector<string> notwanted;
    Xapian::Enquire enq(textsearch.db());
    // This will tokenise the search query into terms, stem them
    // and OR them together in a query.  Xapian will score higher
    // those results in which more ORed terms match, which is what
    // we want.
    Xapian::Query want = textSearch.makeOrQuery("image viewer");
    Xapian::Query dontWant = textSearch.makeOrQuery("linux kernel");
    enq.set_query(Xapian::Query(Xapian::Query::OP_AND_NOT, want, dontWant));
    // Print the top 20 results, with their relevance percentage
    Xapian::MSet matches = enq.get_mset(0, 20);
    for (Xapian::MSetIterator i = matches.begin(); i != matches.end(); ++i)
     
        // The get_data() of a document is the package name
        cout << i.get_document().get_data() << " ("
             << i.get_percent() << "%)" << endl;
     
 

Michal &#268;iha&#345;: Yet another wiki died on spam

Some time ago I added links to FoneWiki.org to Gammu phone database to show more information about phones. The main reason for that was information about K750i phone, which I wanted to buy in that time. Unfortunately as time goes on, this page seems to be almost the only one with interesting content on this wiki. Most of other pages are only templates or links to buy cheap v1agra or some other similar spam. It's a pity that this server is gone, because I think such wiki is a good idea.

Biella Coleman: Blue Cross Blue Shield Chronicles: Blue Distinction, Not

A few weeks ago, I posted an account of my trials and tribulations with Blue Cross Blue Shield Horizon of New Jersey. Well now it is high time for an update, an update I think readers of this blog will be interested in because it tells a fascinating story about the Internet, blogging, and perhaps new uses of Google Alerts. My goal in writing the post was to inform readers of their options when faced with problems caused by their health insurance company. Well, I had no idea a response would arrive from Blue Cross Blue Shield, and so quickly. For within 2 hours of posting my blog entry, the Public Relations Director of Blue Cross Blue Shield of NJ wrote me an email, which basically said that he came across my blog posting and was offering his assistance. Needles to say, I was shocked. After months of getting some of the worst customer service I have ever received (when on the phone with Blue Cross, I always felt like I was talking to smarmy collection agency reps), I get an email from upper-level management, offering his assistance. At first, I thought some of my geek readers were playing a practical joke on me. While it seemed plausible that Blue Cross monitors links to their site, and probably do so with Google Alerts, I had a harder time believing that the Director of Public Relations would fire off an email to me, directly. Naturally, following the arrival of his message in my inbox, a small glimmer of hope flickered, especially after he had someone from the Appeals Department contact me. And this small intervention had a large noticeable effect: decent and transparent customer service became a reality, for the very first time. Instead of interactions that were opaque and frustrating, I finally had ones that were crystal clear and intelligible. According to the main Blue Cross Blue Shield Web Site, they pride themselves on Blue Distinction:
Blue DistinctionSM is the Blue Cross and Blue Shield companies’ nationwide program that will create an unprecedented level of transparency with two goals: engaging consumers to enable more informed healthcare decisions and collaborating with providers to improve quality outcomes and affordability.
The contrast of my service before and after having the Public Relations director contact me speaks volumes to the actual nature of Blue Distinction as it pertains to BCBS of NJ. For most of my interactions with Blue Cross Blue Shield, I encountered an unprecedented level of opaqueness and frustration until there was intervention from high-above. I actually appreciated the service I received and saw it as a laudable move. Unfortunately, the outcome has been far from my liking. I recently got word they are not paying up for any of the dermatological services. So perhaps the fact that a PR person contacted me was significant because in the end, it has panned out as a typical PR move: all gloss and lacking substance. What now? I am moving to an internal BCBS appeal process and if that does not work, I will move on to small claims court in NYC and perhaps a more organized web campaign. In the mean time I have basically have decided to blog about the process so look out for future updates!

MJ Ray: Views on textarea Sizes

Matt Palmer wrote:
"Aaah, OK. I have no idea whether [pingbacks] work or not; they're deeply in the black magic category -- never used them."
They're just a remote procedure call. Shouldn't be black magic at all, but a surprising number of blogs seem to do them brokenly, while supporting the more complicated (but just as spammable) comment and trackback systems. On size:
"40x20 would be a good size for me. I'm not sure why people would complain that the comment box is too big, unless perhaps it interfered with the good layout of the page."
I don't think it interfered with the layout. I'll increase the size again Real Soon Now. Josh Triplett commented:
"For me, the size of the edit box doesn't matter much, because I don't use it. I just click the little "edit" button next to it that the Firefox^WIceweasel extension It's All Text provides, and then type my comment in Emacs. :)"
James commented:
"I use the resizeable form fields extension so I don't have a problem with small textareas, but http://www.sabadelli.it/edoardo/projects/javascript/form.element.resize has a script that'll make it resizeable for everyone."
Well, everyone who lets web site scripts use their CPU and electricity... Thanks for all the helpful comments.

Gustavo Franco: debcamp updates - round I


Where's Vagrant? :)

MJ Ray: Spam + Bloggers = Sploggers

I've heard about sploggers before, but I've never seen a non-trivial one. It looks like nixforce.com is a splogger that is harvesting all Planet Debian posts and using it to promote their Ubuntu/ Fedora/ Windows services site. (Sod that. You should all buy debian services from my cooperative OK?) I know about this because they sent me a pingback. Unsurprisingly, I've not approved it! Are any other Debian planeteers unhappy that they seem to be claiming that "We are a group of people in Durban, South Africa. We provide services on Ubuntu Linux, Fedora Core Linux ,Microsoft Windows Servers, XP Professional Desktops, Ubuntu Desktops [...] Macromedia Coldfusion Server [...] MysQL and Microsoft SQL Server [...] Unilever" for them? Should we try to stop them, or just post that "Nixforce look like an unscrupulous load of swines trying to trade on Debian Developer names without permission" all over their site?

Next.

Previous.