Planet Linux Australia

Syndicate content
Planet Linux Australia - http://planet.linux.org.au
Updated: 1 hour 8 min ago

WordCamp 2011: Speaker: John Ford – How Automattic Works Across 20 Countries With 95 Employees

Fri, 2014-09-12 03:26

John Ford

We’re very lucky to have another international speaker on our fabulous lineup for WordCamp Gold Coast 2011! John Ford can’t get enough of Australia so he’s back again from North Carolina, USA (via Budapest). John works for Automattic on VaultPress which is an invaluable WordPress plugin that provides real-time backups and security scanning of your WordPress site.

Automattic are a distributed company with employees all around the world. Running a distributed company is a rather unusual concept for anyone who isn’t running a business that revolves around technology and the internet. Automattic explain the way they work briefly on their website:

Everyone works from their own home or office, and we’re spread out all over the world — California, Texas, New York, Canada, Ireland, Japan, Bulgaria, Australia, and more. We track about 70% of our projects on P2-themed WordPress.com blogs, 25% on private IRC channels, and the rest on Skype or AIM. Because of the geographic variance, we’re active pretty much 24/7. You’ll set your own hours — what’s important is what gets done, not when or where it got done.

John will be giving us an insiders look into ‘How Things Work At Automattic’ and he’s summed up his talk as follows:

There are a number of benefits and challenges in a distributed work environment. At Automattic, the company behind WordPress.com, nearly 100 employees interact on a daily basis while living all around the world. The heart of the operation is fueled by constant communication and open source tools that help build awesome products. We’ll look at how the Automatticians work on a day-to-day basis, the tools they use, and ways to collaborate on projects when you’re not in the same location as your colleagues.

I know this is a session that I can’t wait to participate in as I’m a director in a WordPress based web design firm and I’ve always wondered how challenging it would be to manage a team of developers in remote locations.

You can follow John on Twitter. You should also follow WordCamp Gold Coast on Twitter.

WordCamp 2011: Speaker: Timothy Ferguson, Running an Online Bookclub with WordPress

Fri, 2014-09-12 03:26

Timothy Ferguson

The wonderful thing about WordPress is that there are an infinite number of ways that the software can be used on the internet. WordCamp Gold Coast 2011 already has a number of amazing uses of the software ranging from: capturing memories right through to running a business based around WordPress!

One usage of WordPress that I’d never considered before is using WordPress to manage and online bookclub! Timothy Ferguson is one of the maintainers of the Gold Coast Library WordPress site gcbooks.wordpress.com. The Gold Coast Library setup their online book club as their staff training platform for Web 2.0 and are using WordPress as part of their new Online Branch strategy in 2012! Timothy and his team have also trained people on how to set up blogs and post on a regular basis.

Timothy has been an IT trainer with various library systems for fifteen years. In his session he’ll share experiences about building communities of readers online. Timothy even uses WordPress for his own freelance writing, (19 non-vanity published books so far) at timothyferguson.wordpress.com.

WordCamp 2011: Some more last minute Mini Sponsors

Fri, 2014-09-12 03:26

Thanks to Vroom Vroom Vroom, Student Flights and Dejan SEO for coming on Board with Mini Sponsorship Tickets:

VroomVroomVroom.com.au is an innovative website idea, comparing the prices of car rentals for web users. This save customers valuable time, replacing numerous phone calls with a few simple clicks on the internet. VroomVroomVroom is the leading web site offering this kind of service in Australia and continues to progress in making the car rental process more transparent, nationwide.

StudentFlights.com.au is a website geared towards budget travellers. With customers such as students, backpackers and under 25 year olds; the site remains relevant to a younger, more internet savvy and price conscious customers.

Dejan SEO is pleased to be able to give back to WordCamp by securing these three internet businesses to as mini sponsors.

Freenet Antennas came to our rescue to help out with getting Wireless access for the weekend, without them, we’d have had more Wireless problems over the weekend than we had!

linux.conf.au News: Announcing The Sysadmin Miniconf for Linux.conf.au 2015

Thu, 2014-09-11 12:27

The linux.conf.au 2015 organisers are pleased to announce the Systems Administration Miniconf will be part of the programme at LCA in Auckland, New Zealand during January 2015. lca2015 will be the miniconf’s 9th year and it has previously been one of the most popular miniconfs at LCA. Previous years' programmes with slides and video are available on the miniconf’s website sysadmin.miniconf.org.

