News

 Subscribe Add to Technorati Favorites

 

 

 

 


 

 

Search My Blog:

 

 

My Stats

  • Posts - 468
  • Comments - 242
  • Trackbacks - 265

Twitter












Tag Cloud


Recent Comments


Recent Posts


Archives


Post Categories


Blogs


Miscellanous


Noteworthy Stuff


Popular Posts


June 2005 Entries

Google Earth


I can't wait to get a look at Google Earth. I tried to download today, but apparently they're not currently "accepting" new downloads since the product is in beta. Given how long google groups has been in beta, I wonder if I'll ever get to download it. :)

posted @ Thursday, June 30, 2005 4:20 PM | Feedback (0) |


RSS and Attention Metadata


Nick Bradbury evangelizes attention metadata. Steve Gilmor is right, companies sure as hell aren't going to want to give attention data away because its too valuable. Data about me should belong to me, no matter who collects it. Depending on who you are, I might *allow* you to collect data about me or my activities - but certainly not if that data is not accessible to me.

posted @ Tuesday, June 28, 2005 1:41 PM | Feedback (0) |


Microsoft Including AJAX Libraries in VS2005


News.com reports that "Microsoft gets hip to AJAX". "Microsoft's Atlas is a "Web client framework" designed to make the job of building AJAX-style applications simpler". Atlas will be supported in VS2005 and ASP.Net 2.0, though it is not clear exactly when

Scott Guthrie says that the Atlas project will be available as a developer preview in September.

posted @ Tuesday, June 28, 2005 12:21 PM | Feedback (0) |


Read Me: Bad News for Tech Industry


BBC Reports on the Supreme Court decision in the MGM vs Grokster case:

"The US Supreme Court has ruled that file-sharing companies are to blame for what users do with their software."

posted @ Monday, June 27, 2005 3:59 PM | Feedback (0) |


"IE Dean" Points to Simple List Extensions Spec and More


Dean Hachamovitch write on the IE Blog about his presentation at Gnomedex earlier today. The new RSS functionality in Longhorn will enable developers to build on top of RSS as a platform.

Dean points us to the MSDN Longhorn RSS page, where the Simple List Extensions spec can be found, as well as more details on RSS support in Longhorn.

posted @ Friday, June 24, 2005 4:47 PM | Feedback (0) |


Microsoft's RSS announcement at Gnomedex


"Simple List Extensions", an extension to RSS which Microsoft will release into Creative Commons.

Channel 9 Team: New RSS features in the next version of Windows. The video of the presentation will be uploaded on Channel 9 Videos soon.

eWeek.com: Microsoft Bakes RSS into Longhorn

posted @ Friday, June 24, 2005 2:11 PM | Feedback (0) |


Consuming Secure RSS Feeds


As RSS becomes more mainstream, and companies begin to offer fee-based subscription feeds and feeds that contain private information, authentication and security will have to be used. Most feedreaders and podcatchers do not support these things.

For developers interested in creating software applications that can handle this security, IPWorksSSL contains an RSSS component which handles all of the SSL and authentication, taking this complexity out of the way for the developer. I can get a secure feed as simply as:

RSS1.GetFeed(url);

Add basic or digest authentication:

RSS1.AuthScheme = 0; //or 1 for Digest auth
RSS1.User = "myusername";
RSS1.Password = "mypassword";
RSS1.GetFeed(url);

posted @ Friday, June 24, 2005 9:40 AM | Feedback (0) |


New RSS Reader for Outlook


New RSS Reader for Outlook announced at Gnomedex. I'll check it out, but I love Feeddemon.

posted @ Friday, June 24, 2005 9:34 AM | Feedback (0) |


Audible Announces RSS Delivery


This press release from Audible details plan to offer secure RSS feeds. Audible made the announcement today at Gnomedex.

posted @ Friday, June 24, 2005 9:27 AM | Feedback (0) |


Microsoft RSS Team?


Dave Winer hints that we'll get a peak at what Microsoft is doing with RSS tomorrow at Gnomedex.

