Posts

Checking the database

The code currently uploaded to my java project at covers only the front end of the application. I have not formalized the back end. It remains a collection of code scraps, which I use from time to time to check what is in the database, or less often to change what is in the database. I have not formalized it because I am currently the only user. In previous incarnations of the app I have incorporated data queries, with all sorts of filters and user customization, which no one has understood how to use. My current ad hoc query code is as follows: public class ItemdbQuery { public static void main(String args[]) throws ClassNotFoundException, SQLException { /** * These are shared variable declarations */ Connection connect = null; Statement stat = null; /** * This is the start of the main code. */ System.out.println("try connection"); try { // Load database driver Class.forName("org.apache.derby.jdbc.ClientDriver"); // Make connection String connn = ...

MS Outlook Slow to Start

It is embarrassing, whatever ones business, if a client rings up for an appointment, and you have to keep them waiting for 30 or more seconds while MS Outlook cranks into action. It is especially embarrassing if the client is calling to ask you to build a new computer for them, which they hope will be quick and easy to use. My old excuse was that I was using a Dell Pentium III laptop, which for sentimental reasons I didn't have the heart to throw out. But I am now using a recently built system using a Pentium Core 2 Duo processor and 2 GB RAM to run Windows XP pro. So what is my excuse now? When I built the system I partitioned the hard drive and put an identical OS on both partitions. The idea was that the C drive would be my top copy, and the D drive would be for experimentation. But I was so paranoid about intalling anything on the C drive, the D drive became my de-facto working drive. And it is the D drive on which MS Outlook displays the flash screen for 30 ...

Revisiting old code

When I first began this blog , I was pretty down on the official Java Tutorial on the Sun website . I was especially down on the Java Tutorial trail JDBC(TM) Database Access , which describes how to make a connection with a database. But a year later, I find myself scanning my own blog, which I thought comprised the finest pearls of clarity and wisdom, and I can't find any description, let alone a better description, of how to connect to a database without using a GUI app like NetBeans. There is an entry, entitled " Building a financial mini-app ", which describes an application of such a connection, but it is distinctly unhelpful to anyone wanting to build such a tool for themselves. Indeed I found it distinctly unhelpful even to me, trying to re-apply my own code. I shall therefore attempt to re-write the page in a slightly less cryptic fashion. This has nothing to do with my Rasch-Itembank project at java.net, but for me it is a useful exercise ...

Conundrum

The idea of my Rasch-Itembank open-source project at java.net is to produce a large numeracy estimation item bank, which updates the estimated difficulty parameters in real time, as it is used. To work properly, the client needs to generate items from the item bank according to the latest item difficulty estimation. The most reliable current working version of my Java Math Test client is a complete cheat. It has absolutely no connection with a database, it is ISP hosted, and it usually works first time, as long as the user has the JRE installed. A second version, hosted by me , is a partial cheat. It connects to a database to record performance data, but it uses hard coded arrays of items, whose difficulty has been estimated from static data collected in the past. This version is less reliable for many reasons. I don't always have the server turned on, I don't always have the database turned on, and sometimes my IP address changes. The conundrum is that to...

Structural Changes to the Repository

For a couple of reasons I have made some structural changes to my remote code store, or repository. First, if I want other people to contribute, I need to make it easy to understand what goes where. Secondly, I wanted to play around a bit more with subversion (svn) commands. My first task was to create some new directories. When I read the book , it looked as if you used svn commands just like DOS or "shell" commands, and instead of them. So I tried: svn add "my documents\code\100515\client" without having first created the client subdirectory. But it didn't work. The wording given by the --help switch makes it clearer: svn add --help add: Put files and directories under version control, scheduling them for addition to repository. usage: add PATH... In other words the add command brings a folder under the svn umbrella, but it cannot be used to create one. Next I wanted to move some source files from the trunk to the new subdirectory. T...

Updating Source Code

I think I was a little too cryptic in my blog entitled Posting Source Code . I referred back to it when I needed to update the source code on my project site , and found it fell short of being helpful. I shall try to be a bit more explicit in describing how I checked out what was in the repository, and after making some changes, updated it. When first using CollabNet Subversion I made the mistake of cluttering my home computer with the server. I am on a new machine now, and I took care to get the command-line client from the CollabNet Download page. After installing the client, I was pleasantly surprised to observe that it ran happily from my Windows home directory. That is in stark contrast to Java, which requires paths to be set up by the user. The command I needed to download my code into a working directory was svn checkout URL [PATH] --USERNAME where URL is location of my repository and PATH is the path to the local directory. My URL is: https://java.net/p...

Parameter Estimation

The Rasch book , and the Winsteps documentation, about which I have written at some length, are both essentially about parameter estimation. And one of the objectives I want to achieve with my java applet , is real time parameter estimation. I revisited the Rasch book, and spent some time trying to follow the argument, when really I should have just gone straight for a math text book . Rasch presents his mathematical argument as if it is new or somehow unique to the paradigm he is presenting; perhaps it was at the time, although by his own references to physics in the introduction I doubt it. Perhaps in those days it was conventional to present an argument in full, rather than simply refer the reader to one or more generics methods, and assume the reader has the ability to look them up. Certainly the book could have been a lot shorter, had he done so. At the end of the day there is no substitute for the Law of Large Numbers , which essentially states that when your sample becom...