Quick how-to for those wanting to know.

Under Ubuntu system settings click on “Language Support”:

Ubuntu Language Support settings

Under the “Language” tab in the window that appears go to the “Keyboard input method system:” drop down list, and select ibus:

Enable the ibus keyboard input method

ibus input method enabled.

Log out of the computer and log back in. You should now observe the presence of a keyboard input method icon in the system status area:

Keyboard input method icon

Click on this, and from the menu that appears select “Preferences”:

Ubuntu keyboard input method preferences

In the window that appears, click on the “Input Method” tab:

Keyboard input method tab

Now, enable the “Customize active input methods” setting. From the drop down list select “Chinese” -> “Pinyin”, then click on the “Add” button:

Selecting the Chinese input method

Chinese input method is now added

Now open an application – in this example we are using Firefox. Go to the keyboard input method icon, and from the drop-down list that appears select “Chinese – Pinyin”:

Selecting the Chinese input method

The keybord method input icon should change accordingly, and now typed text should reflect the language:

Chinese input method selected and active

About these ads

Quick post – when installing GlassFish 3.1.2.2 on Mac OS X (10.8.3 in my case) a GlassFish service won’t be created by the GlassFish installer (whereas Windows and Solaris platforms do get the ability to manage GlassFish as a service).

I came across a handy blog post by a former Sun Microsystems staffer which takes us most of the way there:


http://lowbittest.wordpress.com/2007/11/06/running-glassfish-on-mac-os-x-using-launchd/

The original blog entry was pertaining to Mac OS 10.4 but applies to 10.8 with one exception (in my case). When attempting to load the service the GlassFish process would immediately be killed by launchd. This is alluded to in the blog comments above.

The solution can be found at
https://discussions.apple.com/thread/1744853?start=0&tstart=0
and consists of adding the following entry to your GlassFish plist file:

<key>AbandonProcessGroup</key>
<true/>

 

My quick procedure for creating a GlassFish service based on the above information follows. Note that I am not covering the details of how services are created and managed for Mac OS, so this is basically to get up and running quickly.

1) Create a plist file

Simlar to Solaris SMF, the plist file is an XML service descriptor file. These are the contents of my file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.sun.glassfish</string>
<key>Disabled</key>
<false/>
<key>UserName</key>
<string>davek</string>
<key>GroupName</key>
<string>staff</string>
<key>ProgramArguments</key>
<array>
<string>/Users/davek/glassfish3/bin/asadmin</string>
<string>start-domain</string>
<string>domain1</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>AbandonProcessGroup</key>
<true/>
</dict>
</plist>

Replace the UserName and GroupName values with the user and group you wish to launch GlassFish as. Also, GlassFish in my case has been installed to /Users/davek/glassfish3 – alter this path in your plist file accordingly.

Save the file for example as GlassFish.plist and copy it to /Library/LaunchDaemons.

 

2) Set ownership on the GlassFish domain

We are running the GlassFish service as davek:staff so be sure to change ownership on the relevant GlassFish domain (domain1 in this example) to match.

 

3) Import the service

Run the following command:

sudo launchctl load /Library/LaunchDaemons/GlassFish.plist

The service starts automatically after importing, so you should be able to browse to the administrative interface for the domain. If you reboot the system, the domain should also start on boot automatically.

Recent releases of Firefox have included built-in support for the pdf.js Javascript PDF rendering engine, enabling fast, plug-in-free previewing of PDF content right in the browser. What’s perhaps less-known is that with the help of an add-on Thunderbird can also do the same.

The Thunderbird Conversations add-on by Jonathan Protzenko enables a sophisticated conversation view in Thunderbird plus a whole raft of other goodies. You can read more about the story behind the add-on here and download it from here. It’s a fantastic option for email power users and for those wishing to directly preview PDF content in Thunderbird:

Thunderbird Conversations add-on.

PDF Preview directly in Thunderbird.

When Mozilla make the tagline of Thunderbird “Reclaim your inbox”, they’re not kidding. If you don’t want to have a conversation-based interface like Gmail’s rammed down your throat, then you can use the stock standard interface. But if you want a conversation view par excellence, this is an add-on that will fit the bill, and then some.

Thunderbird Conversations add-on conversation view.

Capping off a nightmare week for standards support and the open web thanks to Google, they have also announced they are dropping support for the CalDAV standard later this year. I’ll have more to write on this topic in the near future (and the general gullability of social networks fanboys who are clueless about why open standards support actually matters), but for now the takeaway for Thunderbird users is that the CalDAV method of connecting to Google Calendar using Thunderbird and Lightning will soon no longer work.

Fortunately and thanks to the outstanding efforts of Philipp Kewisch, Lightning will continue to work with Google Calendar using Google’s non-standard Google Calendar API.

