Planet Debian

Subscribe to Planet Debian feed
Planet Debian -
Updated: 1 hour 43 min ago

Raphaël Hertzog: Freexian’s report about Debian Long Term Support, March 2019

16 April, 2019 - 17:23

Like each month, here comes a report about the work of paid contributors to Debian LTS.

Individual reports

In March, 204 work hours have been dispatched among 13 paid contributors. Their reports are available:

  • Abhijith PA did 14 hours (out of 14 hours allocated).
  • Adrian Bunk did 8 hours (out of 8 hours allocated).
  • Ben Hutchings did 22.5 hours (out of 20 hours allocated plus 16.5 extra hours from February, thus carrying over 14 hours to April).
  • Brian May did 10 hours (out of 10 hours allocated).
  • Chris Lamb did 18 hours (out of 18 hours allocated).
  • Emilio Pozuelo Monfort did 26 hours (out of 29.5 hours allocated + 2.5 extra hours from February, thus carrying over 6h to April).
  • Hugo Lefeuvre did 20 hours (out of 20 hours allocated).
  • Markus Koschany did 29.5 hours (out of 29.5 hours allocated).
  • Mike Gabriel did 14 hours (out of 10 hours allocated + 4 extra hours from February).
  • Ola Lundqvist did 8.5 hours (out of 8 hours allocated + 2 extra hours from last month, thus carrying over 1.5h to April).
  • Roberto C. Sanchez did 12 hours (out of 12 hours allocated + 16 extra hours from last month as well, thus carrying over 16h to April).
  • Sylvain Beucler did 29.5 hours (out of 29.5 hours allocated).
  • Thorsten Alteholz did 29.5 hours (out of 29.5 hours allocated).
Evolution of the situation

In March we had one new contributor, Sylvain Beucler, though we lost Antoine Beaupré. Thankfully we also gained Jonas Meurer starting in April, yet we are are still very much looking for new contributors. Please contact Holger if you are interested to become a paid LTS contributor.

On a positive note, we are also pleased to welcome a new French university among LTS sponsors: Université Grenoble Alpes.

The security tracker currently lists 36 packages with a known CVE and the dla-needed.txt file has 39 packages needing an update.

Thanks to our sponsors

New sponsors are in bold.

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

Bits from Debian: Debian Web Team Sprint 2019

16 April, 2019 - 14:20

The Debian Web team held a sprint for the first time, in Madrid (Spain) from March 15th to March 17th, 2019.

We discussed the status of the Debian website in general, review several important pages/sections and agreed on many things how to improve them.

For the sections we want to reorganise (mainly the homepage and a new section "download" which will group our current "CD" and "distrib" sections) , we have designed this workflow:

  • Create branches in the webwml repo,
  • Agreed on the new or modified content (started already during the sprint), and work on them further after the sprint
  • Review a lot of related open bugs to see if we can address them with the new content (done during the sprint)
  • Create bug reports for the things that cannot be solved quickly to keep them tracked (started during the sprint)
  • We agreed we should get further help from web designers/information architects (pending)
  • Once the English version is more or less settled, call for translations on the branch (pending)
  • If we have English and the main translations ready, merging into the master branch (pending)
  • We will try to have at least the homepage and the download section ready for the Buster release.

We also agreed that the press delegates should decide what new News entry is worth to be posted in the homepage instead of showing the last 6 entries.

For some other pages or areas (e.g. doc/books, misc/merchandise, /users) we found that the content is outdated and the team can not maintain it, we agreed in issuing a call for help (request for adoption) and if we cannot find volunteers for those pages/areas, we'll remove the content or move it to at the end of 2019.

We have agreed that we'll need to reduce the size (number of pages) of the website (*see some numbers about statistics at bottom) so it's more sustainable to keep the whole website up-to-date (content wise), so we'll remove some pages having content already covered in other pages, having content that currently is easy discoverable with a web search engine, can be maintained better in the wiki, etc.

We have talked a bit about certain other aspects like point release workflow, the build time of the website, team memberships and governance. In general the sprint has shown that for most of the discussed topics the migration to git as VCS and the existence of Salsa is a huge step forward for the usability and attractiveness for contributors of the webwml repository.

The core webteam is happy that the sprint has also attracted new people to jump in and which are also members of the webteam now. We welcome Thomas Lange and Carsten Schoenert in our team!

Finally, we have passed time together to socialize and knowing each other better, and got very motivated to continue working on the web.

Left to right: Rhonda D'Vine, Laura Arjona Reina, Thomas Lange, Carsten Schoenert, Steve McIntyre

A more detailed report has been sent to the debian-www mailing list.

The participants would like to thank all donors to the Debian project who helped to cover a large part of our expenses.

Olivier Berger: Labtainers in a Web desktop through noVNC X11 proxy, full docker containers

15 April, 2019 - 22:08

Here’s another recording of a demo I’ve made of our efforts on running Labtainers with a Web desktop.

This time, we’re using a modified version of DoroWu’s noVNC X11 wrapper container (“docker-ubuntu-vnc-desktop“), to provide an X11 Display to labtainers.

I initially adapted DoroWu’s container image by using Debian instead of Ubuntu, but it appeared that noVNC 1.0.0 was a bit too old in the Debian package. So I switched back to the same version as the one DoroWu chose, and this time no more disconnections.

Also, we’re now rebuilding the Labtainer master container from upstream’s Git repo. Fresh Labs every day

Labtainers in a Web desktop through noVNC X11 proxy, full containers from Olivier Berger on Vimeo.

See our previous post on a similar topic for the context.

You can find the Dockerfile and scripts at :, and the 2 container images have been put on the DockerHub.

We’d welcome some feedback on whether you find this interesting.

Shirish Agarwal: Hackergram Journey Part 2 – The Conclusion

15 April, 2019 - 18:16

If you have not read part 1 of the Hackergram Journey, I would suggest you to do that before reading it. This will give you more of a complete picture so you can understand where I’m coming from.

Breakfast, Lunch and talking with locals

The previious evening when I was put up at Lake Heritage, I went out and got 2-3 Electrals. I had ordered Dal and Rice in the evening but again there was no taste hence didn’t eat much. I forced myself to have at least 5-6 spoonfulls at one level to see if it will stay and also that I needed to have some food in the stomach . While the night was not peaceful, it was much more peaceful than at the Camp. I probably woke up handful of times but each time looking at the lake just filled me with peace. At times, I wished I was all better so could have spend the whole night just seeing the lake. Anyways, somehow the night passed, although not without showing me all the beautiful views of the lake and the different plays of light . The amateuer story-writer in me could think of so many stories which were and are waiting to be tapped in such a beautiful place. I kept wondering maybe this is why so many writers of Indian origin and even westerners come to places like these to write. I could understand why Ruskin Bond, a famous Children’s writer chose to make Uttarakhand and Mussorie his base rather than anywhere else. I know of quite a few writers in Hindi, Urdu fiction who wrote on crime, sex, human interest stories and were a craze in North India right from 1960’s till late 1990’s who came from such places and eventually settled in Delhi. Seeing the tranquility of the place and then places like Delhi, it is easy to see the dissonance the writers might have felt which they poured in their writing. I have to say that I felt Bhimtal is a place where one could pen many a fantasy story as its still somewhat of a raw place still.

Anyways, morning came , did my morning routine staff and ignoring Gauri’s suggestion took a bath. While it pained quite a bit at the knee, I felt like a whole different person. Came down to see what they have for breakfast. I didn’t want anything fancy just a toast and eggs or Pohe . Because they had neither at the hotel, was told of a small shop which was 20 meters from the Hotel. Went there, had tea, bread and egg and whole lot of conversation about Bhimtal and surroundings. According to the Gentleman, the local population of Bhimtal alone is approx. 40k according to some survey done couple of years back. I dunno if it would be sane or not to compare the population with Shivaji Nagar, Pune which is around 5-6 and has around 0.5 million residents and probably another 20-25% roving population due to the high number of schools and colleges that are in and around Shivaji Nagar has and lot of people come to Pune for study or/and work as has been shared time before. Maybe somebody local to Bhimtal, either Sanjay or Karan would probably be able to tell or share more of the same.

As I was feeling better, I interacted a bit with locals and came to know that there had been proposals and even people had drilled part of the mountain to have a factory which the locals protested and with passed a legislation in the local Municipality so such further incursions are not done or can be avoided. While I did see some construction in and around Bhimtal it seemed to be much more in control then what I had seen in Bhagsu, Dharamshala, Himachal Pradesh and elsewhere. While here they still have enough water, Bhagsu and many other places in Himchal Pradesh where in the summer months they are completely dry. Few years back, I had taken part in the Chota Char Dham Yatra by myself in memory of my grandmother (mother’s side) except for Kedarnath had done all the other three. Had seen first-hand the kind of ecological destruction that Tehri Dam and its sisters were doing on the environment. I even lived in Tehri town which was built a little away but on top of the Dam and had come to know the helplessness of the people living their even before the 2013 flash floods happened. As shared in part 1, it is concerning for all if unchecked development takes place .

For lunch, I wanted to try Rice and Kadhi . While I have made Kadhi at home and my mum makes great Kadhi, the hotel didn’t have it so took another trip to a stall where they made Rice and Kadhi and had that in the Hotel Room. While wasn’t able to finish it fully, was able to finish 3/4th of the portion which made me feel good. It was tasy and filling. A part was also probably being cautious although did make sure to have lot of electral water so that I was constantly being hydrated even if it meant I had to go to the loo few times. Anyways lunch happened, had a lie for sometime, came down and saw that Sanjay and Karan had come to pick me for Kathgodham.

