This is just a spot to keep miscellaneous links. It also shows you what a geek I am.
Monday, July 10, 2006
From Wikipedia, the free encyclopedia
Jump to: navigation, search
For multi-threaded programming, see Thread (computer science).
In computer science, the term threaded code refers to an implementation technique for programming languages that produces very compact code. Threading is a form of code consisting entirely of subroutine calls, written without the subroutine call instruction, and processed by an interpreter, which jumps to each successive subroutine in turn.
Threaded code is used in the Forth and early versions of the B programming languages, as well as many implementations of FORTRAN, BASIC, COBOL and other languages for small minicomputers.
The benefits of extremely compact code, in some cases, come at the expense of slower execution speed. However, in other cases there is a synergistic effect -- sometimes threaded code is smaller and faster than non-threaded code. In systems with virtual memory (where memory is simulated with a mechanical disk drive), threaded code may be hundreds of times faster than a less-compact design that does not fit in the available physical memory, because disk drives tend to be roughly a thousand times slower than random-access memory (RAM)."
Sunday, April 16, 2006
From Lambda the Ultimate:
E Thesis: Robust Composition
Mark S. Miller's PhD thesis on Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control is now online.
E rates as a (very) important language for anyone interested in ideas of messaging, distribution and security. The nice thing about a thesis (such as this one and Joe Armstrong's) is that it gives a nice historical account of the related work and influences.When separately written programs are composed so that they may cooperate, they may instead destructively interfere in unanticipated ways. These hazards limit the scale and functionality of the software systems we can successfully compose. This dissertation presents a framework for enabling those interactions between components needed for the cooperation we intend, while minimizing the hazards of destructive interference.
Great progress on the composition problem has been made within the object paradigm, chiefly in the context of sequential, single-machine programming among benign components. We show how to extend this success to support robust composition of concurrent and potentially malicious components distributed over potentially malicious machines. We present E, a distributed, persistent, secure programming language, and CapDesk, a virus-safe desktop built in E, as embodiments of the techniques we explain.
And from Joe Armstrong SICS home page: "Programming reliable systems (Ph.D. thesis)
making reliable systems in the presence of software errors.
Here are some ideas on how to make reliable systems that function even in the presence of software errors. This thesis describes the thinking behind Erlang, Concurrency Oriented Programing, UBF and building reliable systems from communicating components."
From Erlang:
Related links:
Wednesday, February 15, 2006
Salamander is a .NET decompiler that converts executable files (.EXE or .DLL) from Intermediate Language (IL) binary format to high-level source codes, such as C#, managed C++, Visual Basic.NET, etc. For more than 8,000 classes that have been tested, Salamander always produces equivalent and recompilable codes that are remarkably close to the original source codes.
you can try it online here
Another very interesting decomplier is Ankarino, a very powerful command line tool which is provided as an open source utility, so you can get under the covers and see how it works.
give it a whirl here"
http://groups.google.com/groups?hl=en&threadm=eWoEy3V8BHA.1380%40tkmsftngp03"
Thursday, February 09, 2006
Some great suggestions from this article!
"Debugging Asynchronous Applications?
Posted by Cliff on Wednesday February 08, @08:20PM
from the mind-your-breakpoints dept.
Communications Programming
duncan bayne asks: 'I'm attempting to debug a complicated telephony application, written in C#, that's almost entirely event driven. This is the first time I've debugged a large asynchronous application that isn't a GUI, and I'm curious to know what advice the Slashdot crowd has to share - have you any recommended tools, best practices, or common pitfalls to avoid?'"
I'm not sure if you are 2.0 yet, but if you are, start by taking a look at VS2005. In the debug department, enhancements include better JIT debugging, stepping into XML/Web services from a client, and state-driven object inspection. Object Test Bench (OTB) is a simple object-level test utility. You create instances of your objects, invoke methods, and evaluate results... to shorten the task of coding, debugging and re-coding. I'm not sure about telephony specifically, but WSE/WS* SOAP layers can be hard to manuever through in a debugger, yet VS2005 does it quite nicely via WSDL.
One other suggestion... "event bus" apps like you describe are good candidates for capturing as much runtime data as possible, so make sure you adjust your build parameters and do as much of that as possible, especially in problem assemblies. Oh, and don't forget to build nUnits. Sounds like you're walking into some prewritten code, but the effort might be worthwhile.
Tuesday, February 07, 2006
A new release of Shriram Krishnamurthi's programming languages book is available."
Scheme, Haskell, Prolog. He implements a lot of this crap in the book.
Friday, February 03, 2006
On this site you'll find some quick links to several sites about .NET, ASP.NET, upcoming technologies etc as well as links to my own articles and other projects I'm participating in.
I hope you enjoy your visit on my site! Also check out my technical blog which is updated far more regularly than this website :-).
Author: Bart De Smet, MVP on Visual C#
Thursday, February 02, 2006
There was Microsoft's Intentional Programming which does something along the line of what you want though less ambitious. SCID is a similar thing that was thought up earlier.
By Derek Elkins at Thu, 01/26/2006 - 18:59 | login or register to post comments
Re: SCID
SCID looks neat, thanks for the link! (Although, at least at first blush it reads like a hyper IDE vs. something which can transmogrify between horribly different languages.)
By raould at Thu, 01/26/2006 - 21:24 | login or register to post comments
Not automated but...
It can't really be automated at this point, but there are efforts being done for more language interoperability. .Net is one of the examples, and a lot of people are now reusing the JVM in order to be 'Java compatible'.
However for both of theses you need to target either an high level language (by generating Java or C# sources) or directly the VM bytecode (JVM or CLR). That's why I wrote NekoVM which defines an easy-to-target intermediate language and provide the VM and the libraries to run it.
It should greatly ease the language compiler implementation by providing a common runtime. And if you write a Neko -> Your language converter, you will be able to reverse the process, and translate other languages targeting Neko back into yours."
Thursday, January 26, 2006
I know there was C? topic before. But the discussion really had more to do with Xen (XML, DB integration) than the Polyphonic C# concurrency part. I'm an Erlang newbie myself, but I already can see that asynchronous communication is the common thread to both languages and this approach is going to be big - can be used from embedded system to biz process orchestration.
Looking at the Santa Claus sample, C? code seems to be quite compact and the syntax extension to C# is minimal. However process/thread creation is implicit, and it seems to be a little more difficult to reason. I would imagine a solution in Erlang clearer, but maybe longer.
Any thoughts/pointers on the pros and cons of different concurrency approaches? We really should have a 'great concurrency shootout'."
MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get shit done, fast. We took all the good ideas we could find from our Python, Objective-C, etc. experience and adapted it to the crazy world of JavaScript.
Reliable
MochiKit has HUNDREDS of tests. We build real applications with this thing. So even though development can move fast, we make sure to get tests written. This also makes platform compatibility issues much easier to detect and resolve than the 'guess and check' style of quality assurance seen in some of the other libraries out there. It's not broken.
Documented
You're unlikely to find any JavaScript code with better documentation than MochiKit. We make a point to maintain 100% documentation coverage for all of MochiKit at all times. You don't have to fumble around reading our source code or leafing through examples to find out how something works.
Evolutionary
MochiKit can adapt to anything you throw at it. It makes no assumptions about how your code needs to act, and it has hooks (by way of the the adapter registries) that makes sure that you can define your own comparisons, programmer representations, iterators, or DOM node coercion for any object in any way you wish. We'll gladly serve you all the Kool-Aid you want, but we're not goi"
This seems like a nice summary of various approaches, and provides an interesting prespective on prototype based languages in general and on Javascript in particular. Some of the libraries mentioned were discussed here before.
It is tempting to compare this to various documents trying to show 'how to add objects to Scheme/Haskell/etc.' The solutions are rather similar..."
Wednesday, January 25, 2006
Posted by ScuttleMonkey on Wednesday January 25, @08:56AM
from the focus-on-the-problem dept.
An anonymous reader writes 'Content management specialist Seth Gottlieb has written an easy to understand how-to on selecting an open source CMS. Gottlieb is also responsible for the whitepaper 'Content Management Problems and Open Source Solutions' which summarizes 15 open source projects and distinguishes between open source CMS and proprietary software selection.'"
Tuesday, January 24, 2006
(Reflections on a Mythic Beast Who's Quite Remarkable, at Least.)
I NEVER saw a Purple Cow;
I never hope to See One;
But I can Tell you, Anyhow,
I'd rather See than Be One. "
Monday, January 23, 2006
Sunday, January 22, 2006
Thursday, January 19, 2006
The power and simplicity of GParted on a biz-card sized LiveCD.
The CD aims to be fast, small in size, and use minimal resources
to get that disk partitioned the way you want it. GParted LiveCD is based on Slackware Linux and uses Xfree86's Xvesa, the lightweight Fluxbox window manager, and the lastest 2.6 Linux Kernel.
Being up to date is important! GParted LiveCD will be updated along side the GParted source releases and have minor releases when bugs are fixed or new filesystem tools become available.
GParted LiveCD runs on most x86 machines with a PII or better and a Vesa 2.0 compatible video card."
Wednesday, January 18, 2006
I was involved in an eternal debate again. This time I was very much convinced that it was going to be an easy one as it is one of my favorite topic. DataSets Vs Custom Entities. I can already see few eyebrows raised. J I know most of the times the answer is ‘It depends”. The job was cut out for me as I had to defend an Architecture which was using Custom Entities as data carriers. I am glad that I had to defend custom entities as that’s my personal preference as well. I probably won’t go into the complete details of my defending points. Probably, I shall write another post which will include all the points to consider before deciding upon the right data carrier for any application."
Are these Microsoft guys? In any case, Siram Krishnan (previous post) mentions Roshan James as being an inspiration to him. Roshan James has some really cool Scheme posts.
Confluence
Over the last few days, there has been one thought running in my head - 'All roads lead to Lisp'. I've tried to get it out of my head but like a tune from the radio, it has firmly lodged itself into my head and refuses to let go. Why this state? Call it a confluence of several items. In particular, these 3.
- Joel Spolsky goes off and writes one of his best articles ever called 'The Perils of Java Schools' which talks about the perils of not learning Lisp. As someone who has been playing catch-up with functional programming since I wasn't taught Lisp at college, I definitely agree. I forwarded that article to some senior folks internally - which in turn lead to some interesting conversations
- I've been working on a prototype of something at work - where I started off the usual imperative programming style. Realizing that this wasn't going to scale, I rewrote it in functional style making full use of C#'s anonymous delegates and iterators. When I had to make a major change, it was *so much* easier to add in extra functionality since I was just passing closures around.
- After 2 hectic work-filled weeks, I took advantage of a long weekend to curl up with a book which has been called the best book on programming ever - Peter Norvig's Paradigms of Artificial Intelligence Progra"
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\Samples\clisp"
Tuesday, January 17, 2006
L Sharp is free software distributed under the terms of the GNU General Public License. You can download the latest release from Sourceforge. You may also want to read Rob Blackwell's Web Log.
This documentation is a work in progress and is subject to change."
Monday, January 16, 2006
Tuesday, January 10, 2006
* Technical Overview
* First chapter of a book describing the system
* Back of an envelope summary (my first source)
From the examples in the chapter, I thought it looked surprisingly simple to use - comparable to adding contracts in DbC, for example. I guess the analysis requires a little more effort?"
The smartest thing to do would be to find a way to use one of the perfectly good markup languages that have been designed and debugged and have validators and authoring software and parsers and generators and all that other good stuff. Here’s a radical idea: don’t even think of making your own language until you’re sure that you can’t do the job using one of the Big Five: XHTML, DocBook, ODF, UBL, and Atom."
Originally seen at Tim Bray: Don’t Invent XML Languages on Lambda the Ultimate
Monday, January 09, 2006
AT&T Wireless: 2125551212@mobile.att.net
Cingular: 9995551234@mobile.mycingular.com
Nextel: 7035551234@messaging.nextel.com
SprintPCS: 7775551234@messaging.sprintpcs.com
T-Mobile: 9995551234@tmomail.net
Verizon: 2125551212@vtext.com
Sunday, January 08, 2006
" What is a Photograph?

Friday, January 06, 2006
Martin Croxford, Praxis High Integrity Systems
Dr. Roderick Chapman, Praxis High Integrity Systems
High-integrity software systems are often so large that conventional development processes cannot get anywhere near achieving tolerable defect rates. This article presents an approach that has delivered software with very low defect rates cost-effectively. We describe the technical details of the approach and the results achieved, and discuss how to overcome barriers to adopting such best practice approaches. We conclude by observing that where such approaches are compatible and can be deployed in combination, we have the opportunity to realize the extremely low defect rates needed for high integrity software composed of many million lines of code."
This article refers to Communicating Sequential Processes (CSP), the Hoare invention.
Thursday, January 05, 2006
Computer languages, links to computer language books like SICP, HTCP, etc.
Friday, November 04, 2005
To implement a Microsoft® Windows® Script engine, create an OLE COM object that supports the following interfaces.
Summary
Adding scripting support to your application is one of the most valuable things you can do for your client, letting them add value to your software, and keep it current over time with little or no overhead from the developers. Your users will be able to modify behavior at runtime, change business rules as the market changes and fix subtle bugs as they appear until better fixes come along in the form of compiled code. It is one of the most powerful techniques today employed my many varied business applications. But guess what? Its not very easy to do in .Net. In this article Ill show you how you can use some of the techniques of the past mixed with the .Net framework to add that scripting ability to managed applications, with a touch on a subject that was never considered for scripting: WebServices , including asynchronous calls to them.
Friday, October 28, 2005
Another C? page at MS research.
An Overview of C?
Integrating XML into Popular Programming Languages
Dare Obasanjo
Microsoft Corporation
January 13, 2005
Summary: Dare Obasanjo covers the C? programming language created by Microsoft Research by augmenting C# with constructs to make it better at processing information, such as XML and relational data. (18 printed pages)
This class library provides a Design by Contract framework for use in .NET projects. A Visual Basic .NET version is also included in the download but the following discussion is in C#. In both cases the library can be used by a .NET client written in any .NET language. (Though if the VB.NET version is used IntelliSense code comments will not be visible in the client application.)
"Design by Contract" is a method made famous by Bertrand Meyer in the Eiffel programming language where support is built right into the language constructs.
See Chapter 11 of Object-Oriented Software Construction - 2nd Edition (Prentice Hall, 1997) by Bertrand Meyer and Building Bug-free O-O Software: An Introduction to Design by Contract.
An Overview of the Singularity Project
Singularity is a research project in Microsoft Research that started with the question: what would a software platform look like if it was designed from scratch with the primary goal of dependability? Singularity is working to answer this question by building on advances in programming languages and tools to develop a new system architecture and operating system (named Singularity), with the aim of producing a more robust and dependable software platform. Singularity demonstrates the practicality of new technologies and architectural decisions, which should lead to the construction of more robust and dependable systems...
Singularity... starts from a premise of language safety and builds a system architecture that supports and enhances the language guarantees.
An interesting overview of what sounds like an intersting project.
The choice of implementation language is also interesting:
Singularity is written in Sing#, which is an extension to the Spec# language developed in Microsoft Research. Spec# itself is an extension to Microsoft’s C# language that provides constructs (pre- and post-conditions and object invariants) for specifying program behavior. Specifications can be statically verified by the Boogie verifier or checked by compiler-inserted run-time tests. Sing# extends this language with support for channels and low-level constructs necessary for system code....integrating a feature into a language allows more aspects of a program to be verified. Singularity’s constructs allow communication to be statically verified.
An interesting aspect is the support for meta-programming, which is implemented in an unusal manner:
Compile-time reflection (CTR) is a partial substitute for the CLR’s full reflection capability. CTR is similar to techniques such as macros, binary code rewriting, aspects, meta-programming, and multi-stage languages. The basic idea is that programs may contain place-holder elements (classes, methods, fields, etc.) that are subsequently expanded by a generator.
Many other intersting design decisions are discussed in the paper (e.g., various DbC facilities), so do check it out.
Tuesday, August 30, 2005
ASP Code Analyzer - A simple tool to find unused subs, functions and variables in your ASP code.
DHTML Tree View of Arbitrary Depth using AJAX
Automated Document conversion with OpenOffice
A word-wise Html text compare and merge engine - C#.net implementation of html text compare and merge engine based on similar algorithm as unix diff
.NET Scheduled Timer - A timer that easily supports absolute schedules like run at 4:00 AM every day or at 5:00 PM on Fridays.
A Fast CSV Reader - A reader that provides fast, non-cached, forward-only access to CSV data.
Sunday, October 24, 2004
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
- C. A. R. Hoare: Communicating Sequential Processes, Prentice-Hall, ISBN 0-13-153271-8. This book has been updated by Jim Davies at the Oxford University Computer Laboratory and the new edition is available for download as a pdf file at the Using CSP (http://www.usingcsp.com/) website.
- A. W. Roscoe: The Theory and Practice of Concurrency, Prentice-Hall, ISBN 0-13-674409-5. Some links relating to this book are available here (http://web.comlab.ox.ac.uk/oucl/publications/books/concurrency/).
- Gregory R. Andrews: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, ISBN 0-201-35752-6
Friday, October 22, 2004
.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
Friday, October 15, 2004
Monday, October 11, 2004
Sunday, October 10, 2004
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."
Saturday, October 09, 2004
Friday, October 08, 2004
Tuesday, September 28, 2004
Wednesday, August 04, 2004
There's also the "snail book" -- SSH: The Secure Shell: The Definitive Guide -- from O'Reilly
Saturday, July 24, 2004
Tuesday, July 20, 2004
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
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."
Sunday, July 11, 2004
Thursday, July 08, 2004
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 - |
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 - |
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 - |
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 - |
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 - |
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 - |
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 - |
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 - Tuesday, June 29, 2004Monday, June 28, 2004
Production Debugging for .NET Framework Applications -- Includes Debugging Memory Problems, Debugging Contention Problems, and Debugging Unexpected Process Termination.
You can download the latest version of the Debugging Tools for Windows toolkit from the Microsoft Web site at http://www.microsoft.com/ddk/debugging. 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
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.
Monday, June 21, 2004
Digital Biology Interest Group - BIOMIMETICS RESEARCH AT UNIVERSITY COLLEGE LONDON -- These are the people using genetic algorithms to breed superfast Formula-One race cars. Very many cool projects.
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."
Wednesday, June 09, 2004Tuesday, 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. Monday, June 07, 2004Sunday, June 06, 2004Friday, June 04, 2004Friday, May 28, 2004Monday, 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?
Friday, May 14, 2004
Interesting. A4 Paper Format / International Standard Paper Sizes. All based on the square root of 2.
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. Tuesday, May 11, 2004Monday, May 03, 2004Friday, April 30, 2004Wednesday, October 30, 2002Friday, September 06, 2002
From Slashdot:
Various Microsoft news tidbits contributed by numerous readers: Phoebus0 notes that Microsoft's Vice-President in charge of Windows development states flat out that Microsoft products aren't engineered for security, absolutely guaranteeing he'll have tomorrow's Ditherati quote. Many readers submitted this Knowledge Base article stating that Microsoft is mystified by a wave of successful hacks on assorted versions of Windows (there's also a news report on this). Microsoft has another security bulletin out on the digital certificate spoofing bug that has caused them so many problems recently. Read More... Thursday, September 05, 2002
This site has really cool-sounding stuff (which I like): http://www.paulgraham.com/, including a Bayesian algorithm spam filter, and a LISP-like language they're creating from the ground up called "arc."
Tuesday, September 03, 2002Monday, August 05, 2002
The Scheme language and the excellent textbook used for it, Structure and Interpretation of Computer Programs, which also makes a good, general-purpose computer programming textbook.
Here is S-Lang, a C-like embedded scripting language.
The ultimate scripting language reference! http://www.softpanorama.org/Scripting/index.shtml. Compares 'n contrasts 'em all, complete with beaucoup references for each language.
Tuesday, July 16, 2002
"There is a (not quite) new effort by the IETF to standardize a framework for network applications, called BEEP, the Blocks Extensible Exchange Protocol. Standardized in RFC3080, it takes care of all lower level tasks an application level protocol has to like framing, authentication and capabilities negotiation in a modular and lightweight way. In the current issue of Internet Packet Journal (a quite nice and free-as-in-beer technical publication by Cisco) is a well written Introduction to this framework. Why isn't anyone adopting this protocol besides some Java libraries like beep4j and PermaBEEP and a C library called RoadRunner. I couldn't find any applications based on this protocol, regardless of it's promised capabilities. Is everybody still inventing his own application layer protocol?"
http://ask.slashdot.org/article.pl?sid=02/07/15/212226&mode=thread&tid=99 Saturday, July 13, 2002
Scientific Battlegrounds in Diets
There's an interesting article currently carried by the NYTimes (free reg. yada yada) that talks about the world of dieting, National Institutes of Health, Atkins as well as low-carb vs low-fat. The interesting thing, from a scientific perspective, is the sheer lack of study - and the reticence from the scientific community to question the party line.
Software evolution article in Salon: http://www.salon.com/tech/feature/2002/04/08/lehman/print.html
The guy claims that software evolves and that you have to take these dynamics into account as a software engineer or manager. Wednesday, July 10, 2002
IBM's Sash Weblications for Windows is a dynamically configurable programming environment for rapidly building and deploying platform-integrated desktop applications using JavaScript and DHTML. This programming environment enables Web programming beyond the browser, and the resulting applications are integrated seamlessly into the common desktop environment and take advantage of the latest standards in Web services.
Wednesday, July 03, 2002
ERD Apps a Missing OSS Niche?
Pennyless Developer asks: "So the time comes when one must design a brand spankin' new database schema. You want to use an Entity-Relationship diagramming tool with hopefully some automatic schema generation tools, but do not have much money to purchase anything like Rational Rose. Like a true geek well versed in OSS, you head off to scan sourceforge, freshmeat, and google. But alas, it appears no such applications exist in the OSS world, at least none beyond the planning stage. The question I pose is this: What useful, OSS/Free/Cheap ERD applications have you found and used? Or do developers do all their ERD work under an evaluation period of commercial software?" http://developers.slashdot.org/article.pl?sid=02/06/30/2323205&mode=thread&tid=156
Pressman software engineering links: http://www.rspa.com/
Great software engineering links: http://www.cs.ubc.ca/spider/kwong/se.html Great software syllabus from U of M: http://www.engin.umd.umich.edu/CIS/course.des/cis375.html Another bunch of links: http://www.tantara.ab.ca/info.htm Thursday, June 27, 2002 |