Friday, November 9, 2012

Monitoring an Amazon Web Service Image

Peter Funk from our Advantage engineering team has been using Amazon Web Services (AWS) to host a project he has been working on. He was looking for a tool to monitor the activity on his site. Peter found a tool that met his needs so he asked me to share his thoughts about it. I was all to happy to post this information for him.

Now that I have an application (website) up and running with the Advantage Web Platform I wanted to monitor the traffic. Primarily I want to be on the lookout for any hacking attempts but also I am curious how my users are accessing the site. Searching around for website monitoring tools quickly led me into the world of log analyzers.

To have a complete picture of your site’s traffic you must log all activity to some sort of log file or database. With Apache this functionality exists in the log_config_module which is enabled by default. This module will log all activity to the access.log file (by default in the apache\logs directory). Although all the information I needed was in the access.log it wasn’t in a useable form. That’s where the log analyzer comes in.

There are quite a few log analyzers available on the web these days. I wanted one that works with Apache, provides real-time statistics, has a wealth of information including graphs, and is free. Eventually I found the AWStats project hosted on


AWStats met all my requirements and has been working well for me so far. It is written in Perl and is accessible from any browser. It is pretty simple in that it processes the access.log, creates a report with a summary of all the log information, and then displays the information in an informative and useful way. You can see a demonstration of AWStats in action using this link.

For up-to-date statistics AWStats must process the access.log to refresh the summary report. This can be done on demand or on a schedule (Windows task manager or Linux cron job). So far I’ve been using the on-demand approach (see AllowToUpdateStatsFromBrowser in the AWStats documentation) but creating a scheduled task may work better for you. When I want to view the current statistics I simply bring up the awstats page and click the Update Now link. A few seconds later I can view the report with current information.

Make sure you have a Perl interpreter installed on your server before installing AWStats. I recommend the Activestate interpreter for Windows.

Installing AWStats is simple. Just follow the instructions and it will create a project for your site and adjust any configuration settings. You will likely need to restart Apache after the installation is complete. You might also need to tell Apache which Perl interpreter to use. On Windows you can simply tell Apache to look into the registry for which application is assigned to the .pl file extension. Do this by adding the following line to your httpd.conf file:

ScriptInterpreterSource registry

By default the AWStats page is visible to anyone by your web server. You can limit that access to an IP address or domain. In your httpd.conf file look for the directory entry that points to your AWStats/wwwroot folder. It should be at the bottom of the file. There you can limit the access via the “Allow from” option.

One issue I had with Google’s chrome browser was with the HTML frames that creates. For some reason chrome didn’t like the frames so I had to disable them with the UseFramesWhenCGI setting in the awstats conf file for my website:


In conclusion I am very happy using AWStats to keep an eye on my website. It gives me a good view into how people are using my website. I can already see which URLs are used the most and look for ways to optimize them. I can also see which browsers are used the most which helps me test and tailor my website to provide the best experience for the most people.

Monday, November 5, 2012

SAP Innovation

SAP has been developing software the helps businesses run better for over 40 years. Recently SAP has begun providing solutions to OEM partners as well. In the article below Kevin Ichipurani from SAP discusses the many new opportunities solutions from SAP can bring to software developers.

Saturday, October 20, 2012

SWFox & SWXbase Day 3

SWFox_Booth_SatSaturday morning began our last day at the conference. I arrived in the exhibit hall early and made some quick changes to our booth, putting out a few more giveaways. We were scheduled to leave that evening so I wanted to have as many people as possible dropping by.

We had quite a few people stop by and tell us about how they had been using Advantage for many years and were very happy with the performance, we love hearing that. Several also told us how they were using version 8 which is always a bit of a surprise. However, I have always been a proponent of “if it ain’t broke don’t fix it”. Although I think that after hearing about all the great features in version 11 some are thinking about some upgrades.

Keeping up with our reputation of having the best giveaways as expressed by Eric Selje in my favorite tweet of the weekend:

@AdsEvangelist Sybase does have the coolest stuff, in swag and tech. #SWFox

This year we had cars, cell phone stands and playing cards to give away. Everything that was left over at the end was donated to the FoxPro usergroup presidents so they can get it to their members.


SWFox_PrizeOur prize this year was a pico projector. We collected entries until lunchtime on Saturday and then had Tamar Granor do the drawing just before the sessions started after lunch. Congratulations to Jim Nelson on winning the projector.