posted @ Thursday, June 23, 2005 5:27 PM | Feedback (0) |


XmlDocument.SelectSingleNode


Andrew Mooney just showed me the SelectSingleNode function of the XmlDocument class, which I'd previously overlooked for some reason. Doh!

In searching for a node in an XmlDocument class with a particular attribute value, I was stepping through the entire tree! Instead, it is much easier to simply use:

Dim place as System.Xml.XmlNode
place = Msgs.SelectSingleNode("/myroot/myitem[@myattribute = '" + myvalue + "']")

posted @ Wednesday, June 22, 2005 3:52 PM | Feedback (5) |


Do Scoble and Sandquist Not Get Podcasting?


Jeff Sandquist thinks that the first Channel 9 podcast happened just a couple weeks ago! Wow.

It looks like Jeff agrees with Robert Scoble, that podcasting only refers to delivery of audio enclosures. I can't believe this is coming from these two great forward thinkers.

Why did the term podcasting originate? Basically because people were "broadcasting" to iPods. Would Scoble also have the term podcasting also only refer to delivery to an ipod? I think not. Good thing too, since I'd much rather deliver media to my Windows Mobile device. <sarcasm>Here's a major breaking newsflash</sarcasm>: Its not just an mp3 player. I have been using Primetime Podcast Receiver and my Pocket PC to watch Channel 9 videos for months. So much of the world is stuck using audio-only iPods and similar functionally cripple devices. Hello? At least Mik e Hall gets it. No wonder, he's got a little experience with Windows Mobile.

posted @ Wednesday, June 22, 2005 9:32 AM | Feedback (0) |


Loading MIBs That Import Other Mibs


Some MIB modules contain references to other modules within their imports sections. When loading a MIB that contains external imports using IPWorks Secure SNMP MibBrowser component, the ImportSymbols event will fire for each external reference. These modules must be loaded in order to generate a complete representation for the target MIB. By default, the component will attempt to load all external references automatically (this is controlled by the AutoLoadMibs configuration setting). The component will only find external modules if they reside in the same directory as the current module. Alternatively, the component can load additional modules by calling the LoadMib method while inside the ImportSymbols event. If the modules are NOT imported, some symbols may remain unresolved. These symbols will not appear in the MibNode hierarchy until the module containing their definition is loaded. Order is unimportant when loading additional MIB modules. A complete list of unresolved symbols can be found by retrieving the UndefinedSymbols config setting (comma separated list of symbols).

posted @ Tuesday, June 21, 2005 12:04 PM | Feedback (3) |


Raymond Chen: "The effect of SetCursor lasts only until the next SetCursor"


Raymond Chen explains why the cursor icon sometimes changes unexpectedly.

posted @ Tuesday, June 21, 2005 10:52 AM | Feedback (4) |


LDAP Operational Attributes


In my experiences with AD, SunOne (iPlanet), Siemens, and Novell directory servers, root DSE searches turn up a full set of results. This search request is sent like so:

Dim ldap as new nsoftware.IPWorks.Ldap()
ldap.ServerName = SERVERNAME
ldap.DN = ""
ldap.SearchScope = ssBaseObject
ldap.Search "objectClass=*"

By default, when no attributes are provided in the search request itself, these directory servers will return all the attributes.

Today, someone pointed out to me that the OpenLDAP server behaves differently, and in fact strictly follows the LDAPv3 RFC, which states in section 4.5.1:

"...servers will not return operational attributes, such as objectClasses or attributeTypes, unless they are listed by name..."

Testing the above code with the server at www.openldap.com produces only two attributes. Instead, one must specifically ask for each attribute by name as described in the RFC. A full list of operational attribute types can be found in RFC 2252.

posted @ Monday, June 20, 2005 3:17 PM | Feedback (0) |


Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List


http://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx

Update: some ultimate tools that are missing from Scott's list.

posted @ Monday, June 20, 2005 11:06 AM | Feedback (7) |


