Jul 28

Burn A Bridge, How To Overcome It?

The Taboo Subject: Bridge Burning & Career Repair

Have you ever noticed that developers, or employees in general do not talk about the subject of burning bridges? I suspect that the people involved felt ashamed or upset about how they handled a situation. I know that I don’t like talking about my mistakes, and yes I’ve made a fair share of them.

Burning Bridges - Let Them Light The Way

Burning Bridges – Let Them Light The Way


Bridge Burning Offenses

Here is a list of things that might lead to a black-balled career. They are in order how severe I perceive them to be.

If you know of any others that should be in the list I’d be curious to know of some more creative ones, but don’t use names or employer names.



  • Have you handled a job situation in a way you regret, too many times?
  • Have you made too many mistakes that affected a large project and/or team?
  • For developers, do people often turn to you and ask what you did when the server goes down?
  • Did you get another job and leave your former company with insufficient, or no notice?
  • Did you ever walk off the job in the middle of the shift?
  • Have you fallen asleep on the job?
  • Did you fail a drug test?
  • Were you charged with a crime or jailed?
  • Did you ever go postal at work? (this one might be unrecoverable, sorry)

If you think these habits may be getting you blackballed you are probably right. But don’t get too worked up about it, there isn’t anything you can’t overcome with the right motivation.


How To Repair A Torched-Bridge & Save Your Career

I think that most people have left a job in a way that they could have handled better, but that thinking might be a form of denial because I want to believe it. Yes, this means I am guilty of at least one of the offenses mentioned. (Author looking around to see if anyone is looking)

Time-Travel, The Ultimate Fix To Mistakes

I read somewhere on the internet that time-travel is possible. But if it were really possible wouldn’t we be seeing more repeat lottery winners, and Independent voters? Oh, wait this isn’t a political blog– sorry. Seriously though there are many legitimate ways to work around career mistakes.

This first list isn’t the greatest, but it is what I found via DuckDuckGo.com, the search engine that doesn’t track you. If you are looking for some more honorable suggestions skip down to the next paragraph.

Tell the truth about mistakes

  • Tell the truth about your negative job experience, and show how how you were able to reflect on the problem and make meaningful change preventing it from occurring again.
  • Say that you had a bad few months, and that you are better now. I don’t recommend this one.

Bend the truth, or leave out details about mistakes

  • Use a co-worker for a job-reference, rather than a manger or human resources.
  • Say that the job was a short term contract, wasn’t challenging enough, or wasn’t what you expected.
  • Leave the job off of your resume and stretch the dates of the jobs on both sides of the offending position to fill in the gap.
  • Leave the job off your resume entirely and make any excuse about why you had a lapse in employment. Make the lapse something honorable, like volunteering to protect the border, or taking care of your sick relative.
  • Use your own, or friends corporation name as employer in place of the real employer.
  • Say that there were changes coming (merger, cutback, etc.), and you saw the writing on the wall and moved on.

Run Away From Your Problems

  • Relocation to a new city, state, country where you can start fresh. This one surprised me, and seemed a bit strong but then again my wife tells me I am non-confrontational.

Creative Ideas For Working Around Lack Of References

I haven’t offered anything of real substance when it comes to solving burned-bridges yet. Here are some of the more creative ideas I can think of. I would love to hear of more creative ideas like these.

These can help you overcome negatives without being deceitful which could burn you in the long-run.

  • Consider starting a blog to show what you are capable of and to make professional connections. The old cliche’ is true, it’s not what you know… blah, blah, you know the rest.
  • You might consider joining local developer groups and make more personal connections, a simple internet search will yield many local developer groups, and you might just meet your next employer or friend.
  • Create your own business. Start a blogging business, a multi-tenant application, or an online RPG that interests you. If you can afford to work for free for a year or two you should be able to make any business venture work.
  • Work on an open source project, help solve problems and try to meet other developers on the project. You might develop a new relationship that could lead to a referral, and great new position, and more importantly a fresh start!
  • Start a non-profit organization training under-privileged students how to become developers. It would be highly rewarding, and be a great bullet point on your resume.
  • Consider doing some additional training, or training that addresses any negative that you’ve incurred. It will look better than saying I learned my lesson, because you took some real and meaningful action to improve yourself.


Consider Not Worrying About Burned Bridges

Whenever you start something new, ask yourself, “If the worst happened, would I be alright? Can you accept a worst case scenario?” Because you might just ruin your reputation, bankrupt yourself, or turn a city against you. This is reality and it happens to good people every day. So, the point is maybe you are worrying about the bridge a little too much.

Failure is an option. And your willingness to accept that may be the one that contributes the most to your success. The ability to start over without fear gives you unlimited opportunities.

