Category: SQLEditor

  • Online Store

    I’ve been working recently on integrating a registration system into SQLEditor (sorry).

    Unfortunately I kind of need to make some money out of my software and so people have to pay for it. I really wish this wasn’t the case but sadly it is.

    So I now have an online store powered by swreg. If you visit the SQLEditor page you will now see a couple of purchasing options in the right column and further options are an a subsequent screen. It looks fairly close to the rest of the site and swreg offers better fraud prevention than paypal, particularly for credit cards.

    The complexities of integrating everything together are quite great, which suprised me a bit. I was hoping for something easy, but it required a lot of steps to get everything pretty much working.

    • Sign up to online store
    • Add products
    • Create templates for shopping basket
    • Create serial number system
    • integrate serial number system into application and online store

    Although I won’t need to do this for any future software that I develop. Most of it was a one-off cost.

    One oddity is that the serial number code is written in ANSI C. This is a bit odd, because most of the code that I have been writing recently has been either Objective C, Java or PHP. But ANSI C proved to be the best way of using the same codebase for both the server and client side components.

    Hopefully lots of people will love and therefore buy the licenses.

  • Serial Number Systems

    I’ve recently been trying to write a serial number system for SQLEditor. I’m also looking for a new name for it. It was pointed out that the current name is generic and difficulty to pronounce, plus there is already at least one other “SQLEditor” out there already. Suggestions are welcome!

    But back to the serial number thing. If I could remember more of the maths that I learnt at university I would be happier, but as I tend to do I had forgotten most of the stuff that I don’t use, retaining only the bits I do use (Vectors primarily, plus some other stuff).

    Obviously serial number values end up in base 36 (0-9, A-Z), but other than that the problem occurred on how exactly to represent them. I need to have a link between the username and the serial number because that’s one of the methods implemented to discourage copying. If you see someone else’s name on the thing.

    I’m currently looking at a graphic convertor like delay (it will wait 20 or 30 seconds at startup after the trial period is ended) rather than a complete lockout. Because I think (a) it’s nicer to do it that way and (b) it offers people a chance to experience the feature set even after 30 days have expired.

    One thing I have noticed is that there are very few descriptions of how serial number systems actually work, probably to prevent people reverse engineering them and creating generators.

    Of course the most secure system is one that receives a license key directly from a server, but I think that could be too intrusive. I guess we’ll see how well the first version works out.

    New features for Beta 7 include “crows-feet” style referential cardinality indication and a new way of exporting foreign keys; following a suggestion they will be placed after the tables as soon as I write the code anyway, the parser is already capable, but the exporter is not.

    Finally Beta 7 will also offer selectable colors on the fields, more transparency and prettier connector drawing. Possibly also table type for mysql as well as a new export system for creating databases via scripts on remote servers. More later.

  • SQLEditor Cocoa B6 Due for release.

    SQLEditor Cocoa Beta 6 has been released. Beta 6 offers a number of significant enhancements and improvements, plus several bug fixes.

    • Fields can now be dragged from one table to another.
    • The list of data types can now be edited and changed
    • Improved preferences options
    • Better printing, including scaling, tiling and fit to page.
    • New buttons to add a sibling field to a table or delete the currently inspected one
    • C-shaped connectors are back. (This is where a connector loops back on itself if it would otherwise overlap either the source or destination field)
    • You can now change the colors of objects. This is a global setting at the moment. Individual color changing is coming soon
    • A few minor bug fixes
    • Slightly altered the appearance of the table object view
    • First version of online help. As yet incomplete.

    This new version expires on September 30th 2004.

    Why not download it now?

    SQLEditorCB6.dmg[355k]

  • NSLog

    I just realised that NSLog allows parameters. I’d previously been using

    NSLog([NSString stringWithFormat:@"%d",randomVar]) ...

    But now I realise that the I don’t really need to do this. A simple call to NSLog will work as well.

    NSLog(@"%d",randomVar);

    It still isn’t as easy as php or even java, but it’s shorter and tidier and so better.

  • SQLEditor Cocoa B5 Released

    Good news everyone!

    SQLEditor Cocoa version is finally available for download.

    SQLEditor Cocoa offers a Mac OS X native cocoa interface, an improved SQL parser, better performance and some bug fixes.

    Download (325k)

  • Shareware and Serial Numbers

    Not much posting recently. But I’ve been working getting SQLEditor ready for release. The big things recently have been bug fixes and developing a serial number system.

    It’s extremely annoying to have to spend any time at all working on the serial number system, because really the time would be better spent actually improving the software. But given that I actually want people to buy copies of the thing it is sadly necessary.

    I have a simple test program working already and as soon as I develop some kind of key generator system I’ll be able to add it (probably to beta 6).

    Beta 5 is complete, so it should be released tomorrow.

  • Parsing SQL in SQLEditor

    Good progress is being made again on the Cocoa version of SQLEditor. I have recently rewritten the parsing system to use javacc instead of my own home built parser. This allows for better, simpler and more reliable parsing. Writing my own parser was interesting but wasn’t really the best strategy. This new parser should make its way into the java version of SQLEditor eventually.
    A key new feature is that the import system can now report parsing errors to the user. Previously the whole thing just kind of gave up without any indication of what went wrong. BAD!
    Now you get a nice little window (actually a panel) that appears and gives a list of errors. The current development version always shows this window but I’m still trying to decide if it is better to show it on every import or just when something goes wrong.
    The new parser is also much easier to expand to support new features. The old version required a complicated system to add new tokens, the new one has a standard format and requires only a single line.
    The new version should also work reliably on Mac OS X 10.2 or Mac OS X 10.3. Which is a change over the previous version that crashed oddly on 10.3.

  • SQLEditor (Java) Final Candidate

    I’ve decided to release a new version of SQLEditor (Java). The FC1 version is a final candidate version that hopefully incorporates fixes for the bugs that people have reported. There have been problems with users running Mac OS X 10.3 because of crashes in the Java Virtual Machine. These are problems that Apple has to deal with and hopefully any remaining crashes will be fixed in revisions to the Apple JVM.

    SQLEditorFC1.dmg

  • New day, new thoughts

    Well, I feel much better today. I’ve thought about it a bit more and I realise how very lucky I was that I found about the bug before the thing got a public release. I’m already working on some ideas on how to fix it. More on that as I think it up.

    This really shows the importance of testing stuff. So thank you to everyone who has tried SQLEditor in its various versions.

  • Mac OS X 10.3 problems

    Yet again the fact that I’m developing on Mac OS X 10.2.8 is causing problems. Bruce tried out a copy of SQLEditor (Cocoa) on 10.3 (Panther) and it doesn’t seem to work at all. You can’t seem to add objects to the canvas which is the key requirement. Most of the other functionality is based on this particular activity. I’ve looked quite carefully at the code and I really can’t see where the problem is. There isn’t anything odd going on.

    This is really bad news, especially after the previous problems that occurred with the java version on 10.3 (which was the reason I wrote a cocoa version in the first place). I’m really not sure what to do.

    This has made me a bit depressed because I’ve been working really hard on SQLEditor recently to prepare it for release.

    It’s really annoying that there isn’t better compatibility between Mac OS X versions.

    I’ll try to write some more about what I’m going to do about this tomorrow.