Adding Credit Card Capabilities to Your Website or Desktop App


On the subject of adding credt card transaction capabilities to windows and web apps, below are a couple of articles that I helped author. The articles show how using /n software's third party toolkits to make the implementation very simple.

IBiz E-Payment Integrator can be used to add credit card and electronic check transaction processing to your application by communicating with major Internet payment gateways.
Read Full Article

IBiz VitalPS Integrator can be used to add credit card transaction processing to your application by communicating directly with the Vital Processing Services processor.
Read Full Article

posted @ Thursday, June 16, 2005 4:05 PM | Feedback (1) |


Winsock error 10053


Winsock error 10053 used to be usually related to network problems, not software. This is no longer the case thanks to anti-virus software that arguably tries to be smarter than it should be.

10053 is a winsock error with the description "Software caused connection abort."

The error happens when the local network system aborts a connection, which might happen if the remote host didn't acknowledge data even after retries.

If you get this error, first see if you have virus scanning software that may be blocking outgoing tcp/ip packets. If you do, make sure that your application is set as a "trusted" application or turn your scanner off, remove it from your machine, drop the CD on the ground and stomp on it several times (if you choose the latter option, proceed with caution. I take no blame for any consequences).

If AV software is not the problem, here are a few things to try:

  • Ping something on your local network. Do you get a response?
  • Ping the remote host. Does it respond? If not, problem solved. You can try a traceroute to see if the problem is at the target remote host or somewhere in between.
  • Is there a firewall between your appliation and the remote host? If so, and the connection has been open for a long period of time with no data transfer, its possible that the firewall has timed out the connection and closed the sockets.

posted @ Thursday, June 16, 2005 3:45 PM | Feedback (6) |


Halley Suitt's Memory Lane


Halley Suitt's Memory Lane has always been one of my favorite of the IT Conversations series'.

I was afraid that she was done, since there hasn't been a new Memory Lane episode in quite a while. Finally after almost 6 months, I see that two weeks ago Halley published a podcast where she interviews Meg Hourihan, co-founder of Blogger.

Halley, keep up the great work. I've really enjoyed all of your Memory Lane episodes.

posted @ Wednesday, June 15, 2005 10:04 PM | Feedback (0) |


DNN Blog Module That Supports Enclosures


Scott Schecter has released NukeSyndicate, a blogging module for DotNetNuke that supports enclosures.

posted @ Wednesday, June 15, 2005 9:42 PM | Feedback (1) |


Visual Studio Team System - mstest.exe


For those of you who haven't been following the betas, Visual Studio 2005 contains a new project template for testers - the Test Project template. This project type allows you to create unit tests, web tests, and load tests (which can include unit and web tests side by side). The test project will compile into a dll.

VSTS has an excellent user interface for managing and running the tests, however I need a way to run the tests easily and on a regular basis from outside of the IDE: mstest.exe is the answer. This should be very easy to incorporate into an automated test system, since mstest can output the results in xml format.

posted @ Wednesday, June 15, 2005 9:33 PM | Feedback (1) |


Scoble questions podcasting


Robert Scoble questions whether the term podcasting is only for audio mp3's or for other file types as well.

Primetime Podcast Receiver has been video podcast capable since it was first released in January. In fact it has an embedded Windows Media Player in it.

Besides audio and video, I know a lot of people are using "appcasting", which would be the ideal way for a podcatcher to offer updates of itself, but I'm not aware of any podcatchers that are using this technique - yet.

posted @ Wednesday, June 15, 2005 9:20 PM | Feedback (0) |


Smart Client Development Links


Definition: Smart Client
MSDN Smart Client Developer Center
Smart Client FAQ
>Smart Client FAQ
Smart Client Architecture and Design Guide

posted @ Wednesday, June 15, 2005 2:27 PM | Feedback (1) |


MSDN Chats Page Needs RSS feed


The MSDN Online Chats site could really use an RSS feed.

posted @ Wednesday, June 15, 2005 2:23 PM | Feedback (0) |