As always I had a great time and I want to thank everyone from Geek Gatherings for putting the conference together. I also want to express my thanks to everyone that stopped by to chat, ask questions or enter our contest. Both the FoxPro and Xbase++ communities are full of amazing people. I’m looking forward to seeing everyone next year.

Friday, October 19, 2012

SWFox & SWXbase Day 2

IMG_0386Day two of the combined SWFox and SWXbase conference started out on a beautiful morning. One of the great things about this conference is the full breakfast that is included. It is a chance to chat with the attendees and get ready for the day.

We got out some new give aways for our first full day in the exhibit hall. These were really well received and generated some traffic along with some good conversations. The general buzz about the conference was positive and people were learning a lot in their sessions.

After lunch we did our first exhibitor session on “Expanding Access to your Data” which discusses how Advantage can serve data to a variety of clients. This year I wanted to focus on using Advantage in the cloud and on our Web Platform. I also spent some time discussing the latest features included in version 11. The online table maintenance capability was very well received.

After the first full conference day there is a dinner for all attendees. The weather was very nice so the meal was setup outside. The food was excellent and the dinner provides another opportunity to talk with everyone. It was great to see people getting to know their peers that were attending the conference.

Thursday, October 18, 2012

SWFox / SWXbase Day 1

IMG_0385This is my 6th year attending SWFox in Phoenix Arizona. It is always a great conference with many great developers. This year the conference was combined with SWXbase++ which brought more developers and a similar but different community to the show.

Having the XBase++ developers at the conference was great for us since just about all of them have heard of Advantage prior to attending. There were also several of our partners in attendance.

The event always kicks off with a keynote followed by an Exhibitor Reception. This year the keynote included several awards and recognitions, including two lifetime achievement awards for Cathy Knight and Craig Boyd.

The featured speaker at this years keynote was Jennifer Marsman a developer evangelist from Microsoft. Jennifer is a very energetic speaker and she highlighted many of the new developer centric features of Windows 8. The general consensus of the people I spoke with after the keynote were really impressed with her knowledge and enthusiasm. You can view the recorded keynote here.

After the keynote there was a reception in the exhibit hall. This was our chance to see everyone at the conference for the first time. It was good to see lots of familiar faces and to have so many people come by to say hello and to chat.

I will be doing two sessions while I am at the conference one at 2PM on Friday and another at 2PM on Saturday. Hope to see some of you there.

Wednesday, October 17, 2012

SAP TechEd Day 3

SAP Teched 2012 - Las Vegas, USAFor day 3 of TechEd I was working at the Ecosystems & Channels booth in the Clubhouse area of the show floor. It is always interesting to work in a booth at a tradeshow. You get to meet all kinds of people with all sorts of different backgrounds, which makes for some great conversations.

The Clubhouse area had a lot of traffic with people visiting the SAP Community Network booth, the slot car racing and the classic games area. There was also a coffee bar setup right next to our booth which was almost always crowded.

The best thing about working in the clubhouse was our proximity to the Clubhouse Theater. This area was set aside for quick 30 minute presentations which went on all day long. Since we were so close I got to listen in on several of these presentations as well as attend a couple.

One of the sessions I attended was on Visual Intelligence which is a new product that was discussed in the opening keynote. It is a really interesting tool that allows for creating quick visualizations of data. It requires no programming or SQL knowledge so it can be used by almost anyone.

p1201444946-2Another cool session that I listened in on was by a group of middle school students from Roberto Clemente Middle School developed a mobile app using SAP tools. Their application called Food Agent can be used for scanning bar codes in supermarkets that check food origins and possible food contamination. They did a demonstration of their application during Demo Jam, you can view their six minute demo here. Their application came in second place overall in a field of experienced developers.

If you didn’t attend TechEd this year and you develop using Sybase or SAP products you should consider attending. There are literally hundreds of sessions and many hands-on sessions available. Definitely a worth while investment.

Tuesday, October 16, 2012

SAP TechEd Day 2


VishalSikkaDay 2 of SAP TechEd began with a keynote by executive board member Dr. Vishal Sikka. Dr. Sikka heads up technology and innovation for the company and has responsibility for SAP HANA, analytics, mobile application platform and middleware. Vishal began his keynote discussing HANA and the many amazing performance it has achieved.

HANA is normally sold as an all-in-one solution with our hardware partners ensuring the best hardware and software configuration. Now HANA is available in the Amazon cloud which makes getting a HANA instance up and running very quickly. This solution is excellent for businesses that want to use the power of HANA for development and testing. It can even be used in production for smaller data sets ( up to 30GB ).

