torsdagen den 24:e februari 2011

Get an early peek at JDK 7

We have a pre-release of JDK 7 available for download.

I would encourage anyone that is interested in Java to download and try it out.
(Look here for hints about what you should try)

Let us know what you think, and if any bugs managed to slip through our QA.

tisdagen den 22:e februari 2011

What would you have wanted someone to tell you when you were in high-school?



First, I´m very aware that its been too long since I posted anything. Technically, living in internet speed, this blog is dead. To quote another blog, "its complicated". But, never mind that now.

I recently got an email from someone that wanted a speaker at our Swedish sales office. The audience is a high school class. They have studied operating systems, local networks and around 200 hours of Java. The requestor also had some idea of what we should talk about, but the chance to tell a high school class what I wished I knew when I was that age is more interesting than what he wanted. (I normally give, roughly, [well ok, thats not true, but lets pretend...] the presentation that people ask for, but he ticked me off, see next paragraph)

As I was letting the email stew a bit in my inbox, he calls me. Tells me a bit about the event and what he is expecting. So far so good. He then goes on about how he wants someone representative from our office. Makes sense. "They tell me you have someone named Tuva working there". Hold a minute. Tuva is one of my colleagues and very good at what she does. But she is a woman in an IT company. A product manager to boot. Around 10% of our dev office are women. Don't tell me you want a woman presenting because they are "representative". They are a minority. I wish it wasn't so, but don't pretend that they aren't. If you tell me "we want a woman to represent because we want to get more women into IT" I will support you 100%. But don't try to BS me, or the audience for that matter.

Now, me and Tuva will do the presentation, but we will (most likely) cover the issue of women in IT without pretending its all sunshine and ponies. Seems like this is a sensitive topic for me, since this was not the indented focus for the post.

The intended focus for the post is "What would you have wanted someone to tell you when you were in high-school". I started thinking about it one the subway home, and it was exciting enough that I turned off my Kindle and just sat staring, thinking about what I would like to say/wanted to have known.

So, just a short brain dump

What are the career paths in IT? (Developer, Tester, Project Manager, Architect, Product Manager, IT Manager...)

What are the skill sets needed for those paths? (The personal traits for a Developer and Project Manager are very different. Some people have both, but they are rare. For a Product Manager, the ability to understand and communicate is more valuable than skill as a developer. Having an expected career path from developer to manager is stupid, the skill sets are different. Some have both, but lets create a good career for those that want to write code, not lead...)

Common myths
- You start at a low salary, and then work yourself up in the company (No, you start low, work your dog year(s) and then change job and get your raise. Your yearly raise is percentage based. Low + 10% is still low)

Bold statements
- There are no old programmers (for some value of 'no'. What happens to us as we grow up? Is this changing?)
- Evolution of programming languages will be faster than you can keep up with (but thats ok.)
- I can learn a new programming language in a week (true)
- It takes a year to become proficient in a language (true as well)
- First learn to do your thing without tools and IDEs, but dont suffer for too long.
- Pick one editor, IDE and language and become an expert in them. (If you have to change later on it's not the end of the world)
- You need to know how to do SELECT and INSERT in SQL, no matter who you are
- Think what you wish of HTML, but you need to know some of it

What did I learn in school that is most useful for me now?
- err...

Writing that was a too easy. I could go on for a few pages more, but the main reason for this post is to ask you what you would want to have known in high-school? Let me know in the comments. Just a note - I have bad experience with Spam on blogs, so I have to approve all comments. My promise to you is that unless you are spamming I will approve it. If, for some strange reason, you post a comment that isn't spam but I still don't want it posted, I will make a post explaining that I censored you and why.


onsdagen den 24:e november 2010

What have you done for me lately?


Quite recently the following message went out to our Java SE Licensees:

Upcoming changes in Java SE HotSpot build process

Dear Java SE Licensee,

November 05, 2010

Oracle would like to inform you that we are planning on eliminating the includeDB mechanism from the HotSpot build process starting from JDK7 and upcoming updates of the JDK 6.

The includeDB mechanism was in the HotSpot sources for a long time serving the purpose of generation of necessary header files include list for each source file at the compilation time. It was also used for generation of the precompiled headers that significantly reduce compilation times for Visual C and gcc compilers. It consisted of two parts: the MakeDeps tool written in java and plain-text database files with recorded header files dependencies. This approach became a maintenance issue and it also creates unnecessary difficulties for using modern IDEs for code development. The dynamically generated list of header files for precompilation will now be replaced with a static one and all include files will be explicitly listed at the top of each source file. This activity is known as CR 6989984.

A separate task known as CR6981484 will result in an update of the development launcher. The current development headless launcher known as gamma launcher has a number of limitations and is not existent on Windows. The new launcher called fusion will be present on all supported platforms and will have a new switch for launch inside a debugger. The current plan is to implement the new launcher as a shell scripts that wraps around the existing gamma launcher on Solaris and Linux and create a new separate executable for the Windows OS family.

Switching to the standard include model will enhance code maintainability. We do not expect this will be affecting Java SE licensees port in any major way, but we would like to give you an advanced notice so that you can plan your upcoming release accordingly.

If you have any questions or concerns, please contact your Java Licensee Engineering representative.

Thank you and best regards,

Java Licensee Engineering
Oracle Corporation

That is obviously one way of saying it (whatever _it_ is). If someone tweeted the first line, and someone else made an article based on that tweet, the article would read.

Oracle removes free Database from Java

Puppies missing from orphanage

But what does it really mean?

My own headline would be

OpenJDK now 300% easier to compile

(Full disclaimer: I just made the 300% up. I don’t have any independent research on the issue. And if there was, I expect it would be more than 300%.)

IncludeDB/MakeDeps was a non standard way of handling C++ header files. Back in the days of yore it solved a number of problems, but in a world with modern IDEs it’s more of a hindrance. We are now moving to using normal header files. This will allow users to use an IDE with a minimum amount of tweaking (as opposed to the previous maximum amount) and will seriously lower the bar for new developers that want to work with OpenJDK.

So, if you want to work on OpenJDK this is good for you. If you want others to work on OpenJDK this is also good for you. You’re welcome.

(We have done a few more things for you, but that will be a matter of separate posts)

/T

Please allow me to introduce myself

I’m Tomas Nilsson, I work for the Oracle Java Platform Group as outbound product manager.

As my name indicates I’m Swedish. Born and raised in the far north but nowadays living in Stockholm.

On my very first public presentation at Oracle I introduced myself as “Product Manager, JRockit products” and was just about to go on with my prepared presentation when a helpful colleague interrupted me and asked “Yes, but what do you do?”. I’m still trying to find a good answer to that.

On one side, we work internally as owners of the requirements and represent the customer/user in discussions with our dev teams. On the flip side of that we represent the product when speaking to the customer. In between those two, its our jobs to ensure that the field teams have all the information that they need to speak to the customers. With a list of products the size of Oracles we also need to make sure that they care about our product. In a way you can say that we sell to sales.

The “Outbound” part of “Outbound product manager” means that my focus is more on customer facing activities. Conferences, presentations… And with the Sun acquisition (I still think of it as a merger since for my team it’s a more fitting term. That and the fact that “merger” is easier to spell) some part of community outreach.

Why am I writing this blog? Well. I read a lot of Java related blogs, tweets and articles, and I feel that I can contribute to the available information. I hope to give some insight into what Oracle is doing for Java and what the thinking behind it is. Since no one will read this post until I have posted something interesting on Java/Oracle I can leave this here. You will have figured out what my topics are by then.

/T