mdoc). But while I wrote debmans in Python, debiman is written
in Go. debiman also seems much faster, being
written with concurrency in mind from the start. Finally, debiman is
more feature complete: it properly deals with conflicting packages,
localization and all sorts redirections. Heck, it even has a pretty
logo, how can I compete?
While debmans was written first and was in the process of being
deployed, I had to give it up. It was a frustrating experience because
I felt I wasted a lot of time working on software that ended up being
discarded, especially because I put so much work on it, creating
extensive documentation, an almost complete test suite and even
filing a detailed core infrastructure best practices report In the
end, I think that was the right choice: debiman seemed clearly
superior and the best tool should win. Plus, it meant less work for
me: Michael and Javier (the previous manpages.debian.org maintainer)
did all the work of putting the site online. I also learned a lot
about the CII best practices program,
flask, click
and, ultimately, the Go programming language itself, which I'll refer
to as Golang for brievity. debiman definitely brought Golang
into the spotlight for me. I had looked at Go before, but it seemed to
be yet another language. But seeing Michael beat me to rebuilding the
service really made me look at it again more seriously. While I really
appreciate Python and I will probably still use it as my language
of choice for GUI work and smaller scripts, but for daemons, network
programs and servers, I will seriously consider Golang in the future.
The site is now online at
https://manpages.debian.org/. I even got credited in the
about page which makes up
for the disappointment.
My monthly report covers a large part of what I have been doing in the free software world. I write it for my donors (thanks to them!) but also for the wider Debian community because it can give ideas to newcomers and it s one of the best ways to find volunteers to work with me on projects that matter to me.
Debian LTS
I was allocated 10 hours to work on security updates for Debian 7 Wheezy. During this time I did the following:
No comment Liked this article? Click here. My blog is Flattr-enabled.
Here is my monthly update covering what I have been doing in the free software world (previous month):
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues.
buildinfo.debian.net is my experiment into how to process, store and distribute .buildinfo files after the Debian archive software has processed them.
dpkg that affect the Reproducible Builds effort within Debian:
SOURCE_DATE_EPOCH in dpkg-buildpackage and dpkg-source. Use the current date if the changelog does not have one. Closes: #849081DEB_BUILD_OPTIONS to dpkg-genbuildinfo. This will make it possible to enable or disable specific features that should be recorded in the .buildinfo file. For now only all and path are supported. Closes: #848705.buildinfo files also for source-only uploads in dpkg-genchanges. Closes: #846164.buildinfo files to dpkg-buildpackage. Add new -ui and --unsigned-buildinfo options. Closes: #843925dpkg-buildpackage --unsigned-changes not sign .buildinfo either. This breaks the expectations of users and tools, because there was no way previously to request no signing at all. Closes: #852822SOURCE_PREFIX_MAP. He also continued to
talk with the rustc team on
the topic.
Chris Lamb submitted a patch
to implement SOURCE_DATE_EPOCH for wordwarvi, a game which gave extra points
to people who built it from source within one hour. This fixes Debian #786593.
Launchpad bug 1657704 was
filed for them to start accepting buildinfo files.
Bugs filed
Reviews of unreproducible packages
10 package reviews have been added, 149 have been updated and 153 have been
removed in this week, adding to our knowledge about identified
issues.
2 issue types have been updated:
Weekly QA work
During our reproducibility testing, the following FTBFS bugs have been detected
and reported by:
RE_FILE_TYPE and
RE_FILE_EXTENSION.--html-dir output and improve code quality elsewhere in tests.--help output.arm64 to https://tests.reproducible-builds.org/debian/index_variations.html/dev/shm is mounted incorrectly (due to #851427) and deployed an
/etc/rc.local startup script to all systems which works around it. As a
result, jenkins_semaphore_setup_issue should be obsolete.jenkins.debian.net, for a total of 64GB RAM,
to better cope with the new jobs due to arm64. As usual, thanks to
profitbricks.com for the hardware resources
enabling this work.| ami-6d017002 | ap-south-1 |
| ami-cc5540a8 | eu-west-2 |
| ami-43401925 | eu-west-1 |
| ami-870edfe9 | ap-northeast-2 |
| ami-812266e6 | ap-northeast-1 |
| ami-932e4aff | sa-east-1 |
| ami-34ce7350 | ca-central-1 |
| ami-9f6dd8fc | ap-southeast-1 |
| ami-829295e1 | ap-southeast-2 |
| ami-42448a2d | eu-central-1 |
| ami-98c9348e | us-east-1 |
| ami-57361332 | us-east-2 |
| ami-03386563 | us-west-1 |
| ami-7a27991a | us-west-2 |
run-instances invocation. They're intended to provide a reasonably complete Debian environment without too much bloat. IPv6 addressing should be supported in an appropriately configured VPC environment.
These images were build using Thomas Lange's FAI, which has been used for over 15 years for provisioning all sorts of server, workstation, and VM systems, but which only recently was adapted for use generating cloud disk images. It has proven to be well suited to this task though, and image creation is straightforward and flexible. I'll describe in a followup post the steps you can follow to create and customize your own AMIs based on our recipes. In the meantime, please do test these images! You can submit bug reports to the cloud.debian.org metapackage, and feedback is welcome via the debian-cloud mailing list or #debian-cloud on IRC.
Last fall I went to a Silent Disco event. You get wireless headphones, a DJane and a DJ were playing music on different channels, and you enjoy the time with people around who can't hear what you hear. It's a pretty funny experience, and it was one of the last warm sunny days. There I heard a song that was just in the mood for the moment, and made me looking up the band to listen more closely to them.
The band was Icona Pop, they have a mood enlighening pop sound that cheers you up. Here are the songs I want to present you today:
This actually happened.
Jan 19 00:05:10 darkstar kernel: usb 2-2: Product: ChaosKey-hw-1.0-sw-1.6.
In real life, my hat is uglier, and Keithp is more kindly looking.
gimp source
The Budget
The story which I wanted to share is there are few friends (from Debian as well as elsewhere) who shared that they didn t get the whole demonetisation play or what the Government is/was trying to do. As budget is just round the corner (India will be presenting its yearly budget on 1st of February), thought it is prudent to share at least some basics, ideas and theories of what goals the Finance Minister would be looking at when presenting his budget. I would NOT talk of Inflation targeting or some such exotica as those topics would require their own blog-posts altogether. I would mainly be talking a bit about Taxation and in that Personal Income Tax. I would also not use words like Receivables and like which thought bit more accurate are not used in everyday language.
Just like Private Companies and increasingly public utilities, The Government of the day has two-three different aims when it is presenting a budget
a. The first is to give an update about how things went last year. Did all the incomes that were projected, did it happen or was there a short-fall ? If there was a short-fall what were the reasons for the shortfall.
Similarly, did all the budgeted expenditure earmarked for the year was spent and were it spent under the heads they were supposed to ? If not what went wrong there ? There is usually a tussle between Planned and Unplanned expenditure and one of the hallmarks of good governance is that unplanned expenditure is kept at minimum, while planned expenditure and projects completion or/and assets coming on-line were within the estimated time-frames.
So these updates are given to the Parliament and hence public at large.
The second and the more interesting part are the plans for the immediate future, 1 year down-the-line. Based on the performance last year, a bit of crystal-ball gazing of external and internal conditions of the country, the Finance Minister along with her/his colleagues of Finance Ministry.
Trivia There hasn t been a female finance minister till date in India.
The Finance Ministry as a whole also holds consultations with most sections of the society before sharing/putting his Fiscal Policy (Planned Expenditure) for debate and passage in form of the Budget. While the budget itself is a technical exercise, it is also a Political exercise as both the budget and the finance bill (which contains the taxation proposals) need to be passed in Lok Sabha (Lower house).
After passing scrutiny of Lok Sabha (Lower House having people s representatives directly elected) and Rajya Sabha (Upper House, indirectly elected), the taxation proposals becomes the law. It isn t that simple but for our understanding, keeping it simple. This Political model of governance with two houses is modeled under the British (Westminister) model since 1947.
The Government, just like any other Organization gives a similar Profit and Loss Account and a Balance Sheet.

