Skip navigation.

exploreopera

| Help

Sign up | Help

photo

Vaclav's not-often-used blog

working on cool projects

Switch: Week 1

, , , ...

Hello, from the Mac for the first time. I would like to share some experiences with you about my switch to Mac. Before buying my MacBook Pro I thought of posting several (like 10+) episodes about switching and problems I had to solve and thing I discover. However the switch was so fast and painless for that there is in fact not so much to write about. As well it makes almost no sense to list all what I discover as there really tons of small and big great features all over the system. I recommend to watch some of them at Apple Video Tutorials.

Why I switched?
There are several reasons why I switched right now. I planned my next computer to be Mac for quite a long time. I used Windows XP for very long time (since its release) and had an opportunity to use Vista on my brother's computer for about 2 months when he went to England for a while leaving his notebook at home. And I must say I was happy to return back to Windows XP. Vista felt simply like developer preview, not like something that should reach paying customers. As I see around me at the university only fans of MS have Vista installed. These are the guys considering 5 years old features high-tech just because they are aware of MS products and don't usually know anything about where the technology really is.

Let's sum it up:
  • overall user interface of Mac OS X
  • Spotlight, Time MAchine, FileVault, Dock, FInder, ...
  • iLife
  • terrible user experince with Windows Vista
  • I had a very good desktop computer, but I needed a good notebook too
  • Windows XP having almost no built-in useful features
  • in the worst case scenario I can just install Windows

Why I didn't want to switch
I'm primarily a Java developer and I already use Java 1.6 in some projects. In fact I don't like Apple for many reasons, but I really hate its silence about when Java 1.6 will be released on Mac OS X. Although Apple doesn't talk about future product releases, I guess there is no real reason why not to let developers know. Development of Java is open and everybody knows how Java 1.6 looks like as it's for long time available for Linux, Solaris and Windows. Apple (Steve Jobs) promised that Mac OS X will be a premier platform for Java development when they were desperate to attract developers to their platform which was almost extinct at that time.

Let's sum it up:
  • only developer preview of Java 1.6
  • same things will probably occur also with Java 1.7 and others
  • higher price (especially in the Czech Republic the prices are much higher than those in USA and much higher than competition)

The switch cost
Well, the switch cost was surprisingly low. In fact I got the MacBook Pro at Saturday evening and in Sunday I had all current data transfered, organized photos in iPhoto, music in iTunes, movies in iMovie, developing Java projects in IntelliJ IDEA, continuing my diploma thesis in NeoOffice, preparing presentation in iWork and almost ready my first DVD with iDVD. There are still some data on backup DVDs I have to put on my MacBook, but I would like filter them and reorganize them which is really boring and I don't it right now.
I don't expect that everybody's switch will be so smooth. I guess it probably depends how much has Microsoft locked you to its closed technologies, how many legacy non-crossplatform you use, how much you play games etc. For me as Java developer using primarily IDE, OpenOffice and Photoshop (just for personal use) the switch was like a charm. The problem is however that for example Adobe has separate Mc and Windows versions of their products, so you have to re-buy what you already have. Fortunately there is a student edition of their packages which are really affordable.

The difference
I have to say I had already known something about Mac OS X prior buying it. I have played with it several times and also know something about the technology. However I was shocked how different Mac OS X and Windows really are. Windows looks like a framework to start building an usable work environment, while Mac OS X is well usable from the very beginning. I won't compare them here as from my point view the products are in vastly different class and categories.

Pros and Cons
I won't write much about this as you could write a book about it. The overall experience is incredibly positive. I finally understand why Apple has so strong customer base. There is simply no way back. But it's not made the Microsoft's way to lock you on their technologies/formats/protocols. It's simply done by user interface and user experience.

The only really bad news for me was that you can't use FileVault (home folder encryption) and Time Machine (backup) in the way it's advertised. Your data are backed up only when you log out and you can't use the cool Time Machine interface. So you have to choose between security with weaker backup experience or no security with all the Time Machine features. I have chosen the first one as data protection on a notebook is essential for me and I don't expect I will return often to older versions of my data. The problem is caused by the way data are encrypted and seems to be by-design, so I will have to wait at least until Mac OS X 10.6. Maybe ZFS might help with this.

I'm most impressed by results you get from iLife and iWork. With much less effort than in any software on Windows you get extremely good looking results - document, presentations, movies, DVDs, slideshows etc. The Windows-made stuff looks like being made by 5 years old retarded child compared what an average user can do on Mac. Another great feature is organization of photos to events in iPhoto. I won't write more as I would simply waste hours writing what I like about Mac OS X and software on it.

You have to try to know what Mac OS X is all about. When you read the feature list it maybe doesn't look much better than any other OS, but when you try it you will see that every point in the feature list helps you a lot and there are many things not listed. Can't be told, can't be shown, must be experienced.

Hardware Cons:
  • lid does not touch the bottom part of notebook in the corners
  • exchanging hard drive can be quite a challenge :smile:
  • really hot when encoding video

