Sichere Passwörter
Gespräch mit einem Informatiker am Wochenende
“Wir speichern unsere Passwörter jetzt sicher in der Datenbank.
Base64 kodiert.”
Waaah… *wegrenn*
Gespräch mit einem Informatiker am Wochenende
“Wir speichern unsere Passwörter jetzt sicher in der Datenbank.
Base64 kodiert.”
Waaah… *wegrenn*
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.
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 😉
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).
Wow, that THING is huge….
No, not what you expected ;), just installing .NET on a virtual pc machine: