Showing posts with label musings. Show all posts
Showing posts with label musings. Show all posts

Friday, December 27, 2024

I Got Complacent—and Here’s What I Learned

 The Frog in the Beaker Parable:

If a frog is placed in a beaker of boiling water, it will immediately jump out to save itself. However, if the frog is placed in a beaker of lukewarm water that is slowly heated, the frog will remain in the water, not noticing the gradual rise in temperature. Eventually, the water will reach a boiling point, and the frog will perish because it failed to react to the slow, incremental change.

Moral of the Story:

The parable serves as a warning against complacency and the failure to act in the face of slow, incremental changes that can lead to disastrous outcomes. It’s a lesson often applied in business, personal life, or societal contexts, emphasizing the importance of staying vigilant, recognizing warning signs, and taking proactive steps to prevent negative outcomes.


My Story:

I spent most of 2024 in a beaker of  lukewarm water. If I'm honest with myself, it probably started in sometime in 2023. Perhaps even earlier than that. I had gotten complacent. I was totally unaware it was happening to me.

The first sign I realized something was wrong is when my July 2024 software payment from MyCommerce/Digital River was late. This had happened once before in October 2023. A quick email to support was all that was required. So, I sent off an email. I received a response saying they had put a new ticket system in place. I created an account and opened a ticket. And...crickets. 🦗

August turned into September, which turned into October. And now I'm missing July, August, and September payments. 

It was October and I started thinking about some of the other Delphi products I have purchased in the past and the user buying experience. I even sent Ray Konopka an email asking him what shopping cart system he put in place on https://www.raize.com/. Ray was gracious with his time and quickly responded.

It was at that point I realized this was not going to be a weekend just project. I also realized just how widespread the Digital River/MyCommerce/Share-It situation was. I wasn't the only one. 👇😓
 https://www.theregister.com/2024/10/15/digital_river_runs_dry_hasnt/

The solution I wanted was a Merchant of Record (MOR). I wanted someone else to handle all the interactions with customers. I just wanted to put links on my website to a shopping cart page.

Complacency Turned Into a Rabbit Hole 🐇🕳

I narrowed down my search to two MORs; FastSpring and Paddle. I crunched the numbers and decided to go with Paddle. I created an account with Paddle and submitted my website for verification.

 Your Website Has Been DENIED!

My website was denied with no specifics other than it did not meet Paddle's standards. So, I signed up with FastSpring. I was also denied by FastSpring.

Turns out that I did not have the adequate GDPR processes in place. I needed to severely update my website. I need to add a Consent Banner and all the necessary webpages; Terms of Service, Privacy Policy, Cookie Policy

The Consent Banner. Oh yeah that little popup thingy that lets visitors accept which cookies they want to allow. And one of those cookies is Google Analytics.

This lead me down the path of implementing Google Tag Manager. I ignored all the warning messages Google Analytics had bee showing me about the change to GTM. 

I'm a do it yourself kind of guy so I was looking for a "do it yourself consent banner." I settled on Klaro https://github.com/klaro-org

So I spent three whole weekends implementing Google Tag Manager, Klaro, and updating my website to interact with the new consent banner.

I added the three necessary webpages; Terms of ServicePrivacy PolicyCookie Policy and resubmitted to both Paddle and FastSpring. It took about a week to 10 days but I was now APPROVED!

Paddle

I started looking around the back-end in Paddle for how to set up a shopping cart with a download button. After several hours of reading the documentation I gave up. I sent an email to my sales rep asking for help. After several back and forth emails, it turns out that what I needed was "Paddle Classic" (a completely different system) from Paddle Billing. I gave up and switched over to FastSpring.

FastSpring

I found FastSpring to be very intuitive. And of course I was thoroughly testing all the pieces. I found a flaw in the "Invoice Email" which directly affects the download link. Unfortunately you cannot modify the email templates until your go live. The process of going live took another week to 10 days.

I finally got everything in place and ready to go just after Thanksgiving.

SEO vs AEO (Ask Engine Optimization)

Last week I discovered a few things.

I have found myself using ChatGPT more than Google when I want answers. Real answers. And last week I learned about Ask Engine Optimization (AEO). 

Is Search Engine Optimization (SEO) dead? Maybe? Maybe not? Read this post from Dave Collins at Software Promotions. https://www.softwarepromotions.com/news/seo-is-dead-again/

