Wednesday, March 24, 2004

Viruses and SPAM vs. Keys and Signatures

Anyone else getting e-mails containing the Win32.Netsky.P@mm virus? I thought it was interesting that it stamps the e-mail as being virus free with the name of, and a link to, a valid anti-virus company. I guess that just goes to show how useless those annoying little tag-lines are.

Symantec has some good details about it. Down at the bottom of their page you can see the spoofed tag-lines.

If you use an unpatched Microsoft e-mail program then you will spread the virus just by reading it.

If anyone actually bothered to read all of this I will propose a solution. Instead of just appending a tag line claiming it is Virus free, they need to actually attach a digital signature to the e-mail. The anti-virus companies would be key authorities, and issue keys to everyone who has their software. Then when you send an e-mail it is automatically signed with this key. Then when that e-mail is received there is a chain of authority allowing the receiving virus scanner (or e-mail client) to verify it was actually scanned by a legitimate sender. If a key gets compromised then the authority (the av company that issued it) would reject the key.

To prevent spoofed digital signature attachments from compromised systems, the user would have to enter their pass phrase to access their digital signature, just like strong crypto products do today. That, in combination with the actual outgoing e-mail scan would be a good combination. Many of the good virus scanners today will actually warn you if your machine is acting suspect, like sending similar e-mails too close together.

An advantage to wide spread adoption mail of signatures is it could also stop the spread of SPAM. Simply mark any unsigned e-mail as questionable. ISP's could also be key authorities for everyone who is authorized to use their SMTP servers. Then the SMTP server would simply reject any e-mail that did not have a proper digital signature from one of their subscribers. If you received SPAM with a valid signature then you can simply report them for spamming (to their ISP and your ISP, maybe other blacklist maintainers), and blacklist their key. If an individual gets too many complaints against them, then it is their ISP's responsibility to reject their key. If an ISP gets too many complaints against them then the other ISP's can black list their key chain, thus rejecting all their subscriber's keys.

An advantage of this kind of solution is that it could be rolled out slowly. ISP's, mail clients, and AV software that supported the signatures could white list eachother. Any unsigned e-mails could be treated with caution. This would provide motivation to support this feature as it would move everyone onto white lists. Since end users could vote with their money by buying AV Software and e-mail clients that supported this feature early adoption would motivate ISP's to start supporting it as well as other software vendors.

Tuesday, March 23, 2004

GUI Gallery

Check out guidebook, a website dedicated to preserving and showcasing Graphical User Interfaces. You can view the entries by component (Splash screens) or platform (Microsoft Windows 1.01). It is interesting to see the evolution of some of the graphics, for example the cronological evolution of icons.

Noticably absent is any Linux desktops. This is probably due to the lack of uniformity in Linux desktops. But you would think they could feature the two most popular ones, Gnome or KDE. Maybe they will be added later, or they are waiting for the two to be combined by Novell.

12 Reasons for Growth of Open Source

Netscape Co-Founder Marc Andreessen's 12 Reasons for Growth of Open Source [LinuxWorld]

  1. "The Internet is powered by open source."
  2. "The Internet is the carrier for open source."
  3. "The Internet is also the platform through which open source is developed."
  4. "It's simply going to be more secure than proprietary software."
  5. "Open source benefits from anti-American sentiments."
  6. "Incentives around open source include the respect of one's peers."
  7. "Open source means standing on the shoulders of giants."
  8. "Servers have always been expensive and proprietary, but Linux runs on Intel."
  9. "Embedded devices are making greater use of open source."
  10. "There are an increasing number of companies developing software that aren't software companies."
  11. "Companies are increasingly supporting Linux."
  12. "It's free."

It is interesting that Marc Andreessen would be an advocate of Open Source. Remember Mosaic, Netscape Browser and Server were all closed source commercial applications. Only the beta versions of the browser were free downloads. It wasn't until after Microsoft made Internet Explorer a free download did Netscape respond by making Netscape free. Granted Andreesen was still with Netscape when they released their browser open source. Maybe he learned his lesson. Of course the Netscape server is still closed source, so it really doesn't fit with his first point.

