Author Archives: David Martin

About David Martin

Dave is the owner of I/O Technologies Inc, a software development company providing tailored software solutions to businesses across the United States.

AstriCon 2012 in Atlanta

I’m writing this during a break from sessions at Astricon in Atlanta. It’s a conference hosted by Digium, the main developers of Asterisk. What’s Asterisk? It’s an open source Voice Over IP (VOIP) phone application that provides a host of functions and features for businesses large and small. Our Asterisk server currently handles a number of phone lines as well as our internal phone system. We use it to manage inbound and outbound phone traffic for the two companies that run from our office.

So far today, we’ve been reviewing the basics–how to download, install and configure Asterisk. Most of this has been familiar territory. But there have also been a number of neat tidbits that I’ll be able to incorporate as soon as I return to our office–maybe even sooner. For example, I’ve finally come to understand what a number of the settings in sip.conf actually mean–rather than simply hacking one of the sample files that ships with the software.

Going forward, I hope to expand I/O Technologies’ offerings to include VOIP installation and support services. The sessions and vendor displays serve as powerful motivation to get moving in that direction!

Is the Upcoming Election Responsible for Non-Decision?

Over the past month, I’ve noticed that the number of inquiries and requests for proposals has been on the rise–and significantly. Part of the reason for the increase has to do with ramping up our marketing efforts, to get our name out there and market I/O Technologies Inc more aggressively. Another reason probably relates to increased optimism about where the US economy is headed.

But I’ve also noticed something else. The number of people who actually pull the trigger on new projects is very low–at least for now. The only ones that have moved forward are crisis-level projects–something’s broken and has to be fixed right away. Otherwise, if a project can be viewed as discretionary, no decision is forthcoming no matter how many follow-up calls I make or emails I write.

Here’s my theory as to why: it’s the election, stupid. Regardless of their political leanings, I suspect that decision makers will continue to dawdle on making any commitments until after the presidential election. In all likelihood, they’ve carved out two alternative plans–let’s call them Plan O and Plan R. Our proposals most likely fall under Plan R, but would be modified or scrapped altogether under Plan O.

Granted, this is mostly conjecture on my part. I welcome your theories and comments on what other factors might be involved. At any rate, it sure will be interesting to see how this plays out in a few weeks, and what happens afterward.

Thanks for Doing Business With Us!

I really appreciate the folks who have taken the risk of working with a software company–oftentimes working with programmers they’ve never met in person–entrusting us with their data, business rules and trade secrets. Hopefully we’ve demonstrated that we’re worthy of your trust, and proven that our business relationship has been mutually beneficial.

Of course, I realize we’re not the only software developer available. Most days, I/O Technologies, Inc. probably isn’t anywhere near the top of your stream of conscious thought. But when you find yourself facing new challenges–whether that be responding to a new customer with unique requirements, complying with new government regulations, or changes in your way of doing business, please remember we’re ready and willing, any time you need us. We’re committed to helping you grow your company as rapidly and profitably as possible.

If you’ve realized tangible benefits from being associated with us, could I ask a favor? Can you think of a friend or business acquaintance who might benefit from implementing a tailored software solution? Would you be open to passing our name along to them? Or, how about posting a customer review on the Better Business Bureau’s web site?

Thanks in advance!

-Dave Martin

If You've Got the Project, We've Got the Programmers!

Business activity tends to be cyclical. Some companies get real busy during the summer and then slow down in the fall. Others are blessed with more work at the beginning of each month, or end of the year. Do you notice swings in the level of your business activity–where occasionally you’re very busy, and sometimes a little slow?

Although we don’t see a regular pattern, our software company also has its share of peaks and valleys. Sometimes, the demand for tailored software is extremely high. Right now, however, we’re all caught up, and eager to take on new projects.

So this is a great opportunity for you, especially if you’ve been thinking about automating a process or two, and need to get it finished quickly.

Like you, we strive for top-quality service and attention to detail. But right now we can dedicate laser-beam focus to your project, and turn it around with lightning speed!

