Chapter 86 – The Shut Down

As noted in many preceding  chapters, our IT managers’ withholding of our programs caused us to shut down. It cost us dearly. It cost our employees, some 175 of whom had to be laid off for part of a week just before thanksgiving.

The evidence we produced on this is immense. I and two other executives testified as to the shutdown, its cost in terms of revenue and replacements costs to generate the software. I testified as to our inability to find the programs and where we looked for them. I testified and produced emails to M asking him to help after the shutdown, with the identification of the software location on the computer he returned to us and on our servers. Then Jamie Gedye, the consultant we hired, testified that he flew out from Chicago and looked for the software, the code, the programs, etc. and could not find them even with the help of Chris (our assistant manager). Jamie testified that they looked for the programs on M’s former computer, the windows servers, the dialer servers, other IT computers and the archived files. The files could not be found. Jaime testified that Chris could not find the files nor did Chris know how to generate the reports. Jaime testified that he regenerated the programming so that we could generate the reports daily and testified that the programs could not be generated daily to produce the reports. One of my clients testified that we were unable to do any work for them for over a week because of our inability to write the client reports. In addition we had forensic reports from two forensic experts concluding that the database programs were not on M’s computer nor on any of the other computer I previously identified. All in all seven witnesses, forensics reports, Foxpro experts, etc. None of the computers were destroyed.

M testified that there were no programs, that he was not responsible for the shutdown. Chris Cox however has confirmed that this is judt not true.

The surprise witness was Chris Cox, our former assistant manager, who testified that we did not shut down. That we did not shutdown! He further testified however that there were Foxpro programs that the IT department regularly accessed, a contradiction to Max’s testimony. Testifying that there was no shutdown in spite of the massive amount of evidence to the contrary, including emails to and from Chris while we were shutdown, was a challenge to our position that M destroyed the software. I don’t think an IT assistant manager forgets that we shutdown, that it could have led to his demotion and did lead to his ultimate departure.  So now they have one witnesses questioning whether there was a shutdown, but offering conflicting testimony about the existence of our programs. M did not dispute, in his testimony, that we shut down. Chris Cox’s tesimony is here.11-5-10

Whether Chris lied about the shut down is for you to decide. It would have been more consistent for him to say that he did not remember. He also referred to programming, executable files he claimed we had on the servers noting that he had used those files many time. And yet they were gone. The overwhelming record shows the files were not there. Did he forget that too? His admission that we had at one time these programs to move data around, create tables and extract reports was valuable but on balance I think Marshall and M convinced him to lie. He could not remember the names of the people who worked there but knew they had. He didn’t remember Gedye at all and he worked with him for a week. It would  be a hard thing for an IT professional to admit to lying to cover up the damage that M caused, but that is the logical truth.

The arbitrator ultimately concluded that the shutdown may not have been caused by M, that Chris testified that programs existed and should have been found by Jaime Gedye. Chris also testified that he regularly used these programs. What was not disputed by the arbitrator was that there was a shutdown. Instead he concluded that we destroyed evidence when we continued to use the servers and other computers, presumably also the $200,000 dialer, after the shutdown. One of the more bias conclusions by the arbitrator was that we had deteriorated the forensic results on missing Foxpro programs because we continued to use the computers, in spite of the fact that we had forensics work done, forensic images taken  and expert reports issued the first week after M destroyed the software. But he did not by contrast hold M to the same conclusion when M simply destroyed his emails, destroyed his computers and reformateed a hard drive owned by us (a hard drive containing Foxpro programs). M’s attorney issued the litigation hold. M’s fiancee was an attorney at the time.

I believe the arbitrator had the mental acuity to understand the foensics and had to overcome the shutdown attribution to M in order to otherwise find in his favor, a stretch of illogic on unsupported facts. We were fearful that the arbitrator’s compromised independence would lead him to set the facts aside, but calculated that once his lack of independence was raised he would not do anything as blatant as to suggest that M was not responsible for the shutdown. We were shutdown because we could not generate reports for our clients. We could not because our programs were simply not findable. Whether this was a unilateral act by M or one in collusion with Chris is beside the point. M, even as a conspirator, is liable.

I don’t think this was confusion by the arbitrator. I think it was anger for calling him out. The reasoning was weak but calculated. The perjury by M and C were easily determinable.

I have often wondered why we did not file a summary judgment motion on the shut down. That should have eliminated M’s claims and solidified ours. It would have eliminated years of work and hundreds of hours of forensics.

We will have to ask Jeff Edelson and Scott Cliff that question. I remember Scott believing that the lack of communication between me and M after his termination in October was disconcerting. That however was not something I was called to explain nor do I believe it the least bit credible to give something that subjective merit in light of the evidence we had.

We had evidence. Why wasn’t it considered? Arbitrator Bill, why wasn’t it weighed? Why wasn’t our evidence comprised of emails, forensics, the testimony of 6 independent witnesses, the testimony of 3 witnesses working for us, all taken together more compelling than the sole testimony of the defendant who destroyed his computers, his emails, our software and our hard ware?

Jaime Gedye’s testimony is here. Gedye

