Planet Linux Australia

Syndicate content
Planet Linux Australia -
Updated: 2 min 51 sec ago

Binh Nguyen: Native Instrument's 'pkg' File Format, Web Documentation Compiler/Scraper, Thoughts on the JSF/Counter-Stealth Technologies, and More

7 hours 12 min ago
Sometimes you get installation errors in Windows and it is absolutely infuriating because the manufacturer offers you no easy way of correcting (and understanding where the error actually is because of arcane error messages) the file short of re-downloading the entire ISO, etc... This is when some basic reverse engineering skills come in handy.

As you can see below, Native Instrument's 'pkg' file format is actually just a xar archive which includes several other archived files as well.

xar -x -f "Maschine 2 Factory Library Library Part 5.pkg"

user@machine:/media/sda1/NIMCN2FL100$ cd Folder

user@machine:/media/sda1/NIMCN2FL100/Folder$ ls

Bom  PackageInfo  Payload  Scripts

user@machine:/media/sda1/NIMCN2FL100/Folder$ file *

Bom:         Mac OS X bill of materials (BOM) file

PackageInfo: XML document text

Payload:     gzip compressed data, from Unix

Scripts:     gzip compressed data, from Unix

user@machine:/media/sda1/NIMCN2FL100/Folder$ mv Payload Payload.gz

user@machine:/media/sda1/NIMCN2FL100/Folder$ mv Scripts Scripts.gz

user@machine:/media/sda1/NIMCN2FL100/Folder$ gunzip Scripts.gz

user@machine:/media/sda1/NIMCN2FL100/Folder$ ls

Bom  PackageInfo  Payload.gz  Scripts

user@machine:/media/sda1/NIMCN2FL100/Folder$ vim Scripts

user@machine:/media/sda1/NIMCN2FL100/Folder$ gunzip Payload.gz

user@machine:/media/sda1/NIMCN2FL100/Folder$ ls

Bom  PackageInfo  Payload  Scripts

user@machine:/media/sda1/NIMCN2FL100/Folder$ file *

Bom:         Mac OS X bill of materials (BOM) file

PackageInfo: XML document text

Payload:     ASCII cpio archive (pre-SVR4 or odc)

Scripts:     ASCII cpio archive (pre-SVR4 or odc)

The trend towards placing all documentation online can be infuriating at times. It means you have to have a permanent connection on at all times for referencing. The only option is to run a web crawler/web site downloader over it but as I've discovered in the past the performance of such programs can be frustrating. Recently, I had a similar encounter with some trading software. I wrote a custom script to download all relevant files and then compiling them into a single PDF file.

This reminds me, you don't always have to resort to multi-threading to achieve parallelism/higher performance (I've come across some people who have almost basically assumed this). In fact, in some languages you can't even do it.

If you've ever watched some of the online courses from MOOCs and seen some of the better quality YouTube productions (or other free video upload sites out there) you're sometimes left wondering why you or others would want to pay. Anyhow, as stated previously I don't like being online all the time and want to download things for offline perusal. Recently, I had a problem with regards to merging them though. One, it wasn't being done properly and two, MP3 tag information was corrupted. I found out mp3wrap and vbrfix did the job.

You may have to chance some code in mp3wrap if you use more than 256 files though. ./configure, make, make install...

mp3wrap.h:#define MAXNUMFILE 512

Can't believe that in this day and age we don't have better mp3 file verification checking options. Guessing I haven't found the right tool yet?

- as stated before the US seems more guarded with regards to the program than most other people - most advances in 'stealth' have so far come from iterative science and technology advances. I think the next major advance will likely come from left field though. Something which affects the science in general rather than something more specific to stealth/defense technology alone. Like 'stealth' my guess is that it may take a bit of time before we feel the impact of such technology in the real world though

- if you look at the program more carefully it's much more obvious how savings can accrue over the life of the JSF program. It's clear that the core designs across each of the variants is no longer as similar as was originally intended but modular design, self diagnostics/testing, etc... will still play a role over the entire lifetime of the program

Marine In The F-35 Test Force Shares His Experiences

- the irony is that some of the primary mechanisms that are currently used to reduce temperature for IR stealth are actually used in satellite technology and more inauspicious areas like motorsport technology

- one of the odd things which has struck me about the Russia/Chinese with regards to their defense/intelligence setup is that even if they have the ability to re-produce some Western technologies they sometimes choose not to. Think about the Buran. They're generally more practical and economical with regards to use of technology. Look at the way finances were handled during the KGB era. They were miserly when it came to budgeting for possible assets when compared to their Western counterparts. That's why I'm not entirely certain that the reason why they are behind the eight ball on aircraft stealth is simply because they don't have the ability to bridge the gap... At various times throughout history they've held the lead with regards to submarine, missile, and various other core defense technologies. I think that it may simply come down to the fact that they may be trying to do their best allocate their resources in such a way that to acheive their defensive needs for the best price? Either way, I don't think that a war involving the US and near peer threats such as Russia and China is going to be clear cut as some people think (especially when the modernisation of their militaries are complete). It will be somewhat of a slugfest...

- even if the JSF can perform CAS duties relatively well there's something we're missing here. The JSF is incredibly expensive and the way that stealth is so integral to the aircraft means that every time the aircraft gets hit its RCS increases. For anyone to assume that the JSF is not going to get hit in CAS duties is nonsensical especially if it's going to try to takeover the role of the A10 at some point. I still prefer a group of loitering drones that can be called in for an immediate support at any point if and when required. It should be cheaper, quicker, and more survivable (if designed correctly)... This could be a moot point though if Allied nations only continue to engage in non near-peer threat engagements such as been the case recently though...

- the most common argument that the Russians/Chinese have when the West accuses them of something is that the West isn't any different. The funny thing about this is that technically they're right. It's just the level that each side is willing to stoop to. The US spies on friend and foe alike using mostly technological means though while the former is more reliant on HUMINT. In the context of economic intelligence I'd be very interested to know just exactly how the numbers add up knowing how much the West spends on technical intelligence and the same goes for the Russians/Chinese as well... Both sides sound rediculous at times accusing one another of any wrong doing...,7340,L-4696268,00.html

- if you think about the nature of defense now it's somewhat bemusing. Our concept of what defense seems to be almost completely focused around the notion of force projection and qualitative/quantitative superiority. To me some of what is done has little to do with defense anymore as it does attempting to shape the world in the way we want simply because we can...

- there's so much information out there regarding a lot of sensitive military technology I just find it hard to believe some of the classification levels for information that are held when it comes to some stuff and why we would hold people accountable for stuff that is already out in the open and confirmed by official sources. Sometimes it seems as though much of what the Russians/Chinese need to reverse engineer some technologies can either be purchased or else obtained from free and open sources

JSF Making Stealth productionJuly48 TEXT READABLE.pdf


F-35 High Energy Laser

Stealth question - Reduction in RCS

- as stated previously, most people who watch this space know that stealth bombers can be tracked from thousands of kilometers away provided equipment is tuned correctly, environmental conditions are favourable, etc... To me, a lot of the power projection capabilities (or anything which facilitates them) makes me feel as though they have homing beacons. This includes sensor technology which relies on any active measures such as long range RADAR, AWACS, re-fuelling, Aegis class warships, aircraft carriers, etc... They're just asking to be hit (by near peer threats) which probably explains the reasons behind increasing sensory capabilities of 5th gen aircraft such as the JSF

