Sunday, November 9. 2008Mark's Blog: The Case of the Slooooow System
Mark Russinovich, co-founder of Sysinternals and author of many excellent tools (and an excellent book on Windows internals), blogs about troubleshooting a Vista system using Process Explorer and Process Monitor.
Mark's Blog: The Case of the Slooooow System Sunday, November 9. 2008Arrays considered somewhat harmfulQUOTE: You probably should not return an array as the value of a public method or property, particularly when the information content of the array is logically immutable. Let me give you an example of where we got that horridly wrong in a very visible way in the framework. (...) Because now the caller can take that array and replace the contents of it with whatever they please. Returning an array means that you have to make a fresh copy of the array every time you return it. (...) An array is a collection of variables. The caller doesn’t want variables, but it’ll take them if that’s the only way to get the values. But in this case, as in most cases, neither the callee nor the caller wants those variables to ever vary. Why on earth is the callee passing back variables then? Variables vary. Therefore, a fresh, different variable must be passed back every time, so that if it does vary, nothing bad happens to anyone else who has requested the same values. Via "Fabulous Adventures of Coding". Saturday, September 13. 2008"Amerika befindet sich im Niedergang"
Interessantes Interview über Amerika, Konsum und Wirtschaft mit dem Soziologen Richard Sennett in der heutigen Süddeutschen Zeitung.
QUOTE: Sennett: "Diese Gesellschaft hat bisher Ungleichheiten dadurch überdeckt, dass sie auf Pump lebte. Durch die Subprime Loans (zweitklassige Hypotheken), durch die unzähligen Kreditkarten, die die meisten Amerikaner haben, entstand eine Illusion von Wachstum, die jetzt zerstört wird. (...) Die USA haben eine effektive Analphabeten-Quote von 28 Prozent."
SZ: "Ist das Ihr Ernst?" Sennett: "Es geht um effektiven Analphabetismus, und der liegt dann vor, wenn jemand einen einfachen Vertrag oder einen längeren Text nicht lesen kann. Das Ausbildungsniveau ist sehr niedrig. Die USA importieren Ingenieure und Programmierer, weil es die entsprechenden Fertigkeiten hier nicht gibt. Ich weiß, dass das merkwürdig klingt: Amerika ist ein reiches Land und befindet sich doch im Niedergang. Und hier ist die Verbindung zur Politik: Am 4. November müssen die Wähler entscheiden zwischen Nostalgie und einem Gang ins Ungewisse. (...) Nach einer Faustregel brauchen High-School-Absolventen ein bis zwei Jahre, um zu ihren europäischen Altersgenossen aufschließen zu können." Friday, August 22. 2008Agglom - Organize, Save and Share Web results and Browser sessions
http://www.agglom.com/
Save browser sessions and publish them, organized by topics. Example: JQuery Link Collection Filed under: "Might come handy one day". Sunday, August 3. 2008Windows Keyboard Shortcuts You Didn't Know AboutFor example, I often use CTRL-LEFT and CTRL-RIGHT to navigate wordwise (and, even more frequently, I use CTRL-HOME/END), but didn't know that you can actually use CTRL-BACKSPACE to delete the previous word!In the section "rediscovered" (and somewhat awkward to type): CTRL-SHIFT-ESC opens the Task Manager. And: Turns out I lied when I said I use all of the listed Windows XP shortcuts: The one I keep forgetting about all of the time is WIN-BREAK to open the System Properties.Completely new to me, and another timesaver keeping me from moving my hand too often: WIN-1/2/3/n executes the Quick Launch association at that position (counted from left to right).What's your favorite "geek" keyboard shortcut that nobody knows about? On a (somewhat) related sidenode: How did they manage to get Firefox shipped without having a shortcut to close all but the current tab? Opera has CTRL-ALT-SHIFT-W, which sounds worse than it is to type. To get that in Firefox also, I modified an extension - you can download it here. On a (somewhat) related second sidenode: Switcher is a really nice replacement for the useless "Windows Flip 3D" introduced in Vista ( WIN-TAB).
Saturday, August 2. 2008The perfect Backup and Synchronization Tool
To get the idea, compare with Dropbox and Syncplicity. Sounds too good to be true? It does exist (well, sort of) ! See my wiki for details. Saturday, August 2. 2008Oh, wonderful Web 2.0...
A selection from the last 25 new sites at the Museum of Modern Betas (one site per quote!)
QUOTE: (...) is an easy and fun way to share thoughts, links, or what you are upto (...) (...) helps users enrich their browsing experience by making browsing a more social activity (...) (...) free service that lets you view and share your online activities (...) (...) The cool new way to create, share, and listen to stories (...) (...) create, collect and share your notes (...) (...) it’s also about sharing your news all in one place (...) (...) will show your friends or the visitors of your blog or website your social activities (...) (...) Because photos are the easier way to share your life with your friends (...) (...) Build your own web. Share it with your friends. (...) (...) video discovery and sharing community for people who like to entertain their friends (...) Can you see a pattern there? Pleeeeeeeeeeease, make it stop... Thursday, July 31. 2008Software Engineering Blogs; a Personal Selection
Knowledge for free, in no particular order.
Continue reading "Software Engineering Blogs; a Personal Selection"
Thursday, July 31. 2008Facts and Fallacies of Software Engineering
a.k.a. "Fifty-Five Frequently Forgotten Fundamental Facts (and a Few Fallacies) about Software Engineering"
Very important book with timeless facts about software engineering. By Robert L. Glass, professional software engineer since 1954 (think about it). If you haven' t read it, I won't employ you. Thursday, July 31. 2008Online Programming Contests
Happy coding! Continue reading "Online Programming Contests" Wednesday, July 30. 2008Interface Design und UsabilityWhile "GUI Bloopers" is more focused on current, 'standard' elements of interface design, and how to avoid the most popular mistakes when planning and designing interfaces, it still contains a lot of timeless, important material on general topics and rules of interface design. Raskin goes beyond current interfaces in his book on "Humane Interfaces". Based on theoretical founding ("one locus of attention"), he develops new ways of interaction with a completely revised system - including modified hardware. For example, he dismisses file names and paths as unsuitable to represent and locate information. Also, he explains why the Desktop metaphor as basis of our computer interaction is inherently flawed. And have you ever heard anyone else suggesting a two-part cursor? Think of "GUI Bloopers" as the book you need to create good interfaces of today, and "The Humane Interface" to create great interfaces of tomorrow! Continue reading "Interface Design und Usability" Tuesday, July 29. 2008Windows Vista: Moving Program Files and User Data, Revisited
In January, I wrote how you can move both your program files and user data folders using Junctions. I have been doing this for years on my XP installations and didn't expect it to cause so much trouble.
In March, the first Windows Updates failed with error code 80070011. I have posted about how you can fix this on a per-failed-update basis manually. With the release of SP1, this method didn't work any longer. There was no pending.xml, no matter how many updates failed on me. Reader Jiminaus suggested to update the ProgramFilesDir.Today, my system drive crashed on me and I had to do a fresh install, so I went a different way: Leaving the program files folder alone, I only moved the Users folder - this time, not using junctions, but by updating the relevant registry entries, as suggested by various sources and computer magazines. Continue reading "Windows Vista: Moving Program Files and User Data, Revisited" Monday, July 28. 2008Evaluating Dropbox and Syncplicity: A First Comparison
I've been looking all my life for an acceptable backup and synchronisation tool. Even with enough technical experise and an own server, I just cannot find the right software.
Recently, some new services popped up that transparently sync and backup your files on the net: Dropbox, Syncplicity, SugarSync and Microsoft Live Mesh. Judging from the outside, all four look surpisingly similar. Yet, there are some differences that I'd like to discuss here. I haven't looked at all of them, so I will restrict my comparison to Dropbox and Syncplicity: Live Mesh accounts are not available publicly and it's Windows-only, SugarSync only offers a free trial, no limited long-term free accounts. Also, even though there are clients for other operating systems available, I have only tested the Windows versions. Continue reading "Evaluating Dropbox and Syncplicity: A First Comparison" Wednesday, May 14. 2008Setting up a restricted SSH tunnel user on Debian
Today, I set up a user especially for SSH tunneling using Putty and my Debian vServer. The user is able to securely log in using SSH, but is not given shell access.
1. Generate an SSH key for the user. You can generate SSH keys with openssh, but I've used PuttyGen on my Windows client: Start PuttyGen, Select "SSH-2 DSA" at the bottom, push "Generate". If you enter a passphrase to protect your private key, you'll need to enter it every time you open the tunnel connection. Save the private key and leave the window open. I've called mine "tunnel.ppk". 2. On the Linux server, you can either add a new user or reuse an existing user. Then, create ~/.ssh/ if it doesn't exist and edit ~/.ssh/authorized_keys, copy and paste the public key from the PuttyGen window. To restrict access to, well, basically no commands, prepend a command that does nothing other than keep the connection alive: CODE: mkdir ~/.ssh/
chmod 700 ~/.ssh/
~/.ssh/authorized_keys (chmod 600): CODE: command="while :;do date;sleep 50;done" ssh-dss AAAAB3NzaC1yc2EAAAABJQ.... This will put the user logging in using the key into a loop that outputs the date every 50 seconds to keep the connection alive. 3. On the client, create a new connection in Putty. Input your server details. Go to "Connection -> Data", put the user name into the "Auto-login username" field. Under "Connection -> SSH -> Auth", at the bottom, select the private key file you've created in step 1. To set up a dynamic SOCKS tunnel, go to "Connection -> SSH -> Tunnels", enter a port number into the Source port field (eg. 1080), select "Dynamic" at the bottom, and press "Add". Save your profile. 4. Connect in Putty. You will see a window echoing the date every once in a while. You can now socksify your connections to 127.0.0.1:1080 (the port you chose in step 3). Wednesday, March 5. 2008Buch #8 - Heinrich Harrer: Sieben Jahre in TibetQUOTE: Wenn man dieses Buch heute liest, stellt man unverhofft fest, dass die Lektüre doppelt lohnt. Zunächst ist Harrers Abenteuerbericht aus Tibet ein Buch, wie es in solchen Fällen sein soll: ganz schnörkellos, sehr sachlich und mit der Überlegenheit des staunenden Europäers geschrieben. Ein wenig wie Mark Twains "Yankee an König Artus' Hof", woran man mehr oder weniger Gefallen finden mag. Was in diesen Berichten an Tiefenschärfe der Beschreibungen gelegentlich fehlen mag, wird durch die Fälle der Ereignisse aufgewogen. So liest man unaufhaltsam weiter und weiter.
Continue reading "Buch #8 - Heinrich Harrer: Sieben Jahre in Tibet"Auf der zweiten Ebene aber, und das ist der springende Punkt, offenbart sich dieses Buch an vielen Details der Beschreibung von Menschen und Kultur als typisches Produkt seiner Zeit. Die Zustimmung, die sich der Autor vor über fünfzig Jahren erschrieb, kann man auf vielen Seiten dieses Buches mitlesen. Und auch heute wird man das Bewusstsein nicht los, hier ein Sachbuch vor sich zu haben, dessen Nimbus des unbestrittenen Klassikers auf jeder Seite präsent ist. |
CategoriesRecent EntriesMark's Blog: The Case of the Slooooow System
Sunday, November 9 2008 Arrays considered somewhat harmful Sunday, November 9 2008 "Amerika befindet sich im Niedergang" Saturday, September 13 2008 Agglom - Organize, Save and Share Web results and Browser sessions Friday, August 22 2008 Windows Keyboard Shortcuts You Didn't Know About Sunday, August 3 2008 The perfect Backup and Synchronization Tool Saturday, August 2 2008 Oh, wonderful Web 2.0... Saturday, August 2 2008 Software Engineering Blogs; a Personal Selection Thursday, July 31 2008 Facts and Fallacies of Software Engineering Thursday, July 31 2008 Online Programming Contests Thursday, July 31 2008 QuicksearchSyndication |