Chris Cox testimony is here. Chris Cox

Justin McAnn on the existence of Foxpro programs on the hard drive Max reformatted can be found here.MCann

McAnn’s Linkedin address is here. You will note that his website urls do not work and he has provided no other contact information. Much Like Max, they are ghosts.

The Foxpro programs on the hard drive Max reformatted follow. These same programs were not on the active hard drive he returned on 11/13/03. There is no record of them on the active, 60 gig hard drive, per McAnn testimony and our forensic reports.

mail_split_incoming.prg prg GEM Executable Code\Executable
incoming.prg prg GEM Executable Code\Executable
mail_split_incoming.prg prg GEM Executable Code\Executable
memb_no.PRG PRG GEM Executable Code\Executable
report.PRG PRG GEM Executable Code\Executable
comb.prg prg GEM Executable Code\Executable
temp.PRG PRG GEM Executable Code\Executable
trans.PRG PRG GEM Executable Code\Executable
adispfix.prg prg GEM Executable Code\Executable
t.PRG PRG GEM Executable Code\Executable
mail_split.prg prg GEM Executable Code\Executable
fixwiz.PRG PRG GEM Executable Code\Executable
AppBldr.prg prg GEM Executable Code\Executable
comb.PRG PRG GEM Executable Code\Executable
appwiz.prg prg GEM Executable Code\Executable
secs.PRG PRG GEM Executable Code\Executable
wt_convert.PRG PRG GEM Executable Code\Executable
mytrnsfm.prg prg GEM Executable Code\Executable
transfrm.prg prg GEM Executable Code\Executable
phonefix.PRG PRG GEM Executable Code\Executable
phone_fix.PRG PRG GEM Executable Code\Executable
mail_split.prg prg GEM Executable Code\Executable
incoming.PRG PRG GEM Executable Code\Executable
dispfix.PRG PRG GEM Executable Code\Executable
amcdmra.PRG PRG GEM Executable Code\Executable
all_report.prg prg GEM Executable Code\Executable
server.prg prg GEM Executable Code\Executable
start.prg prg GEM Executable Code\Executable
hexedit.prg prg GEM Executable Code\Executable
gendbc.prg prg GEM Executable Code\Executable
odebug.prg prg GEM Executable Code\Executable
cpzero.prg prg GEM Executable Code\Executable
conprocs.prg prg GEM Executable Code\Executable
convert.prg prg GEM Executable Code\Executable
generic.prg prg GEM Executable Code\Executable
foreign.prg prg GEM Executable Code\Executable
migdb4.prg prg GEM Executable Code\Executable
transprt.prg prg GEM Executable Code\Executable
analyzer.prg prg GEM Executable Code\Executable
utility.prg prg GEM Executable Code\Executable
main.prg prg GEM Executable Code\Executable
datepick.prg prg GEM Executable Code\Executable
anim.prg prg GEM Executable Code\Executable
cgraph.prg prg GEM Executable Code\Executable
fdproc.prg prg GEM Executable Code\Executable
pgraph.prg prg GEM Executable Code\Executable
main.prg prg GEM Executable Code\Executable
jobmgr.prg prg GEM Executable Code\Executable
dummy.prg prg GEM Executable Code\Executable
poolmgr.prg prg GEM Executable Code\Executable
srchdata.prg prg GEM Executable Code\Executable
odebug.prg prg GEM Executable Code\Executable
foxweb.prg prg GEM Executable Code\Executable
t1.prg prg GEM Executable Code\Executable
main.prg prg GEM Executable Code\Executable
insubq.prg prg GEM Executable Code\Executable
bizrules.prg prg GEM Executable Code\Executable
csmain.prg prg GEM Executable Code\Executable
csprocs.prg prg GEM Executable Code\Executable
cust.prg prg GEM Executable Code\Executable
msmqmsg.prg prg GEM Executable Code\Executable
prod.prg prg GEM Executable Code\Executable
order.prg prg GEM Executable Code\Executable
book_TCE.prg prg GEM Executable Code\Executable
book_sub1.prg prg GEM Executable Code\Executable
book_pub.prg prg GEM Executable Code\Executable
registry.prg prg GEM Executable Code\Executable
runcode.PRG PRG GEM Executable Code\Executable
setobjrf.prg prg GEM Executable Code\Executable
_base.prg prg GEM Executable Code\Executable
genmenu.prg prg GEM Executable Code\Executable
genhtml.prg prg GEM Executable Code\Executable
scctext.prg prg GEM Executable Code\Executable
RUNACTD.PRG PRG GEM Executable Code\Executable
hlp2fox.prg prg GEM Executable Code\Executable
vfpxtab.prg prg GEM Executable Code\Executable
_command.prg prg GEM Executable Code\Executable
ERR_REPORT.PRG PRG GEM Executable Code\Executable
test1.PRG PRG GEM Executable Code\Executable
amcsale.PRG PRG GEM Executable Code\Executable
crmcomp.prg prg GEM Executable Code\Executable
crmclient.prg prg GEM Executable Code\Executable
crmworker.prg prg GEM Executable Code\Executable
testqc.prg prg GEM Executable Code\Executable
foxqc.prg prg GEM Executable Code\Executable
main.prg prg GEM Executable Code\Executable
report.PRG PRG GEM Executable Code\Executable
t.PRG PRG GEM Executable Code\Executable
q.PRG PRG GEM Executable Code\Executable
tw.PRG PRG GEM Executable Code\Executable
report_pm_nodate.prg prg GEM Executable Code\Executable
dailyver.PRG PRG GEM Executable Code\Executable
T.PRG PRG GEM Executable Code\Executable
report_am.PRG PRG GEM Executable Code\Executable
report_pm.PRG PRG GEM Executable Code\Executable
daily_rpt.prg prg GEM Executable Code\Executable
scrub.PRG PRG GEM Executable Code\Executable
incoming.PRG PRG GEM Executable Code\Executable
report_am_nodate.prg prg GEM Executable Code\Executable
De135.PRG PRG GEM Executable Code\Executable
report_all.prg prg GEM Executable Code\Executable
De154.PRG PRG GEM Executable Code\Executable
De145.PRG PRG GEM Executable Code\Executable
De138.PRG PRG GEM Executable Code\Executable
De89.PRG PRG GEM Executable Code\Executable
De102.PRG PRG GEM Executable Code\Executable
De94.PRG PRG GEM Executable Code\Executable
report_all.prg prg GEM Executable Code\Executable
daily_rpt_ampm.prg prg GEM Executable Code\Executable
make_scrub.PRG PRG GEM Executable Code\Executable
make_rr.PRG PRG GEM Executable Code\Executable
incoming.PRG PRG GEM Executable Code\Executable
pe_sales.PRG PRG GEM Executable Code\Executable
pe_sales_resend.prg prg GEM Executable Code\Executable
report.PRG PRG GEM Executable Code\Executable
pe_nsr.PRG PRG GEM Executable Code\Executable
comb.prg prg GEM Executable Code\Executable
pol_send.PRG PRG GEM Executable Code\Executable
amcsale.PRG PRG GEM Executable Code\Executable
psplit.PRG PRG GEM Executable Code\Executable
hours2.PRG PRG GEM Executable Code\Executable
pe.PRG PRG GEM Executable Code\Executable
hours.PRG PRG GEM Executable Code\Executable
fone.PRG PRG GEM Executable Code\Executable
dnc2.PRG PRG GEM Executable Code\Executable
main.prg prg GEM Executable Code\Executable

