<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>debian — jd:/dev/blog</title><description>Posts tagged &quot;debian&quot; on jd:/dev/blog.</description><link>https://julien.danjou.info/</link><item><title>The bad practice in FOSS projects management</title><link>https://julien.danjou.info/blog/foss-projects-management-bad-practice/</link><guid isPermaLink="true">https://julien.danjou.info/blog/foss-projects-management-bad-practice/</guid><description>During the OpenStack summit a few weeks ago, I had the chance to talk to some people about my experience on running open source projects. It turns out that after hanging out in communities and contrib</description><pubDate>Thu, 09 Jun 2016 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;During the OpenStack summit a few weeks ago, I had the chance to talk to some people about my experience on running open source projects. It turns out that after hanging out in communities and contributing to many projects for years, I may be able to provide some hindsight and an external eye to many of those who are new to it.&lt;/p&gt;
&lt;p&gt;There are plenty of resource explaining how to run an open source projects out there. Today, I would like to take a different angle and emphasize what you should not &lt;em&gt;socially&lt;/em&gt; do in your projects. This list comes from various open source projects I encountered these past years. I&apos;m going to go through some of the bad practice I&apos;ve spotted, in a random order, illustrated by some concrete example.&lt;/p&gt;
&lt;h2&gt;Seeing contributors as an annoyance&lt;/h2&gt;
&lt;p&gt;When software developers and maintainers are busy, there&apos;s one thing they don&apos;t need: more work. To many people, the instinctive reactions to external contribution is: damn, more work. And actually, it is.&lt;/p&gt;
&lt;p&gt;Therefore, some maintainers tend to avoid that surplus of work: they state they don&apos;t want contributions, or make contributors feel un-welcomed. This can take a lot of different forms, from ignoring them to being unpleasant. It indeed avoids the immediate need to deal with the work that has been added on the maintainer shoulders.&lt;/p&gt;
&lt;p&gt;This is one of the biggest mistake and misconception of open source. If people are sending you more work, you should do whatever it takes to feel them welcome so they continue working with you. They might pretty soon become the guys doing the work you are doing instead of you. Think: retirement!&lt;/p&gt;
&lt;p&gt;Let&apos;s take a look at my friend Gordon, who I saw starting as a Ceilometer contributor in 2013. He was doing great code reviews, but he was actually giving me more work by catching bugs in my patches and sending patches I had to review. Instead of being a bully so he would stop making me rework my code and reviews his patches, &lt;a href=&quot;http://lists.openstack.org/pipermail/openstack-dev/2013-May/008975.html&quot;&gt;I requested that we trust him even more by adding him as a core reviewer&lt;/a&gt;. time contribution.&lt;/p&gt;
&lt;p&gt;And if they don&apos;t do this one-time contribution, they won&apos;t make it two. They won&apos;t make any. Those projects may have just lost their new maintainers.&lt;/p&gt;
&lt;h2&gt;Letting people only do the grunt work&lt;/h2&gt;
&lt;p&gt;When new contributors arrive and want to contribute to a particular project, they may have very different motivation. Some of them are users, but some of them are just people looking to see how it is to contribute. Getting the thrill of contribution, as an exercise, or as a willingness to learn and start contributing back to the ecosystem they use.&lt;/p&gt;
&lt;p&gt;The usual response from maintainers is to push people into doing grunt work. That means doing jobs that have no interest, little value, and probably no direct impact on the project.&lt;/p&gt;
&lt;p&gt;Some people actually have no problem with it, some have. Some will feel offended to do low impact work, and some will love it as soon as you give them some sort of acknowledgment. Be aware of it, and be sure to high-five people doing it. That&apos;s the only way to keep them around.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/computer-coding.jpg&quot; alt=&quot;computer-coding&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Not valorizing small contributions&lt;/h2&gt;
&lt;p&gt;When the first patch that comes in from a new contributor is a typo fix, what developers think? That they don&apos;t care, that you&apos;re wasting their precious time with your small contribution. And nobody cares about bad English in the documentation, don&apos;t they?&lt;/p&gt;
&lt;p&gt;This is wrong. See my first contributions to &lt;a href=&quot;https://github.com/home-assistant/home-assistant/commit/36cb12cd157b22bdc1fa28b700ca0fb751cca7a4&quot;&gt;home-assistant&lt;/a&gt; and &lt;a href=&quot;https://github.com/marijnh/Postmodern/commit/ec537f72393e1032853b78e0b7b4d0ff98632a02&quot;&gt;Postmodern&lt;/a&gt;: I fixed typos in the documentation.&lt;/p&gt;
&lt;p&gt;I contributed to &lt;a href=&quot;http://orgmode.org&quot;&gt;Org-mode&lt;/a&gt; for a few years. &lt;a href=&quot;http://repo.or.cz/org-mode.git/commit/a153f5a31dffbc6b78a8c5d8d027961abe585a38&quot;&gt;My first patch to orgmode&lt;/a&gt; was about fixing a docstring. Then, I sent 56 patches, fixing bugs and adding fancy features and also wrote a few external modules. To this day, I&apos;m still #16 in the top-committer list of Org-mode who contains 390 contributors. So not that would call a small contributor. I am sure the community is glad they did not despise my documentation fix.&lt;/p&gt;
&lt;h2&gt;Setting the bar too high for new comers&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/too-high.png&quot; alt=&quot;too-high&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When new contributors arrive, their knowledge about the project, its context, and the technologies can vary largely. One of the mistakes people often make is to ask contributors too complicated things that they cannot realize. That scares them away (many people are going to be shy or introvert) and they may just disappear, feeling too stupid to help.&lt;/p&gt;
&lt;p&gt;Before making any comment, you should not have any assumption about their knowledge. That should avoid such situation. You also should be very delicate when assessing their skills, as some people might feel vexed if you underestimate them too much.&lt;/p&gt;
&lt;p&gt;Once that level has been properly evaluated (a few exchanges should be enough), you need to mentor to the right degree your contributor so it can blossom. It takes time and experience to master this, and you may likely lose some of them in the process, but it&apos;s a path every maintainer has to take.&lt;/p&gt;
&lt;p&gt;Mentoring is a very important aspect of welcoming new contributors to your project, whatever it is. Pretty sure that applies nicely outside free software too.&lt;/p&gt;
&lt;h2&gt;Requiring people to make sacrifices with their lives&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/balance-stones.jpg&quot; alt=&quot;balance-stones&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is an aspect that varies a lot depending on the project and context, but it&apos;s really important. As a free software project, where most people will contribute on their own good will and sometimes spare time, you must not require them to make big sacrifices. This won&apos;t work.&lt;/p&gt;
&lt;p&gt;One of the worst implementation of that is requiring people to fly 5 000 kilometers to meet in some place to discuss the project. This puts contributors in an unfair position, based on their ability to leave their family for a week, take a plane/boat/car/train, rent an hotel, etc. This is not good, and everything should be avoided to &lt;em&gt;require&lt;/em&gt; people to do that in order to participate and feel included in the project and blend in your community. Don&apos;t get me wrong: that does not me social activities should be prohibited, on the contrary. Just avoid excluding people when you discuss any project.&lt;/p&gt;
&lt;p&gt;The same apply to any other form of discussion that makes it complicated for everyone to participate: IRC meetings (it&apos;s hard for some people to book an hour, especially depending on the timezone they live in), video-conference (especially using non-free software), etc.&lt;/p&gt;
&lt;p&gt;Everything that requires people to basically interact with the project in a synchronous manner for a period of time will put constraints on them that can make them uncomfortable.&lt;/p&gt;
&lt;p&gt;The best medium is still e-mail and asynchronous derivative (bug trackers, etc), as it is asynchronous and allow people to work at their own pace at their own time.&lt;/p&gt;
&lt;h2&gt;Not having an (implicit) CoC&lt;/h2&gt;
&lt;p&gt;Codes of conduct seem to be a trendy topic (and a touchy subject), as more and more communities are opening to a wilder audience than they used to be – which is great.&lt;/p&gt;
&lt;p&gt;Actually, all communities have a code of conduct, being written with black ink or being carried in everyone&apos;s mind unconsciously. Its form is a matter of community size and culture.&lt;/p&gt;
&lt;p&gt;Now, depending on the size of your community and how you feel comfortable applying it, you may want to have it composed in a document, e.g. like &lt;a href=&quot;https://www.debian.org/code_of_conduct&quot;&gt;Debian did&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Having a code of conduct does not transform your whole project community magically into a bunch of carebears following its guidance. But it provides an interesting point you can refer to as soon as you need. It can help throwing it at some people, to indicate that their behavior is not welcome in the project, and somehow, ease their potential exclusion – even if nobody wants to go that far generally, and that&apos;s it&apos;s rarely that useful.&lt;/p&gt;
&lt;p&gt;I don&apos;t think it&apos;s mandatory to have such a paper on smaller projects. But you have to keep in mind that the implicit code of conduct will be derived from &lt;em&gt;your&lt;/em&gt; own behavior. The way your leader(s) will communicate with others will set the entire social mood of the project. Do not underestimate that.&lt;/p&gt;
&lt;p&gt;When we started the &lt;a href=&quot;http://launchpad.net/ceilometer&quot;&gt;Ceilometer&lt;/a&gt; project, we implicitly followed the &lt;a href=&quot;https://www.openstack.org/legal/community-code-of-conduct/&quot;&gt;OpenStack Code of Conduct&lt;/a&gt; before it even existed, and probably set the bar a little higher. Being nice, welcoming and open-minded, we achieved a descent score of diversity, having up to 25% of our core team being women – way above the current ratio in OpenStack and most open source projects!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/friends-beach.jpg&quot; alt=&quot;friends-beach&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Making people not English native feeling like outsider&lt;/h2&gt;
&lt;p&gt;It&apos;s quite important to be aware of that the vast majority of free software project out there are using English as the common language of communication. It makes a lot of sense: it&apos;s a commonly spoken language, and it seems to do the job correctly.&lt;/p&gt;
&lt;p&gt;But a large part of the hackers out there are not native English speakers. Many are not able to speak English fluently. That means the rate at which they can communicate and run a conversation might be very low, which can make some people frustrated, especially native English speaker.&lt;/p&gt;
&lt;p&gt;The principal demonstration of this phenomena can be seen in social events (e.g. conferences) where people are debating. It can be very hard for people to explain their thoughts in English and to communicate properly at a decent rate, making the conversation and the transmission of ideas slow. The worst thing that one can see in this context is an English native speaker cutting people off and ignoring them, just because they are talking too slowly. I do understand that it can be frustrating, but the problem here is not the non-native English speaking, it&apos;s the medium being used that does not make your fellow on the same level of everyone by moving the conversation orally.&lt;/p&gt;
&lt;p&gt;To a lesser extent, the same applies to IRC meetings, which are by relatively synchronous. Completely asynchronous media do not have this flaw, that&apos;s why they should also be preferred in my opinion.&lt;/p&gt;
&lt;h2&gt;No vision, no delegation&lt;/h2&gt;
&lt;p&gt;Two of the most commonly encountered mistakes in open source projects: seeing the maintainer struggling with the growth of its project while having people trying to help.&lt;/p&gt;
&lt;p&gt;Indeed, when the flow of contributor starts coming in, adding new features, asking for feedback and directions, some maintainers choke and don&apos;t know how to respond. That ends up frustrating contributors, which therefore may simply vanish.&lt;/p&gt;
&lt;p&gt;It&apos;s important to have a vision for your project and communicate it. Make it clear for contributors what you want or don&apos;t want in your project. Transferring that in a clear (and non-aggressive, please) manner, is a good way of lowering the friction between contributors. They&apos;ll pretty soon know if they want to join your ship or not, and what to expect. So be a good captain.&lt;/p&gt;
&lt;p&gt;If they chose to work with you and contribute, you should start trusting them as soon as you can and delegate some of your responsibilities. This can be anything that you used to do: review patches targeting some subsystem, fixing bugs, writing docs. Let people own an entire part of the project so they feel responsible and care about it as much as you do. Doing the opposite, which is being a control-freak, is the best shot at staying alone with your open source software.&lt;/p&gt;
&lt;p&gt;And no project is going to grow and be successful that way.&lt;/p&gt;
&lt;p&gt;In 2009, when Uli Schlachter sent &lt;a href=&quot;http://article.gmane.org/gmane.comp.window-managers.awesome.devel/1746/match=uli+schlachter&quot;&gt;his first patch to awesome&lt;/a&gt;, this was more work for me. I had to review this patch, and I was already pretty busy designing the new versions of awesome and doing my day job! Uli&apos;s work was not perfect, and I had to fix it myself. More work. And what did I do? A few minutes later, I &lt;a href=&quot;http://article.gmane.org/gmane.comp.window-managers.awesome.devel/1747/match=uli+schlachter&quot;&gt;replied to him&lt;/a&gt; with a clear plan of what he should do and what I thought about his work.&lt;/p&gt;
&lt;p&gt;In response, Uli sent patches and improved the project. Do you know what Uli does today? He manages the awesome window manager project since 2010 instead of me. I managed to transmit my vision, delegate, and then retired!&lt;/p&gt;
&lt;h2&gt;Non-recognition of contributions&lt;/h2&gt;
&lt;p&gt;People contribute in different ways, and it&apos;s not always code. There&apos;s a lot of things around a free software projects: documentation, bug triage, user support, user experience design, communication, translation…&lt;/p&gt;
&lt;p&gt;It took a while for example to &lt;a href=&quot;http://debian.org&quot;&gt;Debian&lt;/a&gt; to recognize that their translators could have the status of Debian Developer. &lt;a href=&quot;http://openstack.org&quot;&gt;OpenStack&lt;/a&gt; is working in the same direction by trying to &lt;a href=&quot;https://wiki.openstack.org/wiki/NonATCRecognition&quot;&gt;recognize non-technical contributions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As soon as your project starts attributing badges to some people and creating classes of different members in the community, you should be very careful that you don&apos;t forget anyone. That&apos;s the easiest road to losing contributors along the road.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/heart-sign.jpg&quot; alt=&quot;heart-sign&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Don&apos;t forget to be thankful&lt;/h2&gt;
&lt;p&gt;This whole list has been inspired by many years of open source hacking and free software contributions. Everyone&apos;s experience and feeling might be different, or malpractice may have been seen under different forms. Let me know and if there&apos;s any other point that you encountered and blocked you to contribute to open source projects!&lt;/p&gt;
</content:encoded><category>open-source</category><category>openstack</category><category>awesome</category><category>debian</category><category>emacs</category></item><item><title>Cloud tools for Debian</title><link>https://julien.danjou.info/blog/cloud-init-utils-debian/</link><guid isPermaLink="true">https://julien.danjou.info/blog/cloud-init-utils-debian/</guid><description>Recently, I&apos;ve worked on the cloud utilities that are provided as standard in Ubuntu, and I ported them to Debian. Let&apos;s see how that brings Debian to the cloud!  Basics of a cloud image When starting</description><pubDate>Wed, 13 Feb 2013 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Recently, I&apos;ve worked on the cloud utilities that are provided as standard in Ubuntu, and I ported them to Debian. Let&apos;s see how that brings Debian to the cloud!&lt;/p&gt;
&lt;h2&gt;Basics of a cloud image&lt;/h2&gt;
&lt;p&gt;When starting an instance on a IaaS platform, your instance image is raw, un-configured. Therefore, you need to have a way to configure it automagically at boot time, based on what you want to do with it. Usually, IaaS platforms provides for this a metadata server, like &lt;a href=&quot;http://aws.amazon.com/ec2&quot;&gt;Amazon EC2&lt;/a&gt; does. It&apos;s a special HTTP server listening on a special and hard-coded IP address that your instance can request to know basic information about itself, like its hostname, and retrieve basic user metadata to auto-configure itself. You can check the &lt;a href=&quot;http://docs.openstack.org/trunk/openstack-compute/admin/content/metadata-service.html&quot;&gt;documentation about the OpenStack metadata service&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Also, image have a predefined size at upload time. So when you run it on a platform, the disk size you request is usually bigger than the size of your image disk: you mayneed to resize and grow your image to use the full disk space that is allocated to your instance.&lt;/p&gt;
&lt;h2&gt;Needed tools&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/debian-cloud-1.jpg&quot; alt=&quot;debian-cloud-1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;To run a cloud platform, and especially &lt;a href=&quot;http://aws.amazon.com/ec2&quot;&gt;Amazon EC2&lt;/a&gt; or &lt;a href=&quot;http://openstack.org&quot;&gt;OpenStack&lt;/a&gt;, you need to configure and update your image based on the context you&apos;re started in. This also includes extending your template image disk to use the full available disk size provided to the running instance.&lt;/p&gt;
&lt;p&gt;Ubuntu provides a set of cloud utils, which is actually composed of different source packages (&lt;em&gt;cloud-init&lt;/em&gt;, &lt;em&gt;cloud-utils&lt;/em&gt; and &lt;em&gt;clout-initiramfs-tools&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Combined, these 3 packages will allow you to run a number of step, from disk resize at boot time to Puppet configuration handling.&lt;/p&gt;
&lt;p&gt;So &lt;em&gt;Ubuntu&lt;/em&gt; got this working right a long time ago, but unfortunately, Debian was really late on that.&lt;/p&gt;
&lt;p&gt;Until now.&lt;/p&gt;
&lt;p&gt;I&apos;ve worked on getting these into Debian, and you can now find these 3 packages adapted and uploaded to Debian sid.&lt;/p&gt;
&lt;p&gt;All you need to do, is to build a Debian image and then run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apt-get install cloud-init cloud-tools cloud-initiramfs-growroot
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And voilà: at the next reboot, your instance will extend its root partition size to the full available disk size, and ask the metadata server to configure things like its hostname.&lt;/p&gt;
&lt;p&gt;The packages sources are available on Debian&apos;s git server for &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/cloud-utils.git;a=summary&quot;&gt;cloud-utils&lt;/a&gt;&lt;br /&gt;
and &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/cloud-initramfs-tools.git;a=summary&quot;&gt;cloud-initramfs-tools&lt;/a&gt; and you can build them yourself until the packages are processed by ftp-master and get out of the &lt;a href=&quot;http://ftp-master.debian.org/new.html&quot;&gt;NEW queue&lt;/a&gt;. cloud-init on the other hand is directly &lt;a href=&quot;http://packages.debian.org/search?keywords=cloud-init&quot;&gt;available in sid&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;One of next steps would probably be to build or enhance a tool like &lt;a href=&quot;https://launchpad.net/vmbuilder&quot;&gt;vmbuilder&lt;/a&gt; to be able to build cloud-compatible Debian images with a simple command line.&lt;/p&gt;
</content:encoded><category>debian</category><category>openstack</category></item><item><title>Sony Vaio Z Debian Linux support</title><link>https://julien.danjou.info/blog/sony-vaio-svz13-linux/</link><guid isPermaLink="true">https://julien.danjou.info/blog/sony-vaio-svz13-linux/</guid><description>I had to install Debian Wheezy on a brand new Sony Vaio Z laptop with the new Ivy Bridge architecture (SVZ1311C5E). I&apos;ll talk about this here, because it&apos;s always nice to know that new hardware works</description><pubDate>Sat, 11 Aug 2012 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I had to install Debian Wheezy on a brand new Sony Vaio Z laptop with the new Ivy Bridge architecture (SVZ1311C5E). I&apos;ll talk about this here, because it&apos;s always nice to know that new hardware works quite fine (or not) under Debian.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/content/images/03/sony-vaio-z-2012-1.jpg&quot; alt=&quot;sony-vaio-z-2012-1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The laptop is delivered with Window 7, which I decided to remove entirely anyway, and replace with Debian. I&apos;ve installed it with Linux 3.2 and then ran Linux 3.4, 3.5 and 3.6-rc1.&lt;/p&gt;
&lt;h2&gt;USB booting&lt;/h2&gt;
&lt;p&gt;Don&apos;t ask me why, nor an Ubuntu or Debian USB installation booted, blocked at SYSLINUX at best, or at a black screen. This does not work. I had to use PXE to install Debian.&lt;/p&gt;
&lt;h2&gt;Storage&lt;/h2&gt;
&lt;p&gt;The only thing that can be surprising, is that the 128 GB SSD storage is actually made of 2 64 GB Samsung SSD aggregated in a RAID 0 using &lt;em&gt;&lt;a href=&quot;http://www.intel.com/p/en_US/support/highlights/chpsts/imsm/&quot;&gt;Intel Rapid Storage Technology&lt;/a&gt;&lt;/em&gt;, previously known as &lt;em&gt;Intel Matrix&lt;/em&gt;. This is supported by Linux using the &lt;em&gt;dm-raid&lt;/em&gt; module. So this is a fake RAID, and you anyway can see the both drives as &lt;em&gt;sda&lt;/em&gt; and &lt;em&gt;sdb&lt;/em&gt; under Linux.&lt;/p&gt;
&lt;p&gt;Unfortunately, this kind of RAID is not supported correctly by GRUB, and I was unable to install it this way. Therefore, I decided to remove entirely this fake RAID (which is possible via the BIOS) and use a Linux software &lt;em&gt;md&lt;/em&gt; RAID 0 instead, plus crypto on top of it. That I know well and I trust. :)&lt;/p&gt;
&lt;h2&gt;Graphics&lt;/h2&gt;
&lt;p&gt;The Intel HD Graphics 4000 works fine. I&apos;m alsmo using the HDMI output, which works fine. There&apos;s some GPU hanging (as seen on screen and in kernel logs) in Linux up to 3.4, but with versions 3.5 and above, I didn&apos;t see any problem so far.&lt;/p&gt;
&lt;h2&gt;Sound&lt;/h2&gt;
&lt;p&gt;The Intel HDA sound card works pretty well, both for playing and recording. The main problem is that I hear a constant noise on the speakers, but tweaking the ALSA mixers ends it at some point. There&apos;s still probably a bug, not yet resolved in Linux 3.6-rc1.&lt;/p&gt;
&lt;h2&gt;Keyboard&lt;/h2&gt;
&lt;p&gt;The keyboard works fine, and the back-light too, via the &lt;em&gt;sony-laptop&lt;/em&gt; kernel module. Wonderful.&lt;/p&gt;
&lt;h2&gt;Touchpad&lt;/h2&gt;
&lt;p&gt;Touchpad works fine.&lt;/p&gt;
&lt;h2&gt;Fingerprint&lt;/h2&gt;
&lt;p&gt;It does not work, and is not supported according to my research. Not that I care about, but don&apos;t count on it. It&apos;s an AuthenTec AES1660.&lt;/p&gt;
&lt;h2&gt;Webcam&lt;/h2&gt;
&lt;p&gt;It works perfectly.&lt;/p&gt;
&lt;h2&gt;USB&lt;/h2&gt;
&lt;p&gt;Well, USB 3.0 does not work. I had to disable XHCI in the BIOS and use the 2 ports as standard USB 2.0, otherwise I would just get errors from the kernel. Still not working with Linux 3.6-rc1, and I&apos;ve no clue to debug, and do not use USB 3.0 yet, so…&lt;/p&gt;
&lt;h2&gt;WiFi&lt;/h2&gt;
&lt;p&gt;The WiFi module (based on iwlwifi) works fine. The only problem with NetworkManager is that the &lt;em&gt;sony-laptop&lt;/em&gt; offers a second rfkill switch and NM does not know how to handle it correctly. &lt;a href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=680632&quot;&gt;A bug is opened about this&lt;/a&gt; and I hope to be able to write a patch or something at some point. Also, there seems to be some quality issue with the &lt;em&gt;iwlwifi&lt;/em&gt; driver and 802.11n at this point. I&apos;m losing connection quite often when the signal drops below 40 %. Loading the module with &lt;em&gt;11n_disable=1&lt;/em&gt; helps a lot.&lt;/p&gt;
&lt;h2&gt;Ethernet&lt;/h2&gt;
&lt;p&gt;The gigabit Realtek Ethernet controller works perfectly.&lt;/p&gt;
&lt;h2&gt;Card reader&lt;/h2&gt;
&lt;p&gt;Works perfectly.&lt;/p&gt;
</content:encoded><category>debian</category><category>linux</category></item><item><title>mod_defensible 1.5 released</title><link>https://julien.danjou.info/blog/mod_defensible-1-5/</link><guid isPermaLink="true">https://julien.danjou.info/blog/mod_defensible-1-5/</guid><description>Apache 2.4 being out, I noticed that my good old mod defensible did not compile anymore.</description><pubDate>Tue, 03 Apr 2012 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Apache 2.4 being out, I noticed that my good old &lt;a href=&quot;http://github.com/jd/mod_defensible&quot;&gt;mod_defensible&lt;/a&gt; did not compile anymore.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html&quot;&gt;changes in the new Apache 2.4 API&lt;/a&gt; were small for its concern, so it was pretty easy to update this software to make it compile again.&lt;/p&gt;
&lt;p&gt;Honestly, I&apos;m not sure that this module is really used into the wild, but I still think that it can serve as a good prototype for doing other things so I like keeping it around. :-)&lt;/p&gt;
&lt;p&gt;All this has been triggered by the Apache 2.4 arrival into Debian experimental. Therefore I&apos;ve updated the mod_defensible package to use the new dh_apache2, and imported it into Git at the same time.&lt;/p&gt;
</content:encoded><category>web</category><category>email</category><category>debian</category></item><item><title>Ten years as a Debian developer</title><link>https://julien.danjou.info/blog/ten-years-as-a-debian-developer/</link><guid isPermaLink="true">https://julien.danjou.info/blog/ten-years-as-a-debian-developer/</guid><description>Ten years ago, I joined the Debian project as a developer.</description><pubDate>Fri, 24 Feb 2012 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ten years ago, I joined the &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian&lt;/a&gt; project as a developer.&lt;/p&gt;
&lt;p&gt;At that time, I was 18 and in my first year at university, hanging out with the &lt;a href=&quot;http://tuxfamily.org&quot;&gt;TuxFamily&lt;/a&gt; system administrators, which included 3 french Debian developers (sjg, igenibel and creis).&lt;/p&gt;
&lt;p&gt;I was learning Debian packaging while working on &lt;a href=&quot;http://vhffs.org&quot;&gt;VHFFS&lt;/a&gt;, and decided to package one or two non-yet-packaged software for Debian. My friends pushed me into the &lt;a href=&quot;http://nm.debian.org&quot;&gt;NM process&lt;/a&gt;, and &lt;a href=&quot;https://nm.debian.org/nmstatus.php?email=acid@hno3.org&quot;&gt;less than 2 months later&lt;/a&gt; I was a Debian developer. One have to admit that back in the days, the NM process was really fast if you were able to reply to the questions quickly. :-) I think I became the youngest developer among Debian&apos;s ones.&lt;/p&gt;
&lt;p&gt;That was my first steps in a Free Software project, and it was really exciting.&lt;/p&gt;
&lt;p&gt;In 10 years, I&apos;ve been doing a lot of different things for Debian. Sure, I&apos;ve been using it all the years long, but let&apos;s recap a bit what I did, from what I recall.&lt;/p&gt;
&lt;p&gt;My first Debian only project was &lt;a href=&quot;http://packages.debian.org/apt-build&quot;&gt;apt-build&lt;/a&gt; around 2003, and later &lt;a href=&quot;http://packages.debian.org/rebuildd&quot;&gt;rebuildd&lt;/a&gt; in 2007.&lt;/p&gt;
&lt;p&gt;I built the &lt;a href=&quot;https://alioth.debian.org/projects/pkg-xen/&quot;&gt;Xen packaging team&lt;/a&gt; in 2005, I&apos;ve been a Stable Release Manager for a year in 2006, and did heavy bug squashing to release Etch that same year.&lt;/p&gt;
&lt;p&gt;I also was an &lt;a href=&quot;https://nm.debian.org/whoisam.php&quot;&gt;Application Manager in 2006&lt;/a&gt; and managed the application of 2&lt;br /&gt;
Debian developers (&lt;a href=&quot;https://nm.debian.org/nmstatus.php?email=joseparrella%40cantv.net&quot;&gt;Jose Parrella&lt;/a&gt; and &lt;a href=&quot;https://nm.debian.org/nmstatus.php?email=debian%40damianv.com.ar&quot;&gt;Damián Viano&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I admit I&apos;ve been less active in Debian after 2007, mainly because I was busy working on &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt;, &lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;GNU Emacs&lt;/a&gt; and others software.&lt;/p&gt;
&lt;p&gt;Since 2011, I joined the &lt;a href=&quot;http://alioth.debian.org/projects/openstack/&quot;&gt;OpenStack packaging team&lt;/a&gt; and I&apos;m working on OpenStack on a (almost) daily basis.&lt;/p&gt;
&lt;p&gt;I don&apos;t know how many packages I touched, managed or updated, but that should be one or two hundreds. I still maintain &lt;a href=&quot;http://qa.debian.org/developer.php?login=acid&quot;&gt;53 of them&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After all, the adventure has been really pleasant, and I had the chance to work with and meet fabulous and smart people. I always liked this project and what it&apos;s trying to do.&lt;/p&gt;
&lt;p&gt;After all these years, I&apos;m definitively staying! See you in another 10 years, folks! :)&lt;/p&gt;
</content:encoded><category>debian</category><category>openstack</category><category>emacs</category><category>awesome</category></item><item><title>My OpenStack work</title><link>https://julien.danjou.info/blog/my-openstack-work/</link><guid isPermaLink="true">https://julien.danjou.info/blog/my-openstack-work/</guid><description>Like I already wrote here last week, I&apos;ve been heavily working on OpenStack for the last weeks.</description><pubDate>Fri, 16 Dec 2011 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Like I already wrote here last week, I&apos;ve been heavily working on &lt;a href=&quot;http://openstack.org&quot;&gt;OpenStack&lt;/a&gt; for the last weeks.&lt;/p&gt;
&lt;p&gt;My first assignment was to package OpenStack for Debian. The packages already present in unstable were mainly done by &lt;a href=&quot;http://thomas.goirand.fr/&quot;&gt;Thomas Goirand&lt;/a&gt;, who based its work on the one done in &lt;a href=&quot;http://ubuntu.com&quot;&gt;Ubuntu&lt;/a&gt;. Therefore, the packages where not in a very good shape for Debian.&lt;/p&gt;
&lt;p&gt;Today Ghe Rivero and I (members of the &lt;a href=&quot;https://alioth.debian.org/projects/openstack&quot;&gt;OpenStack Debian packaging team&lt;/a&gt;) managed to push the &lt;a href=&quot;https://launchpad.net/openstack/+milestone/essex-2&quot;&gt;OpenStack Essex 2 milestone&lt;/a&gt; into unstable with great success. You can now test and deploy OpenStack Essex 2 very easily!&lt;/p&gt;
&lt;p&gt;Packaging OpenStack &lt;a href=&quot;https://review.openstack.org/#dashboard,1669&quot;&gt;made me write several patches&lt;/a&gt;, mainly related to packaging, patches which were all accepted and merged by upstream. This is nice because most of the OpenStack Debian packages lost their &lt;em&gt;debian/patches&lt;/em&gt; directories now!&lt;/p&gt;
&lt;p&gt;Finally, I&apos;ve finished to implement one blueprint I really missed: the &lt;a href=&quot;https://blueprints.launchpad.net/nova/+spec/support-kvm-boot-from-iso&quot;&gt;ability to boot from an ISO image&lt;/a&gt; using &lt;a href=&quot;http://libvirt.org&quot;&gt;libvirt&lt;/a&gt;. The code still needs a review, but it should be included in the Essex 3 milestone if everything&apos;s right.&lt;/p&gt;
</content:encoded><category>openstack</category><category>debian</category></item><item><title>New job, new blog</title><link>https://julien.danjou.info/blog/new-job-new-blog/</link><guid isPermaLink="true">https://julien.danjou.info/blog/new-job-new-blog/</guid><description>It has been a while since I blogged but I&apos;ve been very busy, with my new job and this new blog!  New job! I quitted my job last September, and found another one that I started in October. I&apos;m now the</description><pubDate>Wed, 07 Dec 2011 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;It has been a while since I blogged but I&apos;ve been very busy, with my new job and this new blog!&lt;/p&gt;
&lt;h2&gt;New job!&lt;/h2&gt;
&lt;p&gt;I quitted my job last September, and found another one that I started in October. I&apos;m now the lead developer of &lt;a href=&quot;http://www.enovance.com/fr/produits-solutions/opencloud-opensource/enovance-labs&quot;&gt;eNovance Labs&lt;/a&gt;, where I work on the &lt;a href=&quot;http://openstack.org/&quot;&gt;OpenStack&lt;/a&gt; project. So far, this allowed me to contribute heavily to the &lt;a href=&quot;https://alioth.debian.org/projects/openstack&quot;&gt;Debian packaging of OpenStack&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New blog!&lt;/h2&gt;
&lt;p&gt;In the meantime, I took some time to redesign my personal homepage and this blog, which is now using &lt;a href=&quot;https://github.com/hyde/hyde&quot;&gt;Hyde&lt;/a&gt;, the &lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt; equivalent of &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;, which is in &lt;a href=&quot;http://www.ruby-lang.org/&quot;&gt;Ruby&lt;/a&gt;. Since I dislike Ruby (sorry), I preferred to use a Python based generator, and I admit Hyde is really cool.&lt;br /&gt;
Since I really suck at Web design, this one is obviously based on &lt;a href=&quot;http://twitter.github.com/bootstrap/&quot;&gt;Twitter&apos;s bootstrap&lt;/a&gt;&lt;/p&gt;
</content:encoded><category>career</category><category>openstack</category><category>python</category><category>debian</category></item><item><title>Unexpected VARMon new release</title><link>https://julien.danjou.info/blog/unexpected-varmon-new-release/</link><guid isPermaLink="true">https://julien.danjou.info/blog/unexpected-varmon-new-release/</guid><description>This has been 4 years since I released a new upstream release of VARMon, the DAC960 administration tool.</description><pubDate>Mon, 18 Aug 2008 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This has been 4 years since I released a new upstream release of &lt;a href=&quot;http://github.com/jd/varmon&quot;&gt;VARMon&lt;/a&gt;, the DAC960 administration tool.&lt;/p&gt;
&lt;p&gt;There was a bug first discovered in &lt;a href=&quot;http://bugs.debian.org/401236&quot;&gt;#401236&lt;/a&gt;. It has been fixed in Debian with an ugly fix, which did not work finally for a long time. Recently &lt;a href=&quot;http://bugs.debian.org/491505&quot;&gt;#491505&lt;/a&gt; got opened too, which was the same as the previous one. But this time I got access to hardware, thanks to Christoph! And I finally fixed the bug. I&apos;ve even be able to test the fixes I wrote years ago for all of the compilation warnings.&lt;/p&gt;
&lt;p&gt;That&apos;s a shame that the problem was caused by dead code from the previous upstream, and that I did not realize that sooner. Kids, do not let dead debug code in your program at home.&lt;/p&gt;
&lt;p&gt;So I&apos;ve finally been able to release a new 1.2.1 version which maybe the last release for the next decade! ;-)&lt;/p&gt;
</content:encoded><category>linux</category><category>debian</category></item><item><title>ATL1E support in Linux 2.6.26-1</title><link>https://julien.danjou.info/blog/atl1e-support-in-2-6-26-1/</link><guid isPermaLink="true">https://julien.danjou.info/blog/atl1e-support-in-2-6-26-1/</guid><description>Ben Armstrong opened an ITP for the ATL1E NIC driver, which is found on some Asus EeePC laptops. So, as suggested by Maximilian Attems, I provided a clean patch for this driver, made from a.</description><pubDate>Thu, 31 Jul 2008 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ben Armstrong opened an &lt;a href=&quot;http://bugs.debian.org/492029&quot;&gt;ITP for the ATL1E NIC driver&lt;/a&gt;, which is found on some Asus EeePC laptops. So, as suggested by Maximilian Attems, &lt;a href=&quot;http://lists.debian.org/debian-kernel/2008/07/msg00638.html&quot;&gt;I provided a clean patch for this driver&lt;/a&gt;, made from a cherry-pick from the linux-netdev 2.6.27 tree. It has been committed into the 2.6.26-1 Debian kernel, which will be furnished with Lenny.&lt;/p&gt;
&lt;p&gt;What&apos;s fun, is that in the mean time, I got a new computer at work. Wait, it&apos;s not fun yet. Because what I did not know is that it&apos;s made of an &lt;a href=&quot;http://asus.com/products.aspxl1=3&amp;amp;l2=11&amp;amp;l3=709&amp;amp;l4=0&amp;amp;model=2164&amp;amp;modelmenu=1&quot;&gt;Asus P5Q motherboard&lt;/a&gt; which runs a NIC needing the ATL1E driver (and now you see why it&apos;s fun).&lt;/p&gt;
&lt;p&gt;So I&apos;ve just upgraded to 2.6.26-1-amd64 and I&apos;m glad that my own work is useful to me (and will be probably be to others as well). :-)&lt;/p&gt;
</content:encoded><category>linux</category><category>debian</category></item></channel></rss>