Also consider that people often change jobs several times in the first fifteen years of their career, and you can quickly put some negatives to rest by simply moving forward.

None of these reasons excuse you from giving 100% at your job, but don’t let baggage affect your state-of-mind in a bad way.

Look to the future, Learn from the past

How many times have you made a mistake and felt like you’d never recover from it, then you do just fine? Solving a problem might seem daunting but as in development, it is nothing more than a bunch of small manageable problems. So put your best foot forward, keep your head high and learn from your past mistake(s).

communiI welcome feedback, positive or negative.

If you enjoyed this, would you consider doing me a huge favor and sharing it via social media? I have finally learned the importance of social media, and how it helps you reach a much larger audience. (hint webmasters/writers)


Jul 23

Programmers Are Under-Appreciated, Over-Worked & Manipulated


Programmers Under-Bill, Often By Greater Than 10%

It is a well known generalization that lawyers tend to over-bill their clients. I don’t suggest that they really do over-bill, only that it is generally believed that they do. It is a well known fact, in the development community that developers often under-bill their clients, and the do it in amounts usually greater than ten percent and sometimes as high as 100%. The higher percentage of under-billing is usually from the foreign workers.

Does that make developers less smart than lawyers? Not necessarily however it does make the argument that there are too many developers and not enough lawyers. Maybe developers need a voice because we are obviously not in a very good bargaining position.

Foreign Developers Often Under-Bill By Up To 100%

Speaking of not being in a good bargaining position. I have talked to foreign developers that work 80 hours and bill 40. Why would they do this? Because they are held hostage by their sponsoring firm. A foreign worker has a sponsoring firm that handles the lengthy green-card process. If the developer leaves the firm a year into the process, they need to restart the green-card process from beginning.

Foreign Developers Have No Bargaining Power

Once a firm has a foreign developer started in the green-card process they lose pretty much all bargaining power. The firm knows that the developer will likely not risk the green-card process and it puts them in a very poor bargaining position the further they are into the green-card process. And while being in this poor bargaining position, the foreign developer has to deal with the fact they left their home country to make a living.

Developers Expected To Fix Problems, Despised When They Occur

When something happens to a computer system, we are expected to respond, no matter the date or time. We do this without complaint, and put in one hundred percent plus some. We actually enjoy solving problems, we take pride in our work, and we like to help other people.

Developers Are…
  • Despised by a good portion of end-users when systems change
  • Predestined to failure. When we deliver a year-long project to production and it has a 99.9% success rate, we are scorned because there were a few minor problems.
  • Pushed to work on more projects, complete them faster, and more accurately. We are also expected to have high levels of availability and complete projects in minutes not hours or days.
  • Manipulated by firms that have them held hostage because of long green-card processes. The manipulation of foreign workers affects citizen developers as well, because we see our counterparts working sixty hours and billing much less, so we often do the same due to a survival instinct.
  • Under-Appreciated often using inferior equipment compared to our end-users that work in profit centers. We will be found working on a laptop, while our end-users are working on a powerful system, with more than one monitor, and comfortable offices. Developers often work with less than a cubicle.
  • Necessitated to spend dozens of hours per week or more of their spare time learning new technologies to stay competitive.


Are There Too Many Developers?

I think the answer is maybe, it depends on who you ask. The corporations would say no, and the developers would say yes. I think most developers would agree we are compensated fairly well. It is true that we work quite hard for our handsome salary but we enjoy it and take pride in it.

I want to add one VERY important point. Most developers love their careers in spite of all the challenges. We generally enjoy the career and make a nice living doing it. This article was intended to provoke thought on a few important things not complain about our jobs.

So, what do you think? Do you agree, or disagree with anything I’ve said? If so I’d love to hear it.


Jul 21

Attention PowerBuilder Developers – Reconsider StackOverflow Questions by Newbies

PowerBuilder Developers – An Important Message & Call To Action

I waited a few hours to cool down before writing this. I hope that the last sentence captured your imagination and that you’ll read the rest of the story, and leave a comment with your thoughts about this very controversial subject.

The Elephant In The Room


An Indian agency offered 30 PB developers (2-3 years experience) for $20 hourly, and with one month free service. 

This is a call-to-action, and call-for-feedback from other developers whether they be citizens or H1B visa holders. I recently received an email from an agency regarding a PowerBuilder contract, the company wrongly assumed I was looking for PB developers.

The email rubbed me the wrong way. Here it is without any further delay…


On 7/19/14, R******sh K*****r  wrote:
> Hi,
> I have 30 resource in powerbuilder ( 2 – 3 years experience ). We can
> turn around any powerbuilder development , support and enhancement.You
> can check our capability.We can provide 1 month free service.We will
> charge 20 $/hour.Please let me know your convenience.
> –
> Regards
> R*****h k****r
>  91-9********3