The Systems Administration Miniconf focuses on professional management of real-world Linux and open source environments, both large and small. The miniconf aims to include a diverse range of tools and techniques that will help keep your entire environment functioning smoothly, and accomplish more with less effort. An important goal will be to provide talks directly useful to professional Linux administrators.

Ewen McNeill is the 2015 Sysadmin Miniconf organiser. Both Ewen McNeill and Simon Lyall have worked together to organise the eight previous miniconfs, and alternated running the miniconf. Both have attended linux.conf.au each year since 2004.

Ewen works as a consulting sysadmin, network admin and developer -- and increasingly finds these are all merging into different specialities of programming, with the increase in configuration management automation and Software Defined Networks. He has been involved directly and indirectly with production operations since the early 1990s, mostly in Internet-related networks and organisations.

A call for presentations at the Sysadmin Miniconf will be issued later in September 2014. Anyone interested in presenting is encouraged to visit the Sysadmin Miniconf website later this month for more details.







Simon Lyall: NZ banning photography from polling places

Thu, 2014-09-11 10:28

I just saw on reddit that the New Zealand electoral commission is banning photography from polling places under the grounds that they impeded other voters at the polling and could influence other voters who see the photos. Specifically they say:

Photography in a voting place and sharing photographs on social media

While the Electoral Commission encourages people to take and share photos of themselves with their ‘I’ve voted’ sticker once they’re outside the voting place and unlikely to interrupt or inconvenience other voters, the Commission will be putting up ‘No taking photos’ signs inside all voting places and advance voting places.

The increased interest in voters taking ‘selfies’ inside voting places raises concerns about congestion and disturbance in voting places and can breach other rules in the Electoral Act regarding campaigning on election day and protecting the secrecy of voting.

Voting Place Managers have to ensure that voting proceeds smoothly, that voters are not impeded, and that order is maintained in voting places.  Voting places are for the purpose of voting and people should not remain in the voting place for other purposes.  The increased interest in voters taking ‘selfies’ inside voting places has the potential to create congestion and disturbance and for this reason Managers will be putting up ‘no photography signs’.

Publishing anything on election day that could potentially influence another voter is strictly prohibited, and photos taken earlier in the voting period that are shared, re-shared or reposted on election day could fall foul of the Electoral Act.