Smart Phone Developer Contest


CodeProject is having a Smart Client development contest, where you can win a new smartphone.

posted @ Tuesday, June 14, 2005 10:08 PM | Feedback (0) |


Drinking on the job?


Christian Weyer found an interesting AD attribute. What is your favorite drink?

posted @ Tuesday, June 14, 2005 10:27 AM | Feedback (0) |


Colorizing code in blog posts


I'm using this free Syntax colorizer (C#) from SquishyWARE. It does the job well.

posted @ Tuesday, June 14, 2005 10:09 AM | Feedback (0) |


You can't handle the truth!


Picture the famous scene from "A Few Good Men" - now twist it into the world of software development. Now read Rico Mariani's parody. This gave me a great laugh!

posted @ Monday, June 13, 2005 2:16 PM | Feedback (0) |


IT Conversations


Fellow NC State wolfpacker Dr. James Goodnight of SAS Institude, Rob Glaser of Real Networks, and more new goodies this week at IT Conversations.

A couple of my favorite installments from the IT Conversations archives:

posted @ Monday, June 13, 2005 10:42 AM | Feedback (0) |


Generate RSS in ASP.Net


There are a lot of quick and easy way to generate RSS in your applications, here is one way using the IP*Works! RSS component. This particular sample is in an ASP.Net app:

	nsoftware.IPWorks.Rss rss1 = new nsoftware.IPWorks.Rss();
	rss1.ChannelTitle = "My RSS";
	rss1.ChannelDescription = "How to generatete RSS";
	rss1.ChannelLink = "http://lance.geekswithblogs.net";
	rss1.AddItem("Title 1", "Description 1", "http://server/link1.aspx");
	rss1.AddItem("Title 2", "Description 2", "http://server/link2.aspx");
	rss1.AddItem("Title 3", "Description 3", "http://server/link3.aspx");	
	Response.Clear();
	Response.ContentType = "text/xml";
	Response.Write(rss1.RSSData);
	Response.End();

posted @ Monday, June 13, 2005 9:26 AM | Feedback (0) |


Interact with SIP server via TCP


You can interact with Asterisk over TCP and receive PBX event notifications. The Asterisk Manager API, while sparsely documented at voip-info.org is easy enough to follow. Here's how you can connect to Asterisk with the IPPort component of IP*Works!:
ipport1.SendLine("Action: Login\r\nUsername: " + user + "\r\nSecret: " + password + "\r\n"); 

At this point you'll start receiving PBX "events" (such as lines being picked up, lines being connected, voice mails received, etc) which you can catch in the IPPort component's DataIn event.

You'll get a NewChannel event when some action has been performed by some phone to cause a new channel to be opened on the SIP server.
You'll get a NewExtension event when a particular extension (ie, a Zap line or a local SIP phone) has been connected to the channel.
You'll get a NewState event when a particular extension has changed state (such as, "ringing", "up", or "down").
You'll get a Link event when two channels are linking together (conversation is beginning) or and Unlinkevent when two chanels are unlinking from each other (conversation is ending).
You'll get a Voicemail event when a voicemail gets left for a particular extension.

These events let you track who is on the phone, and who they're on the phone with. You can determine if someone is calling you, and who that someone is (caller id). You can determine if there are voicemails on any extensions that you have control over.

I used this functionality to keep a list of call history, so that I can call someone back with just the click of the mouse. I can send an action command to the server to make the phone call for me. When the person I am calling picks up (if they are a SIP extension) or when the outside line is dialed (if they are an outside Zap caller), my own SIP phone will ring notifying me that the conversation is ready.

