Play 2.0 slides online

Here are the Slides of the Play 2.0 talk we had on the Scala User Group Berlin on 18.04.2012.

PlayFramework.pdf

You can find the Sample program on GitHub.

Schneeflocke 0.6.1

Just released 0.6.1. It fixed some problems with adding other contacts (was always showing “Subscription Pending”).

 

Schneeflocke 0.6.0

is released.

  • Clients do now cryptographic authentication the main server and each other.
  • Major rewrite of threading/asynchronoucity infrastructure inside the core

You can download for Windows and Ubuntu Linux on http://sflx.net/beta, there you can also create the necessary login.

The source code is available on GitHub.

xfce quirks

For those who also use XFCE to work, since current Gnome-3 Problems:

  • Lock Screen: Panel: Add New Item / Action Buttons. Then in Action Buttons Properties you can set the first button action type to “Lock Screen”.
  • Switch User: gdmflexiserver (in Terminal or via shortcut)

Tested on Fedora 15.

 

Say hello to Schneeflocke

Hooray, the first public Schneeflocke build 0.5.4 has been released today on sflx.net :)

Schneeflocke is designed to be a Friend-2-Friend file sharing system. It’s like a IM client for sharing folders (and without the chatting functionality…). In order to use it, you just have  to

  • signup on sflx.net/register – this is to prevent spammers
  • Download the  client on sflx.net/beta/downloads
  • Login (don’t forget to set your login credentials on view/settings dialog)
  • Add your friends with Add/Contact…
  • Share a directory with File/Share…
  • Enjoy sharing…

The source code can be found on GitHub.

Don’t trust my server? Just use your own XMPP Server :) (e.g. Prosody).

Note: Although the connection is encrypted, its not yet authenticated – an active attacker can still compromise security and sniff your traffic.  Not all NATs can be traversed in the moment, only basic UDP hole punching is implemented. This is a BETA version.

And now? Now that Schneeflocke is released for the first time, I will try to get into the reachability problem, either by increasing the NAT hole punching algorithm or by implementing some kind of a tunnel algorithm.

Dell XPS 15 – Noisy fan in Ubuntu

Had to get a mobile workstation for Linux and choosed the Dell XPS 15 (Intel i7 2630QM, FullHD) L502x for it because of 3 years warranty and their good screen resolution. The laptop itself seems solid, the fan is a bit loud but still ok.

The bad: In ubuntu (11.10 Beta) it’s always noisy due to a bug in their kernel.

Power consumption in idle: 42W, measured with PowerTOP. Thats enough, to keep the fan running all the time.

In contrast, Fedora 15: 24W. While playing HD Youtube videos: 37W. That’s less enough to keep the fan off. And nearly 40% off.

BTW: Ubuntu 11.10 doesn’t include Gnome, just their Unity. In my opinion even Gnome3 is more useable than Unity. But why on earth does each new WM copy the bad tab-switch-behaviour from OSX?

Update
Arg, the Kernel update to 2.6.40 (3.0 :) ) brought the problem back, so again 30W of consumption. After disabling nouveau (which isn’t that easy (german)) and unloading the NV 540M core via acpi_call it’s again at 19W. Disabling the nouveau driver also brings the suspend mode to work (with nouveau it’s just a matter of luck).

Powerball on TV

Our 3D game Powerball was on TV at a report about the “Lange Tag der Wissenschaften” (Night of Sciences) in Dresden. :)

See the report here at long its online!

sfserialization / autoreflect 0.2

Just uploaded sfserialization 0.2. Most changes are inside the C++ parser and code generator

  • C++ Parser can now parse Function Declarations (still no real template support)
  • With this information, a new code generator named RpcGenerator can create helper functions for RPC-Calls. The RPC format is a proprietary JSON based format I also used in my diploma thesis (Basic format: [Command-Name, Arguments in JSON, Binary-Data]).  It shall be possible to create other Rpc-Generators or wrappers as well, using the parsed function declarations
  • The enum fromString() generator now uses a slightly packed statically generated hash table, which is smaller now. I moved the generating code to StaticHashTableBuilder (link) so that other Generators can also use these tables.
  • Some minor bugfixes

0.2 can be found here

update: already on 0.2.1 (bugfix only)

Coroutines in C/C++

Just as a Idea for a project, some links about coroutine implementations:

LibTask: http://code.google.com/p/libtask/ (originally: http://swtch.com/libtask/ )

LibTask for Win32: http://code.google.com/p/libtask-win32/

Boost Coroutine (Some Summer of Code project): http://www.crystalclearsoftware.com/soc/coroutine/

 

Auto toString/fromString functions for C++Enums

And some other serialization related things are described in a short presentation of Autoreflect.