If a person posts an image of their completed ballot paper on social media on election day or in the three days prior to election day this is likely to be an offence under section 197 of the Act, which carries a potential penalty of a fine not exceeding $20,000. Section 197 of the Act prohibits a range of activities including:

  • the publication of any statement on election day that is likely to influence voters (section 197(1)(g); and
  • the distribution of an imitation ballot paper on election day or the 3 days before election day indicating the candidate/party for whom any person should vote or having thereon any other matter likely to influence a voter.

It also potentially exposes the voter’s friends to the risk of breaching the rules if they share, re-share or repost the voter’s ‘selfie’ on election day.

As there are risks of congestion and disturbance to other voters and risks with publishing or distributing material that includes a ballot paper, particularly in a medium where material will continue to be published– the Commission will not allow voters to take photos inside voting places.  We will be placing ‘no photos’ signs up in voting places.  Returning Officers will still be able to give permission to candidates for filming in voting places.  Permission for candidates will only be given on the condition that there is no filming behind voting screens, no filming of completed or uncompleted voting papers, and no activities that disrupt voting in the voting place.

I found the reasons they give a little dubious and a complete ban overkill so I’ve written the following to them:

Hello,

I am concerned about the recently published social media policy:

http://www.elections.org.nz/parties-candidates/all-participants/use-social-media

specifically the section banning all photography from polling places.

In the past two elections I have taken photos of the polling place I attended and my unmarked ballot paper and uploaded these to the Wikipedia. These photos (and similar ones) have been used to illustrate photos about elections and even cardboard furniture as well as being used on other sites. Even the official blog of the NZ ambassador to the Philippines used one. http://blogs.mfat.govt.nz/andrew-matheson/elections-theyre-important.

I am thus concerned that there appears to be a new policy that bans all photographs except limited ones by members of the media. This seems to go against the openness of our electoral process and the grounds that are given for the ban are very weak.

The matter of influencing other voters can be dealt with by requesting that photos only be published after voting has closed. Similarly I’m sure there are already rules to handle people who take too long to vote when there are long lines. A specific rule against photographing filled out ballots will also address concerns about voters proving to others they have voted a specific way.

In summary I very much hope you can replace a ban of photography with a more targeted rules against specific problems.

Simon Lyall

 

I receive a reply back from the Electoral Commission:

Dear Mr Lyall,

Photography in the voting place has only ever been allowed with the prior permission of the Returning Officer, but the number of photos being

taken without prior permission has increased hugely this year.  I understand that you feel that people could be allowed to take photos but be

advised not to publish the photos until after 7pm on election day – but unfortunately this is not what voters were doing.

Photos within the voting place, and particularly those taken of marked ballot papers and behind voting screens, have generated a large number of

complaints to the Commission already, and as a result we have re-looked at our rules around photography.

Voting Place Managers have to ensure that voting proceeds smoothly, that voters are not impeded, and that order is maintained in voting places.

Voting places are for the purpose of voting and people should not remain in the voting place for other purposes.  The increased interest in voters

taking ‘selfies’ inside voting places has the potential to create congestion and disturbance and for this reason Managers will be putting up ‘no

photography signs’.

Returning Officers will still be able to give permission to candidates for media or campaign managers to organise filming in voting places.

Permission will be given on the condition that there is no filming behind voting screens, no filming of completed or uncompleted voting papers,

and no activities that disrupt voting in the voting place.

We absolutely encourage people to take and share photos of themselves with their ‘I’ve voted’ sticker once they’re outside the voting place and

unlikely to interrupt or inconvenience other voters, however people taking selfies while behind the voting screen is not a good idea.

 

 

Gary Pendergast: Let’s have a chat about Reddit

Thu, 2014-09-11 00:26

Before I start, I should warn you that I’ll be commenting on some of the awful things that Reddit implicitly condones, which include sex crimes, animal abuse and what can euphemistically be described as “disrespectful” behaviour towards the dead. I know these topics can be traumatic for people, so if you’d prefer to avoid reading them, please close this window.

(For reference, when I say “Reddit” here, I’m referring to the owners and administrators, not the vast majority of users. I’ll also be posting examples of subreddits (though not linking to them) which I strongly advise you do not visit.)

Many of you will be aware of “the fappening” that occurred a couple of weeks ago – this is the name for the mass leak of celebrities’ private photos to the internet. While the photos were hosted on various sites around the internet, it was primarily Reddit.com that was a focal point for dissemination of these photos, on the /r/TheFappening subreddit (“subreddit” is the term that Reddit uses for “sub forum”).

Reddit’s initial response to this was minimal. They were clearly aware of it, they apparently set new traffic records thanks to people trying to view these photos, but they chose to not do anything about it. This has been Reddit’s modus operandi for its entire history – hiding behind weak “freedom of speech” arguments until the pressure becomes too much – for example, they refused to delete /r/underage (a child porn subreddit) until massive public outcry forced them. It wasn’t until it became apparent that some of the photos in “the fappening” were of underage celebrities that they actually started to delete them en masse, previously choosing to force the victims to submit DMCA requests to have them taken down. The DMCA is a fairly useless tool in this respect, as Reddit users would simply re-upload the photos to a new location, and re-post them.

In this case (unlike many other cases), the victims of “the fappening” are actually able to take action, as they can afford lawyers to force Reddit’s hand. Victims of /r/PhotoPlunder, a revenge porn subreddit, often cannot afford lawyers, or aren’t even aware that their private photos have been posted to a public forum. There are subreddits like /r/PicsOfDeadKids and /r/CuteFemaleCorpses, which, while not containing any illegal content, would clearly cause trauma for friends or families of the deceased.

Then there’s the plainly illegal content, such as /r/SexWithDogs and /r/BeatingWomen2, which contain exactly the content their names describe. Despite being made aware of such subreddits many times, Reddit’s leadership refuses to act on them.

So, what can you do?

If you’re a celebrity (and I know my little blog has many celebrity readers!), it’s likely that you’ve been approached by Reddit, or your publicist, to do an AMA (“Ask Me Anything”) thread. Until they change their policies, I’d encourage you to refuse all such requests. If Reddit will happily exploit your privacy for a few extra page views, why should you legitimize them?

If you’re a person who contributes to one of the many legitimate subreddits, perhaps it’s time to look for a new home for your contributions. The StackExchange network has many sites (both technical and non-technical) that reward experts for their contributions. If you’re after a creative outlet, there are many communities built up around writing, art, music, and every other creative activity you can think of! (If you have a favourite, post it in the comments!)

And if you just read Reddit for the entertainment on the front page, perhaps it’s time to reconsider supporting them with your clicks and page views. I promise you, there are many other sites that are willing to provide you with entertaining cat videos, without also implicitly supporting illegal or abusive behaviour. (For example, Fark have excellent policies, not allowing abusive or illegal content.)

Finally, remember that Reddit won’t be around forever. Just like Digg before them, something else will come up and become the new place for pop culture on the internet. With a bit of luck, you could be one of the people who get to influence the next big thing for the better.

Andrew Pollock: [life] Day 224: School information, play dates galore and swim class

Wed, 2014-09-10 23:25

Today was a very busy day. I think Zoe was pretty knackered by the end of it.

First up was the parent information session for kids starting at school next year. Jason had kindly agreed to look after Zoe for me, and even pick her up, so after a full night's sleep and a quick breakfast, she was picked up.

I then walked to the school in time for the information session to start. I'd already done a fair bit of research into the school, so most of the administrative stuff wasn't news for me. It was nice to get a bit more of an overview of the curriculum, though. I remain very happy with the school.

Next up was a play date at Vaeda's house. I picked Zoe and Megan up and we headed over there. I think that despite Zoe sleeping all night, her constant coughing had meant she hadn't had good quality of sleep, so she'd been a bit clumsy at Megan's house and hurt herself, and was generally a bit grumpy.

Zoe and Megan's friend Ivy was also at Vaeda's house, so the four girls were happy having a play together. They all got in the pool after lunch, but it was a bit cold. Zoe wasn't really keen on staying in, but the other girls were.

The trampoline was a big hit, as were all the dress ups. Unfortunately Zoe had a bit of a tumble in some high heels, and I briefly had visions of her splitting her head open on a wall corner again, but fortunately she didn't. She also narrowly managed to avoid losing an eye to a spinning fairy helicopter-like toy. Poor kid, it just wasn't her day today.

Vaeda had a tennis lesson to get to, so we headed off in time for her to get to that. As there was only about 45 minutes until Zoe's swim class, and Megan's was directly after Zoe's, I took the girls to the park for a bit, and then to the pool, and Jason met us there in for Megan's class.

Sarah finished work early, so picked up Zoe directly from the pool, and I headed home.

Somehow I managed to find enough fuel in the tank to do a 10 km run in the evening. The time was pretty dreadful, but I was happy I lasted the distance.

BlueHackers: Losing weight

Wed, 2014-09-10 19:39

Today I officially have begun trying to lose weight. Medications and poor lifestyle choices have put me at very.high risk of diabetes. I also have high cholesterol. Not good. I did 30 minutes of intense boxing exercise. Thanks Ben S. He’s my best man for my wedding and a friend for roughly 8 years.

Ben Martin: Getting a feel for Metapolator and Cascading Parameter Values

Wed, 2014-09-10 16:03


Metapolator is a new project for working on font families. It allows you to generate many fonts in a family from a few "master" cases. For example, you could have a normal font, modify it to create a rather bold version and then use metapolator to generate 10 shades on the line between normal and bold.



I have recently been reading up on metapolator and how to hack on it. So this post describes my limited understanding of what is a fairly young project. So warnings inline with that are in place; errors are my own, the code is the final arbitrator etc.



Much of the documentation of Metapolator involves the word Meta, so I'm going to drop it off this post as seeing it all the time removes its value in terms of semantic add.



At the core of all of this polating are parameters. For example, after importing a font and calling it "normal" you might assign a value of 100 to xheight. I am assuming that many of the spline points in the glyph (skeleton) can then be defined in terms of this xheight. So the top of the 'n' might be 0.95*xheight.



A system using much the same syntax as Cascading Style Sheets is available to allow parameter values to be set or updated. Because its parameters, its called CPS instead of CSS. So you might select a glyph like 'glyph#n' and then set its xheight to be 105 instead.It seems these selectors go right down to the individual point if that's interesting.



In order to understand the CPS system I decided to start modifying a basic example and trying to get specific values back out of the CPS system. The description of this is mainly to see if my playing around was somewhat along the lines of the intended use of the CPS system.



For this I use a very basic CPS



$ cat /tmp/basic.cps

 

* {

     label : 1234;

     xx    : 5;

}



glyph#y penstroke:i(0) point:i(0) {

     xx    : 6;

}



