dRuby is a distributed object system for Ruby. It allows an object in one Ruby process to invoke methods on an object in another Ruby process on the same or a different machine.
The Ruby standard library contains the core classes of the dRuby package.

Because it's really hard to find a good example that is NOT the usual "we'll create a tuplespace" one, I decided to put something up.
This example contains 3 conponents:
a) "rinda": this component is the point where the servers announce theit services and the clients receive information about the servers. Servers and clients automatically find the server thanks to UDP broadcasts

b) the server: basically a wrapper arround a "regular" class file that looks for the rinda server, registers the service there once it has found it and provides the interface to the "regular" class file over the network

c) the client:

rinda:

require 'rinda/ring'
require 'rinda/tuplespace'

# start DRb
DRb.start_service

# Create a TupleSpace to hold named services, and start running
Rinda::RingServer.new Rinda::TupleSpace.new

puts "started rinda service"

# Wait until the user explicitly kills the server.
DRb.thread.join

The Server

require 'drb'
require 'rinda/ring'
# expand the load path
puts "creating the service"
# creating my service
my_service = SomeClass.new
#making it available via DRB (local IP gets detected automatically)
drb_wrapper = DRb.start_service(nil, my_service)


puts "looking for rinda server"
ring_server = Rinda::RingFinger.primary
puts "Found it!--> #{ring_server.__drburi}"

puts "Registering my service"
name = `hostname`
#will be checked every 5 seconds
renewer = Rinda::SimpleRenewer.new(5)
tuple = [:name, my_service, drb_wrapper, "Monitoring Service on #{name}"]
ring_server.write(tuple, renewer)
puts "Registered and running!"

DRb.thread.join

The Client

require 'drb'
require 'rinda/ring'
puts "Getting available Servers"
DRb.start_service
ring_server = Rinda::RingFinger.primary
services = ring_server.read_all [:name, nil, nil, nil]
puts "Services on #{ring_server.__drburi}"
puts "Amount: #{services.size}"
#create an array of hashes
services.map!{|service| {:object => service[1], :uri =>
service[2].__drburi, :description => service[3]} }
#sort them according to IP/URI
services.sort{|srv1, srv2| srv1[:uri] <=> srv2[:uri]}

if you want to execute a function, just use it like a regular object:

bla = Drbobject.new(nil,service[:object])  
bla.some_method

Facebook has officially opened up their facebook chat:
Facebook xmpp chat
The question is: do I really want that in my roster?
Also: no SSL/TLS?

For a lot of people, visio 2007 professional immediately crashes when you try to open a .vsd file in wine.
Using those .dll overrides, it works like a charm:
visio overrides
Hope this helps somebody :)

It is impossible to simply tell a process to "refresh" the system environment variables in Windows. A running process will always have the ones present from when he began executing.
One thing you CAN do, is simply get the current System Environment using vbscript and set it as temporary variables. After the next login, the variables will be there anyway.

Just create a .vbs file:

Set oShell = WScript.CreateObject("WScript.Shell")
filename = oShell.ExpandEnvironmentStrings("%TEMP%\resetvars.bat")
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set oFile = objFileSystem.CreateTextFile(filename, TRUE)

set oEnv=oShell.Environment("System")
for each sitem in oEnv 
    oFile.WriteLine("SET " & sitem)
next
path = oEnv("PATH")

set oEnv=oShell.Environment("User")
for each sitem in oEnv 
    oFile.WriteLine("SET " & sitem)
next

path = path & ";" & oEnv("PATH")
oFile.WriteLine("SET PATH=" & path)
oFile.Close

And a matching batch file:

"%~dp0resetvars.vbs"
call "%TEMP%\resetvars.bat"
del "%TEMP%\resetvars.bat"

By launching the batch file, you'll get updated temporary variables in your current process.

found on stackoverflow

While in the beginning, you actually had to fiddle with an sqlite database, you now can simply edit the APN settings from within them phones menu system. Here is how:

  • select the phone icon (as if you wanted to make a call)
  • go to the menu at the top and select preferences:
  • enable the "manual settings" field and tap on "Edit Network Settings"
  • Insert your settings

It worked fine for me without any manual settings on simyo (german virtual provider using the eplus network), but I'm sure this will come in handy

StudiVZ, Xing und Co - Die Langsamen werden verlassen. Veranstaltung zur Architektur und zum Betrieb sozialer Netzwerke

Soziale Netzwerke gehören mittlerweile zu den größten von Menschen erstellten IT-Infrastrukturen. Sie stellen enorme Anforderungen an die Architekturen sowie an den Betriebsablauf. Wie werden sie in der Praxis realisiert, damit Millionen von Usern problemlos und schnell kommunizieren können?

Bei der MediaNight stellen Studierende Projektarbeiten vor Das erfahren Interessenten am 22. Januar 2010 ab 12.30 Uhr an der Hochschule der Medien (HdM). Macher und Experten sozialer Netzwerke gestatten einen Blick hinter die Kulissen von StudiVZ oder XING. Gäste sind zu der Veranstaltung herzlich willkommen, die Teilnahme ist kostenlos.

