Finding the real problem

The poster of this thread on the PLT discussion list wondered why Scheme code is so much slower than Python. It was interesting to see how the question was answered because there were at least 3 levels to the problem:

  1. The source code to the solution itself
  2. How the source code worked “under the covers” (it called into C functions)
  3. An implementation in Scheme similar to how Python worked under the covers

Finding an explanation didn’t just involve comparing the code, it required understanding that the Python code actually called into C functions, and then converting the Scheme code into a similar “stateful” style of program. In programming, thinking is required!

GoboLinux

GoboLinux is a modular Linux distribution: it organizes the programs in your system in a new, logical way. Instead of having parts of a program thrown at /usr/bin, other parts at /etc and yet more parts thrown at /usr/share/something/or/another, each program gets its own directory tree, keeping them all neatly separated and allowing you to see everything that’s installed in the system and which files belong to which programs in a simple and obvious way.

Gobo looks like it might be a nice Linux to try out!
(via Carl’s REBOL Blog)

A programming interview checklist

Leppie posted this great interview checklist. I’m mirroring it here so that I will always have a copy.

  • Ask to see a portfolio, if not available online
  • Ask to see some of the code of the best/lead developer, this will be the best expectation
  • Ask to see the version control log and unit test log, dont fall for ‘yes, we have/do that’
  • Ask that the best/lead developer be present at the interview
  • Make sure the best/lead developer is better than you, else you will be doing his job
  • Ask to see some run of the mill code, any random snippet
  • Ask them to be very precise on the responsibilities of the applied position, make them contractual
  • Ask to look at their DB structures
  • Ask to see architectural and design documentation

LINQ for R6RS Scheme

The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities.

Leppie has covertly added LINQ support to another language, R6RS Scheme!

Please don't assume Lisp is

Please don’t assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list.

Kent Pitman