Gyrolabs

Random tools to make your life easier

Saving Silverlight Ink

July 19th, 2007 by admin

Recently I was doing a project that required a signature applet. Since silverlight has ink support it was the logical choice. However, after many hours of searching around, I couldn’t seem to figure out how to save the ink without programming in C#. So here’s a solution that can turn the ink from an InkPresenter into XAML and back into ink again.

getStrokesAsString = function(inkpresenter) {
var strokes = inkpresenter.strokes;
var buffer = "<inkpresenter .Strokes>";

for (x = 0; x < strokes.Count; x++) {
buffer += "<Stroke>" +
"<stroke .DrawingAttributes>" +
"<drawingattributes Color='#FF000000' Height='1.75' Width='1.75'/>" +
"</stroke>" +
"<stroke .StylusPoints>";
var curstroke = strokes.getItem(x);
if (curstroke) {
var sps = curstroke.StylusPoints;
for (y = 0; y < sps.Count; y++) {
buffer += "<StylusPoint X='" + sps.getItem(y).X + "' Y='" + sps.getItem(y).Y + "' />";
}
}
buffer += "</stroke>";
buffer += "";
}
buffer += "</inkpresenter>";
return buffer;
}
setStrokesFromString = function(inkpresenter, silverlightobj, strokestring) {
inkpresenter.strokes.Clear();
var allstrokes = "allstrokes";
var allstrokes = silverlightobj.content.createFromXAML(strokestring);
inkpresenter.strokes = allstrokes;
}

Sorry it’t not formatted nicely — wordpress stripped all that out.

Use the getStrokesAsString method to get a XAML string representing all the strokes; just pass it the inkpresenter element.

Use the setStrokesFromString method to transfer a XAML string representing the strokes into actual strokes on the canvas. Pass it the inkpresenter element, the silverlight object (usually window.silverLight), and the XAML stroke string.

Posted in Articles, C#/.NET, Quick Tips | 1125 Comments »

Downloads Archive

February 25th, 2007 by admin

I’ve finally created a page that has a list of all downloads available on the site. The downloads are sorted in order by date added, with the most recent first.

Click here to go to the downloads archive

Posted in New Releases | 65 Comments »

Fake Blue Screen of Death

January 10th, 2007 by admin

Ever wanted to play a trick on friends or coworkers by making them think their computer has crashed? The easiest way is with my new Fake Blue Screen of Death (FBSOD). Just run it, enter a sleep time, and then wait for the Blue Screen of Death to appear.

Note: This is a beta, more features WILL be available soon
Another Note: You need .NET 2.0 to run this.

Sometime soon I plan on adding an easier way to change the text, and to make the error messages look more authentic, but for now, this is a good solution. Note that the FBSOD will capture all keys and key combinations (except Ctrl+Alt+Delete), so there’s no way to exit unless you know how to use the task manager, or if you know the secret.

To exit the FBSOD, move the mouse all the way to the top of the screen and click.

To change the FBSOD text, create a file called C:\windows\bsodtext.txt

Click here to download the Fake Blue Screen of Death

Total Downloads:

Posted in New Releases, C#/.NET | 467 Comments »

Internet Connection Monitor v3.1

January 6th, 2007 by admin

ICM V3.1Internet Connection Monitor version 3.1 has been released.

This version includes a few minor interface changes as well as a few changes to the backend. There are now 2 new options which allow you to hide outages if they are less than a certain length (default: 30 seconds), and another which allows you to disable the notifications when the connection goes down, so the tray icon simply changes color and writes the log. Here’s a total list of changes:

Under the hood:

  • Better error handling
  • More efficient log parser

Interface Changes:

  • Renamed a few menu items in the log viewer so they are more descriptive
  • Added an option to hide the notifications when the connection goes up or down (default: show notifications)
  • Added an option that allows the LogViewer to hide outages if the connection is down for a negligible time (default: 30 seconds)
  • LogViewer automatically scrolls to the end of the file
  • LogViewer will now open plaintext files in the viewer rather than trying to parse them out (which adds support for version 2 logs)
  • Added a menuitem that will open the options pane
  • Better icons

CLICK HERE TO DOWNLOAD ICM V3.1

Total Downloads:

Posted in New Releases, C#/.NET | 63 Comments »

Internet Connection Monitor 3.0

November 6th, 2006 by admin

Just released:
Internet Connection Monitor version 3.0

Most of you have never heard of this, but it’s been a project of mine for the past 2 years, although I haven’t really actively been updating it. Just a brief history:

This was created to monitor my internet connection because it frequently cuts out for long periods of time. I needed something to show my ISP to prove to them that the service kept dropping. For this, I created a simple BASH script that would ping our ip every x seconds, and wrote a log of outages. This system was extremely limited, however, so about 6 months later, I wrote a Python version. Still, this version was buggy and inadequate. So now I release version 3.0.

It is written in C# and:

  • Puts an icon in the system tray that shows the current status of the connection (red for down, green for up)
  • Shows balloon tips when the connection drops or comes back up
  • Options for changing polling interval, port, server, and where to save the logfiles
  • A logfile viewer that parses the logfiles and tells you how long the connection was down

Click Here to Download ICM Version 3.0

Total Downloads:

Posted in Uncategorized, New Releases, C#/.NET | 63 Comments »

FilePurge Deleter and Renamer

October 8th, 2006 by admin

Released 10/8/2006:

FilePurge: Recursively search (supports regular expression search) a directory for files that match a regular expression. Then it gives you the option to delete or rename the files. Requires .NET 2.0
FilePurge Screenshot

Click here to Download FilePurge
Total Downloads:

Posted in New Releases, C#/.NET | 69 Comments »

JediConcentrate Mod

September 25th, 2006 by admin

If you are familiar with the AnAppADay project (http://www.anappaday.com’) you have probably heard of Jedi’s “Jedi Concentrate” app (Day 10: Jedi Concentrate). 2 hours after its release, I released a version with options for setting the opacity and fade speed.

UPDATE: Added Option for picking fade color (9/26/2006)

The Files are available Here:
Binary ZIP File
Source Code ZIP File

Posted in New Releases, Dugg Stories, C#/.NET, Mods | 146 Comments »

SpacerGen v1.1

September 16th, 2006 by admin

SpacerGen version 1.1 released today. Updates include

  • 3 new patterns (vertical zigzag, horizontal zigzag, grid)
  • updated documentation

Click here to read more

Download SpacerGen 1.1

Posted in New Releases, PHP | 302 Comments »

Gyrolabs Mobile BETA 1

August 27th, 2006 by admin

The Gyrolabs mobile portal is up. You can visit this link from your phone or PDA and it will save your past links and provide you with a list of the most commonly typed in links. To make sure that your URLs are saved, use a username. To get to Gyrolabs mobile:
         http://m.gyrolabs.com/
and if you want to use a username:
         http://m.gyrolabs.com/?username

Posted in New Releases, PHP | 63 Comments »

Spacer Gen

August 22nd, 2006 by admin

I just put up the SpacerGen file. This file allows you to create spacer images to your own size, color, and spacing.
More Information >>>
Click here to download SpacerGen 1.0

Posted in New Releases, PHP | 63 Comments »

JS and PHP Lib Files

August 20th, 2006 by admin

Version 1 of both the PHP and JavaScript lib files have been uploaded. You can access them on the navigation bar at the top of the page.

Click Here to Download the Latest Javascript Lib (v1)
Click Here to Download the Latest PHP Lib (v1)

Posted in New Releases, PHP, Javascript | 60 Comments »