Here is what I read above.

Available 30 developers at huge discount and free month of service on top-of-it. All 30 developers know how to spell PowerBuilder, are fast learners and know how to extract difficult questions from StackOverflow and/or the internet, so why bother with expensive citizen developers.

I fully understand the need for H1B visa labor and understand the need for diversification of skills to stay competitive. I study at least 6-8 hours daily, on average above and beyond my day jobs to stay competitive and it is tiring. Most developers I know spend many hours learning and can probably relate to what I am saying.

I see things reaching a tipping point, to a point where we (citizens) are by far the minority. I would hope that the persons on H1B’s reading this can understand the opinion here, just ask yourself how would you feel if the situation were reversed and your family were affected?

I welcome feedback from all sides, there is no moderation other than of spam here.

Citizen Developers – When Is Enough-Enough?

Alarmist? Probably, but seriously, when is enough-enough?

I have many friends who are on H1B visas, and they are brilliant people and wonderful human beings. I will refrain from using the word “but”, however, it is my humble opinion that we are approaching the tipping point and we are becoming the minority and something has to change.

What do you think?

I also will admit that sites like StackOverflow are awesome, and have helped me, however I have helped them much more I am very sure of that. I personally will be much more cautious about my use of such sites and ask you to reconsider some of the questions you answer especially to new users that ask questions they should not be asking.

  • When do we developers stand together and say this is enough?
  • Are you tired of being the minority where you work?
  • Are you tired of being unable to understand co-workers because of strong accent or poor English?
  • Are you tired of bench-time and/or reduced rates at a time when record numbers of American are unemployed?
  • Who do the current policies help?
  • Do we need a “voice” for developers in this country? If so I would like to work with others in starting a political action committee, a non-profit that represents us and nags our representatives until they do the right thing.


PowerBuilder Developers Consider Contacting Your Representative

There are two calls-to-action here:

  • Reconsider offering free advice on StackOverflow and similar sites. Is the question coming from a new user who is asking a question that they shouldn’t be asking?
  • Contact your representative and let them know you are tired of being sold out by H1B visa labor, I suggest a hand written letter or phone call. Using the email form does nothing, you need to nag their administrative assistant daily. The squeaky wheel gets’ the grease.

PowerBuilder Developers Re-Consider Usage of Stack Overflow Sites

I was a loyal StackOverflow user, I assumed it would help bolster my reputation, and as a developer I like helping people. I’m sure you know what I am talking about as every developer I’ve worked with likes helping others. Helping others is what our career is about!

Again this isn’t an attack on SO, or H1B’s but rather someone who is willing to talk about the elephant in the room. Comments can be confidential, simply enter a bogus name and email address – easy-peasy-lemon-squeezy!

Comments, Feedback, Very Welcome Here

I’ll keep this short and won’t get overly political, and believe me it was difficult. I would really welcome comments from anyone here. I think this is an important subject, the elephant in the room that nobody wants to talk about. What do you think?

Jul 18

Blog Manager App – Increase Adsense RPM, Income & Reduce Effort

Blog Manager Performance Tracking & Reporting

C o m i n g  S o o n !

A new web based application for Adsense Entrepreneur’s & Network Marketing Professionals is in under development and will be available for beta testing September of 2014.

Wanted: Adsense Entrepreneur’s for Beta Testing


  • Are you an Adsense Entreprenuer?
  • Would you like to earn more money from your websites?
  • Would you like to know the impact of site revisions such as Adsense Income, Site Rankings, SERP & Quality Stats?
  • Do you need to know the impact of social marketing campaigns, and whether the cost was justified?
  • Would you like to report across multiple websites for yourself or your customers?



If you answered YES to any of the above questions, then you may be interested in becoming a BETA TESTER of the new Blog Manager Performance Tracking & Reporting Application.


Blog Manager Performance Tracking & Reporting – Key Features

The features listed below are planned for version one of the application. All features may not make it into version one, or they may be pushed to a later version.  There may also be additional features added to version one that are not listed below.

P e r f o r m a n c e   &  P r o d u c t i v i t y

  • Web Based Tool – Use Anytime, Anywhere
  • Reporting Across One to Many Websites, for you or your customers
  • Website Ranking Reports (Alexa, Quantcast, etc.) Over Time
  • Reporting on Adsense Income, Analytics & Quality Statistics (Bounce Rate, etc.)
  • Track Effort for later reporting on performance
  • Website Quality Statistics (Bounce Rate, etc.) Over Time