Zum Auftakt stellen Studierende des Master-Studiengangs Computer Science and Media der HdM die Techniken zur Durchführung von Last- und Performancetests, Monitoring und Alarming, Caching und Parallelverarbeitung am Beispiel einer Wikimedia Installation vor. Sie gehen auch auf alternative Architekturen ein. Anschließend beschreibt Heiko Specht, Account Manager bei Gomez Deutschland, München, die Möglichkeiten externen Monitorings. Mit diesem Verfahren stellen die Betreiber großer Websites sicher, dass ihre Inhalte überall auf der Welt in der gewohnten Qualität verfügbar sind. Danach geht Johannes Mainusch, Vice President Operations bei XING, auf die Performance von Websites ein. Unter dem Motto: „Wer langsam ist, wird verlassen" lässt er hinter die Kulissen von XING blicken. Was Clients bei externem Monitoring besser machen können, stellt Jakob Schröter vom Master-Studiengang Computer Science and Media der HdM vor. Den Schlusspunkt setzt Dennis Bemmann, StudiVZ-Gründer und Informatiker. Er geht auf die Skalierbarkeit, den Datenschutz und die Geschichte der Plattform StudiVZ ein und freut sich auf eine rege Diskussion zu den Entwicklungsperspektiven der sozialen Netze.

Die Veranstaltung wird aufgezeichnet. Der Mitschnitt wird auf der Webseite des Studiengangs Medieninformatik bereit gestellt.

PROGRAMM 12.30 Uhr Begrüßung und Einführung ins Thema Prof. Walter Kriha, Studiengang Medieninformatik der HdM 12.45 Uhr Wikimedia - Ausmessen des LAMP Stacks mit Werkzeugen, Studierende des Master-Studiengangs Computer Science and Media der HdM 13.30 Uhr Externes Monitoring Heiko Specht, Account Manager Gomez Deutschland 14.45 Uhr Wer langsam ist wird verlassen - Performance großer Websites, ein Blick hinter die Kulissen von XING Dr. Johannes Mainusch, Vice President Operations XING 16.00 Uhr Client-side Optimizations Jakob Schröter, Master-Studiengangs Computer Science and Media der HdM 16.30 Uhr Skalierbarkeit, Datenschutz und Geschichte von StudiVZ - Technik und Diskussion Dennis Bemmann, StudiVZ Gründer 17.45 Uhr Ende der Veranstaltung Wann? 22. Januar 2010, 12.30 Uhr Wo? HdM, Nobelstr. 10, 70569 Stuttgart, Raum 056 (Aquarium)

UPDATE: Videos sind nun hier verfügbar.

If you want to execute a batch file from an UNC Path, windows will first tell you that "CMD does not support UNC paths as current directories" and it will switch to some other directory instead.
If you still want to be able to do your stuff without copying everything to your local drive: use pushd and popd.

pushd will automatically connect the given path as a network drive and popd will disconnect it again.
By using %dp0 as a paramter, you're using the path of the batch file and handing it over to pushd :)

pushd "%~dp0"  
[...]  
popd  

happy scripting :)

I just tried out "eBay Kleinanzeigen" (apparently they bought kijiji) and this is the first thing I recieved (it's german... sorta):

Hallo, Ich werde beim Kauf Ihres Artikels für meinen Kunden in Nigeria als ein Geschenk und ich Jahreszeit interessant werden Sie von Bank zu Bank Überweisung oder PayPal zahlen, so werde ich, wie Sie zu mir zurück Mail für weitere Diskussionen zu Zahlung und Versand des Artikels. Danke James Smith

Oh Mr. Smith... :)

Update, next one:

Hallo, wie Sie tun Sie akzeptieren, 450 EUR für diesen Artikel auch die Portokosten zu meiner Frau in Großbritannien

Update 2; WTF?:

hallo Ich bin der Mrs Rose Mary Lopez, ich bin am Kauf der Artikel bei Ihnen interessiert sind, so m√∂chte ich den aktuellen Status dieses Problem kennen und auch die letzte price.and die Methode der Zahlung per √úberweisung auf das Bankkonto, geben Sie dies bitte zur√ºck zu mir so bald wie m√∂glich an meine E-Mail-Adresse ([email protected]). Ich warte auf Ihre Antwort. Mit besten Gr√º√üen. Mrs Rose Mary Lopez


Update 3:

Nachricht: Hallo Verkäufer der Saison ergänzen i bin sehr an diesem Titel und ich interessiert sind, möchten Sie mich wissen lassen, wenn ihr noch Avaialable zum Verkauf email me back asap .. bis janet.linda20009 @ gmail.com

Update 4:

Ich will gerne wissen, ob dieser Position ist noch verf√ºgbar zum Verkauf Zur√ºck zu mir auf: - [email protected]

Update 5:

Hallo, Ich bin am Kauf dieses Artikels bitten lassen Sie es mich wissen, die Gesamtkosten f√ºr diesen Artikel und den Versand nach Nigeria mit DHL interessiert. Und auch senden Sie mir Ihre Bankverbindung, damit ich die Zahlung kann am Montag Morgen, nachdem die Artikel dringend erforderlich Danke ([email protected])

Update 6:

Hello You still have this item for sale? you can get back to me with the total cost payment via bank transfer or paypal so kindly reply me back to this email directly: [email protected]