List of Blogs
Search Blogs
Blog Archive

Most recent blog entries

 

Author:MartinCreated:22.04.2007 07:12
Opinions about life, the Universe and Everything :-)

I'm team leader of the server development team at Swyx. Everything I say on this blog is my private opinion and not that of my employer.

November is close and with it the Leonids, a meteor shower related to comet Tempel-Tuttle. It is visible in November each year. But there might be other reasons than comets for this phenomenon:

Today I had lunch at Vapiano, a self-service restaurant chain. Their concept is to have restaurants at prime locations, modern design and nice ambiente, fresh, high-quality food limited to pizza, pasta and salad. They just save on waiter and waitresses. Prices are reasonable.

You get a kind of debit card at the entrance. Everything you order is stored on that card and you pay when you leave. You order at a bar and your meal is prepared in a few minutes while you wait. I had pasta with cherry tomatos, basil and parmesan. It was delicious.

This was my first visit, but definitely not the last one.

If you're wondering why some old blog entries are listed in the "recent entries" list. That happens if I edit them. I try not to do that, but sometimes there are errors or bad verbalizations I need to correct. The blog software lists blog entires sorted by modification date and therefore edited old entries show up at the top of the list again. Sorry for that.

If you use SwyxIt you know this message which pops up whenever you want to close the program:

To get rid of this annoying message add the following registry value:

Path: HKCU\Software\Swyx\SwyxIt!\CurrentVersion\Options
Type: REG_DWORD
Name: NoCloseDialog
Value: 1

Now SwyxIt! terminates without question when you close it.

George Takei who played Lt. Hikaru Sulu in Star Trek has an asteriod named after him: http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=7307. The International Astronomical Union approved the name change of asteriod 1994 GT9 this week. After Gene Roddenberry and Nichelle Nichols he's the third "Trekkie" to get this honor.

Congratulations.

Some days ago somebody asked via a comment to my blog entry about SwyxIt API and Powershell if it is possible to consume events from the API, e.g. to run a Powershell script when a call comes in. I tried it using the RCW interop.clmgrlib.dll which exposes the SwyxIt COM API as .Net Types. However, Powershell only supports a specific kind of delegates. A small script from the Powershell blog (get-delegate.ps1) seemed to help.

PS> [System.Reflection.Assembly]::LoadFrom("Interop.CLMGRLib.dll")PS> $clmgr = new-object clmgrlib.clientlinemgrclassPS> $cb = get-delegate clmgrlib.IClientLineMgrEventsDisp_DispOnLineMgrNotificationEventHandler {write-host $args }PS> $clmgr.add_disponlinemgrnotification($cb) That gives no error, but the {write-host $args} script block is never called. I suppose it has something to do with different threads. Notifications...

Read More »

Yesterday a colleague needed to decode a Windows security descriptor stored in the registry as REG_BINARY. It defines security for a COM object. I've used Windows Powershell to help him:

PS>$binSD = (get-itemproperty hklm:\software\Microsoft\Ole).DefaultLaunchPermission PS>$sd = new-object System.Security.AccessControl.RawSecurityDescriptor $binSD,0 PS>$sd ControlFlags           : DiscretionaryAclPresent, SelfRelativeOwner                  : S-1-5-32-544Group                  : S-1-5-32-544SystemAcl              :DiscretionaryAcl       : {System.Security.AccessControl.CommonAce, System.Security.AccessControl.Co                         mmonAce, System.Security.AccessControl.CommonAce}ResourceManagerControl : 0BinaryLength           : 124 That looks not so bad, but the access control list was the interesting item. Use this:

PS>$sd.DiscretionaryAcl | format-table AceQualifier, AccessMask,@{ Label="SID"; Expression={$_.SecurityIdentifier.Translate("System.Security.Principal.NTAccount")} },IsInherited,...

Read More »

Today when I came home, all LEDs on my Fritzbox were off. Short test with a voltmeter showed that the AC-adapter is ok. Looks like the router itself is broken. No router = no wlan and no internet. I'm disconnected from the worldinternet.

Fortunately, I had my old router stored somewhere in a box in my basement. Took about an hour to find it, to connect and to configure it. Now I'm online again.

