Recent blog entries

9 Oct 2015 zeenix   » (Journeyer)

New in Geoclue: Location sharing & convenience library

Apart from many fixes, Geoclue recently gained some new features as well.

Sharing location from phones

If you read planet GNOME, you must have seen my GSoC student, Ankit already posting about this. Basically his work enabled Geoclue to search for, and make use of any NMEA providers on the local network. The second part of this project, involved implementation of such a service for Android devices. I'm pleased that he managed to get the project working in time and even went the extra mile to fix issues with his code, after GSoC.

This is useful since GPS-based location from android is almost always going to be more accurate than WiFi-based one (assuming neighbouring WiFi networks are covered by Mozilla Location Service). This is especially useful for desktop machines since they typically do not have even WiFi hardware on them and have until now been limited to GeoIP, which at best gives city-level accurate location.

This feature was included in release 2.3.0 and you can download the Android app from here.

 Conveniece library

Almost since the beginning of Geoclue2 project, many people complained that using the new API is far from easy and simple, as it should be. While we have good reasons to keep D-Bus API as it is now, the fact that a lot of time passed since I got around to doing anything about this, meant that it was best if D-Bus API was not changed, Geoclue being a system service.

So this week, I took up the task of implementing a client-side library, that not only exposes gdbus-codegen generated API to communicate with the service but also added a convenience helper API to make things very simple. Basically, you just have to call a few functions now if you simply want to get a location fix quickly and don't care much about accuracy nor interested in subsequent location updates.

I only pushed the changes today to git master so if you have any input, now would be the best time to speak up. I wouldn't want to change API after release.

Syndicated 2015-10-09 19:45:00 (Updated 2015-10-09 19:45:19) from zeenix

9 Oct 2015 marnanel   » (Journeyer)

One of my favourite ESOL stories

"What does 'great with child' mean?"
"But the sentence is 'Mr Smith is great with children.'"

This entry was originally posted at Please comment there using OpenID.

Syndicated 2015-10-09 09:06:28 from Monument

7 Oct 2015 Stevey   » (Master)

Generating fingerprints from SSH keys

I've been allowing users to upload SSH public-keys, and displaying them online in a form. Displaying an SSH public key is a pain, because they're typically long. That means you need to wrap them, or truncate them, or you introduce a horizontal scroll-bar.

So rather than displaying them I figured I'd generate a fingerprint when the key was uploaded and show that instead - This is exactly how github shows your ssh-keys.

Annoyingly there is only one reasonable way to get a fingerprint from a key:

  • Write it to a temporary file.
  • Run "ssh-keygen -lf temporary/file/name".

You can sometimes calculate the key via more direct, but less obvious methods:

awk '{print $2}' ~/.ssh/ | base64 -d | md5sum

But that won't work for all key-types.

It is interesting to look at the various key-types which are available these days:

mkdir ~/ssh/
cd ~/ssh/
for i in dsa ecdsa ed25519 rsa rsa1 ; do
  ssh-keygen -P "" -t $i -f ${i}-key

I've never seen an ed25519 key in the wild. It looks like this:

$ cat ~/ssh/
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMcT04t6UpewqQHWI4gfyBpP/ueSjbcGEze22vdlq0mW skx@shelob

Similarly curve-based keys are short too, but not as short:

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLTJ5+  \
 rWoq5cNcjXdhzRiEK3Yq6tFSYr4DBsqkRI0ZqJdb+7RxbhJYUOq5jsBlHUzktYhOahEDlc9Lezz3ZUqXg= skx@shelob

Remember what I said about wrapping? Ha!

Anyway for the moment I've hacked up a simple perl module SSH::Key::Fingerprint which will accept a public key and return the fingerprint, as well as validating the key is well-formed and of a known-type. I might make it public in the future, but I think the name is all wrong.

The only code I could easily find to do a similar job is this node.js package, but it doesn't work on all key-types. Shame.

And that concludes this weeks super-happy fun-time TODO-list item.

Syndicated 2015-10-07 10:56:49 from Steve Kemp's Blog

