Sichere Passwörter

Gespräch mit einem Informatiker am Wochenende

“Wir speichern unsere Passwörter jetzt sicher in der Datenbank.
Base64 kodiert.”

Waaah… *wegrenn*

| Comments (1) »

14-May-07


Removing 3rd party apps from .mac sync services

I recently tested Yojimbo and decided i have no use for this kind of tool, so i thrashed the app and all config files in my ~/Library.

Some weeks later i reinstalled another Mac and set up the .Mac Synchronisation. No problem at all.
I needed my ftp favorites on both machines so i turned to the first to tick the checkbox and saw a broken Yojimbo entry. Not on my mac!

After a little googling i found this tip: Reset the .Mac Sync Server with Syncrospector.

Syncrospector is a little apple tool you can get for free here.

Be careful. The author on macosxhints suggests to reset all sync services which could end up in a total lost of all your contacts. He writes:

Open Syncrospector in the StickiesExample -> Applications folder. Don’t bother trying to use the Unregister button to eliminate any third party client identifiers. I tried “unregistering” Yojimbo’s entry after launching, quitting, and removing the application itself from two of my Macs.

The “Unregister” button in Syncrospector indeed works! The author made one mistake (as did i): he trashed the app before unregistering. To tidy up your sync services with Apples tool, you must not thrash the app in question before but afterwards.

I just downloaded Yojimbo, run it once, unregistered after quitting and than again, moved it to trash and the damaged sync entry was gone.

| Comments (0) »

09-May-07


Java crazyness

Someone must be hit really hard with some curly braces when he implemented the following behaviour:

public class Braindead {
	public static void main(String[] args) {
		Integer i1 = 10;
		Integer i2 = 10;
 
		Integer i3 = 128;
		Integer i4 = 128;
 
		compare(i1, i2);
		compare(20, 20);
		compare(i3, i4);
	}
 
	public static void compare(Integer i1, Integer i2) {
		System.out.println("Comparing " + i1 + " and " + i2);
 
		if(i1 == i2)
			System.out.print("same ");
		else
			System.out.print("different ");
		System.out.println("Objects");
 
		if(!i1.equals(i2))
			System.out.print("not ");
		System.out.println("meaningfully equal");
		System.out.println("---");
	}
}

I’d expect the following output:

Comparing 10 and 10
different Objects
meaningfully equal
---
Comparing 20 and 20
different Objects
meaningfully equal
---
Comparing 128 and 128
different Objects
meaningfully equal
---

What you get is:

Comparing 10 and 10
same Objects
meaningfully equal
---
Comparing 20 and 20
same Objects
meaningfully equal
---
Comparing 128 and 128
different Objects
meaningfully equal
---

In order to save memory, two instances of the following wrapper objects will always be == when their primitive values are the same:

  • Boolean
  • Byte
  • Character from \u0000 to \u007f
  • Short and Integer from -128 to 127

So in order to save a handfull of bytes we present you some really inconvenient feature 😉

| Comments (2) »

24-Apr-07


Security by definition

So lets say you’ve written your mindtwisting, brilliant trojan virus… how’d you name the file? maybe install.exe? Probably not… as the user would be required to enter his admin password under Microsoft Windows Vista… Just use any other name and there will be no annyoing dialog to confirm extended admin rights. Just brain dead.
Read on the gaybar.

But hey, it fits well with the convenient “desktop.ini”, just have a look here, “Der Explorer lügt noch mehr” (The explorer lies even more).

| Comments (0) »

23-Apr-07