Hardware Pros:
  • LED backlight
  • GeForce M8600
  • touchpad
  • size
  • aluminum enclosure
  • great keyboard + illumination
  • magnetic power cord
  • adapter size and roller solver
  • remote control
  • slot-in DVD drive
  • 6-pin FireWire 400 and FireWire 800
  • dual-link DVI
  • WiFi draft n
  • minimalist functional design

Software Cons:
  • not final Java 1.6
  • can't use combination of FIleVault + TimeMachine in the advertised way
  • had to restart twice, because the system simply got very slow and I was unable to determine why
  • failed to wake-up when the lid was closed in Front Row

Software Pros:
  • easy to setup Mac OS X
  • overall usability and look-and-feel
  • great looking results in iLife and iWork with minimal effort
  • Spotlight, FileVault, FInder (Sharing), Dock (Stacks), ...
  • ... to long to write - you have to try it :smile:

Conclusion
The only bright side about Windows is that I don't have to use them any more. If you play games, Mac should not be your choice. If you want to create something starting from presentation, programming to making movies choose Mac, because Windows is really something that limits your potential and wastes your time. That makes Windows much more expensive than any Apple hardware. I wish I have done the switch sooner.

Visited Countries

, ,



create your own visited countries map
or vertaling Duits Nederlands

Hmmm. Still a lot countries to visit. Hopefully, I will at least conquer Iceland, Finland or Ireland this summer, depending on the time.


UPDATE 14th April 2008 - Spain

Opera to pass ACID3

, , , ...

So internal version of Opera core successfuly passes recently released ACID3 test. Unfortunately the version is not yet public. Public beta will be released the next week as there are still some issues to be solved. So we have at least an image published by Opera developers.

Check out Desktop Team page for more information.

I have heard that WebKit is not far away from passing ACID3 as well. So congrats to both Opera and WebKit developer teams. Let's guess how many years will passing ACID3 take to Microsoft.

Java 7 - YES and NO

, , , ...

A lot of people migrate to Java from various languages and they bring to Java their ideas how the language should look like. I switched to Java several years ago from C++ and also thought there is something missing in Java. I missed the overloaded operators and some other things. But after few months I no longer missed them and even wouldn't like them to be included in Java.

This migration leads to many suggestions how to "improve" Java language in many different ways. So I would like publish series of posts that explain how I feel about the changes proposed for Java 7. Why I think they are good or bad. And think over whether the features can be done in a better way (from my point of view of course).

I plan to write about these "issues":
  • Closures
  • Properties
  • Enhanced try-catch-finally
  • Super packages (JSR 294)
  • Java Module System (JSR 277)
  • Swing Application Framework (JSR 296)
  • Beans Binding (JSR 295)
  • Beans Validation (JSR 303)
  • Units and Quantities (JSR 275)
  • JVM level changes
  • what I miss in Java 7

If you feel there is also something else I should write about, let me know.

My First Lecture

, , , ...

So, I devilered my very first lecture at CTU in Prague (Czech Technical University in Prague). I talked about a project I'm developing as my diploma thesis - Java Object Database. The main focus of the lecture was on problems objects databases are facing, how they can be solved and what approaches can be used to make persistence easy-to-use, reliable and fast in the same time.

I believe the lecture was interesting for anyone who is currently using ORM, JPA, Hibernate, relational databases etc. You can download a copy of presentation below this post. Although the slides were created to be accompanied with commentary, you can still find interesting information in them. If you have any questions or ideas, don't hesitate to contact me.

I will write soon a post describing the database in more detail, so stay tuned. If you want something specific to be explained, let me know and I'll try my best.

English in OpenDocument
English in MS PowerPoint
English in PDF (no animations)

Česky v OpenDocument
Česky v MS PowerPoint
Česky v PDF (bez animací)

IntelliJ IDEA 8 - Preview

, , ,

IntelliJ IDEA 8 early access version codenamed Diana is available for download and testing. From my point of view IntelliJ IDEA is the best IDE on the market. Although NetBeans has made tremendous step forward in version 6.0, IDEA is still somehow easier to use, more intuitive with powerful features at your fingertips.

For those who don't know IntelliJ IDEA the best way to describe its advantages is to recommend trial download or reading features. My favorite features are really robust refactoring, code inspections, TeamCity integration and overall ease-of-use. What I miss most is a profiler similar to the available in Netbeans by default. When I spoke with a JetBrains developer I was told that profiler is not planned as it's not requested by many people and it's relatively hard to implement. So if you want a profiler keep JetBrains asking for it.