7 Oct 2015 mikal   » (Journeyer)

Lunchtime geocaching

So, I didn't get to sleep last night until 4:30am because of a combination of work meetings and small children, so today was a pretty weird day for me. I was having a lot of trouble concentrating at lunch time, so I decided a walk was the least worst thing I could do with my time. I decided to knock off some of the few remaining geocaches in southern Tuggeranong that i haven't found yet.

This walk was odd -- it started and ended in a little bit of Theodore they never got around to actually building, and I can't find any documentation online about why. It then proceeded through a nice little green strip that has more than its share of rubbish dumped, Cleanup Australia needs to do a visit here! Then there were the Aboriginal axe grinding grooves (read more) just kind of in the middle of the green strip with no informational signage or anything. Finally, a geocache at an abandoned look out, which would have been much nicer if it wasn't being used as an unofficial dump now.

That said, a nice little walk, but I have no real desire to revisit this one any time soon.


Interactive map for this route.

Tags for this post: blog pictures 20151007 photo canberra bushwalk


Syndicated 2015-10-07 00:58:00 from : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

6 Oct 2015 mjg59   » (Master)

Going my own way

Reaction to Sarah's post about leaving the kernel community was a mixture of terrible and touching, but it's still one of those things that almost certainly won't end up making any kind of significant difference. Linus has made it pretty clear that he's fine with the way he behaves, and nobody's going to depose him. That's unfortunate, because earlier today I was sitting in a presentation at Linuxcon and remembering how much I love the technical side of kernel development. "Remembering" is a deliberate choice of word - it's been increasingly difficult to remember that, because instead I remember having to deal with interminable arguments over the naming of an interface because Linus has an undying hatred of BSD securelevel, or having my name forever associated with the deepthroating of Microsoft because Linus couldn't be bothered asking questions about the reasoning behind a design before trashing it.

In the end it's a mixture of just being tired of dealing with the crap associated with Linux development and realising that by continuing to put up with it I'm tacitly encouraging its continuation, but I can't be bothered any more. And, thanks to the magic of free software, it turns out that I can avoid putting up with the bullshit in the kernel community and get to work on the things I'm interested in doing. So here's a kernel tree with patches that implement a BSD-style securelevel interface. Over time it'll pick up some of the power management code I'm still working on, and we'll see where it goes from there. But, until there's a significant shift in community norms on LKML, I'll only be there when I'm being paid to be there. And that's improved my mood immeasurably.

comment count unavailable comments

Syndicated 2015-10-06 13:18:27 from Matthew Garrett

6 Oct 2015 marnanel   » (Journeyer)

"Do you think religion has a part to play?"

I was sleeping in, but the doorbell woke me up. Two bright-eyed enthusiastic girls in their late teens were standing outside. One of them did all the talking.

She: Hello! I'm ___ and my friend here is called ___. We're doing a survey. Would you like to take part?
Me: (blearily) Go on.
She: Do you think morality is declining in our society?
Me: No.
(her friend writes it down)
She: Can you explain why?
Me: I don't have any reason to believe that previous ages behaved any more morally than we do. And if morality does seem to be declining, it may be because of increased visibility and better reporting.
(her friend is scribbling frantically)
She: Right. And what do you think could improve the morality of society?
Me (thinking slowly, still half-asleep): Well... there are many reasons for unethical behaviour, but it seems to me that much of it is due to lack of ability to choose otherwise. If your family's hungry, you're more likely to steal to feed them. And even when things improve, this turns into a habit of behaviour. So we need to reduce social inequality.
She: More freedom for people?
Me: Yeah-- freedom means you have more choices.
She: Thanks. And finally, do you think religion has a part to play in increasing morality in society?
Me (suspicions confirmed): Yes, because in order to play a part in society you have to be aware of your context within it... the big picture, and religion is often a good way to learn to think on that scale. Of course you can get that in other ways, as well-- it's not restricted to people of faith.
She: Thank you. Er, did we wake you up?
Me: Yes, but it's okay. It's not often people get me out of bed to discuss ethical philosophy.
She: This has been very philosophical. Here's a card with some more questions-- we'll be back next week to talk about what you think about those. Is the house next door number ___?