Why NOW is a great time to explore your next tailored software solution:

  • You’ll get fast turnaround on your request for a free estimate.
  • Using Rapid Application Development techniques, we can quickly create a tailored software solution that’ll start improving productivity at your office immediately.
  • Your new website can be up and running in a matter of just a few days.
  • Your new desktop application can be ready for user acceptance testing before you know it.
  • Need help defining your project, or documenting the details? We’ve got the resources to assist with this, too!

Tailored software solutions can take the drudgery out of your workload. They reduce data entry errors, and improve productivity.

So contact us about that project you’ve been contemplating. You’ll be glad you did!

Spam Filter for Inbound Telemarketing Calls

Over the years, I’ve grown slightly more cynical and less willing to accommodate unsolicited sales pitches. I don’t try to be rude, or slam the phone down. But there are only 480 minutes in any regular work day. Too much of this time already gets chewed up in less-than-productive activity. So I try to save the telemarketer’s time (and mine) by getting to the point very quickly. In short: if they’re not responding to a request or product inquiry that originated from us, we ask them to send an e-mail to our general ContactUs address.

But some simply will not take “No” for an answer. Some try calling repeatedly, dialing different extensions at different times of the day–almost to the point of harassment. For these, we have the perfect solution:

At our office, we’ve written an application that displays our Asterisk phone system’s call history database. For any phone number that’s in the database, we select the record, then press the Blacklist button to add the phone number to our blacklist database. As a result, all future calls from these repeat offenders dump into our general voicemail box immediately. It would have been just as easy to simply disconnect the call, but we give them the option of leaving a voicemail just in case. Oftentimes they decide to stop calling of their own accord, once they realize we’re not going to waste valuable time explaining why we’re not interested.

An Idea for E-mail Security: myWhiteListPassword

I’m not sure whether there’s already an RFC in existence for this concept. I couldn’t find one, but frankly, didn’t spend a huge amount of time looking.

Anyway, consider this scenario: You purchase a widget from an online vendor, or sign up for a service. The vendor promises to send a one-time e-mail confirmation. But the e-mail doesn’t arrive immediately. You check your inbox again a little later, but still no e-mail. Then the phone rings or someone drops by for a chat, and you forget about it.

Meanwhile, your mail server’s spam cop took one look at the inbound vendor e-mail, and decided it was just too spammy to pass along to your inbox. So now what? Unless you’re in the habit of carefully reviewing the contents of your spam folder, that e-mail will be lost.

Considering how many legitimate e-mails are incorrectly rated as Spam, how about adding this protocol to the DKIM/SPF mix …

  1. Users log in to their mail server and update their profile, specifying a myWhiteListPassword. (Understand, this is a new field, so mail servers would need to be recompiled to include it, and mail programs like RoundCube, Outlook, SquirrelMail would need to be updated also.)
  2. Vendors add an additional field to their opt-in/shopping cart page. The new field prompts you for your myWhiteListPassword.

Here’s how the new feature would work: Let’s say you’re confirming your online order. In addition to providing your credit card number, shipping address, etc., you also type in your myWhiteListPassword. The vendor’s mail server includes that password in its outbound confirmation e-mail header. The first thing your mail server does is to check e-mail headers–comparing your e-mail address and your current myWhiteListPassword. If they match, the e-mail is whitelisted–bypassing further spam software intervention.

I realize this approach could open the door for spammers, if they sniff unencrypted e-mails for myWhiteListPassword values. When/if that happens, and you start seeing spam in your inbox, you’d need to change your myWhiteListPassword, and start using the new value when prompted for it online.

Or, maybe the mail server could offer several different automatic incrementing value schemes… Maybe it concatenates the myWhiteListPassword with the current day-of-the-month, or alpha day-of-the-week, or another hash. One example: specify a 12-letter word, like CONSIDERABLY or QUESTIONABLY. Your mail server concatenates the nth letter from that word to the front or back of your password. So in January, if your 12-letter word is CONSIDERABLY, the letter ‘C’ would be concatenated. In December, the letter ‘Y’ would be concatenated. And so on.