private void CallNumber(string number, bool local)
{
     string command = "";
     if (local)
     {
          command = "Action: Originate\r\nChannel: SIP/" + number + "\r\n";
          command += "Context: default\r\n";
          command += "Exten: " + myextension + "\r\n";
          command += "Priority: 1\r\n";
          command += "Callerid: \"" + myext + "\" <" + myext + ">\r\n";
     }
     else
     {
          command = "Action: Originate\r\n";
          command += "Channel: Zap/g1/" + number + "\r\n";
          command += "Context: default\r\n";
          command += "Exten: " + myext + "\r\n";
          command += "Priority: 1\r\n";
          command += "Callerid: \"" + myext + "\" <" + myext + ">\r\n";
     }
     ipport1.SendLine(command);
}

posted @ Friday, June 10, 2005 6:22 PM | Feedback (4) |


MSN Toolbar - Tabbed Browsing (Update)


Another complaint about the MSN Toolbar: There is an awful lot of flicker when changing from one tab to another. Its not a deal-breaker, I can put up with it. But it is a bit annoying. On two separate occasions, and on two separate machines, I've noticed a major flicker when changing from the <i>first tab</i> to another tab. The flicker is so bad that I can actually see the window behind IE.

posted @ Friday, June 10, 2005 11:37 AM | Feedback (0) |


Custom Blogging Client - Can We Have a Look?


A couple of people have asked to see the blogging client that I put together the other day. Thats fine, just keep in mind that it is exactly how I described it then - quick and dirty! It is a vb6 app with hard-coded blog accounts in the form_load event. It has basically no error handling. It has no fancy designer, just a textbox where I enter raw HTML. I'll use this for a while, and maybe eventually I'll make it into a "real" app with runtime configurable account profiles and such. I did go ahead and add enclosure support to it. For now, you can download what I am using here. The project uses components from both IP*Works! ActiveX Edition and IP*Works! SSL ActiveX Edition (so that I can support secure posts).

Update: I took this down.  Right now I'm using Zoundry

posted @ Friday, June 10, 2005 11:11 AM | Feedback (1) |


Finally, Tabbed Browsing in IE!


I've been a convert to the Maxthon browser for some time now.  The convenience of having multiple tabs in one main browser window is great.  I assumed that Maxthon would have little success after IE7 came out, but I guess the end of the road for Maxthon came sooner rather than later.

Enter tabbed browsing in IE via the latest version of the MSN Toolbar.

Right-click “Open in new window” still creates another separate instance of IE.  Instead, the MSN Toolbar adds two new right-click menu selections:  “Open in new background tab“ and “Open in new foreground tab“.  The former opens the link in a new tab without changing the focus from the current page.  The latter opens the link in a new tab and switches focus to that tab.

The Toolbar also adds an “open each link in a new background tab”, for which the default setting is off.  With a click of this button all links will open in their own tab.  There is also an “add tab” button to quickly create a new blank tab. 

These useful keyboard shortcuts are documented on the Toolbar Help page:

Open a new tab CTRL+T
Go to the next tab on the right CTRL+TAB
Go to the next tab on the left CTRL+Shift+TAB
Open a link in a background tab Press ALT and click the link
Open a link in a foreground tab Press CTRL and ALT, and click the link
Close a tab Press CTRL+F4

Update:  To the MSN Toolbar team - one organizational helper would be for the “New Tab” addition to be inserted after the currently focused tab rather than tacked on to the end of all tabs.

posted @ Thursday, June 09, 2005 8:31 PM | Feedback (0) |


Disclaimer


These postings are provided "AS IS" with no warranties, and confers no rights. The content of this site is my own personal opinion and do not represent my employer's view in any way.

posted @ Thursday, June 09, 2005 5:03 PM |


Sending SNMPv2/v3 Traps with additional variable bindings


By default, the IPWorks SNMPAgent component automatically sends certain variable bindings with an SNMPv2 or SNMPv3 trap: sysUpTime (1.3.6.1.2.1.1.3.0) equal to SNMPAgent1.SysUpTime snmpTrapOID (1.3.6.1.6.3.1.1.4.1.0) equal to TrapOID passed to the SendTrap method (i.e., "1.3.6.1.6.3.1.1.5.1" which is coldstart) These are required in v2 and v3 traps. If you need to send more objects with your trap, and you modify the ObjId/ObjType/ObjValue variables, then you're responsible for setting ALL of the object ID's for the trap itself (e.g. the sysUptime and the snmpTrapOID). This means that the first two objects you add should be those mentioned above, like so:
SNMPAgent1.ObjCount = 4;