$ metapolator dev-playground-cps /tmp/basic.cps



The existing dev-playground-cps command makes its own fonts up so all you need is a CPS file that you want to apply to those fonts. In my case I'm using two new properties, the label and 'xx' which are of type string and number respectively.



A default value of 3 is assigned to xx for all points and each point and glyph get a unique label during setup.



I found it insightful to test the below with and without selectors that modify the 'xx' property in the CPS, and at both levels. That is, changing the xx:5 and xx:6 in the above CPS to be xxno1:5 and xxno2:6 and seeing what the below printed out. The xx.value makes the most sense to me, show me the default value (3) if nothing is set in any CPS to override it or show me what the CPS has set if it did any override for the point.



element = controller.query('master#heidi glyph#y penstroke:i(0) point:i(0)')

console.log('element:', element.particulars);

console.log('element:', element.label);

console.log('element:', element.xx);

computed = controller.getComputedStyle(element)

console.log('label: ' + computed.get('label'));

console.log('xx.base   : ' + computed.getCPSValue('xx'));

console.log('xx.updated: ' + computed.getCPS('xx'));

console.log('xx.value  : ' + (computed.getCPS('xx') ? computed.getCPS('xx') : computed.getCPSValue('xx')));



The above code is also pushed to a branch of my mp fork at cps.js#L213