The Journey from Bhimtal to Kathgodam Railway Station.

As my bags were mostly packed, they just had to be fetched. While Karan did the hotel checkout thing, Sanjay helped me with the luggage and putting it in his car. The journey which lasted about 30-45 minutes was beautiful. Sanjay had Acousic blues which added to the beauty of the place and the ride. While Karan had questions for me as he wanted to know about Javascript, my mind was still unfolding hence decided to stick to the very basics . While I don’t remember if I told him about js-team in Debian, their work on Salsa . For those who don’t know what Salsa is, it is a gitlab instance which Debian uses and also contributes to. I possibly might not have shared the JS-Tutorial although that is more aimed at packaging javascript nodejs modules for Debian. I think Karan was more into upstream development hence told him about some of the web frameworks but obviously not all as still was in recovery mode and then again it is very much a personal choice what tool you choose to express yourself. For e.g. I find wordpress easier to use while there are many people who rave about medium while there are others who use their own very basic static sites using one of the tools mentioned in the list. So it probably is a good idea to just let them be and let them figure out what works for them. I did share that Pune has around 100 or so co-working places and there are some big names like TRIOS and others who are making quite some noise. There has also been quite some noises made about co-living . For Sanjay I did tell him that either Pune or most metros have more or less many places which have open mic nights. Although, the newest-oldest trend has been to open your place. for singers or performers. I had been to places such as these for more than a decade or more but now it’s a bit more formalised rather than something between friends. I shared about balconytv which Sanjay knew about. We also had discussions about Indian blues, melody etc. and time went by. Before we knew it, we were in/near Kathgodam Railway Station.

Kathgodam Railway Station

It is possible that I may have been to Kathgodam Railway Station before but that probably may have been a decade or more and somehow didn’t know/realize to know I was so close to Nainital and other places. Here’s a screenshot taken by a friend Siddharth S. who did the trip the other way from Delhi to Kathgodam or KGM and was able to take the picture from above.

Kathgodam or KGM Junction view from bridge, Copyright – Siddharth S.

As can be seen it looks so beautiful. Vinay, part of the hackergram team provided the tickets for KGM – Delhi Shatabdi Express.

KGM – NDLS Shatabdi Journey (12039)

While entering itself, I knew it was an LHB rake/train which while more comfortable than ICF Rakes are prone to more jerks than ICF Rakes. Unfortunately, this Rake i.e. 12039 has only 2 options, AC Chair Car and Executive Chair Car, no sleeper but as it is short distance doesn’t matter so much. While I have been probably been more than half a dozen times been in LHB Rakes and n number of times in ICF Rakes, I somehow enjoy the ICF Rakes more as they are open and people are usually more friendly . This time though, I was grateful as I wouldn’t have to speak people so much. To add to my surprise, I found that this one also had meals included. On some Shatabdi trains, you have the meals included, while on others you can choose not to. While there was more than enough servings of meals and snacks, I took only some as I didn’t want any nasty incidents to occur till Delhi and from then on to Pune. I would however say, I enjoyed the ice-cream (Amul) which was provided and also took bit of lunch that they provided. IRCTC food was ok, but nothing great to write home about apart from the ice-cream but that probably is the ice-cream manufacturer taking care. While Sanjay and Karan helped me with the luggage to the seat, it started right on time at 15:30 hrs. My neighbour for the remainder of the journey turned out to be a Gunman (Z-Force) who was duty-bound with another of his brethen to some politician who was travelling in A-1 (Executive Chair Car) . The travel itself was pretty straight forward. The route was Kathgodam (KGM) – Haldwani (HDW) – Lal Kuan (LKU) – Rudrapur City (RUPC) – Rampur (RMU) – Moradabad (MB) – Ghaziabad (GZB) and finally NDLS (New Delhi) . While the time was told to be 21:30 at New Delhi, it entered NDLS at 21:45 . I was a bit in a panicky mode at my flight was at 23:30 and although I had been told it should be enough time for the Airport. I didn’t know as it all depended on connectivity. The one thing I should have banked on was to buy some water bottles at KGM itself as my bottle of water had finished pretty early and it was risky to try and get a bottle from any of the intervening Stations .

NDLS at night The Race to DIAL

The above is the New Delhi Railway as it looks from outside at night. I came down from Platform 16 to the side from where I took the picture. I knew I didn’t have much of a time, so took this while on a semi-run. The bad thing about NDLS is that there are no signs anywhere to tell where the Metro is. I knew that there was a metro connection from there till Delhi Aerocity but didn’t know where. I was mis-guided (probably not intentionally) but it took quite an effort to reach the Metro Station. From where I took the photograph, the Metro Entrance is at 45 degrees angle and then you have to go down. Somehow I managed to reach to the Metro Station. buy the token for the train, take the escalator. Time 22:15 . The clock near the Metro showed 10 minutes for the arrival. 5 minutes later, the Metro arrived and I figured that the time it was showing was the time for departure. I reached Delhi Aerocity at 22:45 . At the end while coming up there were tickets to Delhi Terminal T1-C which as I had shared before I thought was a different terminal. I asked a few people and they said it was walkable distance. I walked a bit and asked some more people and learnt that the Airport (T1 and T1 -C ) were one and the same and it still was 4-5 kms. away . They suggested to take a bus or a rick. I asked the Rickshaw guys and sure enough they started quoting some ridiculous figures. I asked the bus guy and he said INR 30/- I bought the ticket and was tensed but soon the bus started. I was on tenterhooks but kept saying ‘it’s alright’ because there was no alternative. I somehow managed to get to the Airport and to the baggage drop and asked if I still was on time. Either seeing the desperation on my face or whatever, she allowed me to do the bag drop, time 23:15 . I didn’t have time to do anything. Fortunately, there was no queues in security and was able to go through. I just managed to reach the Indigo gate when they were making last announcements before closing the boarding. Time 23:20 – 23:25 . As luck would have it, there were 5-6 people who also were late like me. The Indigo Gate attendant/personnel had no choice and asked for a vehicle so we could all get on. Meanwhile, I put my boarding pass and my Government issued ID in my bag for safe-keeping. My boarding pass was 28-E

Indigo Boarding Pass

When I dis-embarked the vehicle at the Airplane, I knew I had to go to the back of the plane and realized I need to show the boarding pass again before . I fished in my backpack, showed the boarding pass, used the Aircraft passenger stairs with my hands-on baggage. As I was about to put my boarding pass in my backpack in a special envelope I found that my Govt. ID seemed to be missing. While I didn’t want to create a hassle but still had to inform the flight attendant so with great reluctance informed them. It took a few minutes while I tried to have as much water I could as I hadn’t had water for the last 5-6 hours and was stressed. I didn’t know what the flight attendants thought . Soon the skipper came and I showed him the boarding pass . Interestingly, he took a look at my surname and seeing it was Agarwal, assured me nothing was amiss and I should take my seat. I was wondering what would the scene have been if it was something else. Anyways, they tried to fish for the Govt. ID between the Gate and where the vehicle had dropped me and didn’t find it.

I was told to file a complaint in lost and found once I reached Pune Airport. We probably left Delhi around 23:45 – 23:50 or thereabouts. I had a feeling that there may be some hole in my envelope but didn’t want to investigate then. We still reached Pune on time. I disembarked, freshened myself, drank lots of water, again freshened myself, went to baggage claim, got my other backpack from the baggage claim and opened up the area where I kept my Govt. issued Id . Sure enough, it was right there, lying by its lonesome. I again put the two together, exited the Airport, went to the Parking area, took a rickshaw, called up home and was at home in about 45 odd minutes. There was relief from both sides. Over an early breakfast, mother told me that she also hadn’t been able to sleep for the last 3 days. After breakfast we slept like logs for 8-10 hours. Made lunch and slept again. Pune is and was burning as we are in the middle of summer and the temperature is around 36 – 38 degree celcius in the morning and sometimes humid in the evening. So while I’m now all well and good, it surely was an adventure .

What would I have done differently

If I had some idea, I probably would have taken the flight a day before, either take a room near NDLS or at Paharganj, a place which has lot of beauty in by itself. While I had and have extended family at Delhi, at times it is easier to just be with myself and I have found Paharganj to be a good place. There are many places in Paharganj from fancy to budget hotels and lot of them have beautiful frescos like the one I am sharing below.


While the above Fresco was done by somebody in the bathroom they had in Lake Heritage, I have seen many such mural paintings in many places. Paharganj for one, even South Goa old Portugese homes have lot of these and elsewhere. So

So I would have come to Delhi, stayed the day, meet friends and then taken the early Shatabdi from NDLS to KGM and reached KGM at around 12:30 in the afternoon. The hackergram had thought of this way too but discarded it as other people were arriving at 9:00 – 9:30 in the morning so it would have been impossible to reach NDLS in time. Even my plane had touched down at 5:30 and I was out of the terminal by 0600 hrs. By my own experience it would take anybody at least an hour to get from DIAL to NDLS using the most efficient ways. One thing that is in works and will improve DIAL is a proposed People-mover from Delhi Aerocity to Delhi Airport but that will happen by 2024 as it stands today. Showing a proposed map of the people-mover below.

DIAL proposed people-mover

The link that I am interested in the one in the red going from Aero City Station to T1 . There is also supposed to be a T4 terminal for more International Operations but all of this is supposed to happen by 2024 at latest.

What Steps can the Government take for more tourism in Uttarakhand

