Killer .NET 4 feature: Memory Mapped files

“So what is it? A memory mapped file allows you to reserve a region of address space and commit physical storage to a region (hmmm, sounds like virtual memory, isn’t it?) but the main difference is that the physical storage comes from a file that is already on the disk instead of the memory manager. I will say that it has two main purposes:

  • It is ideal to access a data file on disk without performing file I/O operations and from buffering the file’s content. This works great when you deal with large data files.
  • You can use memory mapped files to allow multiple processes running on the same machine to share data with each other.“

OMG! You can even specifiy views on a memory mapped file… from different processes… .NET 4 FTW!

Source: http://blogs.msdn.com/salvapatuel/archive/2009/06/08/working-with-memory-mapped-files-in-net-4.aspx

Hail Eris! All Hail Discordia!

pope

I was in desperate need for an DDate equivalent running on Windows. DDate is an unix implementaion of date accoridng to the erisian calendar described in the principia discordia.

I only found some C Implementations. And since it’s fun to do I ported the original Discordian Date C code to C#.

You can download the C# sourcecode, licensed under CC-BY-NC here.

I also created a web page which displays the current discordian date and offers you to convert any gregorian date into discordian date representation.

This page can be accesses here. You can call another page with parameters and you only will get the ddate output back:

for example: http://ddate.schrankmonster.de/DiscordianDate.aspx?year=2009&month=6&day=9

Source 1: http://ddate.schrankmonster.de/
Source 2: http://dropbox.schrankmonster.de/dropped/SharpDDateLib.zip

Google Copy-Wave

Oh dear. Another hyped protocol/platform from Google… oh wait. It’s not from Google. It’ all started in Xerox PARC…

There are several papers that describe what Google now claims to have developed…

copywave
left: Xerox PARC Paper; right: Google Wave

Conclusion: Go and read old Papers. As it turns out almost all newly hyped things have been described in papers from years ago.

Source 1: http://www.waveprotocol.org/whitepapers/operational-transform
Source 2: http://doi.acm.org/10.1145/215585.215706

Society for Geek Advancement

“”Being a geek means being so interested in something that you don’t care whether or not it’s cool.”

THE SOCIETY FOR GEEK ADVANCEMENT was founded upon the principles that we should all embrace our inner and outer geek and have fun while doing it. As individuals who love learning, innovating and believe in possibility as well as change, the second step of responsibility is to “be the geek that keeps on giving”. As a member of SGA, we work together as a global community to provide the tools and help others realize their true potential too!”

<\/param><\/embed><\/object><\/div>“;” alt=””>

Source: http://geekadvancement.com/

sones portiert sein Speichersystem auf das Speichermedium der Zukunft!

Aufgrund neuester Entwicklungen im Speichermedien-Segment wird ab dem nächsten Release des sones Speichersystems auch das angesagteste Speichermedium der Stunde unterstützt: die Speichergurke.

Durch die sensationelle Speicherdichte und unerreichte Zuverlässigkeit ist die Speichergurke das perfekte Speichermedium für den Datenhunger von gestern, heute und morgen.

Source 1: http://www.sones.de
Source 2: http://www.speichergurke.de

SPAM down 100%

Obviously the SPAM Provider whose internet access was cut off on wednesday (as reported by the Washington Post)

mail_spam_

Incoming mails is down from 4226 two days ago to 1663 today…giving a spam filter total of 0 false negatives (down from 1115 false negatives two days ago).

Thank you, whoever you are, for cutting of that evil spam providing internet access provider!

Source: WashingtonPost

Voltage wins

Well I don’t talk about voltage in the electrical sense but the brand new flavor of Mountain Dew. Since it’s not officially purchaseable in germany it took some time till I had the chance to judge the 3 new flavors. Since the winner is already confirmed to be the voltage it was just a “I want to see by myself”-test :-)

So here they are, the 3 flavors that were eligible for election:

IMG_3482

the 3 flavors:

  • Revolution: Wild berry Fruit Flavor and Ginseng
  • Supernova: Strawberry Melon Flavor and Ginseng
  • Voltage: Raspberry Citrus Flavor and Ginseng