- if you know a little bit about military technology you'll be aware that one of the things that are of slight concern are electronic hardware which when illuminated by certain, unique frequencies basically become homing beacons. The thing is, if you think about this for a bit isn't it possible to achieve the same thing using microchips (or anything that is symmetrical on an aircraft)? I mean, one of the core tenets of RADAR stealth is incorporating non-planform design. Namely, reducing parallel and symmetrical shapes. The legs on a microchip are spaced evenly and symmetrically apart. Provided sufficient power and at favourable angles isn't it also possible to achieve the same thing using electronics (and other objects) aboard most aircraft (epsecially if their designs are unique)? The main issues would be power and projection of course...

- in the Iraq war much of the RADAR capabilities were knocked out extremely early. The opposite has been true in Syria where much equipment has been turned off and turned on only periodically. Much like my beacon idea I'm wondering why we couldn't use the same concept to detect SAM and RADAR systems. If we know the rough design, then we should know the rough frequency/wavelength that they operate with... Radiate at sufficient power and at the right angle and they should re-radiate? Perhaps a job for drones which would search for equipment based on rough intelligence estimates for mobile equipment in particular?

- people often harp on about how Western defense technology is superior but we've never really seen a genuine encounter between near peer threats for a long time. It's also clear that neither side. Operationally, both Russia and the United States have never really given in to their partners on national security concerns. Their partners often don't receieve the same information nor do they recieve the same technology (same fear that the US has regarding the F-22 Raptor. They don't want to have to go to war against equipment that is equally adept which they built. They also worry about OPSEC of allied nations believing that we could leak information since we spend less on national security). I wouldn't be surprised if (much like during the Cold War) much of the publicly available information we have regarding upper end equipment is substantially wrong

- much has been made of DAS in the JSF. Some Russian fighter aircraft have had much of this basic, core functionality (all around sensory capability) for decades

- a RAND defense analyst recently floated around the idea of a slow moving aircraft with large payload capabilities as an alternative to conventional fighter jets. It would actually render 5th gen fighters completely irrelevant if implemented correctly...

- I've been looking at the design of the PAK-FA slightly more closely and noticed how it had multi-band RADAR capabilities for various purposes. The thing which struck me was the updated R-77 capability whereby the jet provides information in unison with the missile's own internal targeting system. Even if one fails, the other system has enough redundancy to be able to potentially re-acquire a lock. Interestingly, if we think about this slightly what if we use the same idea in combination with jets and ships or jets and large RADAR. Updated information from longer wavelength RADAR in combination with the missiles' or jets' on targeting systems would allow for an increased chance of lock and reduced chances of being outwitted through decoys as well...

- modern rules of engagement may mean that visual identification may be necessary before a pilot can launch an attack rendering any BVR capabilities a moot point

- for a while now the defense and intelligence have used animals such as dolphins and sea lions for various purposes including recon as well as force proection. Something I've been curious about is whether or not we can use animals as radiators undersea as well as in the air... Think about this, if you are in a room with furniture and you scream it sounds different to if it were empty. It's the same if you scream in front of someone versus if you scream with nothing in front of you. If you can activate all animals in your surronding area (using beacons at abnormal frequencies or otherwise training them and attaching 'radiators' to them) to either create sound you can detect the presence of other objects in your immediate vicinity (without giving away your position as well). Roughly the same principle that allowed the detection and shooting down of the original F-117 stealth bomber

If you've ever worked with laptops (or any device) with dead batteries you've probably wondered about how to restore them to working condition...

Arjen Lentz: Full Roof Cover Combining PV Solar and Heat |

9 hours 37 min ago

Bluescope unveils “world first” built-in solar array that generates electricity and heat, and acts as roofing.

Ben Martin: Inspecting ODF round trips for attribute retention

Mon, 2015-08-31 20:17
Given an office application one might like to know which attributes are preserved properly across a load and save cycle. For example, is the background color or margin size mutated just by loading and saving an ODF file with OfficeAppFoo version 0.1.

The odfautotests project includes many tests on simple ODF documents to see how well each office application preserves the information in the document. Though testing ODF attribute preservation might not be as simple as one might first imagine. Consider the below document with a single paragraph using a custom style:


  <text:p text:style-name="style">hello world</text:p>


In the styles.xml file one might see something like the following:






     <style:text-properties fo:background-color="transparent" />


This input is obviously designed to see how well the fo:background-color style information is preserved by office applications. One thing to notice is that the style:family attribute in the above is paragraph.

If one loads and saves a document with the above fragments in it using LibreOffice 4.3.x then they might see something like the following in the output ODF file. In content.xml:

<text:p text:style-name="TestStyle">hello world</text:p>

And in the styles.xml file the background-color attribute is preserved:

<style:style style:name="TestStyle"



      <style:text-properties fo:background-color="transparent"/>


One can test if the attribute has been preserved using XPath selecting on the @style-name of the text:p and then making sure that the matching style:style has the desired fo:background-color sub attribute.

The XPath might look something like the below, which has been formatted for display:



  or (not(@s:display-name) and @s:name='TestStyle')]


Performing the load and save using Word 2016 is quite interesting. The resulting content.xml file might have:

<style:style style:name="P1"




     <style:paragraph-properties fo:break-before="page"/>



<office:text text:use-soft-page-breaks="true">

  <text:p text:style-name="P1">hello world</text:p>


and in styles.xml the background-color setting is pushed up to the paragraph style level.

<style:style style:name="TestStyle"



      <style:text-properties fo:hyphenate="false"/>


<style:default-style style:family="paragraph">


<style:text-properties ... fo:background-color="transparent"

So to see if the output ODF has the fo:background-color setting one has to consider not just the directly used style "P1" but also parent style elements which might contain the attribute instead. In this case it was pushed right up to the paragraph style.

For the Word output the above XPath doesn't necessarily work. If the attribute we are looking for has been pushed up to paragraph then we should look for it there instead. Also, if we are looking at the paragraph level then we need to be sure that there is no attribute directly at the lower, TestStyle, level. Also it helps to ensure in the selection that the paragraph is really a parent of the TestStyle, or P1 in the above.

After a bit of pondering I found an interesting solution that can evaluate using plain XPath1.0. To test the value I pick off the fo:background-color from both the TestStyle and also the paragraph level. If those values are passed to concat() then, if the attribute is only at the TestStyle or paragraph level we get something that can be used to test the value. If the attribute appears at both levels are are in trouble.

For example:

<style:style style:name="TestStyle"

<style:text-properties ... fo:background-color="transparent"  />


<style:default-style style:family="paragraph">

<style:text-properties ... fo:background-color="#FF0000"/>


Considering the semantic XPath query of concat( TestStyle/@fo:background-color, paragraph/@fo:background-color ) the result would be  transparent#FF0000 which would not match a string comparison with 'transparent'.

The trick is to use an array selector on the second item in the concat() call. If we only return the paragraph/@fo:background-color value if there is no value associated with the TestStyle then the concat will effectively only return one or the other (directly on TestStyle or nothing on TestStyle and the attribute from paragraph).

With this the query can allow the office application to move the information to a parent of the style and still match for a test.

Michael Still: Walk to the Southern Most Point

Mon, 2015-08-31 17:29
I've just realized that I didn't post any pics of my walk to the most southern point of the ACT. The CBC had a planned walk to the southern most point on the ACT border and I was immediately intrigued. So, I took a day off work and gave it a go. It was well worth the experience, especially as Matthew the guide had a deep knowledge of the various huts and so forth in the area. A great day.


See more thumbnails

Interactive map for this route.

Tags for this post: blog pictures 20150818-southernmostpoint photo canberra bushwalk

Related posts: Goodwin trig; Big Monks; Geocaching; Confessions of a middle aged orienteering marker; A quick walk through Curtin; Narrabundah trig and 16 geocaches