All of the above, but a few, were dated in May 2003 when the hard drive allegedly crashed. The others were dated 11/12/03, the day before he turned over the files on his last day.

Our forensic report on recovered files from the active hard drive M returned are here. 60 GB Hard Drive Recovered Files Relevant Dates. Not one Foxpro program.


Chapter 85 – Implement IT Department Security

An irate IT staff member can cause a small business a great deal of harm. Take steps to protect yourself through third parties, not other internal staff members. We got burned.

We needed to generate about 12 reports a day. M, our former IT manager, claimed he wrote the code to generate the reports every day. Imagine going through the process that follows here to write the code to create a report file each and every day times 12 as opposed to creating an executable file, testing and saving it for use everyday. Then you use a simple command to run the saved file and produce a report from the code already in place. M not only claimed that he wrote the code for the reporting files every day, but also that he didn’t save them. He turned over none of the code. The person we hired to regenerate the code took close to a week and he was familiar with many of our clients.

Unfortunately an arbitrator believed him. Why the arbitrator believed the testimony by M is beyond reason, but as I have already outlined he most likely suffered some deterioration of cognitive skills. And his former partner represented M in the dispute. Today this would be more clearly a computer fraud and abuse act violation. No so only a short time ago.

Following is an example of the coding steps. Republished from:

Dr. Thomas Webb

Computer Science Department
Trinity University

This the process necessary to set up a report for a restaurant. tutorial_-creating-a-foxpro-application

1] The contents of the initial folder should be the Rest.dbf, Rest.cdx, and Rest.fpt.(See Below!)
2] In order to easily find the wizards that we are going to use on any computer, I recommend placing at least the four screen wizard file in your directory.

3] In order to keep from having dozens of files at the root level, it is best to organize the various files for an application. Some of them will have to be kept in the root directory, but others we shall organize by topic. For example, we shall place all of our images in the BitMaps directory. We shall place all of our forms in the Forms directory. We shall place all of our Reports in the Reports directory. We shall place all of our database tables and indexes in the Data directory. We shall place all of our program code in the Programs directory.

Create all of the directories that you see below. This is a very simple database application with no relationships and only a single file. For an application as simple at this, we shall not yet use the Help, Include, Libs, Menu, or Other directories. See Below.
4] I am including several of the bitmap images that I use for applications in the file below. Extract them and add them to the BitMaps folder. (See Below!)

5] Move the three rest files into the Data folder. (See Below!)
6] This should leave the folowing files/directories at the root level. (See Below!)

Create A Database Project

1] Start FoxPro. Important==>
Set Default to C:\Temp\RestaurantApp!  (See Below!)