T r a c k  C a m p a i g n s  &  R e v i  s i o n s  

  • Track & Report on Site Revisions (what changed, when, what effect did it have)
  • Track & Report on Social Media Campaigns
  • Track & Report on Advertising Campaigns
  • Learn Which Site Modifications Helped Income, Quality, Rank, etc.
  • Keep Records on Site Modifications, Advertising Campaigns & Other Events


A n a l y s i s   F e a t u r e s

  • Analyze Website Content, Learn What Separates Winners from Losers
  • Analyze & Compare Competitor Website Quality, Keyword Density & Rankings
  • Content Scanning for Keyword Density, Meta Tags & Other SEO Items
  • Analyze Key Statistics such as SERP, Keywords, Quality, Rank Statistics
  • Optionally share confidential metadata, in return compare metadata to public metadata



How To Join The Beta Testing Program

If you are interested in becoming a beta tester of the application, please leave a comment below, along with one or more of your websites and we’ll get in touch with you. You must have at least one website that uses Adsense to be approved.

  • Persons with many websites will receive priority status.
  • Check back soon for status updates.


Benefits of Becoming a Beta Tester

  • Free use of the tool during the beta period.
  • Complimentary Year Memberships upon completion of beta.
  • Complimentary Lifetime Memberships upon completion of beta.

As a beta tester of version one, you will be allowed to use the application throughout the entire beta program and you’ll receive complimentary membership that includes all features for a period of one year at no cost. If you are an active beta tester who has suggested features and/or reported bugs, you will also receive another complimentary year of membership that includes all features in the application.

As a top-performing beta tester, you’ll receive a complimentary lifetime membership which includes use of all features of the application for life or 100 years which-ever is shorter. This benefit is limited to the top twenty contributors, which will be measured by number of bugs reported, number of suggestions that we implement, number of suggestions that we add to future enhancement lists & number of beta-tester referrals. Details of the benefit will be posted before the beta program begins.

  • Persons with many websites will receive priority status.
  • Check back soon for status updates.


Feature Requests, Functionality

  • We are accepting feature requests immediately.
  • What features would you like to see in the application? What core ideas or concepts would you like to see, for example would you like to see integration with Google Tools (Analytics, Adsense, etc.)?

If you have a suggestion for feature please email rich at this domain name and put FEATURE REQUEST in the subject line of the email. You’ll get credit for the feature request if it is used or listed for use in future releases.


Thank You !

We look forward to working with you and making this a mutually beneficial business relationship.

The beta program will live at the currently unused domain: http://blogmgr.com

Jul 04

WaveMaker – First Hosted Application Completed

Finished WaveMaker Application – Ready For System Testing

The program is a drug-half life elimination charting tool. It plots the drug plasma levels of various drugs as they are eliminated based on half life hours.

Drug Half Life Elimination TaperTool

Drug Half Life Elimination TaperTool

I have the program running on my basic linux server, and for now it is running on port 8080, I need to learn how to make it run on port 80, but along with all my other websites that are being served from Apache on the same port. So now if you go to http://www.warm-turkey.com for the Drug Half-Life Elimination Tool you will be forwarded to the temporary location using port 8080.

If anyone knows how I can set this up please leave a comment!

http://www.warm-turkey.com/HalfLife  <– TRY IT OUT HERE


Note: I had to configure port 8080 to map to port 80 incoming using the httpd.conf file. So incoming requests on port 80 are handled by Apache, and if they are a request for a Java application, then Apache automatically forwards the request to Tomcat 8 using port 8080, and when Tomcat 8 passes info back to Apache it uses port 80 so that you don’t need to see an ugly url like http://www.warm-turkey.com:8080/HalfLife.


A while back I promised to complete one of my small applications I was working on using WaveMaker. I finally got the job finished. The app uses a database for the drug list, half life hours, and there are other tables for storing reports that were run, and some advanced features.

The administration login allows for changing users, drugs, and other lookup data for the application. There is an administrator and basic user logon role right now. This is my second completed WaveMaker application. I plan to refine this one over the next few weeks, I may write an article about the other WaveMaker application soon, but I have learned that WaveMaker is faster than PowerBuilder when it comes to building *web* applications. This statement assumes you are using PowerBuilder alone and not Appeon or another third party add-on to PowerBuilder.

This will replace a similar program that I wrote using Silverlight, this will run on any machine unlike the Silverlight tool.

The program also uses the built in wavemaker security, and the page is monetized using Google Adsense.


Silverlight Drug Half-Life Taper Charting Tool vs WaveMaker Drug Half-Life Taper Charting Tool

The Silverlight tool required that Silverlight be on the client computer. It also does not use a database. The NEW WaveMaker (Java) Half-Life Taper Charting Tool will run on any computer that runs Java, and will work for any drug, or addictive substance that can be measured, and has a half-life.

