Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Thursday, 15 September 2011

My Interview with MyFear

I was humbled to be interviwed as part of MyFear's Java Hero's series - If you want to know some of my motivations then go here

Saturday, 10 September 2011

The OpenJDK as the default Java on Linux

Hi All,  (this post is x-posted to the java7developer blog and the ljc blog)

Recently I've received a bunch of private correspondence from people confused/worried over the change in the default Java packaging for Linux. For many Linux distributions, the official Sun/Oracle version of Java has been packaged up as the default Java for the platform. However, due to a recent licensing change, this will no longer be the case! So, is this a positive or a negative thing for the Java and open source ecosystem? Read on for my take on it :-)

Background

Dalibor Topic announced that With Java SE 7 and JDK 7 being released, and with OpenJDK as the official Java SE 7 reference implementation, that it was finally time to retire the non open source "Operating System Distributor License for Java" (DLJ).

What does it mean for me?

The knock on effect of this is that Linux distributions will on longer package Oracle's Java (== OpenJDK wrapped up in some proprietary bits and pieces) as the default Java. This can/will cause problems for some Java users initially as there are a smattering of bugs (especially in the Swing UI libs) still left in the OpenJDK that affect programs like PCGen. However, some Linux distributions had already taken this path some years ago, most notably Ubuntu and the last remaining bugs are being cleaned up pretty quickly.

Positive or Negative?

Overall, I think this is a positive step in the right direction for free and open Java on Linux platforms. This sentiment was welcomed by well known open source advocate Simon Phipps in a twitter post. The fact the the OpenJDK is now the reference implementation (combined with efforts to open up the issue tracker for the OpenJDK) means that means that a vast host of Java/Linux end users can now directly improve 'official Java' for all of us. 

I want the Oracle version!

Linux users who need to use the proprietary parts of the Oracle JDK 6 or Oracle JDK 7 binaries can of course as usual simply get the gratis download at http://oracle.com/java under the same terms as users on other platforms. However, if it is due to a 'bug' that is discovered I strongly encourage those users to submit a bug report to the OpenJDK project, so that any issues can be fixed for all of us.

Opinions and further questions are welcome!

Thanks,
Martijn

Thursday, 5 August 2010

The Well Grounded Java 7 Developer

Hi all,

I've obviously not posted for quite some time and here is the reason why.....

It's been a long time coming, but I'm very happy to announce that Ben Evans and I have been contracted to write "The Well  Grounded Java 7 Developer" for Manning publications.  We've been spending the last month frantically getting the first few chapters out and a whole host of other book related activities, but now that I'm in full chapter writing mode I'll be adding regular posts to this blog.

A majority of my future posts will focus on interesting areas in this book and firstly I'd like to show a reworked extract from the new Date and Time API section.

Modeling Date and Time

The new API models time as a sequence of consecutive instants separated by fixed durations[1].  Java 7 maps these concepts directly on to classes, here's a more detailed explanation:
  • The javax.time.Instant class represents a specific point on a discrete time-line e.g. January 23rd, 1996 at 09:00:00,0 UTC, the day that Java 1.0 was released.
  • The javax.time.Duration class represents a section of elapsed time in nanoseconds, e.g. The 400 nanoseconds it takes for a PIC12C672-04 Microchip to execute an instruction set.

So as you can imagine, any point of time can be modeled by simply applying a Duration (positive or negative) to a starting Instant.
...
...

Calendering

With regards to calendaring, the main Calendar is ISOChronology, but other calendars such as CopticChronology and ThaiBuddhistChronology are supported.  The Chronology interface can be extended from to provide other implementations.
...
...

Timezone support

Timezone support is also provided via three core classes:
  • LocalDateTime – Represents date/time without an offset or a time zone.
  • OffsetDateTime - Represents date/time with an offset but not time zone.
  • ZonedDateTime - Represents date/time with an offset and a time zone.
...
...


[1]               This phrase is almost 100% uplifted from an excellent early primer article by Jesse Farnham, see  http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html for details


The book will be loaded with more in depth explanations and of course plenty of code samples.  If you're interested in becoming a reviewer then please let me know!


Thursday, 17 December 2009

Tips on presenting at a conference

So I stumped up my £95 (+VAT) and decided to go to the Open Source and Finance eXchange. The day had some fairly interesting topics which unfortunately were (more often than not) ruined by poor presentations. This was particularly irritating as this was a paid conference and I expected a minimal level in the quality of speakers.

Of course the great value in going to a conference is always the interaction with the other attendees, but still it was a little disappointing.

