Facebook Embed

01 July 2015

A random thought regarding copyrights...

So... Oracle's suit regarding the copyrights of APIs has been upheld by the SCOTUS...

a random thought entered my mind: The HTTP protocol may be considered an API and every access to some URL which causes code to be executed is an API... Perhaps Google could stop indexing all Oracle properties on the web because they could "fear" being sued for misappropriating Oracle's APIs and require that Oracle submit by postal mail a letter from their lawyers with permission to index a page, including the URL and SHA2 hash of each page where Oracle gives Google permission to copy for indexing purposes. Then Google will only list pages which matches the provided SHA2 hash.

21 June 2015

Mucking around with ZooKeeper and Netty 4

ZooKeeper using Netty4 with a common netty worker pool...
Would be trivial to switch it to use the Netty 4 epoll implementation.

Now... To continue what I started hacking on ...

0 [main] INFO org.apache.zookeeper.server.ZooKeeperServer  - Server environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
...
39 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - Created server with tickTime 3000 minSessionTimeout 6000 maxSessionTimeout 60000 datadir /var/folders/4l/kmd0x0_x0q587n81vrrfjks40000z9/T/org.xiphis.zookeeper.TestZookeeper/zksnap/version-2 snapdir /var/folders/4l/kmd0x0_x0q587n81vrrfjks40000z9/T/org.xiphis.zookeeper.TestZookeeper/zklog/version-2
54 [main] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
60 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
61 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
61 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
62 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: true
64 [main] DEBUG io.netty.util.internal.PlatformDependent - Java version: 8
65 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noUnsafe: false
65 [main] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
66 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noJavassist: false
68 [main] DEBUG io.netty.util.internal.PlatformDependent - Javassist: unavailable
68 [main] DEBUG io.netty.util.internal.PlatformDependent - You don't have Javassist in your class path or you don't have enough permission to load dynamically generated classes. Please check the configuration for better performance.
69 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: /var/folders/4l/kmd0x0_x0q587n81vrrfjks40000z9/T (java.io.tmpdir)
69 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
69 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
111 [main] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8
172 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
172 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
208 [main] INFO org.apache.zookeeper.server.Netty4ServerCnxnFactory - binding to port 0.0.0.0/0.0.0.0:62326
236 [main] DEBUG io.netty.util.internal.ThreadLocalRandom - -Dio.netty.initialSeedUniquifier: 0x1216b72d21d3cb0f (took 13 ms)
278 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: unpooled
278 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 65536
282 [main] DEBUG io.netty.util.NetUtil - Loopback interface: lo0 (lo0, 0:0:0:0:0:0:0:1)
282 [main] DEBUG io.netty.util.NetUtil - /proc/sys/net/core/somaxconn: 128 (non-existent)

19 January 2015

Global Internet Access

There appears to be a rash of billionaires announcing support for the idea of a global satellite-based internet service, for example: http://www.extremetech.com/extreme/197711-elon-musk-unveils-new-plan-to-circle-to-earth-in-satellites-for-fast-low-latency-internet

I would wager that if we have had good affordable internet in our first-world abodes, the wealthy would not be so inclined to think of such schemes. Like as like not, for a new third-party to compete on the ground is practically impossible due to legal red tape and so the space option becomes the most practical, in spite of being a bit inefficient. It's easy to imagine the Elon Musks of the world venting frustration about lack of coverage or simply being unable to cancel Comcast without losing sanity...

Of course, when the time comes, the legacy telcos will complain about unfair competition from these upstarts and will campaign for government hand-outs to help modernise their networks; something which they should already be doing instead of accumulating profit and giving the money to their directors and shareholders.

It will be curious to see what happens. Ideally, the telcos will see the light; otherwise, I won't lose any sleep as their networks decay into obsolescence.

13 January 2015

Fox news Christian terrorists

Christian terrorist Jeanine Pirro, calling for a jihad/crusade to mass murder other people because other places which have tried mass murder worked out great.

I'm all for free speech except when it's threats, advocating violence or inciting violence.

Unlike the fox gaffe earlier this week, this is not funny.

#FoxNewsFacts

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.

#TheGuardian

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.

Thanks,

Antony.


#HTC
#HTCOne

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;
     s/$/$colour{off}/;
     print "$_";

kthxbai!