Tridge on UAVs: An awesome day at CMAC

Mon, 2015-08-31 16:40

Anyone who has been involved in aeromodelling for a while dreams of having one of those days when everything works right. It doesn't happen often, but when it does it sure is nice!

CanberraUAV had one of those days yesterday. It was a wonderful sunny winters day at our local flying field and we were test flying our latest creations.

First up was the "Vampire Mark 2", a combined plane quadcopter built by Jack Pittar. It consists of a senior telemaster with a 15cc petrol engine, but with the addition of 4 quadcopter motors. It was the maiden flight yesterday, and it was setup with a Pixhawk controlling the quad engines and the rest controlled manually as a normal RC model. We flew with two pilots (Justin Galbraith and Jack Pittar). The takeoff was vertical as a quadcopter, and it then transitioned to fixed wing flight using the extremely simple method of advancing the throttle on the plane while lowering the throttle on the telemaster. Transition was very easy and the plane reached 31m/s in forward flight at full throttle. The landing transition was equally easy. Jack lowered the throttle on the plane while Justin raised the throttle on the quadcopter. No problems!

Given this was the first flight of a highly experimental aircraft we were pretty pleased with the result! Jack is thinking of building an even bigger version soon that will be able to complete the 2016 OBC mission with plenty of room for equipment.

Next up was our JS90 helicopter, originally built by Ryan Pope and adapted for autonomous flight.

This is the flybar version of the JS90-v2 heli from Hobbyking, with a OS GT15HZ petrol engine fitted, along with a Pixhawk2 and a new "Blue Label" Lidar from pulsedlight. We've been flying (and crashing!) this heli for a while now, but yesterday was finally the day when we got to try high speed autonomous flight.

apart from a small gap where we lost telemetry in the north west corner you can see the tracking in the auto mission was great. Once we learned how to tune a flybar heli (which turns out to be extremely simple!) it flies really well. We did have some issues getting it to fly as fast as we want. Above about 17m/s it occasionally pulled back and stopped for a second before continuing. We knew it could do more as it happily flew at over 27m/s in ALT_HOLD mode. With some help from Randy and a small code change to help with tuning we think we've tracked down the cause of that issue and expect to be doing 27m/s AUTO missions next weekend.

Next up was another quad plane, this one quite different from the big telemaster build!

We had been trying to track down a problem with loiter on the Parrot Bebop when running ArduPilot. We suspected there may have been a GPS lag issue, so we wanted to get some flight data that would allow us to compare the performance of a uBlox GPS with the GPS in the Bebop for dynamic flight. We thought a good way to do that would be to strap the Bebop to a plane and take it for a fly. The results were very interesting! For this flight we saw a lag on the Bebop GPS of over 5 seconds, which must be some sort of buffering issue. We'll chat to Julien from Parrot to see if we can track down the issue.

Next we thought it would be fun to see if something else could lift the tiny Bebop. Peter had his Solo there, so we strapped the Bebop to it and went for a fast fly in drift mode. Great fun!

Overall it was a fantastic day! Next week we're really looking forward to trying the Trex700 petrol conversion that Greg has built which you can see in the background in this photo of our build day on Saturday. The build looks really good and we expect it to perform even better than the JS90, as Greg has managed to fit a Pixhawk while still being able to install the canopy. That should reduce drag quite a lot.

The switch of focus for CanberraUAV to VTOL aircraft has been a lot of work, but the results are really paying off and we're having a lot of fun in the process. We hope that we'll have a lot more weekends like this one in the future.

David Rowe: FreeDV SM1000 v SSB demo

Mon, 2015-08-31 10:30

Great demo of FreeDV 1600 (SM1000 at one end) and SSB between AA6E and K5MVP. You can really notice the reduced audio bandwidth and ever present noise of SSB compared to FreeDV. This is just the start – we are gradually improving the low SNR robustness and speech quality of FreeDV. Thanks so much Martin for posting this.

I like watching the fading FreeDV signal. I think there is a “lowpass” effect on the signal – more power allocated to low frequency carriers. This may be due to the transmitter tx filter, or possibly the SM1000. FreeDV is only as good as the SNR of the weakest carrier. Ideally they should all be the same power. This is one of the “tuning” issues I’d like to look into over the next few months.

Sridhar Dhanapalan: Twitter posts: 2015-08-24 to 2015-08-30

Mon, 2015-08-31 00:27

Francois Marier: Letting someone ssh into your laptop using Pagekite

Sun, 2015-08-30 07:20

In order to investigate a bug I was running into, I recently had to give my colleague ssh access to my laptop behind a firewall. The easiest way I found to do this was to create an account for him on my laptop and setup a pagekite frontend on my Linode server and a pagekite backend on my laptop.

Frontend setup

Setting up my Linode server in order to make the ssh service accessible and proxy the traffic to my laptop was fairly straightforward.

First, I had to install the pagekite package (already in Debian and Ubuntu) and open up a port on my firewall by adding the following to both /etc/network/iptables.up.rules and /etc/network/ip6tables.up.rules:

-A INPUT -p tcp --dport 10022 -j ACCEPT

Then I created a new CNAME for my server in DNS: 3600 IN CNAME

With that in place, I started the pagekite frontend using this command:

pagekite --clean --isfrontend --rawports=virtual --ports=10022 Backend setup

After installing the pagekite and openssh-server packages on my laptop and creating a new user account:

adduser roc

I used this command to connect my laptop to the pagekite frontend:

pagekite --clean --service_on=raw/ Client setup

Finally, my colleague needed to add the folowing entry to ~/.ssh/config:

Host CheckHostIP no ProxyCommand /bin/nc -X connect -x %h:10022 %h %p

and install the netcat-openbsd package since other versions of netcat don't work.

On Fedora, we used netcat-openbsd-1.89 successfully, but this newer package may also work.

He was then able to ssh into my laptop via ssh

Making settings permanent

I was quite happy settings things up temporarily on the command-line, but it's also possible to persist these settings and to make both the pagekite frontend and backend start up automatically at boot. See the documentation for how to do this on Debian and Fedora.

Stewart Smith: Running OPAL in qemu – the powernv platform

Fri, 2015-08-28 13:26

Ben has a qemu tree up with some work-in-progress patches to qemu to support the PowerNV platform. This is the “bare metal” platform like you’d get on real POWER8 hardware running OPAL, and it allows us to use qemu like my previous post used the POWER8 Functional Simulator – to boot OpenPower firmware.

To build qemu for this, follow these steps:

apt-get -y install gcc python g++ pkg-config libz-dev libglib2.0-dev \ libpixman-1-dev libfdt-dev git git clone cd qemu ./configure --target-list=ppc64-softmmu make -j `grep -c processor /proc/cpuinfo`

This will leave you with a ppc64-softmmu/qemu-system-ppc64 binary. Once you’ve built your OpenPower firmware to run in a simulator, you can boot it!

Note that this qemu branch is under development, and is likely to move/change or even break.

I do it like this:

cd ~/op-build/output/images; # so skiboot.lid is in pwd ~/qemu/ppc64-softmmu/qemu-system-ppc64 -m 1G -M powernv \ -kernel zImage.epapr -nographic \ -cdrom ~/ubuntu-vivid-ppc64el-mini.iso

and this lets me test that we launch the Ubunut vivid installer correctly.

You can easily add other qemu options such as additional disks or networking and verify that it works correctly. This way, you can do development on some skiboot functionality or a variety of kernel and op-build userspace (such as the petitboot bootloader) without needing either real hardware or using the simulator.