Good luck to them. If they're going house-to-house in Salford asking questions about ethics, I hope to God they stay safe.

This entry was originally posted at Please comment there using OpenID.

Syndicated 2015-10-06 15:12:51 (Updated 2015-10-06 15:13:24) from Monument

5 Oct 2015 olea   » (Master)

Los sueldos en el mundo de la informática

Sólo como referencia, he encontrado esta publicación del ministerio de trabajo de los EEUU: May 2014 National Occupational Employment and Wage Estimates con las estadísticas de sueldos de las profesiones informáticas en ese país:

Occupation code Occupation title (click on the occupation title to view its profile) Level Employment Employment RSE Employment per 1,000 jobs Median hourly wage Mean hourly wage Annual mean wage Mean wage RSE
11-3021 Computer and Information Systems Managers detail 330360 0.8% 2,445 $61.37 $65.52 $136,280 0.4%
15-0000 Computer and Mathematical Occupations major 3834180 0.5% 28,374 $38.18 $40.37 $83,970 0.5%
15-1100 Computer Occupations minor 3692980 0.5% 27,329 $38.17 $40.31 $83,840 0.5%
15-1111 Computer and Information Research Scientists detail 24210 4.2% 0,179 $52.09 $54.42 $113,190 1.4%
15-1120 Computer and Information Analysts broad 608500 0.9% 4,503 $40.13 $42.25 $87,890 0.3%
15-1121 Computer Systems Analysts detail 528320 0.9% 3,910 $39.76 $41.98 $87,320 0.4%
15-1122 Information Security Analysts detail 80180 2.0% 0,593 $42.74 $44.04 $91,600 0.6%
15-1130 Software Developers and Programmers broad 1492040 0.8% 11,042 $43.90 $45.81 $95,280 0.8%
15-1131 Computer Programmers detail 302150 1.4% 2,236 $37.28 $39.75 $82,690 1.3%
15-1132 Software Developers, Applications detail 686470 1.2% 5,080 $45.92 $47.85 $99,530 1.1%
15-1133 Software Developers, Systems Software detail 382400 1.6% 2,830 $49.46 $50.98 $106,050 0.6%
15-1134 Web Developers detail 121020 1.5% 0,896 $30.52 $33.02 $68,670 0.7%
15-1140 Database and Systems Administrators and Network Architects broad 617680 0.6% 4,571 $38.87 $40.85 $84,970 0.2%
15-1141 Database Administrators detail 112170 1.0% 0,830 $38.60 $39.56 $82,280 0.3%
15-1142 Network and Computer Systems Administrators detail 365430 0.8% 2,704 $36.44 $38.35 $79,770 0.3%
15-1143 Computer Network Architects detail 140080 1.4% 1,037 $47.32 $48.42 $100,710 0.4%
15-1150 Computer Support Specialists broad 738030 0.7% 5,462 $24.22 $26.42 $54,960 0.3%
15-1151 Computer User Support Specialists detail 563540 0.8% 4,170 $22.89 $24.76 $51,500 0.3%
15-1152 Computer Network Support Specialists detail 174490 1.3% 1,291 $29.72 $31.80 $66,140 0.5%
15-1199 Computer Occupations, All Other detail 212510 1.0% 1,573 $40.10 $41.12 $85,520 1.0%

Ojalá os sirvan.

Syndicated 2015-10-05 23:58:00 (Updated 2015-10-05 20:10:45) from Ismael Olea

5 Oct 2015 sye   » (Journeyer)

update: compiled on another Mac workstation running OSX 10.10 ... was able to run bitcoin-cli and connect to bitcoin-qt server started with commandline option " bitcoin-qt -server -rpcallowip= -rpcbind= -debug=rpc"

sync new node with running server:
"bitcoind -connect="

610M --> tx=1178004 date=2011-07-31

--end update

Following this note:

compiled bitcoind from source on my Mac OSX 10.9 workstation, currently running Bitcoin-XT

local 'make install' output

