autoNUM a small tool meant for laptops/notebooks. It turns NUM on automatically when you connect your external keyboard to your notebook. When you disconnect it, it automatically turns NUM back off again.
This is very helpful if you use an external keyboard frequently and love to use NUM when it is plugged in.
The tool has been available for quite a while now, but now an important update has been made. It fixes a bug that made autoNUM not recognize that the keyboard is not connect on startup. This is now fixed. Furthermore, the UI has been slightly improved.
Check out the tool and tell me if you like it.
Finally, CrazyStat’s SVN has gone public!
CrazyStat uses Sourceforge for SVN hosting. You can browse it here:
To checkout the current development version of CrazyStat, use one of these:
In the SVN repository, you can find the current CrazyStat 1.71 development version (in the trunk) along with 1.71 beta1 and beta2.
You can also read the commit logs to see what is going on with CrazyStat development.
In case you want to test the upcoming CrazyStat version 1.71, I’d recommend checking out the current development version from the trunk. Please let me know if you find any bugs or issues with the current development version (which will soon become RC1…).
This is part of my plans to make development of CrazyStat more open.
I just found something quite cool which I thought might be interesting to some of you.
The first thing that I was curious about was: How does it store the database file? Well, it creates a new database when you do SQL.open(). But you can pass data to SQL.open(data) to start with a pre-filled database. So I think using this library would normally look like this:
- fetch the initial database from the server (e.g using AJAX). At least DB schema and some important data.
- open the database with SQL.js
- do some operations on the database, mostly SELECTs probably
- maybe fetch some more data using AJAX from the server when needed
- maybe send some data to the server to save changes using form or ajax
I see two other interesting ways of using this:
- In combination with HTML5 local storage – this would allow to store a persistent client-side database that could be accessed using SQL. Sounds pretty cool and the main usage scenario of SQL.js for me.
- On the server using node.js – but when I think about it: There are better ways to access a database within node.js, so this is probably only showing that it works, but no real usage scenario.
Tell me what you think about it.
In case you use sqlite, a serverless, transactional SQL-complete database engine, you might also know phpliteadmin. It is a web-based DB admin tool just like phpMyAdmin is for MySQL. It is small and does not require complex installation just like sqlite. It is great to do most simple operations on a sqlite database, but in my opinion it still has some important limitations and bugs.
One thing I recently missed was the possibility to import CSV files into a SQLite database. The SQLite shell makes this very easy (if the file has the correct syntax). But this has also some limitations and you have to leave the phpLiteAdmin GUI and start a SQLite shell. So I thought it should be part of phpLiteAdmin. It already had some GUI options for CSV import, but the actual import implementation was missing, so I implemented CSV import myself. On the way testing the exported csv and importing it again I noticed some export bugs of phpliteadmin like this one and fixed them on the way.
So those are the changes I did to phpLiteAdmin:
- implemented CSV import with some features like:
- you can define Enclosure, Escaper, Null and first-row-field-description just like when exporting
- using PHP’s fgetcsv()
- can import files that were exported with phpliteadmin using the same settings!
- can even import files exported with phpliteadmin without my corrections and improvements (see below), although they are not “standard CSV”.
- removed line terminator option because:
- this was not implemented
- in my opinion anything else than a linebreak does not make sense, so useless feature
- Fix: Tables with indexes were exported multiple times
- Fix: Last column was terminated which is not usual in CSV
- NULLs are not enclosed anymore to allow distinction between “NULL”-text
- FIX: Removing CRLF was not implemented
- FIX: Tables that were not exported caused additional linebreaks in output
You can find anything related to these changes in phpLiteAdmin’s bug tracker.
You can also get my version with the improvements from the bugtracker or download it here.
I really hope this will make it into the next release of phpLiteAdmin, but unfortunately I did not get any feedback by the developers of phpLiteAdmin yet. Hopefully this is not getting a fork 😉
I hope you like these features and bugfixes. You can give me feedback here or in the phpliteadmin bug tracker.
I really think a good database management tool for SQLite is needed and phpLiteAdmin has the potential to become one. We will see.
You can also tell me if you use some other management tool for SQLite which you think is way better 😉
Update 2012/05/13: The phpliteadmin developers just announced that an official new version including these improvements will come up soon. Great news, I am looking forward to this new version!
Today I would like to introduce Christosoft Forum.
It is meant both for support, especially about CrazyStat, but also any general discussion about things of common interest.
I hope it will be used especially for CrazyStat support.
You do not even have to register at the moment, you can post as guest if you solve a captcha. Let’s hope I can keep this setting and it won’t be abused.
So from now on, please use the forum if you have any problems with CrazyStat. Other users might help you before I find the time or you might find the solution for your problem in an old thread.
Let me know what you think of it, either here or in the forum.
Also let me know if you have suggestions, e.g. for subforums or forum settings.
Edit: This is part of my plans to make development of CrazyStat more open. Expect other steps like Bugtracker or public SVN soon…