2] Using the mouse, hold down the File Menu and select New (See Below!)
2] Using the mouse, select the Project Radio button. Using the mouse, push the New File button. (See Below!)
3] If you have set the default properly, the RestaurantApp folder should be in the Save In bar at the top; Enter a project name of Rest. Using the mouse, select/push the Save button.
4] The project is now created. (See Below!)
5] This new project should have added files Rest.PJT and Rest.pjx to the root of the RestaurantApp folder. Check it out! (See Below!)

Create A Database

1] Expand Data or select the data tab. Select Database. Using the mouse, select/push the New button. (See Below!)

2] Using the mouse, select/push the New Database button. (See Below!)
3] Enter Rest in the Enter Database dialog box. Using the mouse, select/push the Save button. (See Below!)
4] We now want to add all of our database tables to the database. Using the mouse, select/push the Add Table button.(See Below!)
5] Go to the Data folder and select each of your tables; only one in this application. (See Below!)
6] You database now has the Rest Table associated with it! (See Below!) You may also create new tables with the New Table button. Tables inside the database are permitted to have much longer field names. Try it!
7] The application provides easy point and click access to all databases, all tables, and all fields in the tables.
8] The view below shows the Rest table expanded in the Data tab view. Note that you can modify the table structure or browse the table from this view. (See Below!)
9] Note that this has added files Rest.DCT and Rest.DCX to the root of your application folder. (See Below!)

Create The Rest Form

1] Select the Documents Tab. All Reports, Labels, and Forms are to be organized here. Using the mouse, select/push the New button. (See Below!)

2] Using the mouse, select/push the New Form button. (See Below!)
3] It is not the purpose of this tutorial to teach form or report design. Check one of my other tutorials. Create the following form. Put your name at the menu bar in place of mine. Save it as Rest in the Forms folder/directory. We shall not use all of the buttons yet! (See Below!)

Special Rest Form Settings and Events

  1. Destroy Event ==> application.visible = .T.
  2. Get Focus Event ==> _screen.activeform.refresh
  3. Set Closable to false
  4. Set MaxButton to false
  5. Set MinButton to true
  6. Set ShowWindow to 2 – As Top Level Form
  7. Set WindowState to 0 – Normal
  8. Show Tips = True
  9. Set Scroll Bars = 0 None
  10. AutoCenter  = .T.
  11. Check Tab Order. Create Caption! Review the form design guidelines.

4] Your SelectCombo shall have the following 5 options:
5]  Your OrderCombo shall have the following 2 options:

Create The Search Form

1] Create the following generic Search form with your project manager. Note that it has the same two combos as were on your Rest form. Think copy and paste! The form title bar is to be
Search Engine.

Special Search Form Settings and Events

  1. Always On Top  = .T.
  2. AutoCenter  = .T.
  3. Caption = Search Engine
  4. Closable = .F.
  5. GotFocus Event = Do SetSearchExample
  6. MaxButton = .F.
  7. MinButton = .F.
  8. Name = Search
  9. Show Tips = True
  10. Set ShowWindow to 2 – As Top Level Form

2] Your Search By choices are to have the following 2 options:
3] Your Group To Search – Select choices are to have the following 5 options:

Create The Print Form

1]  Create the following generic Print form with your project manager. The combo is to have list of all the reports for your application. The form title bar is to be
Report and Label Selections. The three required options for the PrintCombo are Full Report [Professionally laid out report containing all of the information about the restaurant is to go to the printer!] and NamePhone Report [Professionally laid out report containing only the Name and Phone of all restaurants is to go to the printer] and a mailing label for envelopes.

Special Print Form Settings and Events

  1. Always On Top  = .T.
  2. AutoCenter  = .T.
  3. Caption = Print Report and Label Selections
  4. Closable = .F.
  5. MaxButton = .F.
  6. MinButton = .F.
  7. Name = Print
  8. Show Tips = True
  9. Set ShowWindow to 2 – As Top Level Form

Create The Undelete Form

1]  Create the following Undelete form with your project manager. Shown in the List box are to be only those restaurants that are deleted. The form title bar is to be
To Undelete, Move Cursor Into Desired Row & Select Undelete!

Special Undelete Form Settings and Events

  1. Always On Top  = .T.
  2. AutoCenter  = .T.
  3. Caption = To UnDelete, Move Cursor Into Desired Row & Select Undelete!
  4. Closable = .F.
  5. MaxButton = .F.
  6. MinButton = .F.
  7. Name = Undelete
  8. Show Tips = True
  9. Set ShowWindow to 2 – As Top Level Form


1] Create a full report that professionally displays all of the information of the filtered restaruants with page numbers, dates, and captions. Put a divider line between each record. Call the report FullReport. Store the Reports in the Report folder.

2] Create a Name & Phone report that professionally displays the name and phone of the filtered restaruants with page numbers & dates. Yoiu may put the captions at the top of the columns if you like. Call the report NamePhone.

Extra credit <1> pt If you get the filter information on the report title as well.

SKIP Not Installed On Lab – Labels – SKIP Not Installed On Lab

1] Create a mailing label that professionally displays the Name on line 1 of a label.  Display the Address on line 2. Display the City, State, and Zip on line 3 of the label. Call the label Mail.