This is useful if, say, you’re running on ppc64el, for which the POWER8 functional simulator is currently not available on.

Stewart Smith: doing nothing on modern CPUs

Fri, 2015-08-28 12:26

Sometimes you don’t want to do anything. This is understandably human, and probably a sign you should either relax or get up and do something.

For processors, you sometimes do actually want to do absolutely nothing. Often this will be while waiting for a lock. You want to do nothing until the lock is free, but you want to be quick about it, you want to start work once that lock is free as soon as possible.

On CPU cores with more than one thread (e.g. hyperthreading on Intel, SMT on POWER) you likely want to let the other threads have all of the resources of the core if you’re sitting there waiting for something.

So, what do you do? On x86 there’s been the PAUSE instruction for a while and on POWER there’s been the SMT priority instructions.

The x86 PAUSE instruction delays execution of the next instruction for some amount of time while on POWER each executing thread in a core has a priority and this is how chip resources are handed out (you can set different priorities using special no-op instructions as well as setting the Relative Priority Register to map how these coarse grained priorities are interpreted by the chip).

So, when you’re writing spinlock code (or similar, such as the implementation of mutexes in InnoDB) you want to check if the lock is free, and if not, spin for a bit, but at a lower priority than the code running in the other thread that’s doing actual work. The idea being that when you do finally acquire the lock, you bump your priority back up and go do actual work.

Usually, you don’t continually check the lock, you do a bit of nothing in between checking. This is so that when the lock is contended, you don’t just jam every thread in the system up with trying to read a single bit of memory.

So you need a trick to do nothing that the complier isn’t going to optimize away.

Current (well, MySQL 5.7.5, but it’s current in MariaDB 10.0.17+ too, and other MySQL versions) code in InnoDB to “do nothing” looks something like this:

ulint ut_delay(ulint delay) { ulint i, j; UT_LOW_PRIORITY_CPU(); j = 0; for (i = 0; i < delay * 50; i++) { j += i; UT_RELAX_CPU(); } if (ut_always_false) { ut_always_false = (ibool) j; } UT_RESUME_PRIORITY_CPU(); return(j); }

On x86, UT_RELAX_CPU() ends up being the PAUSE instruction.

On POWER, the UT_LOW_PRIORITY_CPU() and UT_RESUME_PRIORITY_CPU() tunes the SMT thread priority (and on x86 they’re defined as nothing).

If you want an idea of when this was all written, this comment may be a hint:

/*!< in: delay in microseconds on 100 MHz Pentium */

But, if you’re not on x86 you don’t have the PAUSE instruction, instead, you end up getting this code:

# elif defined(HAVE_ATOMIC_BUILTINS) # define UT_RELAX_CPU() do { \ volatile lint volatile_var; \ os_compare_and_swap_lint(&volatile_var, 0, 1); \ } while (0)

Which you may think “yep, that does nothing and is not optimized away by the compiler”. Except you’d be wrong! What it actually does is generates a lot of memory traffic. You’re now sitting in a tight loop doing atomic operations, which have to be synchronized between cores (and sockets) since there’s no real way that the hardware is going to be able to work out that this is only a local variable that is never accessed from anywhere.

Additionally, the ut_always_false and j variable there is also attempts to trick the complier into not optimizing the loop away, and since ut_always_false is a global, you’re generating traffic to a single global variable too.

Instead, what’s needed is a compiler barrier. This simple bit of nothing tells the compiler “pretend memory has changed, so you can’t optimize around this point”.

__asm__ __volatile__ ("":::"memory")

So we can eliminate all sorts of useless non-work and instead do what we want: do nothing (a for loop for X iterations that isn’t optimized away by the compiler) and don’t have side effects.

In MySQL bug 74832 I detailed this with the appropriately produced POWER assembler. Unfortunately, this patch (submitted under the OCA) has sat since November 2014 (so, over 9 months) with no action. I’m a bit disappointed by that to be honest.

Anyway, the real moral of this story is: don’t implement your own locking primitives. You’re either going to get it wrong or you’ll be wrong in a few years when everything changes under you.

See also:

Donna Benjamin: D8 Accelerate - Game over?

Thu, 2015-08-27 11:27
Thursday, August 27, 2015 - 10:47

The Drupal 8 Accelerate campaign has raised over two hundred and thirty thousand dollars ($233,519!!).  That's a lot of money! But our goal was to raise US$250,000 and we're running out of time. I've personally helped raise $12,500 and I'm aiming to raise 8% of the whole amount, which equals $20,000. I've got less than $7500 now to raise. Can you help me? Please chip in.

Most of my colleagues on the board have contributed anchor funding via their companies. As a micro-enterprise, my company Creative Contingencies is not in a position to be able to that, so I set out to crowdfund my share of the fundraising effort.

I'd really like to shout out and thank EVERYONE who has made a contribution to get me this far.Whether you donated cash, or helped to amplify my voice, thank you SO so soooo much. I am deeply grateful for your support.

If you can't, or don't want to contribute because you do enough for Drupal that's OK! I completely understand. You're awesome. :) But perhaps you know someone else who is using Drupal, who will be using Drupal you could ask to help us? Do you know someone or an organisation who gets untold value from the effort of our global community? Please ask them, on my behalf, to Make a Donation

If you don't know anyone, perhaps you can help simply by sharing my plea? I'd love that help. I really would!

And if you, like some others I've spoken with, don't think people should be paid to make Free Software then I urge you to read Ashe Dryden's piece on the ethics of unpaid labor in the Open Source Community. It made me think again.

Do you want to know more about how the money is being spent? 


Perhaps you want to find out how to apply to spend it on getting Drupal8 done?


Are you curious about the governance of the program?


And just once more, with feeling, I ask you to please consider making a donation.

So how much more do I need to get it done? To get to GAME OVER?

  • 1 donation x $7500 = game over!
  • 3 donations x $2500
  • 5 donations x $1500
  • 10 donations x $750
  • 15 donationsx $500 <== average donation
  • 75 donations x $100 <== most common donation
  • 100 donations x $75
  • 150 donations x $50
  • 500 donations x $15
  • 750 donations x $10 <== minimum donation

Thank you for reading this far. Really :-)

James Morris: Linux Security Summit 2015 – Wrapup, slides

Thu, 2015-08-27 05:27

The slides for all of the presentations at last week’s Linux Security Summit are now available at the schedule page.

Thanks to all of those who participated, and to all the events folk at Linux Foundation, who handle the logistics for us each year, so we can focus on the event itself.

As with the previous year, we followed a two-day format, with most of the refereed presentations on the first day, with more of a developer focus on the second day.  We had good attendance, and also this year had participants from a wider field than the more typical kernel security developer group.  We hope to continue expanding the scope of participation next year, as it’s a good opportunity for people from different areas of security, and FOSS, to get together and learn from each other.  This was the first year, for example, that we had a presentation on Incident Response, thanks to Sean Gillespie who presented on GRR, a live remote forensics tool initially developed at Google.

The keynote by sysadmin, Konstantin Ryabitsev, was another highlight, one of the best talks I’ve seen at any conference.

Overall, it seems the adoption of Linux kernel security features is increasing rapidly, especially via mobile devices and IoT, where we now have billions of Linux deployments out there, connected to everything else.  It’s interesting to see SELinux increasingly play a role here, on the Android platform, in protecting user privacy, as highlighted in Jeffrey Vander Stoep’s presentation on whitelisting ioctls.  Apparently, some major corporate app vendors, who were not named, have been secretly tracking users via hardware MAC addresses, obtained via ioctl.

