Antoine Beaupr : My free software activities, June 2017
Debian Long Term Support (LTS)
This is my monthly Debian LTS report. This time I worked on
Mercurial, sudo and Puppet.
Mercurial remote code execution
I issued DLA-1005-1 to resolve problems with the hg server
--stdio command that could be abused by "remote authenticated users to
launch the Python debugger, and consequently execute arbitrary code,
by using --debugger as a repository name" (CVE-2017-9462).
Backporting the patch was already a little tricky because, as is often
the case in our line of work, the code had changed significantly in
newer version. In particular, the commandline dispatcher had been
refactored which made the patch non-trivial to port. On the other
hand, mercurial has an extensive test suite which allowed me to make
those patches in all confidence. I also backported a part of the test
suite to detect certain failures better and to fix the output so that
it matches the backported code. The test suite is slow, however, which
meant slow progress when working on this package.
I also noticed a strange issue with the test suite: all hardlink
operations would fail. Somehow it seems that my new sbuild setup
doesn't support doing hardlinks. I ended up building a tarball schroot
to build those types of packages, as it seems the issue is related to
the use of overlayfs in sbuild. The odd part is my tests of overlayfs,
following those instructions, show that it does support
hardlinks, so there maybe something fishy here that I misunderstand.
This, however, allowed me to get a little more familiar with sbuild
and the schroots. I also took this opportunity to optimize the builds
by installing an apt-cacher-ng proxy to speed up builds, which
will also be useful for regular system updates.
Puppet remote code execution
I have issued DLA-1012-1 to resolve a remote code execution
attack against puppetmaster servers, from authenticated clients. To
quote the advisory: "Versions of Puppet prior to 4.10.1 will
deserialize data off the wire (from the agent to the server, in this
case) with a attacker-specified format. This could be used to force
YAML deserialization in an unsafe manner, which would lead to remote
code execution."
The fix was non-trivial. Normally, this would have involved fixing the
YAML parsing, but this was considered problematic because the ruby
libraries themselves were vulnerable and it wasn't clear we could fix
the problem completely by fixing YAML
parsing. The update I proposed took the bold step of switching
all clients to PSON and simply deny YAML parsing from the server. This
means all clients need to be updated before the server can be updated,
but thankfully, updated clients will run against an older server as
well. Thanks to LeLutin at Koumbit for helping in testing patches
to solve this issue.
Sudo privilege escalation
I have issued DLA-1011-1 to resolve an incomplete fix for a
privilege escalation issue (CVE-2017-1000368 from
CVE-2017-1000367). The backport was not quite trivial as
the code had changed quite a lot since wheezy as well. Whereas
mercurial's code was more complex, it's nice to see that sudo's code
was actually simpler and more straightforward in newer versions, which
is reassuring. I uploaded the packages for testing and uploaded
them a year later.
I also took extra time to share the patch in the Debian
bugtracker, so that people working on the issue in stable may benefit
from the backported patch, if needed. One issue that came up during
that work is that sudo doesn't have a test suite at all, so it is
quite difficult to test changes and make sure they do not break
anything.
Should we upload on fridays?
I brought up a discussion on the mailing list regarding uploads
on fridays. With the sudo and puppet uploads pending, it felt really
... daring to upload both packages, on a friday. Years of sysadmin
work hardwired me to be careful on fridays; as the saying goes: "don't
deploy on a friday if you don't want to work on the weekend!"
Feedback was great, but I was surprised to find that most people are
not worried worried about those issues. I have tried to counter some
of the arguments that were brought up: I wonder if there could be a
disconnection here between the package maintainer / programmer work
and the sysadmin work that is at the receiving end of that
work. Having myself to deal with broken updates in the past, I'm
surprised this has never come up in the discussions yet, or that the
response is so underwhelming.
So far, I'll try to balance the need for prompt security updates and
the need for stable infrastructure. One does not, after all, go
without the other...
Triage
I also did small fry triage:
- smoke testing and review for apache2
- ping maintainer for the irssi package and the ca-certificates package
- finally marked trafficserver as N/A
- pinged the yaml-cpp maintainers again
Hopefully some of those will come to fruitition shortly.
Other work
My other work this month was a little all over the place.
Stressant
Uploaded a new release (0.4.1) of stressant to split up the
documentation from the main package, as the main package was taking
up too much space according to grml developers.
The release also introduces limited anonymity option, by blocking
serial numbers display in the smartctl output.
Debiman
Also did some small followup on the debiman project
to fix the FAQ links.
Local server maintenance
I upgraded my main server to Debian stretch. This generally went well,
althought the upgrade itself took way more time than I would have
liked (4 hours!). This is partly because I have a lot of cruft
installed on the server, but also because of what I consider to be
issues in the automation of major Debian upgrades. For example, I was
prompted for changes in configuration files at seemingly random
moments during the upgrade, and got different debconf prompts to
answer. This should really be batched together, and unfortunately I
had forgotten to use the home-made script I established when i
was working at Koumbit which shortens the upgrade a bit.
I wish we would improve on our major upgrade mechanism. I documented
possible solutions for this in the AutomatedUpgrade wiki page,
but I'm not sure I see exactly where to go from here.
I had a few regressions after the upgrade:
- the infrared remote control stopped working: still need to
investigate
- my home-grown full-disk encryption remote unlocking script broke,
but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair,
this is not a regression in stretch, it's just that I switched my
workstation from lightdm to gdm3 after learning that the latter can
do rootless X11!)
Docker and Subsonic
I did my first (and late?) foray into Docker and containers. My
rationale was that I wanted to try out Subsonic, an impressive
audio server which some friends have shown me. Since Subsonic is
proprietary, I didn't want it to contaminate the rest of my server and
it seemed like a great occasion to try out containers to keep things
tidy. Containers may also allow me to transparently switch to
the FLOSS fork LibreSonic once the trial period is over.
I have learned a lot and may write more about the details of that
experience soon, for now you can look at the contributions I made
to the unofficial Subsonic docker image, but also
the LibreSonic one.
Since Subsonic also promotes album covers as first-class citizens, I
used beets to download a lot of album covers, which was really
nice. I look forward to using beets more, but first I'll need to
implement two plugins.
Wallabako
I did a small release of wallabako to fix the build with the
latest changes in the underlying wallabago library, which led me to
ask upstream to make versionned releases.
I also looked into creating a separate documentation site but it
looks like mkdocs doesn't like me very much: the table of
contents is really ugly...
Small fry
- merged a PR in bup-cron
- merged a PR in linkchecker, although that raised
some... interesting issues regarding the code of conduct which
I still need to digest
- looked again at neomutt: still lacks autocomplete (fixed!) and
a welcome screen
That's about it! And that was supposed to be a slow month...
hg server
--stdio command that could be abused by "remote authenticated users to
launch the Python debugger, and consequently execute arbitrary code,
by using --debugger as a repository name" (CVE-2017-9462).
Backporting the patch was already a little tricky because, as is often
the case in our line of work, the code had changed significantly in
newer version. In particular, the commandline dispatcher had been
refactored which made the patch non-trivial to port. On the other
hand, mercurial has an extensive test suite which allowed me to make
those patches in all confidence. I also backported a part of the test
suite to detect certain failures better and to fix the output so that
it matches the backported code. The test suite is slow, however, which
meant slow progress when working on this package.
I also noticed a strange issue with the test suite: all hardlink
operations would fail. Somehow it seems that my new sbuild setup
doesn't support doing hardlinks. I ended up building a tarball schroot
to build those types of packages, as it seems the issue is related to
the use of overlayfs in sbuild. The odd part is my tests of overlayfs,
following those instructions, show that it does support
hardlinks, so there maybe something fishy here that I misunderstand.
This, however, allowed me to get a little more familiar with sbuild
and the schroots. I also took this opportunity to optimize the builds
by installing an apt-cacher-ng proxy to speed up builds, which
will also be useful for regular system updates.
Puppet remote code execution
I have issued DLA-1012-1 to resolve a remote code execution
attack against puppetmaster servers, from authenticated clients. To
quote the advisory: "Versions of Puppet prior to 4.10.1 will
deserialize data off the wire (from the agent to the server, in this
case) with a attacker-specified format. This could be used to force
YAML deserialization in an unsafe manner, which would lead to remote
code execution."
The fix was non-trivial. Normally, this would have involved fixing the
YAML parsing, but this was considered problematic because the ruby
libraries themselves were vulnerable and it wasn't clear we could fix
the problem completely by fixing YAML
parsing. The update I proposed took the bold step of switching
all clients to PSON and simply deny YAML parsing from the server. This
means all clients need to be updated before the server can be updated,
but thankfully, updated clients will run against an older server as
well. Thanks to LeLutin at Koumbit for helping in testing patches
to solve this issue.
Sudo privilege escalation
I have issued DLA-1011-1 to resolve an incomplete fix for a
privilege escalation issue (CVE-2017-1000368 from
CVE-2017-1000367). The backport was not quite trivial as
the code had changed quite a lot since wheezy as well. Whereas
mercurial's code was more complex, it's nice to see that sudo's code
was actually simpler and more straightforward in newer versions, which
is reassuring. I uploaded the packages for testing and uploaded
them a year later.
I also took extra time to share the patch in the Debian
bugtracker, so that people working on the issue in stable may benefit
from the backported patch, if needed. One issue that came up during
that work is that sudo doesn't have a test suite at all, so it is
quite difficult to test changes and make sure they do not break
anything.
Should we upload on fridays?
I brought up a discussion on the mailing list regarding uploads
on fridays. With the sudo and puppet uploads pending, it felt really
... daring to upload both packages, on a friday. Years of sysadmin
work hardwired me to be careful on fridays; as the saying goes: "don't
deploy on a friday if you don't want to work on the weekend!"
Feedback was great, but I was surprised to find that most people are
not worried worried about those issues. I have tried to counter some
of the arguments that were brought up: I wonder if there could be a
disconnection here between the package maintainer / programmer work
and the sysadmin work that is at the receiving end of that
work. Having myself to deal with broken updates in the past, I'm
surprised this has never come up in the discussions yet, or that the
response is so underwhelming.
So far, I'll try to balance the need for prompt security updates and
the need for stable infrastructure. One does not, after all, go
without the other...
Triage
I also did small fry triage:
- smoke testing and review for apache2
- ping maintainer for the irssi package and the ca-certificates package
- finally marked trafficserver as N/A
- pinged the yaml-cpp maintainers again
Hopefully some of those will come to fruitition shortly.
Other work
My other work this month was a little all over the place.
Stressant
Uploaded a new release (0.4.1) of stressant to split up the
documentation from the main package, as the main package was taking
up too much space according to grml developers.
The release also introduces limited anonymity option, by blocking
serial numbers display in the smartctl output.
Debiman
Also did some small followup on the debiman project
to fix the FAQ links.
Local server maintenance
I upgraded my main server to Debian stretch. This generally went well,
althought the upgrade itself took way more time than I would have
liked (4 hours!). This is partly because I have a lot of cruft
installed on the server, but also because of what I consider to be
issues in the automation of major Debian upgrades. For example, I was
prompted for changes in configuration files at seemingly random
moments during the upgrade, and got different debconf prompts to
answer. This should really be batched together, and unfortunately I
had forgotten to use the home-made script I established when i
was working at Koumbit which shortens the upgrade a bit.
I wish we would improve on our major upgrade mechanism. I documented
possible solutions for this in the AutomatedUpgrade wiki page,
but I'm not sure I see exactly where to go from here.
I had a few regressions after the upgrade:
- the infrared remote control stopped working: still need to
investigate
- my home-grown full-disk encryption remote unlocking script broke,
but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair,
this is not a regression in stretch, it's just that I switched my
workstation from lightdm to gdm3 after learning that the latter can
do rootless X11!)
Docker and Subsonic
I did my first (and late?) foray into Docker and containers. My
rationale was that I wanted to try out Subsonic, an impressive
audio server which some friends have shown me. Since Subsonic is
proprietary, I didn't want it to contaminate the rest of my server and
it seemed like a great occasion to try out containers to keep things
tidy. Containers may also allow me to transparently switch to
the FLOSS fork LibreSonic once the trial period is over.
I have learned a lot and may write more about the details of that
experience soon, for now you can look at the contributions I made
to the unofficial Subsonic docker image, but also
the LibreSonic one.
Since Subsonic also promotes album covers as first-class citizens, I
used beets to download a lot of album covers, which was really
nice. I look forward to using beets more, but first I'll need to
implement two plugins.
Wallabako
I did a small release of wallabako to fix the build with the
latest changes in the underlying wallabago library, which led me to
ask upstream to make versionned releases.
I also looked into creating a separate documentation site but it
looks like mkdocs doesn't like me very much: the table of
contents is really ugly...
Small fry
- merged a PR in bup-cron
- merged a PR in linkchecker, although that raised
some... interesting issues regarding the code of conduct which
I still need to digest
- looked again at neomutt: still lacks autocomplete (fixed!) and
a welcome screen
That's about it! And that was supposed to be a slow month...
Should we upload on fridays?
I brought up a discussion on the mailing list regarding uploads
on fridays. With the sudo and puppet uploads pending, it felt really
... daring to upload both packages, on a friday. Years of sysadmin
work hardwired me to be careful on fridays; as the saying goes: "don't
deploy on a friday if you don't want to work on the weekend!"
Feedback was great, but I was surprised to find that most people are
not worried worried about those issues. I have tried to counter some
of the arguments that were brought up: I wonder if there could be a
disconnection here between the package maintainer / programmer work
and the sysadmin work that is at the receiving end of that
work. Having myself to deal with broken updates in the past, I'm
surprised this has never come up in the discussions yet, or that the
response is so underwhelming.
So far, I'll try to balance the need for prompt security updates and
the need for stable infrastructure. One does not, after all, go
without the other...
Triage
I also did small fry triage:
- smoke testing and review for apache2
- ping maintainer for the irssi package and the ca-certificates package
- finally marked trafficserver as N/A
- pinged the yaml-cpp maintainers again
Hopefully some of those will come to fruitition shortly.
Other work
My other work this month was a little all over the place.
Stressant
Uploaded a new release (0.4.1) of stressant to split up the
documentation from the main package, as the main package was taking
up too much space according to grml developers.
The release also introduces limited anonymity option, by blocking
serial numbers display in the smartctl output.
Debiman
Also did some small followup on the debiman project
to fix the FAQ links.
Local server maintenance
I upgraded my main server to Debian stretch. This generally went well,
althought the upgrade itself took way more time than I would have
liked (4 hours!). This is partly because I have a lot of cruft
installed on the server, but also because of what I consider to be
issues in the automation of major Debian upgrades. For example, I was
prompted for changes in configuration files at seemingly random
moments during the upgrade, and got different debconf prompts to
answer. This should really be batched together, and unfortunately I
had forgotten to use the home-made script I established when i
was working at Koumbit which shortens the upgrade a bit.
I wish we would improve on our major upgrade mechanism. I documented
possible solutions for this in the AutomatedUpgrade wiki page,
but I'm not sure I see exactly where to go from here.
I had a few regressions after the upgrade:
- the infrared remote control stopped working: still need to
investigate
- my home-grown full-disk encryption remote unlocking script broke,
but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair,
this is not a regression in stretch, it's just that I switched my
workstation from lightdm to gdm3 after learning that the latter can
do rootless X11!)
Docker and Subsonic
I did my first (and late?) foray into Docker and containers. My
rationale was that I wanted to try out Subsonic, an impressive
audio server which some friends have shown me. Since Subsonic is
proprietary, I didn't want it to contaminate the rest of my server and
it seemed like a great occasion to try out containers to keep things
tidy. Containers may also allow me to transparently switch to
the FLOSS fork LibreSonic once the trial period is over.
I have learned a lot and may write more about the details of that
experience soon, for now you can look at the contributions I made
to the unofficial Subsonic docker image, but also
the LibreSonic one.
Since Subsonic also promotes album covers as first-class citizens, I
used beets to download a lot of album covers, which was really
nice. I look forward to using beets more, but first I'll need to
implement two plugins.
Wallabako
I did a small release of wallabako to fix the build with the
latest changes in the underlying wallabago library, which led me to
ask upstream to make versionned releases.
I also looked into creating a separate documentation site but it
looks like mkdocs doesn't like me very much: the table of
contents is really ugly...
Small fry
- merged a PR in bup-cron
- merged a PR in linkchecker, although that raised
some... interesting issues regarding the code of conduct which
I still need to digest
- looked again at neomutt: still lacks autocomplete (fixed!) and
a welcome screen
That's about it! And that was supposed to be a slow month...
- smoke testing and review for apache2
- ping maintainer for the irssi package and the ca-certificates package
- finally marked trafficserver as N/A
- pinged the yaml-cpp maintainers again
Other work
My other work this month was a little all over the place.
Stressant
Uploaded a new release (0.4.1) of stressant to split up the
documentation from the main package, as the main package was taking
up too much space according to grml developers.
The release also introduces limited anonymity option, by blocking
serial numbers display in the smartctl output.
Debiman
Also did some small followup on the debiman project
to fix the FAQ links.
Local server maintenance
I upgraded my main server to Debian stretch. This generally went well,
althought the upgrade itself took way more time than I would have
liked (4 hours!). This is partly because I have a lot of cruft
installed on the server, but also because of what I consider to be
issues in the automation of major Debian upgrades. For example, I was
prompted for changes in configuration files at seemingly random
moments during the upgrade, and got different debconf prompts to
answer. This should really be batched together, and unfortunately I
had forgotten to use the home-made script I established when i
was working at Koumbit which shortens the upgrade a bit.
I wish we would improve on our major upgrade mechanism. I documented
possible solutions for this in the AutomatedUpgrade wiki page,
but I'm not sure I see exactly where to go from here.
I had a few regressions after the upgrade:
- the infrared remote control stopped working: still need to
investigate
- my home-grown full-disk encryption remote unlocking script broke,
but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair,
this is not a regression in stretch, it's just that I switched my
workstation from lightdm to gdm3 after learning that the latter can
do rootless X11!)
Docker and Subsonic
I did my first (and late?) foray into Docker and containers. My
rationale was that I wanted to try out Subsonic, an impressive
audio server which some friends have shown me. Since Subsonic is
proprietary, I didn't want it to contaminate the rest of my server and
it seemed like a great occasion to try out containers to keep things
tidy. Containers may also allow me to transparently switch to
the FLOSS fork LibreSonic once the trial period is over.
I have learned a lot and may write more about the details of that
experience soon, for now you can look at the contributions I made
to the unofficial Subsonic docker image, but also
the LibreSonic one.
Since Subsonic also promotes album covers as first-class citizens, I
used beets to download a lot of album covers, which was really
nice. I look forward to using beets more, but first I'll need to
implement two plugins.
Wallabako
I did a small release of wallabako to fix the build with the
latest changes in the underlying wallabago library, which led me to
ask upstream to make versionned releases.
I also looked into creating a separate documentation site but it
looks like mkdocs doesn't like me very much: the table of
contents is really ugly...
Small fry
- merged a PR in bup-cron
- merged a PR in linkchecker, although that raised
some... interesting issues regarding the code of conduct which
I still need to digest
- looked again at neomutt: still lacks autocomplete (fixed!) and
a welcome screen
That's about it! And that was supposed to be a slow month...
Debiman
Also did some small followup on the debiman project
to fix the FAQ links.
Local server maintenance
I upgraded my main server to Debian stretch. This generally went well,
althought the upgrade itself took way more time than I would have
liked (4 hours!). This is partly because I have a lot of cruft
installed on the server, but also because of what I consider to be
issues in the automation of major Debian upgrades. For example, I was
prompted for changes in configuration files at seemingly random
moments during the upgrade, and got different debconf prompts to
answer. This should really be batched together, and unfortunately I
had forgotten to use the home-made script I established when i
was working at Koumbit which shortens the upgrade a bit.
I wish we would improve on our major upgrade mechanism. I documented
possible solutions for this in the AutomatedUpgrade wiki page,
but I'm not sure I see exactly where to go from here.
I had a few regressions after the upgrade:
- the infrared remote control stopped working: still need to
investigate
- my home-grown full-disk encryption remote unlocking script broke,
but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair,
this is not a regression in stretch, it's just that I switched my
workstation from lightdm to gdm3 after learning that the latter can
do rootless X11!)
Docker and Subsonic
I did my first (and late?) foray into Docker and containers. My
rationale was that I wanted to try out Subsonic, an impressive
audio server which some friends have shown me. Since Subsonic is
proprietary, I didn't want it to contaminate the rest of my server and
it seemed like a great occasion to try out containers to keep things
tidy. Containers may also allow me to transparently switch to
the FLOSS fork LibreSonic once the trial period is over.
I have learned a lot and may write more about the details of that
experience soon, for now you can look at the contributions I made
to the unofficial Subsonic docker image, but also
the LibreSonic one.
Since Subsonic also promotes album covers as first-class citizens, I
used beets to download a lot of album covers, which was really
nice. I look forward to using beets more, but first I'll need to
implement two plugins.
Wallabako
I did a small release of wallabako to fix the build with the
latest changes in the underlying wallabago library, which led me to
ask upstream to make versionned releases.
I also looked into creating a separate documentation site but it
looks like mkdocs doesn't like me very much: the table of
contents is really ugly...
Small fry
- merged a PR in bup-cron
- merged a PR in linkchecker, although that raised
some... interesting issues regarding the code of conduct which
I still need to digest
- looked again at neomutt: still lacks autocomplete (fixed!) and
a welcome screen
That's about it! And that was supposed to be a slow month...
- the infrared remote control stopped working: still need to investigate
- my home-grown full-disk encryption remote unlocking script broke, but upstream has a nice workaround, see Debian bug #866786
- gdm3 breaks bluetooth support (Debian bug #805414 - to be fair, this is not a regression in stretch, it's just that I switched my workstation from lightdm to gdm3 after learning that the latter can do rootless X11!)
I was assigned 15 hours of work by Freexian's Debian LTS initiative
and carried over 5 hours. I worked all 20 hours.
I spent most of my time working - together with other Linux kernel
developers - on backporting and testing several versions of the fix for
CVE-2017-1000364, part of the
DRM leasing part three (vblank)
The last couple of weeks have been consumed by getting frame sequence
numbers and events handled within the leasing environment (and Vulkan)
correctly.
Vulkan EXT_display_control extension
This little extension provides the bits necessary for applications to
track the display of frames to the user.
The news media deliberately over-rates social media
News media outlets, including TV, radio and print, gain a significant benefit crowd-sourcing live information, free of charge, from the public on social media. It is only logical that they will cheer on social media sites and give them regular attention. Have you noticed that whenever Facebook's publicity department makes an announcement, the media are quick to publish it ahead of more significant stories about social or economic issues that impact our lives? Why do you think the media puts Facebook up on a podium like this, ahead of all other industries, if the media aren't getting something out of it too?
The tail doesn't wag the dog
One particular example is the news media's fascination with Donald Trump's Twitter account. Some people have gone as far as suggesting that this billionaire could have simply parked his jet and spent the whole of 2016 at one of his golf courses sending tweets and he would have won the presidency anyway. Suggesting that Trump's campaign revolved entirely around Twitter is like suggesting the tail wags the dog.
The reality is different: Trump has been a prominent public figure for decades, both in the business and entertainment world. During his presidential campaign, he
Upgrading my solar panels involved switching the house from 12 volts to 24
volts. No reasonably priced charge controllers can handle 1 KW of PV at 12
volts.
There might not be a lot of people who need to do this; entirely 12 volt
offgrid houses are not super common, and most upgrades these days probably
involve rooftop microinverters and so would involve a switch from DC to AC.
I did not find a lot of references online for converting a whole house's
voltage from 12V to 24V.
To prepare, I first checked that all the fuses and breakers were rated for
> 24 volts. (Actually, > 30 volts because it will be 26 volts or so when
charging.) Also, I checked for any shady wiring, and verified that all the
wires I could see in the attic and wiring closet were reasonably sized
(10AWG) and in good shape.
Then I:
With the release of stretch we are pleased to open the doors
for stretch-backports and jessie-backports-sloppy. \o/
As usual with a new release we will change a few things for
the backports service.
I've been using a
This one I promise will be short
After the last two updates, I thought it was time for something positive to share. While I m doing the hard work (of physiotherapy which is gruelling), the only luxury I have nowadays is of falling on to dreams which are also rare. The dream I m going to share is totally unrealistic as my mum hates travel but I m sure many sons and daughters would identify with it. Almost all travel outside of relatives is because I dragged her onto it.
In the dream, I am going to a Debconf, get bursary and the conference is being held somewhere in Europe, maybe Paris (2019 probably)
A new version of the
Yesterday I uploaded the first packages of
I mentioned already in a
While the above medical device is similar, mine had a cross, the needle was much shorter and is injected into the vein. After that all injections are injected into that including common liquid which is salt,water and something commonly given to patients to stabilize first. I am not remembering the name atm.
I also had a urine bag which was attached to my penis in a non-invasive manner. Both my grandfather and grandma used to cry when things went wrong while I didn t feel any pain but when the urine bag was disattached and attached again, so seems things have improved there.
I was also very conscious of getting bed sores as both my grandpa and grandma had them when in hospital. As I had no strength I had to beg. plead do everything to make sure that every few hours I was turned from one side to other. I also had an air bag which is supposed to alleviate or relief this condition.
Constant physiotherapy every day for a while slowly increased my strength and slowly both the vigo and feeding tube put inside my throat was removed.
I have no remembrance as to when they had put the feeding tube as it was all rubber and felt bad when it came out.
Further physiotherapy helped me crawl till the top of the bed, the bed was around 6 feet in length and and more than enough so I could turn both sides without falling over.
Few days later I found I could also sit up using my legs as a lever and that gave confidence to the doctors to remove the air bed so I could crawl more easily.
Couple of more days later I stood on my feet for the first time and it was like I had lead legs. Each step was painful but the sense and feeling of independence won over whatever pain was there.
I had to endure wet wipes from nurses and ward boys in place of a shower everyday and while they were respectful always it felt humiliating.
The first time I had a bath after 2 weeks or something, every part of my body cried and I felt like a weakling. I had thought I wouldn t be able to do justice to the physiotherapy session which was soon after but after the session was back to feeling normal.
For a while I was doing the penguin waddle which while painful was also had humor in it. I did think of shooting the penguin waddle but decided against it as I was half-naked most of the time ( the hospital clothes never fit me properly)
Cut to today and I was able to climb up and down the stairs on my own and circled my own block, slowly but was able to do it on my own by myself.
While I always had a sense of wonderment for bi-pedal motion as well as all other means of transport, found much more respect of walking. I live near a fast food eating joint so I see lot of youngsters posing in different ways with their legs to show interest to their mates. And this I know happens both on the conscious and sub-conscious levels. To be able to see and discern that also put a sense of wonder in nature s creations.
All in all, I m probabl6y around 40% independent and still 60% interdependent. I know I have to be patient with myself and those around me and explain to others what I m going through.
For e.g. I still tend to spill things and still can t touch-type much.
So, the road is long, I can only pray and hope best wishes for anybody who is my condition and do pray that nobody goes through what I went through, especiallly not children.
I am also hoping that things like
Bem vindo ao Debian Stretch!
Ontem, 17 de junho de 2017, o Debian 9 (Stretch) foi lan ado. Eu gostaria de falar sobre alguns procedimentos b sicos e regras para migrar do Debian 8 (Jessie).
Passos iniciais
Nos dois casos, recomend vel que voc escolha por instalar a nova vers o do arquivo de configura o. Isso porque o novo arquivo de configura o estar totalmente adaptado aos novos servi os instalados e poder ter muitas op es novas ou diferentes. Mas n o se preocupe, pois as suas configura es n o ser o perdidas. Haver um backup das mesmas. Assim, para shell, escolha a op o "Y" e, no caso de janela, escolha a op o "instalar a vers o do mantenedor do pacote". muito importante anotar o nome de cada arquivo modificado. No caso da janela anterior, trata-se do arquivo /etc/samba/smb.conf. No caso do shell o arquivo foi o /etc/rsyslog.conf.
Depois de completar a migra o, voc poder ver o novo arquivo de configura o e o original. Caso o novo arquivo tenha sido instalado ap s uma escolha via shell, o arquivo original (o que voc tinha anteriormente) ter o mesmo nome com a extens o .dpkg-old. No caso de escolha via janela, o arquivo ser mantido com a extens o .ucf-old. Nos dois casos, voc poder ver as modifica es feitas e reconfigurar o seu novo arquivo de acordo com as necessidades.
Caso voc precise de ajuda para ver as diferen as entre os arquivos, voc poder usar o comando diff para compar -los. Fa a o diff sempre do arquivo novo para o original. como se voc quisesse ver como fazer com o novo arquivo para ficar igual ao original. Exemplo:
The Debian stretch release is going to happen soon (on