Yoggie, a miniature security firewall appliance solution

30 04 2007

A friend and coworker of mine, Arthur Freyman, told me about a miniature device that provides all the security you’ll ever need out-of-the-box. It’s called Yoggie.

Reading the specs and services it provides is so far pretty good – and not surprising, it runs Linux under the covers.

Just think how cool it would be taking this device/gadget along with you when you’re on a road trip or working/surfing at a Starbucks…I think it’s an excellent idea and product from a bird’s eye view. Unfortunately, neither of us has tried it yet, but one of us will soon.

Here’s a screenshot of the architecture.

If you have one, let me know, and watch out for a future blog post on this in the not so distant future. =0)



Memorable and reliable DNS servers you can use

27 04 2007

My area is “owned” by Comcast, now Time Warner, when it comes to cable TV and Internet services.  Unfortunately, their DNS servers have become unreliable numerous times over the years.

With that in mind, I’d like to share memorable IP addresses of DNS servers that I use that I have found to be very reliable.  Thanks to Level 3 for letting the public use them.

They are:

  • 4.2.2.1
  • 4.2.2.2
  • 4.2.2.3
  • 4.2.2.4
  • 4.2.2.5
  • 4.2.2.6

You can definitely make use of them for all your DNS queries/needs.  In fact, running a simple ICMP ping test resulted in Level 3′s DNS servers out-performing Comcast/Time Warner’s DNS servers.

Comcast/Time Warner

C:\>ping 68.87.66.196

Pinging 68.87.66.196 with 32 bytes of data:

Reply from 68.87.66.196: bytes=32 time=82ms TTL=45
Reply from 68.87.66.196: bytes=32 time=48ms TTL=45
Reply from 68.87.66.196: bytes=32 time=52ms TTL=45
Reply from 68.87.66.196: bytes=32 time=51ms TTL=45

Ping statistics for 68.87.66.196:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 48ms, Maximum = 82ms, Average = 58ms

Level 3

C:\>ping 4.2.2.2

Pinging 4.2.2.2 with 32 bytes of data:

Reply from 4.2.2.2: bytes=32 time=37ms TTL=246
Reply from 4.2.2.2: bytes=32 time=16ms TTL=246
Reply from 4.2.2.2: bytes=32 time=12ms TTL=246
Reply from 4.2.2.2: bytes=32 time=15ms TTL=246

Ping statistics for 4.2.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 12ms, Maximum = 37ms, Average = 20ms

So use them!  Enjoy.  =0)



What to check when encountering Exchange user name and password errors

26 04 2007

A C# web app I’m developing requires pulling (and deleting already read e-mails) from an Exchange 2003 server.  I used the POP3 code that I actually shared/posted about yesterday; however, I was getting this error, though I had the correct user name and password:

-ERR Logon failure: unknown user name or bad password.

It was getting to be very annoying, so I googled for any answers and found out that setting up an Exchange alias was (sort of like) a requirement to get the issue resolved.

Here were the questions and needed settings I had to check on the Exchange 2003 server:

  • Do the accounts have an email address, i.e., username@ad_domain?
  • Do the accounts have the POP3/IMAP protocols enabled?  They can be set to on or off on a per-account basis – default is on?
  • Are the Exchange Alias and account user name the same for all accounts?

I had bullet’s #1 and #2 set – but not bullet #3!

So if all else fails, check that setting out if you encounter POP3/IMAP user name/password errors.  =0)



How to POP3 in C#

25 04 2007

Here’s an excellent how-to on using POP3 in your C# apps.  I’ve used it successfully.

The Pop3 class derives from the System.Net namespace:
public class Pop3 : System.Net.Sockets.TcpClient
 
And the class consists of the following fields and methods:
public ArrayList List()
public class Pop3Message
public void Connect(string server, string username, string password)
public void Disconnect()
public Pop3Message Retrieve(Pop3Message rhs)
public void Delete(Pop3Message rhs)
private void Write(string message)
private string Response()
 
Finally, below is a code snippet on how to use the Pop3 class:
static void Main(string[] args)
{
    try
    {
        Pop3 obj = new Pop3();
        obj.Connect("mail.xxx.com", "yyy", "zzz");
        ArrayList list = obj.List();
        foreach (Pop3Message msg in list)
        {
            Pop3Message msg2 = obj.Retrieve(msg);
            System.Console.WriteLine("Message {0}: {1}",
                msg2.number, msg2.message);
        }
        obj.Disconnect();
    }
    catch (Pop3Exception e)
    {
        System.Console.WriteLine(e.ToString());
    }
    catch (System.Exception e)
    {
        System.Console.WriteLine(e.ToString());
    }
}

Nifty ey?  So check out the how-to article.  Enjoy!



Try Ruby online

24 04 2007

Ruby has been getting a lot of praise for a while now, so I decided to give it a try. I was surprised to find so many resources already out there, and one I think worth mentioning is this website.

Ruby is a programming language from Japan (available at ruby-lang.org) which is revolutionizing the web. The beauty of Ruby is found in its balance between simplicity and power.

What’s cool about the Try Ruby! website is that it’s an interactive web-based Ruby shell. And on top of that, it also offers a quick 15-minute tutorial as you go along.

Here’s a screenshot:

Pretty cool, ey? Lastly, here’s an excellent help-and-documentation website, specifically for Ruby if you want to delve and read more on it.

Catch you later. =0)