We’re also seeing a lot of deployment activity around platform Integrity, including TPMs, secure boot and other integrity management schemes.  It’s gratifying to see the work our community has been doing in the kernel security/ tree being used in so many different ways to help solve large scale security and privacy problems.  Many of us have been working for 10 years or more on our various projects  — it seems to take about that long for a major security feature to mature.

One area, though, that I feel we need significantly more work, is in kernel self-protection, to harden the kernel against coding flaws from being exploited.  I’m hoping that we can find ways to work with the security research community on incorporating more hardening into the mainline kernel.  I’ve proposed this as a topic for the upcoming Kernel Summit, as we need buy-in from core kernel developers.  I hope we’ll have topics to cover on this, then, at next year’s LSS.

We overlapped with Linux Plumbers, so LWN was not able to provide any coverage of the summit.  Paul Moore, however, has published an excellent write-up on his blog. Thanks, Paul!

The committee would appreciate feedback on the event, so we can make it even better for next year.  We may be contacted via email per the contact info at the bottom of the event page.

BlueHackers: The Legacy of Autism and the Future of Neurodiversity

Tue, 2015-08-25 09:50

The New York Times published an interesting review of a book entitled “NeuroTribes: The Legacy of Autism and the Future of Neurodiversity”, authored by Steve Silberman (534 pp. Avery/Penguin Random House).

Silberman describes how autism was discovered by a few different people around the same time, but with each the publicity around their work is warped by their environment and political situation.

This means that we mainly know the angle that one of the people took, which in turn warps our view of Aspergers and autism. Ironically, the lesser known story is actually that of Hans Asperger.

I reckon it’s an interesting read.

James Purser: Mark got a booboo

Mon, 2015-08-24 23:31

Mark Latham losing his AFR column because an advertiser thought his abusive tweets and articles weren't worth being associated with isn't actually a freedom of speech issue.

Nope, not even close to it.

Do you know why?


No one is stopping Latho from spouting his particular brand of down home "outer suburban dad" brand of putresence.

Hell, all he has to do to get back up and running is go and setup a wordpress account and he can be back emptying his bile duct on the internet along with the rest of us who don't get cushy newspaper jobs because we managed to completely screw over our political career in a most spectacular way

Hey, he could setup a Patreon account and everyone who wants to can support him directly, either monthly sub, or a per flatulence rate.

This whole thing reeks of a massive sense of entitlement, both with Latho himself and his media supporters. Bolt, Devine and others who have lept to his defence all push this idea that any move to expose writers to consequences arising from their rantings is some sort of mortal offense against democracy and freedom. Of course, while they do this, they demand the scalps of anyone who dares to write abusive rants against their own positions.


Oh and as I've been reminded, Australia doesn't actually have Freedom of Speech as they do in the US.

Blog Catagories: media

David Rowe: Dual Rav 4 SM1000 Installation

Mon, 2015-08-24 15:30

Andy VK5AKH, and Mark VK5QI, have mirror image SM1000 mobile installations, same radio, even the same car! Some good lessons learned on testing and debugging microphone levels that will be useful for other people installing their SM1000. Read all about it on Mark’s fine blog.

David Rowe: Codec 2 Masking Model Part 1

Mon, 2015-08-24 11:30

Many speech codecs use Linear Predictive Coding (LPC) to model the short term speech spectrum. For very low bit rate codecs, most of the bit rate is allocated to this information.

While working on the 700 bit/s version of Codec 2 I hit a few problems with LPC and started thinking about alternatives based on the masking properties of the human ear. I’ve written Octave code to prototype these ideas.

I’ve spent about 2 weeks on this so far, so thought I better write it up. Helps me clarify my thoughts. This is hard work for me. Many of the steps below took several days of scratching on paper and procrastinating. The human mind can only hold so many pieces of information. So it’s like a puzzle with too many pieces missing. The trick is to find a way in, a simple step that gets you a working algorithm that is a little bit closer to your goal. Like evolution, each small change needs to be viable. You need to build a gentle ramp up Mount Improbable.

Problems with LPC

We perceive speech based on the position of peaks in the speech spectrum. These peaks are called formants. To clearly perceive speech the formants need to be distinct, e.g. two peaks with a low level (anti-formant) region between them.

LPC is not very good at modeling anti-formants, the space between formants. As it is an all pole model, it can only explicitly model peaks in the speech spectrum. This can lead to unwanted energy in the anti-formants which makes speech sound muffled and hard to understand. The Codec 2 LPC postfilter improves the quality of the decoded speech by suppressing interformant-energy.

LPC attempts to model spectral slope and other features of the speech spectrum which are not important for speech perception. For example “flat”, high pass or low pass filtered speech is equally easy for us to understand. We can pass speech through a Q=1 bandpass or notch filter and it will still sound OK. However LPC wastes bits on these features, and get’s into trouble with large spectral slope.

LPC has trouble with high pitched speakers where it tends to model individual pitch harmonics rather than formants.

LPC is based on “designing” a filter to minimise mean square error rather than the properties of the human ear. For example it works on a linear frequency axis rather than log frequency like the human ear. This means it tends to allocates bits evenly across frequency, whereas an allocation weighted towards low frequencies would be more sensible. LPC often produces large errors near DC, an important area of human speech perception.

LPC puts significant information into the bandwidth of filters or width of formants, however due to masking the ear is not very sensitive to formant bandwidth. What is more important is sharp definition of the formant and anti-formant regions.

So I started thinking about a spectral envelope model with these properties:

  1. Specifies the location of formants with just 3 or 4 frequencies. Focuses on good formant definition, not the bandwidth of formants.
  2. Doesn’t care much about the relative amplitude of formants (spectral slope). This can be coarsely quantised or just hard coded using, e.g. voiced speech has a natural low pass spectral slope.
  3. Works in the log amplitude and log frequency domains.

Auditory Masking

Auditory masking refers to the “capture effect” of the human ear, a bit like an FM receiver. If you hear a strong tone, then you cant hear slightly weaker tones nearby. The weaker ones are masked. If you can’t hear these masked tones, there is no point sending them to the decoder. So we can save some bits. Masking is often used in (relatively) high bit rate audio codecs like MP3.

I found some Octave code for generating masking curves (Thanks Jon!), and went to work applying masking to Codec 2 amplitude modelling.

Masking in Action

Here are some plots to show how it works. Lets take a look at frame 83 from hts2a, a female speaker. First, 40ms of the input speech:

Now the same frame in the frequency domain:

The blue line is the speech spectrum, the red the amplitude samples {Am}, one for each harmonic. It’s these samples we would like to send to the decoder. The goal is to encode them efficiently. They form a spectral envelope, that describes the speech being articulated.

OK so lets look at the effect of masking. Here is the masking curve for a single harmonic (m=3, the highest one):

Masking theory says we can’t hear any harmonics beneath the level of this curve. This means we don’t need to send them over the channel and can save bits. Yayyyyyy.

Now lets plot the masking curves for all harmonics:

Wow, that’s a bit busy and hard to understand. Instead, lets just plot the top of all the masking curves (green):

Better. We can see that the entire masking curve is dominated by just a few harmonics. I’ve marked the frequencies of the harmonics that matter with black crosses. We can’t really hear the contribution from other harmonics. The two crosses near 1500Hz can probably be tossed away as they just describe the bottom of an anti-formant region. So that leaves us with just three samples to describe the entire speech spectrum. That’s very efficient, and worth investigating further.

Spectral Slope and Coding Quality

Some speech signals have a strong “low pass filter” slope between 0 an 4000Hz. Others have a “flat” spectrum – the high frequencies are about the same level as low frequencies.