Today, exactly 50 years ago, "Amok Time" the 5th episode of the second season of Star Trek, the original series (TOS) aired in the United States. In this episode Spock suffers from pon farr, a Vulcan mating urge. He dies when he does not return to Vulcan to marry his fiancé. The Enterprise traves to Vulcan, of course, to save Spock. 

Remarkable about this episode is the German version which aired in January 1974 on ZDF, the "Zweites Deutsches Fernsehen" (second german television channel). ZDF cut several scenes, changed the ordering and altered the dialog to avoid anything sexual. Spock just suffers from "Weltraumfieber" (space fever), as the epsiode was called. 

And Amok Time is the epsiode where Leonard Nimoy invents the famous vulcan greeting.

Live long and prosper

SwyxWare v6.02 uses the standard Microsoft .Net tracing capabilities for newer components. Tracing is control via TraceSwitch objects which are set in the application configuration file, e.g.

system.diagnostics>   switches>     add name="CDSClient" value="1" />     add name="GC" value="1" />     add name="MT" value="1" />     add name="PERFM" value="1" />     add name="IpPbxSrv" value="4" />     add name="PPool" value="1" />     add name="Files" value="1" />     add name="FileCache" value="1" />     add name="Report" value="1" />     add name="WSE" value="1" />     add name="SCT" value="1" />     add name="ChngMgmt" value="4" />     add name="ChngMgmtUser" value="4" />   switches> system.diagnostics>

I often have to change these settings on my development machine or on test systems. Instead of editing the file manually I use Windows Powershell: 

[0] C:\ PS ADMIN> get-traceswitch "C:\Program Files (x86)\SwyxWare\IpPbxSrv.exe.config" name value...

Read More »

Recently I had an email discussion with somebody which left me wordless. It was about some security permissions required to run a piece of software. I mentioned that the default settings grant too many privileges thereby violating the principle of least privilege. Using fewer privileges would be possible without reducing the functionality or user experience. But the person simply didn’t care. I thought that after years and years of security vulnerabilities, all software developers would at least have a sense of the importantance of writing secure software. Am I too naïve in thinking so?

Warning: Heavy technical content following

On Friday I tried to build a piece of software which is usually maintained by a colleague who’s on vacation right now. During build a tool is called which always crashed with a SecurityException. The reason was easy to find. My system’s executable search path contained a folder residing on a server in our network and the tool was xsd.exe, a managed code program. Per default managed code running from a network share gets much less permissions than running from a local hard disk. The technology behind this in the Microsoft .NET framework is called Code Access Security (CAS). It’s one of the most interesting features of the framework and has no counterpart in the unmanaged...

Read More »

Process Explorer, IMHO the best task manager for Windows has been updated to v11.0. It now offers even more information than before. On Vista you now can see the I/O and memory priority*) of a process and if the executable has Address Space Layout Randomization enabled. And the TCP/IP Port display in the process properties is working now on Windows Vista, too. I especially missed that feature after switching from XP to Vista.

 

*)On Windows Vista I/O and memory access can have different priority, too. For example the search indexer (searchprotocolhost.exe, searchfilterhost.exe) use lower i/o and memory priorities to not disturb you. There's a great three-part article series in Technet...

Read More »

Germany is one of the last european countries to ban smoking. And it's not one general law, but each of the 16 states ("Bundesländer") made it's own law and all are different. In addition there is a federal law which bans smoking from all federal buildings and public transport. The federal law came into effect today (September 1st, 2007), some state laws started a month ago, some will take longer.

In North Rhine-Westphalia (NRW) the "non-smoker protection law" (Nichtraucherschutzgesetz) will be in effect on January 1st, 2008. It forbids smoking in all public buildings, schools, hospitals, pubs, restaurants, public transports and recreation facilites. However, there are some exceptions, one of them allows smoking in "private smoking clubs" and I've already seen a sign at a small pub saying "From 1.1.2008 smoking club". But I doubt that this is an easy way out, and not many pubs will go this route. Most of them will probably see no or positive effects on their revenue, as in other european countries.

...

Read More »

When you create a callrouting script with graphical script editor which puts the call on ho