Saturday, 8 March 2014

Of Mice and Men. Curley's Wife

My eldest son wrote this as a set of notes for my youngest son. He wrote it off the top of his head 5 years after he did it at GCSE. I don't like to trumpet my kids achievements - they're just normal kids.. but I was blown away by this.


Curley's Wife

Firstly, she doesn't have a name. She is identified by her relationship to Curley, her husband. This restricts how much the reading can relate to the character, the lack of name signifies an incomplete character. It means that the character can be read as representing various themes. Themes like the role of women, the role of tragedy and the role of the American Dream. Her name is also possessional, in that she as a wife belongs to Curley. 

She is the only woman on the farm, and this is important because it reinforces the divide between Curley & his wife and the rest of the characters. She is a symbol of temptation within the novel, because she flirts with the workmen. This may reflect the time period and social setting of the novel, where typically male itinerant farmers moved from farm to farm seeking employment. In this way of life, women were not judged to have a place because it was hard to hold down a relationship whilst always moving. This culminates in the scene where Lennie strokes her hair and crushes her skull, the frailness of the female body gives way to the strength of the male body. So there is a male/female oppositional there as well.

Her story about her acting (?) career is a commentary on the American Dream and how it doesn't always seem to be realistic. Steinbeck blows apart the idea of the American Dream throughout the novel, and Curley's wife is no exception. The fact that her story is so tragic, when her dreams were set so high marks the difference between the harsh realities of the 30's era Depression America and the hangover American Dream from the roaring 20's. Steinbeck himself was a social-minded author and a lot of his books were about workers and labourers in predominantly Western States in the USA, and criticising the politicians who had caused the Great Depression. 

Related to this, the tragedy of her death and the subsequent unhappy conclusion of the novella paint a pessimistic picture of the world. Coupled with the tragedy of George & Lennie's stories and that of Candy (?), the old man, Steinbeck seems to suggest that loss and hardship is a very big part of the lives of people out in the South-West. 


I've not changed a single comma. He has such an elegant and flowing style for a 20 year old. I am truly awed by it.

Saturday, 1 March 2014

My second rant of the day and this time - its HP under fire.



No. I do not want Bing for HP. I wanted to install a printer driver.

No. I do not want to install your survey software. I wanted to install a printer driver.

Who does?

I mean..

Who thinks... "Hmm I must install the Bing bar because it will make life easier for me" 

No-one. Not one person in the entire universe. In fact .. I bet even the people at HP and Microsoft don't select this crap when they install for home use.

Who thinks.... "Hmm I must install the survey software because it will make life easier for me"

No-one. Normal people get a problem, go to Google, do a search for the answer, maybe go on a forum for an answer or look at FAQs and knowledge bases. If they need a complaint they go to the website and look for Contact Us and then rant away.

They do not use survey software.

Its such a shame because the actual HP software they install (on Windows at least) is the best printer software I have ever used. 

Why my love affair with Apple may be over and why Microsoft are the Kings of Compatibility

I needed to scan a document.

I have an HP OfficeJet printer and scanner thats about 3 years old, we don't use it much because we rarely need to scan or print in colour. All our letter printing is on our Kyocera FS 1350-DN (which is the best printer we have ever owned; insanely reliable and super cheap to run)

So I put a letter on the scanner bed and try and open up the scanner software. Fail. Software is not compatible with Mavericks.

Ok. Not a problem, software needs upgrading from time to time. I'll download the latest drivers.

There. are. no. drivers.

HP say that they are available on the App Store. Well I can't find em. They used to be there when I was on Mountain Lion. Now they're not

It's not just me that has the problem.

I sent the following in the crash report to Apple

Apple need to work harder with device manufacturers to ensure compatibility. I have a printer that I can’t use from Mavericks. Fortunately every machine in my house that uses Windows from XP to Vista to Windows 8 and 8.1 still supports the device. You may not think that this is important but I’m fed up of Apples attitude here.Whatever everyone thinks of Microsoft - they are the Kings of Compatibility

In the end I used my Windows 8.1 VM (running in Parallels on the same Mac) to install the HP software. Worked perfectly first time. It even worked wirelessly - something that never really worked on the OSX version.

Is this Apple's fault? Not really - they can't be responsible for every device driver produced by every manufacturer.

It's a real problem though. Microsoft work with device manufacturers to make sure that compatibility is maintained. Thats why big business will never move from Windows to OSX - they will never get a guarantee from Apple that software will keep on working after OS upgrades.

Apple could get away with this when they had a tiny share of the market. They could change CPU families at will, they could break software easily and their followers would accept the situation, buy the new version and move on.

They can't get away with this so easily now, people buy PCs and expect them to last years. I have an 8 years old Dell that works perfectly and still plays modern games, I have a 4 year old Dell that plays any game I want (after a 30 quid GPU upgrade), my 27" iMac is 4 years old and my 20"iMac (passed down through all 3 sons) is 8 years old.

The Dells updated to Windows 7, 8 and 8.1 with minimum fuss. The 27" is on Mavericks but the 20" is stuck on an old version of OSX. My white MacBook is stuck on an old OS. My sons ancient Samsung Netbook updated to Windows 8 in an embarrassingly short amount of time. Runs like greased lightning , despite being on an Atom class CPU. Microsoft are really good at this stuff. 