Notice how the high frequency harmonics spread their masking down to lower frequencies? Now imagine we bumped up the level of the high frequency harmonics, e.g. with a first order high pass filter. Their masks would then rise, masking more low frequency harmonics, e.g. those near 1500Hz in the example above. Which means we could toss the masked harmonics away, and not send them to the decoder. Neat. Only down side is the speech would sound a bit high pass filtered. That’s no problem as long as it’s intelligible. This is an analog HF radio SSB replacement, not Hi-Fi.

This also explains why “flat” samples (hts1a, ve9qrp) with relatively less spectral slope code well, whereas others (kristoff, cq_ref) with a strong spectral slope are harder to code. Flat speech has improved masking, leaving less perceptually important information to model and code.

This is consistent with what I have heard about other low bit rate codecs. They often employ pre-processing such as equalisation to make the speech signal code better.

Putting Masking to work

Speech compression is the art of throwing stuff away. So how can we use this masking model to compress the speech? What can we throw away? Well lets start by assuming only the samples with the black crosses matter. This means we get to toss quite a bit of information away. This is good. We only have to transmit a subset of {Am}. How I’m not sure yet. Never mind that for now. At the decoder, we need to synthesise the speech, just from the black crosses. Hopefully it won’t sound like crap. Let’s work on that for now, and see if we are getting anywhere.

Attempt 1: Lets toss away any harmonics that have a smaller amplitude than the mask (Listen). Hmm, that sounds interesting! Apart from not being very good, I can hear a tinkling sound, like trickling water. I suspect (but haven’t proved) this is because harmonics are coming and going quickly as the masking model puts them above and below the mask, which makes them come and go quickly. Little packets of sine waves. I’ve heard similar sounds on other codecs when they are nearing their limits.

Attempt 2: OK, so how about we set the amplitude of all harmonics to exactly the mask level (Listen): Hmmm, sounds a bit artificial and muffled. Now I’ve learned that muffled means the formants are not well formed. Needs more difference between the formats and anti-formant regions. I guess this makes sense if all samples are exactly on the masking curve – we can just hear ALL of them. The LPC post filter I developed a few years ago increased the definition of formants, which had a big impact on speech quality. So lets try….

Attempt 3: Rather than deleting any harmonics beneath the mask, lets reduce their level a bit. That way we won’t get tinkling – harmonics will always be there rather than coming and going. We can use the mask instead of the LPC post filter to know which harmonics we need to attenuate (Listen).

That’s better! Close enough to using the original {Am} (Listen), however with lots of information removed.

For comparison here is Codec 2 700B (Listen and Codec 2 1300 (aka FreeDV 1600 when we add FEC) Listen. This is the best I’ve done with LPC/LSP to date.

The post filter algorithm is very simple. I set the harmonic magnitudes to the mask (green line), then boost only the non-masked harmonics (black crosses) by 6dB. Here is a plot of the original harmonics (red), and the version (green) I mangle with my model and send to the decoder for synthesis:

Here is a spectrogram (thanks Audacity) for Attempt 1, 2, and 3 for the first 1.6 seconds (“The navy attacked the big”). You can see the clearer formant representation with Attempt 3, compared to Attempt 2 (lower inter-formant energy), and the effect of the post filter (dark line in center of formants).

Command Line Kung Fu

If you want to play along:

~/codec2-dev/build_linux/src$ ./c2sim ../../raw/kristoff.raw --dump kristoff


octave:49> newamp_batch("../build_linux/src/kristoff");


~/codec2-dev/build_linux/src$ ./c2sim ../../raw/kristoff.raw --amread kristoff_am.out -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q

The “newamp_fbf” script lets you single step through frames.


To synthesise the speech at the decoder I also need to come up with a phase for each harmonic. Phase and speech is still a bit of a mystery to me. Not sure what to do here. In the zero phase model, I sampled the phase of the LPC synthesis filter. However I don’t have one of them any more.

Lets think about what the LPC filter does with the phase. We know at resonance phase shifts rapidly:

The sharper the resonance the faster it swings. This has the effect of dispersing the energy in the pitch pulse exciting the filter.

So with the masking model I could just choose the center of each resonance, and swing the phase about madly. I know where the center of each resonance is, as we found that with the masking model.

Next Steps

The core idea is to apply a masking model to the set of harmonic magnitudes {Am} and select just 3-4 samples of that set that define the mask. At the decoder we use the masking model and a simple post filter to reconstruct a set of {Am_} that we use to synthesise the decoded speech.

Still a few problems to solve, however I think this masking model holds some promise for high quality speech at low bit rates. As it’s completely different to conventional LPC/LSP I’m flying blind. However the pieces are falling into place.

I’m currently working on i) how to reduce the number of samples to a low number ii) how to determine which ones we really need (e.g. discarding interformant samples); and iii) how to represent the amplitude of each sample with a low or zero number of bits. There are also some artifacts with background noise and chunks of spectrum coming and going.

I’m pretty sure the frequencies of the samples can be quantised coarsely, say 3 bits each using scalar quantisation, or perhaps 8 bit/s frame using VQ. There will also be quite a bit of correlation between the amplitudes and frequencies of each sample.

For voiced speech there will be a downwards (low pass) slope in the amplitudes, for unvoiced speech more energy at high frequencies. This suggests joint VQ of the sample frequencies and amplitudes might be useful.

The frequency and amplitude of the mask samples will be highly correlated in time (small frame to frame variations) so will have good robustness to bit errors if we apply trellis decoding techniques. Compared to LPC/LSP the bandwidth of formants is “hard coded” by the masking curves, so the dreaded LSPs-too-close due to bit errors R2D2 noises might be a thing of the past. I’ll explore robustness to bit errors when we get to the fully quantised stage.

Sridhar Dhanapalan: Twitter posts: 2015-08-17 to 2015-08-23

Mon, 2015-08-24 00:27

David Rowe: A Miserable Debt Free Life Part 2

Sun, 2015-08-23 09:31

The first post was very popular, and sparked debate all over the Internet. I’ve read many of the discussions, and would like to add a few points.

Firstly I don’t feel I did a very good job of building my assets – plenty of my friends have done much better in terms of net worth and/or early retirement. Many have done the Altruism thing better than I. Sites like Mr. Money Moustache do a better job at explaining the values I hold around money. Also I’ve lost interest in more accumulation, but my lifestyle seems interesting to people, hence these posts.

The Magical 10%

The spreadsheet I put up was not for you. It was just a simple example, showing how compound interest, savings and time can work for you. Or against you, if you like easy credit and debt. A lot of people seem hung up on the 10% figure I used.

I didn’t spell out exactly what my financial strategy is for good reason.

You need to figure out how to achieve your goals. Maybe its saving, maybe it’s getting educated to secure a high income, or maybe it’s nailing debt early. Some of my peers like real estate. I like shares, a good education, professional experience, and small business. I am mediocre at most of them. I looked at other peoples stories, then found something that worked for me.

But you need to work this out. It’s part of the deal, and you are not going to get the magic formula from a blog post by some guy sitting on a couch with too much spare time on his hands and an Internet connection.

The common threads are spending less than your earn, investment, and time. And yes, this is rocket science. The majority of the human race just can’t do it. Compound interest is based on exponential growth – which is completely under-appreciated by the human race. We just don’t get exponential growth.


Another issue around the 10% figure is risk. People want guarantees, zero risk, a cook book formula. Life doesn’t work like that. I had to deal with shares tumbling after 9/11 and the GFC, and a divorce. No one on a forum in the year 2000 told me about those future events when I was getting serious about saving and investing. Risk and return are a part of life. The risk is there anyway – you might lose your job tomorrow or get sick or divorced or have triplets. It’s up to you if you want to put that risk to work or shy away from it.

