Sunday, October 24, 2004

From MSDN Library:
Monitor Synchronization Technology Sample -- This sample demonstrates how to use the Monitor class for thread synchronization. The Monitor type's static functions are used to enforce mutually exclusive access to a protected block of code.

Readme Location

For more information, see the Readme file at <SDK>v1.1\Samples\Technologies\Threading\MonitorSynchronization

Concepts Presented in This Sample

thread synchronization, samples; Monitor class, samples; AutoResetEvent class, samples; Interlocked class, samples; Threading namespace, samples; ThreadPool class, samples; WaitCallback class, samples; Thread class, samples; delegates, samples; ThreadStart delegate, samples; threads, samples; Delegate class, samples

Communicating Sequential Processes, or CSP, is a language for describing patterns of interaction. It is supported by an elegant, mathematical theory, a set of proof tools, and an extensive literature. The book Communicating Sequential Processes was first published in 1985 by Prentice Hall International (who have kindly released the copyright); it is an excellent introduction to the language, and also to the mathematical theory.
From this Wikipedia page: Communicating sequential processes

Friday, October 22, 2004

Working With Events Over Remoting by Russ Nemhauser: Subscribing to events of objects instantiated via remoting can be a tricky business. However, it is possible to build solid event publish/subscribe applications while using remoting simply by applying a few extra strategies then might not seem immediately obvious. Throughout the document, I will refer to the process that exposes the object for remoting as server and the process that instantiates an instance (local proxy) of a remote object as client. However, all of these processes may in deed take place on the same machine.
Murphy's Law calculator

.NET Remoting FAQ -- includes Changes for Remoting in .NET Framework 1.1 / Visual Studio 2003: Adjusting the typeFilterLevel to enable events, delegates and client-activated objects

Sunday, October 10, 2004

Learning Classifier Systems Software
Scientists Define Murphy's Law - things don't just go wrong, they do so at the most annoying moment.The formula, ((U+C+I) x (10-S))/20 x A x 1/(1-sin(F/10)), indicates that to beat Murphy's Law (a.k.a. Sod's Law) you need to change one of the parameter: U for urgency, C for complexity, I for importance, S for skill, F for frequency and A for aggravation.

Or in the researchers' own words: "If you haven't got the skill to do something important, leave it alone. If something is urgent or complex, find a simple way to do it. If something going wrong will particularly aggravate you, make certain you know how to do it."

Wednesday, August 04, 2004

Tuesday, July 20, 2004

.NET TOOLS: Ten Must-Have Tools Every Developer Should Download Now

Lutz Roeder's Programming.Net -- lots of cool little programs! Kalok -- see the "Writer" program.

Adventures in Visual Basic .NET -- Take a ride on the Visual Basic .NET Express with Billy Hollis and Rockford Lhotka.

Everyone Into the Pool -- Rocky Lhotka delves into object pooling, a .NET Framework feature that allows you to pre-create a group of objects on the server that are shared by all clients.

Developing the ChalkTalk Sample Application, Part 1
-- very cool. Talks about using multiple forms and transparency to implement a cool drawing app.

Working with Queued Components


Implementing a Background Process in Visual Basic .NET -- Rocky Lhotka recommends and implements a structured framework sample to mediate between the worker threads and the UI thread, simplifying the process of writing multithreaded worker code and a UI to control it. The framework can be modified to suit your application needs; includes a downloadable code sample.

Creating Visual Basic .NET Controls from Scratch -- How to build a visual control from scratch that renders its own interface.

Wednesday, July 14, 2004

Tuesday, July 13, 2004

Developers: PHP 5 Released; PHP Compiler, Too
Posted by timothy on Tuesday July 13, @06:44PM
from the pronounced-like-it's-spelled dept.
TheTomcat writes "After years of anticipation, PHP 5 was released today. This release represents a milestone in the evolution of PHP. It sports the new Zend Engine II, a completely re-worked object model, and many many new features. Check it and the changelog out." In other PHP news, remote_bob writes "There have been many attempts, like BinaryPHP and PASM, but finally there is a complete compiler for PHP. The Roadsend compiler produces standalone, native executables, and supports the entire PHP language (but not all extensions). It uses Bigloo Scheme to do its job, a variant of Lisp, the language that Paul Graham writes about. Benchmarks say that performance is pretty good. Is this another sign that dynamic languages are the future?"