The voltage was my favourite too – the Revolution and Supernova taste just to artificial and strange… I could not drink more than a can… with the voltage I immediately wanted to have another one.

The one thing about the voltage that I don’t like is the color…

IMG_3485

but hey, the other flavors colors… well…

IMG_3489

IMG_3492

So since Voltage won the vote there hopefully will be a new great flavor of Mountain Dew be available in germany too. (PLEASE!)

When did RAID became independent?

Once upon a time I was told about that cool technology that lets you take several hard drives and glue them “together” to a single big volume. This technology was called RAID – Redundant Array of Inexpensive Disks – and that it was. It brought us greater levels of reliability and performance – and it was inexpensive compared with other technologies and since hard drive prices are falling for years and storage space is growing along with that it’s getting even cheaper than anything else you could use to store data securely. Some of us even backup to a independent RAID system.

In the beginning of this all there were several hard drive interface technologies used – mainly it was Parallel ATA and SCSI. It was widely accepted that the SCSI drives are specified for 24/7 server usage and were almost everytime faster than their consumer PATA relatives. It was accepted that if you want to build a reliable industry grade RAID you would want to use SCSI drives – the SCSI bus system even had advantages like up to 7 drives per bus compared to just 2 drives with PATA or hot-swap capabilities.

Over the last years it turned out that SATA is the new interface technology that replaces the old SCSI and PATA. There are several server grade SATA drives available now – these drives are getting cheaper, faster and bigger by the minute. So there’s not a real purpose for anything “more server than server-SATA” you might think. Again if you want to build inexpensive and redundant storage arrays there is nothing cheaper than standard or even server SATA drives. They are fast, reliable and huge.

So some years ago the industry presents: the SAS interface. It’s called “Serial Attached SCSI” and is the “new cool thing in hard disk storage”. There are some niche features that may or may not justify the existence of SAS. A fact is that SAS hard drives of the same size and speed are more expensive.

“SATA is marketed as a general-purpose successor to Parallel ATA and is now common in the consumer market, while the more expensive SAS is marketed for critical server applications.(Wikipedia)

It’s getting worse: The industry started to offer fast hard drives (15000 rpm) only for the more expensive SAS interface. The few 15k rpm SATA drives are not slower in any way than their SAS versions – but they are not widely available and all of a sudden the same price like the SAS version.

But back to the definition of RAID:

So over the years the technology made a giant leap forward and all of a sudden you find yourself using very expensive hard drives while glueing them together to giant volumes (it’s now terabytes…petabytes…). While consumer hard drives are available for about a third (at least) the price of the server version of the same drive. It seems that the widely accepted definition of inexpensive is replaced by independence. I do know that there are use cases when you want to use the fastest spinning drive available regardless of the price – but I also think that there could be affordable fast spinning drives if we shouldn’t be bothered to pay the marketing-fee that SAS brings. It’s plain marketing to make new 15k rpm drives only available for SAS and not for SATA. Marketing and nothing more.

As it turns out many industry (marketing) brains (hey, even wikipedia) are switching to a new definition of RAID. It’s now a Redundant Array of Independent Disks – which I think is a definition that could not be worse. It’s not independence we gain with the new definition.

Source 1: http://en.wikipedia.org/wiki/RAID#cite_note-1
Source 2: http://en.wikipedia.org/wiki/Serial_Attached_SCSI

What could have been: Full Throttle sequel

AdventureClassicGaming blog has a very cool article about the could-have-been Full Throttle sequel:

376_9_medium[1]

“Playing Full Throttle is like tasting a rich bowl of roadhouse chili filled to the rim with biker gangs, chick mechanics (covered in engine grease too), and truckers with badass tattoos. An action packed, comical (albeit short), animated graphical adventure set in the backdrop of an apocalyptic future, Full Throttle touches on the subculture of motorcycle gangs and their steel horses. It is also a story about Ben, a renegade biker who lives and dies by his own rules. Ben’s voice (played by the late Roy Conrad) is every bit as gravelly as the Old Mine Road where he does battle. In this alternate world, cars hover, transport trucks are armored, and desolate towns like Melonweed are sinking fast into the sand. It is a land with many strange locales and even stranger inhabitants.”

