June 24th, 2008
Learn it. I’m serious. Its a great development platform that is integrated into a command shell. auto-complete, visual studio syntax, and when put together with the exchange server 2007 addin, you’ll have infinite capability and power managing servers with applets and apps!
I’m serious. Learn it.
Posted in Uncategorized | No Comments »
February 21st, 2008
“Wowzers Penny! I never knew you were so good at sending spam!”
Well, I cleaned out the blog of its spam. Total Spam count - 423 messages!
My blog is awesome. Also, I’ve added a plugin that filters spam posts.
Posted in website | No Comments »
February 21st, 2008
Check it out! I’ve added a development wiki, so i can more easily add and manage my active projects! While you’re there, check out Coggr!
Posted in Code, website | No Comments »
September 7th, 2007
Written in Delphi
This detailed example details a decent way to implement an add/edit window in one nice procedure.
Note that the DATA layer is included in this logic layer. If you have a 3 tier development system,
please follow those standards.
Note that the Edit window is part of a loop! It will show at least once.
-If the user presses OK, and there are errors, an error dialog will show
(handle however you wish, error label on a timer, log it, whatever)
and the dialog will reappear with the previously entered data. (Loop will re-iterate)
-If the user presses OK, and there are no errors, the loop exits with only one iteration.
-If the user presses any other exiting button (eg: Cancel), the loop will not even iterate!
Please give credit to Jeff Lefebvre,
stamp_at_kiwistamp.com
function AddEditEntry(ItemObject : tObject)
var
adding : boolean; //Whether adding or Not
errors : boolean; //IF there are errors when saving
theForm : tForm; //The Editing Form
index : integer; //Loop index
begin
//Determine if adding
adding := not assigned(ItemObject);
//Create form
theForm := tForm.Create();
//Populate form regardless if adding or not
theForm.Color := clBlue;
//Populate form if editing
if not adding then
begin
theForm.edtName.text := (ItemObject as tDog).Name;
end;
//Loop showing form if there are errors
//Exit when there are no errors, or the user didn't press OK
errors := true;
while errors and (theForm.ShowModal = mrOK)
begin
errors := false;
//If adding, make an insert SQL. otherwise, update SQL
if adding then
begin
Query.Sql.Add('Insert SQL');
end
else
begin
Query.Sql.Add('Update SQL');
end;
try
Query.ExecSql;
except
on E : Exception do
begin
ShowMessage('Unable to save to the database!' + #13#10#13#10 + E.Message);
errors := true;
end;
end;
//Detail entries
//Delete old details if Editing
if not adding then
begin
Query.Sql.Add('Delete All Details SQL');
try
Query.ExecSql;
except
on E : Exception do
begin
ShowMessage('Unable to save to the database!' + #13#10#13#10 + E.Message);
errors := true;
end;
end;
end;
//Add new Details regardless of adding or editing
for index := 0 to theForm.aList.count - 1 do
begin
Query.Sql.Add('Insert New Details SQL');
try
Query.ExecSql;
except
on E : Exception do
begin
ShowMessage('Unable to save to the database!' + #13#10#13#10 + E.Message);
errors := true;
end;
end;
end;
//If there are errors, roll back any changes. Otherwise, Commit.
if errors then
Query.Transaction.Rollback
else
Query.Transaction.Commit;
end; //of Error Loop
//Finally, free and nil the form!
freeAndNil(theForm);
end;
Posted in Uncategorized, Code, Delphi, Dialog | 1 Comment »
June 11th, 2007
NEVER DO THIS:
function getList():tList;
DO THIS
procedure getList(aList:tList);
why?
by returning a tlist object, the creation and release of the tlist object is not together, not only resulting in disorganization, but the chance of the object not being properly released (resulting in a memory leak). By passing in the tlist, the creation and release of the tlist is kept together, avoiding said disaster.
ALSO:
take a look at this article.
Top Ten of Programming Advice NOT to follow Good Reading 
Posted in Uncategorized | No Comments »
June 5th, 2007
Just as a jot down…
Current Projects:
**Secret Project** (see survey below!)
Linux-based mp3 library manager/player (for the Neo1973)
Netflix contest
On Hold:
Simcity 4 Online
My Music
Posted in Uncategorized | No Comments »
May 23rd, 2007
Posted in Uncategorized | No Comments »
May 16th, 2007

This is an example of an mp3 player that is inferior to my goal.
What i need is a device that will manage a library of music, and have
intuitive navigation controls
that will allow me to quickly navigate my library. NO SUCH PLAYER EXISTS!
I have completed my first step - installing Linux on Windows Vista (using VMware (virtual PC 2007)). I will lay out my plans later
But i plan to make something that doesnt exist today :D.
On another note.. I’m going to have to come up with another name for my mp3 player… StaMp3 seems to have been taken… Site of name i seem to be ripping off
Posted in Uncategorized | No Comments »
May 11th, 2007

As post #2, i would like to add some legitimate content! As seen above, there is an image that would (hopefully) bring a smile to your eyes.
Anywho, my plans for this weekend are as follows:
Celebrate my brother’s (late
) birthday, drive him to dads in MY NEW CAR!
Saturday, install windows on a machine i am selling to my dad’s company.
Sunday, go out for lunch with mother for mother’s day, and DnD.
And.. there you go!
Posted in Uncategorized | 4 Comments »
April 26th, 2007
This is my first post on kiwistamp.com! yay…..
ANYwho, expect.. more.. posts… to… read? yes
Posted in Uncategorized | 2 Comments »