After the HANA discussion Vishal introduced Sam Yen, global head of user interface and design. Sam demonstrated a new project they are working on called AppDesigner. This is a visual template based solution for building applications on the fly. It generates HTML5, CSS and Java script that will run on your device.

Also announced was SAP NetWeaver Cloud which allows developers to create cloud applications that can access SAP systems. It also allows development of cross-platform mobile web sites. You can get more information about NetWeaver cloud here.

There was also a discussion of our Business Intelligence offerings. One of the latest is SAP Visual Intelligence which is a tool for quickly analyzing data. It includes charts, graphs and even geospatial representations of your data. You can join the Data Geek Challenge by using your own data and creating a visualization.

The keynote also included some discussion of Mobility and Database platforms. These included Afaria, ASE and SQL Anywhere from Sybase. You can view the entire keynote here.

Monday, October 15, 2012

SAP TechEd Day 1


SAP TechEd has begun in Las Vegas. This is the premier technical conference for SAP technologies. There are literally hundreds of sessions, labs, Q&A sessions and two great keynotes scheduled for the week. If you develop with any SAP solution this is the place to be.

p1196869518-3The opening keynote was presented by Clay Shirky who is an expert on Social Media and how it affects business. He has written two books, Here Comes Everybody and Cognitive Surplus. Mr. Shirky provided many examples on how social media has changed how businesses respond to their customers.

He opened his keynote taking about HSBC bank which offered a checking account for college students that did not charge overdraft fees. As you might expect HSBC gained thousands of new customers because of this new program. In the summer after the semester ended HSBC announced that graduates would begin being charged overdraft fees of up to £1500 the first 12 months after leaving college. You can read about the change on The Telegraph.

This plan backfired because a student named Wes Streeting started a Facebook page called “Stop the Great HSBC Graduate Rip-Off”. Because he started this page all his friends found out about the problem and started liking the page. In turn all their friends could also see the page and like it once again alerting their friends. The social media backlash had worked itself up to the point where plans were being made for a series of demonstrations when school started again in the fall. However, HSBC changed their policies before this happened.

This is a powerful story about how much influence social media has over how businesses make decisions. It is very difficult to keep details, especially ones that adversely affect people, out of the public eye. Word of mouth now has a global voice.

One other particularly interesting example was I had never thought of Amazon as a social media site, however, the ability to write reviews provides a way for customers to interact with each other. I often read reviews when I am looking to purchase a particular product and I tend to read the latest ones. But, if you really think about it has a book that was written years ago gotten better over time?

Amazon reviews provide a way for customers to share their experience of the book, video or other product. It gives them a way to express their love or hate of the item. This is a powerful forum for people to collaborate and be heard. The idea that a book or movie only needs to be reviewed shortly after it has come out has been thrown out the window.

I really enjoyed the keynote and I am looking forward to the rest of the conference. If you want to hear more you can view Clay Shirky’s keynote here.

Monday, September 24, 2012

Book Review–Change by Design

I recently did some training on Design Thinking and one of the books that was recommended during the class was “Change by Design” by Tim Brown. Since I am a sucker for a good book I decided to get my hands on a copy. Throughout the book Tim Brown describes work that his company, IDEO, has done for various clients. IDEO has been a pioneer in design thinking for several years so the various stories serve as an illustration on how design thinking can solve complex problems.

Design thinking is essentially taking multiple disciplines and bringing them together to develop new ways of approaching problems. For example graphic designers that also have business degrees or MBAs. It is basically a methodology that combines traditional business and engineering principals and adds a more creative twist. The thought is to try to get right brain types to start using more of their creative side. However, these principals can also be used by creative types to focus their efforts by using more logical methodologies.

The many examples focus on how complex problems were solved using both logical and creative processes in harmony. Many unique and effective solutions can be found by using a multidisciplinary approach.

Essentially design thinking is bringing in the principals of design into other activities. Designers use a multitude of creative thinking exercises to help come up with new designs based on requirements. This same principal can apply to other types of problems as well. Designers as well as programmers use prototyping as a way to begin the design for a finished product. This technique can be applied to business challenges as well.

Design thinking only works in an ecosystem that encourages experimentation and FAILURE. To get that one brilliant idea or solution you generally have to go through several failures. This process can also take a lot of resources especially in time. More often than not brilliant ideas aren’t the first ideas brought to the table, they tend to require some nurturing.