//add the sysUpTime:
SNMPAgent1.ObjId[1] = "1.3.6.1.2.1.1.3.0";
SNMPAgent1.ObjValue[1] = SNMPAgent1.SysUpTime;
SNMPAgent1.ObjType[1] = otTimeTicks;

//add the snmpTrapOID
SNMPAgent1.ObjId[2] = "1.3.6.1.6.3.1.1.4.1.0";
SNMPAgent1.ObjValue[2] = "1.3.6.1.6.3.1.1.5.2"; //warmstart
SNMPAgent1.ObjType[2] = otObjectId;

//now add additional objects:
SNMPAgent1.ObjId[3] = ...
...
SNMPAgent1.ObjId[4[ = ...
...

posted @ Thursday, June 09, 2005 4:29 PM | Feedback (0) |


Mind Mapping Software


A lot of people have been talking about Mindjet's MindManager software for visual process management. I downloaded it and gave the 21 day trial a good workout. This really is a handy piece of software. The only thing that bothered me is that it is very slow. I went searching for some alternatives to MindManager, and found a nice project at sourceforge called FreeMind. FreeMind is faster, more compact (less features, but it has everything I need), and is very useful for helping organize projects and lists. Check it out!

posted @ Thursday, June 09, 2005 1:15 PM | Feedback (0) |


Blogging Client


I've just created a quick and dirty blogging client - using the metawebblog api. None of the existing clients I tried had the features I want (posting to multiple blogs at once and auto-emailing copies of the post to specified addresses). To create the client, I just use an HTTP component to send metaWeblog.newPost XMLRPC to each of x selected blogs. Then I use an HTMLMailer component to email a copy to myself for secondary archival.

UPDATE:

I posted a link to my app here: http://geekswithblogs.net/lance/archive/2005/06/10/42911.aspx, with the disclaimer that when I said "quick and dirty", I meant "quick and dirty". There are some more production-quality apps available such as Blogjet and w.Bloggar, but they just didn't do it for me. Other people rave about them. Don't get me wrong, they're great apps - they just didn't have the small features I want. I don't need the pretty word processor.

Since I posted this app, I've made a few changes like drag and drop link and image support, so I'll have to post that update as well. Maybe I should just go ahead and release a competitor to BlogJet?

posted @ Thursday, June 09, 2005 12:56 PM | Feedback (1) |


Feature Driven Development


Learn about Feature Driven Development (FDD) at featuredrivendevelopment.com

posted @ Wednesday, June 08, 2005 8:53 PM | Feedback (0) |


About Lance


My resume
Email me here

  • I code in C#/VB/ASP.Net, VB6, PowerShell, Delphi, ASP, etc.
  • I am a blogger, and I enjoy listening to podcast in my driving commutes: podcatcher
  • I am a rat terrier owner.
  • I enjoy cooking, volleyball (year-round indoor 6's and outdoor doubles), Ultimate (Frisbee, that is), running, shooting pool, and just being active in general - especially outdoors.
  • I am the author of PPR.
  • I am the author of TextBox1.
  • I live in North Carolina, the best state in the US.

Note:  One of the things I do in my life is work at /n software.  While I will commonly post articles, comments, and links that have to do with /n software products, this blog is completely independent of and unaffiliated with /n software itself.  All opinions included here are mine and do not represent the opinions of my employer or any of its other employees.

posted @ Wednesday, June 08, 2005 8:46 PM |


The techAddiction Show


The techAddiction show is a podcast hosted by Kevin Tofel and James Kendrick. In their latest show, they discuss the Primetime Podcast Receiver, Skype for Outlook, and other cool new apps.

You can subscribe to techAddition.

posted @ Wednesday, June 08, 2005 6:39 PM | Feedback (0) |