Search Results: "ema"

1 March 2011

Joachim Breitner: Nomen est Omen

Google provides a handy image search, and given that the Internet is for porn, it is a good thing that they provide a filter that tries to remove pornographic images. This allows us to define the pornyness of a name (or of any word): It is the percentage of images found by Google that are removed when enabling the SafeSearch filter. For those who want to find out the pornyness of their name without having to count pictures that are NSFW, I have created the pornyness calculator. The range of values goes from 0% (for Ursel) to 97% (for Aletta, exact percentage depends on your location, it seems). This is implemented by some simple JavaScript in a static file, and using Google s API. PS: It was pointed out to me that Maschinenbau (civil engeneering) has a score of 0%, but Mathematik (mathematics) has a score of 2%. Feel free to add more interesting results to the comments.

Bastian Venthur: Summer School: Advanced Scientific Programming in Python

Once again, there will be another round of the Summer School Advanced Scientific Programming in Python . This year in St. Andrews, UK. Quoting from the official announcement:
Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists actually use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques, incorporating theoretical lectures and practical exercises tailored to the needs of a programming scientist. New skills will be tested in a real programming project: we will team up to develop an entertaining scientific computer game. We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more importantly, it also works great in scientific simulations and data analysis. We show how clean language design, ease of extensibility, and the great wealth of open source libraries for scientific computing and data visualization are driving Python to become a standard tool for the programming scientist. This school is targeted at PhD students and Post-docs from all areas of science. Competence in Python or in another language such as Java, C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of Python is assumed. Participants without any prior experience with Python should work through the proposed introductory
materials before the course.
You can apply on-line at http://python.g-node.org Applications must be submitted before May 29, 2011. Notifications of acceptance will be sent by June 19, 2011. No fee is charged but participants should take care of travel, living, and accommodation expenses. Candidates will be selected on the basis of their profile. Places are limited: acceptance rate in past editions was around 30%. Prerequisites: You are supposed to know the basics of Python to participate in the lectures. Please consult the website for a list of introductory material. If your re a scientist and interested in Python, I cannot recommend this summer school highly enough. The Summer School is always fun, the faculty members are very nice and always willing to help and answer questions. The balance between lectures and exercises is in my opinion very good, and you ll learn a lot about Python during the week. The highlight of every Python School is always the Pac Man tournament, where groups of students will implement their own Pac Man agent (in Python) and compete against the other agents in a tournament till the bitter end! The students of the previous editions were usually very happy during and after the School. Speaking of happiness, since no fee is charged for the Summer School, you ll have more money left over to invest into the excellent Scottish pubs!

Julien Danjou: My latest contributions to the Emacs' world

I spend too much time writing Emacs Lisp code these days. Unfortunately, the more I do the more I find new useful tools to improve my work-flow and save time for doing more Lisp. D'oh. I did not work on any big thing these last weeks, so I'm thinking it's a good time to talk about the various code and patches I sent to multiple Emacs packages. el-get el-get, a fabulous tool that installs and handles all the external Emacs packages I use. A friendly war started on the development list about autoloads handling. The discussion was overall pointless, since we had a very hard time to communicate our ideas, and we did not understand each others several times. In the end, el-get now supports autoload correctly and do not load automatically all your packages, improving the startup time, and using the Emacs way to do things. Which is always better, obviously. git-commit-mode

I've started to use git-commit-mode some times ago. I usually use git-commit with the -v option to see what I'm committing. I though it would be useful to color the diff with diff-mode, so I wrote a patch just to do that, which was merged today by Florian. magit

Some weeks ago, I decided to give a try to magit, and loved it. I am not always using it, but for basic operations it is very useful. But I really soon found some things I did not like and therefore send patches to enhance it. First, I've added a patch to honor status.showUntrackedFiles which I use in my home directory. In the mean time, I've also added a patch to allow adding an arbitrary file. Yesterday, I sent another pull request, not closed for now, which adds the possibility to visit files in another window from a diff file, and the support for add-change-log-entry directly from the displayed diff. Useful for these old projects still using ChangeLog files but accessible through git (hi Emacs & Gnus!). Gnus

Nothing remarkable, but I write a couple of fixes and enhancements to the Sieve manage mode, to the Gravatar code and cleaned-up some very very old code. Also added the possibility to set list-identifier as a group parameter. Org-mode

I spent most of my time working on my jd/agenda-format branch, which is soon to be merged. I've also just got developer access to the Org-mode patch work and repository, so I'll be able to break things even more! ;-) ERC

I fixed the bug that annoyed me for a long time. Now erc-track does not reset the last channel status on window visibility changes not made by the user. Flattr this

Raphaël Hertzog: 5 Free Software To Support With Flattr

Flattr FOSS LogoAnother month and thus another issue of Flattr FOSS. Time flies but Flattr s usage seems to remain relatively strong. I was fearing that people get bored after some time but that does not seem be to the case, my Flattr income does not really drop (it doesn t take off either ;-) ). I get a bit less for dpkg than at the start but a bit more for my blog. Enough babbling, let s go straight to the 5 projects to flattr this month:
  1. Linux Mint (Flattr link) is a Linux distribution based on Debian and Ubuntu that targets home desktop users. I have never tried it (I m too much of an hardcore Debianer) but I ve read several good reviews saying that it works well out of the box with good multimedia support. If you try it out, be sure to pick Linux Mint Debian Edition (LMDE). :-)
  2. Network Block Device (NBD) user-space support tools (Flattr link) is the set of tools to setup a block device whose content is really on a remote server. It requires support of NBD in the kernel of course. The user space tools are maintained by Debian developer Wouter Verhelst.
  3. Tahoe LAFS (Flattr link) is a filesystem that implements a cloud storage. The data are distributed across multiple servers in such a way that it can continue to work even if one of the servers fails.
  4. Gajim (Flattr link) is a full featured and easy to use Jabber client. If you don t need support of multiple instant messaging protocols, this Jabber client might be a good fit for you.
  5. Aur lien Gateau (Flattr link) is a KDE developer who takes one day per week off his work to work on KDE. He seeks support from the community to compensate for the loss of revenue. Much like me, he has a support page with a complete history of the amount of donations received. I can only sympathize with people who try to live true to their passion good luck Aur lien!
