« September 2010 | Main | December 2010 »

October 27, 2010

Java developers are whiny self-obsessed bitches

Oracle sues Google. IBM joins OpenJDK. Apple drops Mac Java VM.

Well. Freaking. Duh.

Apple has hundreds of thousands of developers making iOS applications and 57 people doing Java Swing development. Every single one who whines about the depreciation of the Mac Java virtual machine is probably some sort of server programmer who whines about not being able to run Eclipse, IntelliJ or Netbeans, without installing a virtual machine, on his or her $5000 SSD MacBook Pro.

This is not about Java on the desktop. This is about narcissistic developers who deploy code to low cost Linux boxes and who want Apple to kiss their rear quarters because they spent a few thousand dollars on a laptop. Apple simply do not care. Because Apple does not sell cheap Linux boxes. And neither did Sun, which is why Java Swing never went "2.0" and why Sun is the property of Oracle.

Depreciating the Mac Java VM is the kick in the balls that Oracle needs. I make Swing software myself and I love this move. Now JavaFX has to live in a world where the Sun deployment certificate on Mac OS X will expire one day. No more freeloading off Java Swing and calling it "JavaFX awesomeness".

The best Java desktop experience is ironically made by Apple themselves. The Final Cut Server Client runs over Web Start which regardless of the Final Cut Server Client GUI code itself requires Swing to be installed. And they have experienced the same problems as everyone else. Even Apple's Web Start code will crash once in a while.

The web is the cross platform development platform that is preferred by most developers. Java Swing is not loosing because it sucks so bad, it is loosing because most people develop websites. Which ironically are more complicated than most desktop applications. People who say web development is easy are just incompetent. Scaling to millions of users is simple and cheap if you use Java Swing. Bandwidth is cheap, but CPU cycles on a VPS, Google AppEngine instance or Amazon EC2 "elastic computer cloud" cost a lot of money. Well, more than if it was a desktop application. Then you would just use the local CPU and the user would judge if it was worth the cycles.

And now you also have the mobile "app" economy. Because for some strange reason many developers never wanted to develop GWT/JSF fart apps that cost $50 dollars a month to run on EC2. Because many types of web applications never make any money. Which is why desktop development is not dead. It is just specialized and marked niche oriented. Like banking, development, administration, design, CAD, etc.

Update: Yeah, about them Java developers, check it out. Xserve is EOL.
Apple is transitioning away from Xserve.

October 21, 2010

No Java in Mac App Store

Code signing for everybody, here we come. And yeah, this applies to everyone once the Apple propaganda machine starts talking about dangerous non-MacAppStore non-signed executable files Basically both Microsoft and Apple has decided that code signing is the cure that fixes all those buffer overruns in third party software and/or operating systems. And this is why Java and Flash/PDF is being spanked in public.

Ah well, Sun and Adobe screwed up on security and this is the result. Jobs and Balmer hates incompetent wannabe competitors who makes their platform look bad. The big boys are putting their foot down. Well, for as long as Ubuntu will let them. This might be an opportunity for Ubuntu Linux, Xen and VirtualBox. Some may talk about Google Chrome OS, but to me it looks like a toy for kids.

Happy now JavaFX team ?

Apple JVM becomes EOL in OS X Lion. InfoQ coverage.

Now Mac OS X JRE is Oracle's problem. Should be easy to perfect Prism when you have complete control.

October 20, 2010

Demand JCP standardization of JavaFX in Java

Since Sun has been such a stickler about standardization, why not apply the same standards to Java-JavaFX as we do to J2EE and Java 7 ? Go to the Java Community Process website and ask where the JavaFX Java Specification Requests (JSR) can be downloaded !

Set up an expert group and let them vote on the inclusion of JavaFX in the JRE. Oracle would love this. It allows Oracle to showcase their openness and professionalism. And when you read a Oracle white paper, or a public API, you can be sure this is not some random garbage put out to please the crowd before public events.

October 18, 2010

HybridGL - Teppefall Hybrid and JOGL on Harmony

Harmony needs a 100Mb more RAM than the Sun JVM. CPU usage is also slightly higher. Event handling and rendering is sluggish but it does run if you turn off the scripting logic. Window location logic is very different (buggy?). Swing itself looks pretty terrible. But OpenJDK Swing is also bad.

JavaFX is not a standard like J2EE. It is vendor lock-in just like IBM Eclipse SWT. People who support OpenJDK over Harmony are just butt kissing bitches. If you look at Harmony Swing, OpenJDK Swing, J2ME and JavaFX the Android platform makes perfect sense.

Sun 1.6 JRE and Apache Harmony 6.0

Teppefall HybridGL (2).png

Teppefall HybridGL (3).png

set path=%path%;system\
java -cp teppefall-runtime.jar;ext\jogl.jar;ext\gluegen-rt.jar com.teppefall.hybrid.app.JJHMain -Djava.library.path=system\ app\application.xml

application.xml