So I thought I'd point out some tips for presenting at a conference:

  1. Be passionate in your delivery, no-one and I mean no-one is going to care about what you are talking about when you deliver it in a dull monotone.
  2. Don't let that screen saver/power saver cut out your presentation!
  3. Slow Down - Often people are nervous when they present, which is only natural, but it means that they have a tendency to speak far too quickly.
  4. Slow Down part 2 - If the language you are speaking in is not your first language, or if you know you have a strong accent, then again for the sake of clarity, slow down!
  5. If you're going to have graphics in your presentation, make sure they are readable when they are projected on the screen.
  6. Don't use complicated graphics, keep it simple! If in doubt get a Graphic Designer to take a look for you.
  7. Don't just repeat what are on your slides, the audience has already read them and you're adding no value.

Thankfully towards the end of the conference we had some good speakers including probably the best presentation I've ever seen at a conference. If you ever get the chance to see Simon Wardley (from Canonical) speak, then do yourself a favour and go and see him. The podcast of his talk will arrive here soon.

Tuesday, 8 December 2009

PCGen - An awesome online community

Hi all,

Just a brief note on one of the important points in running a successful Open Source community. A key ingredient is to give immediate feedback to users that post on your forums and mailing lists.

An attitude of 'Go and find it yourself Newb!' is not a particularly healthy way to attract new users to your community. Don't forget that a new user is potentially a new volunteer for your project!

PCGen _excels_ in this area, no question big or small is left to rot on its boards and the responses are always cheery and polite. If you're looking for an example of how to respond to your users, look no further than the various mailing lists that exist under the PCGen banner (you can find them via the website).

The Ubuntu forums are another fames place for this type of attitude and it's certainly helped build their popularity as well.

So here's a public thank you to the tireless volunteers and community users who take the time and effort to continuously reply to the tons of queries we get at PCGen, well done to you all!

Friday, 12 June 2009

How to run a Successful Open Source project

So I never posted about the recent talks I did :). Since using ones blog is great for self advertisement here goes!

The talks were delivered to members of the London Java Community, London Open Source & Agile Community and the London Open Source Jam group, it's a shame that there isn't one overriding interest group that can get together for this sort of thing, but I guess it's human nature to build small tribes.

The first talk covered off a wide range of topics that you need to deal with when setting up a successful Open Source project including:

* Getting started (Choosing your project name, Mission Statement, etc)
* Setting up your technical, social and political infrastructure
* Money
* Communications
* Packaging, Releasing and Daily Development
* Managing your volunteers

It's a long and involved topic, so you're best off seeing the Podcast or reading Producing OSS by Karl Fogel.

The second talk was actually an open forum debate covering licensing and legal issues for Open Source projects. We had some great panelists come in for this one including:

* An actual IP Lawyer!
* The chairman of the UK Open Source Consortium
* An Apache project lead
* An expert in academic licenses.

I decided to switch off the video camera as we wanted a full and frank debate on the issues and it certainly proved to be interesting (the lawyer didn't cop too much flak)!

One overriding message that came out of this talk was that individuals really need to check their contracts for the IP clauses contained within. Often organisations use a default agreement which states that the work you do in your spare time is still owned by them. Most organisations are actually quite reasonable once you approach them about this, so don't hesitate to ask them!

Tuesday, 26 May 2009

Presentations - Argh!

So once more I find myself preparing to give a presentation to a group of (mostly) strangers, scary much? This time it's on "How to run a successful Open Source project", a topic that I have lots of opinions on having spent the last 8-9 years involved in several projects.

There is a ton of good literature on how to run an effective presentation ("talk like so", "make slides like that"), but since I'm a geek I'm just going to mention the help that modern technology has given me :).

Firstly on the way back from a Hi-Di-Hi! style holiday camp (much fun, go the Falconry lesson!), I was able to use my Wife's Samsung NC10 Netbook to hastily finish off the first draft of the presentation. It's amazing what you can type out on that little monster even when crammed into the back seat of a non people carrier. Oh and thank you good genes for not making me carsick, very useful trait that.

Next up is the use of MS Powerpoint. Yes it's much maligned but it still beats writing notes up on a whiteboard with your back to the crowd. It also helps to have a Wife who happens to be a Graphic Designer, pretty Powerpoint template heaven!

Then there's the borrowing of my Flatmate's Macbook Pro to run the presentation from (not all of us can wear turtlenecks ;p).

Last but not least there's the use of the iClicker utility for the iPhone. I can go back and forth through the slides and have a mini representation of each slide in front of my nose, again I don't have to turn my back on the audience which is a good thing. Bonus points to the developers of this utility for allowing you to swap between the notes for the slide and the slide contents itself.

I'll post the post-mortem on the talk sometime tomorrow, assuming I don't incite the crowd into rioting (IT people are generally far more passionate than people give them credit for).