Suboxone taper charting toolThe OLDSilverlight version of the tool on Subotex.com.



Drug Half Life Elimination TaperTool

Drug Half Life Elimination TaperTool

The NEW: WaveMaker (Java) version of the tool on http://www.warm-turkey.com (not cold-turkey… )

The purpose of both is to help people taper off addictive drugs, alcohol, or anything measurable and having a half-life hours. If you get a chance check them out and let me know if you have suggestions or feedback. The new WaveMaker version is database driven (MySQL) so the drug info and other lookup data is available. Also I’ll be adding features to allow saving your own personal taper plans under your logon id for later use. There will be advanced features that let you plan the best taper with the amount of remaining drug you have. So if the drug were unavailable due to major hurricane and you had 150 mg, the tool would help you plan the easiest taper using the 150mg that you have.

How I Published The WaveMaker Application

The application is running on my run-of-the-mill linux hosting provider.

  • I installed Tomcat 8 to go along with the Apache that was already installed.
  • I installed the Java Development Kit on the server
  • Upon completing the application in WaveMaker, I deployed it to a WAR file.
  • I ran the Tomcat manager program, and loaded the War file created by WaveMaker
  • I created the database (MySQL) to match what I was using locally, including the database user
  • Viola, everything worked like magic on the first try. I am really getting the hang of WaveMaker and enjoying it a lot. Look for more on WaveMaker in the coming weeks. I’ve got another completed application besides this one that I’ll be showing.

I have some recent articles on WaveMaker, basically getting started with it.

Jun 16

WaveMaker for PowerBuilder Developers Part 3 (Create Project)

WaveMaker for PowerBuilder Developers Part 3 (Create Project)


We will be taking the first steps in creating a working WaveMaker application in this step. This includes creating a MySQL database, and creating a new project in WaveMaker. You’ll also learn how to use the Import & Export function so that you can import the completed project and export your own projects. This is the third part in a series, if you missed the first two parts you can jump to the beginning here.

XREF Components

Project Components Window – This is the primary info the application stores

The project we’ll be creating is a simple code management type system for saving snippets of code, article parts, script, account information, or anything that you might want to re-use. The idea is to not have to re-invent the wheel and search for information again, the hard way.

Note: This project was created as a sample for WaveMaker and is not coded using generally acceptable coding practices, for example the database design is not complete and/or de-normalized. There are some missing look-up tables for status codes, etc.. The object names inside of the WaveMaker tool are not consistent and they don’t follow a good naming convention.


MySQL DDL File: XREF_DG_DB20140616.SQL

WaveMaker Code: XREF_DG_20140616.ZIP


Creating the MySQL Database

You should have MySQL installed along with the MySQL Workbench, if not please refer back to part two of this series.

  • Open the MySQL Workbench
  • Open the downloaded MySQL script
  • Run the script, rerun if needed
  • Create a new database user ‘xref_user’ with password of ‘password’
  • Give the new user permissions to the new dg_db schema
  • Give update rights to the new user for the dg_db schema


Importing the Project Into WaveMaker

If you’ve installed WaveMaker, you can import the ZIP file now. If you haven’t created the user in the database then you’ll need to go into the Services tab in WaveMaker, then select the database and click the icon that looks like a wrench to open the connection information, then update the user and password as needed

  • Launch WaveMaker
  • Use menu item File –> Import…
  • Click the import zip-file button
  • Select the downloaded zip file

Running the Project in WaveMaker

XREF Front PageIf the project has imported successfully, you can run it by clicking the “Run” button at the top of the WaveMaker window.


You should now have a working WaveMaker project. In the next article we’ll step back and go through the steps that were taken to get to this point. I have spent about a half-day getting to this point (4 hours) and I’m pretty green at WaveMaker. Feel free to look around at the code and experiment, we can re-import the zip-file if anything breaks.

If you notice any problems with either of the download files please leave a comment below and I’ll get it corrected as soon as possible.

PS – New Drug Half-Life Elimination Taper Planning Tool Application

I just rewrote my old Drug Half Life Elimination Taper Charting Tool, it is written in Silverlight and the new one is written entirely in WaveMaker (Java). You can check it out by going to: http://www.warm-turkey.com , it is in testing phase now so if you find bugs please let me know in the comments. The program uses WaveMaker security and has an administrative login for editing users, drugs, and other lookup tables.

The new tool…

Drug Half Life Elimination TaperTool

Drug Half Life Elimination TaperTool

This will eventually replace the Silverlight version of the tool on Subotex.com. This one will live on http://www.warm-turkey.com (not cold-turkey… ) and will help people taper off addictive drugs, alcohol, or any addictive substance that is measurable, and has a half-life.