Source: http://www.adventureclassicgaming.com/index.php/site/features/376/

“Unix is a user hostile operating system”

I found the almost complete “Computer Chronicles” recordings on archive.org – and boy this is fun!

I picked some episodes and found very interesting things – like this particular episode from 1985. It’s about Unix and obviously one of the presenters has his very own opinion about Unix.

Source: Computer Chronicles 1985 “Unix”

When a site redesign isn’t accepted by your users…

…they eventually start making their own layout of your site… And you cannot do anything about it but listening to them!

A few days ago a big it-news site in germany relaunched it’s site with a new fixed-with-all-left layout. And more than 3000 comments by users had one and only thing to say: We don’t like it.

They disliked it that much that a few sat down and created their own site layouts by using firefox plugins like “stylish” – where you can create your own styles for sites.

beforeafter

I always wanted to see what these style-altering plugins can do but I never had the drive to think me into it…

Source: http://userstyles.org/styles/9589

trueSpace 3D 7.6 is available for free

I used trueSpace years ago when a demo version appeared on one of those CDs that often came with computer magazines… it must be more than 10 years now. I was pleased to read about the availability of the current version of trueSpace as a completely free tool:

“trueSpace7.6 is a fully-featured 3D authoring package that will let you model, texture, light, animate and render 3D content. As well as traditional images and movies, you can also make 3D content for online shared spaces, and for Virtual Earth.”

truespace76

Source: http://www.caligari.com/Products/trueSpace/tS75/brochure/intro.asp?Cate=BIntro

speaking of Augmented Reality

It seems that I missed that Augmented Reality Toolkit all the way until now. It’s ARToolKit and it’s completely OpenSource.

As a matter of fact there are a ton of demos available… HOW could I possibly miss that for so long?

“ARToolKit is a software library for building Augmented Reality (AR) applications. These are applications that involve the overlay of virtual imagery on the real world. For example, in the image to the right a three-dimensional virtual character appears standing on a real card. It can be seen by the user in the head set display they are wearing. When the user moves the card, the virtual character moves with it and appears attached to the real object.

One of the key difficulties in developing Augmented Reality applications is the problem of tracking the users viewpoint. In order to know from what viewpoint to draw the virtual imagery, the application needs to know where the user is looking in the real world.”

Here is a short video demonstration of what you could start with:

…not talking about the things that would be possible if someone had a great idea :-)

Source: http://www.hitl.washington.edu/artoolkit/

How to play a shooter in 16 pixel by 16 pixels space

It’s really a piece of art with only 256 pixels space – it’s the remake of the Defender game you won’t be able to play in Full HD:

DEFENDER of the favicon is a JavaScript remake of Eugene Jarvis‘ brilliant arcade game Defender written by Mathieu ‘p01’ Henri and inspired by Scott Schiller‘s experiment with generated favicons VU meter. The idea was to push the concept of generated favicons further and pack a thrilling retro shooter in 16×16 pixels using JavaScript, canvas and data: URIs.”

“Each frame of the game is generated on the fly in JavaScript into a 16×16 canvas element, then converted to a 32bits PNG image and used in place of the favicon.”

To be clear: This is not a joke – it’s an actual game… the size of:

16x16defender

Source: http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/

a selfmade web drop box in 10 minutes

I often have to share files with people – files which most of the time can be publically accessible – the problem is though that it’s far to much copy-n-paste involved to get the file uploaded and the URL of the file put together. I just made my life a bit easier and invested some minutes to write a small “DropBox” application that uses a custom webservice hosted on one of my machines to upload, list and delete files and to allow users that have the correct URL to download files.

paths

The path scheme is obviously just that I added a dropped folder in which the files will be stored and the webservice itself – that’s all on the webserver machine (having this folder setup as a website using ASP.NET 2.0)

For the client I wrote this little app:

dropboxapp

It’s no rocket science but it’s a good example for a small app that utilizes a webservice. If you want to use it you have to configure the webservice and the Client Application:

for the webservice:

wsconfig

You have to adjust the paths, URLs and the Password.

