Interacting with Forms in Delphi – Part 1

This is the first of several articles I expect to write on the topic of (programmatically) interacting with forms in Delphi. This is a look “under the hood” at some stuff that a lot of Delphi Developers take for granted. I’ll survey a variety of approaches I’ve seen in working with forms, some recommendations I’ve got, and hopefully lay the groundwork for a new way to approach dealing with forms. Along the way, we’ll also take a look at how LiveBindings can play a role in this effort as well.

For those who don’t know, Delphi is a programming environment released in 1995 (Valentine’s Day, if I recall correctly).  I’ve been using it ever since. It supports a language called Object Pascal, and it grew out of a very popular compiler called TurboPascal, the product that launched a company known as Borland, Inc., way back in the early days of home computers (back when they still ran MS-DOS).

(You can learn more about Delphi from the Embarcadero website.)

In the last article I posted, I made an effort to describe what the future of programming might be like if we’re to have any kind of quantum leap in the productivity of programmers. The software industry has revolutionized virtually every other field except our own. Today we employ the same edit/compile/debug form of iterative programming that has been used for over 50 years. That has got to change. We need something that’s more designed around dropping little logic blocks on a form and connecting them with lines that represent data flows. And it must be done in a way that allows the resulting diagrams to be executable.

Continue reading

How do you see the process changing so programmers can be more productive?

Someone posted a follow-up question to my earlier post on Quora (my last post here):

How do you see the process changing so programmers can be more productive?

It’s what I said in that last sentence of my earlier post: “I’m not sure what, but I bet it’s going to be a highly visual process that looks more like digital circuit design than programming.” 

The first integrated circuits involved someone sitting down and drawing lines. They were literally etching multiple layers into a silicon substrate, similar to how photographic lithography is done. (It was, in fact, a photolithographic process.) That’s how they did it for a LONG time. It’s analogous to how we program today, by writing lines of code, line by line.

Continue reading

Why Did I Choose To Be A Software Engineer?

Someone on Quora posted this question:

You choose to be software engineer. Why? What incidents inspired you, what motivates you, what is it that still keeps you going?

When I was in high school, I was having lunch with a friend who invited me to the “math lab” to see what he was doing on a computer. I wasn’t sure what he was talking about, so I went mostly out of curiosity. This was 1972 and their “computer” was an ASR-33 Teletype connected to a time-shared system over the phone. My friend had written a program in BASIC that simulated a pin-ball machine. He figured I’d like to play the game. I was more interested in the code. I looked it over and asked a few questions about it. But mostly it made instant sense to me. “I thought everybody says computer programming is really complicated? This looks really simple.” He shrugged. 

This was the fall semester of my sophomore year. I was in Advanced Geometry as my math class, and I was bored to death. The programming classes had always been restricted to Seniors in the AP program. As luck would have it, the Seniors that year weren’t interested. Nor were the Juniors. So the opened it up to us Sophomores in the advanced math (not AP) class and almost all of us gleefully said, “YES!” Go figure. I think most of us went on to become software engineers.

Continue reading

Convolution Reverb for iOS

Ever heard of a critter called a “convolution reverb”? If you’re a musician who does stuff using computers, you may have. Otherwise, you may be hearing about it for the first time here. A short and rather technical description can be found on Wikipedia.

Most folks know what a “reverb” is when it comes to music and  audio work: it’s a box you plug into your equipment that simulates what the sound would be if you were playing inside of a larger space. It’s used to give “depth” and “ambience” to musical tracks.

If you’ve ever gone into an empty house, garage, or building, you’ve probably noticed that when you talk or clap your hands that you hear some echos that trail off after a second or two. That’s called a “reverberation tail”. It’s caused by the sounds bouncing back and forth off the surfaces in the enclosed space — walls, floor, and ceiling.

The harder and more flat the surfaces are, the sharper and longer the reverberation continues.

I play Native American flutes, and adding reverb to flute music makes it sound a lot “richer” and more hypnotic. Unfortunately, the acoustical properties of most typical bedrooms (where I record myself) isn’t ideal for producing the kind of reverb tails you’d want for this sort of music. To get what you want, you need to record a very “dry” signal, then add reverb into the mix later on using the computer.

Continue reading

Apple’s Best-Kept Secret About Audio I/O on Macs

I bought my first Apple computer on Thanksgiving night, 2006, at one of those “early Black Friday” sales at some now-defunct computer chain. It was a HUGE (by the standards of the day) 24″ iMac that was near the top-of-the-line in terms of their technology offerings back then.

One of the things I planned to use it for was audio recording and production.

Like most Macs, it had two 3.5mm jacks on the back, one for a mic/line input and one for headphone/speaker output.

Several years earlier, I had purchased a small portable A/D unit for recording stuff using “stealth mics”, and it has an optical digital (S/PDIF) output. I went to the Apple store and asked the “geniuses” there what I needed to plug it into my fancy new iMac.

Continue reading

What Causes Feedback On Audio Webinars and Teleconferences?

I’ve been on way too many webinars and teleconferences where one of the guests invariably had a bunch of feedback. In many cases, the host couldn’t even hear it, which makes it even worse.

Why does this happen?

I’d venture to guess that the problem is actually quite simple. It’s the microphone that the guest is using. Continue reading

My Recording Gear

I do some audio recording here and there. I particularly enjoy doing live recordings, and I have some special equipment that I use for that. I also record stuff directly into my computer, but I use different equipment for that.

From time to time people ask me about the gear I use with my computer, so I thought I’d post something about what I’m currently using. Continue reading

Hello world!

Well, I finally decided to set up a blog where I can post stuff. I’m not real big on disclosing a lot about my personal life and what’s happening, but I’ve been getting more and more requests from people to see stuff I’m up to. So I figured, what the heck. There’s a lot of stuff I can write about without getting too detailed.

I’m not sure where things will head, but … we’ll see in a year.

BTW, this seems fitting as today is my 58th birthday! Happy Birthday to me!

Also, I realize that there are about a bazillion others around the world with the same last name. My apologies in advance if anybody confuses us; I can only hope you see that as a compliment! And I’m also including the myriad of other folks named “David Schwartz” as well. It’s a popular name. What can I say.

Just to be clear, I’m “David Paul Schwartz”. Or as my mother liked to say, “The Beloved Little One”.