Beneath The Docs Tab

1] Your application should now have the following forms, reports, and labels. (See Below!)

Add Programs To Project

1] Add a main program in which to launch your application and a code file in which to store all of your button code. All forms and applications should be tested by selecting the Main and pushing the Run button. See below!

3] Using the mouse, right click on main and select Set Main. You may also hold down the project menu and select Set Main. (See Below!)

4] Note that it is now bold. This shall be the program that is run when the executable is built. You must do this in order to create executables. (See Below!)

Create A Good Start Program – Main.prg

1] Some of the system variables begin with an underscore(_). By convention, I start all of my global variables, declared in main, with a double underscore(__). It makes them easy to identify. Listed below is a screen capture of one good student’s attempt to solve this problem. Depending upon how you implement your solutions, you may or may not need to use all of the same variables. There is nothing new for my students in this block of code.

2] Note that you have to path to the code.prg file that contains all of the button code.  You will also have to path to the database table and the forms. (See Below!)

Create Code.PRG To Contain All Button Code

1] The Code to associate with button Next is found below:

2] The Code to associate with button Previous is found below:
3] The Code to associate with button Top is found below:
4] The Code to associate with button Bottom is found below:
5] The Code to associate with button Add is found below:
6] The Code to associate with button Delete is found below:
7] The Code to associate with button Exit is found below:
8] The Code to associate with procedure browse is found below:
9] The Code to associate with button Delete is found below:
10] The Code to associate with button Cancel on the Undelete form is found below:
11] The Code to associate with button Undelete on the Undelete form is found below:
12] The Code to associate with button Search  is found below:
13] The Code to associate with button cancel on the Search form is found below:
14] The Code to associate with button Search Now on the Search form is found below:
15] The Code to associate with button SetSearchExample on the Search form is found below:
16] The Code to associate with the Select Combo is found below: In order to more carefully identify my reports, I add a report subtitle to each report for clarification. This is most easily done when the filter is set! I save the last filter and last filter number for restoration purposes. It enables me to restore the environment in situations where I might have just run a report for Texas restaurants.

Continuation of SetFilterNo. Note that we should not allow the user to set a filter that provides zero records.

17] The Code to associate with the Order Combo is found below: I save the last order and last order number for restoration purposes. It enables me to restore the environment in situations where I might have just run a report for Texas restaurants in order by name.
18] The Code to associate with button Print is found below:
19] The Code to associate with the Cancel button on the Print form is found below:
20] The Code to associate with the Print button on the Print form is found below: Unfortunately there is an error in the distribution of the Visual Studio 6 that prevents the rest of the record option from working.

Continuation Of AcceptPrint

Add Tool Tips To All Your Buttons!

1] In addition to the graphic, each of your buttons should have extremely clear tips. (See Below!)

Messages for these buttons shall be:

  • Go To The First Record
  • Go To The Last Record
  • Go To The Next Record
  • Go To The Previous Record
  • Add New Record
  • Delete Record
  • Undelete Record
  • Browse
  • Save
  • Cancel
  • Search
  • Edit
  • Print
  • Exit

Build An Executable

With an executable, the user will not have to launch Foxpro or know any Foxpro coding/procedures/etc.

1] Your RestarurantApp folder probably looks something like the following:

2] The code in the previous Exit module did not really exit foxpro. It allowed you to get an idea of what your application was going to look like. It is now time to correct the Exit module

3] Using the mouse, select the Code tab of your project. Using the mouse, select the main program. Using the mouse select/push the Build button. (See Below!)

4] Using the mouse, select the Build Executable radio button. Using the mouse select/push the OK button. (See Below!)

5] Name the executable Rest.exe.  Using the mouse select/push the Save button. (See Below!)

6] The executable is now complete.  You may execute it by double-clicking on it. Try it! (See Below!)

What Files Do I Really Need For Program Execution?

1] The files necessary for execution are the application, the database, and the data. Since it is best to install all applications in the Program Files directory, I would normally recommend placing this folder in the Program Files Directory before creating the install disks; you will see why shortly! I would also recommend renaming the folder title appropriately ==> such as Restaurants.

Preparing Installation Disks!

1] Using the mouse, hold down the Tools menu bar ==> Select Wiards ==> Select Setup. (See Below!)

2] Push the file access button to select the distribution files. Once more, I recommend placing them in the Program Files directory. (See Below!)

3] As you perhaps noticed on the screen capture above, I have placed my distribution files in C:\Test-RestaurantApp folder. Navigate to the proper folder, and select/push the Select button. (See Below!)

4] Using the mouse, select/push the Next button. (See Below!)

5] Using the mouse, check Visual FoxPro runtime components. Using the mouse, select/push the Next button. (See Below!)

6] You may place your distribution disk in any existing folder. I have prepared, in advance, a folder C:\RestApp-Disks for this purpose. Navigate to the desired folder. Using the mouse, select/push the Select button. (See Below!)

7] Using the mouse, select/push the Next button. (See Below!)

8] The Setup dialog box caption is vital; select something appropriate. Notice how many times you see this string during the install process. Copyright is optional as is appropriate. You can select a program to execute upon completion. Using the mouse, select/push the Next button. (See Below!)