The bottom line: This book gives a very good overview of design thinking. Many concrete examples are discussed that demonstrate the techniques working. However, Tim Brown takes a realistic approach pointing out that although a useful tool it does not solve every problem. If your interested in learning about a different problem solving technique this book provides a balanced description of Design Thinking as a technique.

Friday, September 21, 2012

Tech Summit Summary

hotel_owyheeWe had another very successful Advantage Technical Summit this week. I want to thank all the partners who attended the event. We held the event at the Owyhee Plaza Hotel in Downtown Boise.

The hotel staff did a nice job setting up the conference rooms and preparing lunch. We were able to walk to dinner each night since there are plenty of restaurants in the downtown area.

As far as the technical content goes it was all updated to include the new Advantage 11 features and functionality. This included several classes that discussed accessing Advantage data from a mobile device.

With the new Advantage Web Platform data can now be provided using the oData specification to any client that can access an HTTP interface. Your data is still protected by a username and password as well as HTTPS encryption. Using the Advantage Web Platform gives your users access to your data 24 X 7 X 365.

Because of the increased focus on cloud computing we added an Advantage in the Enterprise class. One of the highlights of this session was a discussion of using Advantage on an Amazon Web Services (AWS) instance. I am working on a couple of blog posts that will walk you through the process of configuring an instance to use Advantage.

Once again thanks to everyone who attended the Technical Summit. I am already looking forward to our next summit.

Tuesday, September 4, 2012

One Week until the Advantage Technical Summit

Our Advantage Technical Summit begins in one week. We have been working diligently updating all of the content to reflect the new features available in Advantage Version 11. There is also a bunch of sessions on how to get your Advantage data onto mobile devices. This can be done without any changes to your current application.

I am looking forward to working directly with our partners for a couple of days. If you haven't registered yet you can contact your sales representative or click here.

Wednesday, August 1, 2012

Advantage Technical Summit

SummitLogoWebMed Our next Advantage Technical Summit has been scheduled for 18 – 19 September in lovely Boise Idaho. Boise is where most of the Advantage team is located including engineering, support, sales, and product management. As a result, attending the training gives you the unique opportunity to have access to the entire technical team, with plenty of time for one on one interaction.

The summit will be held at the Owyhee Plaza Hotel located in downtown Boise. We are still finalizing the schedule but you can be sure there will be lots of information about Version 11 and our Web Platform.

The Technical Summit is offered free to Advantage partners and is only $500 for non-partners. You can contact your sales representative or click here to register.

Monday, July 16, 2012

Advantage 11 Now Available

ADS_11_206x175Advantage Database Server version 11 is now officially available for download. There are some really great new features available including Online Table Maintenance and the new Web Platform. There are two screencasts available Advantage 11 Overview and Advantage Web Platform Overview.

You can download all of the version 11 servers and components on the DevZone or click the graphic for a direct link to all the downloads.

There are also a series of screencasts that highlight various features in version 11. Visit the screencasts page on the DevZone for a complete list. You can also review the What's New in Version 11 whitepaper.

Friday, July 13, 2012

Advantage Mobile Device Support

MD_Slide01The Advantage Web Platform provides a mechanism for accessing data from a multitude of mobile devices. In this short ( ~ 7 minute ) demonstration we discuss the basic principals of creating native device applications.

For more details about developing mobile applications visit our Mobile Development and Videos page.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Friday, July 6, 2012

Advantage Web Platform Configuration

WPConfig_Slide1The Advantage Web Platform is a web service that allows for client-less data access from any client that can make standard HTTP requests. In this 10 minute screencast we will discuss the various configuration settings for the web platform and demonstrate how to configure data access.

The demonstration also includes a discussion of the two standard data formats that can be retrieved from the web platform.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Friday, June 22, 2012

System Variables and System Procedures

SP_TitleAdvantage version 11 includes many new System Variables and System Procedures which can be used from SQL statements and scripts. The system procedures fall into three categories; functional, metadata and management. In this screencast we demonstrate the use of the new system variables and the new metadata and management system procedures.

The functional system procedures which pertain to replication and online table maintenance have been demonstrated in previous screencasts.  The demonstration runs approximately 10.5 minutes.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Wednesday, June 13, 2012

Advantage Web Platform Screencast

Slide1A new screencast providing an overview of the Advantage Web Platform is now available. This is second screencast covering the new features of Advantage Version 11. You can get more information on the first screencast here.