This article is part of the Flattr FOSS project.

5 comments Liked this article? Click here. My blog is Flattr-enabled.

28 February 2011

Michal Čihař: phpMyAdmin theme survey results

The phpMyAdmin survey for new theme is over and it's time to publish results. Today I will show only basic summary, I will dig deeper into the data later. The first question for default theme has quite clear winner: Default theme results As the results are quite persuating, this gives no space to discuss. Next question was about inclusion of additional theme in standard download kit: Number of themes results While two themes still have big majority, people are not that convinced about it. The last question of the survey was which theme should be included as additional in the download kit: Second theme results I think this is most interesting result - while in question about default theme Graphite theme was clearly the second one, in this question people have indicated that Original theme should stay in the download kit. I would like to thank to all 228 people who have participated (the number is low because the survey required email confirmation, but I still think it is better way than thousands of votes which are easily scriptable).

Filed under: English Phpmyadmin 0 comments Flattr this!

Russell Coker: Links February 2011

Australia s Department of Finance has mandated that the MS-Office document format should be the standard document format for all agencies [1]. Paul Wayper notes the fact that MS doesn t plan to support it s own standards and suggests ODF, also known as ISO/IEC standard 26300:2006. [2].Psychology Today has an interesting blog post by Marnia Robinson about scientific reasons for avoiding porn addiction [3]. Her post links to a number of other posts on the topic on Psychology Today.Psychology Today has an interesting post by Noam Shpancer titled What Doesn t Kill You Makes You Weaker [4]. It seems to me that the belief to the contrary is due to people rationalising bad things that happened to them, it s not all bad as it made me stronger .Psychology Today has an interesting article by Noam Shpancer about the soldier as hero myth [5]. He argues that soldiers are really just employees, the risk to American soldiers in war zones really isn t that great and that they are just pawns to the military-industrial complex.Anders Ynnerman gave an interesting TED talk about visualising medical data which includes many startling 3D pictures of humans and animals that are being scanned [6]. He describes how this is useful in forensic analysis by the police and in better understanding biological processes.Margarita Manterola gave an interesting Debconf talk titled Making Debian Rule, again , she has some interesting ideas for improving Debian [7]. She is most focussed on social problems and the questions and comments had some interesting ideas. The Center for Non-Violent Communication [8] was mentioned in the questions, apparently their success includes teaching better communication skills to violent criminals, so it seems that they can help with some big problems.Benjamin Mako Hill wrote an interesting article about the ratio of writers to readers on Wikipedia [9]. While he makes some good points I m wondering about the measure of an editor , there have been few months where I have made 5 edits, so I guess I m just a reader. I probably should take more care in logging in when I make changes though, I ve made more than a few small changes from random systems (client sites, Internet cafes, etc) without bothering to login. This would mess up the stats a bit.The Reid Report has an interesting article about Bush being limited in his international travel due to the fact that he has admitted being a war criminal [10].Understanding Prejudice is an interesting article that summarises a lot of psychological research [11]. It gives many ideas for anyone who wants to reduce prejudice.Robin Harris wrote an interesting ZD Net article about vibrations and the impact on disk performance [12]. Apparently it s very common to be able to get more performance from drive arrays if you dampen vibration, previously I believed that unless you had extreme vibration to cause catastrophic problems then nothing would go wrong. But it seems that even smaller amounts of vibration can cause a 30% performance loss or worse! There is work in progress on vibration-damping racks.In a story published in The Australian about the NSW ambulance service being shut down due to a virus, Professor Caelli cites SE Linux as an example of a technology to make computers more virus resistant [13]. Professor Caelli also states that there should be a legal requirement to have backup systems for computers that have such grave consequences if they crash.Sinclair Community College is offering a new class Fundamentals of Linux Security , it includes SE Linux [14].Slate has an interesting article about Pickpockets [15]. Apparently they are becoming extinct in the US as law enforcement has prevented the Fagins from training younger people, and it s only in Eastern Europe that the skills base remains.

27 February 2011

Adnan Hodzic: What s the best Xperia X10 custom ROM?