Progeny Releases Beta 1 of Progeny Debian
Posted by michael on Tuesday July 13, @06:01PM
from the like-debian-but-better-i-hope dept.
Jeff Licquia writes "We just released the first beta of Progeny Debian 2.0, Developer Edition. This is intended to be a showcase of our Componentized Linux project for building customized Linux distributions, something that's been talked about here before. We'd really like people to give this a whirl and report any problems they have. For more information, Progeny's Platform site has the details."

Thursday, July 08, 2004

Function Point Analysis:
Computing: Software: Function Point Analysis: Introduction
An Introduction to Function Point Analysis

Function Point Analysis
... An Introduction to Function Point Analysis by Roger Heller The purpose of this
article is to provide an introduction to Function Point Analysis and its ...

www.qpmg.com/fp-intro.htm - 28k - Cached - Similar pages

Fundamentals of Function Point Analysis

... Function Point Analysis is a structured technique of problem solving. ... Function Point
Analysis is a structured technique of classifying components of a system. ...

www.ifpug.com/fpafund.htm - 29k - Cached - Similar pages

Function Point Analysis

Function Point Analysis. Status. Advanced Purpose and Origin. ... Name of technology.
Function Point Analysis. Application category. Cost Estimation (AP.1.3.7). ...

www.sei.cmu.edu/str/descriptions/fpa_body.html - 26k - Cached - Similar pages

Function Point Analysis

This page uses Frames, a feature not supported by your browser. Please
proceed to the Function Point Analysis Technology Description. ...

www.sei.cmu.edu/str/descriptions/fpa.html - 2k - Cached - Similar pages

An Overview of Function Point Analysis

Dev Shed Dev Shed Site. Home Articles Practices An Overview of
Function Point Analysis, Geico Auto Insurance. ...

www.devshed.com/c/a/Practices/ An-Overview-of-Function-Point-Analysis/ - 74k - Cached - Similar pages

Cost Estimation:Function Points Analysis

... A Tutorial on Function Point Analysis This article provides an introduction to
Function Point Analysis and its application in non-traditional computing ...

www.dacs.dtic.mil/databases/ url/key.hts?keycode=4:7&islowerlevel=1 - 9k - Cached - Similar pages

IFPUG: About Function Point Analysis

... ABOUT FUNCTION POINT ANALYSIS Function Point Analysis (FPA) is a sizing
measure of clear business significance. First made public ...

www.ifpug.org/about/about.htm - 24k - Cached - Similar pages

IFPUG Bulletin Board: Function Point Analysis

Function Point Analysis. IFPUG Bulletin Board » Function Point Analysis, ... Test
Case Function Point Analysis, GUNESH APTE, 3, 1, 05-27-04 05:23 am. ...

www.ifpug.org/discus/messages/1779/1779.html?1087464158 - 77k - Cached - Similar pages
[ More results from www.ifpug.org ]

Function Point Analysis: Measurement Practices for Successful ...

... Institutional and Volume Pricing. Function Point Analysis: Measurement Practices
for Successful Software Projects. ... 6. Introduction to Function Point Analysis. ...

www.awprofessional.com/title/0201699443 - 34k - Cached - Similar pages

Amazon.com: Books: Function Point Analysis: Measurement Practices ...

Function Point Analysis: Measurement Practices for Successful Software Projects
(Addison-Wesley Information Technology Series), David Garmus, David Herron. ...

www.amazon.com/exec/obidos/ tg/detail/-/0201699443?v=glance - 64k - Cached - Similar pages

Friday, June 25, 2004

From Slashdot today:
How Microsoft Develops Its Software
Posted by michael on Friday June 25, @10:50AM
from the remember-the-triangle dept.
crem_d_genes writes "David Gristwood has a post on his blog that notes '21 Rules of Thumb - How Microsoft Develops Its Software', on which he will elaborate at TechEd in Amsterdam next week. It was derived from interviews with Jim Mccarthy, also of Microsoft. Gristwood: 'As someone who has been involved with software development for over two decades, the whole area of how you actually bring together a team and get them to successfully deliver a project on time, is one worthy of a lot of attention, if only because it is so hard to do. Even before I joined Microsoft, ten years ago, I was interested in this topic, having been involved myself in a couple of projects that, I shall politely say, were somewhat less than successful.' Tips include such features as 'Don't know what you don't know.'; 'Beware the guy in a room.'; 'Never trade a bad date for an equally bad date.'; and 'Enrapture the customers.'"

Wednesday, June 23, 2004