I found that a little tinkering in StyleDict.js was needed to get things to operate how I'd expected which is most likely because I'm using it wrong^tm.

The main thing was changing getCPSValue to test for a local entry for a parameter before using the global default StyleDict.js#L93.



I might look at adding a way to apply a CPS to a named font and showing the resulting font as pretty json. For reference this will likely have value and valuebase showing the possibly CPS updated value and the value from the original font respectively.



linux.conf.au News: Astronomy Miniconf at Linux.conf.au 2015

Wed, 2014-09-10 14:28

The Linux.conf.au team are please to announce the Astronomy Miniconf will be part of the Linux.conf.au 2015 conference to be held in Auckland, New Zealand this coming January.

Linux and open source technologies are used extensively in large-scale astronomy projects within Australia/New Zealand and throughout the world, and to a lesser extent in amateur astronomy. The Astronomy Miniconf will be a one-day stream at LCA2015, focused on the use of Linux and open source technologies in astronomy. It will primarily focus on the technical aspects of large-scale professional astronomy projects, but will include sessions on topics of interest to amateur astronomers.

The Astronomy Miniconf programme will include presentations from New Zealand professional astronomers on Linux/open source aspects of their work, as well as from LCA2015 delegates who will present on their own open source astronomy projects. Most of the more technical sessions will be of interest to the full range of LCA2015 delegates, not just those with a particular interest in astronomy.

Last year's inaugural Astronomy Miniconf was well attended and widely considered successful by attendees and LCA2014 organisers. You can sample videos of presentations from last year's miniconf on youtube.

Jessica Smith is the 2015 Astronomy Miniconf organiser, and will be coordinating the CFP (call for papers) for the miniconf. Details of the Astronomy Miniconf CFP will be posted on the LCA2015 mailing list

Organiser: Jessica Smith

Twitter: @itgrrl





Linux Users of Victoria (LUV) Announce: Software Freedom Day Meeting

Wed, 2014-09-10 11:29
Start: Sep 20 2014 10:00 End: Sep 20 2014 16:00 Start: Sep 20 2014 10:00 End: Sep 20 2014 16:00 Location: 

Electron Workshop 31 Arden Street, North Melbourne.

Link:  http://www.sfd.org.au/melbourne/

There will not be a regular LUV Beginners workshop for the month of September. Instead, you're going to be in for a much bigger treat!

This month, OpenTechSchool Melbourne[1], along with Free Software Melbourne[2], Linux Users of Victoria[3] and Electron Workshop[4] are joining forces to bring you the local Software Freedom Day event for Melbourne.

The event will take place on Saturday 20th September between 10am and 4pm, and this year we have a new venue:

Electron Workshop

31 Arden Street, North Melbourne.

Map: http://www.sfd.org.au/melbourne/

LUV would like to acknowledge Red Hat for their help in obtaining the Buzzard Lecture Theatre venue and VPAC for hosting, and BENK Open Systems for their financial support of the Beginners Workshops

Linux Users of Victoria Inc., is an incorporated association, registration number A0040056C.

September 20, 2014 - 10:00

read more

BlueHackers: 7 Things You Shouldn

Wed, 2014-09-10 10:20

http://www.huffingtonpost.com/2014/02/17/things-not-to-say-to-some_n_4781182.html

If you’ve ever suffered from severe anxiety, you’re probably overly familiar with the control it can have over your life. And you’re not alone — it affects a sizeable percentage of the population.

Learning more about anxiety and stress can be really helpful.

Andrew Pollock: [life] Day 223: Kindergarten, a lot of running around and some startup stuff

