Planet Linux Australia
When: Thursday, May 16th, 18:00 for an 18:30 start
Where: 69 Liverpool St, Hobart. (Map)
- 18:00 - early mingle, chin wagging, etc
- 18:30 - Question and answer session, plus any lightening talks
- 19:00 - I Like Your Old Window Manager Better Than Your New One
Byobu: Scott Bragg
Byobu is a GPLv3 open source text-based window manager and terminal multiplexer. It was originally designed to provide elegant enhancements to the otherwise functional, plain, practical GNU Screen, for the Ubuntu server distribution. Byobu now includes an enhanced profiles, convenient keybindings, configuration utilities, and toggle-able system status notifications for both the GNU Screen window manager and the more modern Tmux terminal multiplexer, and works on most Linux, BSD, and Mac distributions.
Enlightenment 0.17: Craige McWhirter
Enlightenment is not just a window manager for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager. It covers uses from small mobile devices like phones (like Samsung's Android competitor, Bada) all the way to powerful multi-core desktops (which are the primary development environment).
Whilst there's no other planned speakers, everyones got an opinion (Unity? GNOME3?) so I think there's plenty of meat for other discussion.
- 20:00 - Meeting end. Many people go to the Brunswick for dinner.
25th - Launceston meeting
20th - Julius Roberts: All Your Computers Are Belong to Ansible
22nd - Launceston meeting
5-7th - PyCon Australia, hosted in Hobart.
18th - 18th - WE NEED A TALK REQUEST OR OFFER
Voltaic was a nice place, but Tillon preferred Jaédeen, his birthplace. He missed the gardens and the architecture. Tillon often daydreamed about Jaédeen. His customers sometimes walked in to find him thinking not of his wares and how many quiln to sell them for, but staring into space with a faraway look in his eyes. They would promptly ring the brass attendance bell to grab his attention. “Out on the Duilon Sea again are we?” Inquired Slavando. “mmneh? what?” came Tillon’s reply. “So are you gonna sell this to me for 45 quiln or what?” “Oh yeah right the pack of heglo-spice… I’d rather sell it for 50.” Tillon replied. Slavando was of medium height with rather long legs and a short, slightly roundish torso. His face was that of a high-ranking businessman with a moustache and a fast mind. “46.” came the short reply “49.” Tillon suggested, not wanting to lose this item for much less. “47 and that’s as high as I’m willing to go.” after considering this for a moment Tillon said “deal.” and Slavando took the small pack of heglo-spice and paid the 47 quiln. “pleasure doing business with you.” Tillon complimented as Slavando walked out of his store. Then noticing the time promptly switched the sign on his door to “closed” and started sweeping and cleaning the shelves, then settling down in a chair counted up the day’s earnings. 165 weiln and 34 quiln was the total. “not bad.” Tillon thought aloud. Then, after finishing his felldrove-fruit soup, plodded gently to bed.
The next morning he once again awoke with the strong urge to be in Jaédeen. ‘That’s it’ he thought. ‘I’m tired of this constant daydreaming. Jaédeen is the place for me, not voltaic’ his thoughts continued. After hunting around for a reasonable service he decided to sell his little corner shop. He had already made plans in Jaédeen, just in case. He got a reasonable 12 gillienti and 800 weiln for it. Tillon then counted up his total money, 20 gillenti, 793 weiln and 85 quiln. He spent 150 weiln in total in supplies, including a pop-up tent made from high-quality blowhort hide, a water-sack, traveller’s boots and a magic tinderbox that contained, when opened, an everlasting flame. Tillon often marvelled at how wizards and witches could use such spells. The best he could do was purify water using a basic spell. “Hayo! Tillon! where are you off to this fine mornin’?” came Hectolo’s voice from somewhere down the road. “I’m off to Jaédeen due to a severely annoying habit of daydreaming about it non-stop.” Tillon replied. “Oh going adventuring are we?” “Kinda, but not quite. y’see I’m planning on moving to Jaédeen and making a living there.” “okay c’ya buddy! good luck on your adventures!” Hectolo then departed to areas unknown to Tillon. It was roughly noon when Tillon set out toward Voltaic’s front gate. it was located roughly north of Tillon’s old corner shop and wasn’t too far away. Tillon walked out of the gate after saying goodbye to the few friends he had made in Voltaic. He walked for the first 30 minutes down the main roadway, guided by a signpost that pointed the direction to Jaédeen and the 86km distance to it. The afternoon was, as things go, uneventful. Then at dusk he decided to set up camp off in an allocated traveller’s camp-site about 2km from Voltaic. he threw the tent on the ground, uttered the words that the box told him to and the tent magically popped up into place. He then used the magic tinderbox to light the pile of firewood that he had acquired from the pile in the centre of the camp-site. It emitted a blue flame which lit the firewood ablaze almost instantly. Tillon then proceeded to cook his deorr-steaks over the warm, red fire.
The following day at sunrise he buried the ashes of his former camp-fire and set off again heading south east towards Jaédeen. He went a considerable distance before encountering any people. then as he passed the intersection to An’ dunal, a major fishing hub, the number of people and deggle-drawn carts increased dramatically. “Hayo! sir! yes you the one with the green shirt. could you offer me a lift please?” Tillon asked a kind-looking man. “Ok… where you planning on going?” “In the long term I’m going to Jaédeen but it’ll be nice if you could give me a lift to Gemalia. I’ll be grateful if you do.” “sure thing! I’m actually going to Gemalia m’self.” “Bing-dandy! thanks, oh and what is your name?” “Gernando’s the name. what’s yours?” “Mine’s Tillon” “Ok, pleased to meet you! welcome aboard!” “thanks Tillon said stepping up into the carriage. it was a medium sized one with a few sacks of fruit on it and a storage chest for necessities. “I only have 2 rules here” Gernando stated to Tillon. “1 no swindling my stock. 2 I wont supply you with food, shelter, etcetera etcetera, so don’t ask for stuff.” “Seems reasonable.” Replied Tillon.
The day passed and night fell like a dark blanket once again. Tillon and Gernando had become acquainted with each-other and set up camp by the side of the road under the shade of a broad-leafed tree that Tillon could not identify. they set up the camp-fire away from the tree and Gernando’s deggles. “goodnight Gernando!” Tillon called from his tent before he fell asleep “Goodnight!” came the reply. A little while later Tillon awoke to a rustling sound on the outside of his tent. He assumed that it was just the wind blowing a tuft of grass against the side of his tent then the rustling came again, even louder this time. Feeling a bit frightened he undid the front of his tent and looked out. Tillon saw nothing abnormal excepting a metallic glint in the grass. Out of curiosity he reached for it and found that it was a sword with a fancy design on the guards, a soft handle made of some sort of smooth hide and an emerald sitting in the bottom-middle of the blade. Tillon sat there in stunned silence, holding the sword in both hands. He decided to put it in his tent and examine it in detail the next day.
The Example storage engine is meant to serve mainly as a code example of the stub of a storage engine for example purposes only (or so the code comment at the start of ha_example.cc reads). In reality however, it’s not very useful. It likely was back in 2004 when it could be used as a starting point for starting some simple new engines (my guess would be that more than a few of the simpler engines started from ha_example.cc).
The sad reality is the complexity of the non-obviousness of the bits o the storage engine API you actually care about are documented in ha_ndbcluster.cc, ha_myisam.cc and ha_innodb.cc. If you’re doing something that isn’t already done by one of those three engines: good luck.
Whenever I looked at ha_example.cc I always wished there was something more behind it… basically hoping that InnoDB would get a better and cleaner API with the server and would use that rather than the layering violations it has to do the interesting stuff.
That all being said, as a starting point, it probably helped spawn at least a dozen storage engines.
Researchers found something relevant to people with depression while working on something else (original article at Independent.co.uk, tnx Andrew for the link).
In a nutshell, what they found was that people with severe depression had their body clock out of whack: they were essentially living in a different timezone. I don’t think it’s actually news to us, I wrote about this and it being the equivalent of jetlag in the BlueHackers HowTo. But, I do think it’s interesting in the sense that at least in the cases the researchers encountered, for people with severe depression there was a genetic cause. We like to know why things are the way they are, so this new info can help in that respect.
Modern life, in particular with the type of work many of us do, makes it really easy to stuff up your day and night rhythm, and also your eating pattern which is actually related to this as well. Getting your day/night, daylight and food intake patterns right is generally a very important base. Not for everybody, but I think definitely for most of us. And while some of these things might still be hard for some, they’re relatively easy steps compared to others. It’s worth a try and they’re also specifically things you can get external help with – you can get a friend to come by for a walk at a specific time of day, or go get a meal.
Once the new pattern is trained (can take up to three months but often it’s much sooner) you’ll find it much easier to stick to, and also that other tasks become easier.
Mind you, I’m very aware that this is still easier said than done – I have my own company arranged in such a way that it doesn’t create nasty work hours, but I also have a family and thus in the mayhem (or even just because of the weather) I sometimes lose (some of) the pattern for a while. But, I’m now aware of it and that does make a difference already – it’s easier to fix. Typically my food pattern stays ok, but the morning walk loses out (by the way, it may be an afternoon walk that works best for you).
Do you know what’s messed with my morning walk lately? The city council has closed off a footbridge crossing a creek (storm damage), and that was the only way through in that particular direction. I can create other walking loops but they’re less convenient for several reasons – I’ve walked some but it feels less comfortable. I’m generally ok with change but it’s funny how this is just very disruptive!
How do day/night, exercise and food patterns work for you, and how have you tweaked them to work better for you? Please tell, it will help others.
This is a little note for anyone trying to get some debugging out of the puppetmaster when deploying with Foreman.
The trick, much as it is, is that Foreman is running puppet via Apache; so if you're trying to start a puppet master daemon outside that it won't be able to bind to port 8140. You thus want to edit the config file Apache is using to launch puppet /etc/puppet/rack/config.ru. It's probably pretty obvious what's happening when you look in there; simply addARGV << "--debug"
and you will start to get debugging output. One issue is that this goes to syslog (/var/log/messages) by default and is a lot of output; so much so that it might get throttled. Although you can certainly reconfigure your syslog daemon to split out puppet logs, an easier way is to just skip syslog while you're debugging. Don't be fooled by config options; simply addARGV << "--logdest" << "/var/log/puppet/puppet-master.debug"
to the same file to get the logs going to a separate file. Don't forget to restart Apache so the changes stick.
- When using HDMI, the picture is overscanned. In other words, they think that the digital signal is like an analog signal, and might not be synced correctly, so they expand the picture up.
- When using VGA, the monitor reports no EDID.
The new paradigm now is that the kernel sets the monitor resolution and X is basically a client application to use it. This solves a lot of problems for most people, but unfortunately the kernel doesn't really handle the situation when the monitor doesn't actually respond with a valid EDID. More unfortunately, this actually happens in numerous situations - dodgy monitors and dodgy KVM switches being two obvious ones.
It turns out, however, that there is a workaround. You can tell the kernel that you have a (made-up) EDID block to load that it's going to pretend came from the monitor. To do this, you have to generate an EDID block - handily explained in the Kernel documentation - which requires grabbing the kernel source code and Making the files in the Documentation/EDID directory. Then put the required file, say 1920x1080.bin, in a new directory /lib/firmware/edid, and add the parameter "drm_kms_helper.edid_firmware=edid/1920x1080.bin" to your kernel boot line in GRUB, and away you go.
Well, nearly. Because the monitor literally does not respond, rather than responding with something useless, the kernel doesn't turn that display on (because, after all, not responding is also what the HDMI and DVI ports are also doing, because nothing is plugged into them). So you also have to tell the kernel that you really do have a monitor there, by also including the parameter "video=VGA-1:e" on the kernel boot line as well.
Once you've done that, you're good to go. Thank you to the people at OSADL for documenting this. Domestic harmony at PaulWay Central is now restored.
I would like to suggest that the word “unprofessional” be struck from the dictionary – and anyone who uses it struck with a dictionary. It is a word which conveys no useful information or proposal for action, and is thus nothing but meaningless noise.
The purpose of communication is to adjust another person’s process of cognition. I’ve heard it said that “all communication is persuasion”, which is quite true – you’re trying to persuade someone to change what they think. We can consider the intention and effectiveness of an attempt to communicate in this light.
What is someone trying to achieve when they label a person or behaviour “unprofessional”? If we’re being charitable, we would probably say that they’re trying to highlight that something is bad, or could be better. However, just stamping our foot and saying “bad!” isn’t enough – it’s also important to provide some information that the recipient can act upon.
The problem with the word “unprofessional” is that it really isn’t specific enough on the subject of “what is wrong”. Have you ever had someone say something like, “your behaviour yesterday was really unprofessional”? They’re assuming you know what they’re talking about – and you might well have a reasonable guess – but what if you guess wrong? Should you never do anything you did yesterday, just in case that particular thing was unprofessional?
When I’ve caught myself thinking, “that was unprofessional”, of my own behaviour, or someone else’s, I think about what caused me to think that. Once I drill down into it, I usually come to the conclusion that what I really meant was, “I don’t like that”. Since I’m not paid to like things, that’s pretty much irrelevant as a reason to tell someone not to do something.
On the occasions when I come up with something more concrete, it is invariably a more useful expression than “unprofessional”. Things like, “it frustrates the customer”, or “it pisses off the person sitting in the next cube” are a much better expression of why something is bad than “unprofessional”.
I’d encourage everyone to keep a careful watch over themselves and those around them for use of the word. When you catch yourself saying it (or thinking it), examine your motives more closely. Whatever the more specific adjective is, use that instead. If it just comes down to “I don’t like that”, at the very least say that to the person you’re talking to. Don’t try and hang anything grandiose on your personal prejudices. You might come off as being petty, but at least you’ll be honest.
At a party when some bore says that compact fluorescent lamps use more energy across their lifetime than incandescent lamps. I wasn't going to argue with someone with such a startling lack of economic thinking, but the view seems surprisingly widespread.
Let's start simply. After purchase the fluorescent uses 8W, the incandescent uses 60W. The fluorescent lasts longer than the incandescent. So the fluorescent uses less energy after purchase.
Prior to purchase the more complex fluorescent is going to use more energy to manufacture, but how much more? Well, energy isn't a free resource, so in a free market the energy used to create the good is included in the price of the good. So, the fluorescent uses less than $3 in energy, the incandescent less than $0.10. So the fluorescent has to save $2.90 across its operating life to make up for the additional energy taken to create it, which it does.
That leaves us with two externalities. Pollution generated during the manufacture of the fluorescent and pollution generated by the disposal of the fluorescent. My guess, for which I have no proof, is that the costs to the community of these two externalities do not differ by 30x between the incandescent and the fluorescent, which is what it would take to change the superiority of the fluorescent.
Updated: spelling corrected
It had to happen and it finally has. RIAA are suing an individual for copying a track from a CD they bought to a PC. The legal uncertainty which allows this to happen is the downside of the fair use approach to copyright legislation, which lists principles of when the reproduction of works is allowed without a license.
What we have in Australia is fair dealing, a black letter law where each exemption from obtaining a copyright license is clearly defined. Making one copy of a CD track to place on your MP3 player is one of the actions listed.
Anyone who has used iTunes will notice the drafting error -- "one copy". iTunes makes two copies -- one is stored on the computer and one is stored on the iPod. Everyone who uses iTunes to copy CD tracks are breaching copyright. You need to rip the track directly to the MP3 player, something iTunes does not allow.
All of this is particularly ironic, since iTunes works the way it does to limit unauthorised music copying. If you use your iPod like a USB disk to copy tracks from your friends iPods then iTunes deletes those tracks when you reconnect the iPod back at home.
The Australian Copyright Act is also deficient because it fails to acknowledge that many CDs are shared property -- belonging to a household rather than to an individual. If a mother and daughter both rip the same CD then one of them has broken the law. Makes you wonder about the private life of politicans, who use the words "family friendly" but can't imagine how their legislation might translate to actions within the home (are we expected to put stickers on CDs saying "E ripped this -- hands off"?).
I think the small reforms to the Copyright Act concerning MP3 players were designed to prevent a community backlash when an organisation like MIPI prosecutes some unfortunate individual. Unfortunately, these two drafting errors leave the MIPIs of this world plenty of scope to generate embarrasment for politicans and ruin for individuals.
New Hampshire gasoline: US$3.00 per US gallon, which is $A0.90 per litre. Adelaide petrol: A$1.42 per litre.
One of the greatest political writers in the country has been writing for his local newspaper. Poltical corrections. He's never been very impressed by John Howard, treasurer or prime minister. Nor Peter Costello:
But if Howard was wrong about most things, he at least got Peter Costello right.
For eleven years the man sat their drooling, lusting after the leadership of his party, talking up a storm to his credulous colleagues, plotting with sycophants, sending out his dwarfish messenger Glenn Milne to relate improbable stories of his talent and support. He never actually had the guts to do anything about it, but by golly he let it be known that when the opportunity came, he would show us all.
And when his party was not only ready to offer him the prize, was indeed in real need of his services, Costello spat the dummy right out of the ground. Prime Minister, with all the trappings of office and all the resources of government, would be just fine; but leader of the opposition, the challenge Kevin Rudd took on at precisely Costello’s age before sweeping to victory in less than a year, looked just a little too much like hard work. Poor Petey-pie, too old at fifty, too lazy at any time.
Mungo's skill is to take what we all know, but to write it out so clearly that it seems new.
It all looks so easy, fill in a structure of the packets you want to see:memset(&helper, 0, sizeof(struct nf_conntrack_helper)); /* Information about this conntrack module. */ helper.name = "skinny"; helper.me = THIS_MODULE; helper.help = skinny_conntrack_helper; helper.max_expected = 1; helper.timeout = 0; /* Send all Skinny packets to this conntrack module. */ helper.tuple.src.l3num = AF_INET; helper.tuple.dst.protonum = IPPROTO_TCP; helper.tuple.dst.u.tcp.port = htons(2000);
and then kick it offret = nf_conntrack_helper_register(&helper);
Now skinny_conntrack_helper() should be called for each TCP packet on port 2000. But it's not, it's called for almost anything but. The registration comes with a mask option, so I use that too, even though little of the kernel conntrack modules use masks (if so, how do they work? Do they work?)helper.mask.dst.protonum = 0xff; helper.mask.src.l3num = 0xffff; helper.mask.dst.u.tcp.port = __constant_htons(0xffff);
No difference. Sigh. I'd love some up-to-date documentation at this point. But that appears to be too much to hope for. "Use the code Luke" is just confusion, since practice there seems contradictory. And I've wasted a whole evening over this, sigh.
Having used Cisco Systems' code in my examples at the IPv6 Summit some people think I am anti-Cisco or something. That's absolutely not so. The reason I used their code was simply because I know and trust them.
I know that they hate having shortcomings in their software and that the LART will be wielded internally to make those go away.
I trust them that I can point these out in a public forum without Cisco people becoming upset. They have been in the industry long enough to know that not everything works as you would hope.
I could name manufacturers where neither of these points apply. Vendors whose name I would hesitate to name in public, whose configuration extracts I would never use in a public forum. [And no, I don't mean J or F]
Cisco are remarkably open, something they get far too little credit for. The networking world is full of manufacturers who have password-protected access to basics like documentation; who don't give customers access to bug databases; who monitor forums and delete threads that are the least bit critical.
That behaviour has set a good benchmark for their major competitors too. Juniper's early restriction of access to manuals and other materials has been removed and the access pretty much parallels that of Cisco's web site.
I do wish Cisco would hire some decent mechanical engineers. Yes, I know they left and went to Juniper, but you've had a few years now to recruit some more.
Had a ECC error on a 6509-NEBS card, these are sticky errors and the card needs a power restart to get rid of them (and thus determine if they are random or not). Any other manufacturer I could drop the power to the card from the command line, but Cisco are "friendlier" to enterprise customers than that and I need to physically eject the card.
When I reinsert it the box reboots. WTF! Turns out this is a known flaw in the chassis design -- push the top end of the card in first. Nowhere is this mentioned in the documentation. Nor was it pointed out by the Technical Assistance Centre staffer who asked for the card to be reinserted -- rather that person was upset that I'd kept the task open whilst arranging a 3AM slot for hazardous work, saying that it was risk free and could be done at any time. [This is typical behaviour for the TAC, they get a task into Customer-Pend as quickly as possible under almost any pretext; then they try to close it within a few days, no matter what the actual state on the ground.] Hmmm.
Rang the TAC manager to bitch. They simply aren't interested. Cisco staff seem to think that a spontaneous reboot on a physical event isn't unreasonable. Very much like the early days of Windows when people came to ignore operating system crashes as just part of the whole computing experience rather than as an engineering failure.
Tim wonders why university staff are nearly all left wing. Take a person, they do a job helping others and the community when they could be making money (in my field the salary of a uni lecture is about half the going rate of the same expertise applied to business). That role naturally attracts people with left wing beliefs of the greater good of the nation.
The AFL runs a football programme for kids. If you have a (a) 6 year old or (b) girl then don't bother. If you (a) and (b) then take her to netball instead.
This isn't about the qualities of the respective sports. I'm sure aussie rules could be adapted to young kids. This is about the aims of the sport's administrators and the quality of the events.
AusKick claims to have a programme for 6yos: that's a lie, they can go to training but can't play a game. Really motivating that! The training is a farce, the 6yos run around with 10yos; that is, small kids running with kids twice their speed and with a much better tactical sense. The small kids never get a look in.
Netball has teams by age: 6yo kids play 6yo kids. Yes, they are all hopeless. But they all get a chance to play and the nature of the game is that every position has to pass the ball. The emphasis of the coaches is that everyone gets to participate, everyone contributes as best they can.
I think the difference in the experince of the small kids comes straight from the aims of the adminstrators. The AFL is not interested in 6yos and it's not interested in girls -- it is the richest sport in Australia but also the only sport in Australia without a national women's competition. Netball's adminstrators just want to have kids playing the game. And this difference shows on the sportground on a weekday afternoon.
Writing the slides for the IPv6 summit where I detail AARNet's IPv6 rollout. As part of that I tested a great deal of equipment and thought I'd share the results.
That's not going to happen, since it runs too great a risk of defamation. Our lawyer says that relying on a defence of truth isn't really practical. Even if I give the hardware and software versions tested (and what a drag that would be on a 30 minute presentation), those facts must imply the manufacturer's wider support for IPv6 and, arguably, that impression could be misleading.
There was a recent case where a restuarant review in a major newspaper was found to be defaminatory and this has considerably increased the risk of review-like activities.
Of course, you don't pay lawyers to tell you the law, you pay them to find a way through the law. So I'll be presenting test and evaluation criteria that listeners can run on equipment they intend to buy.
This has to be the second-most misunderstood statement. Here's how it works.
Each routing process maintains its own routing table. So there is a table for BGP, a table for OSPF, a table for RIP, a table for static routes, a table for routes to connected interfaces and so on.
There is a forwarding table. This determines the next-hop of packets flowing through the router.
Entries in the routing table are placed into the forwarding table. If two routes clash then the routing protocol with the better "administrative distance" wins: connected > static > exterior routes > interior routes.
Entries in the forwarding table are placed in a routing table is there is an exactly matching "network" statement in the routing process's configuration and the entry in the forwarding table wasn't put there by this routing process.
Let's take the trivial case, a connected interfaceinterface Ethernet0 ip address 22.214.171.124 255.255.255.0 router ospf 65000 network 126.96.36.199 0.0.0.255
You often see thisip route 188.8.131.52 0.0.0.255 184.108.40.206 router ospf 65000 redistribute static Don't do that, do this: ip route 220.127.116.11 0.0.0.255 18.104.22.168 router ospf 65000 network 22.214.171.124 0.0.0.255
Getting rid of the "redistribute" statement removes a common cause of routing loops. "Redistribute" should really be a hidden command, it's only useful for people who know what they are doing.
Rudd, Howard just love "committed". But what of their own money are they putting forward? Usually, when a political movement is committed to something it does need to achieve government to start work. Movements opposed to poverty open soup kitchens, movements wanting more housing for the poor build houses for the poor.
Both political parties are "committed" to solving the disrace of Aboriginal living conditions. But neither party is paying for a single house or a single doctor, neither party has a single volunteer on the ground. You'll forgive me when I doubt people's commitment who are unwilling to put their own skin into the game.
Political parties have excellent fund raising teams, good management, many volunteers. The only reason they have failed to be an agent of change of their own accord is that they don't want change -- they simply want power.