Planet Linux Australia

Syndicate content
Planet Linux Australia - http://planet.linux.org.au
Updated: 7 min 29 sec ago

Sridhar Dhanapalan: Twitter posts: 2014-06-09 to 2014-06-15

Mon, 2014-06-16 00:27

Robert Thomson: Krita on Kickstarter

Sun, 2014-06-15 19:34

My digital drawing & painting program of choice these days is the open source software, Krita. It’s got great brush engines, works fantastically with my Wacom tablet under Linux (my primary criteria), and they also recently launched a well supported Windows version.

They recently started a Kickstarter campaign to fund some full-time developers who’ve already made significant contributions to the project.

If you haven’t seen it before, check out: http://www.krita.org/

If you’re interested in supporting its development: https://www.kickstarter.com/projects/krita/krita-open-source-digital-painting-accelerate-deve/

David Rowe: SmartMic Prototype PCB Ready for Manufacture

Sun, 2014-06-15 10:30

Over the past few weeks Rick Barnich KA8BMA has been doing some fine work on the schematic and PCB design for SmartMic. Yesterday Rick and I had a PCB and schematic review meeting over Skype, and Rick is now working on a few small changes. The PCB board layout will go in for manufacture this week by my good friend Edwin Chen from Dragino. I plan to be soldering the first prototype in early July.

Here is the current schematic, it would be helpful to have some more eyes on it to see if we have missed anything!

The design is now just 90 x 65 mm, so I feel we have achieved our PTT hand-held microphone form factor requirement. As the connectors are at either end of the PCB, it can also be mounted in a small box. Rick and his son are working on a 3D printed enclosure for the prototypes, we are undecided on the final enclosure.

Here is an image of the PCB, note the mechanical details showing the connector locations. Click for a larger version.

From my side I’m working on squeezing the FDMDV modem into the STM32F4 micro-controller. The main issue is run time memory, the high over sampling rate (M=160) means we are using too much RAM. No matter, I’ll re-arrange a few loops and trim that down a bit.

Andrew Pollock: [life] Day 135: Kinderballet, a trip to the Sciencecentre and Kindy disco

Sat, 2014-06-14 18:26

Wow, yesterday was a full day. I didn't have the energy to write it up until today.

Zoe woke up at 5am for reasons unknown. She snoozed with me for about an hour at 6am, so I think I got a bit of a snooze in there as well.

I had another package to pick up from the post office and another errand to run on the way to Kinderballet. This time we made it to Kinderballet nice and early.

I didn't have a lot to get done during Kinderballet, and I hadn't bothered to bring my book, so it was nice to have a little bit of time to just goof off on the Internet on my phone.

After Kinderballet, we went directly to the Hawthorne ferry terminal. Parking was dreadful, but we managed to snag a park that wasn't too much of a walk to the ferry.

Eva and Layla, and their Mum, Tanya, met us there about 10 minutes later, and we all took the CityCat over to Southbank.

It was pretty much lunch time by the time we arrived at the museum, so after I'd renewed our Sciencecentre annual membership (which sadly from an efficiency stand point was more a case of taking out a whole new one all over again), we went to the cafe and had lunch.

After lunch, we made our way to the Sciencecentre, with a brief detour through the museum. The girls all had fun in the Sciencecentre.

I had to pick up my race pack for the City2South after we were done, so we went via the Convention Centre on the way back to the CityCat. I actually learned that the Convention Centre and the Exhibition Centre are two separate things, with one being accessible from Grey Street and the other (the one I needed to be at) being accessible from Merivale Street, which was more of a walk away. I left Zoe with Tanya and the girls while I hurried over.

The cunning marketers had made it so you had to take the walk of shame through the free "lifestyle expo" they were holding before your timing bib was activated, so that further dragged out the whole process by a couple of minutes while I scurried through the expo.

I got back to the girls and we made our way back to the CityCat, narrowly missed a one by about 20 metres. It was certainly an exercise in cat herding with the three girls.

By the time we got back to Hawthorne, it was 4:30pm, and we were supposed to be at Zoe's Kindergarten disco by 5pm. We hurried home, rendezvoused with Anshu, did a quick change, and then hurried over to Norman Park State School where the disco was.