Find out how the Advantage Web Platform provides client-less access to Advantage data from mobile phones, tablets, or any platform with any  development environment.  Additionally you will see the new Advantage Web Administrator, which allows you to monitor the server status and make changes to configuration. This utility was built on the Advantage Web Platform allowing for secure administration of Advantage from anywhere.

The screencast is approximately 32 minutes long and you can view it online by clicking the image. You can also download the screencast as Windows Media, iPad or iPhone versions. For more Advantage screencasts visit the DevZone and choose the screencasts menu item.

Friday, June 1, 2012

Replication Enhancements

RP_Slide1For this week's Advantage Version 11 demonstration I'll be discussing the many enhancements pertaining to replication. There are several new system procedures that allow for testing, troubleshooting and modifying replication. There is also a new mechanism for replicating from version 11 to a version 9 or 10 server.

The demonstration runs approximately 8.5 minutes and covers all of the new replication features in version 11.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Friday, May 25, 2012

Stored Procedure Enhancements

Stored Procedure EnhancementsFor this week's Advantage Version 11 demonstration I'll be discussing the many enhancements pertaining to SQL stored procedures. There are two major changes in SQL stored procedures included in version 11. First input parameters are directly accessible within the SQL script, there is no need to open the __input table. Second stored procedures can now return varying output. The output of the stored procedure is defined by the final SELECT or EXECUTE PROCEDURE statement.

The demonstration runs approximately 7 minutes and demonstrates the difference between stored procedures written for version 10 and the new version 11 changes. You DO NOT have to rewrite you current stored procedures, version 11 simply adds another method you can use.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Wednesday, May 23, 2012

Advantage Web Platform Webcast

Just two weeks until our next Advantage version 11 webcast. This time we will be discussing the new Advantage Web Platform which allows you to provide Advantage data to virtually any platform!

The live webcast is on Wednesday June 6th at 11:00 AM EDT. We will present all the material and be available to answer questions during the webcast. You can register right here.

Here is the full description:

Mobile Access with the Advantage Web Platform

Need mobile device access to Advantage data?
Join us for part 2 of the Advantage Database 11 webcast series. Find out how the Advantage Web Platform provides client-less access to Advantage data from mobile phones, tablets, or any platform with any  development environment.  Additionally you will see the new Advantage Web Administrator, which allows you to monitor the server status and make changes to configuration. This utility was built on the Advantage Web Platform allowing for secure administration of Advantage from anywhere.

Friday, May 18, 2012

Online Table Maintenance

Slide1This is the first in a series of weekly demonstrations for Advantage Version 11. This weeks demonstration is on our new online maintenance features. This gives you the ability to pack, re-index or alter a table while other users have the table open.

This short demonstration ( ~8.5 minutes ) gives a brief overview of how the online maintenance works and then demonstrates a pack and alter of tables that are in use.

You can view the demonstration by clicking on the image or you can download a Windows Media version here. You can find all the Version 11 demonstrations on the DevZone under screencasts.

Wednesday, May 16, 2012

Advantage 11 Overview Screencast

Slide1Here is your chance to get a look at Advantage Version 11. This screencast covers the major features included in version 11 with the exception of the web platform. The presentation is approximately 35 minutes long and includes three demonstrations. It was originally presented live on May 9th.

You can view the screencast by clicking on the image. We have also created an Windows Media version as well as versions for both the iPad and iPod/iPhone. For more Advantage screencasts visit the DevZone and choose the screencasts menu item.

Wednesday, May 9, 2012

What's New in Advantage 11 Webcast


Our first webcast in our two part series of Advantage 11 was a huge success. Thanks to everyone that attended and for the fantastic questions you asked. We covered a lot of information in just over an hour.

If you missed the webcast we will be posting a recording early next week. If you were registered you will be getting an e-mail with the link to the recording. If you didn't register, I will be posting a link to the recording when it is available.

Our next Advantage 11 webcast will cover the Advantage Web Platform and will be on June 6th. Invitations will be going out soon. There will also be a link available on our homepage.

Monday, April 30, 2012

Telling a Mobile Story

You may have seen my review of "The Back of the Napkin". The book is all about using pictures and visual thinking to solve problems and sell ideas. I enjoyed the book so I thought I would try to incorporate some drawing into some of my presentations. I drew a picture as I was describing why mobility is important in today’s business world. The final drawing is shown below.


Although every picture tells a story sometimes a few words help. In this case we start on the right with the extremely large computer, I believe I drew a TRS80 here, connected to a database in a client/server model. The person on the far left is a physician who is working with a patient and documenting what is being done.