Anyone care to publish a rebuttal?

BorCon 2004 C4P

Well, I submitted a total of 16 abstracts for the 2004 BorCon Call for papers. That is about twice as many as I recall submitting for last year. I had more in the hopper that I didn't have time to finish to submit, although most that didn't get submitted I was having second thoughts about submitting. There were a few that I started out really excited about that I thought better of as well. Not sure if it was a case of cold feet or better judgment.

I'll keep you posted which abstracts get accepted, and in what form. My plan is to turn at least some of the other abstracts that do not get accepted into articles for other venues (BDN, Blog posts, group presentations, magazine articles, etc.).

My hermit like behavior as of late would be explained by my rush to get these done.

Download random numbers

Thanks to the University of Geneva and the company id Quantique anyone can download true random numbers. The numbers are generated on demand using a quantum random number generator. They are testing a client/server appliation to download the numbers directly. This would be an excellent application for a web service.

It would be nice to have a reliable source of random numbers. Although I would think if they were to be used for a cryptographic application you would need to have the transmission of them encrypted. Although if you used those random numbers in combination with a local psudo-random number generator and an entropy gathering system you would probably be in really good shape.

Thursday, March 18, 2004

Look who is at Falafelsoft

Falafelsoft is a software consulting company. The President and CEO is Alain Tadros. I was impressed that Steve Teixeira came on board from Zone Labs. He was previously an R & D Engineer at Borland on Delphi and C++ Builder. He is also an author and speaker.

If you look further through their ranks you will see the following notable individuals:

  • Charlie Calvert - Author and former Borlander.
  • Jim Cooper - Behind PocketStudio and TurboSync for Palm development.
  • Brian Long - Author, columnist, speaker and consultant.
  • Julian Bucknall - Formally of Turbo Power and Microsoft, also a noted author and columnist.

Then if you head over to Component Science you will find a lot of other other former Turbo Power developers. At BorCon 2003 they announced that Ray Konopka was the new president of Component Science, but he is noticeably missing from their management team now. I must have missed that.

In any case, I am impressed with the big names and growth at Falafelsoft. You may also want to check out their own Blog. Which Julian is now contributing too. You may recall that I mentioned his blog previously. I wonder if he will continue to contribute to that one.

Wednesday, March 17, 2004

Excuse Me?!

Have you ever noticed how flexible the phrase "Excuse me" is? All based on body language, voice inflection, and current context it can have more meanings then I could list. Broadly, the more common usage it is rather submissive as you beg someone to forgive you for your imperfections. While in another almost as common usage you let someone know that their imperfections have offended you and they should correct the situation. And both of these circumstances have a wide range of variations.

For example, lets say you are at a party (I know this might be a stretch for some, but stay with me). You are in a crowded room with lots of talking. You see someone you want to talk to on the other side of the room and you start moving towards them. Someone is in your way. You say "Excuse me" to politely let them know that you wish to humbly ask them to move as you so rudely want to reposition yourself through their personal space. The don't move. So you say "Excuse me" again to let them know that you find their lack of moving rude. They still don't move. This time you say "Excuse me" to indicate that you find them to be a Neanderthal not worthy of your patience. Now they respond "Excuse me?" to indicate they didn't understand you. So you point in the direction you are trying to move and they kindly step aside. You continue on your journey, but accidentally step on their toe, to which they protest "Excuse me!" and you apologize "Excuse me!"

These are dangerous words. You may be trying to ask someone to move nicely, but you have a bit of a frog in your throat making your voice a little gruff so they get the impression you are demanding they move. And then when you clear your throat and repeat it you only make matters worse.

I would imagine that with some hand pointing, voice inflection and other body language two people could have a complete unrehearsed conversation only uttering these two words.

