Just noticed that facebook.com (who declined an offer to buy of $750 Million - which is insane, in my eyes) is the first website I know that uses real-word Captchas. So you don’t have to write some silly letter-number combinations, the Captcha actually makes sense. Usability horray!
You are currently browsing the monthly archive for March 2006.
Everything seems to be slower here in Austria. If you read a headline on digg.com, you can be sure that it takes about two days before you see it on futurezone.orf.at or any other Austrian news platform.
Happened to me just recently, the topic was about what Tim Burners-Lee would do different now considerning the Web (no double-backslash and domain name in front of the server name). If you wanna read the whole article you can do this on bcs.org or you can even visit his weblog which, however, doesn’t seem to be updated quite often.
This will be the first post of a whole new series here on Stopbeingcarbon. I will present one interesting, well-designed, special,… site every week which I find in my Mint referrer logs.
Designbyfront.com is a small web-design company, located in Belfast, which isn’t “afraid to use Pink”. They have a wonderful design studio (reason enough for me to call them great, I just love thos buildings), lots of creative and young minds and a pretty interesting portfolio (belfastfestival.com and Life at Dublin City University, just to mention two).
Some thoughts about the past 48 hours:
You know that you have a favourite café when the waitress tells you on entering the location that your newspaper is lying right there and you’re coffee will be ready in a minute - without saying a word. Wait, that’s not true. “Hi!”
Scandinavian movies are great. They are sad but at the same time they make you happy because they show all the beautiful things life has to offer. (I’m talking about Så som i himmelen)
It’s funny watching a girl telling her boyfriend how he shall back into a parking space.
Do you sometimes ask yourself why your emails won’t get answered? Maybe that’s because your counterpart has some problems with their IT systems and they simply can’t find your email. Happened to me today with the Austrian Red Cross.
One reason why you have a course called ‘Networking’ is to learn that you’re data isn’t secure. Don’t ask, it simply isn’t.
…and some other things I won’t tell you today, because I’m really tired.
Ben listed six songs for the oncoming spring. And there’s one thing you really can’t deny: spring is coming. Even if the weather report says that tomorrow it will get colder again, I won’t stop wearing just a shirt and a sack coat. It just feels good if you don’t have to be dressed like an Eskimo.
And because I’ve already stolen content from Benedikt, the image on the right side is one of the pictures he took on his trip to Paris. I don’t know about the time it was taken, but let’s say it was in spring, which is, at least for me, about drinking coffee, sitting in the sun, enjoying the semi-warm nights and have fun with friends.
The title says it all. Here’s the link: http://gallery.funkfeuer.at/v/linksysintheboxtupperware/zusammenbau/.
It’s really astonishing to see what people can do on their own, and what kind of ideas they have.
via funkfeuer.at
The Flaming Lips Rock Austin @ SXSW
Originally uploaded by kk+.
People started complaining that I didn’t blog in the last few days. Well, I can’t say that there’s nothing to write about and telling you that I have no time would just be a lame excuse. So let’s say that there are things with a higher priority than blogging (enjoying the sun, for example). But blogging-time will come again, I promise.
Meanwhile you can enjoy the picture to the right, The Flaming Lips live in Austin at SXSW. Great shot, great event.
You’re one of those people who prefer writing numbers from 1 to 9 into quadratic boxes and you know how to use C# and .Net? If both applies to you, then stop reading here. If only one statement is true, continue.
Sudoku is actually quite logical and pretty easy to solve, especially with a high-end cpu in the background. I’m quite sure you all know the rules (not the same number in row, column and region). That’s it, quite simple. And all C# functionality you need for this is respectively one function to check the correctness of your inputs, two stacks to juggle with your numbers and some for loops to cycle through the possible values. That’s all, and here you go. At one function to test the region:
[code lang="c#"] public static bool TestRegion(int index, int value) { if (value > 9) return false;
int start_row = ((index / 9) / 3) * 3;
int start_col = ((index % 9) / 3) * 3;
for (int col = start_col; col <= start_col + 2; col++) {
for (int row = start_row; row <= start_row + 2; row++) {
int i = row*9 + col;
if (grid[i] != 0)
{
if (value == grid[i] && i != index)
return false;
}
}
}
return true;
} [/code]
I will skip the ones for the rows and the columns, they are quite similar. And now our ‘main’ function, with the declaration and definition of the most important variables. [code lang="c#"]
static Stack doneempties = new Stack(); static Stack beginempties = new Stack(); static int[] grid = new int[81];
index = (int)begin_empties.Pop();
while (!(succeed)) { bool right_number = false;
int value = grid[index]+1;
while ((!(right_number)) ^ (value == 10)) {
right_number = TestRow(index, value) & TestCol(index, value) & TestRegion(index, value);
if (!(right_number))
value++;
counter++;
}
if (value == 10) {
grid[index] = 0;
int tmp = index;
begin_empties.Push((int)index);
if (done_empties.Count != 0)
index = (int)done_empties.Pop();
else
{
Console.WriteLine("\nNo more solutions.\n");
break;
}
} else {
grid[index] = value;
done_empties.Push((int)index);
if (begin_empties.Count != 0)
index = (int)begin_empties.Pop();
else
succeed = true;
if (succeed)
{
for (int i = 0; i <= 8; i++)
{
for (int u = 0; u <= 8; u++)
Console.Write(grid[i*9+u].ToString() + " ");
Console.Write("\n");
}
done_empties.Clear();
int rem = grid[(int)arr[0]];
for (int i = arr.Count-1; i >= 0; i--)
{
begin_empties.Push((int)arr[i]);
grid[(int)arr[i]] = 0;
}
grid[(int)arr[0]] = rem;
index = (int)begin_empties.Pop();
succeed = false;
}
}
} [/code]
Once again, now in words: I pop an item from the source-stack, which holds all my indexes I have to work through. I try to set a value and check if it’s logically correct. If it is I will push it to the destination-stack, holding the indexes we already worked through. Then I’ll do this step again (pop an item, set a value, check for correctness). But if the value is not valid, I’ll push it back to the source-stack and pop an item from the destination-stack. When my source-stack is empty, I found my solution. To make sure there’s no other solution, I will shuffle back all my values to the source-stack, except the first one, and run through the whole procedure again.
Sudoku (source code, binaries and example file included) [4KB]
Time for a short news-wrap. So, what’s new in the land of Rails?
At first we have a wonderful, time consuming, ideal-for-office-hours new webapp: Iron Sudoku. Quite addicting and well done. Then some news for more-the-techguy: Robot Co-op tell us something about their hardware in use (2.5 million requests per day, quite impressive). There’s another article about hardware and especially scaling, The adventures of scaling, Stage I written by Patrick Lenz, who’s responisble for eins.de, a community network with about 1.2 million page impressions per day. And, there’s even an interview with Tobias Lutke from Shopify on slash7. So, some exciting days for people interested in Rails and webapps. And before I forget: if your Rails application hangs without a trivial cause, you should maybe make a checkout from svn.
Long time no update, huh? Well, while I’m thinking of an excuse, let me just tell you what’s currently going on here (which means right near my desk): Quite recently I did some mocks for a webapplication which could be, at least in my eyes, quite useful and interesting. Though I won’t have time start working at it in the near future (means 2+ weeks) because I have to learn for college, write neat little programs which calculate binomial coefficients, learn about routers and switches and all that stuff. Which is actually really interesting and useful.
I don’t know if there are any people out there, browsing my site with IE (actually I do know but I’m too lazy to have a look at Mint), but you should know be able to see the sidebar at its actual position. The new code-plugin screwed up the design just a little bit.
See you soon and take care.
