Facebook Embed

01 December 2014

Rowhammer: ECC DRAM by default?

Apparently, there has been a weakness in modern DRAM which had been known within the computing industry since 2012 which has been given name rowhammer. It is particularly the interesting because if how nearby memory locations have their bits flipped which violates the very foundation of our modern multiprocess systems.
Perhaps, it is time that all our PCs should have ECC memory by default which would at least fix single bit disturbances?

25 November 2014

Some project foundation classes for Java.

Have been organising and repackaging some of my source code for release as free open source code. The flavour du jour is Java and these are just a few foundation classes which will be built upon in further packages, hopefully released soon (time permitting). #OpenSource #BSD #Java https://github.com/xiphis/xiphis-utils

13 November 2014

Oh, how editing standards at The Guardian has fallen.

The Guardian posted this article, entitled: Women, beware this PUA army of sleazebags, saddos and weirdos by Hadley Freeman
"They’re sci-fi saddos; they’re World of Warcraft weirdos"
As someone who enjoys sci-fi and whose name is in the credits for more than one WoW game, this is inappropriate offensive mischaracterization. Some people are jerks because that is simply what they are and it has nothing to do with what fiction genre they enjoy or what computer games they have played.
I guess The Guardian is becoming just another sleazy tabloid with ineffective editors.


Originally posted at Facebook

07 August 2014

The right tool for the job...

I've just thought of a great analogy for something:

Imagine that a team has an OKR:

  • Objective: Secure a piece of wood to another piece of wood.
  • Key Results:
    1. Select a suitable fastener.
    2. Select a suitable tool.
    3. Fasten the pieces of wood together.

The team chooses a good wood screw.
The team chooses a good electric screwdriver.

The two items are designed to work together.

The team puts the wood screw into the hole.
The team then proceeds to use the electric screwdriver as a hammer,
hammering the screw into the hole.
Bits of the electric screwdriver shatter. The head of the screw is mangled.

OKR objective and key results achieved.

Now imagine that someone needs to fix this, afterwards.

31 July 2014

Opinion: Blogging about homophones and homonyms.

Homophones and homonyms are two very important aspects of the English language which non-native speakers of the language need to understand in order to adequately communicate unambiguously with native English speakers. If this person was fired for blogging about them from a "language school", then it can't have been a good language school.

31 May 2014

On Intelligence

Before going on holiday, I grabbed a book from my "to be read" pile and this time, it was the book "On Intelligence" by Jeff Hawkins.
This is, by far, the most approachable book I have read on the topic in about 15 years and even though the first 100 pages of this 245 page book hasn't yet expounded upon the meat of the topic which the author wants to discuss, he does excellent job of using analogies to bring readers of many levels to the same point.
Jeff Hawkins puts together a very convincing case and I think that this book is a "must read" for everyone who, at least, has a passing curiosity on the nature and nurture of consciousness.

30 May 2014

Google Play Services

Why must "Google Play Services" use up 40% of my phone's power consumption? Ugh.
#android #googlefail

16 May 2014

OsmAnd is better than Google Maps

I am using a HTC One M7 phone and to maximise battery life, I have mine configured to not use WiFi+Data to determine location. Because of this, Google Maps gets in a pouty mess and refuses to work even though it may use the GPS to directly acquire the location. OsmAnd doesn't throw such tantrums and works fine.
I should note that this tantrum of Google Maps appears to be a recent change, possibly related to their "show nearby offers" feature. In any case, it is a huge step backwards in functionality.

Do no evil, Google?

Actually, I'd settle for "no regression".

I can no longer recommend Google Maps for mapping on Android. It is broken. However, Open Street Maps' OsmAnd works great and did not balk when used 6500 miles apart without rebooting the phone.

01 May 2014

Dear HTC, a suggestion for M9

If only they'd listen...
Dear HTC,

Please bring back the pogo-pin dock connectors for charging and auto-pairing to Bluetooth audio devices.

I do enjoy your HTC One (M7) phone but the lack of pogo-pin connectors was a disappointment; I lived with it but I do not like the daily wear on the micro USB connector.

I was further disappointed when you launched the One successor (M8) without it either. As a result, I'm willing to wait and see what your M9 offering brings - I can wait.

We know you can do it - your HTC Nexus One had the pogo pins for its docks but possibly, the lack of documentation over it was disappointing, even though it is somewhat trivial to reverse engineer.

Please reintroduce the pogo pins for charging and docks in your future phones.




29 April 2014

Thought for the day:

Here is a thought for today:
People will try to use every feature of a product to be "cool".
Therefore, any build tool which permits circular dependencies is a broken tool.
What does the interwebs think?

24 April 2014

Internet and net-neutrality.

I think that the word, internet, should be restricted to mean networks which allow free and equal access for packets from other networks... As in an "inter-network network".
Networks which do not permit free and equal networks should be named for their controlling interest. So company owned and moderated networks, like Comcast, which limit bandwidth or filter content are not "internets" but are, in Comcast's case, Comcast's network which has a moderated gateway to the internet. Similarly, people in China or Turkey don't have internet service providers: they have "turknet" or "chinet" service providers which has a moderated gateway to the internet.
I think we do need to make this distinction so that users are not misled.

21 April 2014

I don't care for Gradle.

I could vote for GRADLE-2496 but to be honest, I don't like Gradle enough to create an account just to vote for this issue. Given that the bug was first reported in 2012, few others care enough, too.

Useless error messages

From the annuals of useless error messages:
Executed 0 tests: 0 succeeded, 0 failed, 0 skipped.
Unexpected exception thrown.
:integration-test-impl -- Executed 0 tests: 0 succeeded, 0 failed, 0 skipped.
:compileJava FAILED

11 April 2014

10 second thoughts: Gradle

In my opinion, Gradle is a bad idea, implemented poorly. It should never take dozens of gigabytes of RAM and many tens of minutes, just to load its config files and determine that the command asked was mistyped.

17 March 2014

H41-08U: Caravan of Ignorance

Amazing how people like to celebrate their stupidity and parade their ignorance as a virtue.

02 January 2014

colordiff trailing whitespace again

Why do I keep on having to do this?

I think I shall leave this version of the patch right here for future reference.

--- /usr/bin/colordiff 2010-06-01 12:47:41.000000000 -0700
+++ colordiff 2014-01-02 13:29:03.954751310 -0800
@@ -61,4 +61,5 @@
 my $diff_stuff = $colour{magenta};
 my $cvs_stuff  = $colour{darkyellow};
+my $trailing_whitespace = "\033[0;41m";
 # Locations for personal and system-wide colour configurations
@@ -311,4 +312,5 @@
 foreach (@inputstream) {
+    my $added_line = 0;
     if ($diff_type eq 'diff') {
         if (/^</) {
@@ -317,4 +319,5 @@
         elsif (/^>/) {
             print "$file_new";
+            $added_line = 1;
         elsif (/^[0-9]/) {
@@ -337,4 +340,5 @@
         elsif (/^\+ /) {
             print "$file_new";
+            $added_line = 1;
         elsif (/^\*{4,}/) {
@@ -379,4 +383,5 @@
         elsif (/^\+/) {
             print "$file_new";
+            $added_line = 1;
         elsif (/^\@/) {
@@ -406,4 +411,5 @@
             elsif ($sepchars eq ' >') {
                 print "$file_new";
+                $added_line = 1;
             else {
@@ -426,4 +432,5 @@
         $_ =~ s/(\{\+[^]]*?\+\})/$file_new$1$colour{off}/g;
+    s/(\s+)$/$trailing_whitespace$1/ if $added_line;
     print "$_";


01 January 2014

Goodbye 2013... Hello 2014.

That was one fast year... Zoom!
When it comes to personal objectives, not a particularly successful year.


As a courtesy, the link to last year's retrospective is right here.

As with last year, lets start with the notable flubs:

  • Failed to spend enough time to relearn the piano.
  • FOSS flubs - failed to get code out there and adopted.
  • Continued to fail to maintain fitness... I end this year at 211lbs vs last year's 206lbs.

As +Eric Idle says; always look at the bright side of life. There were a few very minor victories:
  • 400KHz I2C on Raspberry Pi to a PIC16 microcontroller slave.
  • Managed to test OQGraph3 with TokuDB on MariaDB.
  • Reduced by 20% the reading list backlog.
  • Did manage to get together for a few meetups with other Blizzard alumni.

Wish list for 2014

Obligatory wish-list for the new year which contains some duplicates from last year. As always, these aren't resolutions but wishy-washy objectives which may or may not be met, blah, blah...
Perhaps a little shorter list than last year.
  • Free and Open Source Software projects
    • Dedicate some hours to help polish OQGraph by March.
    • Split the WL#820 project into lots of separate commits.
  • Personal development:
    • This time, really do set aside some time to relearn the piano.
    • Complete at least one large project (electronics, pi, etc).
    • Organise the office, really! It's a dump!


2013 was a forgettable year except for time with my daughter.