Alhough there is nothing really interesting for me in this early version (as I don't use the newly supported technologies) you may find them useful:
  • Seam support (inspections, code completion, pageflow designer)
  • FreeMarker support
  • JavaScript debugger
  • SQL support (multiple dialects for detecting for features supported by different databases)
  • Flex support (including debugging)
  • Struts 2 plugin included by default
  • Many incremental changes

My personal wishlist would be:
  • Profiler
  • Built-in Android support
  • Free academic license (as using IDEA in classroom for free and forcing students to buy a license doesn't seem right to me)

IntelliJ IDEA 8 EAP Release Notes
IntelliJ IDEA 8 EAP Download page

Poweful 3D Egnine for Java

, , , ...

Have you ever thought of creating a 3D game? There is an Java engine that could help you and the best I have found so far - jMonkeyEngine. jMonkeyEngine is used already in several commercial games. Stable 1.0 version is available and 2.0 is currently under development.

If you are in doubts whether jMonkeyEngine is good enough for you, you should probably know that Sun has chosen it for Project Wonderland. The project is focused on creating online 3D collaborative environments. So you can be sure that jMonkeyEngine has a bright future with Sun in the background.

It was never so easy to create a game. No C-family language programming torture. Smooth running on every platform and even in browser. You won't probably compete with graphics of latest AAA titles, but you can get pretty good results - see screenshots. Also games are not only about graphics, right?

On the official site you will find a lot of resources, tutorials and forums to help you start. It won't take long and you will get first results rendered on your display. Except rendering 3D jMonkeyEngine also provides support for simple game logic, sound, user input and some other stuff related to creating computer games.

You can also expect that jMonkeyEngine will make it to Google Android as it supports OpenGL ES. See Joshua's Blog for more details about this effort.

Some features chosen from jMonkeyEngine website:
  • Java Applet and SWING support
  • Fast and compact jME binary format
  • Extensible to allow other import/export formats (XML is planned)
  • All geometry can be enclosed in a bounding system - Boxes, Capsules and Spheres
  • Bezier curves can be used for node controlling
  • Bezier Mesh - For smooth curved surfaces
  • Effects - GLSL Shader Support
  • High Quality Water with configurable reflection, refraction, wave generation, etc.
  • Extensible Particle System
  • Lens Flare, Screen tinting
  • Cloth Simulation
  • Textures in BMP, uncompressed TGA, JPG, PNG, GIF, DDS
  • Textures support mipmapping, environmental mapping, multitexturing
  • Collision and Picking
  • Lighting - Supports directional light, spot light and point light
  • Z-Pass Shadow Volumes
  • Continuous Level of Detail dynamically collapses triangles of a single model
  • Model Loading - COLLADA, 3DS, Obj, MD2, MD3, Milkshape, ASE support
  • Supports skin and bones and weighted skeletal animation
  • Render to texture
  • User Input System
  • Supports OpenAL and FMOD
  • ... more

LinkedIn

, , , ...

Although I was not interested in social networking sites, I registered to 2 of them recently. This was caused by the fact that I had got invitation from very interesting people. And fortunately I had an excuse to waste my time in this way, as a part of a project, I'm working on, is also a study of possible benefits of social networking sites. It makes me feel better when I can say I do it for research purposes :smile:.

I find LinkedIn the most interesting as it's not focused on "on-line friends" and chit chatting, but is more a network that should connect professionals, help to find a good work and help employers to find new skilled people. So if you are interested, check it out. You can find my profile there.

Anyway Opera Community is a social networking site too in fact. And it's the best I know - beautiful, vibrant, personal :smile:. Also Opera web developers made the site very nice looking and easy to use.

Movies worth watching

, ,

Recently I had some time to slow down a bit and make a brake. Except going out to see sun after few months spent inside a building, I also went through my movie collection and watched some of the best again.

Idiocracy - a soldier in a human hibernation experient wakes up in 2505 in a society that is described by the movie name itself, cool comedy that is the most accurate description of the future I have ever seen
The Fountain - story is harder to follow and I guess that there will be many interpretations what is the story actually about, this is a movie that makes you think about life, death and the relation between them, the story takes place simultaneously in years 1500, 2000 and 2500
Children of Men - all women have lost ability to have children and thus world is slowly dying, should make you think how would the world look like if there was no future for mankind
Ratatouille - slightly different from other movies, but exceptional as well, best CGI ever, great characters and screenplay

More movies:
Silent Hill (thanks Vdmhigh5 for recommendation) - based on the great video game with the same name

JNode version 0.2.6

, , , ...

JNode is a Java operating system with very small assembler nano-kernel. Unfortunately I have not much time recently, so I can't help JNode developers to improve the system. But at least I will try to make a little advertisement here. JNode is now in version 0.2.6 with these cool features:
  • 99% Java 6 compatibility
  • HFS+ support
  • more OpenJDK integration
  • bug fixes and improvements

If you want to help developing the next generation operating system, visit jnode.org. I hope they will make it into Google Summer of Code 2008 so you could get paid for help. There are many areas you can help including but not limited to writing documentation, improving GC, writing 3D drivers, improving interface.
July 2008
SMTWTFS
June 2008August 2008
12345
6789101112
13141516171819
20212223242526
2728293031