Sunday, August 15, 2010
Switched to WordPress
I have switched my blogging activities to WordPress, which is a much better tool. It is mostly a set of .php scripts which can be modified locally and uploaded, so it provides a good sense of control. It also has a lot more features and a larger user base than Thinga.
Thank you for reading this blog. It is no longer relevant, so I will not be posting to it any longer.
Friday, August 13, 2010
Thingamablog is Dead
This blog is now dead. Thingamablog has stopped working.
It appears that my database has been clobbered
and Thingamablog has become useless. Go figure.
I think that Thingamablog is dead. Here is why:
I have been a strong supporter of Thingamablog for quite a while now, but I have given up. It is totally unsupported, buggy code being touted by churlish gerns.
So don't be surprised if Thingamablog goes away entirely soon. A lot of users have bailed out in frustration.
Ironically, I am still using it to post my own blogs, but I am looking for alternatives. Perhaps I will create one.
Tuesday, July 20, 2010
Forum is Down
I just tried to look at the Thingamablog forum to see what is going on. All I get is a 500 error and a 404. I guess the Thingamablog forum is gone again.
This blog tool appears to be dead and abandoned.
Edit: Oops. It's back up.
Friday, July 16, 2010
Q: When is Open Source not Open Source?
A: When some of the source code is not delivered.
There have been questions arising from the user base about why Thingamablog 1.5 was not delivered Open Source. Version 1.1 was open source. Bob decided to keep the source code proprietary for that version. We have not received an answer for why he did that other that "That is the way it is".
Since Bob has abandoned the program again, and it has some show stopper bugs in it now (it freezes when you try to upload the blog), the 1.5 version has become unusable for some people. Bob is not answering any queries about the bug. Since the code is not open source, the user community has no way to fix the problem either.
"Thank goodness I stayed with version 1.1b6", I said, "which was Open Source"! So I opened up some source files to see if it would be worthwhile to carry this tool forward in the future. Here is what I discovered.
I opened up the file HTMLEditor.java (since that seems to be really slow and I thought I could speed it up) to see if I could puzzle out how it works. That is when I found this in the file:
import net.atlanticbb.tantlinger.i18n.I18n; import net.atlanticbb.tantlinger.ui.UIUtils; import net.atlanticbb.tantlinger.ui.text.CompoundUndoManager; import net.atlanticbb.tantlinger.ui.text.IndentationFilter; import net.atlanticbb.tantlinger.ui.text.SourceCodeEditor;
The editor is using those other classes, such as SourceCodeEditor to do the real work.
The HTMLEditor uses a bunch of classes in the directory, "net.atlanticbb.tantlinger.ui.text", and that directory is not in the source tree. It must have been written by Bob because it has his name all over it. The classes are not in the Java class library. So I went looking for these critical classes in Thingamablog and finally found them in the file
Those classes have been delivered pre-compiled and in a jar file full of compiled classes.
There is no source code for those files in the source tree. Hence, if you want to extend/modify/fix/improve the part of the program that is coded in those files, you cannot. All we got were the binaries. So version 1.1 also was not really open source.
I think that it is a bit disingenuous to call a program "Open Source" and then not deliver all of the source code, locking up critical parts it as proprietary.
Saturday, July 03, 2010
Thingamablog From Source
This blog is written using Thingamablog 1.1b6. I did not upgrade to TAMB 1.5 because of the many problems others are having with it. The source code for 1.5 has not been released, but the source for 1.1b6 is still available. I am more comfortable with the program knowing that I can build it from source.
Building Thingamablog from source is actually pretty easy. Download the source code from here:
The code is in a zip file. Put the zip file into a directory and unzip it. Then, in a command line window, cd to the directory "thingamablog-1.1b6" and type "ant". Ant is the build tool used to build TAMB. Ant will compile and package Thingamablog for you automatically.
If the computer tells you that it doesn't know what ant is, download it from here:
Ant runs on Windows, Linux and MacOSX ( and some others).
You also need the Java JDK, which contains the Java compiler used by ant. You can get the Java JDK here:
Saturday, June 19, 2010
Bob Is Missing
Our leader and the creator of Thingamablog is missing. We have not heard from him since January. If anybody out there has seen Bob, please notify the Thingamablog Forum:
Thank you for your support.
Wednesday, June 16, 2010
Why I Like TAMB
I recently ran into a web site that had directions on it for how to delete your account on various social networking sites, facebook, twitter, wordpress... The procedures are surprisingly complex, and with no guarantee of success. In some cases, the word "impossible" was used. Once you post a "mistake" out on those servers, it is permanent. The teens of the world are finding this out the hard way, posting naked photos and incendiary language.
A couple of weeks ago I created a post to my other blog that I decided I did not want to keep. There was nothing really wrong with it, I just didn't like it. I backed it up (in case I changed my mind later), deleted it from the TAMB database, and reposted. Just to be sure, I used Filezilla to remove any zombie entry files out on my server. Voilà. Gone! Sure, it may still be in the Google cache, but I doubt it. It wasn't out there long enough for that slow 'bot to find it.
This is what I like about TAMB. The results are in my control. If I want it there, it's there. When I want it gone, it's gone.
Saturday, June 05, 2010
I just noticed something interesting. I had a sentence that was all in bold. When I ran spell check it found a misspelled word in the sentence, so I let the spell checker correct the word. After I posted the blog entry, the corrected word was no longer bold. TAMB had broken up the bold tag to surround the words previous to the corrected word and the words after it, leaving out the corrected word.
Thursday, May 27, 2010
Not Blogging Here Much
I have been very derelict in adding to this blog. The issue is that TAMB is working OK for me now so I am spending my time using it instead of figuring it out.
If Bob releases the source code for TAMB 1.5 I might consider upgrading and posting the results here.
Thursday, March 25, 2010
I haven't been blogging on this site for a while. That's because Thingamablog is cranking right along doing its thing, so there isn't much to blog about here. Check out my other blog.
Sunday, January 10, 2010
Home Grown Comments for TAMB
I have implemented comments in my blog "Nothing Happens At Ten". I did this myself in order to keep control of the code that is running on my web page. It also was an interesting programming challenge to solve. I did not write all of the code I used, but I did make some significant changes to the code that I downloaded.
The blog pages must be published as .php files for this to work because the comments feature is written in php, and the server needs to see the .php suffix in order to know that the pages are really php programs.
This is a long and detailed post because it contains implementation details about how I did this. I hope you can find some useful hints in here. If you are not interested in the details, feel free to press on to more interesting matters.
To get the requisite files uploaded, import the following files into the TAMB blog web folder:
They will be uploaded to the root of the blog directory structure when the blog is published.
I have put the php code into some .txt files out on the server so that you can see what the code looks like. Your browser will display the contents of the .txt files instead of executing them. If you decide to use this, you must copy the code from the .txt files into files with the "php" and "php5" suffixes. Here are the files:
The ttf, gdf and png files are support files required by the Captcha code. They are available from TheCAPTCHA (a link is provided below). You can also get them from this web site through the links below:
My comments feature was put together from two different sources, which I merged, writing some php code to make them work together. The two sources are
1). a simple commenting system from the following site:
2). the code to generate a Captcha image from the following site:
I did some major modifications to the files to get both of the features to work together seamlessly. I modified comments.php from James to post the captcha.form, and I modified the captcha.form from TheCAPTCHA to save the comments in local files as well as emailing the results to me.
Here is how it works.
The file "comments.php" is included in the TAMB template files using a normal php "include" command. It creates an "Add Comment" button on the blog pages. Each entry in the blog includes the code, so each entry has its own button. The button posts the blog entry name and the base address of the web page to the program "captcha.form", which creates a new web page into which the user can type the comment. Comments are stored in text files on the server. The files are named after the TAMB name for the entry, for example comments for entry 3 of the blog are contained in the file "e_3.txt".
To provide comments throughout the entire blog, I have included comments.php in the following tempates:
The index template and the feed template do not provide the ability to leave comments.
I have modified the program, captcha.form, to provide my own text and formatting to make it fit in with the rest of my blog. The form has input areas for the commenter's name, email and comment. It also calls the function "captcha.image" to generate a unique captcha image for the page. The commenter is required to correctly solve the captcha puzzle in order to submit the comment to the blog. This is to minimize spamming from bots, which have a hard time reading the captcha image.
The captcha.form includes the captcha.function file, which has the code to generate the captcha image and the code to verify that the commenter has entered the correct captcha word.
OK. Here is the summary.
The TAMB template includes comments.php
The captcha.form posts to itself, meaning that this is recursive code. When the program is entered, it decides based on a posted value of the argument called "initial", whether to process the posted comment or simply post the form.
The main button on the blog screen sets the initial value to true which causes the program to display the form and quit. The form itself does not post an initial value of true, which causes it to process the comment, flag errors and repost the form, or if there are no errors, to process the comment and post a "Thank You" page.
To implement my comments feature, I edited the templates and added the following code where the blog entries are found, just after the line which contains the <$CategoryLink$> tag. The differences in the code snippets are the number of relative directories it has to go up to find the php code.
main.template - front page
<?php $article="e" . "<$CurrentDate format="yyyy"$>". "_" . "<$EntryID$>"; $base='.'; include 'comments.php'; ?>
archive.template - archive pages
<?php $article="e" . "<$CurrentDate format="yyyy"$>". "_" . "<$EntryID$>"; $base='../'; include '../comments.php'; ?>
category.template - category pages
<?php $article="e" . "<$CurrentDate format="yyyy"$>". "_" . "<$EntryID$>"; $base='../'; include '../comments.php'; ?>
entry.template - individual entry pages
<?php $article="e" . "<$CurrentDate format="yyyy"$>". "_" . "<$EntryID$>"; $base='../../../'; include '../../../comments.php'; ?>
index.template - archive index page
The index template has no entries, so don't use comments.
Don't use comments in the feed template. RSS feed only.
Publish the blog, and the comments capability should be in place.
We have had the pleasure of hosting 2,998 guests since this site was created on July 17, 2009.
This site and all of its contents are copyright Brian S. Kimerer 2009