I’d welcome comments about this idea. Like I said, there wasn’t an RFC jumping out at me that promotes this concept. But maybe there are a thousand reasons why it wouldn’t work–and I just need to be enlightened.

How You Can Gain an Unfair Advantage

You’ve always had competition. In today’s environment, if you come in second, you run the risk of losing the race altogether.

But who says you have to settle for last place, or even second best? Here’s a little insight into what many of your competitors are doing, and how you can gain an unfair advantage…

1) Many of your competitors are determined to run their businesses using pre-packaged software. The trouble is, they spend more time trying to adapt their business processes to conform to the software instead of tailoring their software to accomodate their way of doing business. So the tail ends up wagging the dog. Employees gripe. Management gets frustrated by less-than-optimum productivity levels. And software that’s supposed to make life easier, actually ends up costing more than it’s worth.

2) Others have become hopelessly mired in custom software minutia. They tried designing massive custom software solutions to address every last need. They’ve invested inordinate amounts of time, energy and money writing up detailed specifications. They’ve spent countless hours reviewing specifications, polishing presentations for key decision makers, and ironing out every last detail. As a result, they blew past any realistic budgets or timelines long ago. And the pie-in-the-sky software solution everyone is banking on never actually materialized. Or it’s become so bloated and complicated as a result of trying to handle every conceivable scenario, that end users throw up their hands in frustration.

That’s why you have an unfair advantage. You’ll be taking an entirely different approach. You recognize that there truly IS a better way. You’re not going to be manhandled by pre-packaged software. Nor are you willing to get bogged down by bloated, impossibly-complicated custom software that never gets off the ground.

Instead, you’re going to start small. While you’ll always have the big picture in mind, you’ll start by identifying individual processes that could benefit the most from custom software. You’ll collaborate with a developer you trust, tackling one processs at a time.

The benefits of this approach are threefold: 1) Turnaround time will be a matter of weeks, not months or years. Your developer will be communicating with you on a regular basis–asking questions, demoing each feature, confirming that it meets your requirements. 2) The cost for individual components will be lower. You won’t be tying up huge down payments without having anything to show for it until a massive project is complete. 3) You’ll start realizing a return on your investment as soon as the first component has been implemented. And you’ll see continued improvements in ROI as each new component goes live.

At I/O Technologies, we believe custom software should make your life easier sooner than later. Give us a call to discuss how we can help you gain a competitive advantage and leave your competition in the dust.

What sets us apart from our competition.

Most programming companies will claim they write quality code. But after reviewing literally millions of lines of other programmers’ code, I believe I can say with some credibility that quality programming is scarcer than one might expect. Over the past 17 years, we’ve been asked to take over support and development of many applications written by other programmers. Some were well-written and reflected considerable attention to detail. Most resembled a bowl of spaghetti—overflowing with non-standard naming conventions, unnecessary indirect references, non-normalized database structures, and a copy-and-paste approach to coding that demonstrates precious little regard for future enhancements or support. When we inherit such projects, we’ve usually been able to revise them, bring them to a successful conclusion, and deliver a superior product that our customers will use for years.

When developing a new application from the ground up, we start by designing normalized data structures. Then we create a set of reusable classes and procedure code so the completed application will have a standard look and feel. Using standard naming conventions is a requirement for all programmers working at our company. So is the use of embedded commentary. As a result, future programmers will quickly be able to understand the purpose and functionality of a given section of code months or even years after it was first written.

Over the years we’ve acquired a considerable level of experience identifying what personal traits, test scores and interview results are predictors of a great programmer. And it shows: although our current staff is relatively small, I don’t believe you’ll find a more creative, intelligent or cohesive group to work on your project.

I realize we’re not much to look at: We don’t offer a polished sales presentation. You probably wouldn’t voluntarily choose to socialize with our geeky programming staff members. Winning friends and influencing people isn’t our strongest suit. But if you’re looking for a solid partner who’s been around the block a few times, who’ll listen to your needs, pay attention to detail, and demonstrate genuine concern for your company’s continued growth and success, I believe we’re worth a closer look.