So it could be used for alcohol, calories, hours on the internet or whatever you are addicted to.


Jun 12

WaveMaker For PowerBuilder Developers Part 2 (Installing Tools)

WaveMaker For PowerBuilder Developers Part 2 (Installing Tools)



We’ll be installing the tools that will be used in building a new WaveMaker and MySQL web application. The application will be used as a very simple content management slash note taking type application for storing code snippets, article parts, articles, account information, documentation, links, or anything else that you think you might need to use again to maximize the DRY principle. The application is being built by me, a PowerBuilder & .NET developer for the purposes of giving WaveMaker a test-drive and to see how much effort is involved in making the switch to the Java based WaveMaker tool. When completed you’ll have all the tools you need to begin with development, and database creation. If you missed the WaveMaker part one then go back here.

If you’d like to check out another application, a Drug Half-Life Elimination Taper Planning Tool that I just completed using WaveMaker you can check out this WaveMaker article.

Installing WaveMaker Studio

We’ll be using WaveMaker Studio 6.7 to build the developer registry web application, so if you are following along you’ll want to install it now. The community edition is completely free. WaveMaker supports Windows, Linux & Mac (intel), so choose the proper installation for your favorite development operating system. I’ll be using WaveMaker Windows version 6.7.0. WaveMaker Downloads Page

WaveMaker Pre-requisites

The WaveMaker installation program will assist you in installing any missing components. The first time you run WaveMaker, you might be prompted for the location of the JDK. You’ll also be prompted for a program folder for your projects.

Installing the Database (MySQL)

WaveMaker comes with a built in HSQL database but we’ll be using MySQL for the project. Specifically I’m using the MySQL Community Edition for Windows, but you may install which-ever flavor (Linux, Mac) you like. The software is free for personal or instructional use. MySQL provides an all-inclusive installation for all products, you can choose the database server and workbench during the installation. Otherwise download and install them separately, the Workbench isn’t required but it will make following along and running the included DDL more difficult. MySQL Community All Inclusive Installation Page


You should now have a working database, a database development workbench and the WaveMaker Studio tool installed on your computer. Next we’ll work on creation of the MySQL database, the DDL will be made available for simplicity. Start creating your database here.

In the next step, we’ll get started with database and application creation, move to WaveMaker for PB Developers Part 3 next.

Jun 11

WaveMaker For PowerBuilder Developers Part 1 (Introduction)

WaveMaker For PowerBuilder Developers Part 1 (Introduction)



Considering that PowerBuilder 15 (beta) is not publicly available without a special SAP login id for existing customers, I decided to take the time to build a WaveMaker web application and see how it compares to PowerBuilder. We’ll also find out how difficult, or easy it is for a PowerBuilder developer to develop with when they have had no formal WaveMaker training. WaveMaker is now 100% Open Source including the multi-tenant and commercial database functionality.

FYI – I just completed another WaveMaker application, and hosted it on this web server. You can check it out on my first WaveMaker application article. This app is unrelated to the series.

This article is the first in a series covering the creation of a web application using WaveMaker with mySQL.

WaveMaker Studio Overview

WaveMaker Studio Overview

The first objective is to provide a high level overview of WaveMaker and point out the main differences between WaveMaker and PowerBuilder. Next we’ll provide step-by-step instructions for building a functional WaveMaker & mySQL application (many to many) that will be used as a simple content management database for storing code snippets, article snippets, links, code documentation, or anything you might use more than once, and associate it with a project, a language type (PowerBuilder, JavaScript, HTML, Plain English Text, etc.). The program is intended to assist someone who’s memory is starting to get a few null pointers, and to maximize the DRY principle. The instructions will be tailored towards a PowerBuilder developer. The DDL and code will be provided as the development progresses and the finished program will be hosted so that you can try it out.

Quick History & Opinions of WaveMaker

In short, WaveMaker is a Java based rapid application development tool similar to PowerBuilder. The tool has gone through at least two ownership changes in the last five years, it was recently acquired by Pramati Technologies, a business incubator and enterprise software company founded in the 1990′s.

If you’d like a to read more about WaveMaker first you can take a look at some of my previous articles or see the WaveMaker About Page which has a nice summary of the tool history.


Differences between WaveMaker and PowerBuilder