Generating Python GUI applications with GladeGen (from LinuxJournal).
A Study of Supervised Spam Detection Applied to Eight Months of Personal Email -- compares various anti-spam software. SpamAssassin comes out on top, CRM114 comes out on the bottom! Interesting. He mentions Gary Robinson, second only to Paul Graham as an anti-spam guru. Gary's got a web page and an article dealing with anti-spam. Here's an article where he answers Whi Chi? I.e., why use chi-squared?
A Tutorial on Learning With Bayesian Networks -- cited by Gary Robinson

Tuesday, June 22, 2004

Interesting articles from Developer.com today:
Learn to Program Using Python: Indexing Nested Tuples
Handling Exceptions -- couple of interesting tidbits.
Smart Clients: Windows Forms Flexibility with Web Application Ease -- haven't read it yet, but it sounds interesting.
SQL*Plus Tips for Oracle Beginners -- things like & parameters that I didn't know about!
Discover the Wonders of XSLT: Workflows -- I'm always trying to find out more about XSLT.
Earn 18% returns the easy way -- James O'Shaughnessy analyzed decades of data and dozens of strategies to develop the Cornerstone Growth portfolio. The best part? Trade just once a year.
Info-ZIP -- Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc.

Wednesday, June 16, 2004

The Great Computer Language Shootout revived. The first shootout stopped being updated in 2001. Someone decided to revive it. How cool is that?
Retired Diplomats, Military Commanders Fault Bush's Leadership (washingtonpost.com) -- "Never in the two and a quarter centuries of our history has the United States been so isolated among the nations, so broadly feared and distrusted."

Tuesday, June 08, 2004

The computer-language shootout guy seems to like Bigloo, a Scheme implementation.

Lua is supposed to be embeddable, and is quite small and fast.
Parser stuff:

Parser definition in Wikipedia.

CS CODEDOM Parser -- a utility which parses the C# source code and creates the CODEDOM tree of the code (general classes that represent code, part of .NET Framework - namespace System.CodeDom). Also, many cool parser links.

DEVLIB.org: Programming: Compilers: Lexer and Parser Generators -- including a free parser generator that works with .NET.

GOLD Parser -- a free parser generator. Unlike common compiler-compilers, the GOLD Parser does not require you to embed your grammar directly into your source code. Instead, the Builder analyzes the grammar description and saves the parse tables to a separate file. This file can be subsequently loaded by the actual parser engine and used. Currently the GOLD Parser Engine is available in Java, .NET and ActiveX. [Open Source]

JB2CSharp -- A port of the Java-Bison/Flex software developed by the Serl project at the University of Colorado, Boulder. Parsers and lexers will be able to use C# actions. The open source .NET project Mono has requested the port, and here it is. [Open source, BSD License]

Flex for Microsoft Visual C++ 6.0 and .Net -- Describes how to build Flex using Microsoft Visual C++ 6.0 and .Net.

Friday, June 04, 2004

Open SMB port Tests -- lots of SMB- and NetBui-related stuff, including useful MSDN info.

Friday, May 28, 2004

Monday, May 24, 2004

Io: a small programming language. Discussion includes this useful FAQ, which includes the question: How would you compare Io to Lua, Python, Ruby, Perl and Java?

Wednesday, May 12, 2004

coLinux: Linux for Windows Without Rebooting by KIVILCIM Hindistan -- Trying Linux just keeps getting easier. Knoppix and other live CDs let you take Linux with you on CD and USB keys, but you have to reboot to run your software. What about Windows users who want to use Linux in conjunction with their existing systems? KIVILCIM Hindistan explores the world of coLinux -- cooperative Linux.

Netcat and Reverse Telnet by KIVILCIM Hindistan -- The venerable Unix utility cat has all sorts of uses, but it's limited to the local machine. Enter Netcat, a network-aware cat. KIVILCIM Hindistan introduces the Swiss Army Knife of networking.

Homemade Embedded BSD Systems by Michael Lucas -- BSD runs nicely on older PCs, but they can be noisy and time-consuming to set up. Worse yet, the hardware may be at the end of its life. Is there a better alternative to dedicated (and closed) hardware devices? Michael Lucas demonstrates using BSD on a low-power, low-fuss Soekris box.

Building a Parrot Compiler by Dan Sugalski -- Parrot, the virtual machine for Perl 6, is not just for Perl 6 anymore. It's a surprisingly high-level, high-performance target for all sorts of languages. Dan Sugalski demonstrates Parrot's capabilities by building a compiler for a simple, yet business-critical, 4GL. Dan is a coauthor of Perl 6 Essentials.