bash-3.2# cd /Users/sye/proj/bitcoin/
bash-3.2# ls
.git contrib
.gitattributes depends
.gitignore aclocal.m4 doc
.travis.yml libbitcoinconsensus.pc
.tx autom4te.cache build-aux libtool
COPYING config.log qa
INSTALL config.status share
Makefile configure src
bash-3.2# make install
Making install in src
make[2]: Circular univalue/lib/ make[3]: `' is up to date.
make[3]: Circular univalue/lib/ make[4]: `' is up to date.
../build-aux/install-sh -c -d '/usr/local/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libbitcoinconsensus.0.dylib /usr/local/lib/libbitcoinconsensus.0.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libbitcoinconsensus.0.dylib libbitcoinconsensus.dylib || { rm -f libbitcoinconsensus.dylib && ln -s libbitcoinconsensus.0.dylib libbitcoinconsensus.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libbitcoinconsensus.lai /usr/local/lib/
libtool: install: /usr/bin/install -c .libs/libbitcoinconsensus.a /usr/local/lib/libbitcoinconsensus.a
libtool: install: chmod 644 /usr/local/lib/libbitcoinconsensus.a
libtool: install: /usr/bin/ranlib /usr/local/lib/libbitcoinconsensus.a
../build-aux/install-sh -c -d '/usr/local/bin'
/bin/sh ../libtool --mode=install /usr/bin/install -c bitcoind bitcoin-cli bitcoin-tx test/test_bitcoin qt/bitcoin-qt qt/test/test_bitcoin-qt '/usr/local/bin'
libtool: install: /usr/bin/install -c bitcoind /usr/local/bin/bitcoind
libtool: install: /usr/bin/install -c bitcoin-cli /usr/local/bin/bitcoin-cli
libtool: install: /usr/bin/install -c bitcoin-tx /usr/local/bin/bitcoin-tx
libtool: install: /usr/bin/install -c test/test_bitcoin /usr/local/bin/test_bitcoin
libtool: install: /usr/bin/install -c qt/bitcoin-qt /usr/local/bin/bitcoin-qt
libtool: install: /usr/bin/install -c qt/test/test_bitcoin-qt /usr/local/bin/test_bitcoin-qt
../build-aux/install-sh -c -d '/usr/local/include'
/usr/bin/install -c -m 644 script/bitcoinconsensus.h '/usr/local/include'
make[2]: Nothing to be done for `install-exec-am'.
build-aux/install-sh -c -d '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 libbitcoinconsensus.pc '/usr/local/lib/pkgconfig'
bash-3.2# pwd

Running Bitcoin-Qt open files snapshot:
/Users/sye/Library/Application Support/Bitcoin/.lock
/Users/sye/Library/Application Support/Bitcoin/debug.log
/Users/sye/Library/Application Support/Bitcoin/db.log
/Users/sye/Library/Application Support/Bitcoin/blocks/index/LOG
/Users/sye/Library/Application Support/Bitcoin/blocks/index/LOCK
/Users/sye/Library/Application Support/Bitcoin/blocks/index/001131.log
/Users/sye/Library/Application Support/Bitcoin/blocks/index/MANIFEST-001129
/Users/sye/Library/Application Support/Bitcoin/chainstate/LOG
/Users/sye/Library/Application Support/Bitcoin/chainstate/LOCK>
/Users/sye/Library/Application Support/Bitcoin/chainstate/MANIFEST-1012822>>
/Users/sye/Library/Application Support/Bitcoin/database/log.0000000002
/Users/sye/Library/Application Support/Bitcoin/chainstate/1113185.log>>>>

5 Oct 2015 mtearle   » (Journeyer)

The flow of things ….

The theme of this blog entry was triggered by a set of slides that were presented at this OSCON this year on the topic of flow. Flow being the wonderful energised state where you are fully focused upon and enjoying
the activity at hand.

For reference the presentation was: OSCON2015: Coding in the FLOW (Slides)


The conference presentation goes on to describe what the presenter thinks are the criteria needed for when you are coding, but I think there is a degree of generality here that can be applied to anything technical or skilled. They were described as:

  • G = Clear, attainable goals
  • F = Immediate and relevant feedback
  • S = Matched Skill and Challenge

For myself, I think I can add at least one other criteria

  • A = Available Time

In terms of my tinkering away at little software projects, my most recent project has been npyscreenreactor. npyscreen is a Python library around the Python curses bindings. npyscreenreactor is an implementation of interfacing that library with the Python Twisted library.  Twisted is an event driven networking engine for python. The reactor part of the name refers to a design pattern for how to write event based service handlers and have them run concurrently.  (See Reactor Pattern)

The project was written to support virtualcoke.  virtualcoke is an emulator of the behaviour of the PLC that drives the UCC Coke Machine. This is written primarly to avoid club members needing to have access  to the coke machine to test code to speak to the machine and the development of the reactor was needed to enable use of the PyModbus Twisted module.

This project, npyscreenreactor, has taken sometime to come to fruition with an initial working release of the code in March 2015, some bug fixing in June, working examples in August and probably what will now be a
stable version in September.

For this the goal, feedback, and skill have been there. However, the available time/energy has not (due to other commitments, such as work).  The wider project that will use virtualcoke, I still need to throw some energy at, but it is now lower down my list of priorities.

In things apart from this, flow has been less forthcoming of late and I’ll need to work on it.  The challenge being to set up a positive reinforcing cycle where the achieving the goal generates warm fuzzies and more enthusiasm to work harder.

Syndicated 2015-10-05 12:34:05 from Assorted musings

5 Oct 2015 bagder   » (Master)

Talked HTTP/2 at ApacheCon

I was invited as one of the speakers at the ApacheCon core conference in Budapest, Hungary on October 1-2, 2015.


I was once again spreading the news about HTTP/2, why it was made and how it works and of course: updated numbers on adoption right now.

The talk was unfortunately not filmed, but I’ve put my slides for this version of my talk online. Readers of this blog and those who’ve seen my presentations before will recognize large parts of it.

Following my talk was talks about mod_http2, the Apache module for HTTP/2 that will be coming in the upcoming 2.4.17 release of Apache Httpd, explained by its author Stefan Eissing. The name of the module was actually a bit of a surprise to me since it has been known as just mod_h2 for its entire life time up until now.

William A Rowe took us through the state of TLS for the main Apache servers and yeah, the state seem to be pretty good and they’re coming along really well. TLS and then HTTPS is important as that’s really a prerequisite for HTTP/2

I also got to listen to Mark Thomas explain the agonies of making Tomcat support HTTP/2, and then perhaps especially how ALPN and a good set of ciphers are hard to get in Java.

Jean-Frederic Clere then explained how to activate HTTP/2 on all the Apache servers (tomcat, httpd and traffic server) and a little about their HTTP/2 state, following with an explanation how they worked on tomcat to make that use OpenSSL for the TLS layer (including ALPN) to avoid the deadlock of decent TLS support in Java.

All in all, a great track and splendid talks with deep technical content. Exactly the way I like it. Thanks everyone. Apachecon certainly delivered for me! Twas fun.

Syndicated 2015-10-05 11:19:42 from

3 Oct 2015 louie   » (Master)

Software that liberates people: feels about FSF@30 and OSFeels@1

tl;dr: I want to liberate people ; software is a (critical) tool to that end. There is a conference this weekend that understands that, but I worry it isn’t FSF’s.

Feelings are facts, by wrote, CC BY 2.0

This morning, social network chatter reminded me of FSF‘s 30th birthday celebration. These travel messages were from friends who I have a great deal of love and respect for, and represent a movement to which I essentially owe my adult life.

Despite that, I had lots of mixed feels about the event. I had a hard time capturing why, though.

While I was still processing these feelings, late tonight, Twitter reminded me of a new conference also going on this weekend, appropriately called Open Source and Feelings. (I badly wanted to submit a talk for it, but a prior commitment kept me from both it and FSF@30.)

I saw the OSFeels agenda for the first time tonight. It includes:

  • Design and empathy (learning to build open software that empowers all users, not just the technically sophisticated)
  • Inclusive development (multiple talks about this, including non-English, family, and people of color) (so that the whole planet can access, and participate in developing, open software)
  • Documentation (so that users understand open software)
  • Communications skills (so that people feel welcome and engaged to help develop open software)

This is an agenda focused on liberating human beings by developing software that serves their needs, and engaging them in the creation of that software. That is incredibly exciting. I’ve long thought (following Sen and Nussbaum’s capability approach) that it is not sufficient to free people; they must be empowered to actually enjoy the benefits of that freedom. This is a conference that seems to get that, and I can’t wait to go (and hopefully speak!) next year.

The Free Software Foundation event’s agenda:

  • licenses
  • crypto
  • boot firmware
  • federation

These are important topics. But there is clearly a difference in focus here — technology first, not people. No mention of community, or of design.

This difference in focus is where this morning’s conflicted feels came from. On the one hand, I support FSF, because they’ve done an incredible amount to make the world a better place. (OSFeels can take open development for granted precisely because FSF fought so many battles about source code.) But precisely because I support FSF, I’d challenge it, in the next 15 years, to become more clearly and forcefully dedicated to liberating people. In this world, FSF would talk about design, accessibility, and inclusion as much as licensing, and talk about community-building protocols as much as communication protocols. This is not impossible: LibrePlanet had at least some people-focused talks (e.g.), and inclusion and accessibility are a genuine concern of staff, even if they didn’t rise to today’s agenda. But it would still be a big change, because at the deepest level, it would require FSF to see source code as just one of many requirements for freedom, rather than “the point of free software“.

At the same time, OSFeels is clearly filled with people who see the world through a broad, thoughtful ethical lens. It is a sad sign, both for FSF and how it is perceived, that such a group uses the deliberately apolitical language of openness rather than the language of a (hopefully) aligned ethical movement — free software. I’ll look forward to the day (maybe FSF’s 45th (or 31st!) birthday) that both groups can speak and work together about their real shared concern: software that liberates people. I’d certainly have no conflicted feelings about signing up for a conference on that :)

Syndicated 2015-10-03 06:22:27 from Luis Villa » Blog

2 Oct 2015 gary   » (Master)

Infinity compiler update

I had hoped to make a first release of i8c today but I still have one open issue so you’ll have to wait until next week. Until then here is some note source for you to ponder:

define test::factorial returns int
    argument int x
    extern func int (int) factorial

    load 1
    bne not_done_yet

    load 1

As hints I will a) point you at section 2.5 of the DWARF spec, and b) mention that argument and extern directives instruct the caller and runtime respectively to push entries onto the stack.

Your homework is to see how much of the language and runtime you can infer from this one function.

You may ask questions.

Syndicated 2015-10-02 16:27:05 from

1 Oct 2015 Hobart   » (Journeyer)

4-disk raidz vs 3-disk raidz vs 2-disk mirror

Benchmarked three different volumes (ZFS on Linux) from a Windows client.

Conclusion: At the mere speed of Gigabit Ethernet, there's no appreciable speed difference.

Syndicated 2015-10-01 21:28:52 from jon's blog

1 Oct 2015 mikal   » (Journeyer)

A searchable database of walk waypoints

Over the last year I've become increasingly interested in bush walking, especially around the ACT. It quickly became evident that John Evan's site is an incredibly valuable resource, especially if you're interested in trig points or border markers.

However, I do most of my early walk planning and visualization in Google Earth before moving to Garmin Basecamp to generate walkable maps. I wanted a way to hook John's database of GPS logs into Google Earth, so that I could plan walks more effectively. For example, John often marks gates in fences, underpasses under major roads, and good routes through scrub in his GPS tracks.

After a fair bit of playing, I ended up with this KML file which helps me do those things. Its basically magic -- the file is just a link to a search engine which has a database of GPS waypoints based off walks John and I have logged. These are then rendered in Google Earth as if they were in a static KML file. You can also download the search results as KML for editing and so forth as well.

So, I'd be interested in other people's thoughts on if this is a useful thing. I'd also be very interested in other donated GPS logs of walks and bike rides around Canberra, especially if they have waypoints marked for interesting things. If you have any comments at all, please email me at

Tags for this post: walks gps search google earth
Related posts: HP iPaq GPS FA256A; MelbourneIT are into search engine optimisation?; Historical revisionism; Searching for a technorati search plug in for Mozilla Firefox; Well, that's Google blog search live then; Google book search


Syndicated 2015-10-01 14:59:00 from : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

1 Oct 2015 Hobart   » (Journeyer)

"Stupid, STUPID Unix creatures!"

tl;dr: Wrap your shell script loops in (subshells)

ProTip: A task running in a shell script's 'for' loop that are paused by signal TSTP (that is, hitting ^Z) and restarted (with 'fg' or '%') will keep going, but the loop will have been broken and not continue (bash behavior) or the command sequence will continue as though it had completed ('dash' and probably other Bourne shells behavior). I've tested in bash and dash.

This doesn't work when interrupted by ^Z:

$ for X in 1 2 3; echo Iteration $X; sleep 5; echo Iteration $X complete; done

This does:

$ (for X in 1 2 3; echo Iteration $X; sleep 5; echo Iteration $X complete; done)

This sort of thing doesn't happen often but when you're looping through commands that take ~6h to complete and find you've lost the output, it's frustrating. :)

Syndicated 2015-10-01 13:38:13 from jon's blog

30 Sep 2015 caolan   » (Master)

impress save background image

Impress has a "Set Background Image" option in its slide context menu for a while. For 5.1 I've added a matching "Save Background Image" to save the current background image to file.

Syndicated 2015-09-30 16:32:00 (Updated 2015-09-30 16:32:32) from Caolán McNamara

30 Sep 2015 dyork   » (Master)

Traceroute to provides amusing results

For network geeks, this is rather amusing… someone was obviously a bit bored some day and had a bit of fun! This was what it looked like on my Mac right now. (Hat tip to Michele Neylon for first pointing this out to me in some social media channel.)

$ traceroute
traceroute to (, 64 hops max, 52 byte packets
1 (  0.663 ms  0.537 ms  0.277 ms
2 (  34.913 ms  30.602 ms  28.762 ms
3 (  28.827 ms  30.120 ms  21.132 ms
4 (  19.262 ms  22.382 ms  19.438 ms
5 (  30.941 ms  32.204 ms  36.969 ms
6 (  48.409 ms (  45.363 ms  46.521 ms
7 (  44.828 ms  46.147 ms  46.715 ms
8 (  46.134 ms (  44.569 ms  45.409 ms
9 (  102.968 ms  101.157 ms  99.935 ms
10 (  99.752 ms  102.249 ms  100.301 ms
11 (  98.776 ms  97.968 ms  98.756 ms
12 (  97.956 ms  95.644 ms  96.459 ms
13  * * *
14 (  96.024 ms  96.826 ms  97.406 ms
15 (  87.981 ms  97.264 ms  86.158 ms
16 (  89.937 ms  86.768 ms  87.949 ms
17 (  88.073 ms  87.895 ms  86.609 ms
18 (  93.351 ms  92.933 ms  90.876 ms
19 (  115.629 ms  96.391 ms  96.864 ms
20 (  101.257 ms  102.472 ms  102.213 ms
21  he.rides.across.the.nation (  108.059 ms  107.064 ms  108.290 ms
22  the.thoroughbred.of.sin (  111.206 ms  110.611 ms  109.944 ms
23 (  116.866 ms  117.842 ms  115.659 ms
24 (  120.375 ms  123.519 ms  121.631 ms
25  it.needs.evaluation (  127.377 ms  126.769 ms  127.779 ms
26 (  132.761 ms  132.705 ms  131.315 ms
27  a.heinous.crime (  136.769 ms  136.045 ms  137.322 ms
28 (  141.842 ms  141.447 ms  148.635 ms
29 (  146.332 ms  147.854 ms  146.570 ms
30 (  149.928 ms  150.487 ms  152.083 ms
31 (  157.190 ms  156.693 ms  155.737 ms
32 (  160.201 ms  161.399 ms  159.623 ms
33  he-s.bad (  166.007 ms  165.738 ms  165.244 ms
34  the.evil.league.of.evil (  171.012 ms  170.984 ms  172.062 ms
35 (  176.041 ms  174.358 ms  176.463 ms
36 (  181.276 ms  178.815 ms  180.667 ms
37 (  188.481 ms  185.823 ms  188.627 ms
38 (  194.008 ms  189.161 ms  193.114 ms
39 (  198.708 ms  195.870 ms  195.894 ms
40  o_o (  200.037 ms  200.691 ms  201.280 ms
41  you-re.saddled.up (  207.748 ms  206.896 ms  205.608 ms
42 (  211.288 ms  219.062 ms  212.026 ms
43  it-s.hi-ho.silver (  216.961 ms  218.367 ms  216.492 ms
44 (  214.262 ms  218.125 ms  215.096 ms

Syndicated 2015-09-30 15:30:37 from Code.DanYork.Com

30 Sep 2015 ade   » (Journeyer)

Guide to implementing App Linking on Android 6.0 Marshmallow

Knives and forks
Android Marshmallow has a feature that can make life better for developers who feel that their app experience is better than their web experience. It's called  App Linking and it ensures that your app always handles links for your domain without the disambiguation dialog you would normally see. 
This is the disambiguation dialog I see when I click on a link to Stack Overflow.


Syndicated 2015-10-01 14:35:00 from : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

30 Sep 2015 bagder   » (Master)

libbrotli is brotli in lib form

Brotli is this new cool compression algorithm that Firefox now has support for in Content-Encoding, Chrome will too soon and Eric Lawrence wrote up this nice summary about.

So I’d love to see brotli supported as a Content-Encoding in curl too, and then we just basically have to write some conditional code to detect the brotli library, add the adaption code for it and we should be in a good position. But…

There is (was) no brotli library!

It turns out the brotli team just writes their code to be linked with their tools, without making any library nor making it easy to install and use for third party applications.

an unmotivated circle sawWe can’t have it like that! I rolled up my imaginary sleeves (imaginary since my swag tshirt doesn’t really have sleeves) and I now offer libbrotli to the world. It is just a bunch of files and a build system that sucks in the brotli upstream repo as a submodule and then it builds a decoder library (brotlidec) and an encoder library (brotlienc) out of them. So there’s no code of our own here. Just building on top of the great stuff done by others.

It’s not complicated. It’s nothing fancy. But you can configure, make and make install two libraries and I can now go on and write a curl adaption for this library so that we can get brotli support for it done. Ideally, this (making a library) is something the brotli project will do on their own at some point, but until they do I don’t mind handling this.

As always, dive in and try it out, file any issues you find and send us your pull-requests for everything you can help us out with!

Syndicated 2015-09-30 06:20:09 from

30 Sep 2015 mikal   » (Journeyer)

Wandering around Curtin

I decided to go on a little walk on the way home from a work lunch and I don't regret it. This is a nice area, which I was exploring for geocaches. I probably wouldn't have come here at all, but it was the second part of the "Trees of Curtin" walk from Best Bush, Town and Village Walks in and around the ACT that I had done the first half of ages ago.

I am glad I came back for the second half -- to be honest I was pretty bored with the first half (a bike path beside a major road mostly), whereas this is much more like walking around in nature. The terrain is nice, no thistles, and plenty of horses. A nice afternoon walk overall.

Now back to reviewing Mitaka specs.


Interactive map for this route.

Tags for this post: blog pictures 20150930 photo canberra bushwalk
Related posts: Goodwin trig; Big Monks; Geocaching; Confessions of a middle aged orienteering marker; A quick walk through Curtin; Narrabundah trig and 16 geocaches


Syndicated 2015-09-29 23:23:00 from : Mikal, a geek from Canberra living in Silicon Valley (no blather posts)

29 Sep 2015 bagder   » (Master)

daniel weekly 42, switching off Nagle