One time I was attending a public forum where individuals would take turns standing up and expressing their opinion. There was no podium, people just stood up where they were and took turns. Usually there was some sort of informal recognition before people spoke, but people were taking turns, so this wasn't really necessary. At one point this woman just started speaking, and then this man interrupted her. They both started speaking close to the same time, so his mistake was understandable to the rest of the audience, but the woman was obviously speaking first. They spoke over each other for a second, and then the man turned to the woman and said "Excuse me." At first we thought he was apologizing for his obvious oversight in interrupting her. Then he continued to talk. At that point we realized that he was not apologizing, but was instead letting her know that she should sit down and let him talk. This didn't go over very well with the audience, but he didn't care.

This is where lack of social intelligence comes in. People who don't pick up on these subtle cues in body language and voice inflection tend to appear really rude, but in fact they just don't get it. Although some people really are rude. It can be hard to tell.

Moral: And that, my friends, is one of the many reasons it is so tough to teach a computer to understand English, especially when spoken. I am not too familiar with other languages, but I imagine they are similar, but not as bad.

Tuesday, March 16, 2004

How not to sell Linux products

The article bellow covers more importantly how to sell Linux products, or any software products for that matter. It uses some poorly sold products to prove their points.

While the article is specifically about Linux, the principles should apply to all products. I'll provide a generic version of the points with my own embellishments.

  • Make sure your product actually does what the user expects it to do.
    This is actually more then was originally suggested in the article. It just said to make sure your product works as promised, but that isn't always what the user expects. You need to make sure that your users expectations are inline with what you are claiming, and that your product delivers.
  • Make sure your product is enough better and different from the alternatives that it is worth the difference in price and consideration.
    There is a lot of software out there. It is always amazing to me how many different takes there are on the same idea. It is important that your product is better then the alternatives (free or otherwise). If your product costs more, then the difference should more then justify the price, and it had better be obvious to the customer that it does. If not then they will line all the products up and pick the cheapest. It does no good to include killer features and support if your customers do not know about them.
  • Make your product so easy to use it doesn't need any instructions, but provide them anyway.
    Provide a printed manual, a quick reference guide, a quick start guide, online help and a few tutorials. The tutorials are important, but something that most people leave off. They show the user what the product can do, and how to do it. It would be great if your tutorials were available form the web for perspective customers to see.
  • Make it easy to buy your product.
    Perspective customers should be able to find your product however they might be looking for it. Find out what the common channels are and advertise there. Also, be upfront with your price. If it is a consumer product then your customers don't want to talk to a sales rep to find out how much it is. If you won't tell them, then they will assume the worst. If you introduce a new product make sure your sales people know about it before your customers.

Well that is my take on selling software. Keep in mind that I am an outsider to software sales, but it seems like common sense to me.

Feel free to read the original full article NewsForge | How not to sell Linux products for a more informed opinion.

Code Complete reading

Not much feedback about the Code Complete reading, so lets move ahead reading the section on Control.

For something different I thought maybe one person could take each chapter and they would present in depth commentary and coordinate the discussion for that chapter. Let me know which chapter you want to cover. I know the chapter on GoTo's is going to go quick, so if you are interested let me know first.

Code Complete

CONTROL

13 Organizing Straight-Line Code
  • Ordering Statements that Must be in a Specific Order.
  • Ordering Statements When Their Order Doesn't Matter.
  • Organizing Straight-Line Code Checklist.
14 Using Conditionals
  • if Statements.
  • case Statements.
  • Checklist for Conditionals.
15 Controlling Loops
  • Selecting the Kind of Loop.
  • Controlling the Loop.
  • Creating Loops the Easy Way-From The Inside Out.
  • Correspondence Between Loops and Arrays.
  • Loop Checklist.
16 Unusual Control Structures
  • Using gotos.
  • return.
  • Recursion.
  • Checklist for Unusual Control Structures.
17 General Control Issues
  • Boolean Expressions.
  • Compound Statements (Blocks).
  • Null Statements.
  • Taming the Hazard of Deep Nesting.
  • Tapping into the Power of Structured Programming.
  • Emulating Structured Constructs with gotos.
  • Control Structures and Complexity.
  • Checklist of Control Structure Issues.

