- Family and Friends
Archive for category Software
If you’re frequently debugging web traffic (http/https) you may want to take a look at Fiddler:
“Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.
Fiddler is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more.”
… like on two of my machines – try this:
– At least on my machine it now installed the updates flawlessly.
I just updated the blog software on schrankmonster / technology-ninja to a more current version hopefully resulting in faster page loading times and less cpu usage on my webserver.
If you experience any problem from now on, please talk to me – comment this article.
Thank god there’s now a .NET Compact Framework profiler available – we can now start to optimize our compact framework applications – and the best of the story: this one works well and is completely free.
- The EQATEC Profiler is a code profiler, not a memory profiler.
So it’s all about making your app run faster, not about tracking
objects and memory.The report will tell you exactly how many times each method was
called and how long it took. You can then speedup
your application by optimizing just the most expensive methods.
- The profiler and viewer are very easy to use. The viewer
in particular has been designed to make digging into the
report easy and useful.Instead of
“percent of total execution time”-bars and filters and stuff that look fancy,
but are often useless in practice, we’ve made it easy for you to see and navigate to
what really matters: the most expensive methods and their context.
- The overhead depends on the instrumentation-level and
the application itself, but typically
your app will only run 20-40% slower and become 30-50% bigger. This low overhead means you’re usually able to run your app just like
normal, even for timing-critical code.
- “-and free means crap, right?”
Well, not always. You know, some users have actually taken time to write us saying that we ought to charge them for this kind of
quality tool. Really, its true!
However, for now we’ve decided not to.
Source 1: http://www.eqatec.com/tools/profiler/features
There’s a lot going on in the world of opensource these days – but it seems that not the development side of things is discussed most of the time in some projects – it’s the social side, the “I want this, you want that, I don’t like you”-side of things.
Ever so often some opensource project split up and do a “fork“.
These are just two examples for your reading pleasure and studies of human behaviour:
1. Project Pidgin:
Well – the developers and users of project pidgin are not able to reach a consensus on the question how their beloved software should look like and behave. Believe it or not: There’s a project fork and a hefty discussion just on the question wether or not the Chat Input Text field should be resizable or not.
This picture should visualize the problem:
The developers did not want to make it resizable, the users wanted it to be resizable. Problem – Discussion – Fork you!
You can read the whole story here.
2. Project XBMC / OSXBMC
OSXBMC is the team that forked in this example: They develop – aside of the main XBMC team – the Mac OSX port of the Xbox Media Center (which actually runs on Xbox, Linux, Windows, OSX now).
Obviously there were hefty discussions going on with the main XBMC team. Mainly because teh XBMC main team thinks that the OSXBMC guys didn’t check-in their source changes often enough.
You can read one side of the story here and click you through to the other side.
The problem with these forks is not the fork itself but the way the people in these projects seem work with each other. Many very promising projects died because people just could not work together…
As far as I am concerned: For opensource projects I prefere the maintainer-scheme that for example the linux-kernel uses. Have one gracious dictator who has the final word about the release and people that maintain different parts of the project.
I just found that Mozilla Firefox plugin that allows me to blog from the Mac (which still lacks a great and compatible blog-tool for this site).
If you can read this text AND if you can see the picture – everything worked fine.
There’s this tool called “Processing”…apparently you can create stunning things with it:
The video was created by flight404 using Processing…
“Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.”
“”Zak McKracken: between time and space” is an unofficial sequel to the adventure game “Zak McKracken and the Alien Mindbenders” released in 1988. We, the “Artificial Hair Bros.” have devoted our time to create a worthy follow up to this all-time-classic. Capturing the mood and of the original game and creating something new nonetheless.
It’s been a while since Zak’s last adventure. People have forgotten all about our hero who saved humanity from enslavement. His five minutes of fame went by way too quick and the money he earned with his award winning book went down the drains when Zak decided to get his own newspaper off the ground.
But now Zak has to prove his worth once again. Stumbling into his next adventure, Zak gets yet another chance to show the world what real heroes are made of…
Why a sequel to ZakMcKracken?
Zak McKracken is one of the few adventure games that never got a proper sequel. There are no high-res backgrounds and no sweeping soundtrack, this left us with a lot of freedom when we started working on this game.
Handmade backgrounds, elaborate cut-scenes
We think that hand-drawn backgrounds made some of the old adventure games something very special. This is why we decided to keep the gameplay stricly 2D. But Zak:btas isn’t just a pixel-adventure, we have created the scenery and characters in our own graphical style and added 3D cut-scenes to add some diversity.
How long did it take to develop this game?
Work on the project began in 2002. In the beginning starting out as an amateur-game, we soon found ourselves reaching higher levels of quality step by step. By the time we are done 5 years of hard work will lay behind us.
What problems had to be solved when making this game?
One of the biggest challenges has been recruiting a team one could rely on and keeping the members of the team motivated to work on their respective parts. Unfortunately not everyone is motivated and passionate enough to work on a project for free over such a long period of time. But we were lucky enough to find reliable members for each part of development. You really do need a good working team to master a project like this.”
If you thought that those fancy Captchas would serve their purpose of SPAM prevention forever you might want to think again.
“A CAPTCHA (IPA: /ˈkæptʃə/) is a type of challenge-response test used in computing to determine that the user is not run by a computer. The process involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are unable to solve the CAPTCHA, any user entering a correct solution is presumed to be human. A common type of CAPTCHA requires that the user type the letters of a distorted image, sometimes with the addition of an obscured sequence of letters or digits that appears on the screen.”
It usually looks something like that:
Now the news:
“Websense Security Labs ThreatSeeker™ technology has discovered that spammers in their recent tactics have drawn their attention towards traditional and infamous Hotmail, aka Live Hotmail services after the streamlined Live Mail Anti-CAPTCHA operations. Spammers have managed to create automated bots that are capable of not only signing up and creating random Hotmail accounts, but also use these accounts for spamming purposes from a proper Live Hotmail service.”
It’s been some time since I wrote about my little digital video disk recorder project and I think it’s time to wrap up some things. First of all I am using this software myself on a daily basis, having recorded about 1000 recordings in the last 4 months alone tells something. YAPS now is capable of handling multiple users – with each one having their own recordings and play-stop-positions.
Here are the new features in a short list:
- Electronic Program Guide (EPG) Integration (multiple transponders/streams if you like)
- Session Announcement Protocol / Session Description Protocol Integration
- Multi-User support with capability checking
- Cassini / ASP.NET Integration to allow ASP.NET web applications to run on YAPS
- WCF Webservice interface to expose video disk recorder internal data (recordings list, event list,…)
- Automatic and Reoccuring recordings
- several new graphics
The daily-build system is broken as of now but you can always grab the latest sourcecode from here.
For a complete changelog hit the jump.
Here’s the complete changelog since the last article about yaps:
- added %render_automatic_and_reoccuring_recording_table% keyword; the other recording table keywords don’t display automatic/reoccuring events
- added canAccessOthersRecordings capability and capability handling
- added %holdingtime%, %comment% and %elapsed_holdingtime% to the Recording/Recorded/AutomaticReoccuringRecording table
- added %render_currently_running_epg_events_table% keyword
- added Session Description Protocol parser
- added Session Announcement Protocol setting data (SAP_IPAdress, SAP_Port)
- added Session Announcement Protocol processor
- bugfix attempt to fix a race condition that leads to no RecordingList rendering and no more recordings…
- added WCF Service Host to allow self hosting of data
- switched to .NET Framework 3.5
- added feature that automatic EPG recordings end when they do end on the channel – Event EndTime is used now
- rewrote Cassini Webserver integration
- fixed a bug in the Template Processor that caused a display of the runtime as fraction of minutes…
- automatic epg recordings are now looking at the channel id and if it’s set they only record events on that channel
- automatig epg recordings are now looking for a timespan in which they are active
- recorded listing template processor is now aware of automatic recordings (icon, time rendering)
- added automatic epg wait icon on recordingslist html page
- changed automatic epg recording to take the real name from the epg instead of the one that was entered
- Recording data structure changed to reflect new “automatic epg based recording” feature
- added automatic EPG recording feature; based on “AutomaticEPGRecordingKeywords”
- changed Tuxbox Implementation to show channel ID on Xbox Media Center
- changed addrecording.html and http vcr command handling (addrecording) to reflect automatic epg recording feature
- implemented automatic epg based recording; just enter keywords + recordingtime + name + isAutomatic=true –> Automatic recording
- changed EPG error handling to only stop listening to EPG events when 25 errors in a row occur
- changed EPG handling to display new events on unknown service ids
- fixed holding-time bug
- updated neu.png
- added Holding-Time Handling
- added reoccuring event handling in VCRScheduler
- added reoccuring event handling in HTML page AddRecordings
- updated years and version numbers
- bugfixed RecordingsPlayed statistics
- updated Recordings-Table to reflect status if recording is reoccuring or not
- added SVG Files for all YAPS graphics
- updated solutions to Visual Studio 2008
- Added HoldingTime to make “forget to delete a recording” impossible; HoldingTime of 0 is indefinite, everything else means hold n+1 days
- Changed behaviour of Recordings Streaming: The StopPosition Counter is updated in realtime which means: You don’t have to close a recording to watch it from the current Position
- added Cassini Wrapper
- integration of Cassini v2 into YAPS
- added some statistics
- added a new management data structure to the data structures/Recording.cs that holds a list of UserStopPosition; Each User now has his own LastStoppedPosition for each recording.
- added RecordingsThumbnail class to generate a Thumbnail picture for a recording
- added generateThumbnailFilename to XBMCPlaylistFilesHelper
- added thumbnail creation and deletion routines to multicast_vcr and others
- udpating thumbnail when playcounter/position is updated…
- added “Updating recording…” console output
- added isRTP property to channelist (default value is false); you can determine if RTP header should be stripped or not for a specific channel
- fixed a bug in the /xml/CurrentServiceData section that caused an exception when no EPG data was known
- added error handling to the EPG Processor Thread; after 25 errors a thread will be shut down
- added /cgi-bin/zapto to http handling
- added /xml/streaminfo to http handling
- added Name2ServiceID to ChannelAndStationMapper
- added TuxboxCurrentServiceData structure and handling
- added /xml/currentservicedata method to http server
- added /xml/boxinfo method to http server
- added boxinfo data structure
- several changes for debugging purposes to the YAPS multicast processor to debug a specific problem
- fixed a thread unsafe bug in multicast processor
- fixed several more thread unsafe things in multicast processor and vcrscheduler
- changed behaviour: If a streaming client now refuses to accept data packets he will be disconnected after 1 second (until timeshift is implemented)
- fixed a bug in VCRScheduler that could lead to a crash on startup (was not threadsafe)
- added %rendertransformation($input_url,$xslt_url)% keyword to the TemplateProcessor
- fixed a memory leak in the rss generator
- added TuxBoxServices data structure
- added tuxbox /xml/services call handler to http processor
- changed the MulticastEPG source data handling so that the multicastEPG Sources are now stored in the settings.dat.xml (misc settings) file
- fixed a bug in the EPGProcessor that caused an empty CurrentlyPlayingList
- added small testing portion
- fixed some bugs in http server
- rewrote tuxbox services data structure and handling (helping hand: Andreas Heil)
- reimplemented the whole Channel-Name-Picture-ServiceID-MulticastIP-MulticastPort Mapping and created a new data structure and XML file that holds that data
- added filtering functionality to the EPG Processor that filters only known channel EPG data and discards data for unkown channels
- fixed the XBMCSyncProcessor bug; I had the file deletion functionality disabled….
- added the multicastedEPGProcessor Implementation, does maintain a CurrentlyRunning List but is not used yet (Implementation just for leak and stability testing)
- added new Channel/StationID mapping data structure
- removed JMS/DVB subproject
- several changes to the JMS/EPG subproject to make JMS/DVB obsolete
- working EPG implementation (not yet activated) — need to get working
- now displaying associated username instead of IP address in the http logfile
- added EPG Processor startup to YAPS.cs
- fixed a design bug in console_output.html
- fixed a false css reference in all templates
- added JMS Namespace DVB.NET Libraries (http://www.psimarron.net/DVBNET/html/download.html)
- added EPGProcessor
- fixed a bug in the XBMC Playlist File branch; XBMC Playlistfiles respect now a port number setting != default port 80
- changed multicast behaviour: we don’t use RTP from now on; there’s just plain UDP
- added new EPG test data
- fixed a bug in multicast_vcr
- fixed DeleteRecordings; did not work for several versions – you can now delete scheduled recordings
- fixed a bug in the ConsoleOutputLogger that leads to a “Collection was modified after the enumerator was instantiated.” exception when the logoutput is accessed while it’s written
Source 1: http://www.dotnetcommunity.de/yaps/yaps_daily_source.zip
Source 2: http://www.schrankmonster.de/PermaLink,guid,71a24ec5-8576-4fe6-b5f5-8607017e5f00.aspx
When you’re in need of a tool that shows you the differences between two binary (non-text) files you probably would like to take a look at AptDiff.
“AptDiff is a visual text / binary files comparison and merging utility for Windows 2000/XP/2003/Vista. It is highly useful for software developers, web designers and other professionals.
AptDiff features a double-pane view that allows for side-by-side comparisons, with customizable color-coding indicating whether each line/byte is added, deleted, or changed. AptDiff can also export the side-by-side comparison to a nicely formatted HTML page for publishing on the web.
AptDiff can be installed on FLASH or other portable drives. All user configurations are saved in the movable drive. You can carry AptDiff with you wherever your travels or business take you and run it on almost any computer.”
There’s a new version of Dot.Tunes out which is now available for free. That’s good news and if you ever wanted to access your iTunes Library and you were not in Bonjour range…try this great tool!
“DOT.TUNES is not some lightweight iTunes utility. It’s a fully developed web server application that supports MP3, AAC, AIFF, WAV, MPEG, MP4, and MOV files, allowing you to share your iTunes library contents with your friends in other cities, your classmates across the dorm or the coworkers scattered throughout the building. DOT.TUNES contains a custom web server designed specifically to serve the audio tracks from your iTunes at lightning fast speeds. Through seamless integration with your iTunes base, DOT.TUNES easily handles large libraries without missing a beat.”
I tried it and it’s working quite well – especially if you consider that there’s a bunch of plugins available.(which you have to pay for)
OMG! Someone really did it. Either he was bored and didn’t know what to do with his time or he just is plain genius!
Read the article and get the Excel files and play with it for yourself…
The last time I wrote about Singularity was in 2005 when the first news came up… and now:
For all those source code kids – the sourcecode of Singularity – the research operating system written by people at Microsoft Research completely in .NET is now available.
from the Microsoft Research Overview page:
“Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity), extending programming languages, and developing new techniques and tools for specifying and verifying program behavior.
Advances in languages, compilers, and tools open the possibility of significantly improving software. For example, Singularity uses type-safe languages and an abstract instruction set to enable what we call Software Isolated Processes (SIPs). SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel’s address space.
Singularity uses these advances to build more reliable systems and applications. For example, because SIPs are so cheap to create and enforce, Singularity runs each program, device driver, or system extension in its own SIP. SIPs are not allowed to share memory or modify their own code. As a result, we can make strong reliability guarantees about the code running in a SIP. We can verify much broader properties about a SIP at compile or install time than can be done for code running in traditional OS processes. Broader application of static verification is critical to predicting system behavior and providing users with strong guarantees about reliability.”
You can even watch a small movie about Singularity here:
Since two of my colleagues wrote about their work at Microsoft Research I wanted to write at least something about it…just like Andreas said:
“One reason I recently don’t blog too much is the fact that I am a bit restricted in what I can tell. Being involved in some exciting projects, the confidentiality of these projects does not allow much publicity.”
So really the only thing I can write about is that I am honored to work with these great people and being part of the process of creating great software.
So – for now I am on my way back to Cambridge – the next article will be written from there…
Of course I will write about all the things when I am allowed to do so…
Source 1: Martin Calsyn
Source 2: Andreas Heil
Source 3: http://research.microsoft.com/ero/
The standard nerd knows: physics is fun. Even better: When you play with gravity and friction and water an what-not in a sandbox. Now there are several tools available that allow you to do just that: Play with physics.
The first tool is called “phun” and is Windows and Linux only. It’s a small tool that allows you to draw circles, boxes, springs,… and when you finished: press the “play” button to start the simulation. You can interact all the time with the objects and the simulation by draging and manipulating everything.
There’s even a video available of phun in action:
It’s serious fun…that phun tool… yeah I had to write that, you know?!
The second tool I want to write about is called “Chipmunk” and is available for OS X only. To be fair: this is not a real drawing tool like phun – it’s more or less a game physics engine that cames with several samples in sourcecode that you can play with if you can… You need XCode and some Objective C knowledge.
So now go and play!
Source 1: http://www.acc.umu.se/~emilk/index.html
Source 2: http://wiki.slembcke.net/main/published/Chipmunk
Unfortunately I only had the time to get into the last day of the ready.for.takeoff Launch Conference for Windows Server 2008, Visual Studio 2008. It took place in Frankfurt/Main in Germany from the 19th to 21st February 2008 and it surely was a great event.
Besides the real great tracks there’s this little thing every participant got:
Just minutes ago I was pointed to an application that replaces the Windows Mobile today screen (and many other features) and comes along with all sorts of next-gen Touch Controls:
“After grinding our teeth with enterprise mobile systems, we came to the conclusion that end users need applications that focus on usability, performance and consistency.
Pointui (pronounced point-you-i) has been built from the ground up and sets the benchmark in pioneering the delivery of total user experience, never before achieved on a Windows Mobile device.
Our main focus is structured around simplicity and usability while extracting the most out of your current Windows Mobile device. All products we develop forge stability and dependability while maximising performance.”
The thing is – these guys deliver on their promise:
If you’re a Windows Mobile user, go and try this piece of software – it’s free and small.
“Notepad++ is a free (free as in “free speech”, but also as in “free beer”) source code editor and Notepad replacement, which supports several programming languages, running under the MS Windows environment.
This project, based on the Scintilla edit component (a very powerful editor component), written in C++ with pure win32 api and STL (that ensures the higher execution speed and smaller size of the program), is under the GPL Licence.
This project is mature. However, as you can see it’s a one-man-project, there are still some bugs and missing features. If you have any question or suggestion about this project, please post them on the forums. As well, if you have any feature requests, you can always make the demand, but there’s no guarantee that I’ll implement it.”
Oh last year I worked with many different companies that thought that the best thing they could do to increase their availability is to outsource their complete webserver and storage infrastructure to Amazon.
Now last week there was this 2 hour black out of parts of the Amazon S3 infrastructure which should have this “wake up call” effect for most of those hype-believers.
S3 is great for all sorts of applications but you – like in everything IT – really shouldn’t depend on just one service provider.
There is AvantGo and several other news and widget services for Windows Mobile but now there’s another try by Zumobi. This one the user interface is kind of cool but …
“Zumobi is new and free mobile widget application that lets you enjoy entertainment and information content delivered to your phone in an innovative and fun way.”
Take a look at this short demo/review:
I installed and tested it. But since it really does need an unlimited data plan (which I don’t have on my phone right now) I uninstalled it shortly afterwards. Actually I suggest using EDGE or better UMTS because it’ll speed up things significantly.
One of the great good news in the last few days was the release of the brand new TrueCrypt 5 crypto-software.
I am using TrueCrypt for years now getting little and not so little container files mounted as drives and having the data warm and cosy encrypted on disk.
The long awaited features that were added in the brand new version are complete system – pre-boot authentification – drive encryption and OS X support.
Especially the system drive encryption is of particular interest for me. It’s a straight forward and completely painless solution to encrypt your complete machine and use it as if nothing was done at all.
The workflow is like this:
- Install TrueCrypt 5
- Fire up the TrueCrypt Volume Creation Wizard
- Select “Encrypt system drive” option
- It will do a test-run to make sure your machine can boot with the TrueCrypt Pre-Boot Authentification
- if everything worked out, TrueCrypt starts to encrypt your drive…
After that you’re set. On my brand-new machine the speed does not decrease noticeable – Even on my 4 year old machine I wouldn’t say that there is a slow-down at all.
If you are – just like me – still using the very good and always updated Xbox Media Center for your slightly hacked XBOX 1 console you should take a look at the new XBMC.org website:
Not only that these guys a making a great job creating the best Media Center that I’ve ever was allowed to use, they are even porting it to different platforms:
“It’s currently being ported to both Linux (x86 Ubuntu 32bit) and Mac OS X. Team XBMC is looking for talented developers to help with this effort.
Official XBMC software application names:
- XBMC for Mac OS X
- XBMC for Linux
- XBMC for Xbox “
That means: If you have a OS X or Linux box, you should visit the site too and take a look at the (early) snapshots of XBMC for your platform.
…it starts to show off:
I really don’t know why it would display that much used memory…but it does and it even displays it in different positions… sometimes it’s physical memory, sometimes virtual… weird.
It’s been a long time since my last blog entry – but here it is:
One of my favourite “we’re-just-a-bunch-of-fanboys”-site is mactechnews.de. These guys are always on the line when it comes to Apple and their beloved hard- and software but something strange happened a few days ago: they relaunched their website which is now a from-the-scratch rewrite with all new Ajax and what-not. The point is though: They did not only rewrite it, they did make a choice.
Now mactechnews.de is based completely on Microsoft .NET and ASP.NET 2.0 powered by Windows Server 2003 machines…
Once every while I want to know how many lines of code I’ve written so far. And because I did not find a well working and integrated tool for this job yet I was searching one everytime. But it seems that I’ve found the tool: it’s called “Line Counter” and it’s Freeware. It’s a Visual Studio Add-In which means it’s fully integrated.
And it does the trick:
You can even get the sources of this Add-In. Go and enjoy!
With every UMTS/3G card comes a tool that tracks your connection information, your traffic and everything… and it looks like this for a Vodafone UMTS card:
That’s not even close to cute and well useable. So someone took the task and created this:
A small tool that is compatible with almost any available UMTS/3G hardware on earth and has these features:
tiny executable: 0.3 MB, very little CPU load
- permanently displaying:
- up- and download speed in kBytes/s, used data volume in kByte (with round option), used online time (with round option), mode of operation UMTS(3G)/GPRS, signal strength in percent and dBm, network name and cell id (if provided by pc card), homezone status
- movable mini window with information display:
- sitting on the task bar, at upper screen border, in front of the start button, as dynamic tray icon with gauges
- warning when exceeding data volume or online time
- optional beep output for signal strength,network change and cell change
- manual or automatic selection of network and mode
- optional warning when using not listet networks
- determination of receivable networks
- retrieve and charge prepaid credit
- start/terminate connections,start extern programs such as Browser or Ping, reconnect after errors/freezes, generate network entry, dynamic com port determination
- adjustable connection error tolerance
- connection test by “smart Ping”
- SMS reception can be activated
- PC remote-control by SMS
- SMS transmission by batch job
- logging of data volume and connection information
- connection statistics as semigraphics
- timer for program end or shutdown
- deactivate graphics compression (some networks)
- service terminal for data card commands
- shows data card netlocks
- service log for data card control communication
- for Windows 2000/XP/Vista/embedded
And the best of all is that this is a freeware tool. Unfortunately it’s not available for OSX.
Switcher is the name of the tool that is available since some months and if you ever used Flip3d in Windows Vista you maybe know what it means when I say: Switcher is the Flip3d that should have shipped with Vista.
There are several usability issues with Vistas built-in Flip3d, take a look:
First of all you just don’t see the content of the windows… then you don’t see their name… then… who came up with that layout?
Compare that to the UI of Switcher:
Neat, isn’t it? Try it, love it.
When I first saw a review of “Microsoft Windows Home Server” I was impressed by several features. One that I never thought about is that little icon on each Home Server client that shows you the overall status of your home network:
This little icon can look like this, depending on the status:
As you can see – it’ll give you a clean and fast status by telling you that everything is okay on your network or that anything needs your, maybe immediate, attention.
I am administrating round about 12 Windows servers and I always looked for a clean and easy to use tool to monitor them. So I came up with a plan: Build my own tool.
Since I am extensivly using Windows Communication Foundation in the last weeks I was intrigued to try it on that matter. So I built a WCF selfhosting service that makes the eventlog of the machine it is running on available. Then I built a small client that fits nicely in your tray. I am not quite done yet but it’s a good start.
As you can see. There is the Host, running on the server and making all Eventlogs of this machine available. Then there is “SmallClient” – being exactly this: a small client for testing purposes only. And thirdly there’s the EventLogClient – giving you the full blown user interface…
This is how it looks when you add a server to the client:
And this is how it looks when you configure a filter:
I thought it would be nice to have this workflow:
configure/add the server and select the eventlog that you want to monitor
create and configure a filter that is matched upon the particular eventlog source
For the icons (see above) I used one of the icons from the Tango Icon Gallery as a starting point and added some color and stuff.
So why do I even talk about all this? I want YOU to take the code and use it…add more functionality…I am releasing the code(except the icons) under the BSD license. So you can do almost whatever you want with it – but I would love to hear about the things you’re doing with my code and idea.
You can download the sourcecode of my little project here. (200 Kbytes)
The Team Foundation Server 2008 Feature list is finalized and available… read it here:
“Administration, Operations & Setup
- Share Point 2007 support
- Enable use of Sharepoint on any server and any port
- Support for MOSS 2007
- Enable support for Reporting Services on any server and any port (new) (RTM)
- Support for SQL Named Instances – This will allow customers to share a SQL server between multiple TFS instances, or with other applications. This has been a commonly requested feature by enterprises.
- “Longhorn” server support – TFS will support the next version of the server (and corresponding new version of IIS) that is currently under development.
- Sync Large Groups – This is a set of work to improve the performance and robustness of TFS’s handling large groups of users (~30,000 or more) granted permission to a TFS instance. Today this can result in a support call to recover from it.
- Non-default ports – We’ve gotten a bunch of feedback from enterprise customers about TFS’s limited support for alternate web sites and ports running afoul of data center policies. We are going to be improving TFS’s configurability in this respect in Orcas.
- Simplify installation – In Orcas, we will be doing a variety of things to attempt to make installing TFS easier and quicker than it is now. Improvements include eliminating the separate data-tier installation, simplifying the requirements around required domain accounts by supporting the built in machine accounts (like Network Service) where we can, etc.
- Official testing and support for more configurations – This includes clustering, mirroring, log shipping, Virtual machine deployment, and more.
- Support for client certificates
- Upgrade from TFS 2005
- Support for SQL 2008 (aka Katmai) (new) (RTM)
- TFSDeleteProject now permanently deletes (destroys) version control content (new) (RTM)
- New role for many operations activities (new) (RTM) – You don’t have to be server administrator to run many of the admin utilities any longer.
- Enhancements to tfsadminutil (new) (RTM) – New capability to configure accounts, connections, etc on both TFS and the TFS proxy.
Build (more detail)
- Support multi-threaded builds with the new MSBuild.
- Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.
- Improved ability to specify what source, versions of source, and other build properties.
- Improved extensibility of the build targets – such as ability to easily execute targets before and after each solution/project is built.
- Improved ability to manage multiple build machines.
- Stop and delete builds from within VS.
- .NET Object model for programming against the build server.
- Simplified ability to specify what tests get run as part of a build.
- The ability to store build definitions anywhere in the version control hierarchy.
- Scheduled builds – You can schedule builds to happen at specified times.
- Improved build agent communication – We replaced .NET binary remoting with WCF web services, simplifying some configuration and security aspects.
- Ability to run GUI tests as part of a build – Automated builds used to run tests in such a way as to prevent access to a GUI desktop.
- New checkin policy for broken CI builds – Preventing checkin while the CI build is broken.
- Support for HTTPS communication to the TFS server (new)
- Continuous Integration build checkin policy (new)
- Support for incremental gets and builds (new)
- Add support for checkin policy overrides to the warehouse – an oversight from V1.
- Migration toolkit – A toolkit for building conversion and mirroring solutions between TFS and other systems. In addition, we will release one or more new tools to integrate with popular alternative systems.
- Annotate – This is based on the TFS Annotate Power Tool but includes numerous improvements.
- Folder Diff – Also based on the TFS Tree Diff Power Tool with numerous improvements.
- Destroy – The ability to permanently delete version control files/folders from TFS. It can also be used to destroy the file contents while preserving the change set history.
- Get Latest On Checkout – There have been many requests for this feature (which was a change in behavior from SourceSafe). There is now an option that allows you to specify that you want TFS to download the latest version of files when you check them out.
- Workspace improvements – Workspaces will now support mapping a folder or file under a cloaked folder and wildcard mappings so that you can map all files in a folder without mapping sub folders. Based on experience with large projects, this will simplify workspace definitions for many people.
- Performance improvements – A variety of Version Control performance enhancements that will improve virtually all aspects of version control performance. The gains for smaller servers/projects (< 10,000 files) will be modest. The gains for larger projects (particularly where the file count approaches 100,000’s) will be substantial.
- Scale improvements – Fixed out of memory problems on the server when operating on more than a few hundred thousand files at a time.
- Offline improvements – We’ve signficantly improved the experience going offline and integrated the tfpt online capability into the IDE for going back online.
- Extranet support for the TFS Proxy – allowing you to access a local TFS proxy with a different set of credentials than the TFS server.
- Command line help – You can now type “tf command /help” and get a console dump of the usage of that command. This is much more convenient than always being launched into the richer GUI hypertext help when you just want to remember what the options for a command are. You can still launch the GUI help by running “tf msdn”. You can get a console dump of available commands by just typing “tf help”.
- Source Control Explorer refresh improvements – This includes less redrawing and reloading but even more important it enables updates based on changes made in other instances of TeamExploror or the command line. That’s right, if you checkout a file from the command line, any instances of TeamExplorer you have running on the same machine will automatically refresh.
- Async loading of the Source Control Explorer (new)
- The SCE local path can now be selected and copied (new)
- Merge improvements (new) – Improved the logic that detects merge conflicts to generate fewer false positives and handle more scenarios.
Work Item Tracking
- Performance & Scale improvements – A variety of improvements that will make both the work item server and client faster and able to handle larger servers.
- Query builder usability improvements – Drop down filtering based on current project, better MRU lists, column drag & drop, shift-click mouse based multi-column sorting, etc.
- Attachments improvements – Save button, drag & drop for adding an attachment, multi-select for attaching files.
- Tooltips on field names contain the field name used for querying
- Server side support for deleting work items & work item types – We didn’t have time to do client UI support for it but we plan to release a Power Tool that will take advantage of the new server side feature.
- Support for security on the iteration hierarchy (new)
- Adding Web Access UI to TFS – As you’ve seen many places, we acquired devBiz and their TeamPlain Web Access product. We are releasing it as a Power Tool in the next few months and plan to release it as an official product in the Orcas timeframe. We have not figured out how the release date will line up with the Orcas date but it will be in the same general timeframe.
- In addition to all of the feature work, we’ve spent months testing the product and fixing any bugs we’ve found. We expect Orcas will have even better stability and robustness than TFS 2005.
Compatibility (no change since last time)
As Orcas is an adoption focused release, we have put a lot of emphasis on compatibility with VS2005. We are striving for near 100% compatibility. The Orcas client will be able to work with a VS2005 server and a VS2005 client will be able to work with an Orcas server. There are only a few compatibility issues.
- Client side VS add-ins will need to be recompiled (or have policy changed) because the TFS OM assembly versions will change and add-ins will need to bind to the new assemblies. The APIs themselves are generally not changing, so we don’t expect much in the way of code changes – just recompilation.
- Build is the only area where we plan to have some compatibility disconnects. In general, most build operations – listing build definitions, starting and stopping builds, examining build reports, etc. will work both with 2005 client -> Orcas server and Orcas client -> 2005 server. However, here are a few caveats:
- An Orcas TFS server will only work with an Orcas build server – so you’ll need to upgrade your build server when you upgrade your TFS server.
- For an VS2005 client to start a build on an Orcas server, the build definition needs to be stored at $/
/TeamBuildTypes/ . In Orcas, you have more flexibility as to where to put them.
- Changes made to properties in the .proj file that are in the database in Orcas will not be updated in the database and will no longer be in sync.
- VS2005 will be able to start a build, but it can’t queue a build, see the list of builds in the queue, see the list of build agents, etc.
- An Orcas client will not be able to create a new build definition on a TFS2005 server.
- When starting a build, an Orcas client will not be able to change any parameters in the dialog for a TFS2005 Server.”
I just started the formating of a 3 Tbyte truecrypt volume which is located on a Promise Vtrak m500i connected via 1 Gbit/s iSCSI…
This is some serious big truecrypt volume, isn’t it? (at least today it is…)
As ususal here’s the schematic overview of the things behind the curtain:
I am currently involved in a very interesting project which utilizes a massive load of threads and in-memory data structures. The downside if this is of course: how on earth do I make that thread-safe?
Along the journey I stumbled upon Ralf Westphals thoughts and code on that matter. Ralf comprehensively writes about a technology called “Software Transactional Memory“. “What’s that?” you may ask. And here’s the answer provided by the wikipedia:
“In computer science, software transactional memory (STM) is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing. It functions as an alternative to lock-based synchronization, and is typically implemented in a lock-free way. A transaction in this context is a piece of code that executes a series of reads and writes to shared memory. These reads and writes logically occur at a single instant in time; intermediate states are not visible to other (successful) transactions. The idea of providing hardware support for transactions originated in a 1986 paper and patent by Tom Knight. The idea was popularized by Maurice Herlihy and J. Eliot B. Moss. In 1995 Nir Shavit and Dan Touitou extended this idea to software-only transactional memory (STM). STM has recently been the focus of intense research and support for practical implementations is growing.”
It seems that this different approach to in-memory data management could a solution for most of the difficulties I and maybe you might have with thread safe programming. Even better: it make the code easier to read and is completely written in C#.
Since I am still in the evaluation phase if or if not to use the NSTM implementation, I will keep you posted on that matter in future updates.
Source 1: http://weblogs.asp.net/ralfw/archive/tags/Software+Transactional+Memory/default.aspx
Source 2: http://en.wikipedia.org/wiki/Software_transactional_memory
Source 3: http://www.codeplex.com/NetSTM
So here’s the problem I had: There is an Exchange 2007 server I am forced to use for some of my daily work and that’s where the problems start: Due to the work of some evil geniuses there’s a load of user and security policies associated with that server. That’s not a problem per se: It’s just that things like “forward all mails to this account” don’t work. You have to use Outlook Web Access or the heavyweight Outlook to get to your mails… Till today I had an Outlook 2007 running on my private IMAP mailserver machine just for the purpose of downloading all the mail from the Exchange server to the local harddisk. I had setup a client-rule to copy all the mail to my IMAP server but despite the fact Outlook is running on the exact same machine as the IMAP server it just did not work for more than 1-20 messages… connections were lost and stuff screwed up. So I had to move all the messages manually (Select-All -> Drag-n-Drop onto the IMAP folder inside Outlook) which took me quite some time each month.
Two days ago I read an article where namenlos wrote about his journey with his employers Exchange server. He wrote a Python script that did the job for Exchange 2003 by using the WebDAV features. These features unfortunatly are deprecated in the current 2007 release of Exchange. So I decided to write a tool in C# that does the trick and uses the brand-spanking new Exchange 2007 Web Service.
The Exchange 2007 SDK is a wasteland to say the least when it comes to documentation. It took me some time and a good search engine to get to something useful out of it. But I think it’s worth the pain: When you got over the first annoying steps you’ll just like me will start to love the possibilities this Web Services give you.
In my case I am using the webservices to do these things:
allocate my inbox and obtain a listing of messageIDs
get the complete messages out of my inbox
reformat the messages and send them via smtp to my own mail server
What I’ve written is not feature complete (as in: no attachements, …) but it’s a great and working start and does the 3 point-trick from above quite well. I will refine the code and add the missing features (e.g. attachements and stuff) in the future… or maybe you are faster than me. In that case it would be well appreciated if you send me your code/a link to the code (find my email in the sourcefile…)
Source 1: http://blog.slash-me.net/archives/235-fetchmail-fuer-MS-Exchange.html
Source 2: http://msdn2.microsoft.com/en-us/library/aa562613.aspx
Source 3: http://www.schrankmonster.de/content/binary/Exchange2IMAP.zip
There’s an interesting Windows PowerShell e-book available for free download. You can grab the e-book and the associated demos at Microsoft Switzerland.
Source 1: e-book
Source 2: demos
Maybe he’s just stupid…
“Orcas” represents a major evolution for Visual Studio and our suite of .NET languages. Who better to talk about what’s new in “Orcas” than our friends S. Somasegar (Everybody calls him Soma), VP of the Developer Division (the group that makes all of our development technologies), and Scott Guthrie, General Manager and one of Microsoft’s most prolific employees (now a senior manager, but he keeps his hands in the technologies he and team build and innovate).”
Get the video and all here.
Oh well…it’s getting more and more work in the last days. Since I cannot speak yet about the things I am doing lately I just can tell you it involves a trip to Vienna and a whole lot of coding work…
I wrote some test code for a project and after running that Test locally the Test Host process crashed. Oh well… seems I’ve written a Test for the Test…
Today I had a talk about IP-TV in our local research network – a project I am involved in the past year. And since I did some of the legal and coding work (YAPS) I was the one who wanted to talk about it the most…
First here’s the slidedeck:
The talk was recorded and you can watch it as soon as the post-production team has finished working on it – I’ll keep you posted.
Source: Slidedeck as PDF
I can remember that from a CES Keynote in 2006 or even 2005…in your face apple!
“Apparently in Windows Vista, Microsoft still enforce and hard-limit (hard coded in tcpip.sys) the maximum simultaneous half-open (incomplete) outbound TCP connection attempts per second that the system can make, as in Windows XP SP2, in order to protect the system from being used by malicious programs, such as viruses and worms, to spread to uninfected computers, or to launch distributed denial of service attack (DDoS). When the limit is hit, in Event Viewer, there will be such an entry:”
How to fix that and the needed tools can be read and downloaded here.
Source: Patch for EventID 4226
After about a week of “thinking about it” she bit the bullet and got herself a Nokia 5300. She wanted to have something that has some dedicated buttons for music playback control and she needed a new mobile phone. So the 5300 seemed the perfect match.
She wanted to sync her new phone with our Mac so we had to look for something that would allow that to happen. Apple iSync does not support the 5300 out of the box but there are several plugins available on the intertubes. One of them is free and does the job just like all the other ones that need to be bought. It’s called “iSync-Plugin 2.4” and is available here. Just grab it, drop it to the ~/Library folder and restart iSync. iSync should now recognize the phone…just like it did in our case:
This post is more of a reminder for myself. 😉 I need to remember that obviously great multi-track audio application that just became available.
“Ardour is a digital audio workstation. You can use it to record, edit and mix multi-track audio. You can produce your own CDs, mix video soundtracks, or just experiment with new ideas about music and sound.
Ardour capabilities include: multichannel recording, non-destructive editing with unlimited undo/redo, full automation support, a powerful mixer, unlimited tracks/busses/plugins, timecode synchronization, and hardware control from surfaces like the Mackie Control Universal. If you’ve been looking for a tool similar to ProTools, Nuendo, Pyramix, or Sequoia, you might have found it.
Above all, Ardour strives to meet the needs of professional users. This means implementing all the “hard stuff” that other DAWs ( even some leading commercial apps ) handle incorrectly or not at all. Ardour has a completely flexible “anything to anywhere” routing system, and will allow as many physical I/O ports as your system allows. Ardour supports a wide range of audio-for-video features such as video-synced playback and pullup/pulldown sample rates. You will also find powerful features such as “persistent undo”, multi-language support, and destructive track punching modes that aren’t available on other platforms.”
I wrote about geomerics approach on realtime radiosity lighting less than a year ago. They now have something to show and be proud of: Enlighten is there and they are working on porting it to the 360 and PS3.
Watch what’s possible:
Oh damn. So Apple said that Leopard – the next iteration of OS X – is coming in October instead of spring. I planned buying a macbook early this year but now I have to wait … Damn! I wanted to reorganize my hardware…
To make one thing clear: I do not buy a macbook because of OS X. I am buying it because it also runs Windows. Diversity is a good thing. I currently already own a PowerPC mac just because I wanted to see what all the fuss is about two years ago.
Well I always wanted to have something like that: An archive for old versions of software. Comes in very handy. Did you know that an old version of Winamp only takes 0.5mbytes of your memory to do the job?
“Sometimes upgrading to a newer version can be a good thing. Other times, your computer may not be compatible with the new version, the new version is bloated, or all the options you liked are no longer available. OldVersion.com has been supplying the online community with old versions of various programs since 2001. The service is utilized by thousands of users every day and has been featured in newspapers and magazines as well as on radio and television.”
There’s a free fan made Battlestar Galactica game available…
“Beyond the Red Line is a stand-alone total conversion for the award-winning Freespace 2 released by Volition and Interplay for the PC. It is based on the popular new tv-show Battlestar Galactica. No, not the one from the 70s.”
It’s free and available for Windows, OS X and Linux.
If you need one, take a look at this one:
“A free, full-featured, graphically laid out, high-precision, scientific calculator for Mac OS X 10.4 and greater. Full source-code is included with the distribution.
Ideal if you need to enter large expressions or have accurate precision. “Data” drawers allow an easy way to generate statistical data, linear regression and gaussian elimination. The extensive support of complex numbers and hexadecimal numbers is also a significant benefit for anyone who has to work with this type of data.”
When you’re using Windows Server 2003 R2 64bit Edition with SP2/IE7 you will most likely not be able to access the advanced settings of an Intel Network Interface card (Teaming, VLAN settings). Instead you get the simple dialog:
Damn it. I don’t have a solution for this right now and it does corrupt my plan using one of the servers for VLAN games….
Anyone reading this got a solution how to get the VLAN settings tabs back?