Wed, 2014-09-10 09:25

Yesterday was a very busy day. Zoe had a great night's sleep in the top bunk, despite a persistent cough. It rained early in the morning, but it cleared before I had to take Zoe to Kindergarten on the bike. I left the trailer at the Kindergarten, and then biked to Morningside station to collect the car, where Anshu had left it before taking the train to the airport.

I put the bike on the back of the car and drove home to unload it, and then turned around and drove to the Valley for a meeting.

After the meeting, I spent a few hours studying for the next module of my real estate license course, and then popped out to run some errands.

After that I briefly dropped into a "look and see" for the new Thermomix TM5 that came out on Friday. Due to unfortunate timing, I need to make a decision on if I want to continue with being a Thermomix Consultant (and purchase a TM5). The TM5 was impressive, but I'd be perfectly happy sticking with my TM31 if I weren't looking to become a Consultant. I'm still mulling it over.

I then drove to Kindergarten for pick up and Zoe's tennis lesson. I'd remembered to bring some zip ties with me to repair the shadecloth that wrapped around the outside of the viewing area. It was very satisfying fixing that, because it was really annoying last week when it was windy.

After tennis, I loaded the bike trailer into the back of the car and we went home.

Zoe wanted to play "run around the house like a mad thing" for a bit once we got home, so we did that, and then I started on dinner while she watched some TV.

Zoe wanted to sleep in the top bunk again. It's funny how she just decided with no prompting to swap bunks.

Jeremy Visser: Configuring Windows for stable IPv6 addressing

Tue, 2014-09-09 19:00

By default, Windows will use randomised IPv6 addresses, rather than using stable EUI-64 addresses derived from the MAC address. This is great for privacy, but not so great for servers that need a stable address.

If you run an Exchange mail server, or need to be able to access the server remotely, you will want a stable IPv6 address assigned.

You may think this is possible simply by editing the NIC and setting a manual IPv6 address. Unfortunately this doesn’t work, as if your router has Router Advertisement enabled, you will still acquire a randomised address that will be used as your source address. It is obvious why I don’t need to explain why this is a problem for your Exchange server.

You can tell Windows to ignore Router Advertisements, but this is a bad idea. For example, many routers do not support changing their LAN IPv6 address and enforce EUI-64, making it hard to rely on a hardcoded gateway within the server settings should you ever need your router replaced.

So the criteria we want is:

  • Stable IPv6 address assigned to interface
  • No privacy or randomised addresses
  • Default gateway learned via Router Advertisement

To do this, run the following from an elevated command prompt:

netsh interface ipv6 set privacy state=disabled store=active netsh interface ipv6 set privacy state=disabled store=persistent netsh interface ipv6 set global randomizeidentifiers=disabled store=active netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

Why this is not the default on a server operating system is really beyond me. It’s not like anybody pointed DNS records towards a Windows server before.

linux.conf.au News: Open Radio Miniconf confirmed for Linux.conf.au 2015

Tue, 2014-09-09 18:27

The Linux.conf.au team are excited to announce the Open Radio Miniconf will be part of Linux.conf.au 2015 in Auckland, New Zealand this coming January.

Participants of the Miniconf will learn about Software Defined Radio, a little about RF and licensing, data encoding and open source radio software. then build, test and debug their very own Software Defined Radio using a low cost kit. The kit will cover reception of HF spectrum and allow transmission over short range.

The Miniconf will held on Monday the 12th of January and run by Kim Hawtin with assistance from Mark Jessop and David Rowe. All three are veterans of Linux.conf.au, they have many years of experience with Linux and Amateur Radio.



Linux.conf.au Miniconfs

Miniconfs are one day miniature conferences, within the main LCA2015 conference, which are targeted towards specific communities of interest and offer delegates an opportunity to network with other enthusiasts while immersing themselves in a specific topic or project.

LCA2015 miniconfs will be run on Monday 12th and Tuesday 13th of January 2015. Each miniconf's schedule is organised by the miniconf's organiser and will be published ahead of time, listing speakers and sessions for the day.

Chris Yeoh: Nova V2.1 API

Tue, 2014-09-09 16:26

Early in 2014 there was a very long discussion on the openstack-dev mailing list about the future of the Nova V3 API development. There were two main concerns. The first was the willingness and ability for users to port their applications from the V2 to the V3 API. The second was the the level of maintenance required to keep two Nova APIs up to date since it was becoming increasingly clear that we would not be able to deprecate the V2 API in only 2-4 cycles. As part of this discussion I wrote a document describing the problems with the V2 API and why the V3 API was developed. It also covered some ideas on how to minimise the dual maintenance overhead with supporting two REST APIs. This document describes most of the differences for clients between the V2 and V3 API.