At a very high level, here are the main differences between PowerBuilder & WaveMaker.

  • WaveMaker is designed to develop web/cloud applications using Java, and other Open Source technologies. PowerBuilder is designed to develop client-server & web based applications using proprietary & .NET technology.
  • WaveMaker does not have a datawindow, nor does the IDE have any obvious support for object oriented design. WaveMaker being Java based should support OOP however the development tool doesn’t appear to provide any support for inheritance that is built into PowerBuilder, this observation may be a result of my minimal experience with WaveMaker.
  • WaveMaker generates Java, JavaScript, Spring, Dojo Framework code, so the resultant code could be used as a starting-point to a typical Java project, or to learn/study Java development. PowerBuilder generates compiled (p-code or machine-code) and proprietary source code files that require (generally speaking) the PowerBuilder IDE to modify and re-compile.
  • WaveMaker has an impressive list of customers but has never reached critical mass becoming a mainstream tool like PowerBuilder did in the ’90′s.


Features of WaveMaker Development

This quick list of features is based on my opinion. Some shops may view them differently, specifically open-source technologies which is not embraced by some large companies. PowerBuilder shares many of these or is capable of sharing most with the exception of responsive screen layouts and open-source.

  • Visual Development (similar to PB)
  • Smart Layouts for Devices (aka Responsive)
  • Re-usable API Prefabs that can be published for use by others
  • One-click deployment to many environments
  • App-Store Integration for applications or API prefabs
  • Collaboration & Release Management
  • Standards based, uses open source technologies


WaveMaker Videos

Here are a few WaveMaker videos that will show you the basic features, and new API prefab functionality. If you haven’t used WaveMaker before you may want to watch a few of them.


WaveMaker Studio – The Grid Designer

WaveMaker Studio – Creating a Database From Within WaveMaker

WaveMaker Studio 7.0 – API Prefabs



We learned that WaveMaker is an application development tool used for building web & cloud based applications. The development IDE offers drag-and-drop visual development similar to that in PowerBuilder. WaveMaker is Java based and uses many open-source technologies such as Spring, Dojo Framework & Struts. WaveMaker builds a stand-alone Java application, and the source code can be opened in any Java development IDE.

This was the first in a series of articles that cover creation of a working web application used as a developer registry. Next we’ll make sure we have all the necessary tools and begin development.



Part two of the series is now available, WaveMaker Series Part II. 


Do you have any comments or suggestions? Is there anything specific that you’d like to see in future articles, just leave a comment, no registration is necessary and you can enter a fake email address if you’d like.



Jun 11

Askimet Plugin for WordPress Blogs

How to eliminate spam comments in a WordPress blog

I’ve been using the Askimet plugin to eliminate spam-comments for almost four years on several blogs. It works great and is free for personal use. I am feeling guilty about not paying to use Askimet and figured that promoting the tool was the least that I can do.

According to their website, the tool has zapped 145 billion spam comments.

Askimet Site

Askimet Site

Are you tired of deleting spam-comments from your blog?

I am not associated with Askimet in any way other than being a user of the plugin. I highly recommend using it on all of your WordPress blogs because it works well, is free, and will save you a lot of time.

In the four years that I’ve used the WorePress plug-in there hasn’t been a single problem. You’d think that spam comments wouldn’t be a problem if you use spam prevention tools like CAPTHA forms, but somehow spammers are able to defeat these.


Askimet Stats Screen – Shown in the WordPress Dashboard

As of June 11, 2014, Askimet removed roughly 125,000 spam comments which equates to around 21,000 per-month and 700 per-day. Assuming you work a ten hour day, you’d need to review and delete around 70 per hour without deleting legitimate comments by mistake! Even with the tool, a handful of bad comments will slide through every day but it is manageable.


Askimet Blog Comment De-Spammer Promotion

Askimet Blog Comment De-Spammer Promotion

How do you use the Askimet WordPress plugin?

Using the plugin is very simple, though it does require that you create an account. Considering the tool is free this is an acceptable request.

  • Install & Activate the Asimet plugin
  • Get your free Askimet account, and application key
  • Go to Settings –> Askimet and enter your key (see screen print below)

That’s all you need to do!



Assigning the Askimet API Key

Askimet Settings

Askimet Settings


This is where you enter the API key that you received when signing up for a free account. Once you enter the key, everything works like magic.

Viewing your Askimet statistics

You can view the stats screen by going to the Askimet settings screen via Settings –> Askimet.






Leave a comment?

Search Engine Optimization

The SEO Guy…

If you have any questions or comments please leave one below, and you are welcome to promote your own blog if you want as long as the promotion is secondary to the comment.


Comments are free, they don’t require registration, and you can use a fake email address if you want to remain anonymous to everyone except the NSA.


May 17

PowerBuilder Memory Lane, Version 3

This is the detail page for PB3. If you’d rather start from the beginning the main article is called, PowerBuilder, Memory Lane for PB Developers.

PowerBuilder History, Version 3.0

