Bing Daily Image - A Bing Image of the Day Download Tool 

Ever wanted to have your Windows desktop background look sharp? Like, Bing Gallery sharp? Let me help you.

Here's a little tool I'm releasing today that allows you to:

  • Get daily Bing Image of the Day to your desktop
  • Perform bulk downloads, multiple images at a time
  • Add image title and description to your wallpaper [1]
  • Run it as a service

It's all in one tool. Small, simple, efficient.

Here's the parameter model it supports:

BingDailyImage v1.0 - Download desktop wallpaper images from Bing
Copyright © 2021, Matevž Gačnik

Gets Bing Picture of the Day images for today and a specified number of days back.

Usage: BingDailyImage [-c] [-d [days]] [-f folder] [-t [top|bottom]] [-b]
   -c             Get current Bing image
   -d [days]      Specifies number of days to fetch.
                  If you omit this parameter the tool will download
                  last two weeks (14 days) of Bing wallpapers.
   -f             Set download folder
                  If you omit this parameter the folder will be
                  set to  - '%USERPROFILE%\Pictures\Bing Wallpapers'.
   -t             Add text (image title and description) to images
                  You can specify text position [top, bottom]. Default is bottom.
   -b             Set last downloaded image as desktop background
   -s install     Installs BingDailyImage as a system service
                  Use -f to specify service download folder path
                  Use -t to let service add text to images
   -s uninstall   Uninstalls BingDailyImage as a system service
   -s start       Starts BingDailyImage service
   -s stop        Stops BingDailyImage service
   -s query       Queries BingDailyImage service state
   -h             Displays help

You can just do a BingDailyImage.exe -c to get the current daily image. By default, it will not tamper with background images, so you'll get the highest resolution available (1920x1200 or 1920x1080), like this:

BingDailyImage v1.0 - Download desktop wallpaper images from Bing
Copyright © 2021, Matevž Gačnik

Downloading Bing Image of the Day for 2021-12-16.
Image date: 2021-12-16
Image title: Old Town in Salzburg, Austria
Image description: When it's lit up like this with a cozy glow, we can admire… When there's a mountain in your city… We're looking at the Old Town portion
of this Baroque city…
Downloading background... Background for 1920x1200 found.
Saving background... Done for 2021-12-16.

Or do a BingDailyImage.exe -d 10 -t to get the last 10 and add a nice, transparent background text to them.

Hell, do a BingDailyImage.exe -s install and forget about it. It's going to download new images once they are published to Bing's servers. All you need to do now is set your Windows 10/11 desktop background to be fetched from the download folder. Done.

Here's the download.

Here's a sample of a downloaded image.

download original image]

[1] You might be surprised about the fun facts you'll learn every day.

Categories:  Other | Personal | Windows 10
Wednesday, December 1, 2021 7:05:46 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Clouds Will Fail 

This is a slightly less technical post, covering my experiences and thoughts on cloud computing as a viable business processing platform.

Recent Amazon EC2 failure was gathering a considerable amount of press and discussion coverage. Mostly discussions revolve around the failure of cloud computing as a promise to never go down, never lose a bit of information.

This is wrong and has been wrong for a couple of years. Marketing people should not be making promises their technical engineers can't deliver. Actually, marketing should really step down from highly technical features and services, in general. I find it funny that there is no serious marketing involved in selling BWR reactors (which fail too), but they probably serve the same amount of people as do cloud services, nowadays.

Getting back to the topic, as you may know EC2 failed miserably a couple of weeks ago. It was something that should not happen - at least in many techie minds. The fault at AWS EC2 cloud was with their EBS storage system, which failed across multiple AWS availability zones within the same AWS region in North Virginia. Think of availability zones as server racks within the same data center and regions as different datacenters.

Companies like Twitter, Reddit, Foursquare, Tekpub, Quora and others all deployed their solutions to the same Amazon region - for example - North Virginia and were thus susceptive to problems within that specific datacenter. They could have replicated across different AWS regions, but did not.

Thus, clouds will fail. It's only a matter of time. They will go down. The main thing clouds deliver is a lower probability of failure, not its elimination. Thinking that cloud computing will solve the industry's fears on losing data or deliver 100% uptime is downright imaginary.

Take a look at EC2's SLA. It says 99.95% availability. Microsoft's Azure SLA? 99.9%. That's approximately +- 7 hours of downtime built in! And we didn't even start to discuss how much junk marketing people will sell.

We are still in IaaS world, although companies are really pushing PaaS and SaaS hard. Having said that, Windows Azure's goal of 'forget about it, we will save you anyway' currently has a lot more merit that other offerings. It is indeed trying to go the PaaS and SaaS route while abstracting the physical machines, racks and local/private datacenters.

Categories:  Architecture | Other
Saturday, May 4, 2019 9:02:27 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 P != NP Proof Failing 

One of the most important steps needed for computer science to get itself to the next level seems to be fading away.

P vs NP

Actually, its proof is playing hard to catch again. This question (whether P = NP or P != NP) does not want to be answered. It could be, that the problem of proving it is also NP-complete.

The (scientific) community wants needs closure. If P != NP would be proven, a lot of orthodox legislature in PKI, cryptography and signature/timestamp validity would probably become looser. If P=NP is true, well, s*!t hits the fan.

Categories:  Other
Sunday, August 19, 2018 9:31:28 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 The Case of Empty OptionalFeatures.exe Dialog 

The following is a three day saga of empty 'Turn Windows Features on or off' dialog.

This dialog, as unimportant as it may seem, is the only orifice into Windows subsystem installations without having to cramp up command line msiexec.exe wizardry on obscure system installation folders that nobody wants to understand.

Empty, it looks like this:

First thing anyone should do when it comes to something obscure like this is:

  1. Reinstall the OS (kidding, but would help)
  2. In-place upgrade of the OS (kidding, but would help faster)
  3. Clean reboot (really, but most probably won't help)
  4. Run chkdsk /f and sfc /scannow (really)
  5. If that does not help, proceed below

If you still can't control your MSMQ or IIS installation, then you need to find out which of the servicing packages got corrupted somehow.

Servicing packages are Windows Update MSIs, located in hell under HKLM/Software/Microsoft/Windows/CurrentVersion/Component Based Servicing/Packages. I've got a couple thousand under there, so the only question is how to get to rough one out of there.

There's a tool, called System Update Readiness Tool [here] that nobody uses. Its side effect is that it checks peculiarities like this. Run it, then unleash notepad.exe on C:\Windows\Logs\CBS\CheckSUR.log and find something like this:

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\
Package_4_for_KB2446710~31bf3856ad364e35~amd64~~  Line 1:

(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\  

Then find the package in registry, take ownership of the node, set permissions so you can delete and delete it. Your OptionalFeatures.exe work again and it took only 10 minutes.

Categories:  Other | Windows 7 | Work
Tuesday, June 7, 2011 7:57:17 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Talk at Interoperability Day 2009 

Interoperability day is focused on, well, interoperability. Especially between major vendors in government space.

We talked about major issues in long term document preservation formats and the penetration of Office serialization in real world...

.. and the lack of support from legislature covering long term electronic document formats and their use.

Here's the PPT [Slovenian].

Categories:  Other | Work
Wednesday, June 3, 2009 2:23:45 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Accreditus: Gama System eArchive 

One of our core products, Gama System eArchive was accredited last week.

This is the first accreditation of a domestic product and the first one covering long term electronic document storage in a SOA based system.

Every document stored inside the Gama System eArchive product is now legally legal. No questions asked.

Accreditation is done by a national body and represents the last step in a formal acknowledgement to holiness.

That means a lot to me, even more to our company.

The following blog entries were (in)directly inspired by the development of this product:

We've made a lot of effort to get this thing developed and accredited. The certificate is here.

This, this, this, this, this, this, this, this, this and those are direct approvals of our correct decisions.

Categories:  .NET 3.0 - General | .NET 3.0 - WCF | .NET 3.5 - WCF | Other | Personal | Work
Saturday, July 5, 2008 1:18:06 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Sysinternals Live 

This is brilliant.

Sysinternals tools are now (actually were already when I left for vacation) available live via a web (http and WebDAV) based resource on and \\

This means I can do the following:

[c:\]dir \\\tools

 Directory of  \\\tools\*

 2.06.2008   1:16         <DIR>    .
 2.06.2008   1:16         <DIR>    ..
 2.06.2008   1:16         <DIR>    WindowsInternals
30.05.2008  17:55             668  About_This_Site.txt
13.05.2008  19:00         225.320  accesschk.exe
 1.11.2006  15:06         174.968  AccessEnum.exe
 1.11.2006  23:05         121.712  accvio.EXE
12.07.2007   7:26          50.379  AdExplorer.chm
26.11.2007  14:21         422.952  ADExplorer.exe
 7.11.2007  11:13         401.616  ADInsight.chm
20.11.2007  14:25       1.049.640  ADInsight.exe
 1.11.2006  15:05         150.328  adrestore.exe
 1.11.2006  15:06         154.424  Autologon.exe
 8.05.2008  10:20          48.476  autoruns.chm
12.05.2008  17:31         622.632  autoruns.exe 1.11.2006  
 1.11.2006  15:06         207.672  Winobj.exe
30.12.1999  12:26           7.653  WINOBJ.HLP
27.05.2008  16:21         142.376  ZoomIt.exe
     24.185.901 bytes in 103 files and 3 dirs
109.442.727.936 bytes free

Or, I can fire up a Windows Explorer window (or press the start key, then type) and just type: \\\tools.


[c:\]copy \\\tools\Procmon.exe
\\\tools\Procmon.exe =>
     1 file copied

Brilliant and useful.

Categories:  Other
Thursday, June 19, 2008 6:52:52 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Laws and Digital Signatures 

Suppose we have a document like this:

<?xml version="1.0"?>
<root xmlns="urn-foo-bar">
  <Signature xmlns="h
        Algorithm="" />
        Algorithm="" />
      <Reference URI="">
          Algorithm="" />

This document represents data and an enveloped digital signature over the complete XML document. The digital signature completeness is defined in the Reference element, which has URI attribute set to empty string (Reference Uri="").

Checking the Signature

The following should always be applied during signature validation:

  1. Validating the digital signature
  2. Validating the certificate(s) used to create the signature
  3. Validating the certificate(s) chain(s)

Note: In most situations this is the optimal validation sequence. Why? Signatures are broken far more frequently then certificates are revoked/expired. And certificates are revoked/expired far more frequently then their chains.

1. Validating the digital signature

First, get it out of there:

XmlNamespaceManager xmlns = new XmlNamespaceManager(xdkDocument.NameTable); [1]
xmlns.AddNamespace("ds", "");
XmlNodeList nodeList = xdkDocument.SelectNodes("//ds:Signature", xmlns);
[1] xdkDocument should be an XmlDocument instance representing your document.

Second, construct a SignedXml instance:

foreach (XmlNode xmlNode in nodeList)
  // create signed xml object
  SignedXml signedXml = new SignedXml(xdkDocument); [2]

  // verify signature

[2] Note that we are constructing the SignedXml instance from a complete document, not only the signature. Read this.

Third, validate:

bool booSigValid = signedXml.CheckSignature();

If booSigValid is true, proceed.

2. Validating the certificate(s) used to create the signature

First, get it out of there:

XmlNode xndCert = xmlNode.SelectSingleNode(".//ds:X509Certificate", xmlns); [3]

[3] There can be multiple X509Certificate elements qualified with namespace in there. Xml Digital Signature specification is allowing the serialization of a complete certificate chain of the certificate used to sign the document. Normally, the signing certificate should be the first to be serialized.

Second, get the X509Certificate2 instance:

byte[] bytCert = Convert.FromBase64String(xndCert.InnerText);
X509Certificate2 x509cert = new X509Certificate2(bytCert);

Third, validate:

bool booCertValid = x509cert.Verify();

If booCertValid is true, proceed.

3. Validating the certificate(s) chain(s)

Building and validating the chain:

X509Chain certChain = new X509Chain();
bool booChainValid = certChain.Build(x509cert);
int intChainLength = certChain.ChainElements.Count; [4]

If booChainValid is true, your signature is valid.

Some Rules and Some Laws

We have three booleans:

  • booSigValid - signature validity
  • booCertValid - certificate validity
  • booChainValid - certificate's chain validity

If booSigValid evaluates to false, there is no discussion. Someone changed the document.

What happens if one of the following two expressions evaluates to true:

1. ((booSigValid) && (!booCertValid) && (!booChainValid))
2. ((booSigValid) && (booCertValid) && (!booChainValid))

This normally means that either the certificate is not valid (CRLed or expired) [4], or one of the chain's certificate is not valid/expired.

[4] The premise is that one checked the signature according to 1, 2, 3 schema described above.

The Question

Is digital signature valid even if CA revoked the certificate after the signature has already been done? Is it valid even after the certificate expires? If signature is valid and certificate has been revoked, what is the legal validity of the signature?

In legal terms, the signature would be invalid on both upper assertions, 1 and 2.

This means, that once the generator of the signature is dead, or one of his predecessors is dead, all his children die too.

Timestamps to the Rescue

According to most country's digital signature laws the signature is valid only during the validity of the signing certificate and validity of the signing certificate's chain, both being checked for revocation and expiry date ... if you don't timestamp it.

If the source document has another signature from a trusted authority, and that authority is a timestamp authority, it would look like this:

<?xml version="1.0"?>
<root xmlns="urn-foo-bar">
  <Signature xmlns="">
  <dsig:Signature Id="TimeStampToken"
        Algorithm="" />
        Algorithm="" />
          Algorithm="" />
      <dsig:Reference URI="#TimeStampAuthority">
          Algorithm="" />
    <dsig:KeyInfo Id="TimeStampAuthority">
        <ts:Policy id="" />
            <ds:DigestMethod Algorithm="

The second signature would be performed by an out-of-band authority, normally a TSA authority. It would only sign a hash value (in this case SHA1 hash) which was constructed by hashing the original document and the included digital signature.

This (second) signature should be checked using the same 1, 2, 3 steps. For the purpose of this mind experiment, let's say it would generate a booTimestampValid boolean.

Now, let's reexamine the booleans:

  1. ((booSigValid) && (!booCertValid) && (!booChainValid) && (booTimestampValid))
  2. ((booSigValid) && (booCertValid) && (!booChainValid) && (booTimestampValid))

In this case, even though the signature's certificate (or its chain) is invalid, the signature would pass legal validity if the timesamp's signature is valid, together with its certificate and certificate chain. Note that the TSA signature is generated with a different set of keys than the original digital signature.

Actually booTimestampValid is defined as ((booSigValid) && (booCertValid) && (booChainValid)) for the timestamp signature/certificate/certificate chain [5].

[5] Legal validity is guaranteed only in cases where 1 or 2 are true.

Categories:  Other | XML
Wednesday, April 16, 2008 6:32:29 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 European Silverlight Challenge 

If you're into Silverlight, and you should be, check out, and especially sign up on and join one of our many developers who will participate in this competition.

More here.

Categories:  Other | Silverlight
Friday, January 4, 2008 10:33:22 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Oh my God: 1.1 

Shame? Nokia?

Same sentence, as in Shame and Nokia?

There is just no pride in IT anymore. Backbones are long gone too.

Categories:  Apple | Other | Personal
Wednesday, August 29, 2007 5:40:16 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Oh my God: 1.0 

This post puts shame to a new level.

There is no excuse for having Microsoft Access database serving any kind of content in an online banking solution.

The funny thing is, that even the comment excuses seem fragile. They obviously just don't get it. The bank should not defend their position, but focus on changing it immediately.

So, they should fix this ASAP, then fire PR, then apologize.

Well-done David, for exposing what should never reach a production environment.

Never. Ever.

Categories:  Other | Personal
Wednesday, August 29, 2007 5:35:38 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 All Things Digital: Jobs + Gates 

Microsoft Windows Vista Ultimate, $499.

Apple iPhone, $599.

Jobs and Gates sitting together. Priceless.

Categories:  Apple | Microsoft | Other
Thursday, May 31, 2007 1:14:25 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 IIS6: Changing the Locale ID when Regional Settings Won't Work 

I noticed an awkwardness on my IIS6 server installation today.

All my sites were running with a US locale, thus invalidating the currency/date time/decimal calculations by an order of magnitude.

The problem was that the server was installed using the default settings, and also applied those to the Network Service account under which most of my sites work.

How do you fix this?

  1. Login (RDP is OK)
  2. Change the locale to your preference on the logged in account, use Control Panel's Regional Settings UI, you may need to reboot
  3. Go to HKEY_CURRENT_USER\Control Panel\International
  4. Right click, choose Export
  5. Open the file in Notepad, replace "HKEY_CURRENT_USER" with "HKEY_USERS\S-1-5-20", this is the Network Service account
  6. Save the .reg file
  7. Double click the .reg file and import the settings
  8. Restart IIS

You should have your locale set.

Oh, on the other side, while investigating this, here's a scoop on how to get to clear text passwords of IUSR_MACHINENAME and IWAM_MACHINENAME accounts:

  1. Go to C:\InetPub\AdminScripts and open adsutil.vbs script in Notepad
  2. Change the only occurrence of "IsSecureProperty = True" to "IsSecureProperty = False". Save.
  3. Run "cscript adsutil.vbs get w3svc/anonymoususerpass" in command prompt
  4. Run "cscript adsutil.vbs get w3svc/wamuserpass" in command prompt
  5. Don't forget to revert to "IsSecureProperty = True" in adsutil.vbs
  6. Don't forget to save the file again

You should have both passwords now. This comes handy when you need to fine tune the settings of both built-in accounts.

Categories:  Other | Work
Wednesday, April 18, 2007 12:04:31 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Using Dark Room 

If you need a distraction free writing environment, grab a copy of Dark Room. I found it after a few years of using WriteRoom, the original, on a Mac.

I write most of my draft documents in it. Then I move them to Word and apply formatting. I write all blog entries - exclusively in Dark Room - every post.

It does what every text editor should be doing first. It makes you concentrate on the subject.

And, best of all - it's small footprint, single .exe app. Xcopy it to your path. Bam.

Categories:  Other | Personal | Work
Sunday, March 11, 2007 10:19:35 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Hassle Free Setups and Market Penetration 

Harry Pierson is discussing the correlation between market penetration and hassle free installation experience and hits the nail on its head.

Big market success of Adobe Flash, its omnipresence and high install base can definitely be traced back to flawless install experience. In fact, it's so perfect, that most users don't even know which version they're running. They don't care (me included). And they shouldn't care.

The first thing any platform needs to achieve is simple and effective installation experience. I don't want to manually download platform installers to use certain web services. It has to auto-install and has to be safe. This is what Flash does perfectly.

All current virtual machine based platforms can be installed independently. Or they can be flawlessly smuggled in by a host application setup program. The problem is, that we can't compare CLR (or JVM) based platforms to Windows (as a platform), since the user can't run five of the latter at the same time.

Flash 9 market penetration is currently at ~40%. Flash 8 penetration is ~90%, while Flash 6 penetration is ~96%.

WPF/E will have the same install experience. Bet on it. If it wants to succeed, it will also have to allow multiple versions to coexist gracefully.

Categories:  CLR | Other
Sunday, March 11, 2007 9:37:09 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 BITS Download Manager: Version 1.1.0 Available 

I updated my BITS Download Manager yesterday, making it even more Vista compatible.

Well, the compatibility was there from 1.0.2. But now, it shouldn't make any unnecessary UAC prompts go off.

If not for large HTTP based file downloads, I use it to track podcast downloads RSSBandit makes when using the new feature set.

Categories:  Other | Personal
Wednesday, February 21, 2007 4:26:14 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 The curse of Vista x64 

This post has been cooking for quite some time, quietly sitting on my desktop. Since Miha started the debate, I'm letting it go...

I've had a pleasure to work with the Acer Ferrari 4005 machine for a while. It was a great machine: AMD Turion 2.0 GHz, 64 bit, 2 GB RAM workhorse. Until I left it on the roof of my car and drove off...

Since then, I've been hammering on IBM Lenovo ThinkPad T60p, same specs, although x86 architecture. This is, in all terms, a great machine.

Having said that, I was running Windows XP x64 SP2 + Windows Vista x64, and Ferrari is actually one of the best machines to be on, when running x64. They have flawless driver support.

Let me get straight to the point.

Current prevailing architecture is x86. It's not going to stay that way for long. In the beginning of next year 99% of machines sold will have x64 support. Core 2 Duo is going to sweep the x86's dusty history.

The problem is, the majority of consumer base will decide by comparison, as always. It's just the magic of numbers, again. Imagine all the talking going on inside different computer stores and online forums, speculating how much better x64 is. In reality, x64 is currently (and for at least a couple of years) not going to be substantially faster - in the consumer space - than x86.

Nevertheless, a lot of people, who will now own the x64 chip, will want to run a x64-based edition of the OS. And here the problem lies.

Consumer Windows drivers have not been known for their robustness in the x86 world. There are devices that have real trouble running on Windows XP x86. Even though Vista will require signed x64 drivers, their availability is subject to questioning.

So the situation is this:

  • You get the latest and greatest hardware, including a Core 2 Duo
  • You get the latest and greatest software, including Windows Vista x64
  • There are numerous well known problems with running apps in WoW, on x64 machines
  • Currently, general device support is, well, flawed
  • The drivers that exist have not been tested - for the consumer market.

Enterprise x64 market is quite different. There are a lot of production systems running Windows Server x64 successfully.

People are going to be pissed. It's Vista x64 and it is not going to launch successfully to the customer base.

Categories:  Other | Personal | Windows Vista
Saturday, September 9, 2006 2:05:56 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 BITS Download Manager 

There is Background Intelligent Transfer Service (BITS) present in every Windows XP/2003/Vista setup. BITS manages Windows Updates downloads, but is also capable of transfering other files.

More on BITS can be found here.

Since the infrastructure is there, I wrote a lightweight application, which manages the user queue of the BITS service.

Here are some screenshots:

BITS Download Manager

Menu in system tray


System tray 'Download Complete' notification

Main features:

  • Download files in the background
  • Fire and forget
  • Handles dropped connections
  • Handles system downtime
  • Handles bandwidth usage
  • Can start download from IE (IE right click integration)
  • Can autolaunch at system boot
  • System tray notifications
  • Harmless, small footprint
  • Windows Vista support

You can download the installer or a ZIP version. If you grab the ZIP, you should change the installation path inside the .html file for the IE integration to work properly.

Download (Version 1.1.0):


BITS Download Manager will quitely sit in your system tray and wait for you to give it something to download. When you initiate the download, it will progress in the background only if there is enough bandwidth available.

I use it to download large files over HTTP, being from my own server of those damn Windows SDK 1GB downloads which seem to break every now and then.

Update: Version 1.0.2 available [2006-07-04]

Minor bugs fixed regarding appropriate single instancing when launching a download from IE. Context menus fixed when no downloads are in progress. You do not need to uninstall version 1.0.0 before installing this one.

Update: Version 1.1.0 available [2007-02-20]

Minor bugs fixes, Windows Vista support.

Categories:  Other | Personal
Tuesday, July 4, 2006 11:46:21 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Hibernation Issue on Windows XP SP2: >1GB RAM 

If you happen to run Windows XP SP2 on a machine with more than a GB of RAM, you may likely see the following notification appear on the system tray:

Hibernate Error on Windows XP SP2

This happens after hibernation is attempted. The error is: "Insufficient system resources exist to complete the API."

The solution is Q909095. There is a hotfix available, but you have to call Microsoft PSS to get it download the patch. It includes a new OS kernel which works flawlessly on my ThinkPad T60p with 2GB.

Knock knock. 

[Update 10/17/2006, Download available]

Categories:  Other | Personal | Work
Wednesday, June 14, 2006 10:24:15 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 On AJAX being dead 

A fellow MVP, Daniel Cazzulino, has a post titled AJAX may be the biggest waste of time for the web. While I agree with most of the points there, one should think about what Microsoft is doing to lower the AJAX development experience boundary.

Having to deal with JavaScript, raw (D)HTML and XML is definitely not going to scale from the developer penetration perspective. Nobody wants to do this is 2006. Therefore if Atlas guys make their magic happen, this would actually not be neccessary. It they achieve what they started, one would be abstracted from client side programming in most of the situations.

<atlas:UpdatePanel/> and <atlas:ScriptManager/> are your friends. And they could go a long way.

If this actually happens then we are actually discussing whether rich web based apps are more appropriate for the future web. There are scenarios that benefit from all these technologies, obviously. And if the industry concludes that DHTML with XmlHttpRequests is not powerful enough, who would stop the same model to produce rich WPF/E code from being emitted out of an Atlas enabled app.

We have, for the most part, been able to abstract the plumbing that is going on behind the scenes. If it's server side generated code, that should be running on a client, and if it is JavaScript, because all browsers run it, so be it.

We have swallowed the pill on the SOAP stacks already. We don't care if the communication starts with a SCT Request+Response messages, following by the key exchange. We do not care that a simple request-response model produces 15 messages while starting up. We do not care that there is raw XML being transfered. After all, it is all a fog, doing what it is supposed to do best - hiding the abstraction behind our beautiful SOAP/Services stack API.

Categories:  Other | Web Services | XML
Saturday, May 27, 2006 11:07:39 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 On Windows compared to 'other' OSs 

Having an option is always a good thing, right? But there comes a time when we all have to face the truth of the free (economic) world. There are things that just do not fit in common line-of-though agenda.

Like this one (Rob Enderle, link):

Windows is free to the OEMs. In fact, not only is it free, but Microsoft, in effect, pays them to take it. Regardless of the cost, Windows is a logical choice, and a straight pass. Dell (Nasdaq: DELL) pays about $80 for it and typically charges about $80 for it. There is rarely much of a mark up. If Microsoft were to lower its price that lowered price would be reflected in virtually all desktop hardware immediately.

Microsoft provides a number of services which include development support, service support, marketing support, technicians, classes, databases and support materials, and it picks up a lot of the service load as well. In addition, it provides marketing co-op dollars, incentives for early adoption of new products, and ensures a somewhat level playing field (which could be good or bad) for the vendors.

This is the world we all live in. Market share is made by a conglomerate of superiorities. Not necessarily just technical ones. We do need to acknowledge that sometimes market can be gained by offering better business environment for the complete food chain. One needs to respect the box movers too, they need those extra dollars. They need the extra revenue.

Now, here's the question. What if RedHat/Apple/Ubuntu had Microsoft's position? What would happen then?

Short term? Lower prices - better quality of life.

Long term? The same thing.

If Apple had an opportunity to excell at Microsoft's position, I bet they would exercise it! Actually, they are doing it already.

That's why I (mostly) agree with the quoted article.

Categories:  Other | Personal
Thursday, April 27, 2006 7:47:07 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Eagle View 

Now this is interesting.

Live bald eagle nest, streamed to your house.

Let's hope the parents are not disturbed too much.

Categories:  Other
Tuesday, April 4, 2006 4:22:27 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Joel Spolsky Discussion on Frameworks 

This has to be one of the best written analogies between current framework use cases ever.

We indeed are in a state of using ANYTHING that can make our developer lives easier, no matter what the consequences are. An often times, consequences manifest themselves in increased costs, time-to-ship prolongation, complexity and speed.

Go read it. It's worth way more than the time spent.

Categories:  Other | Work
Thursday, March 9, 2006 12:54:08 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Regarding Origami 

Well, as more news bubbles up, there's a couple of things the 'Origami consortium' should do:

  • It should pull a Steve Jobs on Origami: "... and it's available today for $X99."
  • It should NOT discuss the follow-up models. I just do not want to know that in 6 months a better Origami will surface. One with a keyboard and 12 hour uptime, for example.
  • It should make sure that the Xbox 360 launch does not replay itself in terms of market congestion.

Tommorow at 9-12AM GMT a new Origami video will be available on Channel 9. I'm watching that space.

Categories:  Other | Personal
Wednesday, March 8, 2006 7:50:39 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Presentation Styles of Mr. Gates and Mr. Jobs 

If you've got 10 minutes and want to read a couple of pages, this is a must read.

There is so much difference between how Jobs and Gates do presentations. If you haven't seen one of them yet, there are many (Gates CES 2006 speech) options (Apple MacWorld 2006).

Categories:  Other
Sunday, January 29, 2006 11:54:53 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Longest product name ever 
 Installation issue with December CTP of WinFX Runtime Components 

If you are planning to install or have already done so, there's an issue with the automated install of December CTP of WinFX RC (Runtime Components).

The following link will install November 2005 WinFX RC:

And to make it even more complex, if you happen to install it in Windows Vista December CTP, there is no way to remove it and have a clean machine afterwards.

Use the complete download link, ie:

How do you know if this thing screwed you up? You will not be able to install a 1GB pack of Windows SDK (December 2005), which also includes WinFX docs and samples.

Another proof are filename timestamps of for example System.ServiceModel.dll and friends, which are 11/18/2005 - equaling to November 2005 CTP dates.

Categories:  Windows Vista | Other | Personal | .NET 3.0 - General | Work
Thursday, December 22, 2005 1:25:33 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Apple <> Intel 

I've said it before - in the last two years I have become a huge Apple fan.

It all started with me being inquisitive and buying a peace of furniture - Apple iMac G5. It went on with iPod nano.

I love Apple hardware. I like Apple software. There are known limitations inside the Mac OS X platform for it not being able to compete with Microsoft in terms of development experience and development technology adoption. They are ages behind in some critical areas, but also a couple years ahead in terms of OS GUI experience. Things like search, metadata, clean user inteface or, in general, end-user things work perfecly in the current builds of Mac OS X 10.4.3.

Now, it seems that Apple is trying to push out new Intel based laptops in January. I am definitely reconsidering when it comes to having the best of both worlds.

Categories:  Other | Personal
Thursday, December 15, 2005 2:32:41 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 The Order of Adoption 

Today, when I was driving back home from a client of mine, I managed to squeeze some time off between the necessary phone calls to reason about the state/discrepancies of technology adoption between different businesses.

There's an obvious dicrepancy present.

There are businesses which challenge technology. There are businesses which know about Vista/Indigo/Avalon/Workflow progress. There are businesses which think they know about Vista/Indigo/Avalon/Workflow progress. And then, there are real businesses.

They don't care.

By real I don't mean successful businesses. A business can be successful and not real at the same time. What I mean by real is large, heterogeneous, multi-platform, cross-racial businesses. They just do not care.

A line of thought, which is mostly present in these scenarios is this: What and how do we use technology to drive our business opportunities? And if one thinks about it, they are right in both cases:

  1. Adopting a new technology can help you increase business opportunities. It can also slow you down during the learning cycle. If there are too many learning cycles, you can be slow all the time.
  2. New technology usally costs money. It costs in terms of licences, training and lost working hours trying to make it work. This is counter productive in terms of fulfilling/achieving business opportunities.

The outcome is that real businesses take wise decisions and adopt when the time comes. They do not rush it. That's one of the reasons that makes them successful.

This should not be read as if my opinion is to wait till technology matures. There are rare cases that mandate usage of new technology instantly.

Categories:  Other | Work
Tuesday, December 13, 2005 10:24:33 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Indigo Debugging 

While doing some serious Indigo development I noticed that a process was up and running for a long period of time after any errors in the Indigo runtime occured.

It was dw20.exe. Doctor Watson.

Thank you Doctor, but I only read the brutal stack trace.

So, if you're like me and don't care about sending specific self-induced pre-beta technology error traces to Microsoft, do this:

  1. Open Control Panel/System
  2. Goto Advanced tab
  3. Click Error Reporting button
  4. Disable error reporting
  5. Disable critical error notifications

Indigo develoment is a lot more enjoyable now.

I normally disable this anyway, but this was inside a Virtual Server image, and as it goes, you learn it the hard way.

Categories:  .NET 3.0 - WCF | Other
Thursday, July 21, 2005 1:06:15 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Software patents: CII directive 

I was in Brussels on Wednesday the previous week, spending time at the European Parliament. We had meetings with our 7 MEPs (Member of the European Parliament). I can only agree with the general points Clemens made in his blog entry and with the fact that MEPs have a hard time deciding on this.

We did, however, manage to present our opinions on the CII directive successfully. There is still a strong pressure inside some of the EP groups not to support the directive. And there are still groups which are deciding on whether to only support it with certain amendments.

The problem is that, as it seems, this directive will not be voted by MEPs individually. All groups will decide internally and then go for a group vote. It is therefore of much importance that anybody with access to their MEPs voices his/her opinion. Anybody can do it. Here's the link.

CII should be supported in its current form, without any "force of nature" or "interoperability" amendments. They will make things much worse over time and help paralyzing the patent system in EU.

Our viewpoint on this is available in English on my download site: (118KB).

I strongly believe that the majority of opponents seem to think this issue is one of large vs. small companies. It is not. It has nothing to do with an impact on the bureaucracy work too. The CII directive only helps - is a first step toward - harmonizing the patent system throughout 25 member states. And again, it does not allow software patents per se. It makes me quite sad to see that most of the arguments are strongly voiced having only a populistic stance over the CII directive. It is a good thing to have, a good thing to support innovation and a good thing to enforce ones rights over his/her invention.

I have also included the draft version of CII in the above ZIP file.

Categories:  Other | Personal
Thursday, June 30, 2005 10:17:37 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 TechEd 2005 Orlando Podcasts 

For those of you (especially in our land), who didn't manage to get to TechEd 2005 Orlando, there's a two step process to get insight and up-to-date:

  1. Download a Podcast client (see this site to find out how)
  2. Use this endpoint for TechEd 2005 Orlando podcasts

Have fun. I attended, but am still scraping through the content. It's brilliant.

Categories:  Other | Conferences
Friday, June 10, 2005 7:09:28 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Apple Goes Intel 

Oh my god.

Have to admit. We own this and this and she loves it.

Steve Jobs (Apple):

“Our goal is to provide our customers with the best personal computers in the world, and looking ahead Intel has the strongest processor roadmap by far. It’s been ten years since our transition to the PowerPC, and we think Intel’s technology will help us create the best personal computers for the next ten years.”

Roz Ho (Microsoft):

“We plan to create future versions of Microsoft Office for the Mac that support both PowerPC and Intel processors. We have a strong relationship with Apple and will work closely with them to continue our long tradition of making great applications for a great platform.”

Glad they agree. Join the teams. Passion and market penetration always resonates.

Categories:  Other | Personal
Tuesday, June 7, 2005 1:12:07 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 TechEd 2005: Orlando 

Categories:  Other
Thursday, March 31, 2005 11:14:11 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Slovenian Developer User Group (SLODUG) Launched 

Yesterday we launched a developer oriented user group in Slovenia. The event was held in Microsoft Slovenia conference room (Ljubljana, BTC).

First three talks were:

We had around 25 attendees, some beer and pizza. As always, everyone is welcome.

Will follow up with specific URLs of SLODUG homepage, when it becomes available.

Update: PPTs are available.

Categories:  Other | Work
Friday, November 5, 2004 10:14:38 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Google Did It Again 

In one of my previous posts I said it will take three years for Google experience to come to the desktop.

It's here now. The other company I dearly love did it. Experience it, it will change the way we think about fast local searching.

Categories:  Other | Personal
Friday, October 15, 2004 9:09:46 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 What I use Gmail For 

Gmail is wonderful. It gives you around 1GB of storage space for no-spam email. It can give you even more.

How I use it:

  • When I get my mail to my laptop, I do not delete it from the server
  • When I get mail on my main machine, I have it setup so that messages are deleted after a month of residing on the server. Yes, Outlook has this option. This gives me more than enough time to grab the messages from the server with my laptop, before they are deleted.
  • I have a message rule on my main machine which forwards all incoming messages to my Gmail account


I love having all messages stored. And I have everything stored on my main machine. But, since Gmail has 1GB of fast-search-capable storage I prefer browsing through my mail using remote Gmail than my local Outlook. Implicitly I get web access to all my email.

We're probably more that three years away from achieving this on our local machines.

Categories:  Other | Personal
Monday, August 30, 2004 9:09:20 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Three GMail Accounts Available 

I've got three GMail accounts to spare.

First three comments with a valid email get a GMail invitation.

Categories:  Other
Monday, August 30, 2004 8:04:11 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Changing faces 


They just changed its face and turned Mother Teresa.

They are now going to donate code to open source community while being one of the fathers of closed source initiative.

And if they are planing to donate their database product, why not donate DB2 instead of Java based Cloudscape?

IBM will continue to offer its own version of Cloudscape. It believes that some customers will use it in preference to the open source version in order to take advantage of the company's technical support.

What? If the idea is to offer some code to people who want to learn concepts and improve, why don't they want to participate in the game?



Categories:  Other | Personal | Work
Tuesday, August 3, 2004 10:27:16 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Google's problem solver 

Google posted this a week ago on a street banner:

{ First 10 digit prime in consecutive digits of e }.com

If you take e's digits you get something like this:


One has to find the first sequence in e's digits which is also a prime.

The solution to this is:

There you have a web page stating this:

f(1)= 7182818284
f(2)= 8182845904
f(3)= 8747135266
f(4)= 7427466391
f(5)= __________

Question is how to find f(5), which is also the password for

If you look at the numbers for long enough you will find that they all sum up to 49. The second observation is that the numbers all belong to e's digits. Third observation is, that numbers are 10 digits long.

So the task is to find a fifth 10-digit sequence in e's digits with the sum of 49.

This solves it using brute force:

using System;

public class GoogleSolver
 public static void Main()
  string strE = "71828182845904523536028747135266249775";
  strE+= "724709369995957496696762772407663035354759457";
  strE+= "138217852516642742746639193200305992181741359";
  strE+= "662904357290033429526059563073813232862794349";
  strE+= "076323382988075319525101901157383418793070215";
  strE+= "408914993488416750924476146066808226480016847";
  strE+= "741185374234544243710753907774499206955170276";
  strE+= "183860626133138458300075204493382656029760673";
  strE+= "711320070932870912744374704723069697720931014";
  strE+= "169283681902551510865746377211125238978442505";
  strE+= "695369677078544996996794686445490598793163688";
  strE+= "923009879312773617821542499922957635148220826";
  strE+= "989519366803318252886939849646510582093923982";
  strE+= "94887933203625094431";

  for (int intI = 0; intI < strE.Length - 10; intI++)
   if (sumString(strE.Substring(intI, 10)) == 49)
    Console.WriteLine(strE.Substring(intI, 10));

 public static int sumString(string strSumThis)
  int intSum = 0;
  for (int intI = 0; intI < strSumThis.Length; intI++)
   intSum = intSum + Convert.ToInt32(strSumThis.Substring(intI, 1));
  return intSum;

Go to and apply for Google Labs.

Categories:  Other
Thursday, July 15, 2004 10:00:59 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Going on... 

This is so so good. Clemens' blogging engine and my web server did not stop even once in more than 200 days.

PsInfo 1.36 - local and remote system information viewer
Copyright (C) 2001-2003 Mark Russinovich
Sysinternals -

System information for \\megabyte:
Uptime:                    209 days 17 hours 1 minute 21 seconds
Kernel version:            Microsoft Windows Server 2003, Uniprocessor Free
Product type:              Advanced Server
Product version:           5.2
Service pack:              0
Kernel build number:       3790
Registered organization:
Registered owner:          Matevz Gacnik
Install date:              8.11.2003, 16:36:56
Activation status:         Activated
IE version:                6.0000
System root:               C:\WINDOWS
Processors:                1
Processor speed:           1.4 GHz
Processor type:            AMD Athlon(tm) XP processor 1700+
Physical memory:           1024 MB
Video driver:              Rage Fury Pro/Xpert 2000 Pro

Categories:  Blogging | Other
Sunday, June 20, 2004 10:26:12 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 VS 2005 CTP - May 2004 help broken 

If you already downloaded or installed a TechEd 2004 San Diego version of Visual Studio 2005 CTP you must have found out that the help system does not work.

What you get is a “Downloading...” progress bar and nothing is shown.

To fix it, do this:

  • Open c:\program files\common files\microsoft shared\help whidbey\dexplore.exe.config
  • Change supportedRuntime's and requiredRuntime's element attribute version from “v2.0.40507“ to “v2.0.40426”.
  • Final text should read <supportedRuntime version=“v2.0.40426“ safemode=“true“ />

It should work now.

Categories:  Other | Work
Thursday, May 27, 2004 8:47:03 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 We Achived A Major Milestone On The Hotel Project Im On On Friday We Deploye 

We achived a major milestone on the hotel project I'm on on Friday. We deployed the application to complete 5th floor.

Although the web site does not say much, there is A LOT of meat behind this concept.

I attached a picture of the simple room control application.

It's all XML. It's .NET/COM/Java. And it interoperates beautifully.

Categories:  Other | Work
Sunday, April 18, 2004 1:31:03 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Google's next steps 

This is one of the best weblog posts in a while. A must read.

I'm wondering whether this will work out, GMail and all.

100.000 servers and Google File System?

Categories:  Other
Thursday, April 8, 2004 1:25:35 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Microsoft Imagine Cup 2004 - Slovenia 

I just came back from a final event of choosing the best student team in Microsoft Imagine Cup 2004 - Slovenia, where I participated as one of the jury members.

The winning team developed a solution for optimizing warehouse management (JANUS - Intelligent Warehouse System), which was my favourite throughout the competition.

Congratulations to everybody that participated and especially the winners.

Categories:  Other
Monday, March 15, 2004 9:20:20 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 100 days of Windows Server 2003 government 

Enough said.

PsInfo 1.36 - local and remote system information viewer
Copyright (C) 2001-2003 Mark Russinovich
Sysinternals -

System information for \\megabyte:
Uptime:                    102 days 11 hours 1 minute 44 seconds
Kernel version:            Microsoft Windows Server 2003, Uniprocessor Free
Product type:              Advanced Server
Product version:           5.2
Service pack:              0
Kernel build number:       3790
Registered organization:
Registered owner:          Matevz Gacnik
Install date:              8.11.2003, 16:36:56
Activation status:         Activated
IE version:                6.0000
System root:               C:\WINDOWS
Processors:                1
Processor speed:           1.4 GHz
Processor type:            AMD Athlon(tm) XP processor 1700+
Physical memory:           1024 MB
Video driver:              Rage Fury Pro/Xpert 2000 Pro

Categories:  Other
Wednesday, March 3, 2004 9:32:55 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 We lost 

Congratulations guys. You were better in the final of European Handball Championship.

Slovenia : Germany = 25 : 30

Categories:  Other
Sunday, February 1, 2004 7:06:46 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Windows Media Services 9 

I'm currenlty involved in designing a client application for a big hotel chain. The application is able to show rich media (MPEG II digital TV, MPEG II video on demand, Windows Media video on demand, WMV-HD, music, live webcasts, you name it...).

The problem we faced on friday was connected to the way WM services allow a client (WM Player 9) to cache streamed contents. It was actualy not a functional but rather a performance problem, because the application architecture is designed in a way that allows client computers to reflash their HD partition at every reboot. Since a lot of video content was cached (hundreds of megs), reflashing time increased.

Two ways to get rid of client side caching:

  1. Allow client side caching property in Windows Media Services / Windows Server 2003
  2. URL encoded parameter in query string (ie. http://wmedia/mymedia.wmv?wmcache=0)
Categories:  Other
Sunday, January 25, 2004 12:27:19 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 APIs in 64 bit world 

We are having a little debate internally on an issue around naming conventions for moving APIs to the 64bit world. 

We made a few design mistakes in V1 and exposed some properties that are really word sized as Int32’s rather than Int64s.  I don’t think there are very many of these, but it seems we need a common pattern for any we do dig up…

Here is an example.  On the Process class today we have:
public int VirtualMemorySize { get; }
public int WorkingSet { get; }

As you know we can’t just change these to return longs as that would break apps complied against V1 or V1.1 when run on Whidbey…  We also can not add overloads that return longs as the properties must differ by more than return type (btw, this is a CLS rule not a runtime rule, the runtime is just fine with overloading on return type.. now the only problem is finding a language where that is valid ;-)).  So we are left we having to make a name change…

We feel strongly we want a postfix so the properties sort correctly in initellisense.    The two front runners are:


So that would be:

public long VirtualMemorySizeLong { get; }
public long WorkingSetLong { get; }


public long VirtualMemorySize64 { get; }
public long WorkingSet64 { get; } 



Use the XxxLong suffix. Long will remain 64 bits long from now till the end of time. 128 bit address space is for science fiction writers. And this isn't "640 kb should be enough for everyone.".

Everyone should remember that 2^64 is 2^32 TIMES more that 2^32.

If for some strange, atom-splitting reason 2^64 would not be enough, it would surely not be called Long. And no, "we've been wrong before" does not stand here.

Categories:  Other
Thursday, October 16, 2003 9:04:40 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 .NET != Web Services 

Eric Maino writes about an obvious example of misleading writing on this Microsoft page.

I tend to agree. What should also be emphasized is that Web Services are not the only core feature of .NET. There's more meat behind the curtain.

Categories:  Web Services | Other
Tuesday, October 14, 2003 9:35:06 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Avalon in text editor 

Based on this and this, one can conclude that Avalon and Indigo are both based either on high level interfaces or Don/Chris have god-like memory.

I hope it's the former. It it is, it's going to be a jolly year. If it isn't and the memory statement is true, then Emacs support will drop.

Categories:  Other
Tuesday, October 14, 2003 9:10:47 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 W32.Swen.A is killing my Inbox 

My Inbox is drowning under Swen infected emails. It's getting serious, since I'm getting almost a mail per minute. It seems to me, that the intensity has doubled in the last few hours.

Virus/worm/trojan writers should be treated with <insert your punishment>.

Categories:  Other
Monday, October 6, 2003 8:24:48 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Hmm, NDAs that are not there 

The last post generated quite a stir, and I know why, but I deleted it anyway.

I'm actually not under Whidbey NDA, but to keep myself from disclosing something that is one month from being publicly available, and to keep everybody who has a hard time being silent about this happy, I'm shutting it down.

Thanks for reminding.

Categories:  Other
Saturday, October 4, 2003 8:05:42 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Good PDC session 

Brad Abrams asks:

Then I thought I’d ask you folks – what do you value?  What gets you to give high marks on the session survey?  (we take that very seriously you know)..

Make demos simple. If possible write them by hand. Use as little as possible precooked. Describe every line, method and mechanism. Don't demonstrate 7 pages of code. Things can be done efficiently in 5 lines of code for demonstration purposes. Entertain.

Categories:  Other
Saturday, September 27, 2003 7:10:15 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Skype beta 

I just installed and used Skype beta and I like it.

Windows Messenger and it's voice calls are peanuts, compared to this app. Microsoft should embrace and extend again.

Categories:  Other
Monday, September 15, 2003 9:45:28 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Jeff is at 1.8 already 

I fell asleep for a couple of days.

Jeff is doing a tremendous job with Snippet Compiler. I use this tool to show can-be-done-quickly demos. What makes is special? It sits patiently in my system tray, has the ability to increase font size and is lightweight. Just cool.

Now. What I miss is the ability to generate snippets from command prompt tools. Since code generation is the second best thing, I would like to click File/New/Snippet from Command Prompt and type "wsdl http://myserver/myservice.asmx" or "xsd /c myschema.xsd". Then I just need a simple cross referencing ability to compile my client and auto generated code. And yes, I know about the references textbox.

I also wonder if Jeff is still accepting donations. He managed to get that textbox control from Syncfusion donated, but a man can't eat .NET components.

Categories:  Other
Saturday, September 13, 2003 3:07:38 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Windows Server 2k3 is just not there yet 

To require a reboot for every security path installed is simply unacceptable. An OS like Win2K3 should never have to be rebooted and should be able to go a year or more without a reboot.
[Via: Sam Gentile's Blog]

This is so true. The frequency of patch distribution is too high for Microsoft to push "perfect OS - no patches needed" strategy. It is definitely more expensive (if not impossible, nowadays) to eliminate all possible buffer overruns in Windows Server 2003. Patches are here, and they will keep coming here for quite some time. We need a different application method.

Categories:  Other
Friday, September 12, 2003 1:56:23 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Pete Cole had the same problem 

Based on my previous posting I knew someone else would be affected too.

Today it was Pete Cole.

Categories:  Other | Personal
Monday, September 8, 2003 7:55:41 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Man of the day 

Two words: Jeff Key.

Version 1.4 of Snippet Compiler will be used in one of my next demos. If v 1.5 comes out with an option to halt the command prompt process (keep it alive) after ending (simple programmatic Console.Readline() injection would suffice), I will marry it.

Categories:  Other
Friday, September 5, 2003 8:42:31 AM (Central Europe Standard Time, UTC+01:00)  #    Comments



In case you're wondering, how's the weather like here - in Ljubljana.

62 minutes ago, at 19:00 UTC, the wind was blowing at a speed of 0.5 meters per second (1.2 miles per hour) from variable directions in Ljubljana / Brnik. The temperature was 12 degrees Celsius (54 degrees Fahrenheit), and the pressure was 1,027 hPa (30.33 inHg). The relative humidity was 81.9%. There are no clouds below 1,524 meter (5,000 feet). The visibility was >10 kilometers (>6.2 miles).

Categories:  Other
Thursday, September 4, 2003 9:05:30 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Microsoft's success - praejudicium 

Based on my last sentence in previous posting, this explains it pretty good.

Most favourite claims made by THOSE people:

  • Microsoft doesn't respect its customers
  • Products are unreliable and insecure
  • Microsoft is evil
  • Company's products are overpriced

It should be noted that we live in a market economy (most of us) and the will to change is not punished. Do it.

Categories:  Other
Thursday, September 4, 2003 8:55:29 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 SnippetCompiler v1.3 

Jeff Key just uploaded v1.3 of SnippetCompiler, which is a great tool for short .NET tests/presentations. It seems he's taking requests, so here's another one.

Please make fonts adjustable. It would make life much easier for people in last rows.

Categories:  Other
Thursday, September 4, 2003 12:06:23 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 'Server Application Unavailable' Error after Applying Security Update for IE 

It just happened to my server.

Damn. Two hours of my time wasted because I happen to have the exact config I shouldn't have. It seems that Win XP + IIS5.1 + ASP.NET 1.0 + MS03-32 Security update are not compatible. Drew notified me about my server failure. Thanks!

This is the solution.


Categories:  Work | Other
Monday, September 1, 2003 8:32:17 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 MIT OpenCourseWare 
In September MIT will launch it's "courseware-to-the-masses" project. I believe in this kind of knowledge sharing.

Knowledge should be made available to everyone.
Categories:  Other
Friday, August 29, 2003 9:11:00 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 More on Mono<>Novell 

"This is a big move for Novell. I think that it has the potential to open up a lot of doors for them. Now the challenges facing them will be to leverage the strengths of Ximian while not disrupting Ximian's existing customer base and the open source development community. If Novell works this correctly, Microsoft may have to look at them as a serious competitor once again."

If this is judged by Mono, I don't buy it. Come on. Mono is fine and it works somehow. But dozens of monts will pass before it will be useful for general developer public. Mono is to .NET what Linux is to Windows XP. In general, difficult to use, difficult to sell.

"It is obvious that the Microsoft's treachery will be it's demise in the end. As the romans often said "quod me nutruit, me destruit", that which feeds me also kills me. MS's greed and manipulation of the industry, the government and consumers will end soon."

I thought people changed that 90's opinion about Microsoft. They are STILL out there.

Categories:  Other
Thursday, August 14, 2003 10:21:09 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Just in: Novell aquired Ximian 

Novell bought Ximian, a company which produces Mono and Gnome. I hope that this won't have any impact on successful Mono implementation, which was happening in recent months.

I must admit, I don't like this story. Mono was a typical open source project, which was successful because it was independant.

What happens now?

Categories:  Other
Monday, August 4, 2003 9:33:23 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Jorgen Thelin: newest Microsoft employee 
Jorgen Thelin goes to Redmond.
Categories:  Other
Wednesday, July 23, 2003 4:04:54 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


This is fun. Random website design anyone?
Categories:  Other
Sunday, June 29, 2003 10:06:38 AM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Baconizer fun 

I was hanging out with Eric Promislow from ActiveState this week and he pointed me at his "Baconizer" web site, which will connect a path between any two books (or CDs or DVDs).
For example, from "The Best of Martha Stewart Living : Weddings" to "Mastering Visual Studio .NET" is only 11 hops (and some time in prison).
Hours of fun for the whole family.

Posted by Chris Sells on Thu, June 26, 2003 @ 12:22PM 

This is really fun to use. Check out a path from Essential .NET by Box, to Older by George Michael.

Categories:  Other
Thursday, June 26, 2003 8:54:52 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Post using NewsGator 1.2 

Well, if you’re reading this, then NewsGator 1.2 is working for me. If you don’t know it already, it allows you to use Outlook as a weblog reading and posting platform. 

Categories:  Personal | Other
Wednesday, June 25, 2003 5:36:02 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Amazon goes RSS 

If you ever wanted to be notified for new titles, here's the link. RSS based.

Categories:  Other
Wednesday, June 25, 2003 3:21:49 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Programming drunks 

Check this out. 548 languages, one, famous song.

Compare C# version with AWK version and then talk about efficiency.

Categories:  Other
Tuesday, June 24, 2003 9:25:54 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


 Towards a spam free future 

This is an executive email from billg, regarding Microsoft's efforts to stop the cockroach of the internet [Source]. If God would choose between various mailers, I hope he/she would choose Outlook 2003, which will include an efficient spam filter (I hope).

I categorized this to Personal and Other, since it nags me and others.

Towards a spam free future

Email is such an integral part of business and everyday life today that we tend to forget how recently it became popular. The first email program was developed in the early 1970s, but for two decades the technology was hardly used except by computer scientists, researchers and hobbyists.

Not until the mid-1990s, when the growing popularity of personal computers converged with easy access to the Internet, did email become truly pervasive as a way to communicate at work, with family and with friends. Today, email is as easy to use as the telephone, and just as vital for keeping people in touch, and for improving business productivity.

Yet email's popularity has produced one very troubling side effect: spam. Unsolicited commercial email is a spreading plague that feeds off the unique power of the Internet to connect hundreds of millions of computer users around the world, at virtually no cost. Generally unwanted and often pornographic or with fraudulent intent spam is a nuisance and a distraction. Like almost everyone, I receive a lot of spam every day, much of it offering to help me get out of debt or get rich quick. It's ridiculous.

What's more, spam is a drain on productivity, an increasingly costly waste of time and resources for Internet service providers and for businesses large and small. It clogs corporate networks, and is sometimes a vehicle for viruses that can cause serious damage.

Spammers often prey on less sophisticated email users, including children, which can threaten their privacy and personal security. And as everyone struggles to sift spam out of their inboxes, valid messages are sometimes overlooked or deleted, which makes email less reliable as a channel for communication and legitimate e-commerce. Spam is so significant a problem that it threatens to undo much of the good that email has achieved.

At Microsoft, as part of our drive to create a more trustworthy computing environment, we are significantly stepping up our efforts to fight spam and its pollution of the email ecosystem. Although there is no easy fix, we believe that spam can and must be dramatically reduced. We're working toward this goal on many fronts, through technological innovation and in partnership with other leaders in industry and government.

Creating New Anti-Spam Technologies and Strategies

Because spam affects consumer and business users of many Microsoft products and services, we have been working for several years on spam filters, and on tools that enable people to block unwelcome senders and designate others as safe. These tools have become available in recent versions of products such as MSN, Hotmail, Exchange and Outlook.

Recognizing the increasing urgency of the issue, we recently created a new Anti-Spam Technology and Strategy Group that brings together specialists from across the company and integrates all of our anti-spam strategy and R&D efforts.

We are building on advanced work at Microsoft Research in fields such as machine learning the design of systems that learn from data and grow smarter over time. This kind of technology is vital to the fight against spam because every defensive action causes spammers to change their attack. Technology, to be effective, must continuously adapt, without requiring a team of people to examine messages one by one. With machine learning, a "smart" spam filter can automatically adjust to spammers' shifting tactics.

A smart filter can also be customized to suit the preferences of an individual user. This is important because, although a lot of spam is pure junk, not all of it is clearly distinguishable based solely on broad, global criteria. Deciding precisely where to draw the line must ultimately be up to the individual. However, a smart filter can learn from a user's personal preferences to create a unique, anti-spam immune system that is much harder for spammers to work around.

Already, filters on the servers at MSN and Hotmail block more than 2.4 billion messages a day, before they ever reach our customers' inboxes. And to help deal with mail that survives this first hurdle, MSN 8 software includes a smart filter that becomes more effective over time as it learns the characteristics of mail that an individual customer regards as spam. This month, we updated MSN 8 with further improvements in its spam technologies, giving customers an option to block offensive images in email, and adding the ability to filter mail in languages besides English. We will offer more technology advances in a new release of MSN software later this year.

Meanwhile, we are working to create new anti-spam technologies that are even more precise, easier to use, and adaptable. And we are working to integrate them into more of our products, particularly Outlook and Exchange.

To help, we have assembled a massive and still growing database of spam, collected from volunteers among our millions of MSN and Hotmail subscribers. This database will prove invaluable later this year when we release Outlook 2003, which will include a new, smart filter that will access the database to recognize and block spam more effectively. The filter in Outlook 2003 also will be updated frequently and easily, as with Windows Update today.

Exchange 2003 includes a host of anti-spam features, including an Application Programming Interface that enables third-party providers of spam filters to easily supply solutions for Exchange customers. We plan to add our own smart filter and continue building more anti-spam capabilities into the Exchange messaging infrastructure. Our goal is to do everything we can to secure email systems with servers that monitor and control the points of entry.

As we develop new technologies, stemming the tide of spam also requires a multi-faceted approach that includes industry self-regulation, effective and appropriate legislation, and targeted enforcement against the most egregious spammers. It also calls for cooperation among the major players in the email ecosystem. In April, we joined with AOL and Yahoo! in announcing a wide-ranging set of initiatives to fight spam together. Since then, Earthlink and others have joined the effort, which involves promoting business guidelines, best practices and technical standards that can help curb spam sent or received via any online service or computing platform.

Stopping Spam At the Source

Every major provider of email services has rules against spamming. Microsoft puts significant resources into investigating consumer complaints about spam that may have originated from accounts on MSN or Hotmail. We are firm in shutting down those who violate our anti-spam account policies.

There are other challenges. For example, spammers set up many different email accounts to avoid detection, and, once detected, they move to other services. To put an end to this shell game, we are taking steps to prevent spammers from creating fraudulent email accounts in bulk. We also are working with other service providers to share information so that we can keep tabs on roving spammers and shut them down more effectively.

Government policymakers also have a role to play. We support U.S. federal legislation that would strengthen the ability of service providers to shut down spammers by suing them on behalf of customers. And we believe that the use of automated searches to harvest addresses published on the Web and in Internet newsgroups should be banned, making it much more costly and difficult for spammers to assemble mailing lists.

Bringing Spammers into the Sunshine

Government and industry working together also can put an end to spammers' deceptive practices. Spammers go to great lengths to conceal or "spoof" their identities. They relay their mail through multiple servers to hide its origins. They open multiple accounts and change to new ones frequently to avoid drawing the attention of service providers, and to improve the chances of their mail passing through spam filters. They lure unsuspecting readers by faking sender addresses ones that appear to be someone inside the recipient's company, for example.

Microsoft is working with others in the industry to identify and restrict mail that conceals its source. For example, we are working toward a system to verify sender addresses, much as recipients' addresses are verified today. The Internet addresses for all incoming mail servers are published as part of the Domain Name System, the Internet's distributed directory. That's how mail gets to the right destination. If domain administrators could also publish the addresses of their outgoing mail servers, then the receipt of a suspected forgery could trigger a relatively simple, automated verification process. Incoming servers would then be able to confirm whether senders are who they say they are.

To help fight fraudulent or otherwise illegal spam, we are cooperating with other service providers to create better mechanisms for preserving electronic evidence of spammers' activities. And we are coordinating civil lawsuits and other enforcement actions for greatest impact. On June 16, Microsoft filed 15 lawsuits in the United States and the United Kingdom against companies and individuals alleged to be responsible for billions of spam messages sent in violation of state and federal laws.

These efforts would be helped and consumers would benefit from legislation that would include clearer prohibitions against using misleading sender addresses and other false header information.

Isolating Spam

Part of the challenge in curbing spam lies in accurately identifying legitimate commercial email. What would help are guidelines defining, for example, whether and when an email is legitimate based on a previous business relationship between the sender and recipient. By drawing a clear line between spam and legitimate mail, guidelines would enable spam filters to work more precisely, and make it easier for honest businesses to stay on the right side of the line.

Developing such guidelines is the focus of talks involving Microsoft and other technology leaders, responsible marketers and consumer groups. We favor the idea of setting up independent email trust authorities to establish and maintain commercial email guidelines, certify senders who follow the guidelines, and resolve customer disputes. Similar authorities already help in protecting people's privacy online, with organizations such as TRUSTe and BBBOnline providing certification for Web sites and companies that follow guidelines on the use of customers' data.

Self-regulation needs to be supported by strong federal legislation that empowers consumers without threatening the vitality of legitimate e-commerce. Our proposal is to create a regulatory "safe harbor" status for senders who comply with guidelines. The guidelines would be subject to approval by the Federal Trade Commission. Compliance would be confirmed by a self-regulatory body. Senders who do not comply would have to insert an "ADV:" label, for advertisement, in the subject line of all unsolicited commercial e-mail.

Computer users could then customize their spam filters to either accept "ADV:"-labeled mail or automatically delete it. Enabling consumers to regain control of their inboxes in this way would dramatically reduce the volume of spam by creating strong incentives for businesses to make sure their communications are consistent with best-practices guidelines developed by industry itself.

Changing the Landscape, Soon

These and other efforts across many fronts should lead to a world where we are less troubled by spam. As less of it reaches recipients and violators face stiffer sanctions for illegal activities the financial incentives for spammers will decrease, and spamming will lose much of its appeal.

At Microsoft, we're strongly committed to the goal of ending today's spam epidemic.

Bill Gates

Categories:  Other | Personal
Tuesday, June 24, 2003 9:11:30 PM (Central Europe Standard Time, UTC+01:00)  #    Comments


Copyright © 2003-2024 , Matevž Gačnik
Recent Posts
RSS: Atom:

The opinions expressed herein are my own personal opinions and do not represent my company's view in any way.

My views often change.

This blog is just a collection of bytes.

Copyright © 2003-2024
Matevž Gačnik

Send mail to the author(s) E-mail