Everybody hates Xperia When I first got Sony Ericsson Xperia X10 it was running on Android Donut (1.6), my frustrations followed soon after mostly because it was greatly lagging with release of Android 2.1. Finally official 2.1 was released, but troubles didn t stop there, because everybody was waiting for multi-touch support I could go on like this for a very long time. However, to sum it up Sony has no plans of updating X10 anymore, they are releasing brand new phone (Arc) and they are hoping people will pay money to get it after X10 horrors. Even tho 2.1 isn t that old, (31.4% of overall Android users is using it on it), Sony changed its UI to make it look better, but all they actually did is make it look pretty bad + made it abnormally slow. Xperia ROMs From hardware aspect, it s a pretty awesome phone, but from software aspect it waste of nerves. It s obvious that Sony needs to hire more Linux people, because as it seems they have no idea what they are doing. There are of course, 2.2 Froyo and 2.3 Gingerbread straight from Google ROMs, but to be honest phone is only half usable with those. The feeling I get when using these is plain awkward. All these ROMs are stuck on 2.6.29, since as it seems Sony did a very good job protecting its bootloader, what I suggest is to use these for strictly development purposes, and have them dual boot with your working 2.1 2.2.1 Froyo (beta)
http://forum.xda-developers.com/showthread.php?t=917956 Gingerbread 2.3.1 (alpha)
http://forum.xda-developers.com/showthread.php?t=931934 So what is the best ROM? Out of all the ones I tried (and I tried many) it s definitely: kX10 Custom 2.1 SE ROM R2B001
http://forum.xda-developers.com/showthread.php?t=913610 My main argument on what this is the best ROM is because, everything is working, and it s working fast. Author stripped it to the minimum, and what I definitely suggest is that you go with the R2B001 Lite because the Full version comes with too much apps. with it, kinda making this great ROM feel bit bloated. I made a video for you to experience its speed: <iframe allowfullscreen="allowfullscreen" frameborder="0" height="390" src="http://www.youtube.com/embed/8xe0hUx2k28?rel=0" title="YouTube video player" width="480"></iframe> Modifications:
  • 2.1 Generic Firmware (2.1.A.0.435), Rooted with xRecovery, JIT v2, SuperUser, and busybox installed;
  • SuperCircle Battery / Reboot option mod;
  • Ubuntu system fonts with Emoji support (display only)
  • All APKs zipaligned / All non-essential system APKs moved to /data/app for easy uninstall and apps2sd support
build.prop Modifications
  • windowsmgr.max_events_per_sec=260 Makes scrolling smoother
  • wifi.supplicant_scan_interval=180 Slows down the WiFi scan to every 3 minutes, saves battery
  • dalvik.vm.heapsize=26m Optimal heapsize for most X10s
  • mot.proximity.delay=100 Makes the screen off/on proximity sensor more responsive
Surprisingly I m getting much lower score Quadrant score, but also getting a much higher Linpack score: benchmark results of hacked Stock SE 2.1 ROM (2.0.2.A.0.24 root + JIT) Even though, the phone s much much faster. A couple of screenshots, including Linpack/Quadrant benchmark results. Nexus S This is how I m planning to live my remaining days on this phone, if it wasn t for this ROM, I would ve crashed my X10 long time ago. In meantime I m eagerly waiting to put my hands on Nexus S, whose official release we re still waiting for in Europe Thinking Google, please hurry up Smile

26 February 2011

Rapha&#235;l Hertzog: February 2011 wrap up