Introducing Contact! – A Free Contact Manager

Running a business (or household) successfully requires careful
attention to detail. Several years ago we started developing a
contact manager to help us keep track of customers and prospects.
We’ve tinkered with it over the years–adding functionality here
and there as needs warranted and time allowed.We use this software in our office every day, and believe others
may benefit from it as well. So we’re giving it away to our
customers, friends, and anyone else who might find it useful.

Download a fully-functional version, install, and you’ll be up
and running in no time!

Download Now

For detailed instructions on how to install Contact!, click here.  (Requires Adobe Reader).

Here are just some of the features now available in the current version of Contact!:
Easy to use – this contact manager doesn’t bog first-time users down with complicated rules on how to use it.
Multi-user enabled. Simple to install on multiple workstations.
Drag-and-drop files into the attachments grid to associate them with individual contacts.
Add unlimited number of notes for each contact.
Sort/Search contacts by first name, last name, company, city, zip, and date entered.
It’s Free! This is NOT try-before-you-buy software. It’s 100% free. Click here to view the license agreement.

About I/O Technologies, Inc.

Founded in 1994, I/O Technologies Inc. provides software solutions for businesses large and small. We offer a wide range of products and services designed to empower people through great hardware and software – any time, any place.

Dave Martin
dmartin@iotechno.com
262-437-3239 x101

I/O Technologies Inc Logo

Input / Output Solutions for Business.

I/O Technologies, Inc.
W157N11647 Fond Du Lac Ave
Germantown, WI 53022
800-318-8529Web: http://www.iotechno.com
Blog: http://blog.iotechno.com

Bridging the Gaps Between Islands of Data

We’ve seen it many times. As a company grows, intelligent people within the company want to manage their data in ways that will help them do their jobs. What could be wrong with that? Not a thing. People can do some pretty amazing things with spreadsheets and database applications. As companies grow – especially from small to mid-size – the tendency for departments and individuals to create these data islands increases.

There’s one problem. These islands of data are just that: islands. Data is only as useful as it is accessible by the right people at the right time. Sometimes data can get stranded and inaccessible. Smart CEOs and managers take steps to ensure that both the input of data and output of data continue to be available.

Granted, there are definite advantages to independent data marts running within an organization.

  • They help bypass corporate bureaucracy and red tape.
  • They empower individuals to manage their workload, sometimes in very creative ways.
  • And they allow for changes to applications and macros can be made on the fly.

Unfortunately, the list of potential disadvantages is lengthier:

  • Uncontrolled data access. If you put the application on the network without security, anybody can see everything. On the other hand, perhaps your company’s decision makers make poor choices, not knowing the data is already available.
  • Poor communication between the data island and corporate data warehouse.
  • Data and application failure danger, especially if running on a standalone computer.
  • Limited awareness of what all is happening with data within the organization. What happens when Joe Wizard takes an extended vacation, or leaves the company altogether? What if his data is password protected? What if an employee or manager spends hours re-creating a report that already exists in a different system?
  • Poor documentation. Sometimes it’s difficult to know how to run an application, and the impact that changes to data will have in other areas.
  • Departmental turf wars that arise as work groups challenge the accuracy of each other’s data or the effectiveness of their applications.
  • Redundant Data. As the number of islands grows, the amount of redundant data can grow uncontrollably across your company. And no wonder. Each island requires its own, typically duplicated, copy of the detailed corporate data.

What’s the solution?
At a minimum, explain your corporate policy, outlining the need for software applications to be documented and shared with management. This may even fall into the realm of Sarbanes-Oxley requirements for your company.

Rather than fight with the geniuses who built individual applications, embrace their creativity! Ask for their input on how to incorporate updates into your corporate database. Designing effective applications from scratch can be a daunting task. Why not use what has already been created as the starting point for discussion?

Data consolidation doesn’t have to be expensive, or impede the ability of people to be more productive. If done right, it will actually help everyone across the company see the data they need, when and where they need it.