for the application:

appconfig

You just have to set the right Password.

If you’re set everything up correctly you should be able to drop files onto the Client Application window and get them uploaded to your webserver – the URL is automatically in your clipboard when everything worked.

If you click on the “Manage” tab in the Client Application you can get a list of all files on the server – clicking on the name of the file will automatically add the url to that file to your clipboard – if you want to delete a file – just click on it and click “delete selected file”.

The code can be considered public-domain and can be downloaded here.

I used the open-source icons from the Tango Desktop project to make a simple icon for the client application.

Source 1: DropBoxService-v1.rar (94,09 KB)
Source 2: http://tango.freedesktop.org/Tango_Desktop_Project

How much memory can you put into one giant x64 machine and actually use it?

The answer is: 2 Terabyte.

“You can see physical memory support licensing differentiation across the server SKUs for all versions of Windows. For example, the 32-bit version of Windows Server 2008 Standard supports only 4GB, while the 32-bit Windows Server 2008 Datacenter supports 64GB. Likewise, the 64-bit Windows Server 2008 Standard supports 32GB and the 64-bit Windows Server 2008 Datacenter can handle a whopping 2TB. There aren’t many 2TB systems out there, but the Windows Server Performance Team knows of a couple, including one they had in their lab at one point. Here’s a screenshot of Task Manager running on that system:”

image_thumb_1

P.S.: Thx boonkerz.

Source: http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

Say goodbye: Windows 3.11 reached end-of-life

Amazingly enough OEMs could license WfW 3.11 for this long period of time…

“we recently announced that effective November 1st, 2008, OEM’s will no longer be able to license Windows for Workgroups 3.11 in the embedded channel.”

wfw311logo

but it’s time to say goodbye.

Source: http://blogs.msdn.com/jcoyne/archive/2008/07/09/it-s-the-end-for-3-11.aspx

Fork you!

There’s a lot going on in the world of opensource these days – but it seems that not the development side of things is discussed most of the time in some projects – it’s the social side, the “I want this, you want that, I don’t like you”-side of things.

Ever so often some opensource project split up and do a “fork“.

These are just two examples for your reading pleasure and studies of human behaviour:

1. Project Pidgin:

Well – the developers and users of project pidgin are not able to reach a consensus on the question how their beloved software should look like and behave. Believe it or not: There’s a project fork and a hefty discussion just on the question wether or not the Chat Input Text field should be resizable or not.

This picture should visualize the problem:

The developers did not want to make it resizable, the users wanted it to be resizable. Problem – Discussion – Fork you!

You can read the whole story here.

2. Project XBMC / OSXBMC

OSXBMC is the team that forked in this example: They develop – aside of the main XBMC team – the Mac OSX port of the Xbox Media Center (which actually runs on Xbox, Linux, Windows, OSX now).

Obviously there were hefty discussions going on with the main XBMC team. Mainly because teh XBMC main team thinks that the OSXBMC guys didn’t check-in their source changes often enough.

You can read one side of the story here and click you through to the other side.

The problem with these forks is not the fork itself but the way the people in these projects seem work with each other. Many very promising projects died because people just could not work together…

As far as I am concerned: For opensource projects I prefere the maintainer-scheme that for example the linux-kernel uses. Have one gracious dictator who has the final word about the release and people that maintain different parts of the project.

Source 1: http://developer.pidgin.im/ticket/4986
Source 2: http://www.osxbmc.com/2008/05/21/exodus/
Source 3: http://xbmc.org/

the definition of "gone fishing"

Because so many people just didn’t understand what I meant with “gone fishing”:

  1. A procedure in which a man hangs his wang out into the red sea with bait in which will track down eggs that look hot and sexy(try not to go for a retarded one).
  2. A sign that tells someone that the person is gone(but they are really doing definition #1).
  3. A women that shoves fish into her vajingo.

Dude, how many times have you gone fishing with her? Go hang a gone fishing sign first. You women have gone fishing too much.

Source: http://www.urbandictionary.com/define.php?term=gone+fishing

© schrankmonster blog 2019
Big Impresa designed by Iografica Themes.