Rewind to 1993, and explore PowerBuilder Version 3.0. This was a big release for PowerBuilder, a historic release in my mind. I felt like PB3 had demonstrated it had enough maturity & stability to be worthy of consideration for application development in the corporate environment. It was definitely a safe bet for department-level application development and showed potential for large and complex mission critical application development.

Launching Pad To The Future

PB3 was the stepping stone away from the mainframe world, where corporate applications were written using second generation, procedural languages like Cobol and CICS. PB3 included robust reporting from the beginning which was typically handled using complex, archaic mainframe reporting tools like Easytrieve.

PB3 was so impressive that calling it a stepping stone is a massive understatement. It was more like a launching pad, catapulting business applications into the future, which at that time was client server. Client server development leveraged the power of the desktop allowing corporate apps to evolve into modern, robust, attractive and intuitive business applications.

Dream Come True For Everyone

PowerSoft invested a substantial amount of money in the marketing of PowerBuilder. It usually takes an exceptionally good salesperson to sell software to Fortune 500 companies, but this was not the case when it came to PowerBuilder.

A child could have sold PowerBuilder to 499 of the 500 companies in the Fortune 500. An exaggeration… yes, but the tool pretty much sold itself in the first ten minutes of a PB demonstration. Anything beyond the first ten minutes of a demo was entertainment for the developers anxious to get their hands on the software. Developers were salivating at the opportunity to develop using such an advanced tool, one that they saw as being historically significant. The developer instincts were correct because PB has not only become historically significant but it has written many chapters in the history of information technology over the last few decades.

The PB System Tables Soap Opera

Any shop large enough to have dedicated DBA’s likely went through several iterations of corporate politics before coming to an agreement about the internal PB system tables (pbcatcol, etc.). PB created the system tables automatically when running the tool for the first time but it required SYSTEM credentials to the database. Connecting to the database as SYSTEM by developers is something that is not going to happen in a corporate IT shop. If you’ve gone through this phase than you know exactly what I’m talking about.

The General Protection Fault, or GPF

This summary wouldn’t be complete without mentioning the general protection fault (GPF). A GPF to PowerBuilder is analogous to the blue-screen-of-death and early versions of Microsoft Windows. It happened when the PowerBuilder IDE would crash without warning and any unsaved work lost. The GPF is something the veteran PB developer lived with, learned to work around, and gained a few grey hairs because of them. PB3 was a pretty solid IDE but it was leading edge software, so crashes were part of the cost of doing business. Most developers learned the “problem” areas and were able to minimize the negative impact of GPF’s.

PB3, The Specifics


Release Date

Some time in 1994. Please leave a comment if you know a more accurate date.

Notable Enhancements & Fixes

Version three was the first one used by me so I am not aware of any notable enhancements or fixes.

Notable Problems

There were no serious problems with PB3, however the dreaded GPF was something that a busy developer might see several times per day. Repeated GPF’s would precipitate the need to reboot Windows and get some fresh, clean memory allocated.

Market Share & Trend

Add sales numbers here, or other notable statistics.


PB3 Visual Flashback

These images are near and dear to my heart. I poured a lot of sweat & tears into learning PowerBuilder, and developing applications using it. I don’t think I’ll ever forget how the splash screen looks in PB3, it is burned into my memory forever.

Marketing Media

Install Packaging

PowerBuilder Marketing Media Version 3

PowerBuilder Marketing Media Version 3

“Everything you asked for” image was provided by Bruce Armstrong. Bruce has been using PowerBuilder since version 1.0b. He is the senior editor for the PowerBuilder Developer’s Journal in which he has authored numerous articles and has a monthly news column. He was one of the editors and authors for PowerBuilder 9: Advanced Client/Server Development by SAMS.

Splash Screens

Would you help fill in the blanks in the PB Memory Lane article? Learn how right here.

IDE Images

Would you help fill in the blanks in the PB Memory Lane article? Learn how right here.



PB3, Looking Forward

PowerBuilder 3 was an amazing tool, but good things don’t last forever. I can not think of any specific goals that PowerSoft had looking forward to version 4 & 5. I suspect that adding more native database interfaces was a goal at this point because early versions of PowerBuilder lacked native drivers for Microsoft SQL Server and Informix.

Early versions of PB lacked some of the datawindow object types that exist in new versions, such as the tree view dataobject, not to be confused with the tree-view control.

This document is one part of many belonging to the PowerBuilder trip down memory lane document started here, and that has had contributions by many PowerBuilder experts from around the world. If you have information or images that would improve this article, and are willing to share them please leave a comment below. Also indicate if you’d like attribution, and how you’d like it done. I am happy to promote your personal blogs in return for helping to make this a better document for everyone.

Here is the link to the main PowerBuilder, Trip Down Memory Lane page.

Older posts «