Bring rogue programmers in from the cold.

One interesting resource for programmers is "The Daily WTF". It is a great place to read about things that should *not* be happening in your organization: antipatterns for code and business processes (mostly code).

A recent "The Daily WTF" discusses the plight of a company where a “rogue” programmer built an inefficient spreadsheet for a supervisor, only to find it was too popular and those inefficiencies brought down the database by overloading it with connections. Operating outside of IT, the understanding of enterprise requirements was not there. On the other hand, many have argued that rogue programmers exist because of unresponsive IT departments, and they provide a valuable service.

Category:

Excel Spreadsheet Transformations

Today I had an request to transform data that came from a printed report into usable Excel data. The data had been printed to PDF, so a PDF to Excel converter tool did the bulk of the work. However, even after being placed in Excel, there were two remaining requirements to achieve this goal. The first was to remove the recurring headers and footers of the report. The second was to reassemble each reported item's three lines of data back into to a single coherent row of data.

To do the initial transformation (removing the headers) I used the following VB for Applications code:

Category:

Trusted connections between XP and a SQL instance on a different machine.

Often in production ASP.NET environments the web server is not part of a domain (per security guidelines) and yet would benefit from a trusted connection to the SQL server. Using trusted connections is well explained in this article:

Using trusted connections with asp.net.

In my development environment I maintain SQL on a different machine than I develop on as well. Although the best solution to trust is using proper application pools, Windows XP (from which I write code on and run my IIS tests) does not support them. In this case, the "editing the default context" solution works well.

Category:

Domain specific languages, are they worth it?

Yet another interesting discussion of Domain Specific Languages popped up:

http://www.artima.com/forums/flat.jsp?forum=106&thread=155752

Domain specific languages (DSLs) are scripting languages (usually) built on top of a traditional environment. For programmers who have written code only in a single language model, moving to a DSL model can be a bit of a shock. The fundamental idea is that when your base programming language is becoming constraining in some way, you can build a DSL on top of it to remove some of the limitations. (Another option is migrate to a more powerful language, but sometimes that is too drastic of a step to take.)

Category:

Google Analytics

Google is testing a new service: "Google Analytics". If you already use Ad Words, then this additional reporting can be useful for determining which words are getting you the best results. More than a hit counter, the product allows you to monitor four items to help you understand your marketing successes and failures.

  1. Campaign tracking variables: These are URL elements you can use in web advertisements, e-mails, etc. These codes allow you to track the number of users arriving from different marketing efforts. Most marketing people have figured out how to use different landing pages or similar variables to track marketing responses, but these are particularly useful when combined with the other Analytics features.
Category:

FireDaemon

From time to time it is nice to be able to run a program as a service. If you have written the software yourself (especially with .NET) creating services isn't actually all that hard. However, for third party programs or as a quick fix, nothing beats FireDaemon. FireDaemon is a low cost solution that can convert nearly any executable into a daemon. Simply specify the executable to run in the background and set the startup properties, security account, command line, etc and you are off. This is ''particularly'' useful for those programs that seem like they should have been background capable to start with, such as some backup tools that only operate while a user is logged in.

Category:

Small Business Backup Solutions

This is one of those questions that should be asked about more often, "How do I protect my data". Many small businesses take unnecessary risks with their livelihood by ignoring the most basic concept of computing: the value of your data. Since most small businesses are based on Windows platforms, the information here is tinged with Windows terminology, but the ideas are generic enough to use in most environments.

Business owners understand the value of their data, otherwise there would be little need for a computer system. (Even if you only do word processing and a few spreadsheets, think of the difficulty of recreating that information. If you don't like that idea, then you need to create backups.) What is often not understood is the risk the data is placed in every day simply by using their computer system. Let us look at some common small business data environments to understand the risks and some ways to mitigate those risks.

Category:

SNMP and syslogd

Logging is a critical task to perform on your network so you can perform baseline analysis and periodically check up for potential trouble. Most network equipment has SNMP (simple network management protocol) capabilities to send messages about various events that occur. But where to send them?

A cheap and easy way to handle SNMP is to send the messages to a Linux box running snmptrapd, which can log all the events. Simply install "net-snmp" tools, either from source or package and configure to run at your standard run levels for background services. One trick is isolating the messages from all the other messages on your system. To do this, change the startup options for the daemon to "-Ls0 -p /var/run/snmptrapd.pid". By default this would read -Lsd which causes the default message log to be used, which can be very crowded. By sending to log "local0" you can then edit syslog.conf and add:

Category:

CutePDF

Many people need to generate PDF files occasionally, but it can be an expensive proposition to get the latest version of Adobe Acrobat for every user in your office to create basic PDF files. Acrobat comes with many wonderful features for create sophisticated PDF files. Digital signing, encryption and forms that post to web servers are among a few that Timewarp Technologies uses Acrobat for. However, when all you need is get some pages from some unusual program and provide the results to a user without the ability to read the source or resulting files, PDF is a great solution. For that matter, if the end consumer should not be modifying the document, I highly recommend sending PDF instead of Word documents as they are safer and more robust.

Category:

Daemon Shield

Linux is an excellent operating system to deploy in the roles of firewall and web server. Low and no cost options are available and it requires very few system resources to do a lot of work. Because it often is deployed on the "edge" of the network, it can be a target for brute force attacks.

Daemon Shield is a program that scans the log files and shuts out IP addresses that appear to be performing brute force attacks. It works for SSH and PAM modules and lives in the background. Highly recommend as a complement to normal security precautions such as strong passwords and limiting exposed services.

Category:

Pages

Subscribe to Timewarp Technologies, LLC RSS