The middle of the diagram shows the various ways the doctor’s work can be recorded. The orange path shows the traditional paper route the doctor writes down the diagnosis and treatment then gives the paper to the billing person for entry into the system. The yellow path represents the doctor recording the information electronically but having to print the result out to once again give to the billing person. Finally the blue path shows the data going directly to the database allowing for more accuracy and allowing the billing person to interact with patients instead of just doing data entry.

I used this story to introduce the need for mobility solutions for common applications. With the Advantage Web Platform data can now be sent and received from virtually any mobile device. Now the physician can enter information about a patient while visiting them at the hospital and the relevant information can be sent directly to the billing system at the office.

This scenario can be used in all types of industries. Perhaps you manage documents and need to allow access on a tablet. Maybe you support an industry like construction or landscaping where providing an on-site quote can win you the business. The possibilities are endless.

Even with my meager drawing skills the picture seemed to resonate with the group. I think it was relatively effective in conveying my point. If you attend any of my upcoming presentations you may just see some drawing to go along with the slides.

The Advantage Web Platform is available as part of the Advantage 11 Beta which you can download now.

Friday, April 27, 2012

Unicode Usernames and Passwords

Advantage added support for Unicode in version 10. I did a few posts and a demo of this feature in 2009, just put Unicode in the search box to find relevant posts. However, Data Dictionary metadata is still stored in Character fields.
This means that usernames and passwords cannot be stored as Unicode by default. In order to use Unicode usernames and passwords you will need to convert the characters to UTF8 before storing them in the dictionary.
For Delphi 2009 and newer these Unicode strings are stored using UTF16, the default for Windows systems. These UTF16 values need to be converted to UTF8 before storing them in the data dictionary. An example of creating a user with Unicode is shown below.

procedure TForm1.btnCreateUser(Sender: TObject);
  FhConnection   : AdsNativeInt;
  RetVal         : Cardinal;
  //First make an admin connection
  RetVal := ace.AdsConnect60('C:\Data\TestDb\TestDb.add', ADS_REMOTE_SERVER,
                   'adssys', 'password', ADS_DEFAULT, @FhConnection );

  if ( RetVal = AE_SUCCESS ) then
    // Create the user using the values from edit boxes
    RetVal := ace.AdsDDCreateUser(lHandle, nil, 
                      PAnsiChar( UTF8String( edtUsername.Text ) ),
                      PAnsiChar( UTF8String( edtPassword.Text ) ), 
                      'Unicode username and password' ) ;
    // add error checking here
    showmessage( 'Connection Failed: ' + IntToStr(RetVal));
Once the user has been created you can then connect using the same type of casting.
procedure TForm1.btnLoginClick(Sender: TObject);
  FhConnection   : AdsNativeInt;
  RetVal         : Cardinal;
  // Connect using the supplied username and password
  RetVal := ace.AdsConnect60('C:\Data\TestDb\TestDb.add', ADS_REMOTE_SERVER,
                   PAnsiChar( UTF8String( edtUsername.Text ) ),
                   PAnsiChar( UTF8String( edtPassword.Text ) ),
                   ADS_DEFAULT, @FhConnection );

  if ( RetVal = AE_SUCCESS ) then
    showmessage( 'Connection Successful!' );
    showmessage( 'Connection Failed: ' + IntToStr(RetVal));

You can do similar conversions in other languages as well. If you need code for a specific language let me know and I'll get some additional examples posted.

Monday, April 23, 2012

LAFox User Group

I will be traveling down to Los Angeles this week to present at the LAFox User group Meeting. The meeting is on Wednesday April 25th at 7:30 PM. The meeting is held in Councilman Bill Rosendahl’s Westchester Office: 7166 West Manchester Ave. 90045 see the map below.

I will be discussing mobilizing your application using Advantage Database Server and our new Web Platform. I will be doing demonstrations using the beta version of Advantage 11, so this is your first chance to see the latest release of Advantage. You can get more details about the meeting by visiting the LAFox Homepage.

Tuesday, February 7, 2012

Book Review–The Design of Future Things

I have been a fan of Donald A. Norman since I read The Design of Everyday Things a few years back. So when I saw The Design of Future Things I thought it would be a good book to read as well. As with his other books Dr. Norman uses several stories and pertinent examples to reinforce his ideas as well as entertain.

The Design of Future Things focuses on the interaction between “smart” machines and how we interact. We are in an age where machines are smart enough to operate very independently, think of robot vacuums and self-parking cars, but these machines do not always interact well with us.