9] Using the mouse, select/push the Finish button. (See Below!)

10] It starts to work! Does not take long.

11] It will require 3 floppy disks to store those run-time DLL’s necessary to run this foxpro application on a system that has neither FoxPro nor another FoxPro application.

12] Created for you in the desired location is a folder called DISK144. You may copy DISK1 to the root of floppy disk #1 and DISK2 to the root of floppy disk #2 and DISK3 to the root of floppy disk #3; this will enable you to install from floppy disks.

Install The Application From Install Disks Or Network

1] You may also simply leave these three folders intact and install from the network. In either event, double-clicking on Setup.exe will install the application. (See Below!)

2] Note the Setup Dialog Caption. Using the mouse select/push the Continue button.

3] It pulls info from previous windows install.

4] Using the mouse select/push the OK button.

5] Working!

6] It would have been so much less trouble for the user if I had created the installation disks from the Program Files directory. A knowledgeable user will want to change the location. Using the mouse select/push the Change Folder button.

7] Select Program Files directory and give the folder a decent title. Using the mouse select/push the OK button.

8] Using the mouse select/push the Yes button.

9] Using the mouse select/push the OK button.

10] Working!

11] Using the mouse select/push the Application Installation button.

12] Working!

13] Still Working!

14] Using the mouse select/push the OK button.

15] The application now exists in folder C:\Program Files\Restaurant. You may launch it by double-clicking on it. You may create a short cut to it and place it in the start menu or on the desktop. Try it!


Chapter 84 – Fake Chrisitians: Fake Morality

If you’re a Christian who exploits people, leads a double life or manages a “dirty” business, perhaps it’s better not to call yourself a believer, Pope Francis suggested in a homily on Thursday in Rome.

“So many Christians are like this, and these people scandalize others,” Francis said during morning Mass at Casa Santa Marta, according to Vatican Radio. “How many times have we heard — all of us, around the neighborhood and elsewhere — ‘But to be a Catholic like that, it’s better to be an atheist.’ It is that: scandal.”

“But what is scandal? Scandal is saying one thing and doing another.”

“To be a Christian means to do: to do the will of God — and on the last day — because all of us we will have one — that day what shall the Lord ask us? Will He say: ‘What you have said about me?’ No. He shall ask us about the things we did.”

Opposing counsel time and time again finds a way to lace in false and exonerated allegations against me and my companies, just like we see in the fake news today. Those allegations even if true have nothing to do with the cases before the court. And yet  time and time again I see a judge grabbing onto a small fact to build a case around.

Marshall helped M commit 13 separate acts of perjury. The first to deny receiving a termination email. The second to deny receiving a termination letter. Third to deny a separate conversation about his termination. Fourth, to deny he destroyed software. Fifth to allege that he wrote the code every night. Sixth to allege we were over billing clients. Seventh to allege he filed his complaint before he was fired. Eighth to  produce a spreadsheet he claimed was evidence of over billing when he created. Ninth, claiming he emails were on the computer he turned over. Tenth, claiming a 2nd hard drive was broken when it was being used by him to store music and movies. Eleventh, claiming he reformatted that hard drive six months earlier, instead of admitting that he reformatted the day before his last day. twelfth denying that programs were destroyed when he reformatted the 2nd hard drive. Thirteenth claiming that he did not store movies and videos on that hard drive. Actually I could go on.

So why are our liberal judged here so very committed to these lies.

Why does submitting a transcript of a hearing in Judge Jones chamber have any merit. Why was uncorroborated phone call between M and former employee received by the arbitrator. Why was a video taken of me talking to M in his living room and secretly taped explaining why he could not be rehired after his false complaint allowed into evidence. The moral outrage that M and Marshall showed was fake.

But the fake outrage only works on someone whose skills are compromised or totally void of moral edicts of a judge and arbitrator as reflects in their respective Codes of Ethics. The fact that they are so readily abandoned suggests we have people in positions of judicial power leading double lives, one of which is immoral and unethical. Refer to the Popes published comments.

Chapter 83 – The Scorpion and The Frog: An Attorney Exploiting an Elder Statesman

“A scorpion asks a frog to carry him over a river. The frog is afraid of being stung, but the scorpion argues that if it did so, both would sink and the scorpion would drown. The frog then agrees, but midway across the river the scorpion does indeed sting the frog, dooming them both. When asked why, the scorpion points out that this is its nature.”

–Fable of the Scorpion and the Frog

Having referred the defendant to Linda Marshall, the arbitrator in all likelihood became committed to the position espoused by her. I don’t think that was his goal or plan.

Every day the arbitrator asked Linda Marshall where we left off. I was surprised by this and it did not dawn on me at the time that Mr. C  may not have had the stamina to and cognitive skills to deal with a lot of the evidence, especially the forensics data. I presume this is why both Marshall and Christiansen do not want the forensic reports published.