I also discovered https://www.perplexity.ai/ The first question I asked Perplexity was "Who are ZilchWork's direct competitors?"

I also found this fantastic website, Answer Socrates https://answersocrates.com/

Zilch - Complacent For Almost 7 Years

I haven't just been complacent, I've been asleep at the wheel. I've enjoyed a software product with a funny name "Zilch" for years. I noticed my sales have been steadily declining. I just assumed it was do to the look and feel of my current desktop software begin stuck in the 640 X 480 pixel mode. Wrong!

What I failed to notice was a modern product called Zilch was taking the world by storm. Zilch launched in 2018 (that's almost 7 years ago). It's not for paying off debt like my software... it's for buying products. It puts people in direct contact with products without using credit cards. 

Hopefully you can lean from some of my mistakes.

Use the comments and share how you have been complacent!

Enjoy!
Semper Fi
Gunny Mike
https://www.zilchworks.com

Sunday, December 29, 2019

When You Don't Know, What You Don't Know

I've been in a rut for about the past six months. Not just a Delphi programming rut but a "life rut". What's worse, I knew I was in a rut and thought I was trying to get out of it only to realize I wasn't. Then this morning came and... I now know what I didn't know.

"I knew I was in a rut and thought
I was trying to get out of it..."


I was fascinated by a post in the Delphi Developer group on FaceBook written by a long-time VCL developer who is frustrated with making something work on an Android device. Admittedly, this person is not a GUI guy nor an OOP fundamentalist. I can totally relate to this. I have been using Delphi since it was Turbo Pascal 3. I am a traditional "top-down procedural" programmer who has been struggling to wrap my head around OOP fundamentals.

One of the comments on this post stopped me dead in my tracks. It simply stated... "Put your login form in a TFrame" and gave a link to a GitHub repository of FMX Cross-Platform-Samples.

https://github.com/FMXExpress/Cross-Platform-Samples

I've seen some of this FMXExpress stuff before but never knew about this GitHub repository. At the time of this writing there are 99 well organized Cross Platform Samples available. I've been looking for an excuse to rededicate myself to learning FMX cross application development in Delphi and this GitHub repository looks like the perfect spot for me to learn.

"I really don't know what GitHub is or how to use it."


Now, I've heard of GitHub before and I've been to a few different GitHub repositories, but I really don't know what GitHub is or how to use it. This was the my first acknowledgement of YDKWYDK. So I jumped on lynda.com and looked for a course about GitHub and found this one called "Learning GitHub".

About ten minutes into the course the instructor says "Projects allow you to visualize your work with Kanban-style boards." I've never heard of Kanban. What is Kanban? (More YDKWYDK).

"What is Kanban?"


I do another search within lynda.com and discoverd a course called "Stay Lean with Kanban".

Wow, this Kanban stuff is really cool. In it's simplest form Kanban is a way to visualize and prioritize the workload. You visually see what you are doing and what needs to get done. You also eliminate waste by focusing on what's most important. This is done by limiting the work in progress.

I'm about a third of the way through this tutorial and paused it to write this blog because of another YDKWYDK episode.

As I was getting to understand this Kanban stuff it hit me. Why can't I use Kanban for my personal life?

"Why can't I use Kanban for my personal life?"


I can and I intend to do just that. There's a website for "Personal Kanban". There's also a book called "Personal Kanban: Mapping Work | Navigating Life".

It's safe to say I have climbed out of my rut and I'm getting back at it. What a journey today has been...

FB Delphi Developer > FMXExpress > GitHub > Kanban

Semper Fi,
Gunny Mike





Wednesday, November 28, 2018

The 20-Second Hug

program TwentySecondHug;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

begin
  try
    Writeln('The 20-Second Hug');
    Writeln('Copyright (C) 2018 by Michael J. Riley');
    Writeln('(May be freely distributed worldwide)');
    Writeln('#20SecondHug #20SecondHugs #PilotLight ');
    Writeln(#13#10);
    Writeln('+--------------+');
    Writeln(' Instructions ');
    Writeln('+--------------+');
    Writeln(' 1. Squeeze recipient.');
    Writeln(' 2. Don''t let go until this window closes.');
    Sleep (20000); //Stay awake don't miss this part;
      { TODO 1 :
      Translate instructions into other languages.
      Ask Delphi programmers for help by putting
      translations in blog comments. }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

Enjoy,
Gunny Mike
zilchworks.com

Sunday, August 6, 2017

Why My Next Software Product Will Be Windows VCL Only

I started this blog back in 2009 as I slowly emerged from a severe case of burn-out. From that first day I've been consistently saying I'm working on an update to one of my software products. And I'm still saying that today. I'm like the Rip Van Winkle of Delphi programming. I basically dropped off the face of the Delphi coding world, woke up from an 8 year technology nap, and have been in a learning fog ever since.

I have been procrastinating at every turn, about every tool, and every methodology. The bottom-line is... I can't make a decision. Check out this common theme among some of my posts going back quite some time.

How do you get past the Analysis to Paralysis when working on a new project?
https://softwareengineering.stackexchange.com/questions/155621/

What is The Best Database for Delphi Desktop Applications that Supports Stored Procedures?
https://stackoverflow.com/questions/1619887/

I Took A Little Walk-About - But I'm Back (Shit or get of the pot)
http://capecodgunny.blogspot.com/2011/08/i-took-little-walk-about-but-im-back.html

Last week I heard about Warren Buffett's 25-5 Rule.  I've never heard it put quite that way before. Anyway, it got me to change my attitude about decision making.

For example:

Should the new release of my Zilch software be Windows?
Windows and Mac?
Windows, Mac, iOS, Android?
What about the Web version?

ENOUGH!

I'm going Windows VCL Only! Period. I made the decision and it's final. Making decisions is so liberating.

  • I am the most proficient with Delphi VCL.
  • I have a distribution channel and payment gateway for Windows already in-place. 
  • I have 25 years worth of Windows customers I can market my software upgrade to.
  • I can use the current development tool chain I already have.

2017 is the 25th anniversary of my original product launch. I need to get busy working on the things that matter most and ignoring everything else if I hope to get it released this year.

I don't care if the Warren Buffett story is true or not. It's a good thing. I encourage all of you to have a look at it.

Cheers!

Semper Fi,
Gunny Mike





Sunday, March 9, 2014

Get More out of StackOverflow

It's no secret that StackOverflow or SO as it's commonly referred to is one of the best resources for Delphi enthusiasts. We all have some favorite questions, favorite answers and favorite users out there.

What makes StackOverflow so useful are tags. Tags are the single most important feature. Here is a snippet of what you see when you search tags for Delphi:

StackOverflow Tag Search - Delphi


If you mouseover a tag there is a little pop-up that gives a description of the tag along with some very interesting links. One of the most interesting links is the "top users" link. This "top users" link is how you can get more out of StackOverflow.

By following this link you get a list of which users have answered the most questions and which users have asked the most questions relating to this tag. By drilling down onto the users profile, you can see all the answers and questions this user has participated in.

You can very quickly build a list of your favorite StackOverflow Delphi users. Reading answers by these users will most definitely increase your knowledge about Delphi.

Delphi Tags Top Users
http://stackoverflow.com/tags/delphi/topusers
http://stackoverflow.com/tags/delphi-xe5/topusers
http://stackoverflow.com/tags/delphi-xe4/topusers
http://stackoverflow.com/tags/delphi-xe3/topusers
http://stackoverflow.com/tags/delphi-xe2/topusers
http://stackoverflow.com/tags/delphi-xe/topusers
http://stackoverflow.com/tags/delphi-2010/topusers
http://stackoverflow.com/tags/delphi-7/topusers

FireMonkey Tags Top Users
http://stackoverflow.com/tags/firemonkey/topusers
http://stackoverflow.com/tags/firemonkey-fm3/topusers
http://stackoverflow.com/tags/firemonkey-fm2/topusers

Semper Fi,
Gunny Mike
end.

Sunday, November 10, 2013

Everyone Needs A Miyagi

Today is the Marine Corps' 238th birthday. Although I've been out of the Marine Corps since 1999 there's a saying that all Marines live by... "You can take the man out of the Marine Corps but you can't take the Marine Corps out of the man."

I just received a traditional "Happy Birthday" text response on my phone from Mitch Perry, one of my best friends of my Marine Corps days. I love this guy. Here's what he said...
"Same to you bud! I am sitting here drinking coffee in my dress blue coat, I might be losing it... HELP? Oh oh oh life goes on !"
So this got me thinking back to my earlier days in the Marine Corps. When you spend 20 years in the Marines you meet a lot of people. When I was a young Marine on my first four year enlistment I met a Marine named Staff Sergeant Reggie Wournos. Reggie was my Miyagi.

Reggie was one of the most squared away Marines I ever met. He taught me the Marine Corps version of "Wax on... Wax off", "Paint the fence" and "Sand the floor".

I'm not the only one that Reggie helped along the way. He took several of us young Marines under his wing and nurtured us along. If you ask the entire group of enlisted Marines from Headquarters and Maintenance Squadron 16, GSE - MCAS Tustin you will find you get the same type of response.  Here's a picture. Reggie is front row left in the bottom photograph.

This would be an awesome story if it ended right here, but it doesn't. For those of you that don't know how military life works, everybody moves on to new locations after 2-3 years. So, you get to hang with the same group of guys for a year or two and then you, or they, or both move on.

A few years later I'm working at MCAS Cherry Point, North Carolina. I had been promoted a couple times and now I was a sergeant. I have a new boss named Gunnery Sergeant Bill Wallace. You guessed it he's Miyagi #2. Wallace taught me a different set of skills. Wallace had the reputation both inside and outside of our organization as the "guy who's got his shit together".

So, you could say I was a lucky guy to have two Miyagi's. But if you can believe it, this gets even better.

In 2008 a bunch of us from GSE (the 1980 group) decide to get together in Memphis for a weekend. Most of us haven't seen each other in 25+ years. It was a pretty awesome time. So, I made public toast to Reggie thanking him for his early mentoring and telling him that he was my Miyagi. Everyone felt the same... Reggie is just one of those guys.

Later that evening I was having a private conversation with Reggie. We were both retired, me as a Gunnery Sergeant and Reggie as Chief Warrant Officer 4. I thanked him for being my Miyagi which he humble tried to deny. Then I asked him who his Miyagi was?

He looked at me and said "Bill Wallace".

Happy Birthday Marines
Semper Fi
Gunny Mike
zilchworks.com

Sunday, June 2, 2013

XE4 dbGrid Still Buggy - Please Vote Up QC 98255

This weekend I installed XE4 Enterprise on my new (well new to me) Windows 7 machine. I ran the Getting Started sample project that comes with FireDAC and the first thing I did was click the column heading in the dbGrid and guess what . . . it still has that annoying "black left edge" bug I reported a couple years ago.

My request has gotten no votes. Please go to EMBT's Quality Central and vote up QC 98255.

http://qc.embarcadero.com/wc/qcmain.aspx?d=98255


Black Left Edge Appears When Clicking Column Heading

I don't think I'm being nit-picky about this annoying behavior. When I use programs that display data in a grid, my expectation is to be able to sort the data by clicking on the column heading. I want to build the same functionality into my grids.

I hate this black line that shows up when you click a dbGrid column heading. In my mind it's very unattractive and looks extremely unprofessional.

For the amount of money we pay EMBT for Delphi you would think they would fix this bug. You would think EMBT would want to put their best foot forward and give us die-hard Delphi users, an out of the box dbGrid worthy of the Delphi name.

Go vote for QC 98255 so this damn thing gets fixed.

Semper Fi
Gunny Mike

Update 06/04/2013 6:50 PM:

It turns out that the black line is intended functionality. It is used to indicate the new location where a column is being moved to. I wish that the black line would only show up when the column heading is being dragged and not just being click.

Update 09/22/2013 11:03AM:

The following was posted on the EMBT QC site:

----------
Clinton Johnson at 6/2/2013 8:11:38 AM -
Also, as a work around, he can disable column moving by creating a proxy class to access TCustomGrid's protected items and removing goColMoving from it's Options property with code like:

Type
  TMyCustomGrid=Class(TCustomGrid)
And placing
  TMyCustomGrid(DBGrid1).Options := TMyCustomGrid(DBGrid1).Options-[goColMoving];

in the onFormCreate and after anywhere he modifies the grid's options.  Changing DBGrid1 for each unique instance, obviously.
----------

This work-a-round works perfectly fine for me since I do not need the ability to move columns around. Just wanted to pass this on.

Sunday, May 19, 2013

XE4 Upgrade Decision

I'm currently using Delphi 2010 Professional and it's time to make that upgrade decision . . . again. The first decision I had to make was should I upgrade to Rad Studio XE4 or Delphi XE4. I've decided to upgrade to Delphi XE4.

Now I have to decide which version of Delphi XE4 should I go with, Professional Upgrade ($494.10) or the Enterprise Upgrade ($1,349.10).  That's a difference of $855. So I decided to study the Delphi XE4 Feature Matrix.

The Professional version has three different Optional features:
  • 1 Requires purchase of Mobile Add-On Pack for Professional
  • 2 Requires purchase of FireDAC Client/Server Pack for Professional
  • 3 Requires purchase of Mobile Add-On Pack for Professional for use with mobile apps. Requires purchase of FireDAC Client/Server Pack for Professional for use in Windows and Mac apps.
Each one of Optional features requires a separate purchase:

1. Mobile Add-On Pack for Professional ($494.10)
2. FireDAC Client/Server Pack for Professional ($399.00)
3. Both of the above ($848.10)

For me, Chances are I'd have to purchase the above tems if I went with XE4 Professional. However, the above items are included in the Enterprise version of XE4. So that makes the difference a whopping $6.90.

With XE4 Enterprise you also get
  • Additional UML MODELING
  • dbExpress drivers available for 64-bit Windows InterBase, Firebird, Oracle, MySQL, SQL Anywhere, Informix, and SQLite
  • dbExpress drivers available for OS X InterBase, Firebird, Oracle, MySQL, SQL Anywhere, Informix, and SQLite
  • TSQLMonitor support for SQLite
  • DataSnap Mobile Connector support for latest versions of iOS, Android and BlackBerry
  • Several dbExpress server connectivity versions
  • DataSnap capability
  • A couple additional BizSnap pieces
  • Some IntraWeb pieces
So, given my track record for slow upgrades it looks like the best choice for me is the upgrade to Delphi XE4 Enterprise.

Note: The prices quoted came from embarcadero's website store on 05/19/2013.


 Semper Fi,
Gunny Mike








Sunday, March 3, 2013

Create Your Own Magical Delphi Tour

There is no time like the present to create your own "Magical Delphi Tour". I'm currently working on upgrading a software program that turns twenty years old in 2014. Wow, who would have thunk it.

You are probably thinking, "Delphi wasn't around in 1994", and you would be correct. However, Delphi's predecessor Turbo Pascal was. So my Magical Delphi Tour includes TP which was a DOS product.

So how do you run Turbo Pascal programs today... through the magic of DOSBox. DOSBox lets you run your old Turbo Pascal programs. Once your old DOS programming is running you can take the screen shots you need for your own trip down memory lane.

Thank you Borland, Code Gear, Embarcadero and DOSBox. May the next twenty years be as much fun:


Credit Card Math 1994: Turbo Pascal 5.5


Credit Card Math 1994: Turbo Pascal 5.5


Credit Card Math 1998: Delphi 3


Credit Card Math 2004: Delphi 5


Credit Card Math 2013: Delphi 2010 (1st Attempt)


Credit Card Math 2013: Delphi 2010 (2nd Attempt)
Semper Fi,
Gunny Mike

Saturday, August 25, 2012

Making Sense of the Whole Delphi WinRT Thing

I'm not one of the "Low-Level" "Deep-Inside" Delphi smart guys. I'm just an average software developer who uses Delphi to create simple applications I sell to other average people. Oh, I learn a lot hanging around the smart guys but I seem to get lost when the discussions and comments take a deep dive.

It's no doubt that Allen Bauer's post created quite a stir around the community and the new release of XE3. I've tried to make sense of all the buzz going back and forth but at one point it just got way over my head.

Since I am just a Micro-ISV, I am looking for a simplistic answer to what this whole Delphi - WinRT crap is all about and I think I have figured it out.

I posted this on the Delphi Developer group on Facebook:
I've been trying to follow all the talk about what is going on with Delphi and WinRT ever since Allen Bauer's post went viral. I'm not as smart as most of you Delphi guys. Can someone please explain in very simplistic terms what it means when Delphi either can't or is excluded from creating WinRT apps? How does this effect a Micro-ISV like myself in terms of distribution and sales?
I received this response...
For example, you will probably not be able to sell your app through the MS Application Store, which could really hurt your exposure to prospective new customers.
Okay. So I started googling Microsoft App Store and discovered a couple interesting tidbits.

I started off reading a post by George Ou called ARM Battery Life Advantage Myth Lives On

This lead me to a post by Steven Sinofsky called Collaborating to deliver Windows RT PCs

Which lead me to another post by Steven Sinofsky called Building Windows for the ARM processor architecture

Here is what I think is going on and how it effects me and you who sell software to the average consumer.


Microsoft is leading a push to compete directly with the iPad. So, Microsoft invented a new operating system called WOA or Windows on ARM which in my opinion is a Reduced Instruction Set Computer. This new operating system is a subset of Windows 8 and will be available on the new WinRT PC's soon to be released.

It sounds like WinRT PC's (I'd prefer they were called tablets) are a separate line of personal computers designed to compete directly with the iPad market. No disk drive, no expansion slots, one or two USB ports and completely mobile. Which requires a long life battery, hence the first post I sited above. These devices will be RISC (Reduced Instruction Set Computers) running the WOA which includes WinRT. This limits the applications to only those applications that conform to the WinRT subset of instructions.

All other Non-WinRT PC's will come with a full blown Windows 8 OS in addition to the scaled down WOA running WinRT. This lets you run all the currently developed Windows Applications (those created using Delphi) and any of the new applications that conform to the WinRT subset of instructions.

What does all this mean to you and I...


Given that the WinRT PC's (I'd prefer they were called tablets) have a subset of the real Windows 8 OS, the only way to install software on these machines will be through the use of the Microsoft App Store. Since Microsoft controls this store they will make sure that any app in the store will run without problems on the new WinRT machines.

