Hideki Yamane: not use DEB_AUTO_UPDATE_* with cdbs, just include autotools-vars.mk
Maybe I should file it to lintian, avoid duplicated work.
AltOS 1.3.2 Bug fixes and improved APRS support
Bdale and I are pleased to announce the release of
AltOS version 1.3.2.
AltOS is the core of the software
for all of the Altus Metrum products. It
consists of firmware for our cc1111, STM32L151, LPC11U14 and ATtiny85
based electronics and Java-based ground station software.
This is a minor release of AltOS, including bug fixes for TeleMega,
TeleMetrum v2.0 and AltosUI .
AltOS Firmware GPS Satellite reporting and APRS improved
Firmware version 1.3.1 has a bug on TeleMega when it has data from
more than 12 GPS satellites. This causes buffer overruns within the
firmware. 1.3.2 limits the number of reported satellites to 12.
APRS now continues to send the last known good GPS position, and
reports GPS lock status and number of sats in view in the APRS comment
field, along with the battery and igniter voltages.
AltosUI TeleMega GPS Satellite, GPS max height and Fire Igniters
AltosUI was crashing when TeleMega reported that it had data from more
than 12 satellites. While the TeleMega firmware has been fixed to
never do that, AltosUI also has a fix in case you fly a TeleMega board
without updated firmware.
GPS max height is now displayed in the flight statistics. As the
u-Blox GPS chips now provide accurate altitude information, we ve
added the maximum height as computed by GPS here.
Fire Igniters now uses the letters A through D to label the extra
TeleMega pyro channels instead of the numbers 0-3.
parallel
program in moreutils have amicable co-installability among many,
many other things with respect to my packages.
And, quite probably, work on packaging ffmpeg with other interested people
(which seem to be numerous).
I love Free Software, and the people behind it. Even though I have been a free software user and developer for more than a decade now, there's still more to be amazed at, still more to contribute, and still more to learn. I love the Free Software community, because it never ceases to amaze me. It's not just about the technical side, but the social, human side of it, too!During the past year, I came to another milestone in my career: as of july first, I am a Free Software developer, and enjoying every moment of it. This is a feat that could not have been done without there being demand for what I do, without the free software community as a whole. For that, I owe you all a big thank you, you make it possible for me to make my dream come true. I can only hope that through my work, and through my example, I can contribute back enough.To this day, I take delight in contributing to free software, be it a Lisp on Python (or projects built in it), any of my own projects, syslog-ng, Google Summer of Code mentoring, Debian work - any and all of that are great fun. Even processing NEW is (I really should do that more often)! It's an endless source of not only entertainment and knowledge, but inspiration too.Whenever I read something as amazing as Russ Allbery's mail on the Debian technical committee impasse, I realize just how amazing people we have in our community, and how much we all can learn from them, and how much we owe them. This is yet another reason why I feel that contributing to Free Software is a passion many can share, because it teaches us good values too, atop of being technically excellent.I love Free Software, because without it, I would be lost. Thank you.
Barely one and half month after the release of the Wheezy version of the Debian Administrator s Handbook, I m proud to announce that two translations have been completed: French and Spanish.
And, as promised in the last liberation campaign, the French translation has been published as a paperback by Eyrolles (see the cover above).
Check out the article on debian-handbook.info for more information.
2 comments Liked this article? Click here. My blog is Flattr-enabled.
Andrzej's C++ blog has a nice series on type erasure.
I found it interesting to read and have learnt some things from it.
For instance, I vaguely guessed, but did not fully realize, that std::function<>
is of course a performance hit, since the way how std::function<> is implemented
makes it impossible for the compiler to do anything useful with that function
call. Inlining is totally out of the question, since we have just erased the
type information. You might say, "of course!", but for me it was sort of a
revelation.
The series is in four parts: part I, part II, part III, part IV.
Today was another busy day. Zoe had a check up at her
dentist first thing this morning. This dentist was such a good find, and
although it's a trek (it's over an hour round trip for a 15 minute appointment)
I think it's well worth it to instill a positive view of dentists into Zoe, and
it's all covered by insurance, so really the only expense is time and petrol.
After we got home, Zoe was a bit sick of being in the car, and wanted to watch
TV. I'm trying to restrict TV to just the late afternoon, while I'm preparing
dinner, so I thought this was a good opportunity to break out the Goldie Blox set that I haven't introduced
her to yet.
That went pretty well, but Mum and Dad (aka Grandma and Grandpa) arrived early
for lunch, so we didn't finish working our way through the book. I think it was
more of a hit than Robot Turtles is
at the moment.
We all jumped in the car, and drove down to Bulimba, and caught the cross river
ferry over to the CityGlider bus and had Yum Cha for lunch. That went pretty
well, and we returned the same way.
Zoe had a little play in the park at Bulimba with her grandparents while I
popped over to the florist, and then we came home and Zoe gave them a
demonstration of the kinetic sand
and then Grandma and Grandpa went home and I managed to convince Zoe to take a
late nap.
We didn't get much of an opportunity for something Science Friday-related
today, with all of the other activities. Zoe didn't wake up from her nap until
close to 5pm, just after my girlfriend arrived for dinner. Zoe watched a bit of
TV and then the three of us walked down to collect pizza for dinner, and that
was pretty much how the evening ended. I let Zoe stay up a little bit later,
because she'd napped so late.
After so many attempts to have my shiny Movistar Peru (Internet M vil) 3G ZTE MF193 modem to work out-of-the-box in Debian jessie (unstable) with NetworkManager, the word frustration was hitting on my head. Even trying to do the right thing, led me to craziness. I gave up on fanzines and decided to take the old-school route. Release wvdial and friends!
Trying different combinations for wvdial.conf was no heaven for sure, but I ve found this wonderful guide from Christian Ams ss from Vienna, Austria! that really made a difference. Of course he s talking about the MF180 model but you get the idea. So I m sharing what was different for the MF193.
Basically, I ve done the eject and disable CD-ROM thing already, but still no progress. I ve also tried using wvdial to send AT commands to the evasive /dev/ttyUSBX device. Starting from scratch confirmed that I ve done such things properly indeed. I was amused by the fact that I could use screen to talk to the modem! (yo, all the time wasted trying to have minicom and friends play nice)
So, let s get to the point. After following this procedure, you should be able to use NetworkManager to connect to the Interwebs using the 3G data service from Movistar Peru.
/dev/ttyUSB4/dev/ttyUSB 0,1,2 and /dev/gsmmodem should be missing (not sure if this is a bug). Now /dev/ttyUSB2 is your guy./dev/ttyUSB2wvdial from CLI it should connect successfully.wvdial[Dialer Defaults] Modem = /dev/ttyUSB2 Username = movistar@datos Password = movistar APN = movistar.pe Phone = *99# Stupid Mode = 1 Init2 = AT+CGDCONT=4,"IP","movistar.pe"
I ve been hacking (on and off) on a small bit of code (written in Hy) called Acid.
So, all of this is *really* fluid, and I m going to change it s API and code (it s currently just one massive hack), but I think the idea has kinda jelled enough for me to chat a bit about.
Acid is a DSL for writing event-driven Hy. Currently it s just using global events (that ll change soon), and it s a monumental hack (not sure how much I can do there), but it works pretty well.
It s built on top of tulip / asyncio, which is an amazing new Python 3.4 standard library package for working with async code.
Although asyncio is designed around network-based usecases, I ve been trying to shoehorn in an event system on top of it. It s going well so far.
A basic Acid script looks something like:
(trip
(on :startup
(every 1 second (emit :clock-pulse nil)))
(on :clock-pulse (print "."))
(emit :startup nil))
which will print a dot ( . ) every second forever.
Something a bit more advanced (fetch the MBTA Red line T information once a minute forever)
(defn get-endpoint-url [line]
(.format "http://developer.mbta.com/lib/rthr/ 0 .json"
(get :red-line "red"
:blue-line "blue" line)))
(trip
;; OK. Let's do some work with MBTA feeds.
(on :update-feed
;; let's just update feeds on a cron.
(print (.json (.get requests (get-endpoint-url event))))
(emit :feed-updated event))
(every 1 minute
(emit :update-feed :red-line)))
Clearly, both of these examples are just as clear as their straight functional counterparts, but I m keen to see what I can do with temporal recursion for long-running daemons.
I think my first job will be porting snitch's codebase to Acid.
Let me know if you have any ideas!
Recently I started doing a internet-wide scan for rsync servers, thinking it might be fun to write a toy search-engine/indexer.
Even the basics such as searching against the names of exported shares would be interesting, I thought.
Today I abandoned that after exploring some of the results, (created with zmap), because there's just too much private data out there, wide open
IP redacted for obvious reason:
shelob ~ $ rsync rsync://xx.xx.xx.xx/ ginevra Ginevra backup krsna Alberto Laptop Backup franziska Franz Laptop Backup genoveffa Franz Laptop Backup 2Some nice shares there. Lets see if they're as open as they appear to be:
shelob ~ $ rsync rsync://xx.xx.xx.xx/ginevra/home/ drwxrwsr-x 4096 2013/10/30 13:42:29 . drwxr-sr-x 4096 2009/02/03 10:32:27 abl drwxr-s--- 12288 2014/02/12 20:05:22 alberto drwxr-xr-x 4096 2011/12/13 17:12:46 alessandra drwxr-sr-x 20480 2014/02/12 22:55:01 backup drwxr-xr-x 4096 2008/10/03 14:51:29 bertacci ..Yup. Backups of /home, /etc/, and more. I found numerous examples of this, along with a significant number of hosts that exported "www" + "sql", as a pair, and a large number of hosts that just exported "squid/". I assume they must be some cpanel-like system, because I can't understand why thousands of people would export the same shares with the same comments otherwise. I still would like to run the indexer, but with so much easy content to steal, well I think the liability would kill me. I considered not posting this, but I suspect "bad people" already know..,
Google Summer of Code 2014 is currently open for mentoring
organizations to register.
I've decided to not apply for GSoC with my data mining open source project
ELKI anymore.
It's been quite a busy, varied day today. Lot's of fun as usual.
Zoe has a dentist appointment tomorrow morning, so we went to the Thursday
offering of her Brazilian Jiu-Jitsu class instead, and skipped Playgroup.
We biked over extra early this morning, to make sure we were on time. There
were two other kids in the class today, a 3 year old boy and a 2 and a half
year old girl. The class went really well.
We biked home the scenic way again, and grabbed a BBQ chicken for lunch
along the way. The box of kinetic
sand that I'd ordered was sitting on the doorstep. That still left us
with about 45 minutes to kill before lunch, so I thought I'd start on making
a second miniature
clothes line with Zoe.
Bunnings were selling these little kids safety sets at half price because
they were a deleted product, and the set came with proper fitting eye
protection, hearing protection and some gloves. The gloves are currently too
big, but the glasses and hearing protection is great.
I introduced her to the power drill and the hand saw. She liked drilling,
and marking, but mostly was happy just watching. We managed to make most of
the top of the clothes line before lunch, and then I whipped up some chicken
quesadillas for lunch.
We had a few disruptions during quiet time, so Zoe didn't nap. After quiet
time, we did a mix of cleaning up the house a bit, some more wood working,
and some self-directed play.
After that, Zoe's friend Mackensie and her little sister came over for a
play date after her Kindergarten class. She goes to the same Kindergarten as
Zoe, but in the second half of the week.
Mackensie's mum brought me a coffee, and we had some afternoon tea, and then
I busted out the kinetic sand. It was a real hit with all the girls, as well
as the adults. A very good product. That kept them occupied for a while.
Zoe had found a Wallace and Gromit DVD while we were cleaning up, and she
hasn't watched it for a while, so she was very keen to watch it. I told her
she could watch it after Mackensie went home, and so we've kicked back on
the couch to watch that while we wait for Sarah to arrive.
More and more packages are getting
autopkgtest aka
DEP-8 testsuites these days.
Thanks to Antonio Terceiro, there is ci.debian.net"
running the tests.
Last weekend, I've added a "CI" column on DDPO
that shows the current test results for your packages. Enjoy, and add tests to your packages!
There are currently roughly 1500 source packages in Debian which possibly
(very likely actually) do have broken URLs in debian/control.
While it is quite useful that we have VCS information and Homepage
URLs in the Packages file these days, we also created a rather big source
of bitrot. These URLs are typically paste-and-forget. Sure, people occasionally
catch the fact that a homepage or VCS has moved, especially if they are active
and in good contact with their upstreams. However, there are also other cases...
A new release 0.2.11 of
RInside
is now on CRAN.
RInside provides
a set of convenience classes which facilitate embedding of
R
inside of C++ applications and programs, using the classes and functions provided by the
Rcpp R and C++
integration package.
This release, the first in fourteen months, fixes one important initialization issue created by the recent
Rcpp 0.11.0 release, adds a few other changes related to that release
and improves a number of small points such as new or improved examples.
The NEWS extract below has more details.
Changes in RInside version 0.2.11 (2014-02-11)CRANberries also provides a short report with changes from the previous release. More information is on the RInside page. Questions, comments etc should go to the rcpp-devel mailing list off the Rcpp R-Forge page.
- Updated for Rcpp 0.11.0:
- Updated initialization by assigning global environment via pointer only after R itself has been initialized with special thanks to Kevin Ushey for the fix
- Updated
DESCRIPTIONwithImports:instead ofDepends:- Added correspondiing
importFrom(Rcpp, evalCpp)toNAMESPACE- Noted in all
inst/examples/*/Makefilethat Rcpp no longer requires a library argument, but left code for backwards compatibility in case 0.11.0 is not yet installed.- Added
--vanilla --slaveto default arguments for R initialization- Added a few more explicit
#includestatements in theqtexample which Qt 5.1 now appears to require with thanks to Spencer Behling for the patch- Added new MPI example with worker functions and RInside instance, kindly contributed by Nicholas Pezolano and Martin Morgan
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'm reserving the Wednesdays that Zoe doesn't have Kindergarten for longer
excursions. Yesterday, we used it to go to Wet 'n' Wild.
Zoe loves the place. She's been asking to go since last week. We've been three
times now, the first time with friends, and twice by ourselves. I bought
discounted VIP
Passes for Zoe and I last year when they became available, so it makes
going to Seaworld, Wet 'n' Wild or Movie World a no-brainer.
So far Zoe's been to Seaworld twice too, once with me and once with Sarah. I'm
saving Movie World for when it's too cold to go to Wet 'n' Wild any more.
I've shifted my weekly chiropractic adjustment to 8am to help keep the day
clear. Zoe came with me for that, and then we jumped in the car and headed
down, running a couple of errands along the way, since the theme park doesn't
open until 10am. We got there a little before it opened, so I used the extra
time to apply sunscreen to Zoe and get her changed, and we got into the park
pretty quickly.
Zoe's only currently tall enough for Buccaneer Bay, the kid's play area, which
is a shallow pool with a bunch of small slides in it, the giant wave pool, and
Calypso Beach, which just involves floating around on an inflatable tube.
We started, as usual, at Bucanneer Bay, then moved onto the wave pool for a
bit, and then had some lunch and then lazed around at Calypso Beach.
This was the first time we'd been in the wave pool for a wave cycle. I hadn't
realised that they did it on a cycle. Last time and this time, when we jumped
in, it was right at the end of a cycle, and it takes a while before they start
it up again. Zoe thought jumping over the waves was pretty cool.
This time at Calypso Beach, Zoe was quite confident fooling around in a kids
tube by herself. She also figured out the water was only 0.8m deep, and was
happy standing up and spinning around in her tube. We did about 3 laps of the
course there.
My cousin lives about 12 minutes from Wet 'n' Wild, and we usually drop in to
visit her and her four kids on the way back. We've often stayed the night for a
sleepover when it's a weekend.
We hung out at their place for a little while afterwards, and then headed home.
Zoe had a good nap in the car on the way home, and we were home slightly late
for Sarah to pick her up.
I'm a huge fan of Org-mode, and I keep all of
my org-mode files in git repositories which are under
myrepos control.
However, because I often make lots of changes to my agenda and notes,
I hate having to manually visit each individual project and make
changes to it.
[And it's also annoying when I forget to commit a specific change and then have to try to get my laptop and desktop back into sync.]
Luckily, myrepos can easily run a command in parallel in all of the
repositories! The following "update_org_files" command will update all
of my org-file containing repositories in parallel:
#!/bin/bash
ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$'
if [ "x$1" == "xdoit" ]; then
if git status --porcelain -z grep -z '^ M' grep -zq $ORG_GREP; then
git status --porcelain -z grep -z '^ M' grep -z $ORG_GREP \
sed -z 's/^ M//g' \
xargs -0 git commit -m'update org files'
git push;
fi;
else
emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
mr -d ~ -j5 run update_org_files doit;
fi;
Next.