So, what if the referral was innocent enough at the time but by the time the hearings began the arbitrator’s cognitive skills were not up to par. Couple this with my decision to proceed in the later half of the arbitration without counsel and you may just have a perfect opportunity to exploit a former colleague, the arbitrator. My decision to proceed without counsel was based on our overwhelming evidence , part of which we got in while still represented by counsel. The second reason, however, spun on finding out that Marshall worked with the arbitrator and was a former partner. I did not know that when we started. And an admission by our former counsel that he received a call from a Judge slamming me personally, which again was not shared until late into the process, was enough for me to proceed without counsel, which you can do in an arbitration.

There was an event that I have not covered yet. Part way through the arbitration we finally noticed that the defendant had a recording device in the hearing and it remained on while we occupied the room at break talking about case, strategy, etc. It was stopped after we raised the issue, but wow.

Lets identify the kep parts of our  position and lace in the arguments for and against. Those key arguments or events are (1) the shut down caused by M, (2) the termination date supported by the email evidence and witness testimony and (3) their position that M was fired because of his complaint (and evidence) to the ODJ.

The shut down was caused by M’s withholding and destroying of our software programs designed to process data and generate reports for our clients from the 100,000 bits of data we generated every day.  After the shutdown we hired an expert in our field to fly out and regenerate the programs. It took him four days. He also looked for the programs with the help of our IT department and found nothing on our servers nor on the computer hard drive returned by M. He testified on that issue. A forensic expert testified and produced a report of these very programs on a 2nd hard drive provided by M, but that hard drive had been reformatted. At the time the 2nd hard drive  was provided to us we were told by M that this hard drive was still not functioning, that it was broken. That turned out to not be the case. It was functioning and it’s where M had kept his music, videos and eBay files.

M testified that there were no programs, that he simply wrote code every day to generate the reports. Now on average each of our clients had three unique daily reports and we haad about 6 clients. The data we created daily was in a databas e run on a Unix operating system. That string of data had to be extracted, converted and moved to database tables. Back then M used Foxpro to generate the reports. We didn’t buy a package of reports. We had to write the code to do all of this and its hundreds of lines of code over multiple operating systems to accomplish this. We had 5 people testify on our behalf, which included the Foxpro and forensic experts. M’s group had only his testimony. The arbitrator was silent in his opinion about the shutdown, which was necessary for M’s claims to survive and our damages to be denied. It is hard to imagine that anyone would believe M on his point that he just wrote the code daily, when he could have saved and stored the code. But apparently the arbitrator chose to. believe M.

The second body of proof we offered was that M had been fired on October 2nd, well before he filed his complaint on October 27th.  We retained the email firing him. We retained the computer on which the email was sent. Forensic reports by our group confirmed the email was sent on October 2nd. A forensic report by M’s expert confirmed the email was sent on October 2nd. M claimed he didn’t get the email or letter terminating him, but we didn’t have to. We had forensics and the testimony of 3 other people versus M’s sole testimony. Also remember that M destroyed his computers on which he maintained his outlook email account. We were entitled to an inference that the receipt of the email is what M destroyed.

M’s position was that he did not receive an email or letter terminating him. He admitted to destroying his computers. He maintained that he kept his email on the computer hard drive he returned; however the forensic reports show that the only email account on that computer was created the day before M returned the computer and there were no emails attributable to him while the computer was in his possession. M also pointed out that I had refused to fire him 4 days earlier when he was attempting to hold us hostage for a raise in order to process data 5 months over due. I did days before but once he caught up on the data and I had a chance to talk to my IT staff, I fired him…on October 2nd.

I can’t explain the arbitrator’s rejection of the forensic evidence, even M’s forensic experts opinion, except to say that it has to fall into one of the three conclusions. The first is that his cognitive skills were bad enough that he was not able to discern the credibility of the evidence. The second is that he was benefitting somehow. The third was that he was angry after his recusal and bent over backwards to simply punish. I’m opting for failing cognitive skills.  Knowing that his cognitive skills had deteriorated, M and Marshall put on false evidence to give the arbitrator something to hold onto. Exploiting the elderly is based on something similar.

I am not an attorney but it strikes me as very dangerous to put on false evidence and to engage in false testimony. The degree to which M and Marshall did this however was startling. There is a tremendous record, which they don’t want us to publish, but that’s too bad. The truth lives in the light, not the darkness.

The third category of evidence was of course the existence of the spreadsheet which M and Marshall maintained showed over-billing. To the arbitrator’s credit he had already found that there was no evidence of over-billing. He did that before his recusal. We put on evidence that the spreadsheet was fabricated. M claimed that he had received it via email, but did not produce the email and of course destroyed his computers. The spreadsheet showed time being written off, which M claimed was inappropriate. Most importantly M testified that none of it was criminal, just inappropriate. His complaint to the ODJ however alleged criminal activity, which he retracted. He did not produce the spreadsheet to the ODJ and the file was closed. The spreadsheet was not corroborated by M. He did not call witnesses. He produced no admissions from anyone on the spreadsheet. He did no forensics work on the computer from which he claimed the spreadsheet was created (and we looked and it could not be found). Nada.

With the rejection of the shutdown and rejection of the termination date, the arbitrator still had to find that M relied on the spreadsheet evidence in good faith and was terminated because of his complaint. And that’s what he did.

