James Hunt: Upstart 1.7 released
Summary of changes
- New initctl commands: set-env, unset-env, get-env, list-env, reset-env, list-sessions (all except last with corresponding D-Bus methods).
- New D-Bus-only signals EventEmitted, Restarted, and EndSession method.
- Ability to run with PID >1 to allow Upstart to manage a user session.
Running Upstart as a 'Session Init' in this way provides features
above and beyond those provided by the original User Jobs such that
the User Job facility has been removed entirely: to migrate from
a system using User Jobs, simply ensure the user session is started with
'init --user'. - New upstart-event-bridge bridge which proxies system-level events down to Session Inits, allowing users jobs to react to udev events.
- Ability to read job configuration and override files from multiple freedesktop-compliant locations (Session Init only).
- Ability to shutdown both via a system shutdown request and via a user logout request (Session Init only).
- Additionally, there are a few bug fixes and 94 new tests.
Thanks to all the contributors, reviewers, testers and users!
Download
Get it here https://launchpad.net/upstart
Robert Collins: subunit version 2 progress
Subunit V2 is coming along very well.
Current status:
- I have a complete implementation of the StreamResult API up as a patch for testtools. Thats 2K LOC including comeprehensive tests.
- Similarly, I have an implementation of a StreamResult parser and emitter for subunit. Thats 1K new LOC including comprehensive tests, and another 500 lines of churn where I migrate all the subunit filters to v2.
- pdb debugging works through subunit v2, permitting dropping into a debugger to work. Yay.
Remaining things to do:
- Update the other language bindings – the C library in particular.
- Teach testrepository to expect v2 input (and probably still store v1 for a while)
- Teach testrepository to use pipes for the stdin of test runner backends, and some control mechanism to switch input between different backends.
- Discuss the in-Python API with more folk.
- Get code merged
Chris Johnston: vUDS
Most people are probably aware by now that this Tuesday, 5 March starts the first of the new virtual Ubuntu Developer Summit events. In order to handle the changes nicely, we have made some changes to the Summit Scheduler. The changes that we made allows a meeting and/or a summit to be set as ‘virtual.’ When a meeting is set as virtual, the meeting page will render with a new virtual layout. This layout includes the Google Hangout broadcast, the IRC channel via the webchat client, and the Etherpad, all embedded on in the page. The required participants for a meeting will also be given a link to participate in the hangout. Both the embedded broadcast and the hangout link have to manually be added by the track lead prior to each meeting. If the hangout broadcast isn’t available when you visit the page, please be patient and wait for the data to be added. Once the information is added to Summit, the meeting page should automatically load the hangout broadcast.
Please don’t forget to test using hangouts prior to UDS starting so that we can minimize the number of issues we have with the hangouts. A “best practices” guide has been created for use during the Ubuntu On Air events. Please take the time to look at these practices before Tuesday.
Sergio Meneses: Ubuntu Global Jam – Day 2
UGJ day2 was dedicated to test the Ubuntu normal version (amd64) and the native applications.
Have a nice Jam!
Daily Iso Tests:
1- Ubuntu amd64 (entire disk)
2- Ubuntu amd64 (Manual partitioning)
3- Live Session
Ubuntu Iso testers
Application Tests:
1- Empathy
2- Gnome-Terminal
3- Eye of Gnome
4- Totem
5- Evince
Application Testers
Remember, if you want to be part of the UGJ, you will find information about testing procedures in our wiki pages, the official wiki page: https://wiki.ubuntu.com/UbuntuGlobalJam
And the Ubuntu QA team wiki page for UGJ:https://wiki.ubuntu.com/QATeam/Cadence/Raring/Week7UbuntuGlobalJam
Philipp Kern: git-annex: encrypted remotes
However, I was still able to access the git-annex branch within said git repository (using porcelain). This branch contains a file called remote.log which contains the keys of the special remotes. There's one per remote, encrypted to a GPG key of your choice and all files within that remote are encrypted with the same symmetric key.
One small detail stopped me from getting the decryption right the first time, though. It seems that git-annex uses randomness generated by GPG and armored into base64. In my naïveté I spotted the base64 and decoded it. Instead it's used verbatim: the first 256 bytes as HMAC key (which reduces randomness to 192 bytes) and the remaining bytes for the symmetric key used by GPG (which will do another key derivation for CAST5 with it). A bug about that just hit the git-annex wiki.
With that knowledge in mind I wrote a little tool that's able to generate encrypted content keys from the plain ones used in the symlinks. That helps you to locate the file in the encrypted remote. Fetch it and then use the tool to decrypt the file in question with the right key.
The lesson: Really backup the git repository used with git-annex and especially remote.log. I'm now missing most of the metadata but for some more important files it's luckily still present. Recovery of the file content does not depend on it if you can deduce the filename from the content. If you have many little files it might be a bit futile without it, though.
Daniel Silverstone: In which our intrepid explorer fecks some brains…
I have uploaded part three of my parsing and Haskell video in which I build a parse tree for Brainfuck using Parsec.
Once more, comments, suggestions etc gratefully received.
Ubuntu Ohio - Burning Circle: Burning Circle Episode 103
This week's episode unusually posts early on a Sunday and talks about the recent Rolling Releases proposal as well as the virtual Ubuntu Developer Summit happening later this week. Further episodes are possible during the remainder of the week.
Related links:
Download here (MP3) (ogg), or subscribe to the podcast (MP3) to have episodes delivered to your media player. We suggest subscribing by way of a service like gpodder.net. Materials to support the work of the Air Staff of Erie Looking Productions can be purchased via their Amazon wish list.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/.
Omer Akram: Ubuntu Membership should expire too
Today I got an email from Gnome that its been two years for me being a Gnome member and If I want to continue being a Gnome member I should re-apply. Its great that they are expiring my membership since I have not been active in the Gnome community for a long time.
In the Ubuntu world it seems that there is no rule of membership expiring. I don’t think the Ubuntu membership should be a lifetime thing(Currently you can renew your own membership just by opening a Launchpad page). It should expire so that we see a little cleanup in the Ubuntu members team for those who are not active in the community.
Thoughts ?
Maia Grotepass: Cape Town Global Jam Raring
We looked at Debian bugs that needed to be added to the release or not, as the case may be. Thank you Stefano for organizing, mentoring and driving the coffee machine. Thanks to everyone who donated a couple of hours to make ubuntu better. Thanks codebridge for having us.
Javier L.: UGJ, Mexico city, March 2013
So.., today was our UGJ.., and we’re reporting back =), I think we couldn’t get a better place to jam, the guys of the vision cafe got us to one of the Santa Anna personal rooms (thank you!, your service is one of the best!), Mexico downtown is full of colonial buildings and this one was not the exception. We jammed for ~4 hours, which we used to ping the problems we had reported previously, looked at translations, art, talked about the strategies to keep improving the Ubuntu-mx team and ate lots of pizza, I love to see this energy at the keyboard, we even went online:
Hey, I know we may seem some kind quiet but we where focusing on our topic list (those white papers we keep looking at): http://tinyurl.com/points-lst, we also took some pictures:
Click to view slideshow.How was yours? =)
Dylan McCall: frame
Almost five months ago, I switched to a standing desk. I am in love.
Yes, it is absolutely sane to be in love with a desk.
We made a standing desk out of processed trees. The result is modest, but I’m happy with it! Dads are great.
The idea with a standing desk is your body stays more active while you are at your desk, so you can read those health warnings about sitting all day with a sense of superiority. And we all like to feel superior. But I didn’t switch to a standing desk because of articles pointing out that everything is killing us. When I started, I had a few reasons of my own! When I sit, I end up sitting wrong within minutes, and over time that can be terrible for my posture. This is a problem, because my choice of obsession (and profession) means I am doomed to a lot of fooling around with computers. For a long time, I assumed that doom required equal amounts of sitting. During my little internship at the David Suzuki Foundation, one of my awesome coworkers was thrilled with her standing desk, so that finally got the wheels turning for me.
Meanwhile, I was noticing that I never really solve much while I’m sitting at a desk. My brain works a lot better when I’m at least moving. The problem is my work environment wasn’t really made for moving around. There was a giant, allegedly comfortable chair in the way, all in the name of enhancing the computer. I say “allegedly comfortable” because this is one of the other neat things: I was thinking about getting an actually comfortable chair, then I realized I could change my desk, instead. Boom! Hundreds of dollars in savings (maybe).
I started off looking at different articles around the web for inspiration. Jorge Castro wrote a blog post about his own adventure building a standing desk on top of a metal frame, and Priceonomics has a nice article with different ways of putting together a standing desk from Ikea stuff. I momentarily entertained the idea of buying from Geekdesk, but, besides the price, I decided I would prefer to jump in head first with something that is not adjustable to sitting. If I make it easy to go back, I probably will.
So, I was looking at different bits of Ikea furniture that I could somehow jam together into something coherent, and soon enough my dad talked me out of all that. Instead, we (mostly he) built a new desk frame from scratch! This way we could get something at the right height from the start. After all, you don’t want to stand at an uncomfortable desk, and unlike sitting on a fancy chair, you can’t really adjust your standing height. There’s a sort of general guideline that the desk should be at a height where you can look straight ahead with your elbows at a 90° angle, and we ended up with something pretty close to that for me.
As might be expected, it looks slightly more flattering from the top.
As well as the desk, I have collected some standing desk paraphernalia. After about two weeks I got a new, cheap office chair that adjusts almost as high as the desk. I haven’t used the chair as much as I expected — I can remember maybe eight specific occasions — but it is great for those long sessions of Crusader Kings 2. (Its height even resembles a throne, and it terrifies me. As it turns out, I would make a terrible king). Just last month I got a brand new anti-fatigue mat, which is under my rug in the photo. Mine is an Imprint Comfort Mat. It’s aimed at home kitchens, so it has a durable surface and some sort of memory foam cushioning. It feels a lot like wearing a good pair of shoes. I got on fine without it for the months before, but I can see why that extra stress on the feet could make a big difference for some people, and I’m glad I have something for them now.
Speaking of gadgets, I quickly began to appreciate long cables. My headphones have an unusually long cord, and that used to bother me, but now that I’m a few feet higher and I like to wander away from my desk, the extra length is indispensable. Cables have been a problem in other spots, though. Many of them, like my video cable, are only just long enough. As it is, I can’t do much to hide them from view. They just reach to the top in the quickest possible way, which of course involves a giant knot. I really should hunt for some new cables, but at this stage it seems almost insurmountable. It makes me wish I had chosen differently every time I thought “I don’t need a longer cable — it just needs to reach around my desk.” So, uh, there’s my helpful advice.
Not actually the view out my window, but at least it’s a different colour palette.
My favourite thing with this standing desk is what it means for taking a break. Sitting down almost feels like a worthwhile, and entirely justified, change of pace, which is very refreshing. I still have my perpetually unfinished home-made “take a break” app running, and I have an easier time prying myself away from my computer when a micro break or a rest break comes along. I’m always one step closer to it, after all. Also, I think I’m biting my nails less! Weird, but exciting.
As for the standing part, it definitely took time to adjust. For the first few weeks, I had a weird habit of standing completely still at my desk. I guess that’s because I was so used to sitting still at my desk, but my feet didn’t thank me for it. Since then, as I have become used to the idea, I am prone to stretch and move around more, so my feet aren’t being pressured in one way for the whole time. At this point, I definitely find it easier to walk around and look out a window when I’m pondering something. I haven’t decided if that really helps me to think, but at least it seems healthier. The bottom line is I feel more free when I’m doing computer stuff, and that’s really cool.
So, add me to the crazy standing desk fan club, please! I don’t think I will be going back.
Randall Ross: Jamming? We Need Your Photos!
Are you Jamming this weekend? Take photos!
Post your Jam photos to your favourite photo sharing service (Pictag: ubuntu) and also to Planet Ubuntu. Show the world the wonderfully awesome project that is Ubuntu.
Thank you!
--
Someone famous once said that "If there are no photos, the event never happened." Hint: Might be Jorge Castro.
Luis de Bethencourt: Primeval C: two very early compilers
"As described in the C History paper, 1972-73 were the truly formative years in the development of the C language: this is when the transition from typeless B to weakly typed C took place, mediated by the (Neanderthal?) NB language, of which no source seems to survive. It was also the period in which Unix was rewritten in C.
In looking over this material, I have mixed emotions; so much of this stuff is immature and not well-done, and there is an element of embarrassment about displaying it. But at the same time it does capture two moments in a period of creativeness and may have some historical interest.
Two tapes are present here; the first is labeled "last1120c", the second "prestruct-c". I know from distant memory what these names mean: the first is a saved copy of the compiler preserved just as we were abandoning the PDP-11/20, which did not have multiply or divide instructions, but instead a separate, optional unit that did these operations (and also shifts) by storing the operands into memory locations. [...]
"prestruct-c" is a copy of the compiler just before I started changing it to use structures itself.
It's a bit hard to get really accurate dates for these compilers, except that they are certainly 1972-73. There are date bits on the tape image, but they suffer from a possible off-by-a-year error because we changed epochs more than once during this era, and also because the files may have been copied or fiddled after they were the source for the compiler in contemporaneous use.
The earlier compiler does not know about structures at all: the string "struct" does not appear anywhere. The second tape has a compiler that does implement structures in a way that begins to approach their current meaning. Their declaration syntax seems to use () instead of {}, but . and -> for specifying members of a structure itself and members of a pointed-to structure are both there."
mortdeus, from Hacker News, has mirrored these files into a github repo where you can view these files.
Read more at Dennis Ritchie's original article.
Raphaël Hertzog: My Free Software Activities in February 2013
This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (78.31 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.
Debian packagingI wanted to update publican to the latest upstream release but I stopped after a few hours of work during which I filed two bugs that a modicum of testing should have caught before release. So I decided to wait for the next minor release.
I uploaded python-django 1.4.4 and 1.4.5, new upstream maintenance and security releases which thus went into wheezy. I also prepared a stable update of Django (1.2.3-3+squeeze5) which required me to backport the last 2 sets of security patches.
I uploaded a new revision of wordpress to fix a problem with TinyMCE (#700289) and to update/add many translation files (#697208).
Bug reporting and misc fixesLive-build issue. I experienced some intermittent failures when building HDD live images with live-build on armel. Daniel Baumann directed me to the problematic piece of code (the “oversizing” of the image size was not enough) so I committed a small fix by increasing the oversizing factor to 6%.
Live-config issue. I also reported another issue that I diagnosed in live-config (#701788), namely that the script which setups sudo was failing when the default user is root.
git-buildpackage issue. I filed #700411 after noticing that git-import-orig imported the debian directory provided by upstream. Those directories are not used with “3.0 (quilt)” source package and their presence in the upstream branch is thus harmful: any change to the upstream debian directory will result in conflicts when you merge a new upstream release in your packaging branch.
rubygems integration. Later I had to package a bunch of ruby applications that were using Bundler and I wanted to reuse as many packaged ruby modules that I could. But for this, those modules had to provide the required rubygems meta-information. I filed #700419 to request those on rake-compiler and with the help of Cédric Boutillier (and others on #debian-ruby), we identified a bunch of ruby modules which could get those with a simple recompilation. I filed bin-nmu requests in #700605.
Misc bugs. simple-cdd offers to select profiles to install but I noticed that the associated debconf template was not translated (#700915). The startup scripts (provided by initscripts) in charge of activating the swap are supposed to handle a “noswap” kernel command line option to disable swap. In #701301, I reported that the option was not working correctly if “quiet” was present first in the command line due to spurious “break” statements.
Debian FranceAdministrative work. We were late for some legal procedures so I wrote the report of the last general assembly and sent it to the “Tribunal d’instance of Sarreguemines” to record the changes in the administrative board. I also completed the “special register” of the association, it’s a notebook that is legally required and that must document any important change in the governance structure of the association (new members of the board, headquarters change, new bylaws, etc.).
Galette developments. Debian France is funding a few enhancements to the Galette free software that we’re using to manage the association. I am in touch with the Galette developer to answer his questions and ensure that his work will meet our needs.
LibrementI have been looking for talented developers who have a genuine interest in my Librement project. I want to fund the initial development of the project but I don’t have the means to fund it entirely. So I really wanted to find developers who would find an interest beside the money that I would pay.
I got in touch with the team of developers from Scopyleft and they look like very good candidates. But they’re heavy users of the Scrum development method and asked me to play the role of “product owner”. So I started to describe the project with “user stories” (i.e. “create the backlog” in the Scrum jargon), you can have a look at them here on trello.com. If you’re interested by the topic of free software funding, feel free to review and to send me your comments.
My goal is clearly to have a “minimal viable product” with the first iteration(s) that I fund and then use the platform itself to fund further developments of the project.
ThanksSee you next month for a new summary of my activities.
One comment | Liked this article? Click here. | My blog is Flattr-enabled.
Paul Tagliamonte: Firehose - wanna hack?
As folks know, I’ve been hacking on Firehose. I’ve been debating doing some work to modify / extend / replace DACA, and I could use some help writing new wrappers around static check code, so, who wants to hack?
Any UI folks? I could use a UI to view Firehose data, something spiffy and colorful.
Hackers? Send in some wrappers for your favorite static checking code. Send in pull requests or email me with a pointer to the repo :)
Hack on, folks!
Sergio Meneses: Ubuntu Global Jam – Day 1
I’ve downloaded all isos that I shall need this weekend: Lubuntu, Xubuntu, Kubuntu and Ubuntu (of course!). By different reasons I only could work last night but it isn’t matter, last night was Lubuntu Testing night! \o/
I’ve tested Lubuntu (amd64 – normal and alternate versions) And for my big surprise, Lubuntu isos worked too perfect I hope this day will be more productive and I can work on testing applications and Ubuntu testing as well.
Remember, if you want to be part of the UGJ, you will find information about testing procedures in our wiki pages, the official wiki page: https://wiki.ubuntu.com/UbuntuGlobalJam
And the Ubuntu QA team wiki page for UGJ:https://wiki.ubuntu.com/QATeam/Cadence/Raring/Week7UbuntuGlobalJam
Philipp Kern: PSA: LVM, pvmove and SSDs
One has to wonder why it takes three months for a bug that trashes data to reach testing. (Obviously I know the answer, but they're not particularly good reasons.) Other distributions, like Ubuntu, were much quicker to notice and incorporate that fix. And in the case of the named distribution not because they auto-synced it from unstable. If somebody notices such a grave bug, please yell at people to get the fix out there to our users. Thanks.
Daniel Silverstone: In which our intrepid author encounters full-rate expressions…
I have posted part two of the Haskell based calculator project.
Enjoy, subscribe, send me ideas.
Colin King: Pragmatic Graphing
The UNIX philosophy of piping together a bunch of tools to produce the final output normally works fine, however, graphing the data with gnuplot always ends up with me digging around in the online gnuplot documentation or reading old gnuplot files to remind myself exactly how to plot the data just the way I want. This is fine for occasions where I gather lots of identical logs and want to compare results from multiple tests, the investment in time to automate this with gnuplot is well worth the hassle. However, some times I just have a handful of samples and want to plot a graph and then quickly re-jig the data and perhaps calculate some statistical information such a trend lines. In this case, I fall back to shoving the samples into LibreOffice Calc and slamming out some quick graphs.
This makes me choke a bit. Using LibreOffice Calc starts to make me feel like I'm an accountant rather than a software engineer. However, once I have swallowed my pride I have come to the conclusion that one has to be pragmatic and use the right tool for the job. To turn around small amounts of data quickly, LibreOffice Calc does seem to be quite useful. For processing huge datasets and automated graph plotting, gnuplot does the trick (as long as I can remember how to use it). I am a command line junkie and really don't like using GUI based power tools, but there does seem to be a place where I can mix the two quite happily.
Martin Owens: What I would do: Ubuntu Rolling Release
The idea really is that Ubuntu’s rolling release (alpha/betas) shouldn’t become a seperate product from Ubuntu’s LTS industry targets. Instead if we think about the platform as a whole, we should be able to put together both LTS and RR versions of Ubuntu into a single package. It would then be possible to do some really interesting things, like using one ubuntu install to repair or analyse the other.
I’d also like to see most applications removed from universe since it’s pretty obvious that the Debian model for packages is failing and we need to rethink how we deal with applications. The best model would be to be decisive and scrap apps from universe and move them to their own PPAs or a dedicated app-store model where FOSS apps might even be able to earn some money as they would finally be in a similar position to the propritary Canonical apps.
I understand these ideas are bold, but I wanted to give my thoughts on how best to close the loose ends. What are you solutions? colmment below.