During the Juno Design summit, the development cycle and the Nova mid cycle update there were further discussions around these ideas:

Not long after the community finally reached consensus on the first part of the work required to implement a V2.1 API which is implemented using the original V3 API code. The details of the work being carried out in Juno is described in the nova specification.

In short, from a client point of view, the V2.1 API looks exactly the same as the original V2 API with the following exceptions:

  • Strong input validation. In many cases the V2 API code does not verify properly the data passed to it. This can lead to clients sending data to the REST API which is silently ignored because there is a typo in the request. The V2.1 API primarily using jsonschema is very strict about the data it will accept and will reject the request if it receives bad data. Client applications will need to fixed before using the V2.1 API if they have been sending invalid data to Nova.
  • No XML support. The V2 XML API is not widely used and was marked as deprecated in Juno. The V2.1 API has no support for XML, only for JSON.

From an operator’s point of view:

  • The V2.1 API can be simultaneously deployed alongside the original V2 API code. By default the V2 API is exposed on /v2 and the V2.1 API on /v2.1/. This may make it easier for users to test and transition their applications over time rather than all at one time when the OpenStack software is upgraded. The V2.1 API is however not enabled by default in Juno.
  • The number of extensions has been reduced. A number of extensions in the original V2 code are dummy or minimalistic extensions which were only added because adding a new extension was the only way to signal to a client that new functionality is available. In these cases the V2.1/V3 API code removed the extra extension and incorporated the newer functionality into the original extension and enabled it by default. Note that from the perspective of clients they still see the extra extensions if the functionality is enabled. So no changes are required on the client side.

Because of the late acceptance of the V2.1 specification we have not been able to merge all of the required patches to implement the V2.1 API in Juno. However, there is support for most of the equivalent of the V2 API with the exception of networking. It is expected that the remaining patches will be completed soon after Kilo opens. I will cover the V2.1 work and discussions on how we plan on handling backwards incompatible API changes in a future article.

Chris Yeoh: Filtering calls with Asterisk

Tue, 2014-09-09 16:26

I mentioned on Google+ that I get Asterisk to filter my calls during times when it’s inconvenient to answer the phone and someone asked me to post the details. I’m definitely not an Asterisk expert so there’s probably a better way of doing this.

The PSTN line is answered through a SPA3102 and it is configured not to automatically make the phone on the FXS port ring on incoming calls. There is an option in the advanced settings on the PSTN Line tab on the SPA3102 web config interface that allows you to do this:

Ring Thru Line 1: No

The means that the phone on the FXS port does not ring at all unless the call gets through the filtering in Asterisk and Asterisk tells it to ring.

Below is the relevant excerpt from the extensions.conf file.

; Whitelist various phone numbers

exten => s,n,GotoIf($["${CALLERID(number)}" = "0403XXXXXX"]?ring-all-phones,s,1)

; Check to see if we want to block all calls currently

exten => s,n,GotoIf($[${DB(phonecontrol/state)} = "block"]?out_of_hours,1)

; Check to see if its the right time period to accept calls

exten => s,n,GotoIfTime(9:00-23:00|mon-fri|*|*?ring-all-phones,s,1)

exten => s,n,GotoIfTime(11:00-21:00|sat-sun|*|*?ring-all-phones,s,1)

; Check to see if we want to accept all calls regardless of the time

exten => s,n,GotoIf($[${DB(phonecontrol/state)} = "accept"]?ring-all-phones,s,1)

exten => s,n,Goto(out_of_hours,1)

; Message about not accepting calls

exten => out_of_hours,1,Background(custom/out_of_hours)

exten => out_of_hours,n,WaitExten(5)

exten => out_of_hours,n,Goto(1)

; Ring phone anyway (1)

exten => 1,1,Goto(ring-all-phones,s,1)

; Leave voicemail (2)

exten => 2,1,VoiceMail(3000@default,u)

exten => 2,n,Hangup

The DB entry for phonecontrol/state which is controls whether or not I want to override whether calls are accepted or not is toggled through a web interface.

Chris Yeoh: Controlling the house lighting via MQTT

Tue, 2014-09-09 16:26

