2003-07-25

Regular Expression Library -- presented by ASPSmith.com Training

Regular Expression Library -- presented by ASPSmith.com Training: "Welcome to RegExLib.com, the Internet's first Regular Expression Library. Currently we have indexed 305 expressions from 88 contributors around the world. We hope you'll find this site useful and come back whenever you're looking for an expression for a particular task, or have just figured out a new expression that does something useful. Thanks!"

And that's a "good thing".

AspHeute.com - English Content Section

AspHeute.com - English Content Section: "Welcome to the English content section of AspHeute! Here you can find our most popular high-tech articles from various fields, most of them worldwide firsts in the respective fields. Written by top-notch programmers, published first in German language. "

Neat code examples!

2003-07-24

Dan Bright's .NET Weblog

Dan Bright's .NET Weblog: "I took the command prompt registry patch (thanks to Sudhakar via Matthew) and modified it a bit to offer a regular cmd prompt, a VS.NET 2002 cmd prompt, and a VS.NET 2003 cmd prompt.

I just didn't think that the one prompt was enough I guess. "


Nice!! I love this idea =)

nBot, a two wheel balancing robot

nBot, a two wheel balancing robot: "This robot was featured as NASA's Cool Robot of the Week for 19 May 2003. Thereafter Scientific American's online website, SCI/Tech Web Awards, honored the NASA page as one of the top 10 engineering and technical web sites for 2003, referencing nBot in its text. "

VERY Slick! I bet you there some kind of PLC in that dude ;-)

2003-07-23

PLC Simulator - Free from TheLearningPit.com

PLC Simulator - Free from TheLearningPit.com: "PSIM is actually three distinct programs combined into a single package. First, PSIM contains a PLC Ladder Logic editor that allows users to create and edit PLC programs using Allen Bradley PLC-2 family instructions. Secondly, PSIM emulates the scanning sequence of a PLC. When placed into the 'RUN' mode, the users program is scanned and the appropriate I/O is updated just as would occur in an actual PLC. Thirdly, PSIM contains a number of animated simulations which respond accurately to the inputs, and outputs of the emulated PLC. A conveyor based filling line, Traffic intersection and Batch mixing simulations present life-like challenges for the student programmer."

Today at our new almond plant I was working along side the engineers who were programming the PLC's. To do that they use a language called "Ladder Logic". They were using a visual editor to write out the logic. It kind looks like something that should be called VisualAssembler.

It's an interesting level of abstraction. It was intended to be read by electricians. Some codes resemble switches which could be a bit in memory. They line up all these codes to do something like "when this bit is on turn this switch on".

I posted a link to a simulator if your interested =)

IngoRammer.Com - Ingo Rammer's Weblog: Delegates, Anonymous Methods and Refactoring

IngoRammer.Com - Ingo Rammer's Weblog: Delegates, Anonymous Methods and Refactoring: "Agile development processes mandate a certain amount of refactoring. If you for example encounter an application like this ...
using System;

class app
{
static void Main()
{
for (int i = 100;i>-2;i--)
Console.WriteLine(i);
}
}

... it could easily be refactored this way, yielding a much more readable version. I'm however still not sure if Don really wanted to show us the power of refactoring, or if he actually wanted to scare us away from anonymous methods ;-) "


LOL!

Ted Leung on the air

Don posted something about delegates and Ted replied:

Ted Leung on the air: "Don Box's posting on delegates is a little funny. He basically shows how delegates can be used to reduce the coupling between two pieces of code, because one end no longer has to be aware of the interface being exported by the other end. This is equivalent to removing some type information from the program. So if removing some type information is good because it reduces coupling, then why not remove all type information? "

Ahhh...see...when I apply the mindset described by Adam that statement makes sense to me.

Here's what I'm seeing...it's no longer a world of "which programming language to use?" it's "which programming paradigm to use?". I like that argument better. To me it makes it less of a religious war and more of a "this tool is better suited for..." decison.

programming mindsets

The Flangy News - The Never-ending Soda: "A coment on Joel on Software's discussion board (not from Joel himself) suggested that a first programming language should be one that differentiates pass-by-value and pass-by-reference (which might include C++ but exclude C on a technicality) because it's hard to get the differences right later on.
Nuts to that.
Python has only one style of passing objects (everything is an object) to functions. And it turns out that it's quite complicated to explain what variables in Python are and how they're passed, especially if you're coming to it from a C-centric point of view.
In C a variable, such as 'int someNumber' is essentially a name for a memory location. 'someNumber=3' to the compiler means look up which memory address someNumber stands for and cram a 3 in that slot. A pointer is a memory address that contains a number that should be interpretted as a different memory address.
Variables in Python are rather divorced from the concept of memory addresses. Instead of having variables it is perhaps more correct to say that Python has names and namespaces. You don't assign a value to variable, you bind an object to a name in a namespace.
In C a variable has a type (which can be easily circumvented by casting), so 'someNumber' is a slot that normally only can be set to 'int' things. In Python type is associated with the object, not the name. Since you don't assign a type to names in Python, you can bind any sort of object to a name, and this freaks out the static typing crowd.
This does NOT mean that types are freely mixable in Python. 3 + '1' throws an exception because the types are incompatible. (Perl has separate addition and concantenation operators. VBScript will convert types behind your back. Yuck and yuck.)"


What a great explaination!

I ususally strugle with something unless I can intuitively understand it. Dynamic languages bothered me because I never developed a comfort level. But with that as a mindset I think I would quickly become comfortable with them.

It may be time to pull out the python books again =)

2003-07-22

Nelson Bay, Halifax Park Australia - underwater panorama - Full Screen QTVR from panoramas.dk

Nelson Bay, Halifax Park Australia - underwater panorama - Full Screen QTVR from panoramas.dk

I bet Sean would enjoy this site =)

Software Development Consultancy - Reflection IT

Software Development Consultancy - Reflection IT: "I'm Fons Sonnemans, the man behind Reflection IT. I'm an experienced software developer, architect and trainer specialized in Microsoft .NET. As an independent freelancer I help organizations to make the most out of Microsoft .NET. Please have a look at my resume (sorry in Dutch only)."

Fons has a pretty neat collection of .NET code.