Simon Willison’s Weblog

Subscribe
Atom feed for java

88 items tagged “java”

2009

Using Scala with Google App Engine. Scala works, but I haven’t seen confirmation on actors yet (which are likely to break due to their dependency on threads).

# 11th April 2009, 3:28 pm / scala, java, appengine, threads, google

Dynamic languages on Google App Engine—an overview. Ola Bini’s notes on exploring the new Java support for App Engine with the aim of getting JVM dynamic languages such as JRuby running. Restrictions include a complete lack of threads (which will make it hard to get Scala up and running), but JRuby trunk now works without modification.

# 8th April 2009, 2:08 pm / olabini, appengine, java, jruby, jvm, google

Heap Dump Analysis. Using jmap to dump the JVM’s memory to disk, then analysing it using the visualvm GUI tool.

# 2nd April 2009, 10:34 am / java, jvm, profiling, heapdump, memory, visualvm, dominicmitchell

Magic properties make Firefox synchronously load the Java plugin. Even defining a function called sun() (or several other symbols) will trigger the Java VM to be loaded, dramatically hurting the performance of your page.

# 27th February 2009, 4:03 pm / firefox, java, performance, javascript, mark-pilgrim

CloudMade: A Summary of the Future of Mapping. CloudMade are now offering commercially supported APIs on top of OpenStreetMap, including geocoding, routing and tile access libraries in Python/Ruby/Java and a very neat theming tool that lets you design your own map styles. This is really going to kick innovation around OpenStreetMap up a notch.

# 17th February 2009, 11:25 am / openstreetmap, cloudmade, mapping, python, ruby, java, geocoding, routing, tiles

Apache Qpid. A new open source AMQP message queue with implementations in C++ and Java, developed by engineers from Red Hat, IONA and JP Morgan Chase. Anyone tried this yet? Looks pretty good on paper.

# 5th February 2009, 11:01 pm / apache, qpid, java, c-plus-plus, amqp, message-queues, red-hat, iona, jpmorganchase, open-source

Sloppy—the slow proxy. Java Web Start GUI application which runs a proxy to the site of your choice simulating lower connection speeds—great for testing how well your ajax holds up under poor network conditions.

# 13th January 2009, 4:17 pm / ajax, javascript, performance, sloppy, java, javawebstart, proxy, richard-dallaway

How we use IRC at Last.fm. With IRCCat, an elegant Java IRC bot that accepts Twitter-like messages to a network port (generally sent using netcat) and directs them to a user or channel.

# 8th January 2009, 7:04 pm / netcat, nc, irccat, irc, lastfm, richard-jones, java

The compiler only pays attention to the semicolons and braces while ignoring the line breaks and indentation, but humans usually only pay attention to the line breaks and indentation while ignoring the semicolons and braces. This gives the code the opportunity to lie about what it’s really doing. Consequently we need to take extra care when writing in C, Java, C++, C# etc.

Elliotte Rusty Harold

# 2nd January 2009, 10:26 am / c, codestyle, elliotte-rusty-harold, indentation, java, syntax

2008

Private Messages with cometD Chat. cometd-java (a Java servlet reference implementation of the Bayeux protocol) can be extended with BayeuxService subclasses that run within the server itself.

# 16th October 2008, 2:14 pm / comet, cometd, javascript, cometdjava, bayeux, java

Cascading. A Java API abstraction layer over Hadoop that lets developers think in terms of pipes and filters rather than map/reduce. The Cascading developers claim that this model is easier to understand and less error prone.

# 1st October 2008, 1:22 pm / mapreduce, cascading, java, hadoop, pipesfilters

Keyczar (via) New open source cryptography toolkit from Google, designed to get algorithm selection, key rotation and versioning right so you don’t have to. Java and Python versions are available; the Python version depends on PyCrypto.

# 13th August 2008, 1:20 pm / pycrypto, python, google, encryption, keyrotation, ben-laurie, java, keyczar

Protocol Buffers: Google’s Data Interchange Format. Open sourced today. Highly efficient binary protocol for storing and transmitting structured data between C++, Java and Python. Uses a .proto file describing the data structure which is compiled to classes in those languages for serializing and deserializing. 3-10 times smaller and 20-100 times faster than XML.

# 8th July 2008, 8:20 am / c-plus-plus, google, idf, java, open-source, protocolbuffers, python, xml