To get this to work, your Thunderbird client will first need the Lightning add-on to be installed and enabled. Next, download and install the Provider for Google Calendar add-on, and restart Thunderbird. Now, when adding a new network calendar you should see an option for Google Calendar:

Create a new network calendar

The address to put in the “Location” field in the above screengrab can be found by using the Google Calendar web interface, at “Settings -> Calendar -> [your calendar name] -> Calendar Address”. Clicking on the “XML” button will display the calendar address to use:

Google Calendar network address

Upon applying the remaining settings your Google Calendar should be up and running in Thunderbird. Due to Google’s assholish disregard for open standards of late, I’d strongly recommend donating to the continued development of the add-on (I have).

 

A problem I encountered when doing this, and not related to Thunderbird or Lightning, was in trying to import an ICS-format backup of one Google Calendar into another. In short, the following thread describes the problem and the resolution which worked for me:


https://productforums.google.com/forum/#!topic/calendar/cBuwVCddO3U/discussion

I’ve recently acquired a Cisco SRP547W router to evaluate as a replacement for the Cisco WRVS4400N. The SRP547W sports a similar feature set to the WRVS4400N, with the added bonus of a built-in ADSL2+ WAN interface. Because the WRVS4400N only features an Ethernet WAN port, I had to use the Draytek Vigor 120 as a PPPoA to PPPoE bridge (in New Zealand broadband is delivered over PPPoA). This worked great, but at the end of the day if I can reduce the number of links in the chain it can only be a good thing.

Connecting the SRP547W to Orcon’s ADSL2+ network was straightforward and painless. The device features a very nice first-run wizard, a cut above what you’d find in a vanilla router (as you’d expect given the price difference).

Cisco SRP547W setup wizard.

All of the security goodies of the WRVS4400N are present, with one difference being much-improved VPN support. The SRP547W features a built-in “Cisco VPN Server”. Although Cisco market this as being intended for use with their non-free Cisco VPN Client product (which is end of life incidentally), it’s actually just a standard IPSec VPN and works with a variety of other clients. I had no problem creating a VPN tunnel on Windows 7 using Shrew Soft’s excellent (and free) VPN client. The stock Android VPN client also worked right out of the box, as did Ubuntu Linux using vpnc (I’ve yet to try Mac OS X). A maximum of ten VPN users are supported, and the experience is generally much better than using Cisco’s poorly supported QuickVPN product as marketed with the WRVS4400N.

Price-wise the SRP547W isn’t too bad, not being too much more than the original cost of the WRVS4400N + Draytek Vigor combo – plus you also get analog phone support, a full SIP stack and more. I’ll be sharing some feedback on these other features in the near future.

This is a weird one and doesn’t really make a lot of sense – but posted here all the same if it helps someone. Part of the Cisco WRVS4400N‘s feature set is a configurable internet access policy, allowing the administrator to schedule internet access hours and permitted sites for discrete LAN clients. The latter is managed by updating a domain blacklist in the admin BUI.

The manual makes out that this is as simple as creating a new policy, adding clients, specifying whether it’s for blocking or allowing access, and adding URLs to the blacklist – but in practice it doesn’t work like this at all. In my case, configuring an “Allow” policy for a single client and adding entries to the blacklist resulted in all internet access being shut off entirely for all machines including the client in question. Looking at the Cisco Small Business support forums, there seems to be equal confusion on this from both customers and Cisco support personnel alike. One Cisco technician mentioned for example in a forum thread on the issue that any clients not defined in an “Allow” rule would be denied by default – but this nugget of information doesn’t seem to have been included in the reference manual.

Anyway, to get a simple website blocking policy in place for one LAN client, here’s what I had to do.

1) Configure an “Allow” policy for the client

In this policy we are allowing the client 24/7 internet access, but not permitting her to access the domain apple.com:

Configuring a internet access policy rule.

You’d think this would do the trick, but no. If your experience is the same as mine, this will shut off internet access entirely – so we move onto step 2.

2) Configure a second “Allow” policy for every other device

In this policy we are specifying an IP address range – which also covers the address of the machine above. Like the above policy, it’s for 24/7 internet access:

Configuring another internet access policy rule.

On saving this rule (you don’t need to reboot the router), you should have full access to all websites except for apple.com for the client defined in the first rule. All other LAN clients should have normal full access.

 

The WRVS4400N is now end-of-life. In my time with it it’s generally been a useful device, but marred by a number of issues which created the impression of a somewhat half-baked or half-heartedly-supported product (possibly due to its Linksys lineage which Cisco are selling off to Belkin). Counter-intuitive interfaces like the one described above, wireless performance which was pretty slow all around (really not living up to the advertised 802.11n), Cisco QuickVPN software which was great if you were only on Windows (with Cisco not interested in versions say for Mac OS), IPS signature files which failed to block Skype (counter to the advertised feature set), and so on. I have a Cisco SRP547W being made available soon hopefully to replace this unit which I will post some impressions on.