The bottom line, we (Delphi developers) will still have a huge user base availabe to us. Not everyone will flock to these new WinRT PC's (I'd prefer they were called tablets). When EMBT finally does get the details worked out and makes it available to us... we can retool, recompile and look forward to a windfall of new WinRT customers.

Enjoy - Semper Fi
Gunny Mike

Thursday, August 23, 2012

Priceless: Behind the Code with Anders Hejlsberg

I just watched this interview with Anders Hejlsberg for the first time. This is truly an amazing interview. It's rather long, about 1 hour, but it is so worth it. I'm not giving anything away... you'll have to just watch and enjoy.



Enjoy - Semper Fi
Gunny Mike

Saturday, July 7, 2012

How to deal with Programmer's Block

Eventually, we all go through a bout of Programmer's Block. What is Programmer's Block? It's very similar to Writer's Block except it happens to programmers.

I have been struggling for a very long time with Programmer's Block and didn't realize it. I knew what I wanted to do (vaguely) but just couldn't get things off to a good start. For me, it was the big picture... I could not see the big picture.

I started playing around with the little pieces. I worked on the tiny algorithms knowing I would fit them in somehow... but I just didn't have that aha, big picture moment. And then...

I posted this question on P.SE "How do you get past the Analysis to Paralysis when working on a new project?" and within 3 minutes it received 1 down vote and 1 vote to close. I was not happy. I'm thinking great... even the people on P.SE are not going to help. (try this link instead)