<application grabber="false" traymenu="false">
<id>com.teppefall.hybridgl</id>
<name>Teppefall HybridGL</name>
<version>1.0</version>
<updater>http://static.teppefall.com</updater>
<initialWindow>
<title>Teppefall HybridGL</title>
<content>cache/app.jxml</content>
<systemChrome>standard</systemChrome>
<width>778</width>
<height>502</height>
<visible>true</visible>
</initialWindow>
<icon>
<image64x64>images/logo.png</image64x64>
</icon>
</application>

app.jxml (created by Teppefall Layout)

<?xml version="1.0" encoding="utf-8"?>
<!--Teppefall Layout 3.9.2-->
<java version="1.4.2" class="java.beans.XMLDecoder">
<object id="self" class="com.teppefall.ds.layout.jxml.jfc.JFCAssembly">
<void method="add">
<object class="com.teppefall.hybrid.core.Effects3DApp" id="mediaplayer">
<void property="fps">
<int>30</int>
</void>
<void property="joglTest">
<boolean>false</boolean>
</void>
<void property="renderer">
<string><![CDATA[com.teppefall.ds.opengl.BlueTriangleRenderer]]></string>
</void>
</object>
</void>
<object idref="self">
<void method="register">
<string><![CDATA[mediaplayer]]></string>
<object idref="mediaplayer"/>
</void>
</object>
</object>
</java>

October 08, 2010

Fixed the Javascript nonsense

This website no longer depends on crazy Javascript style logic. I forgot to fix this.. two years ago.

October 04, 2010

The OS Matters More Than Ever

HTML5 could turn into a security nightmare. It can become the pirated Windows XP of public standards. Any internet service provider and switch out there can rewrite the code into something else. Lots of people run Windows XP inside a virtual machine because the software they use is so rotten it only works on a subset of Windows. So people then replace it with web apps that only run on a subset of Internet Explorer. And then replace that with something they did not write themselves because they now understand just how useless the development department really is. And this is why the web takes over more and more. The web is better than massive incompetence. And you get collaboration and off-site access for free.

The idea that the web is "the next OS" is sort of silly. The fact that nuclear power-plants and undersea pipelines are a dependency is not even a topic on popular Web 2.0 blogs. The day when people sit on Mars and check their email you can guarantee it is not a "web app" as the Web 2.0 hipsters define it. It might be made in HTML5 and be a HTML5 application, but it is basically a desktop application running inside another desktop application. Because as we learn how to use HTML5 we learn just how important security and privacy really is. And slowly HTML5 becomes a desktop application again. Because software is all about control. Real or imaginary. Hiding code on a server in Utah and providing a JSON API to the "flush toilet" function will not be practical. And developers knows this and Google Native Client, HTML5 Database and Local Storage is the result.

Even if we encrypt almost everything, there will always be leaks in the network transfer. Flash cookies, media caches, DRM, static resources, payment, social engineering, evil corporations or governments. If we choose to go the app store route with web apps on the side we simply assume we are safe. It is like a door locked by other people you never see. Not that I am alluding that anti-virus software is even remotely user-friendly or anything. The desktop lets you analyze if the Chinese government is stealing your pornography collection for some reason. Google Chrome OS probably only tells Google HQ about it and then they issue a press release if the problem affects their operational integrity.

The rise of web applications is really the rise of usage statistics. A more draconian version of what Microsoft tried to sell off as software activation. Basically the web app is digital restriction/rights management for lazy developers. Connecting your software to a credit card 24/7. And this is also why young people almost never pay for online services. They do not have credit cards. And this is why advertising is the big marked. Because advertising is the micro-payments tree in the business platform forest.

People use Linux and BSD because they want an alternative to Windows and OS X. A public standard they can deploy software to. And Google, Yahoo and many others where founded on open source because open source software made it much cheaper to create large computing farms that crawled the web. Open source is a big win for small players and people who just want to learn. You no longer need connections to get hold of a decent compiler. Microsoft .NET WPF, Linux GTK and Apple Cocoa are not features. They are quirks designed to lock you into the platform. And the big nemesis on the web app is not bandwidth or new desktop paradigms. It is latency. Because "slow" is 0,5 seconds.

The app store, the web app and Apple iPad are the new Sony Playstation 3's or Xbox 360's. They are what replaces AmigaOS, HPUX, Z/OS, Irix, Solaris and many other desktop and console systems. Because now everything is a virtual supercomputer because of the network. Today’s "user experience" (UX) is 20 years old. But people who sell stuff tell you it is brand new. Because then they can charge more. If the web is extremely powerful, you need something that matches it and protects you from it. You need a better operating system. Because virtual machines like Vmware, Parallels, VirtualBox and Xen tells us everything we need to know. We can not run the web inside a virtual machine to support the old API's that we used in our software. But someone is probably working on it.

The desktop wins because we can run the old version of something.


The OS Doesn’t Matter…

Next generation Teppefall software

Coming soon to Teppefall Link.