If you wonder why it was so silent here over the last weeks, there is a simple explanation: I am on scientific freak weeks
As you might know, in my main profession I am logician, mathematician, computer scientist at the Japan Advanced Institute of Science and Technology (btw, searching urgently for a new job, in case someone is interested!!!).
The last weeks have been very busy with attenting and presenting at LICS 2015 (Logic in Computer Science), followed by a workshop on Proofs as Processes organized by myself, then a presentation at CCA 2015 (Conference on Computability and Complexity in Analysis), and now working with visitors on our hyper natural deduction system. Above all that, there is also my lecture on Logical Decision Procedures at JAIST that a colleague and I a creating on the fly.
All in all a very busy July, but I hope that after the weekend, and another workshop at JAIST, things settle down around beginning of August.
<?latex \theendnotes ?>Next, create a xsl stylesheet file dblatex-endnotes.xsl to add the code needed to add the endnote instructions in the preamble of the generated LaTeX document, with content like this:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
<xsl:param name="latex.begindocument">
<xsl:text>
\usepackage endnotes
\let\footnote=\endnote
\def\enoteheading \mbox \par\vskip-\baselineskip
\begin document
</xsl:text>
</xsl:param>
</xsl:stylesheet>
Finally, load this xsl file when running dblatex, for example like
this:
dblatex --xsl-user=dblatex-endnotes.xsl freeculture.nb.xmlThe end result can be seen on github, where my book project is located.
Mostly a mental note as I've reinvented this the second time
now. If you just quickly want to share some org-mode notes with some
non-Emacs-users the built-in HTML export comes handy. However it has
one Problem: All source syntax highlighting is derived from your
current theme. Which of course is a bad idea if your editor has a dark
background (say Emacs.reverseVideo: on). The same if your terminal's
background color is dark.
Running Emacs in batch mode and still getting colorful
code formatting seems to be an unsolved problem. All that can be found
on the Internet suggests adding a dark background to your HTML export
(at least to the code blocks). Or maybe use an external
style-sheet. Both not exactly the thing if you just want to scp
snippets of HTML somewhere to share. However there's a working
hack:
#!/usr/bin/make -f %.html: %.org xvfb-run urxvt +rv -e emacs -nw --visit $< --funcall org-html-export-to-html --kill >/dev/nullSo use a terminal you can easily force into light-background-mode (like urxvt +rv) so the emacs -nw runs in light-background-mode and wrap the thing in xvfb-run so you can properly run this over ssh (and don't get annoying windows pop up and disappear again when typing make)
Like each month, here comes a report about the work of paid contributors to Debian LTS.
Individual reports
In June, 73.50 work hours have been dispatched among 7 paid contributors. Their reports are available:
No comment Liked this article? Click here. My blog is Flattr-enabled.
A new release of RcppEigen arrived on CRAN and in Debian yesterday. It synchronizes the Eigen code with the 3.2.5 upstream release. Once again, Yixuan Qiu did most of the heavy lifting in one very nice pull request, and I added some minor updates to keep R CMD check --as-cran happy.
The NEWS file entry follows.
Changes in RcppEigen version 0.3.2.5.0 (2015-07-11)Courtesy of CRANberries, there is also a diffstat report for the most recent release.
- Updated to version 3.2.5 of Eigen
- Fixed some incorrect error messages stemming from Eigen code.
- Updated package to current
R CMD checkstandards.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
(In order to avoid any ambiguity here, this is a personal opinion. The Free Software Foundation's opinion on this matter is here)Any redistribution of modified versions of Ubuntu must be approved, certified or provided by Canonical if you are going to associate it with the Trademarks. Otherwise you must remove and replace the Trademarks and will need to recompile the source code to create your own binaries.. The apparent aim here is to avoid situations where people take Ubuntu, modify it and continue to pass it off as Ubuntu. But it reaches far further than that. Cases where this may apply include (but are not limited to):
Yesterday, Wammu 0.39 has been released.
The list of changes is not really huge:
Filed under: English Gammu Wammu 0 comments
In a comment to my previous
post,
Daniele asked the entirely reasonable question,
Would you like to comment on why you think that DNSSEC+DANE are not a possible and much better alternative?Where DANE fails to be a feasible alternative to the current system is that it is not widely acknowledged to be superior in every possible way . A weak demonstration of this is that no browser has implemented DANE support, and very few other TLS-using applications have, either. The only thing I use which has DANE support that I m aware of is Postfix and SMTP is an application in which the limitations of DANE have far less impact. My understanding of the limitations of DANE, for large-scale deployment, are enumerated below.
But many (~4% in past tests) of users can t resolve a TXT record when they can resolve an A record for the same name. In practice, consumer DNS is hijacked by many devices that do a poor job of implementing DNS.Consider that
TXT records are far, far older than TLSA records. It seems
likely that TLSA records would fail to be retrieved greater than 4% of the
time. Extrapolate to the likely failure rate for lookup of TLSA records would
be, and imagine what that would do to the reliability of DANE verification.
It would either be completely unworkable, or else would cause a whole new
round of just click through the security error training. Ugh.
This also impacts DNSSEC itself. Lots of recursive resolvers don t validate
DNSSEC, and some providers mangle DNS responses in some way, which breaks
DNSSEC. Since OSes don t support DNSSEC validation by default (for
example, by having the name resolution APIs indicate DNSSEC validation
status), browsers would essentially have to ship their own validating
resolver code.
Some people have concerns around the single point of control for DNS
records, too. While the weakest link nature of the CA model is terribad,
there is a significant body of opinion that replacing it with a single,
minimally-accountable organisation like ICANN isn t a great trade.
Finally, performance is also a concern. Having to go out-of-band to
retrieve TLSA records delays page generation, and nobody likes slow page
loads.
TLSA records can be manipulated in that DNS control
panel. Those records would then automatically be DNSSEC signed by the DNS
provider and served up to anyone who comes along. Ouch.
In theory, of course, you should choose a suitably secure DNS provider, to
prevent this problem. Given that there are regular hijackings of
high-profile domains (which, presumably, the owners of those domains would
also want to prevent), there is something in the DNS service provider
market which prevents optimal consumer behaviour. Market for
lemons,
perchance?
quilt) was discussed and possible alternatives were shown (git-debcherry and git-dpm).dpt) and discussed how to get track of upstream git history and tags.src:perl plans for Stretch were discussed.autopkgtest whitelists were reviewed, new packages added, and IRC notificacions by KGB were discussed.POD_MAN_DATE were commented.
A new version of RcppGSL arrived on CRAN a couple of days ago. This package provides an interface from R to the GNU GSL using our Rcpp package.
In the course of preparation for the higher-performance R via C++ course I gave in Zuerich last month, I overhauled this package, its embedded package (!!) showing how to build a package which uses R, C++ and the GSL (and which can serve as a fine example of how to build and R and C++ package using an external library), and also overhauled the vignette which discusses all these aspect. All examples now consistently use Rcpp Attributes.
The NEWS file entries follows below:
Changes in version 0.2.5 (2015-07-05)Courtesy of CRANberries, a summary of changes to the most recent release is available. More information is on the RcppGSL page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.
- The
colnormfunction in the included example package was rewritten to use Rcpp Attributes, the example package was updated and its version number increased to 0.0.3.- The unit tests also use the updated version of the example package.
- The package, and the included example package, were updated throughout to conform to the current
R CMD checkstandards.- The RcppGSL-intro vignette was updated throughout.
- The Travis CI integration now uses r-cran-* packages which leads to faster tests.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Debian is undertaking a huge effort to develop a reproducible builds system. I'd like to thank you for that. This could be Debian's most important project, with how badly computer security has been going.
PerniciousPunk in Reddit's Ask me anything! to Neil McGovern, DPL. What happened in the reproducible builds effort this week: Toolchain fixes More tools are getting patched to use the value of the SOURCE_DATE_EPOCH environment variable as the current time:
SOURCE_DATE_EPOCH to the time of the latest debian/changelog entry when exporting build flags, patch sent as #791823 (Dhole),texlive-bin (akira) and libxslt (Dhole) with the aforementioned support for SOURCE_DATE_EPOCH.debhelper exported TZ=UTC and this made packages capturing the current date (without the time) reproducible in the current test environment.
The following packages became reproducible after getting fixed:
debian/changelog date in the manpage.debian/changelog date as build date and use debian as the builder hostname.debian/changelog date as bui
ld date.reproducible.debian.net.
A small update to RcppRedis arrived on CRAN a few days ago. One of the unit tests failed as we (still) initialized the rredis package (loaded only for a comparison) in a form long-internalized by Bryan Lewis, its author. No actual changes to functionality were; the only other changes is cosmetic and in response a R CMD check requirement where the curl binary seemingly fails to follow redirects so we removed the (official !) redis.io URL.
Changes in version 0.1.4 (2015-07-04)Courtesy of CRANberries, there is also a diffstat report for the most recent release. More information is on the RcppRedis page.
- Minor update to unit test setup for rredis.
- No longer list URLs to Redis as automated CRAN tests for URL validity choke on redirects.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
A few days ago and while we were traveling, an updated release of our random package for truly (hardware-based) random numbers as provided by random.org arrived on CRAN.
Brian Ripley had pointed out to us that some of the curl implementations (which must now be used as https is mandatory at random.org) did not follow redirects. Which was bad luck, given that I had used a shortform https://random.org as opposed to the fuller-length https://wwwrandom.org variant providing the service. This has been rectified, and we used the opportunity to also update the DESCRIPTION and NAMESPACE file as R CMD check --as-cran now mandates more explicit imports.
Courtesy of CRANberries comes a diffstat report for this release. Current and previous releases are available here as well as on CRAN.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
The Independent reports that David Cameron wishes to ban the instant messaging application WhatsApp due its use of end-to-end encryption.
That we might merely be pawns in manoeuvring for some future political compromise (or merely susceptible to cheap clickbait) should be cause for some concern, but what should worry us more is that if it takes scare stories about WhatsApp for our culture to awaken on the issues of privacy and civil liberties, then the central argument against surveillance was lost a long time ago.
However, the situation worsens once you analyse the disapproval in more detail. One is immediately struck by a predominant narrative of technical considerations; a ban would be "unworkable" or "impractical". A robust defence of personal liberty or a warning about the insidious nature of chilling effects? Perhaps a prescient John Locke quote to underscore the case? No. An encryption ban would "cause security problems."
The argument proceeds in a tediously predictable fashion: it was already difficult to keep track whether one should ipso facto be in favour of measures that benefit the economy, but we are suddenly co-opted as technocrats to consider the "damage" it could to do the recovery or the impact on a now-victimised financial sector. The coup-de-gr ce finally appeals to our already inflated self-regard and narcissism: someone could "steal your identity."
Perhaps even more disappointing is the reaction from more technically-minded circles who, frankly, should know better. Here, they give the outward impression of metaphorically stockpiling copies of the GnuPG source code in their bunkers, perhaps believing the shallow techno-utopianist worldview that all social and cultural problems can probably be solved with Twitter and a JavaScript intepreter.
The tragedy here is that I suspect that this isn't what the vast majority of people really believe. Given a hypothetical ban that could, somehow, bypass all of the stated concerns, I'm pretty upbeat and confident that most people would remain uncomfortable with it on some level.
So what, exactly, does it take for us to oppose this kind of intervention on enduring principled grounds instead of transient and circumventable practical ones? Is the problem just a lack of vocabulary to discuss these issues on a social scale? A lack of courage?
Whilst it's certainly easier to dissect illiberal measures on technical merit than to make an impassioned case for abstract freedoms, every time we gleefully cackle "it won't work" we are, in essence, conceding the central argument to the authoritarian and the censorious. If one is right but for the wrong reasons, were we even right to begin with?
Here's an odd thing about the git bisect command: It has only 1 option
(--no-checkout). Compare with eg git commit, which has 36 options by my
count.
The difference is largely down to git having a pervasive culture of
carefully edited history. We need lots of git commit options to carefully
produce commits that look Just Right. Staging only some of the files we've
edited, perhaps even staging only some of the changes within a file. Amend
that commit if we notice we made a mistake. Create a whole series of beautiful
commits, and use rebase later to remix them into a more beautiful whole.
Beautiful fake histories. Because coding is actually messy; our actual
edit history contains blind alleys and doublings back on itself; contains
periods of many days the code isn't building properly. We want to sweep
that complexity away, hide it under the rug. This works well except when it
doesn't, when some detail airbrushed out of the only remaining history
turns out to be important.
Once we have these beautiful fake histories of changes, we can easily
bisect them and find the commit that introduced a bug. So bisect doesn't
need a lot of options to control how it works.
I'd like to suggest a new option though. At least as a thought experiment.
--merges-only would make bisect only check the merge commits in the
range of commits being bisected. The bisection would result in not a single
commit, but in the set of commits between two merges.
I suspect this would be useful for faster bisecting some histories of the
beautiful fake kind. But I know it would be useful when the history is
messy and organic and full of false starts and points where the code
doesn't build. Merges, in such histories, are often the points where things
reach a certian level of beauty, where that messy feature branch
got to the point it all built again (please let this happen today)
and was merged into master. Bisecting such points in a messy organic history
should work about as well as bisecting carefully gardened histories.
I think I'll save the full rant about beautiful fake history vs messy real
history for some other day. Or maybe I've already ranted that rant here
before, I can't remember.
Let's just say that I personally come down on the side of liking my git
history to reflect the actual code I was working on, even if it was broken
and even if I threw it away later. I've indeed taken this to extreme
lengths with propellor;
in its git history
you can see every time I've ever run it, and the version of my config
file and code at that point. Apologies to anyone who's been put off by that...
But oddly, propellor gets by far more contributions from others than any of my
other haskell programs.
All in the form of beaufiully constructed commits, naturally.
It took me ages to finish Portal (1), but Portal 2 was different I moved through the games in high speed. Actually playing time was the same, but I played a bit more often then before
More details below, but tl;dr: Nice extension of Portal, which feels a bit different. Graphics are great, but for my feeling the chambers are too easy and too short.
Image by user browen2o on the Steam Portal community center.
Portal 2, the successor of Portal, brings not only many new levels (test chambers) interspersed with funny running sequences and out of normal problems to solve, but adds also a set of new devices to solve the problems. But the basic mechanics are the same: Shoot portals to solve puzzles. The added devices are as follows (thanks to this blog):
They include light-rings that carry you over empty space, and also lift you up (first and second icon), light reflectors (forth), jumping and running color (9th and 10th), catapults (12th), light bands to walk on (lower left) and of course enough turrets and other devices that might find you smashed, shot, or drowned.
Things I liked at Portal 2:
All in all, a really great game, and I enjoyed it a lot.
Next.