Welcome to witters:World     Sign in

Fishbowl : Facebook client for Windows 7

I just read about this in a blog post by Rob Relyea.  It's a cool facebook client written to show off some of the features of Windows 7 and WPF/XAML.  I just downloaded and installed the app, and after a little poking around, I really like it.  It's clean, responsive, and easy to use.  I don't hate Facebook's web interface, but I do sometime have problems with images not loading, or screens loading half-way and never finishing.  So far nothing like that in Fishbowl, but I'll keep you posted.  Check it out here: http://www.fishbowlclient.com/

Anyone else tried this app or similar apps?

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Posted by martin on Monday, November 23, 2009 3:07 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Mozilla Weave

I've been a huge fan of the Firefox browser for several years, and the folks at Mozilla just keep making it better.  The latest enhancement I'm taking advantage of is called Mozilla Weave.  I just started using it a few days ago, but so far it's amazing.  The stated goal is to "broker rich experiences while increasing user control over their data and personal information."  I haven't read much detail on what their vision entails, but the first component released for testing certainly lives up to that goal. 

The first component is a service called Weave Sync, "a prototype that encrypts and securely synchronizes the Firefox experience across multiple browsers, so that your desktop, laptop, and mobile phone can all work together.  It currently supports continuous synchronization of your bookmarks, browsing history, saved passwords and tabs. " 

This is extremely useful for me because I use Firefox on three different computers at various times and often find myself frustrated with the experience.  For example, I might find and bookmark a useful site at work, then struggle to find the site when I'm at home and using a different laptop.  I've been using the GMarks add-on to handle this for me, but Weave Sync makes the feature more integrated with the browser.  The synching of saved passwords is also a time saver, because I will be less likely to use the "forgot my password" feature of sites that I visit on multiple computers.

Of course, all this additional convenience would be pretty much useless if it required a lot of configuration or constant user intervention.  But so far, I haven't noticed any of that.  Initial configuration was amazingly simple.  Once you install the service (similar to installing an add-on in Firefox), you simply set up an account with a username, password and passphrase.  Then setting up another computer requires the same steps, but there is additional wait time for first-time synching.  Once each computer is set up, the synching is automatic and unnoticed by the user.

 As other browsers continue to try and play catch-up with Firefox, I've experimented with them to see if they've closed the gap.  So far, none have come close.  In fact, some of the latest versions, such as IE8 and Google Chrome, seem to be taking steps backwards. Meanwhile, Firefox marches forward with more and more intelligent and useful features.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Posted by martin on Thursday, August 06, 2009 2:05 PM
Permalink | Comments (0) | Post RSSRSS comment feed

First Look at VS 2010 UI

Jason Zander's blog post has some screenshots and descriptions of some exciting new features that will show up in the next version of Visual Studio.  I love the support for multiple monitors, as well as the new pallette.

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by martin on Thursday, February 26, 2009 1:49 PM
Permalink | Comments (1) | Post RSSRSS comment feed

FTPS over TLS/SSL using C#

One of the projects I'm working on has a requirement to send a document over a secure FTP connection.  The .NET framework has a built-in class to handle FTP (FTPWebRequest) so that was a good starting point.

The documentation for FTPWebRequest does not provide a great deal of detail on securing the communications between the client and the server.  There is simply a boolean property named EnableSSL to turn the encryption on or off.  Sounded pretty simple, so here's what I came up with for my upload method:

public bool UploadFile(Uri serverUri, string userName, string password, string fileName)
{
    // the serverUri should start with the ftp:// scheme.
    if (serverUri.Scheme != Uri.UriSchemeFtp)
        return false;

    try
    {
        // get the object used to communicate with the server.
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
        request.EnableSsl = true;
        request.Credentials = new NetworkCredential(userName, password);
        request.Method = WebRequestMethods.Ftp.UploadFile;

        // read file into byte array
        StreamReader sourceStream = new StreamReader(fileName);
        byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        sourceStream.Close();
        request.ContentLength = fileContents.Length;

        // send bytes to server
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(fileContents, 0, fileContents.Length);
        requestStream.Close();

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        Console.WriteLine("Response status: {0}", response.StatusDescription);
    }
    catch (Exception exc)
    {
        throw exc;
    }

    return true;
}

 

When I ran my app with that method, things didn't work quite like I wanted them to.  Here's the error I ended up with: "System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure."

The problem is there is no validation procedure.  None of the MSDN articles I read said anything about certificate validation.  So after much googling, I finally found the missing piece of code in a forum post.  So I added a validation procedure and assigned it as the ServicePointManager.ServerCertificateValidationCallback.

public Program()
{
    ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertificatePolicy;
}

public bool AcceptAllCertificatePolicy(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}

 

With that, my secure FTP was a success!  Of course, in real-world applications you will want to do some actual validation of the server certificate, but I'll leave that as an exercise for the reader.

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by martin on Friday, December 12, 2008 8:10 PM
Permalink | Comments (2) | Post RSSRSS comment feed

XAML Power Toys

Karl Shifflett recently released the latest update to XAML Power Toys.  This is a great VS add-in that makes WPF/Silverlight development much easier and faster.  His blog has a great breakdown of all the features, including a few Silverlight tutorials covering some of the major features.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by martin on Friday, October 24, 2008 3:54 PM
Permalink | Comments (0) | Post RSSRSS comment feed