Soon I got some great feedback. I'm not going to repeat it all here... don't think I could. Might be copyright violation. So, you'll just have to read it there. Make sure to read the comments... there's some really good stuff in them.

I love yellow stickies.

This post is dedicated to all of you who have or will go through "Programmers Block".

Special thanks to:
haylem & Thorbjørn Ravn Andersen

Enjoy! Semper Fi
Gunny Mike

Sunday, May 6, 2012

A Simple Way to Learn About Methods and Properties

I've decided this time around with Delphi, I'm going to do things as best as I possibly can. A long time ago I met Jeff Duntemann (here's his blog). If you know Jeff, you know he has an astounding vocabulary. I asked him about that once and he responded:
"Michael, the reason for my vocabulary is simple, my parents. When I asked for the definition of a particular word they told me to look it up in the dictionary. And while you are reading about that word, read about every word on both facing pages."
Jeff developed this habit when he was young and he still carrys it with him today. What a simple concept. I have decided to use this idea when I go looking up a the reference to a property or method of a Delph object. Not only am I going to read about the property I was intially interested in, I will read about all the other properties and methods.

Thank you Jeff, I finally figured out how to use your dictionary lookup idea!

Semper Fi - Gunny Mike

Sunday, January 1, 2012

Wisdom: Rekindle That Enthusiasm

Happy New Year!

I was thinking about my software the other day. I have a piece of software I created over 20 years ago and it still sells today. Somewhere along the line I lost my enthusiasm for this product. Maybe I got busy on other stuff, maybe sales weren't as robust as I thought they should have been. Anyway for whatever reason I seem to have lost enthusiasm for my software... until now.

A few weeks ago I was watching a show on TV about singers and songwriters who created hits back in the 1960s. And when these artists got up to perform their songs even though these songs are more than 50 years old they sang them with enthusiam and gusto. This got me thinking that I'm missing the boat here with my software.

If you're like me and you have a software product that's been selling for twenty years and it's still selling today, that tells you people like your stuff. I'm going to say that again. If you have a software product that's been selling for twenty years and it's still selling today, that tells you people like your stuff. So take it from me don't become complacent. Don't take that fact for granted.

So this year starting today January 1, 2012, a brand-new year, I'm changing the attitude I have about my software. I will treat my software as though it were a hit song. My software is a hit. If you're in the same boat as me I want you to recognize the fact that you have a hit as well. Hits don't come along that often, in fact there are some songwriters who are known as one-hit wonders. They spend their entire lives creating songs and for just one, single solitary moment, everything came together just right and they produced a hit.

Why is this important and what difference does it make? As you talk about your product are you enthused? People can tell. I need to be more enthused. If I'm not excited how can I expect my customers to get excited. When describing product features and benefits do you sound monotone or are you enthused? If you're not it is fair to expect people to get enthused. And believe it or not there's a group of people out there who have never seen your product before.

My last assignment for the Marine Corps was Marine barracks Washington DC. And from Memorial Day until Labor Day every Friday night from five o'clock until midnight we were put on our dress blues and entertained the crowd who came to see the parade and the Marine Corps Silent Drill Team.

The first three or four weeks of every new parade season was exciting. We haven't done this for a while. We get all dressed up in pretty clothes and we walk around representing the Marine Corps's finest. And then the thought of the long, dreaded season would set in. I remember the first time this happened to me and I thought "oh my goodness I have four more months of this."

So from that point on I told myself, "Michael you are going to meet somebody tonight that has never been to Washington D.C. before. Not only has this person never been to D.C. before, but this is the only time this person will ever come to Washington D.C. in their entire life. You don't know who that person is. So treat each person that you meet tonight as though it's that person."

If I can do that for the entire Marine Corps parade season, I can do that for my product and so can you. You are going to talk to somebody and your website will meet somebody, who has never seen your product before. This could be a one time shot. You don't know who this person is, so treat everybody as though it's that person.

Semper Fi,
Gunny Mike

Wednesday, August 24, 2011

I Took A Little Walk-About - But I'm Back

A lot has been going on inside my head since the last post. Delphi has just released XE2. I have finally decided to use ElevateDB for all my Delphi applications. I needed to shit or get off the pot on making a decision about which database to use.

My apps are not that complicated. They are for single user interaction. I originally thought of using MS Access and then ruled that out. Then I toiled with the idea of using some version of MS SQL Server and after careful reading found out that too much stuff has to be configured on the users machine.

I want a simple install, no complicated hunt and grab driver xxx from location yyy followed by asking some weird little question like "did you want to leave the current setting in place". When you sell a $40 app one sales call chews up the rest of the profit.

Anyway, I pursued the idea of using Firebird 2.5 and spent quite a bit of time learning about all the third party vendors who sell Firebird drivers because my Delphi 2010 Professional doesn't come with a DBExpress driver for Firebird. Along the way I learned about the great Delphi community on Stack Overflow (http://stackoverflow.com/). I also learned how even though Firebird is free, if you want really good help from the people in the know, it will cost you.

So, I said all that to say this... I'm going to use ElevateDB from http://www.elevatesoft.com/. It's 100% written in Delphi. I'm a small ISV and so is Elevate. The documentation is fantastic. I don't have to pay per incident for answers from people in the know. There is an annual maintenance fee but that's to be expected.

If I could point to one thing that pushed me over the edge in my decision... the demo project used a Delphi "Data Module" to consolidate all the db stuff in one location. I never heard of a TDataModule until yesterday and it came from Tim Young at ElevateSoft. Thank you Tim.

How come Wharton, Biorre and all the others pushing Firebird didn't mention this? Answer they are too busy staring in the mirror they didn't see the big picture.

Semper Fi - Gunny Mike

Wednesday, February 3, 2010

On Again Off Again On Again

There's an awful lot to do when you are a one-person, part-time Micro ISV. I purchased Delphi 2010 in November 2009 because I didn't want to miss out on the opportunity to upgrade from Delphi 5 Enterprise. I got excited about Delphi and writing code. I purchased several books so I would have a good source to rely on as I move from D5E to D2010. Then the excitement went away.

I have decided that I will alternate on a monthly basis between writing code and marketing. I have also decided that during the marketing phase I will reflect on what I did right in the past and what I did wrong in the past and share those insights here so other OPPTMISV's can learn from them.

So, this is the marketing month and so far I have done quite a few things already.
  1. I added socializing links to all the pages on my web site. I decided to use the Add This social scheme. Here is a link to their web site. http://www.addthis.com/
  2. I also created a business page on facebook and added a "Find Us On Facebook" link to all the pages on my web site. Check it out for your self. http://www.zilchworks.com/
  3. I created a new section on my web site called "In The News". This will be dedicated to any and all news related articles about my software. http://www.zilchworks.com/inthenews/
I need to focus on "Righting a Wrong".For two plus years, a company has been using illegal copies of my software to fraud people. My name has been dragged through the mud by this guy. I'm trying to figure out how to take this wrong and make something good out of it.

I also am forging strong affiliate relationships. I will not inundate my customers with overloaded links to other peoples products which I am affiliated. I want high quality products with special discounts that only I can give. This is my service after the sale.

Semper Fi - Gunny Mike


Saturday, December 19, 2009

Experience Delphi Again For The First Time

Granted it's been quite a while since I compiled my last verion of real Delphi code. I just looked at the release date for my last retail product, 02/28/2004. Has it really been that long. Unbelievable.

I purchased Delphi 2010 in November 2009 for a few reasons:

Embarcadero allows the upgrade price for any version until 12/31/2009.
I need to bring my products up to date (no more 640 X 480 windows) etc.
I'm no longer burnt out from writing other people's code.

So, I've concluded that I've learned quite a bit in the almost six years that I haven't written any Delphi code. Translation, I've made several hundred mistakes and have become more seasoned at my craft. Anyway, I didn't stop coding, I jumped into heavy duty web development using classic ASP and Microsoft SQL.

I've decided to "Experience Delphi Again For The First Time". Oh yeah a lot has changed and if I was to do it all over again (wait a minute that's what I'm doing) I'd still pick Delphi but I'd learn... I mean really learn what I should have learned the first time. I started by compiling a list of bookmarks that include:


Stackoverflow (http://stackoverflow.com/)
Delphi About (http://delphi.about.com/)
Code Central (http://cc.embarcadero.com/)
Delphi Feeds (http://www.delphifeeds.com/)
Marco Cantù (http://www.marcocantu.com/)


I've also started accumulating a new set of books to compliment the other 24 Delphi/Pascal books I already have laying around. Of my old books "Complete Turbo Pascal Third Edition" by Jeff Duntemann is my absolute favorite. Here's a list of new (to me anway) books I've recently acquired:


Mastering Delphi 2005 - Marco Cantù
Delphi 2007 Handbook - Marco Cantù
Delphi 2009 Handbook - Marco Cantù
Delphi 2009 Development Essentials - Bob Swart
The Tomes of Delphi Algorithms and Data Structures - Julian Bucknall


However, there's one other resource that I need to tell you about. It's called "The Delphi Magazine". It is no longer in print but you can order the "Delphi Magazine Total Collection" for $57.00. This collection is amazing. I spent last night looking at all the article titles written by each author. This includes all 139 magazine issues from April 1995 through March 2007.

I like the fact that you can browse articles by author. The same author will have several related articles and if you are interested in those articles they are all in one place. It's like recording your favorite TV shows without the commercials.

Get the Delphi Magazine Total Collection.
http://www.thedelphimagazine.com/


I told you I was "Experience Delphi Again For The First Time" and this total collection is awesome. I have never fully converted from a Top-Down Procedural programmer to an Object Oriented programmer but I will be after I read and put to use the 6 articles by David Baer.

1: Crossing The Chasm
2: Welcome To The Machine
3: Skyrocketing Property
4: The TObject Of My
5: You Are TEgg Man...
6: To Talk Of Many Thing


Semper Fi - Gunny Mike