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.
Facebook Embed
01 July 2015
A random thought regarding copyrights...
21 June 2015
Mucking around with ZooKeeper and Netty 4
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
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.
13 November 2014
Oh, how editing standards at The Guardian has fallen.
"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...
Imagine that a team has an OKR:
- Objective: Secure a piece of wood to another piece of wood.
- Key Results:
- Select a suitable fastener.
- Select a suitable tool.
- 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.
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
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:
People will try to use every feature of a product to be "cool".What does the interwebs think?
Therefore, any build tool which permits circular dependencies is a broken tool.
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.
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
17 March 2014
H41-08U: Caravan of Ignorance
02 January 2014
colordiff trailing whitespace again
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!