One of my papers this semester is focused on Google Android Mobile Operating System.
The brief for my final assignment is:
Your task is to write any application you like. The are no restrictions on what your application can do but it should show of the capabilities of the platform and be well written.
Marks will be awarded for interesting applications that make good use of the Android platform.
Make sure your application works on the emulator but I will also test it on a real device.
For this assignment I decided to create a Blog Reader that reads the RSS XML feeds off blogs to display them in a Android Application.
I have spent around three days coding this assignment. I will not release the code until after the assignment has been marked, however here are some screen shots of the work
My Application Sitting in the Android Application Menu on my phone
This one shows changes that have been made to the intersection controllers within the Traffic Simulator.
The give-way controller makes all the cars give way to all the other roads connected into the intersection with a minimum of 2.5 seconds between vehicles.
The traffic lights controller makes all the cars on the green road go at 2 second intervals and makes the others queue with a minimum wait time of 16 seconds.
The round-a-bout controller makes each car give way to the right and then go with a minimum of 3.9 seconds between each car on a road, but multiple cars from multiple roads can cross the intersection at the same time… hence the chaos on the video.
Okay, now there is no excuse for any geek or anyone with a keen interest in computers to not try out linux.
For the past year and a bit I have been playing around with Virtualbox and virtualization, the major problem here however is the speed of booting, and drivers etc as it is in an emulated/simulated environment.
Enter WUBI. Wubi is an installer that allows you to install Ubuntu and Linux Mint on an NTFS partiation and use the windows boot loader so it does absolute nothing to windows at all. And to make matters better you can access your windows files straight out of the box.
I have now had a WUBI Ubunutu set up for the past week and it is brilliant.
I am now trying a new distro called Linux Mint which is aimed at end users.
If you want some help getting it installed or just want to try it out just contact me, it is brilliant just really awesome.
Okay, the traffic simulator project has been slow going over the past few weeks, just not been very focussed and playing with DLA and other assignments too much.
This morning/arvo I changed some of the code and layout of how cars were being generated. Now instead of a car know what road it is on it has been reversed, so each road has its own collection of cars to manage. With some changes to how the graphics are produced this now means that cars are now rendered at the same time as each road. A that allows perfect placement of cars onto roads rather than having to do a mathematically approximation. Clear as mud?
Okay as part of my internship I have to deal with a huge number of text strings.
These strings come into the program unsorted and they must be sorted and each one must be unique. (i.e. no duplicates).
Now there are a few different ways to be able to store this data.
A SortedList, SortedDictionary, or two different forms of lists, the first where before each add you check to make sure that the data doesn’t already exist, and the second where you just add then sort then remove duplicates at a later time.
Two work out what one would be best I wrote a program to determine which form of storage operated the fastest on input. The results follow and then the code for how I did it.
As you can see the SortedDictionary worked the best, however at the early stages both the SortedList and Duplicate List gave it a run for it’s money.
Results
Sorted List Test: 00:00:00.1169883 Input: 5000 4000 List Size: 2838
Sorted Dictionary Test: 00:00:00.1339866 Input: 5000 4000 List Size: 2858
Unique List Test: 00:00:00.1119888 Input: 5000 4000 List Size: 2862
Duplicate List Test: 00:00:00.0239976 Input: 5000 4000 List Size: 2832
Sorted List Test: 00:00:01.3768623 Input: 50000 40000 List Size: 28516
Sorted Dictionary Test: 00:00:01.0678932 Input: 50000 40000 List Size: 28466
Unique List Test: 00:00:12.3097689 Input: 50000 40000 List Size: 28384
Duplicate List Test: 00:00:01.2058794 Input: 50000 40000 List Size: 28549
Sorted List Test: 00:01:36.9733017 Input: 500000 400000 List Size: 285367
Sorted Dictionary Test: 00:00:12.3307668 Input: 500000 400000 List Size: 285422
Duplicate List Test: 00:02:32.7467238 Input: 500000 400000 List Size: 285506
Sorted Dictionary Test: 00:02:37.8040000 Input: 5000000 4000000 List Size: 2854095