Risk can be managed, plan for it. For example you can say “what happens if my partner loses his job for 12 months”, or “what happens if the housing market dips 35% overnight”. Then plug those numbers in and come up with a strategy to manage that risk.

Lets look at the down side. If the magical 10% is not achieved, or even if a financial catastrophe strikes, who is going to be in a better position? Someone who is frugal and can save, or someone maxed out on debt who can’t live without the next pay cheque?

There is a hell of lot more risk in doing nothing.

Make a Plan and Know Thy Expenditure

Make your own plan. There is something really valuable in simply having a plan. Putting some serious thought into it. Curiously, I think this is more valuable than following the plan. I’m not sure why, but the process of planning has been more important to me than the actual plan. It can be a couple of pages of dot points and a single page spreadsheet. But write it down.

Some people commented that they know what they spend, for example they have a simple spreadsheet listing their expenses or a budget. Just the fact that they know their expenditure tells me they have their financial future sorted. There is something fundamental about this simple step. The converse is also true. If you can’t measure it, you can’t manage it.

No Magic Formula – It’s Hard Work

If parts of my experience don’t work for you, go and find something that does. Anything of value is 1% inspiration and 99% perspiration. Creating your own financial plan is part of the 99%. You need to provide that. Develop the habit of saving. Research investment options that work for you. Talk to your successful friends. Learn to stop wasting money on stuff you don’t need. Understand compound interest in your saving and in your debt. Whatever it takes to achieve your goals. These things are hard. No magic formula. This is what I’m teaching my kids.

Work your System

There is nothing unique about Australia, e.g. middle class welfare, socialised medicine, or high priced housing. Well it is quite nice here but we do speak funny and the drop bears are murderous. And don’t get me started on Tony Abbott. The point is that all countries have their risks and opportunities. Your system will be different to mine. Health care may suck where you live but maybe house prices are still reasonable, or the average wage in your profession is awesome, or the cost of living really low, or you are young without dependents and have time in front of you. Whatever your conditions are, learn to make them work for you.

BTW why did so few people comment on the Altruism section? And why so many on strategies for retiring early?

Binh Nguyen: Cracking a Combination Lock, Some Counter-Stealth Thoughts, and More Apple Information

Sat, 2015-08-22 23:55
Someone was recently trying to sell a safe but they didn't have the combination (they had proof of ownership if you're wondering). Anybody who has been faced with this situation is often torn because sometimes the item in question is valuable but the safe can be of comparable value so it's a lose lose situation. If you remember that the original combination then all is fine and well (I first encountered this situation in a hotel when I locked something but forgot the combination. It took me an agonising amount of time to recall the unlock code). If not, you're left with physical destruction of the safe to get back in, etc...

Tips on getting back in:

- did you use mneumonics of some sort to get at the combination?

- is there a limitation on the string that can be entered (any side intelligence is useful)?

- is there a time lock involved?

- does changing particular variables make it easier to get back in non-descructively?

- keep a log on the combinations that you have tried to ensure you don't re-cover the same territory

In this case, things were a bit odd. It had rubber buttons which when removed exposed membrane type switches which could be interfaced via an environmental sensor acquisition and interface device (something like an Arduino)(if you're curious this was designed and produced by a well known international security firm proving that brand doesn't always equate to quality). Once you program it and wire things up correctly, it's simply a case of letting your robot and program run until you open the safe. Another option is a more robust robot where it pushes buttons but obviously this takes quite a bit more hardware (which can make the project pretty expensive and potentially unworthwhile) to get working.

As I covered in my book on 'Cloud and Internet Security' please use proper locks with adequate countemeasures (time locks, variable string lengths, abnormal characters, shim proof, relatively unbreakable, etc...) and have a backup in case something goes wrong.

Been thinking about stealth design and counter measures a bit more.

- when you look at the the 2D thrust vectoring configuration of the F-22 Raptor you think why didn't they go 3D at times. One possible reason may be the 'letterbox effect'. It was designed as an air superiority fighter predominantly that relies heavily on BVR capabilities. From front on the plume effect is diminished (think about particle/energy weapon implementation problems) making it more difficult to detect. Obviously, this potentially reduces sideward movement (paricularly in comparison with 3D TVT options. Pure turn is more difficult but combined bank and turn isn't). Obvious tactic is to force the F-22 into sideward movements if it is ever on your tail (unlikely, due to apparently better sensor technology though)

- the above is a null point if you factor in variable thrust (one engine fires at a higher rate of thrust relative to the other) but it may result in feedback issues. People who have experience with fly by wire systems or high performance race cars which are undertuned will better understand this

- people keep on harping on about how 5th gen fighters can rely more heavily on BVR capabilities. Something which is often little spoken of is the relatively low performance of AAM (Air to Air Missile) systems (Morever, there is a difference between seeing, achieving RADAR lock, and achieving a kill). There must be upgrades along the way/in the pipeline to make 5th gen fighters a viable/economic option into the future

- the fact that several allied nations (Japan, Korea, and Turkey are among them currently)(India, Indonesia, and Russia are among those who are developing their own based on non-Western design) are developing their own indiginous 5th gen fighters which have characteristics more similar to the F-22 Raptor (the notable exception may be Israel who are maintaining and upgrading their F-15 fleet) and have air superiority in mind tells us that the F-35 is a much poorer brother to the F-22 Raptor in spite of what is being publicly said

Warplanes: No Tears For The T-50

- it's clear that the US and several allied nations believe that current stealth may have limited utility in the future. In fact, the Israeli's have said that within 5-10 years the JSF may lost any significant advantage that it currently has without upgrades

- everyone knows of the limited utility of AAM (Air to Air Missile) systems. It will be interesting to see whether particle/energy weapons are retrofitted to the JSF or whether they will be reserved entirely for 6th gen fighters. I'd be curious to know how much progress they've made with regards to this particularly with regards to energy consumption

- even if there have been/are intelligence breaches in the design of new fighter jets there's still the problem of production. The Soviets basically had the complete blue prints for NASA's Space Shuttle but ultimately decided against using it on a regular basis/producing more because like the Americans they discovered that it was extremely uneconomical. For a long time, the Soviets have trailed the West with regards to semiconductor technology which means that their sensor technology may not have caught up. This mightn't be the case with the Chinese. Ironically, should the Chinese fund the Russians and they work together they may achieve greater progress then working too independently

- some of the passive IRST systems out have current ranges of about 100-150km mark (that is publicly acknowledged)

- disoriention of gyroscopes has been used as a strategy against UCAV/UAVs. I'd be curious about how such technology would work against modern fighters which often go into failsafe mode (nobody wants to lose a fighter jet worth 8 or more figures. Hence, the technology) when the pilot blacks out... The other interesting thing would be how on field technologies such as temporal sensory deprivation (blinding, deafening, dis-orirentation, etc...) could be used in unison from longer range. All technologies which have been tested and used against ground based troops before)