While it’s razor edge as Uttarakhand, Kumaon has lot of nature and heritage based tourist attractions. There are number of things that could be improved. For instance, the nearest Airport to Kathgodam is Pantnagar which perhaps could be developed into an Airport which could serve not just Delhi but other places such as Pune, Mumbai etc. but they will have to develop lot of infrastructure for that. I have no clue how big the Airport is and if it could handle something like an A320 or not. The other thing the Government could do is do a double electrified line from Rampur to Kathgodam . Right now it’s a single un-electrified semaphore signal based line. Again, dunno if it is viable, possible or would it endanger forest cover.

Note – Because of Jet Airways troubles as well as Max 737 groundings, the cost of fares shot up. A typical ticket from Pune to Delhi or vice-versa which usually costs around INR 3, 3.5 k/- shot to 7k/- and beyond. If a fifth operator doesn’t come soon, as a dear twitterati recently shared

India is a low ticket-size, high-volume and long term market where companies need a war chest of cash to survive and take on competition. Striking similarities between the ride hailing and the #aviation scene in India. #AvGeek #Uber

Vinamra Longani, Aviation Analyst on Twitter, 10:15 AM – 13 Apr 2019

C.J. Adams-Collier: The woes of 520-byte sectors

15 April, 2019 - 08:22

A couple years ago, I bought a 12G SAS disk to see if I could get it to work with the RAID controller with external SFF-8088 ports that came with the system I got while I was working at The Linux Foundation. I got an enclosure to go with it because I was enthusiastic and optimistic about my ability to get things all set up. My plan was to take the 1T disks I had in the storage server I had been using before, but which had since failed and to put them into this new enclosure. I got a couple of SFF-8088 cables, and the enclosure had some SFF-8088 to 7-pin SATA break-outs come with it. I bought an additional dual SFF-8088 to SFF-8087 adapter and a couple of SFF-8087 to 4x SFF-8482 cables. I got the 8482s because I imagined that these would be required to take full advantage of the 6TB SAS disk I purchased.

Unfortunately, when I attached the disks to the controller, none of them worked and I gave up for a good long time. Last week was spring break, and I took a few days off of work to hang out with my girls. While we weren’t all goofing off together, I was puttering around with a new HBA I got to replace the apparently non-functional HP RAID controller that came with the server.

However, when I removed the HP RAID controller and put in the LSI 9201-16E HBA I got to replace it with, there was again no SCSI love. The lsscsi command showed nothing. But the lspci command showed the controller, and I started digging through documentation to figure out what might be wrong. I eventually stumbled upon a firmware flashing ISO disk image on the Broadcom site. Broadcom apparently purchased LSI not too long ago and is now responsible for managing documentation and downloads for the legacy devices, of which I am now a proud owner.

I was able to build a USB disk with unetbootin and emacs. I had to modify the syslinux.cfg file to correct the path and case of the filenames. And for some reason, unetbootin replaced the filename of the disk image which freedos was supposed to boot with something useless. In any case, the entry in syslinux.cfg looks like this:

label ubnentry20
menu label 9201_16e
append initrd=/LSI/IMG/9201_16E.IMG

Unfortunately, the firmware on the 9201_16E.IMG fat filesystem was old, so I loop mounted it and wrote a more recent version of the firmware, mptsas2.rom and sas2flsh.exe to it. I’ve uploaded it to 9201_16E.IMG in case anyone might find it useful. While I’m at it, I suppose I should put the whole usb boot image up for those who might need it. See lsi-flash-usb.img.bz2. To use this disk image, decompress the .bz2 file and dd it to your USB block device, for instance /dev/sdb in my case:

$ bunzip2 /tmp/lsi-flash-usb.img.bz2 | sudo dd of=/dev/sdb

My server doesn’t have a fancy new UEFI system, so I used this boot disk to get access to the SAS controller in real mode. Once I booted it and selected 9201_16e (the 21st option from the top), I had to rapidly press the up or down arrow and select the EMM386 option to load the driver. I placed the more recent LSI controller firmware and BIOS in the \CJ directory. You should be able to

 cd \CJ 

and run


Answer the prompts, and afterwards you should have a controller with P20 firmware and BIOS written to it.

Daunting as this was, it only got me most of the way through the process. All of my SATA disks were working, but the SAS disk was not. After some sleuthing, I discovered that the disk was SCSI formatted to 520 byte blocks. Linux does not accept block sizes that are not a power of 2, and so i was unable to do anything with the disk using fdisk, kpartx, etc. Research pointed me to the sg_format utility, but I was unable to make that work. Here’s the output of the command:

$ sudo sg_format --format --size 1024 -vv /dev/sg4
open /dev/sg4 with flags=0x802
    inquiry cdb: 12 00 00 00 24 00 
    SEAGATE   DKS2F-H6R0SS      7FA6   peripheral_type: disk [0x0]
    inquiry cdb: 12 01 00 00 24 00 
    inquiry cdb: 12 01 80 01 00 00 
      Unit serial number: Z4D0M2BF0000W515S4WH
    inquiry cdb: 12 01 83 01 00 00 
      LU name: 5000c50062ba7973
    mode sense (10) cdb: 5a 00 01 00 00 00 00 00 fc 00 
    mode sense (10): pass-through requested 252 bytes (data-in) but got 28 bytes
Mode Sense (block descriptor) data, prior to changes:
Mode sense number of blocks maxed out, set longlba
    mode sense (10) cdb: 5a 10 01 00 00 00 00 00 fc 00 
    mode sense (10): pass-through requested 252 bytes (data-in) but got 36 bytes
Mode Sense (block descriptor) data, prior to changes:
  <<< longlba flag set (64 bit lba) >>>
  Number of blocks=11473076960 [0x2abd942e0]
  Block size=520 [0x208]
    mode select (10) cdb: 55 11 00 00 00 00 00 00 22 00 
    mode select (10) parameter list
00 00 00 00 01 00 00 10  00 00 00 00 00 00 00 00
00 00 00 00 00 00 04 00  01 0a 0c 14 ff 00 00 00
05 00
mode select (10):
Descriptor format, current; Sense key: Illegal Request
Additional sense: Parameter list length error
  Descriptor type: Sense key specific: Field pointer:
        Error in Command: byte 7 bit 7
  Descriptor type: Field replaceable unit code: 0x5
  Descriptor type: Vendor specific [0x80]
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 Raw sense data (in hex):
        72 05 1a 00 00 00 00 1c  02 06 00 00 cf 00 07 00
        03 02 00 05 80 0e 00 00  00 00 00 00 00 00 00 00
        00 00 00 00
MODE SELECT command: Illegal request sense key, apart from Invalid opcode

I was about to give up, but for some reason did not. I tried to find firmware and read any documentation about my disk, a Seagate ST6000NM0024. Eventually I found a github repo called ToolBin. In this repo there is a program named SeaChest_Format_121_1183_64 which seems to use a proprietary SCSI format command to tell the drive to format itself using 512-byte sectors. I can’t say for certain yet that it works, but it did not immediately fail as sg_format did. The command I used (and this will vary for you, depending on what

sg_scan -i

tells you is your scsi generic device) is:

./SeaChest_Format_121_1183_64 -d /dev/sg5 --fastFormat 1 --formatUnit 512 --confirm I-understand-this-command-will-erase-all-data-on-the-drive

Assuming this command results in success after the 12 hour run, I will purchase another 7 of these drives and fill out my disk array!

Format Unit Progress = 31.64%

Thanks to the #linux-raid channel for helping me through this!

Markus Koschany: My Free Software Activities in March 2019

14 April, 2019 - 22:33

Welcome to Here is my monthly report that covers what I have been doing for Debian. ( a bit later than usual) If you’re interested in Java, Games and LTS topics, this might be interesting for you.

