My work pal Richard Hay persuaded me to try a bit of snow camping over the Queen's Birthday weekend. Mt Bogong was the obvious choice, being the highest peak in the state of Victoria. It also provided a good excuse to put my new -10 degree sleeping bag to the test.
We stayed over night on the Friday in the town of Mt Beauty, at the Bogong Moth motel. On the Saturday morning at 10am we saddled our packs and climbed up the Eskdale Spur, the longer but less steep trail. The trail leads from the Mountain Creek camp ground, up the jeep trail for about 4km before you hit the base of the Eskdale Spur. You have to cross 4 or 5 creeks, some of which have man made crossings which saves your boots getting wet early on in the walk. There were a couple of creeks that we had to get over without the luxury of a bridge, but luckily we all managed to keep our socks dry. Make sure you have good waterproof boots otherwise your feet will be in for a very soggy day.
We made it to Mitchell Hut by about 2pm, staying there for lunch. Mitchell Hut was destroyed by bush fires about three years ago but has since been rebuilt and has recently had an addition of a brand new dunny! The hut was also right on the snow line so it was a good spot to rest before getting our warmer gear out.
Our intention was to make it over the summit and stay at the legendary Cleve Cole hut on the Saturday night. Unfortunately by the time we made it near the summit of Mt Bogong the South Easterly winds were gusting up to and over 60 km/ph!! We found ourselves literally being blown off our feet! It was taking such a long time to progress that we knew we would be walking in the dark across the summit so we had to make the decision to turn back, and stay at Mitchell Hut.
It was a very wise choice I think. They say "DON'T TAKE RISKS ON MT BOGONG", and we certainly were nott about to try and tackle the saddle of Hell Gap in 60 km/ph winds in the dark.
Viewing the show of stars that night at Mitchell Hut was absolutely incredible. I have never seen so many shooting stars in all my life!
The next day we made it over to Cleve Cole hut in near perfect conditions, it was just so amazing to stand on top of the highest point in Victoria and look right across to Mt Kossy in NSW and back over to Feathertop and Hotham. Cleave Cole hut is a beautiful old granite hut built in the 1930s in memory of Cleve Cole, who was the first European to make a winter ascent of the mountain.
The snow at this time was about 30cm deep but as it was about a week old it had compacted a little leaving it easy for us to progress without snow shoes. If the snow was fresh though I think we would have needed them.
After resting for lunch at Cleve Cole hut we made our way back over the summit and onto the Staircase Spur to begin our descent. The Staircase spur provides incredible views on the way down, right down towards Mt Beauty and the surrounding valley. The Staircase spur is significantly steeper than the Eskdale. We made the right decision to go up Eskdale and down Staircase. The staircase spur route is about 3 or 4km shorter, however it would really take it out of you if you had to go up it! My advice is allow yourself enough time and go up the Eskdale Spur. That is of course unless you like a back breaking climb!
This mountain is definitely one that should be climbed if you're into this kind of stuff, and doing it in snow cover makes it so much more exhilarating. Just make sure that you give the mountain the respect that it deserves, and make sure you have all the right gear.
Check out the photos!
My cousin Will has been staying in Melbourne for the last few weeks so I wanted to make sure we had the chance to get out of the city and see a good part of the Aussie bush. For a weekend trip from Melbourne the most obvious choice is the Grampian's National Park. If you're looking for a good fishing spot in this South East corner of Australia, at the moment Lake Wartook is a bit of a sure fire bet. We even had 700g - 1kg Rainbow Trout taking worms as bait, no lure, no fly! Now that sure does mean that this lake is just full of fish!
We heard from a local that they had recently stocked the lake with Rainbow Trout and our camp fire dinner that night was definately a testamount to that. Check out the photos...
I stumbled upon a web survey being conducted by A List Apart today. It's great to see people taking the growth and future direction of the web industry in this kind of light. I often try and relate the nature of this industry to the early 'wild west' days of the industrial revolution. This industry is still very young and is inevitably still finding it's feet. It's great to see surveys like this that take such a proactive approach to learning about the current state of the industry and also try and determine it's future direction in a objective non-biased way.
Add your bit - complete the survey below...
This morning a colleague and I discovered that it is possible to modify database objects (Tables, Views etc...) via the Eclipse DB Browser perspective. Up until now we thought that this was "read-only" functionality.
It turns out that if you open the select statement of a view, for example, change the select statement for whatever reason, and then save, upon saving it will actually modify the view in the database. You may say that this sounds obvious, and it sounds as if it is, however up until now we have assumed that it's not possible to modify these objects via the DB Browser.
The main problem here is that you may inadvertently modify a view in Oracle / SQL Server, and then break application functionality and/or unit tests.
To get around the problem, create a read only user account in the database and use that to connect via DB Browser.
I signed up as a member of LinkedIn a couple of years ago but never really got round, or felt the need to build a profile on the system. Since that time 'collaboration' and social networking via the web have become not just buzz words but industries in their own right. So I have now found a good reason to have an active and up to date profile on such a site as LinkedIn. So far I have found it be very useful, especially to make contact with old work colleages and to stay in touch with people that you might meet at social events, why bother swapping business cards when you can swap your LinkedIn profile?
Here's the public url to my LinkedIn profile - http://www.linkedin.com/in/jonbeer
I was writing some SQL scripts during the week to migrate our production Oracle database schema so that it will function with some of the new web site functionality that we have been implementing.
Our site uses some complex button and function permissions that are all stored in a single table in our Oracle schema, accessed via an Oracle view. We decided to perform some normalisation of these tables to accomodate some new functionality and I wanted to make sure that the "functional" content of this view was exactly same before and after the refactoring process. I basically needed an easy method to compare the content of the view before and after my refactoring script had executed. I didn't want to spend hours manually checking each function permission record.
My solution was to use a Union query. Basically the idea is to drop the original contents of the view into a temporary table so that you have a snapshot of it's content before you perform any table and data modifications. Once you have that stored away safe and sound, perform the modifications to your tables and data, and then run a union query between the modified view and the original data. The key thing here is the record count. Count the number of records in the snapshot table and note it down. Then perform a union query between snapshot table and the refactored view. If the content of the snapshot table is exactly the same as the view, then the record count of the union query should be exactly the same as the first record count on the snapshot table. This will give you a very quick way of performing a high level comparison of the two tables.
In my case, the web application queries it's function permissions from an Oracle view. We were modifying the underlying table structure and content, but the content of the view should remain untouched from the web app's perspective. So these are the steps that I followed to guarentee that our table and data refactoring had not effected the content of the view.
These are the steps thay I followed:
- Create a temporary table with the same columns as the view
- Copy the data from the view into the temporary table - this basically is your benchmark
- Execute the DDL and DML sql code to perform the table and data refactoring
- Fix the view so that it now works with the refactored tables
- Perform a record count of the temporary table
- Perfom a union query between the temporary table and the refactored view, include a record count in the query
- If the two record counts are the same then you know that your refactoring was successful
This works because a Union query will only include records in the result set that are unique. If each record in the view is the same as a record in the temporary table, only one copy of that record will be returned by the union query.
Yesterday morning I went to see Martin Fowler give an address about his thoughts on the future of Software Development in the 21st Century.
It was amusing to discover that he didn't come up with the title of the
talk himself, but that the title was dreamt up by some Victorian
Government department, and Martin Fowler basically was requested to
fill the gap on this subject. Nevertheless, it proved to be a useful
topic because it attracted a broad audience of managers, business
leaders and of course software developers.
I was surprised that he was such a good public speaker, running up and down the isles to answer questions from the audience and also throwing in a respectable amount of humour. The event was sponsored by Enterprise Java Victoria and so obviously the event was focused on Java and on Martin's perspectives of where Java had come from, where it sits now, and where it's future lies in the software development industry. There was so much content in Martin's talk that it will be hard to summarise everything so I will concentrate on what I found important or most relevant.
A key aspect of his talk was the notion of domain specific languages and about how that notion will become more prevalent across the industry. We already have domain specific languages such as SQL. However there is a move to allow developers to easily leverage specific languages to solve specific problems where that language is more appropriate. Java itself is reportedly moving towards this capability by providing support languages like Javascript and possibly even VB.Net! With the emergence of AJAX you can see why such a facility may be useful, having Javascript on the client call through to Javascript on the server. Obviously there is always a danger that some projects or developers will abuse these new tools, and do things that were outside the original intention, however that danger exists in any project where technological understanding low. There's a online video by Martin Fowler specifically about this subject. Also check out the entry on wikipedia.
Martin also talked about domain specific applications. He talked about how applications will start to become very specific in their nature, they will seek to solve a specific problem and concentrate only on solving that problem domain. This is a particular feature of many open source projects, mainly because they are supported by a small number of developers in their spare time, and they just don't have the resources to build huge all encompassing applications. This I think is a good thing because they will generally be very good at what they do and will tend to be less buggy due to their inherent reduced complexity.
During the talk he also introduced a term that I hadn't heard used before in relation to software development. That of an ecosystem. The notion of the Java platform as an ecosystem signifies for me the evolution that the language has gone through. It seems that an evolution of language through to platform through to ecosystem is useful way to describe the evolution of Java. I first started using Java in 2002, at that time trying to explain to people the difference between Java as a programming language and Java as a platform was a daunting task. With amazing class libraries that come with both the standard and enterprise editions of java, add to the the capabilities to support other domain specific languages, and it starts to become clear how the notion of Java as an ecosystem come becoming more and more appropriate. The java platform really is becoming a vast collection of interdependent entities that all relate and support each other in a myriad of complex yet specialised relationships.
Martin also discussed the negative aspects of Java, in that some more accomplished developers will argue that it makes a programmers life too easy. With it's memory management and non-support of closures it basically removes a lot of power that you would otherwise have. However I also think this is a key benefit of Java, it makes it more accessible, whilst reducing the risk of fundamental software bugs related to poor memory management. Memory management to me is a complete black box and I would have no idea where to start so Java for me is a very useful tool for software development. I just don't see why I should have to bother with all that stuff when Java seems to be able to handle it well most of the time.
Another key point of Martin's talk was the importance of the contribution of Open Source software over the last 10 or so years. The emergence of frameworks such as Spring and Hibernate. Martin expressed his opinion that these frameworks have been instrumental in dragging Java out of the quagmire that was EJB. Spring and Hibernate have drastically simplified the persistence and management and use of objects within an application, something that EJB only served to make drastically complicated. They have also reduced the significant reliance on having "enterprise" level EJB containers and seriously expensive application servers such IBMs Websphere. The barriers to entry for EJB and EJB containers were so huge that many developers just found it too hard to learn the complexities of development for these technologies. Spring and Hibernate have made it possible for developers to create J2EE applications using lightweight containers such as Tomcat and Resin sitting on top of databases like MySQL. This can only be a good thing for Java because it makes it more accessible.
The discussion on open source also inevitably led onto how this effects the vendor propriety languages and platforms like Microsoft .Net. I feel that with the huge contribution from the open source community, it's going to be seriously difficult for .Net to keep up the pace. Where are the significant and innovative contributions to software development that have been built in .Net? Sure there's nHibernate and Spring.NET, but they're just offshoots of the successful Java implementations. With Java becoming open sourced itself in late 2006, I just can't see a future for .Net when Java is leading this innovation. Java has a huge advantage in being one or two years ahead with such amazingly useful frameworks like Spring. JUnit and test driven development is yet another example of this. The realisation of test driven development as a key component of application development is becoming the mainstream now, and this will be a significant part of development in the coming years.
Overall, Martin's talk was very inspirational and informative and I hope to get the chance to hear him speak again in the future. It's nice to see important figures like this coming out to Australia's "back waters" and it's great to see the numbers of people that were interested in hearing him speak.
A few days ago I realised that my Via Venezia didn't seem to be making the great the coffee that I remember. I had cleaned the machine thoroughly and realised that the handle itself could probably do with a good clean out. I couldn't find any resources on the web which helped on how to do this so I figured it couldn't be that difficult. And it isn't.
It's probably a better idea generally to get your machine professionally serviced by a Saeco service center but I didn't feel like shelling out the cash so decided to give it a go myself. As long as you're careful and don't lose any springs or other small parts (it's okay to lose large parts...) you should be fine. One caveat, if after reading this you're not confident that you're not going to break the group handle then it would worth getting a professional to do this. These handles are not generally considered user servicable, however, if you like taking things apart like me then you won't be able to resist! There's also some good advice on this forum posting about improving the espresso results from this group handle. I'm yet to try this but will do soon.
One thing I found during cleaning for the first time was that the mechanism was really stuffed full with a few years worth of coffee grounds so it was definately worth doing this if your machine is a year or so old and hasn't had a service recently.
1. The first thing to do is remove the filter. This should just slide
out, it may be a bit stiff so you can try levering it out with a coin.
2. Now turn the group handle over and remove the three screws that hold the unit together. Once these have been removed the unit will come apart so make sure you do this carefully to avoid losing any small parts.
3. You now need to carefully remove the springs. The main virtical
spring will just slide off. Remove that and put it somewhere very
safe.
The second spring is the one on right hand side, just unclip it and it should come out easily. You will need to remember the position of this spring for when you replace it.
4. Now gently lift up the pressure stopper, it's hinged so will just lift up easily. You will now be able to see the black plastic ring in the center, this is the base of the plastic seal. You will need to push down on this black ring reasonably firmly, it should unclick.
6. You will now be able to push out the plastic and rubber sealings. The orange rubber seal will pull off easily.
You should now have completely dismantled the group handle.
Clean all the parts with fresh water and mild washing detergent. The main thing to do is to remove any ground coffee that may have worked its way into the mechanism. There's no real need need to go crazy and scrub the whole thing until it's got more shine than a seargent's boot.
7. Now it comes to re-assembly. Place the orange rubber seal back around the plastic seal, then slide it back into the main unit. Push it right to the bottom so that the the black tube part protrudes from the other side.
8. Replace the mechanisam. This is probably the hardest part of the process. In the photo named 'Replacemechanism', you need to make sure that you line up the node marked '1' with the depression marked '2'.
Once these are lined up, hold the unit with your thumbs underneath and push the mechanism down on to the protruding plastic seal until it clicks into place. It should be straight forward, it shouldn't need to be forced it if it is lined up correctly.
You should now have the black plastic tube clicked into place, gripped by the four pressure points on the mechanism.
9. Now replace the two springs back to their original position and test the movement of the mechanism to ensure it is still moving backwards and forwards as you expect
10. Now all you need to do is replace the handle cover back over the unit. This part is crucial -You need to make sure that it goes on the correct way, so line up the black plastic nodule marked at point 1 with the indentation in the mechanism marked at point 2. If the orientation is not correct you could break the internal plastic parts when next use the handle so make sure this is correctly orientated before you screw it back together. All three screw holes should line up.
11. Replace the three screws and tighten. The unit now should feel like it fits together correctly, if there is some misalignement or if it won't quite go together correctly then you may have made a mistake earlier on. The spring mechanism should work as you would expect before you took it to pieces!
12. Now replace the filter. You should now have a nice clean group handle
Hope this guide has been useful for someone. I know the coffee coming from my beautiful little machine has improved since doing this.