Happy reading, and see everyone at the meeting.

Open source insurance

In what might be a step towards developers needing to purchase malpractice insurance:

Startup to sell open source insurance

In a quote from Bruce Perens, an open source advocate, he said "Software risk management is something that all software needs, and is something that's not provided adequately for proprietary software." So this is more then just insurance that you won't be involved in a frivolous law suite from SCO.

Times certainly are changing for our industry.

How to install Oracle 10g on Gentoo Linux

I thought this was interesting, although I have not tired it yet. Curious if it might work on other flavors of Linux. I tried installing Oracle 9i on Red Hat 9 a while back. Got it to work, although it was a challenge.

How to install Oracle 10g on Gentoo Linux:

  1. Create a file /etc/redhat-release as root which contains:
    Red Hat Enterprise Linux 3 ()
  2. Run the Oracle Universal Installer you downloaded and extracted from ship.db.cpio.gz. It will be fooled into thinking you're on a Red Hat system and will install without complaint. Be sure to follow the directions carefully!
  3. At the end of the install, it will ask you to run a root.sh script. You need to edit this script before you run it, find the two lines where it runs $LNS to create two symlinks in the /etc/rc.d/init.d directories (which you don't have on gentoo) and delete those lines. Then run the script.
  4. You'll have to write your own init.d scripts to start up the database, but they aren't too hard. If you want a copy of the scripts I wrote, let me know.
  5. Install Oracle Client, Cluster Ready Services, etc., the same way according to Oracle's directions.

Finally, you need a metric ton of RAM and disk to run this puppy. Count on needing at least 1GB of RAM and 5GB of disk, and that's before you make any databases."

Saturday, March 13, 2004

The Geek Draft

It used to be that having "intellectual" skills would help keep you from being drafted into military service. Then they started a special draft for medical professionals. Now it looks like they may start to draft geeks. This so called special skills draft would be targeted at linguists and computer experts. It would appear there is a lack of individuals with these skills in the service now.

Needing linguists is understandable, especially in the news you hear that there is a huge language barrier in the middle east. They typically must rely on locally recruited translators. I have a friend who is a linguist in the Army. He actually spends his time way back from the front lines translating communications - more of an espionage type roll.

The demand for computer experts is interesting. The way I see it they could be needed for two different roles. The first would be IT type staff to help maintain and build infrastructure. The second role would be cyberwarriors. I saw a PBS FrontLine special on Cyber-Warfare that talked about the perceived move of terrorism to the high-tech computer front. They talked a lot about a possible cyber-warrior army. . . .

Friday, March 12, 2004

Will Mono Become the Preferred Platform for Linux Development?

A very interesting report from a Mono developer's pow-wow. It raises some interesting points about patents, licenses and the future of software development as we know it. Here are a few excerpts from the report:

"The Mono project has a clear goal: to become the first-choice platform for Linux software development. Considering that Mono is an implementation of Microsoft's .NET framework, that goal might sound particularly audacious to many Linux fans.

"From conversations with some of the early adopters at the meeting, it's plain that the Windows migration strategy is working. Developers were able to take their ASP.NET web applications and run them under Mono, after a little accounting for a few pieces of non-portable code.

"For Microsoft's part, they're nervous onlookers. There's benefit to them in more implementations of the common runtime, but the wholesale duplication of Windows APIs is causing them some concern."

And a nice quote from Miguel de Icaza "To me C is dead. Except for the JIT!".

If Mono is not significantly hindered by Microsoft, and they are successful in their implementation (which it appears they might) then that will be a very compelling argument to use the .NET framework over any other development solution. One code base would be able to run on Windows, Linux and Pocket PC, with eventual support for Apple (have not been following this).

I know that Java is already on all these places, and then some, but in the past Java has developed a reputation as not being fit for user interface applications. Granted Java has made some great advances as of late, but I expect that only Sun's releasing Java as open source will help it to keep its head above the .NET tidal wave.

It is unfortunate about Java. This is the classic Microsoft strategy. They downplay a technology, then embrace it and license it, eventually try to break it, finally to say it is inferior to their new technology. Microsoft has been running this game plan with Java for a while now. ActiveX was their first significant volley against it.

Times certainly are getting interesting.

Thursday, March 11, 2004

Delphi 8 for .NET update #2 now available

"Registered users of Delphi 8 for .NET can now download the update from the Delphi for .NET download site.

On the download page, you will also find a documentation update as well as updates to Rave and InterBase. Together these updates will significantly improve your Delphi 8 experience."

Now I just need to get a copy of Delphi 8.

POVRay Short Code Contest, Round 3 Results

The results are in for the POVRay Short Code Contest, Round 3. Here is the code for the winner: union{sphere{z*9-1,2}plane{y,-3}finish{reflection{,1}}}background{1+z/9} which creates a sphere (left). That is actually the second shortest entry at 72 bytes. I don't think the size actually figured into the ranking since it was a public vote and the code size wasn't listed. Most the other entries are really close to the 256 byte limit. Probably my favorite is the colorful start type picture (right) . It comes in at 244 bytes of code.

While there is something to say for the simplicity of the winner, it is not the most impressive considering that goal of the contest was less code. It is obviously a primitive sphere on a plane with some shading. Not saying I could do it, but that I would expect it would be much similer to do then many of the others.

Wednesday, March 10, 2004

SourceForge is NOT Open Source

Does it strike anyone else as odd that SourceForge, one of the definitive sites for open source software, runs on proprietary Software?

You don't need to get into the old proprietary vs. open source debate to see this as odd. It would be like gnu.org running on a Microsoft server, or Microsoft.com being hosted on a Linux box.

www.boyet.com - algorithms for the masses

For anyone who may have missed it, Julian M. Bucknall now has a blog on his personal web site . For those who do no know, Julian was the algorithm guy for TurboPower software. He wrote the book Tomes of Delphi: Algorithms and Data Structures, and also served as the Algorithms Guy for The Delphi Magazine. Once TurboPower switched directions he went to work for Microsoft as a Program Manager on the C# team, sharing responsibility for the IDE.

In his blog and on his site you can find many articles about various algorithms, mostly in C# and Delphi. Much of the principles of these articles can be adapted to other languages easily.

Tuesday, March 09, 2004

Top Twelve Tips for Running a Beta Test (Joel on Software)

Once again Joel provides some of his tips for software developers. These 12 tips are for running a successful beta test.

Joel on Software - Top Twelve Tips for Running a Beta Test: "Here are a few tips for running a beta test of a software product intended for large audiences -- what I call 'shrinkwrap'."

I would add the following two tips:

  1. Make it ridiculously easy for your beta testers to provide feedback.
    If checking the status of previously submitted bugs, and submitting new bugs is too complicated or time consuming then your testers will find something better to do with their time.
    If you use a newsgroup or some other public forum, then by all means make sure it is highly moderated. If your beta testers must spend hours just to read though the socialization taking place in the newsgroup then they are going to loose interest. Some beta testers enjoy the socialization, and there is nothing wrong with that, just make a channel for them to socialize in, so the beta testers who are tight on time can focus on the beta testing.
  2. Don't be harsh on your testers for their feedback, unless you don't want them as a tester any more.
    What I really hate is when I beta test something and I send feedback (which I work really hard to provide as much details as possible for) and they respond "Yeah, yeah, yeah, we know about that. We will be fixing in the next release." Then I feel like I am waisting my time since I had no way of knowing (or as far as I knew I didn't) what all is already reported and going to be fixed. The second part of this point is key. There are some beta testers you don't want to be involved because they constantly provide useless feedback. Unfortunately they are sometimes the hardest to get rid of.

March summary - part deux

Randy reminded me that I forgot to e-mail out information on the font and we didn't discuss reading for the next month.

The next section in Code Complete is "Control" (chapters 13 -17), and is 100 pages (299 - 399). That is actually less then we read in the previous months. At the last meeting it sound like some people might be falling behind. I think we should go ahead and push forward and read (or at least skim) the Control section. I know I feel like I am getting some momentum, and if I slow down it would only be harder to get going again. Thoughts?

The font I found that emphasizes the difference between the "squirrelly brackets {}" and "parenthesis ()" is called ProFont. It is specifically designed for programmers with the following attributes: Looks good small, monospaced, highly distinguishable characters and symbols. Sheldon is another similar font.

You can find these two fonts in a variety of formats here:

I am personally using the ProFont in TTF format in Delphi at 9 points.

For more information about ProFont, and the search for it, visit this page:

If you visit http://www.mckeeth.org/bsdg/ you will see ATOM and RSS feeds along with some updated content. I'll try to update this with news through-out the month (more frequently then I will e-mail it out). As previously mentioned I will be moving back to the BSDG domain shortly, so expect things to change then. They will probably be in a state of flux for a while in all honesty.

A reminder: For those of you interested in attending the Idaho .NET Users Group's April 15th meeting with guest speaker Tom Howe speaking on "The Business side of Software Development", please let me know so that I can provide a count to them. They would like to know how many to expect.

Sunday, March 07, 2004

From code war to Cold War

This article compares the battle of software development and licensing ideologies to the cold war. It actually raises some interesting ideas about the future of software development.

The author suggests "Companies may charge for their software, and still provide the source code for inspection." and "In the next five or 10 years, disclosing source code and offering permissive licenses for reuse will be seen as making the best economic sense." Which sounds a lot like the culture in Borland (esp. Delphi) software development. You pay money to get the source code and specific rights to modify and reuse it.

In conclusion the author suggests: "So now would be a good time to start thinking about how we persuade governments that market in software may eventually need to be regulated, just as the market in electricity, water and food is, and that regulation may well include a statutory duty to disclose source code and allow it to be used elsewhere."

Regulation appears to be on the horizon. I personally don't think that is a good thing. How inevitable is this?

BBC NEWS | Technology | From code war to Cold War :

Saturday, March 06, 2004

Windows XP SP2 could break existing applications

It looks like XP SP2 could have a rather large impact on software compatibility. This article, and the highlights below cover some of the issues we should expect. It is interesting that Microsoft claims that if we had been practicing secure software development practices then we would be fine, but yet a number of their products must be updated to work.
"It may surprise some of the developers that we are changing some defaults, and that may affect the way some of the older applications run," said Tony Goodhew, a product manager in Microsoft's developer group. "Developers should absolutely be checking their applications against Windows XP SP2."

Microsoft's online training course that details the implications of installing SP2 on Windows XP machines

Changes to Windows XP made by SP2 fall into four main areas: network protection, memory protection, e-mail security and browsing security. The most affected parts of Windows are RPCs (Remote Procedure Calls), DCOM (Distributed Component Object Model), Windows Firewall, and memory execution protection, according to Microsoft.

Microsoft's Visual Studio .Net is one of the applications affected by Windows XP SP2. The developer tool's remote debugging feature won't work because of the improved Windows Firewall, previously called Internet Connection Firewall, which will be turned on by default and will close all ports, Goodhew said. . . . Another product that Microsoft needs to update is the .Net Framework. . . .Microsoft plans to come out with updates to its Visual Studio products and the .Net Framework at around the same time it releases Windows XP SP2.

Friday, March 05, 2004

BSDG Agenda for March 2004

March 4, 2004 - 7 PM - Washington Group conference room

News:

  1. Free subscription to Software Development Magazine
  2. Idaho .NET Users Group - April 15th guest speaker Tom Howe on "The Business side of Software Development".
    Please let me know if you plan to attend so they can have an accurate head count.

Borland:

  1. Why VCL for .NET? - by Danny Thorpe
    Why did Borland create VCL for .NET, and when should you use it instead of .NET's own Windows Forms framework?
  2. Looping through a .NET DataSet - by Anders Ohlsson
    How to keep track of where you are in your data. 
  3. Borland supplies RSS news feeds
    Stay up to date with what is happening at Borland.
  4. The BDN Guide to RSS - by Craig Stuntz
    A simple introduction to using the BDN RSS feeds and writing applications which produce or consume RSS.
  5. Delphi-JEDI+
    API Header Translations and nothing else.

Java:

  1. Eric S.Raymond advocates Sun's releasing Java open source.
  2. IBM Offers to Help Sun Open Up Java [Letter] [ LinuxToday]
  3. Sun to Meet IBM Over Open-Source Java

Industry news:

  1. Firebird Relational Database 1.5 Final Out
    The v1.5 release represents a major upgrade to the engine.
  2. U.S. to block Oracle bid for PeopleSoft
    They turn the tables on Larry.
  3. SCO Sues own customers
    It's ok to use Linux, as long as you never did business with SCO
  4. AMD offers buffer overflow protection - in the CPU - To work with updated Windows XP
  5. Intel's new 64-bit copies AMD's spec
  6. The silver lining of outsourcing overseas
    There really isn't one, but it is nice to see other people's points of view.
  7. Stop Advocating Free Software!
    If all our software is free, then how are we going to afford to buy computers to run it on?
  8. Yahoo! vs. Google: Algorithm Standoff [ Analysis]
  9. Yahoo's search engine: Pay for ranking
    If you really want top billing in the search engine, just slip Yahoo! a few greenbacks.
  10. Cybersecurity industry association
  11. 'Caller-ID For Email' Specs
    Microsoft's patented version of SPF.
  12. XP Update 2 too include Virus Scanner
    Remember their last attempts at virus scanners?  I wonder what else they are going to include in here too. . .
  13. Windows XP Reloaded
    New windows release planned before Longhorn.
  14. Anti-Spyware Law Proposed
    Proposed laws may effect how software can be loaded and unloaded from computers.
  15. Nearly Half of U.S. 'Net Users Post Content
    Most have made home pages, and very few actually run blogs.
  16. Knoppix
    The full featured Linux that runs from a CD.  Be sure to check out all their customizations.
  17. POVRay Short Code Contest, Round 3 - 256 bytes
    Check out the pictures that were made with just 256 total bytes of instructions and data.
  18. Mind Over Machine
    Controlling computers with your thoughts.

Group Reading:

Code Complete: Data

Code Complete 2
New version with chapters online for review and comment.

Presentation:

Content Syndication:

Content syndication allows automated access by computer programs to web and Internet content.  You may recall Netscape's "Push" technology from way back.  This is an extension to that.  The main attraction to day is that it is a way to stay on top of updates and events without giving your e-mail address out and exposing yourself to SPAM.  Many net users assume that any request for their e-mail address is just an attempt to subscribe them for more SPAM.  With content syndication you use an aggregator to check the news feeds for updates in much the same way you would check your e-mail or the newsgroups.  Then the updates you indicate your interest in are displayed for you to choose which you want to get more information on.

  1. BDN Guide
  2. Lockergnome's RSS Resources
  3. RSS
    RSS is an extension of the original "standard".  It is a very loose standard and not very strict.  There are many contradictions and inconsistencies.  It is still the most popular, and probably the easiest to implement.  It is specifically designed for news or blog type applications.
    1. SimpleRSS
      Component for creating and consuming RSS in Delphi
    2. FeedReader [home]
      An open source RSS aggregator written in Delphi.
  4. RDF
    RDF is the W3C standard Resource Description Framework.  It is used to describe and catalog more than just news.
    1. www.w3schools.com - tutorial
    2. Open RDF component for Delphi
  5. Atom
    The most recent variation is Atom.  It is a universal personal content publishing standard.
    1. Blogger - has adopted Atom
  6. OPML - Outline Processor Markup Language - Outlines in XML 1.0
    Uses to provide a list of syndication channels.

RSS-test.zip

Welcome to the Boise Software Developers Group web log.