The lights and some other electrical devices in our new house are controlled by a C-Bus system. Essentially this means that rather than the light switches switching the power to the lights directly, they instead sit on a bus which is connected up to relays which control the power to individual lights. This makes it easy to have smart switches which can control multiple lights and a do a series of tasks (eg dim some lights, pull down a projector screen etc). The most interesting part for me is that when we had the C-Bus system installed is also had an ethernet interface module for the system installed so we can talk to it directly from any of our other computers.

C-Gate is a program which mediates access to the C-Bus interface so multiple programs can access it simultaneously, and fortunately although it was written for windows it’s written in java and runs ok on Linux. The input/output format is not particularly nice for programmatic control, and I ended up writing some scripts that allow for synchronisation of the state between the C-Gate server and an MQTT server.

I already use MQTT as a mechanism to communicate data about power usage in the house. Incidentally I’m also now using the Open Source implementation of MQTT, Mosquitto which for me has been just a drop in replacement of a proprietary version. MQTT can provide a nice uniform interface for apps which insulates them from the details of how data is transferred to and from backend systems. It avoids a bunch of work when the backends change.

I have one perl script which listens for state changes (for example caused by someone pressing a physical light switch) from the C-Bus system and updates the state in MQTT under a simple hierarchy:



lights/<light_num>/state

And another one which listens for changes in a similar hierarchy in MQTT and sends those changes to the C-Bus system:



lights/<light_num>/set_state

The same hierarchy is not used for both to reduce the problem of race conditions and loops occurring. Light numbers are defined in the physical C-Bus setup.

This makes command line control of the lights very straightforward (as long as you know what number a light has been assigned):



mosquitto_pub -h stitch -t lights/<light_num>/set_state -m 255

but I wanted something a bit more user-friendly. So using a bit of javascript, php and a very useful, but slightly hacked version of phpMQTT, I put together a dodgy web page which shows the state of all the lights and exhaust fans in the house as well as allowing us to control them.

So what’s next on the list to work on?

  • Display the state of the lights and allow control of them through an image of the floorplan of the house
  • Add other inputs such as water and gas usage, which computers are currently on and being used, alarm sensors etc into MQTT
  • Add temperature and humidity sensors in all the rooms in the house as well as outside
  • Experiment with little agent programs that sit around monitoring the data from the MQTT server and try to do smart things – eg warn us when we leave lights or appliances on, perhaps even proactively turn them off, warn us when there has been an unusual pattern of electricity/gas/water usage, open windows when its too hot inside and the temperature outside has dropped below the inside temperature, etc

Chris Yeoh: W510 & Ubuntu Lucid 10.04.1

Tue, 2014-09-09 16:26

My work laptop was upgraded to a Lenovo W510 recently, replacing a 3 year old T60p. The setup and install of Ubuntu 10.04.1 was fairly straightforward, just a couple of problems:

  • ureadahead package needs to be upgraded to a version in lucid-proposed. Otherwise it will randomly OOM on boot and fail to start
  • For suspend to work have to both:

So far seems like a pretty fast machine – 4 cores (8 with HT). Should be a big improvement on the T60p.

    An of course a new laptop requires new stickers (thanks Sarah!)

    Chris Yeoh: Wireless Ambient Orb

    Tue, 2014-09-09 16:26

    I’ve been tracking our household electricity usage live for a while. We have an LCD display but its not something that we remember to check very often to make sure that everything that should be turned off is off.

    I noticed some cheap rgb led strips on deal extreme and thought I’d make my own ambient orb. I dug out an old arduino I wasn’t using and found some information from this site on how to control the strip using a darlington array. I added a perl script to bridge between the microbroker which receives the power usage information and translates it to a color for the ambient orb to display.

    At what is our normal minimum power usage the orb glows blue and as the power usage increases turns green, yellow, orange, and then red. This makes it pretty easy to see at a glance when leaving the house or going to bed if the household power usage is about right. After a bit of testing I added purple at the end for when Kelly turns on the kettle and the toaster at the same time

    I’ve been interested in playing with xbees for a while, so rather than get a 802.11b wifi shield for communication I bought an arduino xbee shield and a couple of xbees. It turned out pretty easy to setup the xbees and I think I’ll end up with a little mesh network at home with both sensors and display devices like ambient orbs.

    I found some really cheap giant usb driven plastic keys on ebay. It just lights up with a white color when pressed but was easy to disassemble and put the led strips and arduino inside instead.

    The white plastic does a better job of diffusing the led light than in the photo above.

    Now Kelly wants an orb of her own, so I’m helping her make a smaller and cheaper version using an Arduino Pro Mini 328 instead of an Arduino Duemilanove.