Don't get me wrong, I love my big iMac. The screen is huge and makes an outrageously good development machine but I am increasingly using Windows 8.1 in a VM on it in preference to Mavericks because its easier to setup and get running. Everything is compatible.




Sunday, 9 February 2014

Running around

Whilst reading a Java Code Geeks article I came across the Mechanical Sympathy Google group.

And this comment made me laugh a lot:

Endless spinning in user mode is not an absolute no-no. But you should think of it like you would about endless running in circles blindfolded in a large a minefield while holding both a pair of very sharp scissors and one hand grenade with the pin pulled out in each hand. If you stop to rest and scratch your nose, things can go bad. When attempting this, you want to have the force with you, and should control your breathing and keep your thoughts calm and pure.

The original thread is here.

Saturday, 1 February 2014

Am I a Reactionary, A Wise Old Sage, Overcautious or simply just experienced?

I don't like Git. Too Complicated. I just never need to branch and merge that much. I tend to work on very small pieces of work, integrate as soon as they are done/tested then release them. I encourage my team to do the same. 

I prefer SVN. When I first assessed DVCS tooling Mercurial looked a lot simpler to use than Git.

I don't like Scala or Clojure. I just need Java++ with Lambdas (coming 8 - yay), properties and immutable classes.

Full on Scala looks worse than Perl for readability. Over my 30 year career I have read more code than I have written.

Clojure strikes me as something you could not build a big enterprise class system in. Abilities in enterprises vary wildly across regions and across time. A project setup by a bunch of uber-programmers in the US may be maintained by a much less experienced team in another location a few years down the line. Don't even start me on self-documenting code.

Clojure is where all the cool kids are in Jan 2014. It may change by March 2014 of course.

I prefer Java.

I don't like Linux for development but I love the command line tools that unix gives you. My experience is that these days Linux is no more resilient than Windows. Installations of Developer tools can be a PITA compared to Windows and you have the sheer awkwardness of the *nix community.

I prefer Windows (with Cygwin). I love the stuff that Scott Hanselman publishes on his annual(ish) list. They are real developer tools.

I don't like JavaScript. I love it that people have done insane things using it: PC Emulators, Quake emulators. But that scares me as well.

I prefer ...

I have no idea on that one.

...

My last word on self-documenting code (I could not resist)

It's rarely self documenting.

It requires a higher degree of skill than the average practitioner has.

In almost all SDC I have looked at, the developer writing it wasn't as good as he thought he was.

The only way to prove self-documenting code is to have it code reviewed AND APPROVED by someone who knows nothing about your system 5 YEARS AFTER YOU WROTE IT.



BDC - Big Dumb Cache

As part of my job we use Coherence. Its not a cheap tool at all but it does offer a fast and resilient way to store lots of data.

But my team only use it as a BDC. A Big Dumb Cache. We do that because we don't have deep level Coherence experts on the team. We don't trust all the fancy features. We don't like the programming model for them. We don't like the insistence on running on identical h/w, patches, switches etc etc

We're simple guys who like simple solutions because we have been bitten way too many times in our collective experience by complicated solutions.

But BDC....

Thats a term that I use all the time and I assumed I had read it somewhere... but I can't find a link. Crikey... did I invent it!?

We do use some of the fancier features of Coherence but nothing that we couldn't move away from and nothing that most of the NoSQL engines don't do already. The only thing stopping us is support and enterprise inertia.

I'm being a bit unfair. Enterprise inertia is the process by which enterprises assess things: support, training, installation, performance assessment, security, resiliency etc All of which are much bigger than... Hey, I found this great library on the internet that does everything we need.

But one day.. someone will come along and provide all that in an easy to use, support and maintain tool for people that just want a BDC and they won't need Coherence anymore.

Hazelcast?

Windows 8 really does rock

This post was from 2013 but I forgot to post it. Still valid though.

I decided to spend some time setting up a machine with Oracle Express. For years I has used Sybase and MS-SQL Server but my new project at work uses Oracle and I felt a bit lost.

I downloaded a 4GB VM from Oracle's website that used Oracle Linux (a Redhat variant and RH is what we use at work) and had Express and all sorts of things installed. I loaded it up in VirtualBox and got to work.

It was awful: old browsers, poor driver support and extremely slow.

Ok. Let's try it in Linux. I didn't want to use Ubuntu because it was slow in Parallels. I thought I'd try Linux Mint. I had it installed already and it wasn't slow! By now it was late and as soon as it started warning me about problems with using Open JDK in Intellij I gave up.

I downloaded a 64bit Ubuntu and it really was super slow in a VM. I added more video memory and it was a bit better.

Installing Java was another faff. Oracle downloads come as RPM and Ubuntu doesn't like RPM. Converting RPM to DEB seemed to work but needed lots of manual setup.

OK. lets quickly try Windows 8.

Easy. Peasy.

Updating Windows 7 ran smoothly.

Installing all applications using provided installers was easy.

It was fast.

Why on earth did I even bother with the mess that is Linux.