How A country s budget is made. A representational and simplified version of how things flow was made using Graphviz. Click on it to see image in detail.
graph Budget
subgraph tier1
node [color="limegreen",style="filled",group="tier1"]
Country_Budget
......
Country_Budget -- Profit_and_Loss_Account [type=s];
It might be possible to make the graph much better than it is currently .
The Profit and Loss Account of the Government tells what Incomes it is projected to earn in the upcoming year and whatever Expenditures it hopes to do this year.
The Income and Expenditure independently can be bifurcated into two, Revenue Income and Capital Income and Revenue Expenditure and Capital Expenditure.
Indian Railways EMU local train

INR 2000 Rupees
SOURCE_PREFIX_MAP and explored
different options for encoding a map data structure in a single environment
variable. He also continued to talk with the rustc
team on the topic.
Daniel Shahaf filed #851225 ('udd: patches: index by DEP-3 "Forwarded"
status') to make it easier to track our patches.
Chris Lamb forwarded #849972 upstream to
yard, a Ruby documentation
generator. Upstream has fixed the issue as of release
0.9.6.
Alexander Couzens (lynxis) has made mksquashfs
reproducible and is
looking for testers.
It compiles on BSD systems such as FreeBSD, OpenBSD and NetBSD.
Bugs filed
Chris Lamb:
Lucas Nussbaum:
Nicola Corna:
Reviews of unreproducible packages
13 package reviews have been added and 13 have been removed in this week,
adding to our knowledge about identified
issues.
1 issue type has been added:
Weekly QA work
During our reproducibility testing, the following FTBFS bugs have been detected
and reported by:
Many bugs were opened in
diffoscope during the
past few weeks, which probably is a good sign as it shows that diffoscope is
much more widely used than a year ago. We have been working hard to squash many
of them in time for Debian stable, though we will see how that goes in the end
/dev/shm
and /run/shm are both mounted with the correct permissions. Some of our
build machines currently still fail this test, and the problem is probably
the root cause of the
FTBFS
of some packages (which fails with issues regarding sem_open). The proper
fix is still being discussed in #851427.
With the release of Gitlab 8.15 it was announced that PostgreSQL needs to be upgraded. As I migrated from a source installation I used to have an external PostgreSQL database instead of using the one shiped with the omnibus package. $ sudo -u postgres psql -d template1
psql (9.2.18)
Type "help" for help.
gitlabhq_production=# \l
List of databases
Name Owner Encoding Collate Ctype Access privileges
-----------------------+-------------------+----------+---------+---------+---------------------------------
gitlabhq_production git UTF8 C.UTF-8 C.UTF-8
gitlab_mattermost git UTF8 C.UTF-8 C.UTF-8
gitlabhq_production=# \q
Dumping the databases and stop PostgreSQL. Maybe you need to adjust database names and users for your needs.
$ su postgres -c "pg_dump gitlabhq_production -f /tmp/gitlabhq_production.sql" && \
su postgres -c "pg_dump gitlab_mattermost -f /tmp/gitlab_mattermost.sql" && \
/etc/init.d/postgresql stop
Activate PostgreSQL shipped with Gitlab Omnibus
$ sed -i "s/^postgresql\['enable'\] = false/#postgresql\['enable'\] = false/g" /etc/gitlab/gitlab.rb && \
sed -i "s/^#mattermost\['enable'\] = true/mattermost\['enable'\] = true/" /etc/gitlab/gitlab.rb && \
gitlab-ctl reconfigure
Testing if the connection to the databases works
$ su - git -c "psql --username=gitlab --dbname=gitlabhq_production --host=/var/opt/gitlab/postgresql/"
psql (9.2.18)
Type "help" for help.
gitlabhq_production=# \q
$ su - git -c "psql --username=gitlab --dbname=mattermost_production --host=/var/opt/gitlab/postgresql/"
psql (9.2.18)
Type "help" for help.
mattermost_production=# \q
Ensure pg_trgm extension is enabled
$ sudo gitlab-psql -d gitlabhq_production -c 'CREATE EXTENSION IF NOT EXISTS "pg_trgm";'
$ sudo gitlab-psql -d mattermost_production -c 'CREATE EXTENSION IF NOT EXISTS "pg_trgm";'
Adjust permissions in the database dumps. Indeed please verify that users and databases might need to be adjusted too.
$ sed -i "s/OWNER TO git;/OWNER TO gitlab;/" /tmp/gitlabhq_production.sql && \
sed -i "s/postgres;$/gitlab-psql;/" /tmp/gitlabhq_production.sql
$ sed -i "s/OWNER TO git;/OWNER TO gitlab_mattermost;/" /tmp/gitlab_mattermost.sql && \
sed -i "s/postgres;$/gitlab-psql;/" /tmp/gitlab_mattermost.sql
(Re)import the data
$ sudo gitlab-psql -d gitlabhq_production -f /tmp/gitlabhq_production.sql
$ sudo gitlab-psql -d gitlabhq_production -c 'REVOKE ALL ON SCHEMA public FROM "gitlab-psql";' && \
sudo gitlab-psql -d gitlabhq_production -c 'GRANT ALL ON SCHEMA public TO "gitlab-psql";'
$ sudo gitlab-psql -d mattermost_production -f /tmp/gitlab_mattermost.sql
$ sudo gitlab-psql -d mattermost_production -c 'REVOKE ALL ON SCHEMA public FROM "gitlab-psql";' && \
sudo gitlab-psql -d mattermost_production -c 'GRANT ALL ON SCHEMA public TO "gitlab-psql";'
Make use of the shipped PostgreSQL
$ sed -i "s/^gitlab_rails\['db_/#gitlab_rails\['db_/" /etc/gitlab/gitlab.rb && \
sed -i "s/^mattermost\['sql_/#mattermost\['sql_/" /etc/gitlab/gitlab.rb && \
gitlab-ctl reconfigure
Now you should be able to connect to all the Gitlab services again.
Optionally remove the external database
apt-get remove postgresql postgresql-client postgresql-9.4 postgresql-client-9.4 postgresql-client-common postgresql-common
Maybe you also want to purge the old database content
apt-get purge postgresql-9.4
With the release of Gitlab 8.15 it was announced that PostgreSQL needs to be upgraded. As I migrated from a source installation I used to have an external PostgreSQL database instead of using the one shiped with the omnibus package. $ sudo -u postgres psql -d template1
psql (9.2.18)
Type "help" for help.
gitlabhq_production=# \l
List of databases
Name Owner Encoding Collate Ctype Access privileges
-----------------------+-------------------+----------+---------+---------+---------------------------------
gitlabhq_production git UTF8 C.UTF-8 C.UTF-8
gitlab_mattermost git UTF8 C.UTF-8 C.UTF-8
gitlabhq_production=# \q
Dumping the databases and stop PostgreSQL. Maybe you need to adjust database names and users for your needs.
$ su postgres -c "pg_dump gitlabhq_production -f /tmp/gitlabhq_production.sql" && \
su postgres -c "pg_dump gitlab_mattermost -f /tmp/gitlab_mattermost.sql" && \
/etc/init.d/postgresql stop
Activate PostgreSQL shipped with Gitlab Omnibus
$ sed -i "s/^postgresql\['enable'\] = false/#postgresql\['enable'\] = false/g" /etc/gitlab/gitlab.rb && \
sed -i "s/^#mattermost\['enable'\] = true/mattermost\['enable'\] = true/" /etc/gitlab/gitlab.rb && \
gitlab-ctl reconfigure
Testing if the connection to the databases works
$ su - git -c "psql --username=gitlab --dbname=gitlabhq_production --host=/var/opt/gitlab/postgresql/"
psql (9.2.18)
Type "help" for help.
gitlabhq_production=# \q
$ su - git -c "psql --username=gitlab --dbname=mattermost_production --host=/var/opt/gitlab/postgresql/"
psql (9.2.18)
Type "help" for help.
mattermost_production=# \q
Ensure pg_trgm extension is enabled
$ sudo gitlab-psql -d gitlabhq_production -c 'CREATE EXTENSION IF NOT EXISTS "pg_trgm";'
$ sudo gitlab-psql -d mattermost_production -c 'CREATE EXTENSION IF NOT EXISTS "pg_trgm";'
Adjust permissions in the database dumps. Indeed please verify that users and databases might need to be adjusted too.
$ sed -i "s/OWNER TO git;/OWNER TO gitlab;/" /tmp/gitlabhq_production.sql && \
sed -i "s/postgres;$/gitlab-psql;/" /tmp/gitlabhq_production.sql
$ sed -i "s/OWNER TO git;/OWNER TO gitlab_mattermost;/" /tmp/gitlab_mattermost.sql && \
sed -i "s/postgres;$/gitlab-psql;/" /tmp/gitlab_mattermost.sql
(Re)import the data
$ sudo gitlab-psql -d gitlabhq_production -f /tmp/gitlabhq_production.sql
$ sudo gitlab-psql -d gitlabhq_production -c 'REVOKE ALL ON SCHEMA public FROM "gitlab-psql";' && \
sudo gitlab-psql -d gitlabhq_production -c 'GRANT ALL ON SCHEMA public TO "gitlab-psql";'
$ sudo gitlab-psql -d mattermost_production -f /tmp/gitlab_mattermost.sql
$ sudo gitlab-psql -d mattermost_production -c 'REVOKE ALL ON SCHEMA public FROM "gitlab-psql";' && \
sudo gitlab-psql -d mattermost_production -c 'GRANT ALL ON SCHEMA public TO "gitlab-psql";'
Make use of the shipped PostgreSQL
$ sed -i "s/^gitlab_rails\['db_/#gitlab_rails\['db_/" /etc/gitlab/gitlab.rb && \
sed -i "s/^mattermost\['sql_/#mattermost\['sql_/" /etc/gitlab/gitlab.rb && \
gitlab-ctl reconfigure
Now you should be able to connect to all the Gitlab services again.
Optionally remove the external database
apt-get remove postgresql postgresql-client postgresql-9.4 postgresql-client-9.4 postgresql-client-common postgresql-common
Maybe you also want to purge the old database content
apt-get purge postgresql-9.4
As the freeze of the next release is closing in, I have updated a bunch of packages around TeX: All of the TeX Live packages (binaries and arch independent ones) and tex-common. I might see whether I get some updates of ConTeXt out, too.
The changes in the binaries are mostly cosmetic: one removal of a non-free (unclear-free) file, and several upstream patches got cherrypicked (dvips, tltexjp contact email, upmendex, dvipdfmx). I played around with including LuaTeX v1.0, but that breaks horribly with the current packages in TeX Live, so I refrained from it. The infrastructure package tex-common got a bugfix for updates from previous releases, and for the other packages there is the usual bunch of updates and new packages. Enjoy!
New packages
arimo, arphic-ttf, babel-japanese, conv-xkv, css-colors, dtxdescribe, fgruler, footmisx, halloweenmath, keyfloat, luahyphenrules, math-into-latex-4, mendex-doc, missaali, mpostinl, padauk, platexcheat, pstring, pst-shell, ptex-fontmaps, scsnowman, stanli, tinos, undergradmath, yaletter.
Updated packages
acmart, animate, apxproof, arabluatex, arsclassica, babel-french, babel-russian, baskervillef, beamer, beebe, biber, biber.x86_64-linux, biblatex, biblatex-apa, biblatex-chem, biblatex-dw, biblatex-gb7714-2015, biblatex-ieee, biblatex-philosophy, biblatex-sbl, bidi, calxxxx-yyyy, chemgreek, churchslavonic, cochineal, comicneue, cquthesis, csquotes, ctanify, ctex, cweb, dataref, denisbdoc, diagbox, dozenal, dtk, dvipdfmx, dvipng, elocalloc, epstopdf, erewhon, etoolbox, exam-n, fbb, fei, fithesis, forest, glossaries, glossaries-extra, glossaries-french, gost, gzt, historische-zeitschrift, inconsolata, japanese-otf, japanese-otf-uptex, jsclasses, latex-bin, latex-make, latexmk, lt3graph, luatexja, markdown, mathspec, mcf2graph, media9, mendex-doc, metafont, mhchem, mweights, nameauth, noto, nwejm, old-arrows, omegaware, onlyamsmath, optidef, pdfpages, pdftools, perception, phonrule, platex-tools, polynom, preview, prooftrees, pst-geo, pstricks, pst-solides3d, ptex, ptex2pdf, ptex-fonts, qcircuit, quran, raleway, reledmac, resphilosophica, sanskrit, scalerel, scanpages, showexpl, siunitx, skdoc, skmath, skrapport, smartdiagram, sourcesanspro, sparklines, tabstackengine, tetex, tex, tex4ht, texlive-scripts, tikzsymbols, tocdata, uantwerpendocs, updmap-map, uplatex, uptex, uptex-fonts, withargs, wtref, xcharter, xcntperchap, xecjk, xellipsis, xepersian, xint, xlop, yathesis.
Like each month, here comes a report about the work of paid contributors to Debian LTS.
Individual reports
In December, about 175 work hours have been dispatched among 14 paid contributors. Their reports are available:
No comment Liked this article? Click here. My blog is Flattr-enabled.
Yesterday afternoon, the nineth update in the 0.12.* series of Rcpp made it to the CRAN network for GNU R. Windows binaries have by now been generated; and the package was updated in Debian too. This 0.12.9 release follows the 0.12.0 release from late July, the 0.12.1 release in September, the 0.12.2 release in November, the 0.12.3 release in January, the 0.12.4 release in March, the 0.12.5 release in May, the 0.12.6 release in July, the 0.12.7 release in September, and the 0.12.8 release in November --- making it the thirteenth release at the steady bi-montly release frequency.
Rcpp has become the most popular way of enhancing GNU R with C or C++ code. As of today, 906 packages on CRAN depend on Rcpp for making analytical code go faster and further. That is up by sixthythree packages over the two months since the last release -- or about a package a day!
Some of the changes in this release are smaller and detail-oriented. We did squash one annoying bug (stemming from the improved exception handling) in Rcpp::stop() that hit a few people. Nathan Russell added a sample() function (similar to the optional one in RcppArmadillo; this required a minor cleanup by for small number of other packages which used both namespaces 'opened'. Date and Datetime objects now have format() methods and << output support. We now have coverage reports via covr as well. Last but not least James "coatless" Balamuta was once more tireless on documentation and API consistency --- see below for more details.
Thanks to CRANberries, you can also look at a diff to the previous release. As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads page, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.Changes in Rcpp version 0.12.9 (2017-01-14)
- Changes in Rcpp API:
- The exception stack message is now correctly demangled on all compiler versions (Jim Hester in #598)
- Date and Datetime object and vector now have format methods and
operator<<support (#599).- The
sizeoperator inMatrixis explicitly referenced avoiding a g++-6 issues (#607 fixing #605).- The underlying date calculation code was updated (#621, #623).
- Addressed improper diagonal fill for non-symmetric matrices (James Balamuta in #622 addressing #619)
- Changes in Rcpp Sugar:
- Changes in Rcpp unit tests
- Changes in Rcpp Documentation:
- Changes in Rcpp build system
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
I was assigned 13.5 hours of work by Freexian's Debian LTS
initiative and carried over 2 from November. I worked only 10
hours, so I carry over 5.5 hours.
As for the last few months, I spent all of this time working on the
linux (kernel) package. I backported several security fixes and did
some testing of the more invasive changes.
I also added the option to mitigate security issues in the
performance events (perf) subsystem by disabling use by unprivileged
users. This feature comes from Grsecurity and has been included in
Debian unstable and Android kernels for a while. However, for
Debian 7 LTS it has to be explicitly enabled by setting sysctl
kernel.perf_event_paranoid=3.
I uploaded these changes as linux 3.2.84-1 and then (on 1st January)
issued
DLA
722-1.
1.71 - Thu Jan 12 13:30:50 IST 2017
* Fix incorrect import of os.putenv
* Merge pull request #74 from Coucouf/fix-os-putenv
* Fix documentation on where we read battery capacity from
* cpuhotplug: allow disabling specific cpus
* Merge pull request #78 from aartamonau/cpuhotplug
* runtime-pm: refactor listed_by_id()
* wireless-power: Use iw and fallback to iwconfig if it not available
* Prefer available AC supply information over battery state to determine ON_AC
* On startup, we want to force the full execution of LMT.
* Device hotplugs need a forced execution for LMT to apply the proper settings
* runtime-pm: Refactor list_by_type()
* kbd-backlight: New module to control keyboard backlight brightness
* Include Transmit power saving in wireless cards
* Don't run in a subshell
* Try harder to check battery charge
* New module: vgaswitcheroo
* Revive bluetooth module. Use rfkill primarily. Also don't unload (incomplete list of) kernel modules
What is Laptop Mode Tools
Description: Tools for Power Savings based on battery/AC status Laptop mode is a Linux kernel feature that allows your laptop to save considerable power, by allowing the hard drive to spin down for longer periods of time. This package contains the userland scripts that are needed to enable laptop mode. . It includes support for automatically enabling laptop mode when the computer is working on batteries. It also supports various other power management features, such as starting and stopping daemons depending on power mode, automatically hibernating if battery levels are too low, and adjusting terminal blanking and X11 screen blanking . laptop-mode-tools uses the Linux kernel's Laptop Mode feature and thus is also used on Desktops and Servers to conserve power
Next.