For example many cars have GPS Navigation systems which assist the drivers in getting to their destination. These are very useful but there is no real interaction with them. You enter your destination and the GPS gives you directions. There is no real dialog or explanation as to why the route was chosen. This two way communication is the key to good interaction.

One of the best examples used in the book was our interaction with animals. Think about how in tune a good horseback rider and the mount interact. Simple signals with knees and a light touch on the reigns is all that is required to direct the horse. The horse can also provide information to the rider such as shying away from a dangerous area on the trail. The horse can also get the rider safely to a destination since it can make simple decisions on its own. As horse and rider work together they learn to recognize each others subtle signals which allows for a better riding experience.

Many natural processes have a particular sound or movement as a result of their process. Think about how a tea kettle sounds as it heats the water. First a low boiling sound then a whistle that increases in pitch as more steam is produced. Many modern machines use the same sound, generally an annoying alarm, for many conditions without the gradual buildup of natural processes. For example both my washing machine and dryer make the same sound when their cycles are finished. If I am not in the room I don’t know which one is done. They also make a very similar sound when the load is unbalanced. So just hearing the sound does not always give me an accurate picture of what is happening with my machines.

We are improving in this area. Cars now have more subtle indicators of danger. Many side mirrors now have a flashing light that displays when an oncoming vehicle is in the “blind” spot. There are also motors that vibrate the steering wheel when the car is cornering too fast encouraging the driver to slow down. One of my favorites are the new backup warning systems that vibrate the seat or steering wheel when a car is approaching as the vehicle is backing up.

There are many more examples throughout the book that emphasize the direction interaction can go. All of these anecdotes lead to Dr. Norman’s design rules for “smart” machines

  1. Provide, rich, complex and natural signals
  2. Be predictable
  3. Provide good conceptual models
  4. Make the output understandable
  5. Provide continual awareness without annoyance
  6. Exploit natural mappings.

The bottom line: Once again Dr. Norman describes the problems that can arise from human/machine interactions. His use of examples clarifies his points and strengthens his arguments for improvement. This book is a very interesting read for anyone interested in interaction with machines.

Monday, January 23, 2012

Book Review–Back of the Napkin

I have been trying to mix up my non-fiction reading with some business type books to go along with my technology reading list. The first business book I read this year was The Back of the Napkin by Dan Roam. This book describes the use of simple pictures as a mechanism for demonstrating and solving complex business problems.

The concept was interesting and compelling but I have never been an artist. Of course, Dan had anticipated this type of response and addresses it in the first chapter. Dan categorizes people into three categories he refers to as pens.

Black pen people are eager to pick up a pen and start drawing.  Yellow pen people are reluctant to draw but generally add good feedback on pictures that have been drawn. Red pen people are very reluctant to draw at all but generally add insightful dialog to pictures. There is a test to determine what type of “pen” you are. I ended up being in between yellow and red.

If you want to get a really concise summary of what the book is all about start with chapter sixteen. It gives a quick back of the napkin presentation on just what visual thinking is and how it helps get your point across.

Dan breaks down the visual thinking process into four parts; look, see, imagine and show. Looking is simply taking in the entire scene get a general impression of what your eyes are showing you. This is closely followed by seeing where we start to focus in on a particular part of what we have looked at. Next we imagine what could happen based on the things we have seen. Finally we want to show what we have seen and imagined to someone else. This process is summed up nicely in Dan’s example ( chapter 3 page 35 ).

This process shouldn’t come as a surprise. After all, we go through these steps thousands of times a day—like when we cross the street, for example. We look both ways and if we see a car nearby, we stop. If we see a car at a distance, we imagine weather we can make it across before it arrives, and if so, we show our decision by confidently striding across the street or waiting until the car has safely passed by.

The look and see phases of this process are very interdependent, in fact, they can form a loop where we go back to looking at the whole picture after we have focused (seen) on a particular piece. This can be followed by focusing on another aspect of the whole.

For the imagine phase Dan developed a series of questions to ask about the problem in order to decide how to present it. To make it easier to remember he came up with the mnemonic SQVID.

  • S for Simple vs. Complex
  • Q for Quality vs. Quantity
  • V for Vision vs. Execution
  • I for Individual Attributes vs. Comparison
  • D for Change ( Δ ) vs. Status Quo

