2010-07-16

Android Developers Blog: Android Market Welcomes Korea!

Android Developers Blog: Android Market Welcomes Korea!: "As of today, Android Market is open for business to application buyers in the Republic of Korea. We hope that this will make the outstanding Android devices now available in that nation even more useful and fun. We welcome the people of Korea, acknowledged everywhere as one of the world's most-wired societies, to the world of Android."


This is awesome, really. WHAT ABOUT SWEDEN?


;)

2009-09-27

Android Developers Blog: A Note on Google Apps for Android

I think googles stance on modded ROMs is a bit sad, since I am running one of those, and I would frankly not go back to stock ROM, because of lack of tethering. I think a totally open ROM would be awesome, but I realize it would take probably a year to replace the stuff that Google built. Hopefully I am wrong.

Android Developers Blog: A Note on Google Apps for Android

OpenAndroid

2009-06-09

Android Scripting Environment needs Groovy!

I am wondering why Google choose not to mention Groovy for the ASE, the Android Scripting Environment.

Groovy has no trouble accessing java APIs, for one. Could it be that groovy relies too much on dynamic code to be useable on the dalvik VM? See here for example http://www.nabble.com/Anyone-got-the-groovy-running-on-Android--td15044776.html.

2009-06-05

Xmpp server components for java

Its a bit sad that java is totally lacking any sort of embeddable or componentized server-side XMPP libraries. There is Tigase and Openfire servers, but they are just that, servers and not meant to build new servers or to be embedded, as far as I know.

I have also failed to find any examples or libraries for creating component connections to XMPP servers, although they are meant to be very similar to client connections.


Edit: Actually, seems there are ways to use PubSub from java which should be good enough for me: http://www.igniterealtime.org/community/thread/38292

2009-05-26

LuxRender performance on AWS

Just plyaing around with LuxRender on a small Blender 2.48 testscene. On my laptop, which has a Core 2 Duo 2,2Ghz, I get about 22k samples/s. Using a "High-CPU Extra Large Instance" AWS instance I get between 120 and 300k. Average seems to be about 10 times higher than for my laptop, which is nice enough. These cost 0.8$ per instance-hour, which is pretty decent for shorter jobs. I'm not sure about the bandwidth needed, luxrender does transmit the "film" every now and then but the interval can be tweaked.

Scaling this up by using more instances is also very easy.

2009-05-19

Lyrics for Fischerspooner - Megacolon

Just corrected a few errors in the version that are around on the net:

Document on Google docs

2009-05-06

How to add implicit imports to an embedded GroovyConsole

I wanted to have a graphical GroovyConsole that had my own APIs automatically imported. This proved to take some time to fix up. This is how it ended up looking. I created this in my normal eclipse-project so that I can easily launch this with the correct classpath already done for me.

TestGUI.java:

package groovy.ui;

import java.lang.reflect.Field;
import java.net.URL;
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyShell;

public class TestGUI extends Console
{
public static void main(String[] args)
{
TestGUI gui = new TestGUI();

gui.run();
}

public TestGUI()
{
super();
try
{
setup();
}
catch (Exception e)
{
e.printStackTrace();
}
}

public void setup() throws Exception
{
Field shell =
Console.class.getDeclaredField("shell");
shell.setAccessible(true);
shell.set(this, new OurGroovyShell());
}
}


OurGroovyShell.java:

package groovy.ui;

import java.util.List;
import org.codehaus.groovy.control.CompilationFailedException;
import groovy.lang.GroovyShell;

public class OurGroovyShell extends GroovyShell
{
public Object run(String scriptText,
String fileName, List list)
throws CompilationFailedException
{
scriptText = "import whatever.*\n" + scriptText;

String[] args = new String[list.size()];
list.toArray(args);
return run(scriptText, fileName, args);
}
}



Fairly simple in the end. I was fooling around a bit to get this to work at first. This was done with Groovy 1.6.2.