I'd volunteered to help out with the running of the disco, and was in charge of collecting the $5 entry fee from families. At some stage Sarah arrived, so I handed off Zoe to her and they spent most of the time in the disco itself, after we all had some pizza outside the hall.

I did manage to poke my head in at the wrong time and get volunteered by the DJ to be one of the parents on stage leading the Macarena. I can't say I've voluntarily done the Macarena before...

It was a fun night, and Zoe enjoyed herself. I was able to do a lot of preemptive packing up while the disco was still going on, and everyone left before the advertised 7:30pm finishing time. Anshu and I were out of there by 7:20pm, and we went over to visit my Mum in hospital.

I was well and truly wrecked by the time we got to bed. It was a long and busy day.

Andrew Pollock: [life] I have new respect for the humble cup of coffee

Sat, 2014-06-14 18:26

This morning I did a three hour barista course with Barista Basics. I'd found them in my Entertainment Book with a 25% discount coupon.

At one point I had a crazy business idea that revolved around coffee, so I thought I'd find out a bit more about making it. Google was littered with fancy espresso machines that I'd never known how to use, and I was never much of a coffee drinker anyway, but now I wish I'd at least known how to use the machines that were freely at my disposal. Oh well.

It was a really great course, and I didn't have time to even check the clock until we had 30 minutes left. I have a lot of respect for baristas now, and what they have to juggle to crank out coffee orders. The course was lots of fun, and I really wish I could get some more time on an espresso machine now!

David Rowe: Fluksometer Update

Sat, 2014-06-14 14:29

Hello, I am David’s 18 year old daughter, Amy. Some of you may remember me as the girl who’s father busted her teenage party using an energy monitor, from 800km away. Since my social life was destroyed in one night due to this product, I have had a lot of time on my hands. My father has given me the task of taking over his Fluksometer business. Some might say I am uniquely qualified for this task, due to my expert knowledge in the capabilities of this device and my enthusiasm for the pocket money.

The Fluksometer measures your household power using a sensor that clips over the mains cable in your fuse box. The Fluksometer then connects with your Wifi network and automatically logs power data to the Flukso website. Your data can then be viewed via your account on the Flukso website, making it easily accessible on your 3G portable devices.

We are now stocking the highly anticipated FLM02B, an improved and more flexible version of the previous FLM02A. Order online here.

Glen Turner: Coloured UTP cables considered harmful

Sat, 2014-06-14 02:12
The rainbow hurts my eyes

One colour for links to client computers, another colour for links to servers, another colour for phones. Sounds like a wonderfully organised network.

Don't do it.

The reason is stocking. You want a good stock of UTP cables. Ten or twenty in lengths from 0.5m to 3m in every increment available (typically 0.5m), then 5m, 10m, 15m.

It is much more important to use the correct length cable than it is to have some colour scheme. The more colours you have, the less stock of each colour in all the lengths you will carry.

Why is it important? Cable control. If you stock every length the average slack you need to dispose of in a cabinet is 25cm, the worst case is 49cm. If you are missing just one size the average becomes 75cm and the worst case becomes 149cm, both of which are a significant amount of cable to route out of the way. You do that more than one or twice then your cabinet is a cabling disaster zone. You'll never be able to remove a cable easily, which means you won't, which will snowball over the years.