Once we have asked the imagination questions it is time for us to show our idea. To do this we have to answer the time honored questions of Who, What, When, Where, How and the all important Why. Dan once again gives us visual answers for these questions.

  • Who/What – Portraits
  • How Much – Charts and Graphs
  • Where – Maps
  • When – Timeline or Gantt Chart
  • How – Flowchart
  • Why – Multivariable Plot

As you can imagine, even without a picture, the book goes much more in depth on each of these points. In fact there are plenty of pictures to back up the points on visual thinking.

The bottom line: I found this book easy to read and I enjoyed Dan’s casual writing style. The points he made are backed up with many examples and a bit of science, not to mention that they just make a lot of sense. If you are looking for a way to deliver more impact with your message you could benefit from the techniques in this book.

Monday, January 9, 2012

Book Review: Emotional Design

EmotionalDesign_DonaldANormanI have long been a fan of user interface design and design in general. Having been impressed by The Design of Everyday Things, I decided to pick up a few more of Donald A. Norman’s books. Emotional Design, why we love (or hate) Everyday Things, is about how the design of things effect us emotionally. Or more accurately how we can design things to elicit the emotional response that marketers want.

Although Dr. Norman tends to have a rather dry academic writing style from time to time, he backs up his claims with many stories and examples. Overall I found this book to be very interesting and I picked up some very interesting tidbits on how design effects us on many levels. The book primarily focuses on the design of physical things rather than software specifically but many of the principals can be applied to software as well.

One of the very interesting studies presented in this book showed that attractive things work better. It brought to mind the “form follows function” premise from architecture. In the study by Noam Tractinsky ATMs were compared. All of the ATMs performed the same functions, had the same number of buttons but some were more attractive. In all of the tests users felt that the more attractive ATMs worked better than the less attractive ones.

This demonstrates how the look and feel of a device is just as important as the function of the actual device. Take the iPhone, which revolutionized the smart phone industry, its functionality isn’t completely revolutionary but its look and feel was entirely new. Smart phones have allowed for phone calls, web surfing, games and many other applications for many years but none of them did it in such an elegant way. The clean interface and simple yet sophisticated design of the iPhone made it a winner in the smart phone market.

Dr. Norman describes our reaction to the design of things into three levels; visceral, behavioral and reflective. We process the things we see and use first on a visceral level, how it looks and feels. We then explore how the item behaves or does what it was designed to do. Then we reflect on our past experiences with the item.

The book builds upon these three principals of design with many examples and stories. There is a very interesting discussion about emotional machines, think the Turing Test. This translates into the future of robots as well, think of your favorite movie robot. The design of robots that are truly useful will have many human characteristics to make interacting with them more natural.

The bottom line: This book provides a good perspective on how our designs affect the users. By providing a functional device or application that is also appealing on a variety of levels we will be more successful. I always love to hear from our customers about how easy our software is to use and how great their experience was with our products.

Friday, January 6, 2012


After posting my 2012 Book Reading List I ran across an article by John Tierney called Be It Resolved. It has some great information about how to keep your resolutions and some surprising statistics that show that you can be successful in achieving you goals by following some simple strategies

    1. Set a single clear goal
    2. Pre-Commit
    3. Outsource
    4. Keep track
    5. Don’t overreact to a lapse
    6. Tomorrow is another taste
    7. Reward often

So I thought I would apply these concepts to my 2012 resolutions to see if it will help me stay on track to reach my goals. One of the biggest portions is outsourcing, which I have done by publicly declaring one of my goals. My book reviews will serve as a mechanism for keeping track of my progress.

Now all I need to do is come up with those frequent rewards.

Wednesday, January 4, 2012

Book Reading Goals

Its that time of year again where we all take an opportunity to start fresh and forget about the resolutions we didn’t accomplish last year in favor of the resolutions we make for this year. I am no exception to this cycle of making resolutions sticking to them for awhile and then letting them slide because life just got too busy.

One of my big resolutions is to do more reading. I always seem to have several books on my shelf as well as a big wish list of books that I would like to read. So this year I am setting the goal of reading one technical book every month and posting a review of each of them.

So, without further ado here is my 2012 list.

  1. Living With Complexity Donald A Norman
  2. Code Complete Second Edition Steve McConnell
  3. Entity Framework 4 In Action
  4. The Art of Unit Testing
  5. RESTful Web Services
  6. SQL Antipatterns
  7. The Productive Programmer
  8. Seven Languages in Seven Weeks
  9. Head First Android Development
  10. Head First C# Second Edition
  11. The Design of Design
  12. Thoughts on Interaction Design