- I've been thinking/theorising about some light based detection technologies to aircraft in general. One option I've been considering is somewhat like a sperical ball. The spherical ball is composed of lenses which focus in on a centre which is composed of sensors which would be a hybrid based technology based on the photoelectric effect and spectrascopic theory. The light would automatically trigger a voltage (much like a solar cell) while use of diffraction/spectrascopic theory would enable identification of aircraft from long range using light. The theory behind this is based on the way engine plumes work and the way jet fuels differ. Think about this carefully. Russian rocket fuel is very different from Western rocket fuel. I suspect it's much the same for jet fuel. We currently identify star/planet composition on roughly the same theory. Why not fighter aircraft? Moreover, there are other distinguishing aspects of the jet fighter nozzle exhausts (see my previous post and the section on LOAN systems, Think about the length and shape of each one based on their current flight mode (full afterburner, cruising, etc...) and the way most engine exhausts are unique (due to a number of different reasons including engine design, fuel, etc...). Clearly, the F-22, F-35, B-2, and other stealth have very unique nozzle shapes when compared to current 4th gen fighter options and among one another. The other thing is that given sufficient research (and I suspect a lot of time) I believe that the benefits of night or day flight will/could be largely mitigated. Think about the way in which light and camera filters (and night vision) work. They basically screen out based on frequency/wavelength to make things more visible. You should be able achieve the same thing during daylight. The other bonus of such technology is that it is entirely passive giving the advantage back to the party in defense and intelligence is relatively easy to collect. Just show up at a demonstration or near an airfield... 

- such technology may be a moot point as we have already made progress on cloaking (effectively invisible to the naked eye) technology (though exact details are classified as is a lot of other details regarding particle/energy weapons and shielding technologies)... There's also the problem of straight lines. For practical purposes, light travels in straight lines... OTH type capabilities are beyond such technology (for the time being. Who knows what will happen in the future?)

- someone may contest that I seem to be focusing in on exhaust only but as as you aware this style of detection should also work against standard objects as well (though it's practicallity would be somewhat limited). Just like RADAR though you give up on being able to power through weather and other physical anomalies because you can't use a conventional LASER. For me, this represents a balance between being detected from an attackers perspective and being able to track them from afar... If you've ever been involved in a security/bug sweep you will know that a LASER even of modest power can be seen from quite a distance away

- everybody knows how dependent allied forces are upon integrated systems (sensors, re-fuelling, etc...)

- never fly straight and level against a 5th gen fighter. Weave up and down and side to side even on patrols to maximise the chances of detection earlier in the game because all of them don't have genuine all aspect stealth

- I've been thinking of other ways of defending against low observability aircraft. The first is based on 'loitering' weapons. Namely, weapons which move at low velocity/loiter until they come within targeting range of aicraft. Then they 'activate' and chase their target much like a 'moving mine' (a technology often seen in cartoons?). Another is essentially turning off all of your sensors once they become within targeting range. Once they end up in passive detection range, then you fire in massive, independent volleys knowing full well that low observability aircraft have low payload capability owing to comprimises in their design

- as stated previously, I very much doubt that the JSF is as bad some people are portraying

- it's clear that defense has become more integrated with economics now by virtue of the fact that most of our current defense theory is based on the notion of deterrence. I beleive that the only true way forward is reform of the United Nations, increased use of un-manned technologies, and perhaps people coming to terms with their circumstances more differently (unlikely given how long humanity has been around), etc... There is a strong possibility that the defense estabilshment's belief that future defense programs could be unaffordable could become true within the context of deterence and our need to want to control affairs around the word. We need cheaper options with the ability to 'push up' when required...

All of this is a moot point though because genuine 5th gen fighters should be able to see you from a mile off and most countries who have entered into the stealth technology arena are struggling to build 5th gen options (including Russia who have a long history in defense research and manufacturing). For the most part, they're opting for a combination of direct confrontation and damage limitation through reduction of defensive projection capability through long range weapons such as aicraft carrier destroying missiles, targeting of AWACS/refuelling systems, etc... and like for like battle options...

I've been working on more Apple based technolgy of late (I've been curious about the software development side for a while). It's been intriguing taking a closer look at their hardware. Most people I've come across have been impressed by the Apple ecosystem. To be honest, the more I look at the technology borne from this company the more 'generic' them seem. Much of the technology is simply repackaged but in a better way. They've had more than their fair share of problems.

How to identify MacBook models

How to identify MacBook Pro models

A whole heap of companies including graphic card, game console, and computer manufacturers were caught out with BGA implementation problems (basically, people tried to save money by reducing the quality of solder. These problems have largely been fixed much like the earlier capacitor saga). Apple weren't immune

Lines on a screen of an Apple iMac. Can be due to software settings, firmware, or hardware

Apparently, Macbooks get noisy headjacks from time to time. Can be due to software settings or hardware failure

One of the strangest things I've found is that in spite of a core failure of primary storage device people still try to sell hardware for almost what the current market value of a perfectly functional machine is. Some people still go for it but I'm guessing they have spare hardware lying around

There are some interesting aspects to their MagSafe power adapters. Some aspects are similar to authentication protocols used by manufacturers such as HP to ensure that that everthing is safe and that only original OEM equipment is used. Something tells me they don't do enough testing though. They seem to have a continuous stream of anomalous problems. It could be similar to the Microsoft Windows security problem though. Do you want an OS delivered in a timely fashion or one that is deprecated but secure at a later date (delivered in a lecture by a Microsoft spokesman a while back). You can't predict everything that happens when things move into mass scale production but I would have thought that the 'torquing' problem would have been obvious from a consumer engineering/design perspective from the outset...

Macbook power adapter compatibility

Overheating problems on Macbooks quite common

Upgrading Apple laptop hard drives is similar in complexity to that of PC based laptops

One thing has to be said of Apple hardware construction. It's radically different to that of PC based systems. I'd rather deal with a business class laptop that is designed to be upgraded and probably exhibits greater reliability to be honest. Opening a lot of their devices has told me that form takes too much in the ratio between form and function

One frustrating aspect of the Apple ecosystem is that they gradually phase out support of old hardware by inserting pre-requisite checking. Thankfully, as others (and I) have discovered bypassing some of their checks can be trivial at times

David Rowe: Hamburgers versus Oncology

Sat, 2015-08-22 08:30

On a similar, but slightly lighter note, this blog was pointed out to me. The subject is high (saturated) fat versus carbohydrate based diets, which is an ongoing area of research, and may (may) be useful in managing diabetes. This gentleman is a citizen scientist (and engineer no less) like myself. Cool. I like the way he using numbers and in particular the way data is presented graphically.

However I tuned out when I saw claims of “using ketosis to fight cancer”, backed only by an anecdote. If you are interested, this claim is throughly debunked on

Bullshit detection 101 – if you find a claim of curing cancer, it’s pseudo-science. If the evidence cited is one persons story (an anecdote) it’s rubbish. You can safely move along. It shows a dangerous leaning towards dogma, rather than science. Unfortunately, these magical claims can obscure useful research in the area. For example exploring a subtle, less sensational effect between a ketogenic diet and diabetes. That’s why people doing real science don’t make outrageous claims without very strong evidence – its kills their credibility.

We need short circuit methods for discovering pseudo science. Otherwise you can waste a lot of time and energy investing spurious claims. People can get hurt or even killed. Takes a lot less effort to make a stupid claim than to prove it’s stupid. These days I can make a call by reading about 1 paragraph, the tricks used to apply a scientific veneer to magical claims are pretty consistent.

A hobby of mine is critical thinking, so I enjoy exploring magical claims from that perspective. I am scientifically trained and do R&D myself, in a field that I earned a PhD in. Even with that background, I know how hard it is to create new knowledge, and how easy it is to fool myself when I want to believe.

I’m not going to try bacon double cheeseburger (without the bun) therapy if I get cancer. I’ll be straight down to Oncology and take the best that modern, evidence based medicine can give, from lovely, dedicated people who have spent 20 years studying and treating it. Hit me with the the radiation and chemotherapy Doc! And don’t spare the Sieverts!