Bed's Stuff - Articles in Tech Talk category

Thoughts and Analysis on COVIDSafe

As a way to help track the spread of COVID19 throughout Australia, the Australian government has rushed to market an app called COVIDSafe. Having data on COVID19 infections is a good thing, knowing when you have been in high risk of a being infected by a contagious person will enable government to identify outbreaks quickly and is a key step towards relaxing lockdown restrictions. The cause for this app is good! However there is rightly a lot of concern about two areas in particular - privacy and effectiveness.

As a former and still occasional iOS developer, I've been able to pull out the iPhone App's contents and see what's there. My long time friend Charles Gutjahr has done some detailed logging of the app including bluetooth activity while the phone is in various states. On the Android side, Matthew Robbins on Twitter has decompiled the Java code with great success. As such, despite the government not open-sourcing the app, it is very clear what the app is and isn't doing. We don't have to trust the government (because I sure as hell don't) - the notes below have been confirmed and are facts.

What? How?

The app uses bluetooth signals to detect other phones (like AirDrop does when sharing photos to a person standing next to you). The strength of the signal can allow a guess of how close you are to that person.

Its for this scenerio:

  • you and I hang out.
  • a week later I get a positive COVID19 test.
  • I mark myself as positive in the app and upload my contact data.
  • you immediately get notified that you should be tested.

This allows outbreaks to be detected quickly, which is necessary knowledge for allowing the rest of economy to stay open.

Privacy Concerns

There are various privacy concerns going on about this app:

"I don't want COVIDSafe tracking me"

The app does not access your location, it does not know your GPS co-ordinates and doesn't send them anywhere. While ANY app and website that talks to a server, can guess your general location (ie Melbourne, Sydney) by your Internet Address, this is often not very accurate. If you're concnerned about this, stay off the internet completely!

"I don't want the Govenrment to have a record of everyone I'm in contact with"

The app does not send your contact data anywhere without your express consent. If you have been given …

Read More

Android Dev First Impression - WTFOMGBBQ

So I'm setting up the android SDK to play with, installing the Google "Android Developer Kit" which contains a modfiied Eclipse preconfigured with the android SDK. OK sounds good.

Except on creating a new empty blank project it throws errors and I can't build shit. So I google and many other people have this problem - it  seems to be related to the eclipse/SDK versions as what I have isn't up to date - even though this all came from the latest download package available.

So I upgrade the android dev tools using the android SDK manager to the latest versions - all good. But when I try to update eclipse, it throws errors about not being able to reach the update servers. So I goggle - and I needed to remove the file "log4j-1.2.15.jar" from /Library/Java/Extensions/ - because somehow that java extension mucks up eclipse's ability to talk to the internet. o_O

So I do that and checking for updates in eclipse no-longer throws an error - BUT -  it finds no update. Meanwhile the updated android SDK eclipse plugin is complaining saying that its incompatible with the old version of eclipse I have, and that I should update eclipse. But eclipse can't find any updates!

So I go back to google and it turns out that I need to update eclipse via the "Install New Software" option - which I try, and it then determines that it needs to UPDATE and not install new, which I say "yes f&cking please" and it starts... but then throws an error about not being able to download files! RAGE!

Back to google and the answer is to disable the 'http' update source and enable the 'https' update source. Installing 'new' software again and it worked - although it did warned me that its updating unsigned or verified content - 'sif I care at this stage- but finally I can create a blank project without any errors.

Lesson: I'm never complaining about xcode again - even in iOS 2.0 when the AppStore launched, I was able to just download and install xcode and start making an iPhone app with the simulator (although getting it onto a device was all sorts of pain). Not off to an impressive start Android! Hopefully the new Android Studio will be better, when its ready for production use.

Read More

Dear Australian eBook publishers on Apple's iBookStore

Dear Australian eBook publishers on Apple's iBookStore,

Compare these two pictures and tell me why on earth I'd buy from iBooks and not Amazon?dd

ibooks

amazon

Here's a tip, don't try and sell an ebook for the same price I can pickup a physical copy of the book. AU$9.99 for an ebook is about the right price, AU$29.99 is not. As much of an Apple fan I am, and as much iTunes credit I have sitting there, I'm not going to spend 3x the amount just for the 'Apple experience'. Besides I much prefer the Kindle (on iPhone & iPad) app over the iBook app, Apple pay attention to that too.

Read More

Setting up a Trac Server Under OS X 10.6

Trac is an excellent open source tool that allows you to manage a software project;s development life cycle, incorporating a wiki with issue/bug tracking while integrating with a source control service such as subversion. Months ago I had set up a subversion server which was working great on my iMac. I then wanted to setup a Trac server to go along with it so I could manage all aspects for my projects properly. Here's how I did it.

Installing and setting up Trac

Trac is written in the python scripting language, also requiring a number of other third party libraries. While a compatible version of python comes pre-shipped with OS X 10.6, these prequisite libraries do not. However its extremely easy to install trac along with all its prequisites by using python's great 'easy_install' feature. Simply fire up a command line by launching Terminal.app and run the following command:

sudo easy_install trac

This will download and install everything you need for you without further input, so let it do its thing and when its finished we are ready to create our Trac environment. Because I had previously set up my subversion server under a dedicated OS X user 'svn', I wanted to run trac under the same user. Thus I was going to create my trac environment in the /Users/svn/trac/newproject directory and do so by ensuring it was created with appropriate permissions for the svn user. This can be done by prefixing any command with 'sudo -u svn', which will run the command as the svn user. For steps on setting up a dedicated user for this purpose see my previous subversion howto. Run the following command (after ensuring /Users/svn/trac/ has been created) in the terminal:

sudo -u svn trac-admin /Users/svn/trac/newProject initenv

This will create a whole bunch of directories and files and you can then run the standalone Trac server manually to check that these first steps have worked:

sudo -u svn tracd --port=8000 /Users/svn/trac/newProject

This will make the trac server listen on TCP port 8000, so we can then browse in Safari or the browser of choice to http://127.0.0.1:8000 and see that we have a trac server running. Its not terribly useful yet however, as we still need to create users, assign administrator privileges to somebody and …

Read More

Fugliest iPhone App EVER

I didn't think it was possible for any iPhone application to be as ugly as a windows mobile application. I was wrong.

fugly

Its so bad it makes my eyes bleed. How did this get past the Apple approvers? My mind boggles.

Read More

About

Andrew Bednarz - otherwise known as Bed, is a Technical Director at Shadowboxer. Husband. Father. Nerd. Former and occasional software engineer. An optimisitic pessimist 🤘