February has been again a busy month for me. Here s a quick summary of what I did: Multi-Arch work I have spent many days implementing and refining dpkg s Multi-Arch support with Guillem Jover (dpkg co-maintainer) and Steve Langasek (beta-tester of my code ;-) ). Early testers can try what s in my latest pu/multiarch/snapshot/* branch in my personal git repository. A Debian DVD shop I m always exploring new options to fund my Debian work (besides direct donations) and this month with the Debian Squeeze release I saw an opportunity in selling Debian DVD. Nobody provides DVD with included firmwares and quite a few people would like to avoid the SpaceFun theme. So I built unofficial Debian DVDs that integrate firmware and that install a system with the old theme (MoreBlue Orbit). Click here to learn more about my unofficial DVDs. On my blog In my People behind Debian series, I interviewed Mike Hommey (Iceweasel maintainer) and Maximiliam Attems (member of the kernel team). I started a Debian Cleanup Tip series and already published 4 installments: For contributors, I wrote two articles: the first gives a set of (suggested) best practices for sponsoring Debian packages and adapted my article as a patch for the Developers Reference. In the second article, I shared some personal advice for people who are considering participating on Debian mailing list: 7 mistakes to avoid when participating to Debian mailing lists.
Click here to subscribe to my free newsletter and get my monthly analysis on what s going on in Debian and Ubuntu. Or just follow along via the RSS feed, Identi.ca, Twitter or Facebook.

No comment Liked this article? Click here. My blog is Flattr-enabled.

Steve Kemp: IPv6 email

I've been slowly moving towards full IPv6 usage on my main machines for the past few months. My main servers all have IPv6 setup and appropriate DNS records in place. This weekend I configured my mailserver, which is based upon QPSMTPD & exim4, to be available on IPv6 too. Previously it would send mail via IPv6 where appropriate, but only receive mail via IPv4. QPSMTPD I've written about a lot in the past, and indeed I did commercial things with it for a year or two, but in short it is more of an SMTP framework than an actual mailserver. These days I use a small collection of plugins which test incoming mail in various ways, and either: My plugins are pretty simple, but I've made a few changes for the brave new IPv6 world: I reject (+ archive) about 8,000 SPAM messages a day. So far I've seen precisely zero SPAM mails be received via IPv6; though I'm sure that won't last for long! My reject archive looks like this:
steve@steve:~$ tree -d -L 2 /spam/
/spam/
 -- 23
     -- debian-administration.org
     -- mail-scanning.com
     -- steve.org.uk
 -- 24
     -- debian-administration.org
     -- steve.org.uk
 -- 25
     -- debian-administration.org
     -- mail-scanning.com
     -- steve.org.uk
...
 -- 55
     -- debian-administration.org
     -- mail-scanning.com
     -- steve.org.uk
     -- stolen-souls.com
 -- 56
     -- debian-administration.org
     -- steve.org.uk
     -- stolen-souls.com
 -- today -> /spam/56
 -- yesterday -> /spam/55
(Here "N" is the day of the year - Think of this as "date +%j". I rotate such that I keep 32 days of past SPAM mail, for reference/amusement/mistake-catching.) ObQuote: "I am already grown up, I just get older. " - Leon

Joey Hess: infrastructure update

I'm surprised to be on the porch hearing rushing water. I tend to think of up here as high and mostly dry, but not this time of year. Yesterday was such a soaking rain, very annoying at the time as I did chores and drove out from town. Now there are two little creeks here. That's a sound I've missed.. Pity that all the water is going to waste. I discovered the reason the large cistern is not filling up is simply because the pipe into it is not connected to the feeder pipe in the spring. It seems like a complete shambles really, with layer upon layer of pipes, all broken. I will have to wait until the water is down to dig and find out what's going on, and fix it. In the last of the evening light today I got the house's two battery banks finally combined into one bank. I had planned this out long ago, and bought one long cable I'd need, so was surprised to find I needed two long cables. Had to slide batteries around like a big sokoban puzzle, and swap several cables to make it work. While I was away I'd charged up the bank that had gone unused most of the winter. So they were near equalized and the combination seems to have gone ok. I got through the lean part of the year with only half the batteries; there never seemed to be a good time to combine them. It remains to be seen if the solar panels can keep my increased capacity filled. I hope this was only an early taste of spring. Would be nice to have some more icy weather so I can put off dealing with refrigeration a little while longer. I have my eye on a 12v/propane fridge.

25 February 2011

Evgeni Golov: Desktop in a shell: mutt

Continuing my series about a desktop in a shell, today I will present you my mutt setup. I use mutt because it has no bugs and is a really good MUA for people loving consoles ;)First of all you have to know, that all my mail is forwarded to my server and sorted into Maildirs via maildrop, so I do not care about sorting on my desktop , which just fetches the mail via IMAP from the server ;)I m running mutt-patched from Debian Squeeze, so not all options may be available for you if you do not have the same patchset as I do.First, tell mutt to fetch mail from imap.die-welt.net via IMAP:
set imap_user=username
set imap_pass=password
set folder="imaps://imap.die-welt.net/INBOX"
set spoolfile="imaps://imap.die-welt.net/INBOX"
Now, enable IMAP-IDLE, list subscribed folders, reconnect to the server if needed and mark mail as read when you open it:
set imap_idle
set imap_check_subscribed
unset imap_passive
unset imap_peek
Let mutt save sent mail to the Sent directory on the IMAP server, and postponed mail to Drafts:
set record=+Sent
set postponed=+Drafts
Read mail should stay where it is:
set mbox="!"
We use IMAP-IDLE, thus check for new mail manually only every 90 seconds:
set mail_check=90
Instead timeout after 15 seconds if no user input is given:
set timeout=15
Set default mail from address to my default mail address:
set from=evgeni@golov.de
And send mail via mstmp (see below for mstmp configuration):
set sendmail="/usr/bin/msmtp"
Tell mutt which addresses I recieve mail to (danger, ugly regex!):
alternates (evgeni@(debian.org golov.(de eu)) sargentd@(die-welt sargentd).net evgeni.golov@uni-duesseldorf.de)
As mutt knows where I receive mail, let it set From accordingly:
set reverse_name
Let mutt cache some stuff and find its certificates:
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates
set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
Show only interesting headers in an useful order:
ignore headers *
unignore headers from to subject date cc
hdr_order from to cc subject date
Fix stupid MUAs behaviour (e.g. filenames like =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=):
set rfc2047_parameters
Beep on new mail, will generate a ! in the window name in screen:
set beep_new
mutt-patched has the great sidebar patch, assign ctrl-n, ctrl-p to select next, prev folder, ctrl-o to open selected folder:
bind index \Cp sidebar-prev
bind index \Cn sidebar-next
bind index \Co sidebar-open
And toggle sidebar visibility with ctrl-b:
macro index \Cb '<enter-command>toggle sidebar_visible<enter><refresh>'
macro pager \Cb '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
Since 1.5.20-2, mutt patched contains my sidebar-dotted and sidebar-sorted patches.
Let mutt shorten the displayed path (e.g. debian-devel instead of INBOX.ml.debian-devel) and sort the folders (the are returned in random order when using imap_check_subscribed):
set sidebar_shortpath
set sidebar_sort
Now let s set some colors (that match the rest of my desktop ):
color sidebar_new yellow default
color normal white default
color hdrdefault brightcyan default
color signature green default
color attachment brightyellow default
color quoted green default
color quoted1 white default
color tilde blue default
And add some useful macros for marking new and old messages as read:
macro index .n "<tag-pattern>~N<enter><tag-prefix><clear-flag>N<clear-flag>*" "Catchup all new messages"
macro index .o "<tag-pattern>~O<enter><tag-prefix><clear-flag>O<clear-flag>*" "Catchup all old messages"
When forwarding mail, I like it to be forwarded as an attachment (YMMV):
set mime_forward=yes
I m using goobook in mutt to fetch my addressbook from Google. As there is no Debian package for goobook (yet), you have to install it yourself (via easy_install):
apt-get install python-argparse python-gdata python-simplejson python-keyring python-nose
easy_install goobook
Configuration is easy via ~/.goobookrc:
[DEFAULT]
# If not given here, email and password is taken from .netrc using
# machine google.com
email: me@gmail.com
password: password
And then add the following to your .muttrc:
set query_command="goobook query '%s'"
bind editor  complete-query
macro index,pager a "<pipe-message>goobook add<return>" "add the sender address to Google contacts"
That s all for mutt, but We are running mutt in a screen, so let s add the following to .screenrc to fix transparency and cut&paste (see http://wiki.mutt.org/?MuttFaq/Appearance):
 defbce on
 term screen-bce
And as mutt uses mstmp (yes, I know, mutt can handle SMTP itself ), this is my .msmtprc:
defaults
domain dorei.kerker.die-welt.net
tls on
account die-welt.net
host smtp.die-welt.net
from sargentd@die-welt.net
auth on
user username
password password
tls_starttls on
tls_certcheck off
# Set a default account
account default : die-welt.net
C est tout! That is my personal mutt configuration, you can download it as one file here: my .muttrc. And as everyone loves screenshots, here is one:the default view of my muttOh, the next chapter will be about irssi, but not before next Sunday (March 6th) as I ll be offline for a week, skiing in Austria :)

24 February 2011

Sean Finney: git merge -s theirs

...For the cases where, yes, you actually do want it. For the impatient assuming you're in a clean checkout on the tip of your current branch:
git merge -s ours ref-to-be-merged
git diff ref-to-be-merged   git apply -R --index
git commit -F .git/COMMIT_EDITMSG --amend
you can then double check that everything is as you expect with git diff ref-to-be-merged, which should be empty. The longer story It's noted from time to time that git does not have a -s theirs option to complement the -s ours strategy when merging (or, it did, but it was removed long ago, see below). For those not savvy the idea with git merge -s ours is to pretend as though a merge from some other branch has occurred, though the result remains the current branch's contents, unchanged. This is a neat trick that can be used to show that all changes in some branch have been superceded by the current branch, which can help ease merges further down the line as parallel devlopment continues. However, there is no corresponding -s theirs option, which would conversely say that "everything developed up to here is superceded by this other branch". This feature was discussed and discarded by one of the git authors, who instead advised a developer to throw away the previous work and start on a fresh branch:
One big problem "-s theirs" has, compared to the above "reset to origin, discarding or setting aside the failed history" is that your 'master' history that your further development is based on will keep your failed crap in it forever if you did "-s theirs". Hopefully you will become a better programmer over time, and you may eventually have something worth sharing with the world near the tip of your master branch. When that happens, however, you cannot offer your master branch to be pulled by the upstream, as the wider world will not be interested in your earlier mistakes at all.
In what would probably qualify as "most cases", he's right, but sometimes you do want to do this, and not because you have "crap" in your history, but perhaps because you want to change the baseline for development in a public repository where rebasing should be avoided. In debian, for example, it's pretty common for maintainers who use git-buildpackage to build debian packages from git to have two branches: an "upstream" branch and a "debianized" branch. The upstream branch will follow the changes from the upstream project (either by importing tarballs, or by pulling directly from the project's git repo if they also use git), while the debianized branch contains all the packaging related changes as well as any debian-specific changes to the code. In this context, if the upstream project uses git and rebases their history (out of your control), or if they shift development to a different branch, you might want to have a way to merge with their latest changes without rebasing/abandoning your current debian branch. Hence, a "theirs" merge. The author is totally right that the upstream project may be less interested in pulling from such a repository (since they would drag in the entire previous history), and if that's a problem you might need to splinter off the old branch and start a fresh branch instead. But at least for the projects with which I work, I find that it's more likely that pulling is pretty much one way upstream to debian, and that the patches flow back to the upstream project by way of bug trackers, git format-patch sendmail, or quilt patches sitting in the patch-tracker. And if it becomes a problem later you're no worse off, you can still split off a new branch or take some other action. So anyway, I asked Teh Internetz and found a few hits in the right direction, such as this guy at stack overflow, or this guy here. But from an aesthetic point of view I thought their solutions still left some room for improvement--they were both more complicated, involved setting up temporary branches, and I don't know, just weren't pretty on the eyes. So, ending where I started, this is the relatively clean and easy to follow 3 lines I conjured up, which I will give to teh internetz for posterity.
git merge -s ours ref-to-be-merged
git diff ref-to-be-merged   git apply -R --index
git commit -F .git/COMMIT_EDITMSG --amend
Alternatively, if you want to keep the local upstream branches fast-forwardable, a potential compromise is to work with the understanding that for sid/unstable, the upstream branch can from time to time be reset/rebased (based on events that are ultimately out of your control on the upstream project's side). This isn't a big deal and working with that assumption means that it's easy to keep the local upstream branch in a state where it only takes fast-forward updates. However, on the debian branch your less interested in the clean upstream development, and instead want to keep a sane history of the debianization work, so on this branch you still do something like a merge -s theirs (though in this case, you probably want to amend the previous version's ./debian dir back in post-merge). So applying the same approach as above with the slight modification, in practice (assuming you're on the clean tip of the debian unstable branch, that'd be):
git branch -m upstream-unstable upstream-unstable-save
git branch upstream-unstable upstream-remote/master
git merge -s ours upstream-unstable
git diff ref-to-be-merged   git apply -R --index --exclude="debian/*"
git commit -F .git/COMMIT_EDITMSG --amend
PS In spirit, this is a similar approach to what's done by the XSF team, though I would argue that with what I'm describing both the approach and the resulting history are a bit cleaner and easier to follow. Also, thanks to ron, mrvn, jcristau, and nthykier on #debian-devel for some quick reviewing of this.

Rapha&#235;l Hertzog: 7 mistakes to avoid when participating to Debian mailing lists

You re eager to start contributing to Debian, your first action is to subscribe to some high-profile mailing lists (like debian-devel and debian-project) to get a feel of the community. You read the mails for a few days and then you find out that you could participate to the discussions, it s a simple first step after all. True enough. That said, it s not as easy as it looks like. There are many mistakes that you should avoid:
  1. Don t fall in the trap where your mailing list participation is your sole contribution to Debian. If you want people to give credit to your messages, you should already be doing something else for Debian.
  2. Don t participate more than once a day to a given thread. There are many people subscribed, you should leave room for other people to express their point of view. You can always follow up one day after and reply to several messages at once if you believe you still have something new to add to the discussion.
  3. Don t reply to off-topic threads. Someone asked a simple question and someone else pointed out that his message was off-topic. Don t reply, or if you really need to, do it on the correct list or with a private response.
  4. Don t ask questions unless it s useful to bring the discussion forward. Development lists are not here to fill the gaps in your knowledge. We already have debian-mentors for this. Furthermore there s no better way to learn than to find yourself the answers to your questions. :-)
  5. Don t believe your opinion is so important. We re all very opinionated and discussions that consist only of contradicting opinions tend to go nowhere. Thus don t give your opinion unless you can back it up with new facts or another experience.
  6. Don t participate to all threads. There are surely some topics where you are more knowledgeable than others, participate where you add the most value and leave the others threads to the other experts (and learn by reading them).
  7. Don t hide your identity. In Debian we like to know each other. Use your real name and not some anonymous nickname. You need to be able to stand up behind your words, otherwise you re not credible.
I have myself been guilty of several of those when I started I invite you to follow my recommendations to ensure our mailing lists remain pleasant to read and an effective discussion place.
You should follow me on Identi.ca, Twitter and Facebook. Or subscribe to this blog by RSS or by email.

4 comments Liked this article? Click here. My blog is Flattr-enabled.

23 February 2011

Joachim Breitner: Goodbye server4you

My server, which is among other things hosting this weblog, is a dedicated server originally hosted by the German webhoster webperoni. It was a bargain at that time, and still a good price, and I was satisfied with webperoni s performance and reliability. Unfortunately, they were taken over by another web hosting company, best known for their server4you brand. They moved my server to a different data center and continued to run it there. Unfortunately, server4you was less reliable and less flexible than my original hoster: For example, when one sector on the hard drive turned bad, they were not able to put in a new drive in my system, let me mirror the content, and then remove the old drive. In another, even worse, instance, my second IP address, which I bought from webperoni, was given to another customer. When I finally noticed and complained, they refunded me the charges that I paid for the IP. But understandably, I wanted to get away from that hoster. The contract is automatically prolonged for one year if not canceled in time, and I missed the deadline last year. This year, I finally got around to rent a slightly better and slightly more expensive server from Hetzner, which whom I already made good experience. I would have preferred to switch when I am back from India, but server4you would not even let me prolong the contract by just two months only a whole year or nothing. So they got nothing, and I started to work on the move yesterday. At first I set off installing the new system from scratch, setting up all the various services and copying over data and configuration. But quickly, I gave up and moved the system by completely by copying programs, configuration and data from the old server. The new system has its root partition on a LVM share on software RAID, and now uses grub2 to boot. I had a hard time to get it booting, and a hard time to debug the issues without access to the physical console. I finally understood the problem by running kvm -hda /dev/sda -hdb /dev/sdb -curses from the recovery system and observing that the initial ramdisk is having problems finding the root partition. The problem was that I thought addressing partitions via file system labels is the way to go now and manually added root=LABEL=root to the Linux command line in /etc/default/grub. But then the initial ramdisk would not activate the logical volume. If I had just left it to the grub package, which inserted root=/dev/mapper/vg-root, everything would work fine. The new IP address (88.198.48.143) has not propagated throughout the Internet yet. Running the following command for a variety of ports on the old machine (80.86.81.20) makes sure nobody notices:
port=443
iptables -t nat -A POSTROUTING -p tcp --dst 88.198.48.143 --dport $port -j SNAT --to-source 80.86.81.20
iptables -t nat -A PREROUTING -p tcp --dst 80.86.81.20 --dport $port -j DNAT --to-destination 88.198.48.143:$port
The only question remaining is: What to do with the old server for the remaining six weeks? I am considering to erase the system, set up a plain Debian system and run a tor/freenet/whatelse node at full speed.

Russell Coker: Virgin Mobile CRM Upgrade Failure

I ve recently got a new Xperia X10 Android phone for my with with Virgin mobile, it s generally been working OK although I am having some issues [1], I ll write another blog post soon about other problems I ve discovered with the phone and how I ve solved some of the previous ones.I upgraded my wife s phone first because I can t be without Nagios SMS messages if things don t work. So now that things are generally working I want to get myself an Xperia through Virgin (and have my wife s phone get the Nagios SMS in the mean-time). But since last Friday the entire Virgin sales infrastructure has apparently been down. It started with just declining my attempts to purchase a new phone on a separate account, but when I decided to add a second phone to my wife s account the web site told me that they are upgrading their CRM system and it should be fixed on the 22nd of Feb (yesterday). The web site is now saying that I should check back in 2 hours for an update , it s been saying that for a couple of days now.So for most of a week potential Virgin customers have been turned away. It could be that Virgin stores are processing sales on paper, but they offer some significant discounts for web sales the plan I want is a $39 per month plan and I ll get 3 months free for buying on the web. I m not about to visit a store and lose $117! I m sure that many people are losing confidence in Virgin and taking their business elsewhere. I have only just installed the 3G Watchdog free Android app that monitors bandwidth use and automatically turns off 3G when the quota is reached. For the first few days of using the phone which were more data intensive than usual I had no monitoring and no way of using the Virgin web site to discover how much was used. If Virgin bill me extra for data use I ll complain and demand that they alter the bill.This is even worse for pre-paid customers who can t add credit to their account while this happens!Virgin state that they are upgrading the hardware, operating system and database our platform uses to ensure that we can service our Members even better for years to come [2]. I wonder how people get themselves into such a mess. I guess they didn t have a decent test environment to allow testing the upgrade process before doing it on the live data, I can understand a routine small upgrade going wrong and corrupting data in a way that takes some time to resolve. But when everything is upgraded then everything should be tested, and tested before going live! One thing that Virgin could do to regain some credibility is to publish what went wrong and what they learned from it. I would be much more happy to trust my personal data and my business critical phone to a company that learns from it s mistakes and publishes plans on how they do better than one that just does PR.According to Whirlpool they did the same thing on the 25th of January, so they have had two outages of their billing/CRM system in two months! [3]. The Whirlpool thread has discussion about last month s down-time and this month s down-time.On the up-side, Whirlpool user Kevin JD is a Virgin representative who advised customers to send email to telesales@virginmobile.com.au with a contact phone number if they have any issues. It s good to see a company engaging with it s customers.Update: An hour after emailing the URL to this post to Virgin I got a call from a service representative. It wasn t a very productive call as I already knew that their servers are down and they can t do anything. But it s good to know that they are very enthusiastic about making things better. One useful thing that I learned is that my wife s service is probably on a pro-rated bandwidth quota. As she got the phone in the middle of the month we can only do 100M of data transfer not 200M before the end of the month, by my rough calculations I ve downloaded well over 50M of data (maybe as much as 100M) from the Android marketplace. So it might be necessary to negotiate about the bill as soon as their CRM system works.

21 February 2011

Cyril Brulebois: Debian XSF News #6

Enough news to release another Debian XSF News issue, after less than a week. Enough writing for now, I m getting new mails in xorg-announce@.

20 February 2011

Evgeni Golov: Desktop in a shell

People are using computers, everywhere, really! ;)
As you might guess correctly, so do I.Basically, I am using three computers: my laptop (ThinkPad X201s, awesome machine, but pabs told me not to post any more adverts for ThinkPads on Planet Debian *g*), my smartphone (Motorola Milestone, yes, that counts as a computer) and random_pc (for random as in my girlfriends or some other trusted (!!!) friends computer).
My laptop is running Debian GNU/Linux unstable with Xfce4.6, my smartphone is running Android 2.2.1 Froyo, my girlfriend has Ubuntu with GNOME, a friend runs Debian unstable with GNOME, another one Arch Linux with KDE4 and so on. And on all these machines I want be able to work, which means I have to read mail and rss, chat via IRC, JabberXMPP and ICQ, have a look at my to-do list, ssh into different machines, write some code, tweet and dent etc.In the following series of posts I will describe how I can handle about 90% of my work on every (trusted) computer out there, using ssh, screen, mutt, irssi, BitlBee, newsbeuter etc.As I am describing the setup as a Desktop in a shell , let s start with a login- and desktop/window-manager: ssh+screen.sshObviously, you need a machine to ssh into it, where the Desktop will live on. For me, that s my home router/fileserver/vm-server dorei, running Debian GNU/Linux LennySqueeze with OpenSSH as a kind of login manager ;)Yes, my user is allowed to login with a password instead of a public key. And well, that s all for the login-manager, no extra configuration needed.screenAfter logging in, I start my window-manager with screen -rd, -r for reattach a running screen session, -d for detach it if it is already attached somewhere else. Or I can start a new session by just typing screen. Inside the screen I have multiple windows (one can create new ones with ^A c) with all the needed software running. I can switch windows by pressing ^A N, N being the number of the window, ^A n for the next window, ^A p for the previous one or ^A ^a for the last one. Or I can get a window-list with ^A w. If needed, I can rename windows with ^A A, followed by the new name. That should be enough for almost everyone. Let s just add a window-list to the bottom (as you might have seen on GNOME, Xfce, KDE and even Windows ;) by adding the following to the ~/.screenrc:
caption always " "                    # clear line before hardstatus
hardstatus alwayslastline "% = kb [ % B %H:$USER % b ][ %=% w %?%-Lw%?% b (% W %n*%f %t%?(%u)%?% b )% w %?%+Lw%?%?%= % b ][% B  %l % B % W %d.%0m % b ]"
You get the current host- and username, the machine load and the date for free ;)Even if it is possible, I do not have any autostart like stuff in my .screenrc as the machine is running stable and I start the screen and the apps inside maybe once a year after a reboot.screenrcMy .screenrc looks like this:
# detach on hangup
  autodetach on
# don't display the copyright page
  startup_message off
# set scrollback to 2000 lines, default 100
  defscrollback 2000
# set silencewait to 15 seconds, default 30
  silencewait 15
# new shells should be started as login-shells
  shell -$SHELL
# make a fancy statusline
  caption always " "                    # clear line before hardstatus
  hardstatus alwayslastline "% = kb [ % B %H:$USER % b ][ %=% w %?%-Lw%?% b (% W %n*%f %t%?(%u)%?% b )% w %?%+Lw%?%?%= % b ][% B  %l % B % W %d.%0m % b ]"
# make higlighting bold, black on blue background
  sorendition +b bk
# some fixes, no I do not know where they come from :)
  termcap  xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
  terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
  termcapinfo  xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
  termcapinfo xterm* OL=100
  termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
  termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
  termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
  termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
  termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
  termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334, \344, \366, \374,~\337'
  termcapinfo xterm* be
  termcapinfo xterm xterms xs ti@:te=\E[2J
  termcapinfo wy75-42 xo:hs@
  termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
  termcapinfo  hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$ :fs=\E[0 \E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
  termcap  vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
  terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
  termcapinfo linux C8
# some bindings
  bind k
  bind ^k
  bind .
  bind ^\
  bind \\
  bind ^h
  bind h
  bind 'w' windowlist -b
  bind 'W' windows
  bind 'K' kill
  bind 'I' login on
  bind 'O' login off
  bind ' ' history
  bind = resize =
  bind + resize +3
  bind - resize -3
# Mutt demands this
# http://wiki.mutt.org/?MuttFaq/Appearance
 defbce on
 term screen-bce
That s all for my screen setup. The obvious, boring screenshot follows:See you next time, when I will present my mutt setup here.

Joey Hess: the fate of the orphans

(Non-Debian readers can stop reading now, I'm talking about so-called "orphaned packages" and not anything of real-world importance.) In 2008 I stopped maintaining non-native packages in Debian. At the time I maintained a fair amount of stuff. It's interesting to see what happened to it after I gave it up, partly because some of the results seem so random and partly because some of what has happened seems to point at weaknesses in Debian. First, the success stories. More than half of my packages are now being maintained by others: xaos, longrun, fbreader, liblinebreak, analog, xgalaga, znc, sysnews, metastore, bsdgames, uqm, oneko, kobodeluxe, archivemail, unclutter I still use much of this stuff, some only occasionally, and other daily, and am glad it's being kept alive. (It's surprising that someone still care about longrun.) I was unhappy to have to NMU procmeter3 just before the release of Debian 6.0 to fix a trivial to debug RC bug that almost got it removed from the release. I hope that was just a bump in its road. Also, splitvt is now maintained again after being orphaned a long time. I'm not sure if it makes sense to keep it in Debian, since screen can do the same thing, and it has a security history, but someone wants to, so that's fine. Two packages are left on life support. I'm surprised nobody wants to maintain grepmail, unless we're all using notmuch or mairix now? And dgen is the best Sega emulator I know of. Several games were not picked up by the games team, despite them showing some interest originally, and were removed: xtris, xjewel, xemeraldia, xbl Of those, xemeraldia in particular is a lot of fun, I'm surprised nobody cared to keep it. Also, the nestra Nintendo emulator was shipped with squeeze, but now is removed as it never got a maintainer. I don't know if there is a better NES emulator in Debian. The intercal programming language was removed. Surprising. Debian does at least still have clc-intercal for all our pressing Intercal needs. Finally, sparkline-php was removed today despite never having had any bugs, needing no maintenance, and being a suggests of ikiwiki, which is now more buggy (broken relationships, outdated docs) and less featureful in Debian.

David Paleino: Getting network devices with Python and udev - 2

Thank you Ben for your kind reply :) In my first post, I was trying to distinguish Ethernet-like device types. Here's the final code:
#!/usr/bin/python
import gudev
client = gudev.Client(['rfkill', 'net'])
for dev in client.query_by_subsystem('net'):
    if dev.get_sysfs_attr_as_int("type") != 1:
        continue
    driver = dev.get_driver()
    if not driver:
        parent = dev.get_parent()
        if parent:
            driver = parent.get_driver()
    # available: wlan, wwan, wimax
    if dev.get_devtype() == 'wlan':
        type = 'Wireless'
    else:
        type = 'Wired'
    print type, dev.get_name(), driver, dev.get_sysfs_path()
However, I have a few remarks. First, I don't understand why ethernet devices don't have a "devtype" attribute. How can I be sure that, failing to be "wlan", "wwan" or "wimax", it's a wired one? (not that any other kind of device comes to my mind, heh). Second, I had to look through Linux sources to find the possible values for DEVTYPE; in particular, I grepped for device_type structs inside ./drivers/net/. And the documentation you pointed me to, while being useful for other reasons (the rfkill support), didn't solve my doubts about the sysfs hierarchy. Rather, your comment about DEVTYPE helped quite a lot in this particular problem. Thank you! :)

19 February 2011

Thorsten Glaser: Where in the world is Carmen Sanbuggo?

Eh. Why does mksh built with (a patched: mkstemp(3) added) klibc work suddenly, unexpectedly? To reproduce, I just uploaded mksh_39.3.20110218-1.dsc and you can run DEB_BUILD_OPTIONS=mksh-static=klibc,dietlibc,eglibc dpkg-buildpackage -rfakeroot to verify it, once you have mkstemp(3). (I will probably send a smaller implementation of that in, later.) I have that and the open fix and the m68k patch applied, nothing else where did my bug go? ObQuestion: what s the legal (copyright/trademark) status of the Atari logo (the one in rainbow colours, with three things going up, right and left leg looking like an umbrella stand s)?

Next.

Previous.