Archive for September, 2008
Google Chrome Dev Channel
Written by Jevgeni Kabanov on September 26, 2008 – 2:11 pmIf you are using Google Chrome and want to keep up with the latest updates switch to the dev channel: http://dev.chromium.org/getting-involved/dev-channel.
Tags: chrome, web
Posted in cool | No Comments »
SpringSource will charge for updates to Spring, what comes next?
Written by Jevgeni Kabanov on September 21, 2008 – 11:56 amUnder the new policy all bugfixes after three months will be available only in subscribed releases (the patches will still be available in the open source trunk, but you’ll have to compile them yourself).
This is a very expected move from Spring after the VC investment. Their previous business model was largely based on high class consulting and training. Obviously this just doesn’t scale. Now they are searching for new ways to sell licenses and subscription.
One of them is the new Spring Application Platform (renamed from the Spring Application Server). As far as I checked it it’s a relatively thin layer over OSGi, which doesn’t stop them from charging money for it. To be fair OSGi did need something like this to be useful to the larger community and if the tools will also be up to scratch it may be a useful project.
The new policy is just a part of that move. There is of course no reason why someone couldn’t just set up a public repository with the compiled releases unencumbered with Spring trademarking, but it will take some work. This is exactly what happened to the RedHat Linux wrt YellowDog Linux. This leaves me wondering if the “spring” in the package names is considered trademarked, because otherwise it would be impossible to produce untrademarked binary compatible releases, which kinda defeats the whole purpose of the open source.
What is the next move we can expect from SpringSource? They are also already offering companies to certify themselves for a hefty price to be “Spring Certified Solutions”. They also certify developers and may start to certify whole shops for “Spring-Enabled Process” or somesuch (if they’re not doing it yet). What we may yet come to see is
- Making access to the Spring forums and FAQ paid
- Making full documentation available only for a fee
- Making full examples available only for a fee
- Making Spring IDE commercial
- Making downloads available only to registered users with aggressive upsale.
- Making a Spring job board available only to certified developers and enterprises. (I was always surprised that this haven’t been done much in the industry)
- And so on. Take any practice from Oracle/IBM/Sun and make it more aggressive, since SpringSource needs to be making money yesterday.
One very important question that came to me is if there’s any contributors to the Spring framework outside the SpringSource? Unless they have signed a copyright surrender agreement the whole commercial release is a license change without the agreement of a copyright holder. Given that the Spring guys seem to like to abuse the community understanding of open source without given much though to laws, it would be nice to see them bitten in the ass with it.
Posted in meme | 5 Comments »
Live: Alternative and Emerging Languages Panel at JavaZone
Written by Jevgeni Kabanov on September 18, 2008 – 6:58 pmLineup:
- Guillaume Laforge for Groovy (I can never spell his name, so I’ll just call him “Big G”)
- Bill Venners for Scala
- Gilad Bracha for Newspeak
- Ola Bini for JRuby
- Charles Oliver Nutter for JRuby
- Scott Davis against Groovy
Moderator: Robert C. Martin (Uncle Bob).
Everyone introduces themselves. Bill is to blame for the “emerging” v/s “dynamic” languages. Ola fools around with AI stuff, hello robot overlords!
Bob: “I’m sick and tired of new languages, why C++ wasn’t good enough? Same with Java?” Python isn’t really represented on the panel, although it’s not really emerging either.
Charles: “must embrace the multiple tools”. Big G: “haven’t you been frustrated with Java?”. Scott is annoyed by static typing, I’m annoyed by Scott :) Duck-billed platypuses comes into play, generic consulting bullshit ensues.
Ola: “Lisp developers laugh at Java”, forget to mention that they laugh at Ruby as well. Haskell guys will laugh at anyone. Bill just wanted something better, reminds that type inference makes Scalla waaay better than all that dynamic nonsense. All languages do trade-offs, Bill likes types. Charles: “Like C++ — keep using it. If something works better for you, use that. Embrace multiple tools!”.
Bob: “Why did you sacrifice the static typing? Do you have a runtime exception fetish?”.
Big G: “You don’t get too many runtime errors in Groovy.” He’s just way too good for that. Ola: “Scala has cool type inference, but way too complicated.” Says you get other benefits in dynamic languages, but doesn’t names them. Scott brings driving analogies, which don’t mean anything, blablabla.
Gilad: “Lies by academics — types are useful for catching errors. But those errors are trivial. Types are great for documentation, structuring and performance.” Charles: “Types are about not trusting the people who write the code”. Fair enough, but I don’t trust myself, not to mention others. Bill: “I’m getting nervous in a big system. Types protect against certain type of errors”. Kinda weak.
Bob: “Your languages are hideously slow. Explain!”
Scott: “Speed is overrated”. And this is when the CPUs have plateaued and we just get more concurrency that noone uses. Brings Java as example of slowness, but the CPUs caught up with Java, Groovy won’t be so lucky. Big G: “Thin DSL layer in Groovy on top of a Java library made a world of difference, still Java performance underneath.” Gilad: “Google V8 might be a target for many dynamic languages soon, ’cause it’s been developed for dynamic languages”.
Kirk: “Productivity is king, but performance is important, if you produce bytecode why are you slower than Java?”
Gilad: “JIT is locked behind the type system. This makes dynamic languages reimplement basic stuff”. Charles: “Harder to know where does a method invocation end up, INVOKEDYNAMIC to the rescue. Numerical types are a real issue, unboxing them is really hard, SmallTalk did that.” Sounds reasonable. Scott speaks again. I had to switch from Google Chrome to Firefox in between, because spellchecking there sucks :(
Charles: “DocumentBuilderFactory is ridiculous, static typing overhead sucks. It cannot be just one languages, it’s not enough…” Bill: “Not static type fault — structural types, implicit conversions.”
Me: “What about contracts?”
Ola: “Dynamic languages do have the same contracts. ” Fails to explain what are they, though. Bill: “draw() has no meaning in dynamic languages, but it doesn’t necessarily produce more bugs”. Gilad: “Typechecker should be just a tool that warns you, while using types for documentation”. Someone from the crowd: “I program in 26 languages and that’s why your argument sucks [meaning me]“. Scott speaks.
Someone: “The problem isn’t in language, but in the people who use it, is it?” Reaaally long explanation that boils down to nothing specific. Oh, “What about refactoring?” OMG, please stop talking now!
Big G: “Refactoring works on Groovy with IntelliJ IDEA”.
Someone: “Multiple languages are like teenage sex, when will multiple languages become mainstream?” Time’s up!
Posted in meme | No Comments »
When a machine does not boot and is across the Atlantic
Written by Toomas Römer on September 15, 2008 – 4:45 pmI’m no administrator but I do have to keep an eye on some machines and do some administrative tasks. I was able to bring a machine down by doing a dist-upgrade and accidentally upgrading a kernel without a necessary network module. I learned a lot from this experience :)
I’m in Estonia and the server is in the US. I didn’t know what my options were, I imagined that somebody would go to the server room and boot it up with a Live CD. Once network gets configured I’m let in.
Nope. I was sent email instructions to a KVM (Keyboard – Video – Mouse) frontend and the machine was rebooted.
KVM is a physical switch int the server room which takes the input/output of the server and lets you use that input/output over the network.
The frontend presents you with a Java applet where you can see the video output of the machine. Keyboard and mouse work as usual.
The frontend even lets you mount an ISO from your HDD that will be mounted by the machine as an USB drive. This is really sloooooow. The other option is mounting an ISO from the network as an USB drive, faster. So starting from a Live CD is something you can do yourself.
I mounted an ISO with the necessary module, ran it as a Live CD, mounted the HDDs, chrooted to the old root and was able to do a simple dpkg -i packageName from the CD.
Administrators do have cool tools and it is possible to administrate machines over the Atlantic even when they don’t boot up :)
Tags: linux
Posted in cool | No Comments »
Google Chrome — Fast, but Unstable
Written by Jevgeni Kabanov on September 3, 2008 – 1:12 amI gave Google Chrome a quick spin. At least two problems came out:
- Digest-based authentication isn’t handle correctly, the sent request does not include the query causing 400 Bad Request
- Google Analytics will randomly crash the Flash plugin freezing the whole browser (with all the talk of isolated processes…)
On the immediate positive side it fixed my main pet peeve with Mozilla Prism — the inability to change font size, so I replaced the Prism shortcuts with Chrome applications. It is also really, really fast.
All in all it’s fast and cool, but needs lots more polish before massive adoption.
Tags: google, web
Posted in meme | 5 Comments »