so, you have your continuous integration system up and running. you’re using Bamboo from Atlassian since they rock. however, you have a need to run some tests that require an X server to be running (like flexunit tests).
if you were using Hudson, there’s a plugin that will start/stop Xvnc for you. there’s demand for a Bamboo plugin, but nothing yet.
however, you don’t really need a plugin! if you’re using maven 2.0, drop these three lines into ~/.mavenrc:
vncserver -kill :0 vncserver :0 export DISPLAY=:0
(be sure to run vncserver once as the user Bamboo runs as to set a password first).
then, when maven is launched, it will destroy the existing X session, start a new one, and set the display property properly. should anything go awry, you can always connect a VNC client to see the screen prior to the next build starting.
while it’d be nice to have it more automagic like what Hudson has, its easy enough to string a solution up ![]()
October 29th 2008 · Tags: code, development | 2 Comments »
today we released electroserver 4.06! from the release announcement:
You can now get through firewalls, opening your applications to the widest audience ever using the new HTTP connection option. If a client can’t successfully establish a socket connection with the server due to firewall security then HTTP connection can be used and it will just work. As a developer, the only difference in the way that you use the API is you will call createHttpConnection instead of createConnection. All other calls and events are identical!
the implementation wasn’t bad at all. due to the usage of mina on the backend, it was very simple to plug in alternate frontend that wraps our existing protocol. i hacked and back-ported pieces of the mina 2.x branch http client code for a very simple http implementation that wraps the electroserver binary protocol as the request/response payloads. it was really just an extra link in the chain before the existing logic that expected the binary protocol on the wire directly. add in some support for storing messages for clients and voila.
due to how mina itself works, comet / long poll support also “fell right out” of the implementation. this means that for message receipt, if there is an open channel, using http is just as performant as electroserver’s native binary protocol.
there was also another funny bug that i fixed that involved making a reentrantlock fair. this was the first time i had personally witnessed the needed to use this option, but when dealing with the need to process things in-order where messages can arrive via multiple threads, its a lifesaver.
October 25th 2008 · Tags: code, electroank | 1 Comment »
I just read elharo’s IDEA criticisms, and since keyboard shortcuts are his main one, I thought I’d share the set I’ve been using for years in IDEA.
Like him, when I started using it on the Mac, they drove me nuts. Since this was back when Eclipse sucked mightily on the Mac, I remapped them all.
You can download the file here. Place it in your ~/Library/Preferences/IntelliJIDEAxx/keymaps folder and restart IDEA.
August 13th 2008 · Tags: development | No Comments »
You are viewing a mobilized version of this site...
View original page here