The arbitrators cognitive skill deterioration was an issue brought to my attention before the hearing began, by one of my attorneys. He had been told this by a member of the arbitrator’s law firm. I know who that is.

I am going to presume that because of the vast amount of fraudulent testimony and evidence offered by M and Marshall, that Marshall knew of the arbitrator’s condition and exploited it. Left alone and without the benefit of a clerk to help, arbitrator C was overwhelmed and confused. He therefore worked backwards. First he was angry about being called out on a conflicts issue and decided to punish. In the absence of cognitive deterioration, he would not have done that. He was getting pressure to punish and he did. Once he decided how much to punish, the opinion became a stepping stone of justifications to eliminate our overwhelming evidence.

There is nothing that the Oregon State Bar or the Court has done to reverse this tragedy of errors. Quite the opposite, they have done everything they can to assist in covering it up. No one wants to make fun or embarrass arbitrator C, except for M and Marshall…who made that decision some time ago.  However, covering it up does not make the truth go away. Joel’s new lawsuit does not make the truth go away.

In the fable, the scorpion convinces the frog to take the scorpion across the pond. In this case Marshall is the scorpion. She knew the arbitrator was in need of guidance to allow him to render a judgment consistent with the evidence and the truth. Mr. C’s reliance was not well placed. He did not know me. He did know her. And she stung him just like she stung me and her profession.

My attorney’s were guilty of not dispensing of this case 6 years sooner. I hold both Scott Cliff and Jeff Edelson responsible for that.  They were also guilty of not replacing the arbitrator when they learned of the cognitive impairment. There is no one at the Oregon State Bar dealing with cognitive impairment of practicing attorneys until such time a complaint is filed in some form. By then someone is hurt.

The scorpion survives. A lot of people got stung.

There are numerous studies on the cognitive issues in senior judges. I refer you here to one piece titled “Inside the Judicial Mind.”inside-the-judicial-mind.



Chapter 82 -The Anti-Slapp Con

After considerable effort I was able to acquire via subpoena the false and defamatory statements made by Joel Christiansen and Linda Marshall. Unfortuantely I was unable to secure this evidence until well after the first hearing on the motion to strike my complaint against the two perps.

Once I filed my motion to appeal, Robert Herndon, Chief Judge Clackamas County, and at a hearing on my motion fo reconsideration based on the subpoena evidence, the Judge decided that it was out of his jurisdiction.

What that means is that the two perps got away with perjury, they got away with lieing to the court, the plf got away with assisting these perps with the lie and tagged me with the bill for filing the lawsuit.

Ultimately the anti-slapp lawsuit is now just an opportunity for the court to exercise control over a lawsuit and deny the plaintiff an opportunity for a trial before a jury.

Chapter 81 – Two Lawyers Charged With Extortion Scheme

Two lawyers were charged Friday with a “massive extortion scheme” in which they uploaded X-rated films to file-sharing sites, sued the people who downloaded them — and collected millions from victims who feared public humiliation, prosecutors said.

Paul Hansmeier and John Steele actually produced some of the pornography, solely for the purpose of copyrighting it so they could file “sham lawsuits” used to shake down their targets, Minnesota U.S. Attorney Andrew Luger said.

“The conduct of these defendants was nothing short of outrageous,” Luger said at a press conference hours after Hansmeier and Steele were charged with conspiracy to commit fraud, money laundering and perjury.

“Everything about their practice of law was fraudulent.”

Luger sounded disgusted as he described the alleged scheme in which two officers of the court allegedly used unwitting judges to unmask those who downloaded the porn — until it became clear in 2013 that the lawsuits were not legitimate.

The lawyers began by offering to represent the makers of sex films against video pirating, prosecutors said. But instead of trying to protect the copyrighted material, they allegedly put them on websites where they knew they would be illegally downloaded.

Because all they had was internet addresses for the downloaders, the attorneys filed copyright infringement lawsuits against “John Does” and then sought subpoenas that gave them names.

They never intended to go forward with the lawsuits because the litigation would reveal that they had uploaded the movies themselves, Luger said. Instead, they offered the victims the chance to settle and keep their name out of court papers for several thousand dollars, according to the indictment.

Eventually, Hansmeier and Steele realized they could cut out the middlemen. They went to a porn convention and cut deals to produce porn they could use to trap more file-sharers. “They were essentially their own clients,” Luger said.

In an offshoot of the original scheme, the defendants created a company called Guava, then claimed that its computer systems had been hacked in an effort to find the names behind some Internet addresses and file more lawsuits, the indictment charges.

Until courts got wise to what was happening, the pair raked in about $6 million in settlements, prosecutors said.

Hansmeier and Steele’s firm, Prenda Law, fell apart after courts hit it with sanctions and a federal judge referred them to criminal investigators.

Hansmeier, 35, who was suspended from practicing law this fall, was arrested Friday morning and was due to appear in court later in the day. His wife, attorney Padraigin Browne, said she had no comment. Steele, 45, was arrested in Florida; his Chicago law office said they did not know who is representing him.

In previous litigation they had denied any fraud.