I’ve finally updated my iPad from an original iPad Mini (64GB) to a new iPad 6th Generation (128GB). The old iPad Mini was struggling with software updates and would not run the latest iOS. I’ve paired the new iPad with a Logitech Slim Folio iPad Keyboard Case.
This blog post was created on the new kit. I’ll post updates and reviews as I go.
Showing posts with label Computers. Show all posts
Showing posts with label Computers. Show all posts
Wednesday, January 02, 2019
Thursday, September 13, 2018
Rebble?
Just found this:
http://rebble.io
Is there life left in my Pebble smartwatches still?
Edit: Maybe not. Sadly, the hardware seems to be failing. I'm seeing lots of intermittent issues with the LCD screen.
http://rebble.io
Is there life left in my Pebble smartwatches still?
Edit: Maybe not. Sadly, the hardware seems to be failing. I'm seeing lots of intermittent issues with the LCD screen.
Sunday, August 26, 2018
[Part 7] Arduino Data Logger
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Project: DataLogger
// Version: 0.4
// Date: 26 August 2018
// Author: Greg Howell <gjhmac@gmail.com>
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Version Date Comments
// 0.4 26 August 2018 Modified code to only log to the SD card if the new value is different to the old value
// 0.3 30 June 2018 Added debugging and diagnostics on serial port, sped up ADC for analogue read (128kHz -> 1MHz), fixed "A REF"
// 0.2 26 April 2018 Addition of switch to enable/disable logging to SD card and LED to indicate logging status
// 0.1 17 February 2018 Initial Development
//
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Description:
// - Logs analog0 value to a text file on the SD card along with date/time stamp in CSV format
// - Maintains date/time via DS1302 Real Time Clock
// - Builds with Arduino 1.8.5
// ------------------------------------------------------------------------------------------------------------------------------------------------
// #includes
#include <SPI.h> // Serial Peripheral Interface
#include <SD.h> // SD Cards
#include <DS1302.h> // DS1302 RTC
const int chipSelect = 4;
const int buttonPin = 5; // Pin 5 is the button to enable/disable logging (digital input)
const int ledPin = 6; // Pin 6 is the LED indicate logging status (digital output)
const byte PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
const byte PS_16 = (1 << ADPS2);
int buttonState = 0; // initialise button state to off
int oldsensor; // variable to store the previous sensor value (used in loop())
// Init the DS1302
// Pin 2 = RST
// Pin 3 = DAT
// Pin 4 = CLK
DS1302 rtc(2, 3, 4);
// ------------------------------------------------------------------------------------------------------------------------------------------------
// setup()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void setup() {
ADCSRA &= ~PS_128; // remove prescale of 128
ADCSRA |= PS_16; // add prescale of 16 (1MHz)
analogReference(EXTERNAL); // Analogue reference set to "A REF" pin
pinMode(buttonPin, INPUT); // Initialize the pushbutton pin as an input
pinMode(ledPin, OUTPUT); // Initialize the LED pin as an output
rtc.halt(false); // Set the clock to run-mode
rtc.writeProtect(false); // and disable the write protection
Serial.begin(9600);
// Use following lines once to set clock if battery fails (modify to suit)
//rtc.setDOW(SUNDAY); // Set Day-of-Week to FRIDAY
//rtc.setTime(21, 50, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(26, 8, 2018); // Set the date to August 6th, 2010
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// Print current system date from RTC at start up
Serial.print("System date: ");
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()));
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
}
// ------------------------------------------------------------------------------------------------------------------------------------------------
// loop()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void loop() {
String dataString = ""; // make a string for assembling the data to log
int sensor = analogRead(A0); // read analogue
dataString += String(sensor); // construct string with analogue signal
buttonState = digitalRead(buttonPin); // read button state
// Logging enabled
if (buttonState == HIGH) {
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it
if (dataFile) {
// if the new data is different to the old data write it to file
if (sensor != oldsensor) {
// Write data to serial output
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
Serial.println(String(sensor) + "," + String(oldsensor));
// Write data to SD card
dataFile.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
dataFile.close();
}
else {
dataFile.close();
}
// set logging LED to high
digitalWrite(ledPin, HIGH);
}
// if the file isn't open, print an error
else {
digitalWrite(ledPin, LOW);
Serial.println("error opening datalog.txt");
}
}
// Logging disabled
else {
// set logging LED to low
digitalWrite(ledPin, LOW);
}
// set the old sensor value to the current sensor value (read at top of loop())
oldsensor = sensor;
// Wait before repeating :)
delay (500);
}
// Project: DataLogger
// Version: 0.4
// Date: 26 August 2018
// Author: Greg Howell <gjhmac@gmail.com>
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Version Date Comments
// 0.4 26 August 2018 Modified code to only log to the SD card if the new value is different to the old value
// 0.3 30 June 2018 Added debugging and diagnostics on serial port, sped up ADC for analogue read (128kHz -> 1MHz), fixed "A REF"
// 0.2 26 April 2018 Addition of switch to enable/disable logging to SD card and LED to indicate logging status
// 0.1 17 February 2018 Initial Development
//
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Description:
// - Logs analog0 value to a text file on the SD card along with date/time stamp in CSV format
// - Maintains date/time via DS1302 Real Time Clock
// - Builds with Arduino 1.8.5
// ------------------------------------------------------------------------------------------------------------------------------------------------
// #includes
#include <SPI.h> // Serial Peripheral Interface
#include <SD.h> // SD Cards
#include <DS1302.h> // DS1302 RTC
const int chipSelect = 4;
const int buttonPin = 5; // Pin 5 is the button to enable/disable logging (digital input)
const int ledPin = 6; // Pin 6 is the LED indicate logging status (digital output)
const byte PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
const byte PS_16 = (1 << ADPS2);
int buttonState = 0; // initialise button state to off
int oldsensor; // variable to store the previous sensor value (used in loop())
// Init the DS1302
// Pin 2 = RST
// Pin 3 = DAT
// Pin 4 = CLK
DS1302 rtc(2, 3, 4);
// ------------------------------------------------------------------------------------------------------------------------------------------------
// setup()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void setup() {
ADCSRA &= ~PS_128; // remove prescale of 128
ADCSRA |= PS_16; // add prescale of 16 (1MHz)
analogReference(EXTERNAL); // Analogue reference set to "A REF" pin
pinMode(buttonPin, INPUT); // Initialize the pushbutton pin as an input
pinMode(ledPin, OUTPUT); // Initialize the LED pin as an output
rtc.halt(false); // Set the clock to run-mode
rtc.writeProtect(false); // and disable the write protection
Serial.begin(9600);
// Use following lines once to set clock if battery fails (modify to suit)
//rtc.setDOW(SUNDAY); // Set Day-of-Week to FRIDAY
//rtc.setTime(21, 50, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(26, 8, 2018); // Set the date to August 6th, 2010
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// Print current system date from RTC at start up
Serial.print("System date: ");
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()));
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
}
// ------------------------------------------------------------------------------------------------------------------------------------------------
// loop()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void loop() {
String dataString = ""; // make a string for assembling the data to log
int sensor = analogRead(A0); // read analogue
dataString += String(sensor); // construct string with analogue signal
buttonState = digitalRead(buttonPin); // read button state
// Logging enabled
if (buttonState == HIGH) {
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it
if (dataFile) {
// if the new data is different to the old data write it to file
if (sensor != oldsensor) {
// Write data to serial output
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
Serial.println(String(sensor) + "," + String(oldsensor));
// Write data to SD card
dataFile.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
dataFile.close();
}
else {
dataFile.close();
}
// set logging LED to high
digitalWrite(ledPin, HIGH);
}
// if the file isn't open, print an error
else {
digitalWrite(ledPin, LOW);
Serial.println("error opening datalog.txt");
}
}
// Logging disabled
else {
// set logging LED to low
digitalWrite(ledPin, LOW);
}
// set the old sensor value to the current sensor value (read at top of loop())
oldsensor = sensor;
// Wait before repeating :)
delay (500);
}
Saturday, July 07, 2018
[Part 6] Arduino Data Logger
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Project: DataLogger
// Version: 0.3
// Date: 30 June 2018
// Author: Greg Howell
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Version Date Comments
// 0.3 30 June 2018 Added debugging and diagnostics on serial port, sped up ADC for analogue read (128kHz -> 1MHz), fixed "A REF"
// 0.2 26 April 2018 Addition of switch to enable/disable logging to SD card and LED to indicate logging status
// 0.1 17 February 2018 Initial Development
//
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Description:
// - Logs analog0 value to a text file on the SD card along with date/time stamp in CSV format
// - Maintains date/time via DS1302 Real Time Clock
// - Builds with Arduino 1.8.5
// ------------------------------------------------------------------------------------------------------------------------------------------------
// #includes
#include // Serial Peripheral Interface
#include // SD Cards
#include // DS1302 RTC
const int chipSelect = 4;
const int buttonPin = 5; // Pin 5 is the button to enable/disable logging (digital input)
const int ledPin = 6; // Pin 6 is the LED indicate logging status (digital output)
const byte PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
const byte PS_16 = (1 << ADPS2);
int buttonState = 0; // initialise button state to off
// Init the DS1302
// Pin 2 = RST
// Pin 3 = DAT
// Pin 4 = CLK
DS1302 rtc(2, 3, 4);
// ------------------------------------------------------------------------------------------------------------------------------------------------
// setup()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void setup() {
ADCSRA &= ~PS_128; // remove prescale of 128
ADCSRA |= PS_16; // add prescale of 16 (1MHz)
analogReference(EXTERNAL); // Analogue reference set to "A REF" pin
pinMode(buttonPin, INPUT); // Initialize the pushbutton pin as an input
pinMode(ledPin, OUTPUT); // Initialize the LED pin as an output
rtc.halt(false); // Set the clock to run-mode
rtc.writeProtect(false); // and disable the write protection
Serial.begin(9600);
// Use following lines once to set clock if battery fails (modify to suit)
//rtc.setDOW(THURSDAY); // Set Day-of-Week to FRIDAY
//rtc.setTime(15, 50, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(26, 4, 2018); // Set the date to August 6th, 2010
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// Print current system date from RTC at start up
Serial.print("System date: ");
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()));
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
}
// ------------------------------------------------------------------------------------------------------------------------------------------------
// loop()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void loop() {
String dataString = ""; // make a string for assembling the data to log
int sensor = analogRead(A0); // read analogue
dataString += String(sensor); // construct string with analogue signal
buttonState = digitalRead(buttonPin); // read button state
// Logging enabled
if (buttonState == HIGH) {
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it:
if (dataFile) {
// Write data to serial output
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
// Write data to SD card
dataFile.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
dataFile.close();
digitalWrite(ledPin, HIGH);
}
// if the file isn't open, pop up an error:
else {
digitalWrite(ledPin, LOW);
Serial.println("error opening datalog.txt");
}
}
// Logging disabled
else {
digitalWrite(ledPin, LOW);
}
// Wait before repeating :)
delay (200);
}
// Project: DataLogger
// Version: 0.3
// Date: 30 June 2018
// Author: Greg Howell
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Version Date Comments
// 0.3 30 June 2018 Added debugging and diagnostics on serial port, sped up ADC for analogue read (128kHz -> 1MHz), fixed "A REF"
// 0.2 26 April 2018 Addition of switch to enable/disable logging to SD card and LED to indicate logging status
// 0.1 17 February 2018 Initial Development
//
// ------------------------------------------------------------------------------------------------------------------------------------------------
// Description:
// - Logs analog0 value to a text file on the SD card along with date/time stamp in CSV format
// - Maintains date/time via DS1302 Real Time Clock
// - Builds with Arduino 1.8.5
// ------------------------------------------------------------------------------------------------------------------------------------------------
// #includes
#include
#include
#include
const int chipSelect = 4;
const int buttonPin = 5; // Pin 5 is the button to enable/disable logging (digital input)
const int ledPin = 6; // Pin 6 is the LED indicate logging status (digital output)
const byte PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
const byte PS_16 = (1 << ADPS2);
int buttonState = 0; // initialise button state to off
// Init the DS1302
// Pin 2 = RST
// Pin 3 = DAT
// Pin 4 = CLK
DS1302 rtc(2, 3, 4);
// ------------------------------------------------------------------------------------------------------------------------------------------------
// setup()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void setup() {
ADCSRA &= ~PS_128; // remove prescale of 128
ADCSRA |= PS_16; // add prescale of 16 (1MHz)
analogReference(EXTERNAL); // Analogue reference set to "A REF" pin
pinMode(buttonPin, INPUT); // Initialize the pushbutton pin as an input
pinMode(ledPin, OUTPUT); // Initialize the LED pin as an output
rtc.halt(false); // Set the clock to run-mode
rtc.writeProtect(false); // and disable the write protection
Serial.begin(9600);
// Use following lines once to set clock if battery fails (modify to suit)
//rtc.setDOW(THURSDAY); // Set Day-of-Week to FRIDAY
//rtc.setTime(15, 50, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(26, 4, 2018); // Set the date to August 6th, 2010
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// Print current system date from RTC at start up
Serial.print("System date: ");
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()));
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
}
// ------------------------------------------------------------------------------------------------------------------------------------------------
// loop()
// ------------------------------------------------------------------------------------------------------------------------------------------------
void loop() {
String dataString = ""; // make a string for assembling the data to log
int sensor = analogRead(A0); // read analogue
dataString += String(sensor); // construct string with analogue signal
buttonState = digitalRead(buttonPin); // read button state
// Logging enabled
if (buttonState == HIGH) {
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it:
if (dataFile) {
// Write data to serial output
Serial.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
// Write data to SD card
dataFile.println(String(rtc.getDateStr()) + "," + String(rtc.getTimeStr()) + "," + dataString);
dataFile.close();
digitalWrite(ledPin, HIGH);
}
// if the file isn't open, pop up an error:
else {
digitalWrite(ledPin, LOW);
Serial.println("error opening datalog.txt");
}
}
// Logging disabled
else {
digitalWrite(ledPin, LOW);
}
// Wait before repeating :)
delay (200);
}
Saturday, May 05, 2018
Saturday, April 28, 2018
[Part 2] Arduino Data Logger
- For the external plug pack I selected the POWERTRAN MB8968B from Altronics. Input is 100-240VAC @ 50-60Hz/0.8A, output is 24VDC @ 1A.
- To produce the 5VDC (from the 24VDC) for the Arduino I selected the Z6334 DC-DC Buck Module from Altronics. Input is 3-40VDC, output 1.5-35VDC @ 3A maximum (adjusted to provide a 5VDC output).
- To maintain the date and time while the logger is powered off I selected the DS1302 based Real Time Clock Module from Altronics. Reports online indicate that the DS1302 chip can be unreliable (as opposed to the DS1307) but I have had no issues with the one I purchased.
- The Arduino I selected was one I had already, the Freetronics EtherTen. The on-board MicroSD slot was the main reason I decided to use this, I didn't require the Ethernet port.
Thursday, April 26, 2018
[Part 1] Arduino Data Logger
This is the first post in a series in which I'll document the development of an Arduino-based data logger. The requirements for this data logger are:
- Data to be logged is a 4-20mA current loop signal (2-wire) from a sensor (using 4-20mA for analogue measurement is an industrial automation standard);
- Sensor requires a 24VDC supply (I'll be using a 240VAC-to-24VDC transformer plug pack to provide the 24VDC so there will be no mains supply work required);
- Whole system to be contained in a box that can be sealed up and made "weather-proof".
Sunday, January 21, 2018
SM Bus Controller Driver for Lenovo ThinkPad X220i
If you are installing Windows on a Lenovo ThinkPad X220i and wondering (like me) why the Lenovo drivers don't seem to work for the SM Bus Controller, have a look at the following link. In case you are wondering, the SM Controller is a motherboard chipset that monitors temperatures and voltages (SM = "System Management").
Monday, February 08, 2016
Minecraft on an iMac Core 2 Duo 2.4 GHz 20-inch (Al)
Just in case anyone out there on the Internet would like to know, the current version of Minecraft runs quite happily (according to Mr 7 y.o.) on an iMac Core 2 Duo 2.4GHz 20-inch (Al). The iMac has 4GB of RAM and is running Mac OS X 10.11 "El Capitan".
Sunday, February 07, 2016
Pebble Smartwatch
I am now the proud owner of a Pebble Smartwatch (I went for the "Classic" version). It seems to play nicely with my iPhone 5s. My favourite "watchface" at the moment is the built in "time as text" one (although I do think the iWatch one is cool).
I have installed the Pebble SDK and I am going to try to develop an app/watchface or two. Stay tuned.
I have installed the Pebble SDK and I am going to try to develop an app/watchface or two. Stay tuned.
Friday, April 03, 2015
OWC Data Doubler
I have just installed an OWC Data Doubler kit in my 13" MacBook Pro (the late 2011 model). It is a bracket that replaces the optical drive that ships with the MacBook Pro and allows you to install a second 2.5" hard disk or SSD. In my case I have installed a 480GB SSD (KINGSTON SV300S37A480G Media) in the location of the original disk and moved the original disk to the Data Doubler. The boot disk is now the SSD; I intend to use the old disk as an internal backup drive.
The instructions are very good, all of the tools required are included and the kit itself is of a very high quality. I highly recommend the Data Doubler kit (and the idea of installing an SSD into a 4 year old MacBook Pro to give it a new lease on life).
The instructions are very good, all of the tools required are included and the kit itself is of a very high quality. I highly recommend the Data Doubler kit (and the idea of installing an SSD into a 4 year old MacBook Pro to give it a new lease on life).
Tuesday, September 23, 2014
Useful Mac OS X Software
Here is some software I use on my MacBook Pro and recommend. I have no commercial interests in any of them.
BBEdit (or it's free cousin TextWrangler)
Available from Bare Bones Software or through the App Store. TextWrangler (a free "lite" version from the makers of BBEdit) probably fulfils my requirements but once I had the funds I purchased the full version. The best text editor I have used on any platform. I have been using this product since the days of Mac OS 7.1 on a PowerBook 150 (when BBEdit Lite was available as opposed to TextWrangler).VLC
A media player available from VideoLAN. Plays just about any format I need.PCalc
Simply the best calculator application out there (and available for iOS too). I used to use the "lite" version of PCalc on the aforementioned PowerBook 150 during my university engineering studies. Well worth the money.VirtualBox
A free virtualisation platform (now available through Oracle). Worth a look if you need to run old software on old operating systems every now and then.Tuesday, March 05, 2013
A belated update of sorts
So, it's been a while since I posted a blog update. Here goes:
- I upgraded the RAM in my 13" MacBook Pro from 4GB to 16GB (purchased from http://www.macfixit.com.au). The performance boost is nice.
- The cubby house I am building for the kids is progressing well. I am looking forward to the first round of bulk rubbish collections in the area for the year so I can stock up on some supplies (mainly Colorbond offcuts and wood).
- The computer collection received two new additions - an SE/30 and a PowerMac 7600. Both are used but came in their boxes including all peripherals, cables and documentation. Two very nice Macs.
- The N gauge model train collection and layouts are progressing well. Recent additions include some old Graham Farish Class 43 HSTs, a new Dapol Class 58 and numerous rolling stock items. I am in the process of planning a small 400 x 1200 mm layout as space in the Howell residence is becoming a little tight (see below for the planned layout).
![]() |
| 400 x 1200 mm Layout Plan |
Monday, April 23, 2012
New MacBook Pro
I now have a new laptop - a brand new 13" MacBook Pro 2.4GHz Core i5 with 4GB of RAM and a 500GB hard disk drive. It is just the second computer I have purchased brand new (the previous being a 12" PowerBook G4 1GHz while studying at Uni).
I was considering an 11" MacBook Air (for about the same price) but the lack of ability to upgrade RAM, relatively small storage space and general lack of ports pushed me back from style towards substance. I am very happy with the decision.
I was considering an 11" MacBook Air (for about the same price) but the lack of ability to upgrade RAM, relatively small storage space and general lack of ports pushed me back from style towards substance. I am very happy with the decision.
Saturday, October 08, 2011
My Apple History
With the passing of Steve Jobs, I thought it would be a good time to reflect on the impact Apple Computers has had on me. Here is a rundown of my "main computer" Macs. I haven't included those acquired for my (rather out-of-control) collection.
- It all started in the mid-1990s and involves playing the original version of Cyan's Myst with Simon Wright on his Apple clone (the brand was Umax if my memory serves me correctly). Simon and I used to prepare all our group assignments on this setup (he had a scanner and a printer as well I think). This got me hooked on all things Apple.
- In the mid-1990s my folks bought us a second hand Apple Macintosh IIci (8MB/80MB) from Simon's Dad's work. It was fantastic. Mum and Dad then splashed out and bought a brand new StyleWriter 1200! I still have the IIci and StyleWriter. Years later I discovered the IIci had come with a Nubus ethernet card, making it even cooler. The IIci remains my favourite Apple product.
- After a few years of University studies I purchased (for a ridiculously high price) a Performa 5400 (160MHz/32MB/1.6GB). Not one of my better decisions. I foolishly chose the higher clocked 603-based Mac over the slower clocked 604-based one. I bought my first (of many) boxed Mac OS version for the 5400 - Mac OS 8.5 (I updated to 8.6 by downloading all of the disk images over a 33.6 modem). I did get it to boot MkLinux from a 250MB Zip Disk (once).
- Early in the piece I purchased (for about $500 I think) my first PowerBook, a PowerBook 150 (4MB/500MB). I sold it a few years later. I spent a while trying to find more RAM for it but had no luck at all. I now have a handful in my collection...
- My next PowerBook was a PowerBook 1400 (133MHz/Passive Matrix Screen/40MB/1.3GB) and a PowerCD (as the 1400 had no internal CD drive). I sold the PowerBook a while later but have kept the PowerCD. I think I paid about $1400 for this. The 1400 also ran MkLinux briefly... Needless to say I have kept the reasonably rare and unusual AppleCD in my collection.
- For the last few years of Uni I had a Lombard G3 PowerBook (400MHz/192MB/6GB) until upgrading to a brand new PowerBook G4 12" 1GHz (256GB/40GB). Later I upgraded the RAM to 768MB and the hard disk to 320GB. This is the only new Macintosh I have ever bought.
- The latest upgrade (nearly three years ago now) was a second hand MacBook 2.16GHz (2GB/120GB). I later upgraded the hard disk to 320GB. I'm currently typing this post on it! It has been a good work horse.
- I guess I should also include the iOS devices. I started with a 2nd Generation iPod Touch (8GB), followed with an iPhone 4 (16GB Black, I was a late adopter) and the latest acquisition has been an iPad 2 (Black/Wifi-only/16GB). They are incredible pieces of kit.
For the record I think it is perfectly normal to remember the specifications of all computers you have owned.
Sunday, July 24, 2011
iPad
I now have an iPad (iPad 2 16GB/wifi/black to be precise). I am thoroughly impressed. A friend of mine has the first generation equivalent (so I knew roughly what I was getting into). I went with an STM cover as the Apple versions did not protect the back of the iPad (what on earth were they thinking?). The STM cover functions the same as Apple's with regards to unlocking/locking the iPad.
The only "additional" apps I have running on it at the moment are:
- GoodReader, for reading PDFs (highly recommended);
- Apple's Numbers, for managing my birding lists;
- The Battle for Wesnoth (slowly learning how to play this);
- YouVersion Bible.
I'm really enjoying having it with me on the (increasingly frequent) flights I am taking northward.
Saturday, May 07, 2011
Study Rearrangement
I have just finished rearranging the study (again). The motivation this time around was to make the model train layout more accessible to me (and the kids of course - Declan has been complaining he can't see trains). It now sits approximately one metre off the ground and (when I clear out some stuff) is accessible on three of the four sides (including both "long" sides). The study is quite a high use room: anything of any value that we want to keep the kids from damaging tends to get stored here. My laptop is in the study, as is Kylie's G5 iMac, the printer, the ADSL modem and network switch and so on and so forth. The study is now much easier to access and egress.
The only downside of the movements was that a track section switch on the train layout was destroyed by the door frame. Thankfully I had a spare and was able to solder (with only minimal burning of flesh) a replacement in situ.
Friday, March 18, 2011
Belated update of sorts
Well, so much for my plans to update this blog more often... Life has been busy so here is a quick summary:
- I am working away regularly again, splitting my time between jobs at the Rio Tinto ports at Dampier and Cape Lambert.
- The model train layout is progressing, albeit slowly. I am now starting to consider building an OO gauge layout to run the Wrenn rolling stock I have been acquiring of late. If I were a betting man I would put money on the era being early British diesel (LMS).
- I am slowly getting though all of the home maintenance jobs that have accumulating over the last few months. Still have plenty to keep me busy though.
- Birding has been good. Trips north have allowed me to pick up birds like Western Bowerbird, Black-necked Stork, Eastern Curlew and most recently Crimson Chat. Haven't had the time to do as much birding as I would like (especially around Perth, I have missed twitching a few "easy" ones like Chestnut Teal and Cattle Egret). My life list (Australia/WA) is currently at 243. Only 7 more and I hit 250!
- My G4 Mac Mini is now hosting a development website (via MAMP) allowing me to develop and test a new Birds WA sightings page. The project is coming together nicely (but too slowly).
- For those of you interesting in birding, may a I recommend the following blog published by some friends of mine: Leeuwin Current Birding.
- I have purchased an Australian reptile field guide and am in the process of working out what reptiles (monitors mainly) I have taken photographs of in the Pilbara. Stay tuned for some updates on this theme.
- Oh and the iPad 2 has been announced.... drool....
Subscribe to:
Posts (Atom)



