/egilh

Learning by doing

March 2006 Entries

I frequently work in places where I only have access to the internet via a HTTP proxy. E-mail protocols like SMTP, POP3 and IMAP 4 are not proxyable via http (normally) so I download mails via GPRS/UMTS when needed. The problem is that it costs a fortune when someone sends you a gigantic .ZIP file. I got fed up by wasting time and money this way so I implemented a simple ASP.NET based solution than can proxy any tcp/ip socket via http/https. You can find the binaries, as well as the source code, in the downloads section. I have been dogfooding the last few days, adding features as I need them. The tool is pretty basic but it does what I need: it runs as a windows ...

I bought a PC from my ex colleague Marco earlier this week, so I have spent the last few nights configuring it to suit my needs. I configured it to use the standard "welcome screen" and "limited user" rights for the kids to keep it simple yet secure. It went pretty smooth apart from the program the kids use the most: Flash. They frequently visit WinxClub and Kinder but the flash based games they love refused to run. No "security warnings", just an ugly X where the flash game should be. Adding the sites to the “Trusted sites“ didn't work either. RegMon came to the rescue again, and I found the problem: you have to change the security permissions on Macromedia ...

I just learned something new about using HTTP GET to access .NET web services. HTTP GET returns a "Web Service method name is not valid." error if you pass arguments by reference. Why use HTTP GET? Calling Web Services via HTTP GET can be useful for stress testing with Microsoft ACT. The systems engineers can record a simple script calling multiple web services with different arguments in no time. It is possible to use HTTP POST in Microsoft ACT but it requires some coding skills. I wanted to call this test method: [WebMethod] public int HelloWorld(string sayThis, ref string XmlOut) But I ran into several issues. The first problem is well documented; you have ...

A decade after I arrived in Italy I got a "welcome letter" from the mayor of the town I moved to: Dear citizen.The Municipality of Paderno Dugnano has been working for some years in favour of the integration of foreign citizens. It is now my pleasure to send you the guide to services where you can find useful information for everyday life. I would also like to inform you that you can telephone for whichever foreign information to the shop at the following numbers … and … Trusting in a future of mutual acquaintance and collaboration. Yours faithfully Some people may see this as a waste of tax payers money as the project has been sponsored (i.e. paid) ...

I learned about a Microsoft "program" I did not know of while attending a conference on Microsoft SQL Server 2005. The Microsoft MAPS program for partners is great news for consultants and trainers on Microsoft technologies. The Microsoft Action Pack Subscription gives you access to 25.000 euro worth of software licenses, including Office, Windows 2003 etc for 320 euro The Microsoft Action Pack Subscription is a benefit that's available to Registered Members of the Microsoft Partner Program who promote Microsoft software or provide solutions based on Microsoft software and technologies to their customers. Becoming a Registered Member is free and enrollment only ...

The Visual Basic 2005 Technical Conference in Milano (23 March) should be interesting. Jay Roxe (Visual Studio Project Manager) and Tyler Whitney (Visual Basic Technical Lead) will be there to answer questions about Visual Basic 2005. The sessions in the morning cover Visual Basic and WinForms 2.0 and the sessions in the afternoon cover ASP.NET 2.0 and Visual Studio 2005 Tools For Office. I will not be there, but it should be interesting for VB developers. Via Gianluca's blog

I am no security expert, but encryption fascinates me and I do my best to keep the architectures I work on "safe". This story about the three German ciphers that have been unsolved since World War II is interesting. The codes resisted the best efforts of the Allied cryptographers Bletchley Park during the war but one has finally been solved by a grid computing effort like Seti @ Home: The advancement in German encryption techniques led to significant Allied losses in the North Atlantic throughout 1942. The three unsolved Enigma intercepts were published in a cryptography journal in 1995 and have intrigued enthusiasts ever since. …Mr Krah told the BBC News website ...

CoolCommands for Visual Studio 2005 adds a lot of useful commands to the right click pop-up menus Solution Explorer commands: Copy / Paste of References Command Prompt Here Reference manager Resolve Project Reference Code editor commands: Demo Font Wheel Font Sizing Open Project Folder Send by mail Open File Locate in Solution Explorer The magnifier is better for presentations but the demo font is great if you have to just have step through code with someone. Via Greg's Cool [Insert Clever Name] of the Day

Francesco Balena has released all the sample code from the book Programming Microsoft Visual Basic 2005: The Language online. Tons of high quality VB.NET code that includes; several custom iterators for better For Each loops tons of examples with generics an example of how you can intercept ANY event from ANY set of Windows Forms controls attribute-based benchmarks a complete infrastructure for writing Windows Forms plug-ins several Visual Studio macros ... Francesco's post has more info and a link to the download

WMI Code Creator is a great tool for exploring and working with Windows Management Instrumentation. Not only does it allow you to browse the name spaces but it also generates code in VBSCript, C# or VB.NET that you can use in your projects. The download includes the full source code (~10.000 lines of C# code) Using the tool, you can query for management information such as the name and version of an operating system, how much free disk space is on a hard drive, or the state of a service. You can also use the tool to execute a method from a WMI class to perform a management task. For example, you can create code that executes the Create method of the Win32_Process ...