Consider one exception: cross-over cables. Make these some non-red noticeable colour (red has a special meaning and you shouldn't be using it in patch cabinets). I use pink. You need one length: 0.5m. You need one type: the "gigabit ethernet four-pair crossover". To use the cable plug it into the interface of the equipment, attach a Cat6 through-connector, and then cable using your typical patch leads. Why as long as 0.5m? Because that is enough to clear the equipment and place the through-connector outside of the equipment's own cable control.

Coloured patch leads indicate that you lack sufficient records of your cabling plant and sufficient labelling to audit those records against the plant. If you feel the need for coloured cabling "to prevent error" then I suggest you look to improving your record-keeping.

Glen Turner: RS-232 over a RJ-45 connector

Sat, 2014-06-14 01:00
Cisco 2500-series RJ45

There used to be a variety of specifications for presenting a RS-232 signal on a RJ-45 socket. There is one predominant survivor: the pinout of the Aux socket of the cisco Systems 2500-series routers (from back when Cisco had no leading capital letter, being short for San Francisco).

The pinout of the socket is:

Pin

Name

Description (direction)

1

CTS

Clear to send (output)

2

DTR

Data terminal ready (output)

3

TxD

Transmit data (output)

4

Gnd

Signal ground

5

Gnd

Signal ground

6

RxD

Receive data (input)

7

DSR

Data set ready (input)

8

RTS

Request to send (input)

RTS and TxD are not valid until DTR is asserted: the device might be off and they may be floating. RTS indicates that there is enough buffer to receive more data. TxD is used to transmit data. Data is not sent until CTS is asserted. RxD and CTS are not valid until DSR is asserted.

The cabling is straightforward:

1 CTS ---- RTS 8 2 DTR ---- DSR 7 3 TxD ---- RxD 6 4 Gnd ---- Gnd 5 5 Gnd ---- Gnd 4 6 RxD ---- TxD 3 7 DSR ---- DTR 2 8 RTS ---- CTS 1

You can see that the presentation of signals to pins has been carefully thought out. By flipping over the RJ-45 plug at one end when crimping the RJ-45 patch lead we can connect one Aux interface to another Aux interface. Cisco call this transposition a "rolled" UTP cable.

This trick has one downside. You'll recall that a 568B UTP cable twists the wires 1,2; 3,6; 4,5; 7,8 and a 568A UTP cable twists the wires 1,2; 3,6; 4,5; 7,8. That is, the TxD and RxD signals are not carried on the same pair as the Gnd. That is going to affect performance. I think that is acceptable: if you want performance on unshielded twisted pair then that is why RS-422 exists.

The 2500-series of devices used a speed of 9600 bits per second. Each ASCII character used 1 start bit-time, 8 data bits, no parity bit, and 2 stop bit-times. Later devices used only 1 stop bit-times for greater compatibility with common settings.

The command line of early devices would clear the top bit of received ASCII characters, allowing 7 data bits and either odd or even parity to be understood by the command processor (the screen would show gibberish, but from a 7E1 terminal you could blindly type the commands to set 7E1 for the terminal setting and the display would then work. Although a useful hack at the time, today it means that international characters are best avoided when using the Cisco IOS command line.

Console ports do not do handshaking. They connect CTS to RTS. They pull up DTR to asserted as long as the chassis is powered. They ignore DSR.

IBM PC/AT DB-9

There is of course another popular presentation of RS-232 signals: the D-9 plug of a IBM PC/AT. The usual RS-232 connector is a D-25 socket, unfortunately the IBM PC used that for the Centronics parallel connector for a printer (the usual Centronics connector was too side for the IBM PC interface slots). So the IBM PC used a D-25 plug for the RS-232 connector to avoid cabling errors. The IBM PC/AT updated that to use a D-9 plug, allowing the serial and parallel interfaces to be presented using one slot (the "Super I/O" cards).

The pinout of the IBM PC/AT D-9 connector is:

Pin

Name

Description (direction)

1

DCD

Data carrier detect (input)

2

RxD

Receive data (input)

3

TxD

Transmit data (output)

4

DTR

Data terminal ready (output)

5

Gnd

Signal ground

6

DSR

Data set ready (input)

7

RTS

Request to send (output)

8

CTS

Clear to send (input)

9

RI

Ring indicator (input)

IBM PC to Cisco console

So how do we interface these two? There are obviously two choices: allowing for a standard patch lead and allowing for a rolled patch lead. Cisco chose to allow for a rolled patch lead. Thus a RB-9/RJ-45 backshell, a rolled cable, and another RB-9/RJ-45 backshell could be used to interconnect two IBM PC/AT.

1 CTS ---- CTS 8 ---- RTS 7 2 DTR ---- DSR 7 ---- DSR 4 3 TxD ---- RxD 6 ---- RxD 3 4 Gnd ---- Gnd 5 ---- Gnd 5 5 Gnd ---- Gnd 4 ---- Gnd 5 6 RxD ---- TxD 3 ---- TxD 2 7 DSR ---- DTR 2 ---- DTR 6 8 RTS ---- RTS 1 ---- CTS 8 nc-- DCD 1 nc-- RI 9

You can see that for this cable to work the application has to be configured to ignore Data Carrier Detect. If you make your own RJ45/DB9 backshells then you may wish to crimp DCD(1) and DSR(4) on the DB9 connector to DSR(7) on the RJ45 connector.

Avoiding the rolled cable

The rolled cable is key to a flexible system for interconnecting RS-232 devices. However the importance of RS-232 has faded. About the only thing it is used for these days is for the console of networking and embedded devices. Flexibility for other applications doesn't have the attraction it once did.

For connecting a computer to a console the rolled cable is painful: using a standard patch lead would be far superior. If you needed a longer cable you could simply use one from the stock of standard UTP cables.

This is the approach taken by Juniper Networks. They provide a backshell and a standard UTP cable. The pinout of the backshell is:

1 CTS ---- RTS 7 2 DTR ---- DSR 4 3 TxD ---- RxD 3 4 Gnd ---- Gnd 5 5 Gnd ---- Gnd 5 6 RxD ---- TxD 2 7 DSR ---- DTR 6 8 RTS ---- CTS 8 nc-- DCD 1 nc-- RI 9

Again, if I was constructing this myself I would pull up DCD if the far end is available. That would allow lines to clear down properly if the far end powers down.

1 CTS ---- RTS 7 2 DTR --+- DSR 4 +- DCD 1 3 TxD ---- RxD 3 4 Gnd ---- Gnd 5 5 Gnd ---- Gnd 5 6 RxD ---- TxD 2 7 DSR ---- DTR 6 8 RTS ---- CTS 8 nc-- RI 9 The USB console

Computers no longer come with RS-232 ports. Network engineers carry a RS-232/USB dongle. So why not provide a USB B connector which carries a Data Class Interface USB profile. Cisco Systems use a Mini B connector. This will appear as a /dev/ttyUSB… if connected to a Linux system.

I have yet to try it, but there shouldn't be anything preventing plugging a whole switch stack of USB consoles into a single USB hub. A small embedded computer like a Raspberry Pi can then used as a basic console server.

RS-232 will be with us in the embedded space for a long time. It is very easy to initialise a RS-232 UART and so it is an ideal way to output messages from very early in the boot process. For this application there is little justification for the high voltage levels of RS-232 and many boards present 5V or 3.3V levels (that is, they have the UART but not the MAX232 chip). Those signals can be run directly into the RS-232 inputs of a Prolific or similar RS-232/USB UART (again, lacking a MAX232 ship).

Glen Turner: Multiport RS-232/USB dongles and Linux udev

Fri, 2014-06-13 15:04

Multiport RS-232 to USB dongles are widely used in industrial control and can be an economic alternative to terminal servers in some particular situations.

This shows a typical product at the serious end of the market, with 16 RS-232 ports, industrial case, DIN mounting, AC power input. Products with 4 or 8 ports in a non-industrial case are much more economic. In general products with 4 ports take power from the USB port, which might be an issue if connecting to an embedded systems computer which cannot output full USB current (Raspberry Pi, etc).

Internally they are all the same: each RS-232 port is backed by a RS-232/USB UART, such as the FT232 family from Future Technology Devices International. The USB side of those devices is wired to a USB hub. The upstream port of that hub is presented on the chassis for connection to a computer.

Here is a four-port device in a plastic case:

$ lsusb Bus 002 Device 006: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 002 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 002 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 002 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub

Linux will present the RS-232 ports as devices:

$ echo /dev/ttyUSB* /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 udev

Usually we have udev rules for these devices. Firstly we can stop Modem Manager from probing the ports. This is annoying when connected to a host but downright dangerous in industrial applications. Create a file /etc/udev/rules.d/99-local.rules and add:

ACTION!="add|change", GOTO="99-local-end" # FTDI FT232 RS-232/USB devices SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", ENV{ID_MM_DEVICE_IGNORE}="1" GOTO="99-local-end"

Secondly, we can add symlinks to the device. This allows user space applications to always use the same name for the ports. To understand the usefulness of this consider that some other device might be assigned /dev/ttyUSB0 (eg, plug in a 3G/USB modem) and that will increment the numbering on all the other /dev/ttyUSB[0-9]+ ports.

Let's see which attributes which can be used in udev rules to differentiate the ports:

$ sudo udevadm info --attribute-walk /dev/ttyUSB0 > w0.txt $ sudo udevadm info --attribute-walk /dev/ttyUSB1 > w1.txt $ sudo udevadm info --attribute-walk /dev/ttyUSB2 > w2.txt $ sudo udevadm info --attribute-walk /dev/ttyUSB3 > w3.txt

Looking through the files we annoyingly see that the end of the devpath attribute looks like the best contender to identify each FTDI RS-232/USB UART after the USB hub:

w0.txt: ATTRS{devpath}=="1.1" w1.txt: ATTRS{devpath}=="1.2" w2.txt: ATTRS{devpath}=="1.3" w3.txt: ATTRS{devpath}=="1.4"

Nothing a small program to return the characters after the dot can't fix:

#include <stdio.h> #include <stdlib.h> #define PROGRAM_NAME "multiusbserial-id" #define VARIABLE_PREFIX "ID_MULTIUSBSERIAL_" int main(int argc, char *argv[]) { char *p; int found = 0; if (argc != 2) { fprintf(stderr, "Usage: " PROGRAM_NAME " ATTRS{devpath}\n"); exit(1); } for (p = argv[1]; *p != '\0'; p++) { if (*p == '.') { p++; found = (*p != '\0'); break; } } if (!found) { fprintf(stderr, PROGRAM_NAME ": unexpected format\n"); exit(1); } printf(VARIABLE_PREFIX "DEVNAME_MINOR=%s\n", p); return 0; }

This program simply manipulates text:

$ multiusbserial-id 1.1 ID_MULTIUSBSERIAL_DEVNAME_MINOR=1 $ multiusbserial-id 1.2 ID_MULTIUSBSERIAL_DEVNAME_MINOR=2 $ multiusbserial-id 1.3 ID_MULTIUSBSERIAL_DEVNAME_MINOR=3 $ multiusbserial-id 1.4 ID_MULTIUSBSERIAL_DEVNAME_MINOR=4

I could have done this in almost any programming language, I just used C because it doesn't have to establish a huge runtime environment prior to doing something trivial.

The program is used in a udev rule in /etc/udev/rules.d/99-local.rules like this:

ACTION!="add|change", GOTO="99-local-end" SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", ENV{ID_MM_DEVICE_IGNORE}="1" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GOTO="99-local-tty-ftdi" GOTO="99-local-end" LABEL="99-local-tty-ftdi" IMPORT{program}="/usr/local/lib/udev/multiusbserial-id %s{devpath}" # Hayes-style Modem ENV{ID_MULTIUSBSERIAL_DEVNAME_MINOR}=="1", GROUP="dialout", MODE="0660", SYMLINK+="modem" # Switch console ENV{ID_MULTIUSBSERIAL_DEVNAME_MINOR}=="2", GROUP="wheel", MODE="0660", SYMLINK+="ttyswitch" # Router console ENV{ID_MULTIUSBSERIAL_DEVNAME_MINOR}=="3", GROUP="wheel", MODE="0660", SYMLINK+="ttyrouter" # Unused ENV{ID_MULTIUSBSERIAL_DEVNAME_MINOR}=="4", GROUP="wheel", MODE="0660" LABEL="99-local-end"

Make it take effect with sudo systemctl restart systemd-udev-trigger.

The first port contains a traditional public switched telephone network modem. In UNIX those devices are the target of a symlink named "/dev/modem". In Linux those devices are in the "dialout" group, and users permitted to use the modem are placed into that group with the command sudo usermod -a -G dialout $SUDO_USER.

The second and third ports are connected to "Console" ports on networking devices. Because they are part of the systems infrastructure I want to restrict the use of those ports to systems administrators; that is, to the "wheel" group. Notice how the names start with "tty", as some terminal emulation packages will check for that.

Minicom

Minicom is a popular terminal emulator. You can type minicom configuration_name to use a canned configuration. That gives a simple way to connect to the router and switch RS-232 consoles: simply type minicom router or minicom switch. /etc/minirc.router contains:

pu port /dev/ttyrouter pu baudrate 9600 pu bits 8 pu parity N pu stopbits 1 pu minit pu mreset pu mhangup

/etc/minirc.switch contains:

pu port /dev/ttyswitch pu baudrate 9600 pu bits 8 pu parity N pu stopbits 1 pu minit pu mreset pu mhangup

The PSTN modem has a simple configuration. Note that the default device used by minicom is /dev/modem. /etc/minirc.dfl contains:

pu minit ~^M~AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0^M pu mreset ^M~ATZ^M~

If you are primarily doing console server tasks then look at conserver. It does port sharing well and has the huge advantage of being able to be configured to log input to a file when a user isn't at the console. That's very useful for recording that device crash.

Embedded systems development

Let's say port 4 of that 4-port RS-232/USB dongle was attached to the console of an embedded system. We want the developers to have access to that console. Firstly, create a UNIX group for the engineering staff using sudo groupadd -r eng. Secondly add the engineering staff to that group using sudo usermod -a -G eng . If you are using a directory system then you may need to use special commands specific to that system rather than the typical utilities. Finally use a udev rule to set the group and mode on the tty port connected to the embedded system's RS-232 console. At the same time we can set a symbolic link so that specific tty numbers don't get hardcoded into development scripts.

ACTION!="add|change", GOTO="99-local-end" SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", ENV{ID_MM_DEVICE_IGNORE}="1" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GOTO="99-local-tty-ftdi" GOTO="99-local-end" LABEL="99-local-tty-ftdi" IMPORT{program}="/usr/local/lib/udev/multiusbserial-id %s{devpath}" ENV{ID_MULTIUSBSERIAL_DEVNAME_MINOR}=="4", GROUP="eng", MODE="0660", SYMLINK+="ttyeng0" LABEL="99-local-end"

Developers use "/dev/ttyeng0" in their utilities and scripts. They don't need to be a superuser to use the embedded system's RS-232 console, such as when using a development utility to download code to the system.

Systems administrators can use one multi-port RS-232/USB dongle to connect all of the prototypes to the development machine. Simply use udev to name them "/dev/ttyeng0", "/dev/ttyeng1", and so on; or use a scheme which matches the names of the prototype systems.

When writing development utilities use lockdev to take a lock on the /dev/ttyUSB… device. Lockdev is in the Fedora package "lockdev-devel" and the Debian package "liblockdev1-dev". Programs should use lockdev(3), scripts should say lockdev -l /dev/, check for a return code of 0, use the device, and then say lockdev -u /dev/. Lockdev will work correctly when handed a symlink to the /dev/ttyUSB… device.

Unfortunately the lockdev command won't tell you which mongrel left their session running and went to lunch. lockdev stores the process ID of the locking process in files it creates in /var/lock/lockdev (Fedora) or /var/lock (Debian).

David Rowe: wxWidgets Checkbox Tooltips

Fri, 2014-06-13 12:29

I need to post this so that no one else experiences the same pain with wxWidgets (2.9.4). Tooltips weren’t working for me when I hovered over checkboxes. This has bothered me for about 2 years and Google doesn’t seem to throw up a solution.

We are using wxWidgets for FreeDV, as we needed cross platform support. That has actually worked out pretty well, with Linux, Win32, OSX and recently FreeBSD working just fine.

So, the Tooltip problem is something to do with the checkbox being inside a StaticBox. Here is what works and what doesn’t for me:



#define WORKING_CHECKBOX_TOOLTIPS

#ifdef WORKING_CHECKBOX_TOOLTIPS

    wxStaticBoxSizer* sbSizer_testFrames;

    wxStaticBox *sb_testFrames = new wxStaticBox(this, wxID_ANY, _("Test Frames"));

    sbSizer_testFrames = new wxStaticBoxSizer(sb_testFrames, wxVERTICAL);

 

    m_ckboxTestFrame = new wxCheckBox(this, wxID_ANY, _("Enable"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE);

    sb_testFrames->SetToolTip(_("Send frames of known bits instead of compressed voice"));

    sbSizer_testFrames->Add(m_ckboxTestFrame, 0, wxALIGN_LEFT, 0);

#else

    wxStaticBoxSizer* sbSizer_testFrames;

    sbSizer_testFrames = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, _("Test Frames")), wxVERTICAL);

 

    m_ckboxTestFrame = new wxCheckBox(this, wxID_ANY, _("Enable"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE);

    m_ckboxTestFrame->SetToolTip(_("Send frames of known bits instead of compressed voice"));

    sbSizer_testFrames->Add(m_ckboxTestFrame, 0, wxALIGN_LEFT, 0);

#endif



Andrew Pollock: [life] Day 134: Movie World again

Thu, 2014-06-12 21:27

I wanted to try and get another trip to Movie World in before our VIP passes expired, so today was the day for that.

Zoe woke up relatively early, and after watching a couple of episodes of Spiderman on her tablet in bed with me, we got the ball rolling on breakfast and were on the road in pretty good time.

We arrived right on 10am, which worked out a lot better than arriving in the dead window between 9:30am when they open the gates to Main Street, and 10am, when they open up access to the rides. We managed to snag a photo with Bugs Bunny on the way in.

Zoe has affectionately named the Road Runner Rollercoaster "the clonk ride" on account of the heavy braking it does at the end. Once I'd connected these two names, we headed over there for three rides of it first up.

After that, we discovered a new Sylvester and Tweety Bird ride that wasn't open last time we came. It's basically a little kid version of the "giant drop" type vertical rides. Zoe was tall enough to go on that one on her own, and was happy doing so. It was funny watching the kids' reactions to the ride. They ranged from boredom, to muted squealing, to a few tears. Zoe was pretty unfazed by it and was in the muted squealing part of the spectrum. She went on that one about three times in a row as well.

Then we had a pretty long wait for the Tijuana Taxis, which Zoe waited very patiently for.

She wanted to go on the League of Justice ride again after that, but this was the ride that scared her last time (more because of the theatrics) and she lost her nerve entering the building, so we broke for lunch instead.

After that we went on the Wild West ride and got fairly wet and then watched the Hollywood Stunt Driver 2 show. I wasn't sure what Zoe was going to think of all the noise and smoke from the tyres, but she seemed to enjoy it. She was very patient waiting in line to get into the stadium, and then waited very patiently for the show to start.

We had a couple more rides on the Road Runner Rollercoaster, the Sylvester ride and the carousel, and then we headed home.

Zoe had a massive nap on the way home, so I ran a couple of errands while she slept, giving her quite a long nap.

We had a late dinner by the time I'd finished cooking it, and a quick bed time. The nap made it a bit harder for her to fall asleep though, and bedtime was slightly less smooth, but not too bad.

Overall, it was a really good day. I wasn't sure if the weather was going to cooperate, but it did, and we had a great time. I'm knackered.

Matt Palmer: GPG key transition

Thu, 2014-06-12 19:26

I’m probably the last person on the planet to get around to doing this, but I figure it’s probably about time my venerable old 1024D key was put out to pasture.

My transition statement (signed, as usual, by both the old and new keys) is available. If you signed my old key, and still trust that I am who I think I am, I’d appreciate it if you could sign my new key and fling the signatures at me or the keyserver networks.

Arjen Lentz: Carbon Tax in Canada

Thu, 2014-06-12 10:25

Just in case you thought that Canada is on Abbott’s wavelength – that may be the case in terms of Canada’s current prime minister and some of its actions on the federal level.

But let me show you this, straight from the website of the Ministry of Finance of the Canadian province of British Columbia. It is actually very similar to what Australia currently has, with the proceeds from its tax given back to families, pensioners and the clean energy fund, among others.

By the way, the British Columbian government is of Liberal/Conservative flavour.

Source: http://www.fin.gov.bc.ca/tbs/tp/climate/carbon_tax.htm

Overview of the revenue-neutral carbon tax

B.C. continues to be a leader in climate action by having a carbon tax.

The revenue-neutral carbon tax was implemented on July 1, 2008, and the final scheduled increase took effect on July 1, 2012.

The initial tax rate was relatively low and has increased gradually to allow families and businesses time to reduce their emissions. The tax is also intentionally broadly based and paid by all those who consume fossil fuels in the province.

The tax puts a price on carbon to

  • encourage individuals, businesses, industry and others to use less fossil fuel and reduce their greenhouse gas emissions;
  • send a consistent price signal;
  • ensure those who produce emissions pay for them; and
  • make clean energy alternatives more attractive.

The carbon tax is revenue neutral, meaning every dollar generated by the tax is returned to British Columbians through reductions in other taxes.

Related Posts:
  • No related posts