3 and 1/2 minutes to sort a Terabyte, and a look at Hadoop’s code structure. Bill de hÓra uses some clever static analysis tools to explore Hadoop’s 100,000+ lines of code.

# 7th July 2008, 2:15 pm / hadoop, bill-de-hora, staticanalysis, java

Spicing Up Embedded JavaScript. John Resig collects the various ways in which a JavaScript interpreter can be hosted by Python, PHP, Perl, Ruby and Java. There are full JS implementations in PHP, Perl and Java; Ruby and Python both have modules that use an embedded SpiderMonkey.

# 15th June 2008, 11:32 am / javascript, john-resig, spidermonkey, python, java, php, perl, ruby, embedding

Multi-Inflection-Point Alert. Dammit, Tim, stop giving away our competitive advantages!

# 26th April 2008, 6:48 pm / tim-bray, couchdb, simpledb, bigtable, rest, soap, python, java, rails

Once you reach a certain level of activity in the system where the garbage collector can no longer keep up (and it will happen), then every line of code in your system is now a potential failure point that can leave the whole program in a bad state. Lisp has this problem. Java has this problem. Erlang does not.

Damien Katz

# 14th April 2008, 3:17 pm / lisp, java, erlang, garbagecollection, faliure, damien-katz

Transitioning from Java Classes to JavaScript Prototypes. Peter Michaux shows how JavaScript’s prototypal inheritance can run rings around traditional Java-style classes once you figure out how to take advantage of it.

# 10th February 2008, 3:10 pm / javascript, prototypalinheritance, java, classes, inheritance, pete-michaux

Python Web Framework on the JVM. An update on both Jython and the Django on Jython project—it looks like Jython 2.5 isn’t that far away.

# 30th January 2008, 2:06 am / django, python, jython, java, jvm

Why we switched to Jetty. Zimbra (recently acquired by Yahoo!) are using Jetty for Comet. It sounds like they are using Bayeux as well.

# 8th January 2008, 5:12 am / comet, ajax, javascript, yahoo, zimbra, bayeux, jetty, java

20,000 Reasons Why Comet Scales. Greg Wilkins coaxes Jetty and Bayeux in to supporting 20,000 simultaneous users per server while maintaining sub-second latency, using Amazon EC2 to run the benchmark.

# 7th January 2008, 8:32 am / bayeux, jetty, java, comet, javascript, gregwilkins, performance, benchmarking, ec2

2007

Size Is The Enemy. Jeff Atwood: “I’ve started a cottage industry mining Steve [Yegge]’s insanely great but I-hope-you-have-
an-hour-to-kill writing and condensing it into its shorter form points.” Lots of verbose static typing apologists in the comments.

# 24th December 2007, 10:50 am / dynamiclanguages, statictyping, python, jeff-atwood, steve-yegge, java

Maven: Broken By Design. Charles Miller: “If you check out a particular version of your code and build it with particular versions of your tools, you should get a product that is binary-identical each time.”

# 20th December 2007, 8:24 pm / maven, charles-miller, buildtools, java

Comet works, and it’s easier than you think

Visit Comet works, and it's easier than you think

I gave a talk this morning at the Yahoo! Web Developer Summit on Comet, cometd and Bayeux.

[... 1,314 words]

I can't help feel that BDD is a case of a bad idea spreading; the motivations for BDD are fine (a change in developer testing workflow), but the technique they use to try to reach the desired workflow is totally bizarre.

Ian Bicking

# 27th November 2007, 7:16 pm / bdd, testing, ian-bicking, java

Jetty WebServer. Jetty 6.1 was the only cometd / Bayeux implementation I tried which worked out of the box.

# 27th November 2007, 6:43 pm / java, javascript, jetty, webserver, cometd, comet, bayeux

The Rubinius Sprint. Sun are throwing a ton of resources at Ruby, because as Tim Bray says, “it’s not fast enough”. Imagine where they’d be if they’d invested this kind of support in Jython five years ago...

# 21st September 2007, 11:32 pm / sourgrapes, python, jython, ruby, sun, tim-bray, rubinius, open-source, java

Django on Jython: What I’ve done until now. It’s not quite there yet (the new Jython is Python 2.2 with a few 2.3 features; Django requires 2.3 at least) but it’s looking pretty promising.

# 4th September 2007, 2:53 am / django, python, jython, java

At one point I thought I hated programming because I was just so sick it... It turns out I don't hate programming, I just hate programming in Java.

Russell Beattie

# 25th August 2007, 1:09 am / java, russell-beattie