Debian Games
  • Lars Kruse reported a bug in the gui-sdl2 theme of Freeciv, the famous strategy game, which I could quickly fix.  (#923563)
  • I fixed RC bug #922947 in retroarch-assets because of a change in fonts-roboto that broke symlinks to font files.
  • Pedro Pena and Carlos Donizete Froes packaged two new games for Debian, Infinitetux (Pedro) and Pekka Kana 2 (Carlos). I reviewed and sponsored both games and they are currently waiting in the NEW queue. Infinitetux is a Super Mario like game written in Java. The original author of the game is no one else than Markus Persson, the developer of Minecraft. This game is one of his previous works that used the original game content from Nintendo. However Pedro completely replaced the artwork with freely available images and sounds. Quite interesting for Java developers: The game requires no third-party libraries and uses only classes from the JDK. Pekka Kana 2 is another jump-and-run game from Finnish creator Janne Kivilahti. He kindly released his game under a permissive BSD-2-clause license.
Debian Java
  • I tackled several RC bugs in Java packages this month.
  • libjogl2-java (#887140): The package failed to build on several non-supported architectures. Since we are already glad that it works on amd64 I had to limit the support in debian/control to those architectures where the package may be useful.
  • lucene-solr (#919638): Solr refused to start with Tomcat 9 because of more strict permissions in Tomcat’s systemd service file. I initially tried to fix this in Tomcat but had to add a new systemd conf file to lucene-solr that overrides the permissions now.
  • javahelper (#923756): I implemented a workaround for Javadoc build failures that started to occur only two months ago after the OpenJDK 11 package was upgraded.
  • owasp-java-html-sanitizer (#923654): I removed the now non-existent build-dependency on libjsr305-java-doc.
  • sweethome3d (#924594): I had to replace the virtual dependency on icedtea-netx-common with icedtea-netx.
  • I triaged a RC bug in libitext-java (#923364). Unfortunately the bug submitter did not provide further information.
  • It is a bit sad that Netbeans is currently affected by a severe bug which makes it impossible to create new Java projects. (#925509) I tried to fix it but I am stuck now. Help is appreciated.
  • I provided a patch to fix RC bug #923759 in netlib-java.
  • The  ublock-origin addon does not work anymore with Firefox 66 in unstable (#925337) which is caused by a value in its manifest file, incognito:split, that is not supported by Firefox. Previous versions of Firefox just emitted a warning, now it is fatal. The same value works fine with Chromium. At the moment we provide one webextension package for both browsers in Debian but it looks like we have to consider to provide two different packages of ublock-origin again, to avoid such pitfalls in the future. I have filed #926586 to get more feedback.
Debian LTS

This was my thirty-seventh month as a paid contributor and I have been paid to work 29,5 hours on Debian LTS, a project started by Raphaël Hertzog. In that time I did the following:

  • From 25.03.2019 until 31.03.2019 I was in charge of our LTS frontdesk. I investigated and triaged CVE in twig, ruby2.1, znc, wpa, cloud-init, dovecot, edk2, activemq, bwa, tomcat8, mosquitto, gpsd, nuget, rails, robocode, libav and clamav.
  • DLA-1708-1. Issued a security update for zabbix fixing 2 CVE.
  • DLA-1711-1. Issued a security update for systemd fixing 1 CVE.
  • DLA-1733-1. Issued a security update for wpa fixing 1 CVE.
  • DLA-1736-1. Issued a security update for dovecot fixing 1 CVE.
  • DLA-1738-1. Issued a security update for gpsd fixing 1 CVE.
  • DLA-1739-1. Issued a security update for rails fixing 2 CVE.
  • DLA-1753-1. Issued a security update for proftpd-dfsg to fix several memory leaks. However it turned out that under certain conditions #926719 the daemon now closes sftp connections. This appears to be an upstream bug that was fixed in version 1.3.6. I will investigate if we have to revert to the previous version or if we can move forward.
  • DLA-1755-1. Issued a security update for graphicsmagick fixing 6 CVE.
  • While I was working on DLA-1755-1 I discovered a regression in jasper which I addressed with DLA-1628-2.

Extended Long Term Support (ELTS) is a project led by Freexian to further extend the lifetime of Debian releases. It is not an official Debian project but all Debian users benefit from it without cost. The current ELTS release is Debian 7 „Wheezy“. This was my tenth month and I have been paid to work 15 hours on ELTS.

  • I was in charge of our ELTS frontdesk from 11.03.2019 until 17.03.2019 and I triaged CVE in cron, ntp, gdk-pixbuf, glib2.0 and libssh2.
  • ELA-92-1. Issued a security update for xmltooling fixing 1 CVE.
  • ELA-94-1. Issued a security update for openssh fixing 3 CVE.
  • ELA-105-1. Issued a security update for sqlalchemy fixing 2 CVE.
  • I started to work on src:linux and will provide a new package next week.

Thanks for reading and see you next time.

Jonathan Carter: Help test Debian Live

14 April, 2019 - 03:38


During the stretch release period, it became apparent that very few people had been testing Debian Live, and some nasty bugs were discovered only during final release testing. The final stretch images for Debian live wasn’t quite up to the quality the Debian community deserved, and it lead to Steve McIntyre asking “IMPORTANT: Do live Debian images have a future?“.

I decided to get involved and have been doing testing and bug fixes throughout the buster release cycle, and with today’s builds, I think we’re at a point where we have something good that’s ready for wide-scale testing.

The Buster live images come with something new that a bunch of other distributions have also adopted, which is the Calamares installer. Calamares is an independent installer project (They call it “The universal installer framework”) which offers a Qt based interface for installing a system. It doesn’t replace debian-installer on the live images, rather, it serves a different audience. Calamares is really easy to use, with friendly guided partitioning and really simple full-disk encryption setup. It doesn’t cover all the advanced features of debian-installer (although it very recently got RAID support) and it doesn’t have an unattended install mode either. However, for 95%+ of desktop and laptop users, Calamares is a much easier way to get a system installed, which makes it very appropriate for live systems. For anyone who needs anything more complicated, or who’s doing a mass-install, debian-installer is still available in both text and GUI forms.

An image is worth a thousand words, so here’s a bunch of screenshots showing what Calamares looks like on our Gnome live image:

Calamares Intro screen. Select timezone and localisation. Select keyboard model, layout and variant. Partition disk and configure encryption. Configure user and password. Confirm choices. Wait for installer to do the rest. Reboot or continue live environment.

Download and test

Today’s images are available with the Cinnamon, Gnome, KDE, LXDE, LXqt, Mate, standard (text-only) and Xfce desktop environments for:

I haven’t yet tested the i386 images myself, so anything is possible there. We’re also planning an upcoming beta (well, it will be called a release candidate but that’s because it will be RC1 of debian-installer) so if anyone has some time to do some testing that would be great. It’s especially useful to test on a wide variety of supported hardware and ensure that things work as they should. We’re already looking a lot better than they last cycle, but that’s no reason to be overconfident.

Please file bugs for major problems or hardware support issues. Feature requests bugs or similar bugs aren’t really useful at this stage.

More screenshots

This wasn’t my personal first choice for default wallpaper, but I like its colours and they work really well with all the other elements.

ISO splash image when booting in legacy mode

GRUB boot loader Plymouth boot splash GDM Login Screen
Gnome desktop

What about bullseye?

The next Debian release, Debian 11, will be code named ‘bullseye’.

I’m planning to schedule a BoF at DebConf19 for Debian Live where we cover at least the following:

  • Reduce the number of i386 images. We currently have 8 of them and we probably just need one or two light variants for the i386 machines that’s still supported by Debian.
  • Get the desktop teams more involved. And ideally, have them test and sign off for their live variant for alphas, betas and the final release. If you’re a maintainer of a desktop environment, it would be great if you could attend this session.
  • Reduce the number of paper cuts in our live media. We’ve made some progress on these during this cycle, but there are some minor annoyances that remain that we’d like to completely eliminate next time.

Well, if you got this far, thanks for reading! You can also join us on irc on #debian-live and #debian-boot on the oftc network if you have any questions.

François Marier: Secure ssh-agent usage

13 April, 2019 - 20:45

ssh-agent was in the news recently due to the compromise. The main takeaway from that incident was that one should avoid the ForwardAgent (or -A) functionality when ProxyCommand can do and consider multi-factor authentication on the server-side, for example using libpam-google-authenticator or libpam-yubico.

That said, there are also two options to ssh-add that can help reduce the risk of someone else with elevated privileges hijacking your agent to make use of your ssh credentials.

Prompt before each use of a key

The first option is -c which will require you to confirm each use of your ssh key by pressing Enter when a graphical prompt shows up.

Simply install an ssh-askpass frontend like ssh-askpass-gnome:

apt install ssh-askpass-gnome

and then use this to when adding your key to the agent:

ssh-add -c ~/.ssh/key
Automatically removing keys after a timeout

ssh-add -D will remove all identities (i.e. keys) from your ssh agent, but requires that you remember to run it manually once you're done.

That's where the second option comes in. Specifying -t when adding a key will automatically remove that key from the agent after a while.

For example, I have found that this setting works well at work:

ssh-add -t 10h ~/.ssh/key

where I don't want to have to type my ssh password everytime I push a git branch.

At home on the other hand, my use of ssh is more sporadic and so I don't mind a shorter timeout:

ssh-add -t 4h ~/.ssh/key
Making these options the default

I couldn't find a configuration file to make these settings the default and so I ended up putting the following line in my ~/.bash_aliases:

alias ssh-add='ssh-add -c -t 4h'

so that I can continue to use ssh-add as normal and have not remember to include these extra options.

Lucas Nussbaum: Introducing Debian Trends: historical graphs about Debian packaging practices, and “packages smells”

13 April, 2019 - 15:29

This is a slightly edited copy of the mail sent to debian-devel@.

TL;DR: see and

Following this blog post I did some work on setting up a proper framework to graph historical trends about Debian packaging practices. The result is now available at, and I’m confident that I will be able to update this on a regular basis (every few months).

Additionally (and much more controversially I guess :-) ) I also added an analysis of “package smells”, such as “not using dh”, “not using a recent debhelper compat level”, “not using a 3.0 source format”, etc. I understand that in some cases there might be good reasons to keep those “smells”, but I find it valuable to have them presented in a more actionable way to fix the cases that should be fixed. So there’s a list of smells, sorted by maintainer/uploader.

Given that Debian is currently frozen to prepare the buster release, this is a bad time to start fixing those smells, but I will send a reminder to debian-devel@ once buster is released. (It’s interesting to see how the number of smells plateaued during previous freezes).

Bits from Debian: Bursary applications for DebConf19 are closing in less than 72 hours!

13 April, 2019 - 15:15

If you intend to apply for a DebConf19 bursary and have not yet done so, please proceed as soon as possible!

Bursary applications for DebConf19 will be accepted until April 15th at 23:59 UTC. Applications submitted after this deadline will not be considered.

You can apply for a bursary when you register for the conference.

Remember that giving a talk or organising an event is considered towards your bursary; if you have a submission to make, submit it even if it is only sketched-out. You will be able to detail it later. DebCamp plans can be entered in the usual Sprints page at the Debian wiki.

Please make sure to double-check your accommodation choices (dates and venue). Details about accommodation arrangements can be found on the accommodation page.

See you in Curitiba!

Bdale Garbee: Tenth Anniversary of AltOS

13 April, 2019 - 11:24

In the early days of the collaboration between Bdale Garbee and Keith Packard that later became Altus Metrum, the software for TeleMetrum was crafted as an application running on top of an existing open source RTOS. It didn't take long to discover that the RTOS was ill-suited to our needs, and Keith had to re-write various parts of it to make things fit in the memory available and work at all.

Eventually, Bdale idly asked Keith how much of the RTOS he'd have to rewrite before it would make sense to just start over from scratch. Keith took that question seriously, and after disappearing for a day or so, the first code for AltOS was committed to revision control on 12 April 2009.

Ten years later, AltOS runs on multiple processor architectures, and is at the heart of all Altus Metrum products.

Keith Packard: samd21-usb-fixed

12 April, 2019 - 12:20
SAMD21 USB Fixed on Windows 7

I pretty clearly missed some details when reviewing the USB traces for the SAMD21 driver because I didn't see the IN requests to the IN-Interrupt endpoint of the device. These are supposed to be NAK'd by the device because it never generates any data for this endpoint.

However, I managed to mis-configure the hardware registers controlling this end point and set it up as an OUT-Interrupt endpoint instead. This causes the hardware to simply ignore any IN requests directed at the end point, so the host never sees a NAK packet. All three operating systems (Linux, Mac OS X and Windows) eventually give up trying to communicate with the end point, which causes no ill effects on Linux and Mac OS X.

On Windows, it causes the driver to stop sending IN packets to the regular IN-Bulk endpoint after it receives one packet. “It's inconceivable” I hear you cry, but then all can say is “It's Windows”, where inconceivable becomes reality.

All Fixed.

With that minor mistake fixed, Snek on the Metro M0 Express board is running great with all three operating systems.

Shirish Agarwal: Hackergram journey part 1- The journey Begins

12 April, 2019 - 07:41

I will be writing the journey and musings in two parts, the Journey and the return . I was supposed to write about WIDSPune (Women in Data Science, Pune) an event held in Pune last month. While I do have lot of thoughts and observations on that topic, I would do that later as this I feel is important, not just for me but probably everybody who has been afraid to ask for help especially when you feel weak, either physically or emotionally. This might be of some help to some of the brothers and sisters who were at the Christchurch shooting. While I didn’t go through the experience as you did, not by a long shot, but I do hope that you do ask for help as I did and helps you emerge stronger than before. Before starting there are many people I have to thank for the experience and making things nice for me even though I wasn’t able to contribute as much as I wanted.

Thank you and Sorry

The people are in no short order are Arjun Venkatraman and Deepta Arjun for being the voice of reason. Gauri and his team of jungle camp warriors for looking after me. Karan, Sanjay, Vijay and Suryaveer of the Hackergram team who looked at various aspects of travel and such. I cannot thank you all enough. I also need to thank Civicus (Innovation for Change) for funding the travel of all the participants. I also need to say sorry to all the people as because of me all of them suffered and had to divert their energies a lot. Most of all Gauri who was with me the whole night. He is as tough as they come.

The E-mail

Below is an e-mail I received from my friend Arjun roughly one and a half months back.


I’m excited to share that Hackergram has collaborated with Innovation for Change to organize a workshop in India this year. I’m writing to check your availability to attend the Hackergram Innovation Lab 2019 in Sattal, Uttarakhand, India. The theme of the workshop is “Safe Civic Spaces”. The aim of the event is to create a platform for learning and dialogue among participants (individuals, CSOs, communities) with a diverse background to increase collaboration and equip them with the innovative and creative force for expression, reflection, dialogue on safe civic spaces.

We are inviting one participant per organization, however if you feel there is more than one person from your organization who would like to attend, please feel free to get in touch with us. Also, please feel free to share this email with anyone else who might be interested! We will be inviting a total of 20 participants on the basis of first show of interest, an online survey and verbal conversation.

Costs of participation for attendees including food, travel and accommodation will be covered by I4C South Asia Hub for the dates of the event, 8th to 10th March 2019. Participants will assemble by the 7th March and leave on the morning of 11th March after the completion of the event.

The event would span the following main themes :-

a. Creating and Holding Spaces – This theme would cover both physical and virtual spaces, what it takes to create a space, what effort and resources are required to maintain a space and how those can be procured or generated.

b. The Changing Role of Information :- This theme would cover the different ways in which information, both personal as well as external, impacts individual as well as community safety. This includes access rights, skill challenges, liability, privacy and identity.

c. Diversity – A Spectrum of Colours :- This theme is about the range of different expressions that contribute to society and therefore influence how safe we feel and how safe we are. This would include diversity in gender, sexuality, orientation, religion, caste and community.

d. Securing The Future :- This theme is about concerns that impact our individual and shared futures. Safety and care for minors and dependent adults, rehabilitation of people who have gone through distress, sustainable living practices and livelihood creation would be some of the areas covered by this theme.

e. Fixing the present :- This theme revolves around behaviour, process and systemic change that is possible and required in the present to enable positive transformation both at an individual and social level.

Of the above, I thought I could contribute quite a bit in points b. and d. While I knew Arjun personally, I still put up a formal application so that if I get selected, it is only on merit and not just because I knew Arjun and Deepta. Another point which is and was much more pertinent is that this Government had turned the clock back on many of the achievements that many social groups, non-profits etc. had done to bring awareness and have a scientific outlook in society in general. While I/we do and choose to live in a techie bubble in a way, I felt it was a way in which I could contribute and add to the knowledge of other participants about free software and Debian and see if I could help them. The great thing about Debian is not just the technology but also the politics and philosophy behind it which attracts volunteers from all over the world but that is another topic for another day altogether

After my confirmation, on subsequent conversations, came to know that the plan was to fly all the participants to New Delhi Airport (T1) and from there travel down to Sattal by bus or something.

I had a look of the distance between Delhi and Sattal via web and it seemed to be in-between 4-5 hour journey via various websites . I had traveled just couple of years ago Delhi – Chandigarh (Panjab University) when I was consulting Hamara and we had done the whole thing in two, two and half hour journey even after taking 2-3 breaks . We had started around 1300 hrs. and were in Panjab University by around 1600 hrs. So as the distance seemed similar I guessed the travel would be of similar length and the road will be good which proved to be part of my downfall. I had also been under the influence of Swadesh Darshan, a Government of India initiative which promised that all roads to places of tourism would be great. I had experience of roads in Pune and Southern India which have all been great, short and even my foray from Delhi to Dharamshala had been good that too in a Delhi DTC bus few years back, number of times, although that journey is long.


The first hiccup happened when the dates were clashing with Debutsav Delhi . I had put up couple of proposals for Debutsav Delhi and they were accepted. As the dates of the trip were overlapping, I decided to withdraw from Debutsav Delhi so others could have a chance to share their experience about Debian. Due to some issues on hackergram side, it was decided to change the dates but I didn’t reapply for Debutsav as I didn’t want to travel much and had lot of pending work at my end. Finally the dates were fixed for 26th March to 30th March at Sattal where we would meet and figure out things. As travel dates came closer, hackergram group made an e-mail group so we could discuss and share ideas and know each other before and after the meetup. So I started trying to figure out people as to who they are and where their interest lie in order to forge bonds and find common interests before the meetup. It does make things easier.

Journey from Pune to Delhi

The journey from Pune to Delhi was uneventful except for the fact Ola is not realiable as can be seen from tweets I had with Ola support . I started way early as I wanted to see some of the new things that Pune Airport had done, they had supposedly added a new apron area, couple of new retail outlets as well as a Bhel puri stall . While I didn’t see any extension to the apron either on the landside or airside, nor was the bhel Puri stall guy selling bhel puris but masala chai, although the chai was good. I was lucky to get an Auto and landed at Pune Airport at around 0100 hrs. As luck would have it, I spotted Spotty B. a friend who is a long time into finance and stock markets. While his real name is something else, he likes to be known as Spotty B. Luckily, on that date there were no queues otherwise I have had troubles at Pune Airport especially while traveling with Indigo, some examples of other people tweeting about issues. Either luckily or because of the increased ticket prices due to the 737 Max grounding and Jet Airways issues, there wasn’t much crowd which was surprising to me. While my friend was also traveling from Pune – Delhi to attend a financial convention and a workshop, he was going via Air Asia. Still we got to talk till 0400 about economy, scams, financial markets where they were headed, some specific talks, companies etc. when we decided to break-up as we wanted to do the whole security gig, I had to do baggage drop etc. and the flight was at 0500 hrs. I printed my boarding pass , did the baggage drop, ran through security and was in boarding gate with still 45 minutes to go. Anyways, time went slowly as I didn’t know couple of people who were to join from Pune for the hackergram meetup.

The plane ride

We started about 5 minutes later and I met Tania and Renita on the plane as they came late who are running a non-profit which looks into women safety issues. While Pune at one time was pretty safe for women, it has grown a lot and while it is still safe, it was good to know that there are women who are trying to make spaces safe for women. What goes without saying is that any place which is safe for women are also safe for men, kids, elderly as well so it is much more of an inclusive thing rather than being exclusive. Anyways, the plane was an Airbus A320 single aisle plane. I remember as I asked if we were full and she replied yes, 180 which is A320 limit. We touched down right down on time even though we hovered a bit above Delhi Airport and still we touched down on time. As I had to take my baggage from baggage pickup belt, I went quickly and tried to figure out where the Indigo baggage was going to be unloaded. I also refreshed and came out on Delhi T1 . What had confused me was on that on the last e-mail we were told that some participants were coming on T1 and some coming on T1-C , it is only later, when traveling back when I understood they both mean the same thing and would be demolished later to have a single T1 terminal which would be a larger terminal than the one now.

Travel to Sattal by Xylo

Everyone arrived by around 10 a.m. and we were able to move out of the Airport. The hackergram team had booked a Xylo and a Traveller van. While in their plans shared with us, they had mentioned the travel as 8 hours, I had assumed they were buffing it up as we usually do whenever we travel with a group of people. I wanted to be on the Xylo as I wanted to see the nature and obviously the center of the gravity is lower on the Xylo than the Traveller and you are more closer to earth and see more from the Xylo than probably the traveller. Also it had less people and I wanted to be more with nature. We anyways had 3 days to bond with each other. Unforunately, this turned out to be a bad decision. I had no clue the road from New Delhi to Sattal was an offroaders delight. To add to the list of the things, the driver we had was constantly bugging us about how bad the travel company was from which he had come Cleartrip. If I had known that the road would be so bad, I would have made other arrangements for myself. While we did stop at couple of places, riding for 9-10 hours in a Xylo which either had no suspension or just the road was so bad, I had to conrol my water intake. By the time we reached Sattal, I was in no shape to travel any further.

The Trek

After dismounting from the Xylo, my legs were thoroughly shot, cramped after being in the Xylo for so many hours. While the hackergram had shared it before that they will be a short trek, I had counted on a 3-4 hour short ride and not an 8-9 hours bumpy ride with legs shot. Also because I hadn’t had much of water I was both thirsty and hungry. I met Arjun and the team from junglecamp and I knew I could go no further. I asked Arjun and he shared it would be a 20 minute short trek. While I was embarrased, I did reach out to Arjun and asked him to get me one of the more trained personnel as I wasn’t sure I woule be able to do it better.

I have to say that Suryaveer had advised me to stay in a hotel for the night and do the trek tomorrow but as I was unaware about the place, my logic was it was better to stay with the group rather than a hotel which I didn’t know was how far and how I will make the journey back. Also my mobile was not working for some unknown reason (was able to receive calls but not make calls) which also put a hitch on things. So while Arjun stayed behind as the team in the Traveller were still on the way, we decided to go down .

It probably became quickly apparent both to the people who were with me as well as the people from Jungle Camp that I was running on plain fumes. Somehow, I was able to get down to the camp with two people helping me. I was literally using trees as a support structure and somehow made my way down to the jungle camp. By the time I made it to the camp, I was beyond tired. I was also sticky from all the sweat and this is where perhaps I made my second wrong decision. I opend my jacket to let the wind in to take out the sweat. Soon I was freezing and again put on the jacket although it was still wet from my sweat. While I did drink slowly, I was starving and somehow raised myself to have dinner. The dinner was delicious although I didn’t know my nightmare was about to start.

The Night and the Nightmare

Somehow I made it to the tent that was alloted to me after the dinner. While the dinner was delicious, I wasn’t a good picture. I hoped that I would have a long sleep which usually clears up things. But this was not to be. Sometime later, I felt an urgent need to go to the toilet. I somehow had convinced Gauri to share the tent with me, maybe intution I don’t know. So with Gauri and another gentleman of the Jungle Camp, I went to the toilet and retched, vomited and shat at the whole time. What I didn’t know that I was losing my salt and water. Gauri tried his best. I even called mum at home at some unearthly hour and told her what had happened while at the same time I didn’t want to worry her much hence didn’t go into many details.

Anyways, it would have just troubled her and there was nothing she could have done from so far. I had to go to the toilet many times to relive myself and had become pretty weak. Gauri tried all kinds of medicines to see if I could get some relief. I realized how important it would have been if I had taken my med kit instead of just couple of medicines for such an eventuality. I knew of a sleeping pill which would help me sleep but I didn’t remember its name at that time. Also brand names of medicines in Pune and brand names of the same medicine up north will be different. Also sleeping pills are not given over-the-counter but need a prescription which I hadn’t bought. What was needed was to know the formulation which I didn’t know. And in any case, a part of me was also seeing the irony and drama in all this. Somehow I survived the night. In order to be comfortable, I asked Gauri to help me change clothes where he came to know that all the things I was wearing were sticky and wet which in his opinion only added to the problems. While I was embarassed in being nude to change clothes, I was in survival mode. I couldn’t sleep and it could have been for any number of reasons, fear possibly one of them. Simple, irrational fear that if I sleep I may never wake and I didn’t want any incident to mar the work that Arjun was doing. Also my stomach was full of gas and because I was so weak I couldn’t walk it off.

The Morning

Somehow, the morning came around and with it came a whole set of new problems. Probably Gauri had realized that I had lost all my salt by that time. I was given hot water to drink and while that helped, it didn’t help a lot. They tried to help me eat something but anything I would try to eat would feel like leather. It had just no taste. I even joked at the irony with couple of the participants of the irony that here we are, at perhaps one of the most beautiful locations on Earth and how sick I am, the black humor, irony was inescapable for me. Gauri showed me two blue birds which for a moment I thought were plastic bags but turned out to be blue birds. How I wish I could have captured them in a photograph to share it with you all. I do have some pictures of the Jungle Camp, the copyright of all those images lie either with Jungle Camp or/and its participants.

Jungle Camp from afar

While I have no clue who took that particular photograph it does show what it was all about. There is another one of Deeptha who is inspecting the inside of a jungle tent.

Deepta showing inside of a tent

Important Note – A pretty wise person had shared with me this pearl of wisdom years ago that most Indians are fatalistic by nature. And this is true of popular imagination as well as can be seen from the Final Destination movies as well. While we had signed up a legal liability waiver, I also needed to free Arjun and the whole team via an emotional waiver. I called up home and shared in a somewhat loud noise that they had taken excellent care of me (the part being unsaid that if anything did happen to me, they should not be held liable.) I know the guilt I had faced when one of my cousin sisters with whom I was pretty close had taken the extreme step a decade and more ago. I also heard of friends and even enemies who died and was shocked to find a deep sadness even when a so-called enemy had passed away. If things had to go south, I just wanted me to responsible for it, not anybody else. With the talk with Arjun, it also had occured to me that there was a division in loyalties in-between me and the Meetup/Camp and I didn’t want him to let go of the important work he was doing.

Needless to say, it was evident till 10 – 11 a.m. that I was not going to get any better, at least not at that location. As shared before, I had a heart-to-heart talk both with Deeptha and Arjun and they shared it was better for both them and me that I go to the town as possibility of medical help was much easily available rather than there. I hadn’t known or realized as to how much we depend on the salt in our bodies for taste.

I had asked the organizers of the jungle camp to make Dal Rice which they did and it was too salty for me. They tried it twice and it was still too salty for me. They tried giving me salad and somehow I was only able to eat carrot and not the Cucumber or the Armenian Cucumber even though I love it more. A decision was made to move me to a hotel so I could get better and then fly off the next day. While I was torn between remaining there and taking chances of being better and contributing to the group efforts, I knew in my heart this was a better decision. I didn’t know if I had brushed my teeth or not. I asked if it would be ok to take a bath but was told it would be bad idea. Somehow for 2-3 hours Gauri slept somehow and then we took another route which was much easier than the one we attempted the night. This also involved a short boat ride which I would have thoroughly enjoyed if I was not so weak. Soon we were on the other bank and were waiting for Sanjay and Karan of the hackergram team to show up to take me to the hotel. My weakness was so much that I couldn’t tie my own show-laces and had to avail help of somebody from the Jungle Camp team to tie my shoe-laces.

The Hotel – Lake Heritage

This is possibly the best thing they did and could have done under the circumstances. While I have already thanked Sanjay, Karan and Arjun, I still need to thank for this wonderful medicine. While the Hotel didn’t have much in name of facilities, it had three very important features which helped in the recovery process. The room was clean, the bed nice and a view to die for. It was also very appropriate as I could reflect my own feelings on the lake and vice-versa. Here are some photos of the lake and its surroundings so you have an idea of how beautiful the place was.

Lake Heritage outside, the next day

This is where I was kept for 24 hours. While the locks didn’t function, half the lights didn’t function ( it is an off-season anyways) it still gave me the peace I needed.

View of Bhimtal lake from hotel balcony Map of the place Blurred map of the map at Hotel View of Bhimtal lake at night Another view of Bhimtal lake at night, with shops opened. The same lake seen in the morning

Interestingly, I came to know that the building in the middle of the lake is an Acquarium and people still go there. If I had been better I would have explored the lake and all the nearby roads etc. The lake I felt was very much like me, silent on the above and bubbling much underneath.

I wish I had taken more and better photographs of the lake at night as the reality was much more beautiful than these photographs are able to show. It didn’t do justice to the beauty of the lake there.

Tamed ducks at Lake Bhimtal

While I didn’t want to, I simply had to venture out to look at these beautiful ducks which were kept by the boat people. I also wished I had a better camera to take the picture of the map of which I was only able to take one part. Maybe somebody could share the same with me.

I had given my word to the Hotel Branch Manager that I would share photo of the Hotel and I have done that. In addition, I had come to see there was a bus stop just in front of the hotel so I was able to see young couples, school children, wives, husbands, life happening by but all without the sounds that mar our cities. The irony even in this situation with my conversations with Sachin and Karan were, while they were curious about Pune, Mumbai etc. I was equally or more curious about Bhimtal and thereabouts. If luck will have it, I might come there again, taking some precautions which I will share in my next blog post.

Joerg Jaspert: SSH known_hosts merge by key

11 April, 2019 - 13:39

So I just ran again into sshs annoying behaviour of storing the same host key a trillionth time in my .ssh/known_hosts file. And then later on, when it changes (for whatever reason), complaining over and over until one manually fixed all those tons of lines.


So I came up with a little hacky python script that takes one or more files in the known_hosts format and merges them by key. So you end up with one line per key, and as many hostnames, IP addresses and whatnot in front.

Note: Does not work with that annoying HashKnownHosts format, and I have no idea what ssh will say if you use one of those @ tags in there. The first one is think is crap, so I don’t use it anywhere, the second I never had to use, so no idea if it breaks or not.


# Copyright (C) 2019 Joerg Jaspert <>
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# .
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# .

import argparse

parser = argparse.ArgumentParser(
    description='Merge ssh known host entries by key',
Merges entries in given ssh known_hosts file based on the key. One can also merge from multiple files.
The file should NOT use the HashKnownHosts feature.

parser.add_argument('files', type=str, nargs='+', help='files that should be merged')
parser.add_argument('-o', '--output', type=str, nargs='?', help='output file (defaults is STDOUT). Only opened after merge is complete, so can be used for inplace merge.')
args = parser.parse_args()

if args.output:
  import StringIO
  output = StringIO.StringIO()
  import sys
  output = sys.stdout

hostkeys = {}
for kfile in args.files:
  with open(kfile) as kf:
    for line in kf:
      line_splitted = line.rstrip().split(' ')
      hosts = line_splitted.pop(0).split(',')
      key_type = line_splitted.pop(0)
      key = line_splitted[0]
      if not key in hostkeys:
        hostkeys[key]["hosts"] = {}
      # Store the host entries, uniquify them
      for entry in hosts:

# And now output it all
for key in hostkeys:
  output.write('%s %s %s\n' %
  (','.join(hostkeys[key]["hosts"]), hostkeys[key]["key_type"], key))

if args.output:
  with open(args.output,'w') as f:

Elana Hashman: I'm stepping down as maintainer of auditwheel

11 April, 2019 - 09:15

For the last three years I've been a regular contributor and core maintainer of auditwheel, a Python Packaging Authority (or "PyPA") tool used to build portable binary/extension wheels on Linux. auditwheel's "show" command allows developers to check if their Python wheel's external symbol dependencies comply with the manylinux policies, and its "repair" command enables developers to more easily build policy-compliant wheels inside an appropriate environment like a manylinux Docker image without having to make significant changes to their build processes.

Most recently, at the last Python Packaging Authority sprints in November 2018, I finished work to support the manylinux2010 platform tag in auditwheel. After extensive testing, this functionality was released in version 2.0 in January of 2019.

But why?

auditwheel is a very technically challenging tool to maintain. It requires deep knowledge of dynamic linking, ELF binaries, and symbol versioning on the Linux platform. While this is very exciting technical work, it's not the sort of project that I can work on sustainably in my free time and off hours. I'm currently the only active auditwheel maintainer, and I don't feel like I can give the project the attention it deserves on an ongoing basis, especially given community interest in updating the manylinux specification and supporting new platform policies.

On the bright side, concluding my work with auditwheel and manylinux will allow me to dedicate more quality time to other FOSS projects I'm excited about! In a personal capacity, I have just started a two year term as an individual member of the Open Source Initiative Board of Directors, and I will continue my work in Debian. In a professional capacity, I recently started a new job at Red Hat and I intend to significantly increase my upstream Kubernetes and OpenShift contributions over the next year.

I'm making this announcement now to avoid surprising anyone at PyCon, and I'd love to spend my time at the conference working on a transition plan. I will be giving an introductory talk about auditwheel and the manylinux toolchain if you're interested in learning more about the space and want to get involved! At PyCon, I hope I will have the opportunity to provide some outgoing input on the future of auditwheel and manylinux, especially after the bumpy rollout of manylinux2010.

So long and thanks for all the fish 🐟

Jelmer Vernooij: Silver Platter

11 April, 2019 - 08:04

Making changes across the open source ecosystem is very hard; software is hosted on different platforms and in many different version control repositories. Not being able to make bulk changes slows down the rate of progress. For example, instead of being able to actively run a a script that strips out an obsolete header file (say "DM-Upload-Allowed") across all Debian packages, we make the linter warn about the deprecated header and wait as all developers manually remove the deprecated header.

Silver Platter

Silver-platter is a new tool that aids in making automated changes across different version control repositories. It provides a common command-line interface and API that is not specific to a single version control system or hosting platform, so that it's easy to propose changes based on a single script across a large set of repositories.

The tool will check out a repository, run a user-specified script that makes changes to the repository, and then either push those changes to the upstream repository or propose them for merging.

It's specifically built so that it can be run in a shell loop over many different repository URLs.


As an example, you could use the following script ( to update the FSF address in copyright headers:


perl -i -pe \
'BEGIN{undef $/;} s/Free Software
([# ]+)Foundation, Inc\., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA/Free Software
\1Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA/smg' *

echo "Update FSF postal address."

Say you a wanted to create a merge proposal with these changes against offlineimap. First, log into GitHub (this needs to be done once per hosting site):

$ svp login

To see what the changes would be without actually creating the pull request, do a dry-run:

$ svp run --dry-run --diff ./
Merge proposal created.
Description: Update FSF postal address.

=== modified file ''
--- upstream/ 2018-03-04 03:28:30 +0000
+++ proposed/ 2019-04-06 21:07:25 +0000
@@ -14,7 +14,7 @@
 #    You should have received a copy of the GNU General Public License
 #    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA

 import os
 import sys

=== modified file ''
--- upstream/       2018-05-01 01:48:26 +0000
+++ proposed/       2019-04-06 21:07:25 +0000
@@ -19,7 +19,7 @@
 #    You should have received a copy of the GNU General Public License
 #    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA

 import os
 from distutils.core import setup, Command

Then, create the actual pull request by running:

$ svp run ./
Reusing existing repository
Merge proposal created.
Description: Update FSF postal address.

This would create a new commit with the updated postal address (if any files were changed) and the commit message Update FSF postal address. You can see the resulting pull request here.

Debian-specific operations

To make working with Debian packaging repositories easier, Silver Platter comes with a wrapper (debian-svp) specifically for Debian packages.

This wrapper allows specifying package names to refer to packaging branches; packaging URLs are retrieved from the Vcs-Git header in a package. For example:

$ debian-svp run ~/ offlineimap

to fix the same issue in the offlineimap package.

(Of course, you wouldn't normally fix upstream issues like this in the Debian package but forward them upstream instead)

There is also a debian-svp lintian-brush subcommand that will invoke lintian-brush on a packaging branch.

Supported technologies

Silver-Platter currently supports the following hosting platforms:

It works in one of three modes:

  • propose: Always create a pull request with the changes
  • push: Directly push changes back to the original branch
  • attempt-push: Attempt push, and fall back to propose if the current users doesn't have permissions to push to the repository or the branch.

There is a Silver Platter repository on GitHub. Silver Platter is also available as a Debian package in unstable (not buster).

More information

For a full list of svp subcommands, see svp(1).

Gunnar Wolf: #FLISOL at Facultad de Ingeniería, UNAM - April 25 and 26 @lidsol @comunidadfi @die_fi_unam @FIUNAM_MX #FIUNAM

11 April, 2019 - 01:36

After several years of absence, LIDSOL (Laboratorio de Investigación y Desarrollo de Software Libre) is once again organizing a FLISOL!

And what is a FLISOL? It is the Festival Latinoamericano de Investigación y Desarrollo de Software Libre — An activity that started off as an installfest, but went on to become a full set of conferences. Set of conferences? Yes, because FLISOL happens more-or-less simultaneously (the official date is the last Saturday of April, but there is tolerance for it to happen up to a couple of weeks around it) all over Latin America. This year, FLISOL will be held at different cities in Germany, Argentina, Bolivia, Brazil, Chile, Colombia, Costa Rica, Cuba, Ecuador, Spain, El Salvador, Guatemala, Honduras, México, Nicaragua, Panamá, Paraguay, Perú, Rep. Dominicana, Uruguay and Venezuela.

So, besides the install fest that will be continuously happening on tables at the entrance of the auditorium, we will have a very interesting set of talks for Thursday and Friday, April 25 and 26, at the main auditorium of Facultad de Ingeniería (Auditorio Javier Barros Sierra):

A rough translation for the talks (yes, this is aimed at a local audience, but my blog is in English for $reasons ;-) ) follows:

Thursday, April 25
Hackers and Free Software, the immune system of Internet (Hiram Camarillo)
The Debian project: Beyond the mother of all distributions (Gunnar Wolf)
Advantages of communities, and how to contribute (Luis E. Jiménez Robles)
DeepDream with TensofFlow (Alejandro Hernández)
Science + Free Software = <3 (Diego Barriga)
Modbus Protocol: A present risk in Industrial Control Systems (Paulo Contreras Flores)
Friday, April 26
It's not your friend, it's proprietary software (Paul Aguilar)
Introduction to Fedora (Efrén A. Robledo)
Fedora Containers Lab (dockerless containers) (Alex Callejas)
Programmers sought: How to save the world without dying in the attempt (Irene Soria)
git + CI + CD = Devops (Andrés Hernández)
AttachmentSize cartel_flisol.jpg148.81 KB ponencias_flisol.jpg162.29 KB

Reproducible builds folks: Reproducible Builds: Weekly report #206

10 April, 2019 - 15:29

Here’s what happened in the Reproducible Builds effort between Sunday March 31 and Saturday April 6 2019:

Packages reviewed and fixed, and bugs filed Test framework development
  • We operate a comprehensive Jenkins-based testing framework that powers The following changes were done this week:

  • Chris Lamb:
    • Avoid double spaces in IRC output, eg. “Failed”. []
  • Holger Levsen:
  • Mattia Rizzolo:
    • Apply flake8 to the script. []
    • Install the python3-yaml library everywhere as it is needed by the deploy script. []
    • Special-case the src:debian-installer package as it has “special” download requirements. [] (see #926242)
    • Add the new mail server to our Munin configurations. []
    • Drop the old Alioth OpenSSH key from Jenkins’ authorized_keys. []
    • Node maintenance. []

This week’s edition was written by Bernhard M. Wiedemann, Chris Lamb, Daniel Shahaf, Holger Levsen, Mattia Rizzolo & reviewed by a bunch of Reproducible Builds folks on IRC & the mailing lists.

Neil McGovern: GNOME ED Update – March

8 April, 2019 - 17:57

It’s time for another update on what the GNOME Foundation has been up to in March.

We attended a couple of events this month. Firstly, we were at SCaLEx17, which  took place in Pasadena, California from 7th -10th March. It was a busy conference with a large number of attendees. We had a booth, and warm reception from visitors where we sold a large number of t-shirts and received donations on the booth. Talks were given by Matthias Classen on Containerized Desktops for Fun & Profit and Christian Hergert on Modernizing Desktop Linux Application Development.

After this, we were at the Free Software Foundation‘s event, LibrePlanet. As always, it’s a really community driven conference with a load of great talks. Given our historical association with the FSF and the GNU project, we received a really warm welcome with multiple people saying it was great to see us attend in person!

Another notable development is around our own conference, GUADEC. Our sponsorship brochure has now been published and we’re seeking sponsors! If you or someone you know is interested, then please get in touch :) I’ve heard that the Call for Papers will be opening really soon now, so it’s time to start thinking about giving a presentation at the event, if you’re not already. After unfortunately having to miss last year, I’m really looking forward to attending and meeting GNOME contributors and users – I’ll be attending are you?

I’m actually writing this from FOSS North, where we also have a stand. We’re also going to be attending Linux Fest North West later this month, where Sriram Ramkrishna will be joined by our new Development Coordinator.

That’s right, we’ve managed to find an excellent candidate to take on the role of Development Coordinator for the Foundation, making sure we can sustainably support the number of staff we now have, and they have accepted the role. Expect an email to foundation-announce in the next couple of weeks, introducing them.

We’ve made some really good progress on the Foundation’s Annual report, and we’re in the design phase. This means that it won’t be long until we get this finished, and this time well before GUADEC :)

Finally, we’re trialling the use of a Discourse instance as a new way of communicating. The gtk-devel list has moved over, and gnome-builder is also keen to use it rather than the mailing list. While rolling it out, it’s been really interesting to see people who wouldn’t usually talk to us use the platform. I know that sometimes email works well with people’s workflows, and fortunately you can interact with discourse just via email, if you so chose. We’ll see how it goes before I suggest other people move off mailman, but so far results are very positive.

That’s all for now, I’ll write again next month.


Daniel Silverstone: A quarter in review

8 April, 2019 - 15:47
The 2019 plan - First-quarter review

At the start of the year I blogged about my plans for 2019. For those who don't want to go back to read that post, in summary they are:

  1. Continue to lose weight and get fit. I'd like to reach 80kg during the year if I can
  2. Begin a couch to 5k and give it my very best
  3. Focus my software work on finishing projects I have already started
  4. Where I join in other projects be a net benefit
  5. Give back to the @rustlang community because I've gained so much from them already
  6. Be better at tidying up
  7. Save up lots of money for renovations
  8. Go on a proper holiday

At the point that I posted that, I promised myself to do quarterly reviews and so here is the first of those. I am a few days late/early depending on your view of things, but today seems a good day to do this since it's the day before my 39th birthday.

1. Weight loss

I started the year at 101.7kg, and when I posted my plans I was 101.3kg which wasn't the best start to the year. My goal is 80kg this year, and when I started I figured that'd be pretty easy to achieve given my previous 6 months or so of consistent weight loss. Sadly that has not proven out. It is harder to lose weight as you get lighter; the more you lose the harder it gets.

I started the year out pretty strong, reaching 90kg in early March. Sadly my body seems to really like 90kg. It's not really a "set point" in that I can easily gain weight from there, but losing weight from 90kg has proven to be really tough for me. Since that first time dipping to 90kg in early March, I've been up as high as 91.5kg and down as low as 87.5kg, though I'm currently 88.6kg.

Previously on weight plateaus, I've been able to kick-start loss again either by doing a stronger fast for a few days, or by eating more for a week and then returning to my loss-level diet. This hasn't worked in the past month yet.

Since this month includes when my father was very unwell before ultimately dying last year, and also my birthday, I figure that I'm going to end this plateau with a huge pig-out on protein tomorrow for my birthday and then going somewhat strict with myself for a few weeks to try and get things going again. I know that by my goal estimate, I have basically 8 months to lose 8kg, but I ought to be able to do that in 4 months or even less if I try harder.

Other fitness goals have been sidelined in favour of the couch-to-5k effort (see below) but perhaps in my next review things will change…

I give myself a solid "B" for this

2. Couch to 5k

This was started, and I have been doing my best. It has been a really interesting experience since it has taught me that the "training wall" really exists. One week a while ago, I hit it really hard, and had to stop my run about 10m in, because I simply could not make my legs go any further. Since then I've reduced the amount of non c25k training I do, and that has allowed my body the time to adapt to running more effectively.

I managed a 5k run for the very first time last Thursday, and I'll be attempting another on Thursday of this week. I'm amazed at my progress and super-proud of being able to say that I have pretty much nailed this one down. I have hopes that at the next checkin I'll to have to say that I've met my goal (a parkrun in May, running the whole thing) and so be setting a different fitness goal for the rest of the year.

So far, so good, I'm giving myself an "A+"

3. Finishing projects

I managed to sort things so that Gitano won't drop out of Debian, and I've done a bit more on NetSurf than I did previously, but in the past quarter I've not done a lot on the pub software I mentioned at the start of the year.

Rob and I have booked off a chunk of April, so perhaps I'll get a chance to do some of that then.

Sadly, I've also started a bunch of projects, including beginning to plan work with Lars on a Yarn re-design.

So over-all, this one gets a "C" - satisfactory but could do a lot better.

4. Be a net benefit

I have restricted what projects I am part of this year. My presence in Debian I think just about counts as a net-benefit to the project, but it's a pretty slim margin.

I do my best on the Lua community support (ML, webhosting, etc) but I've not really been a part of the community for a couple of years now. I'd like to think they still appreciate my efforts, but that's about it.

I've really heavily invested my efforts into Rust related stuff as you will see.

I think that, over all, I'm doing okay here, a "B-" since I could do better but I'm not negative-impact anywhere to my knowledge.

5. Give back to the Rust community

This is one software/community place where I think I've done pretty well. I started the year looking at various parts of the Rust ecosystem, but ended up settled into Rustup where I joined the working group and began in earnest to help deal with issues and improve what I see to be the gateway to the Rust ecosystem.

As you will know if you follow this blog, I ended up making the Rustup 1.17.0 release, which was a nerve-wracking experience that I will do better with next time. Fortunately the community is amazing and they were super-forgiving of my cockup.

I also hang around on the #wg-rustup Discord channel and other channels on that server, helping where I can. I've been running the Rustup working group weekly meetings, and I feel like I've made a pretty positive impact on things. Rustup is a slow moving tool which we try and change only conservatively, but it is a critical part of the experience of the Rust ecosystem so we do want to make it as good as it can be.

All in all, I think I deserve an "A" for my efforts here. I could do a bit more and that'd give me the "+" but for now I'm satisfied.

6. Be better at tidying up

I started the year out strongly, doing well at this, but over the months I've slipped back into my bad habits. I'm still very bad at this part of "adulting" and have nothing useful to report beyond "Trying to develop multiple habits simultaneously is super-hard". I think that once the c25k effort is over and I can reduce my running efforts, resuming "normal" gym routines etc, I may have some mental energy left to try and develop better tidying habits.

All in all this is a big fat "F" for fail.

7. Save up money for renovations

I believe that I've been doing pretty well at this. Since I don't go out much, I don't eat out anywhere near as much as I used to, and I don't generally buy toys (e.g. I recently got an upgraded graphics card for free because Rob decided he needed a shinier one and so I got a hand-me-down), I've been able to put a good chunk of cash away. Not enough yet for a new kitchen, but it's getting there slowly. Of course, the next point might eat away a good chunk of it…

I'm giving myself an "A" for this, because I do have a pretty healthy looking savings account, even if I can see all the looming bills for renovations.

8. Go on a proper holiday

Well, this one hasn't happened yet, though I do have a week off booked for after easter, that's in next quarter so I'm guessing it doesn't count for now.

Rob will be off to Japan in the summer, so perhaps I'll take some time off at that point to have a break. Of course, with Rob away, it'd be a staycation which isn't quite what I had in mind, so who knows what I'll do instead. I'm so much of a homebody that a staycation is still a good holiday in my view, but it's not what I meant when I said a "proper holiday" since that needs to be a break from all the "normal" stuff in my view.

Giving myself a "C" here because I've not failed at it, but I've not made major inroads into planning or somesuch.


All-in-all I think I've done pretty well. My scores are B, A+, C, B-, A, F, A, C, which, if we ignore the F is an average of A, though the F does ruin things a little. Hopefully in another 3 months I'll be able to report better progress.


Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้