Saturday, January 14, 2012

Matrex 2.2 out

Finally relaeased Matrex 2.2.

Matrex 2.2 adds 42 new functions in the standard package:

sys.date.removetime
sys.date.subtract
sys.db.update
sys.standard.minmax.max
sys.standard.minmax.min
sys.standard.minmax.nthmax
sys.standard.minmax.nthmin
sys.standard.test.iseven
sys.standard.test.isodd
sys.standard.trigonometric.acosh
sys.standard.trigonometric.asinh
sys.standard.trigonometric.atanh
sys.standard.changebase
sys.standard.closesteven
sys.standard.closestodd
sys.standard.constant
sys.standard.constantas
sys.standard.factorial2
sys.standard.gcd
sys.standard.lcm
sys.standard.logbase
sys.string.chars.charstocodes
sys.string.chars.charstostring
sys.string.chars.codestochars
sys.string.chars.codestostring
sys.string.chars.stringtochars
sys.string.chars.stringtocodes
sys.string.regex.find
sys.string.regex.replace
sys.string.test.isboolean
sys.string.test.isdate
sys.string.test.isinteger
sys.string.test.isnumeric
sys.string.equalsignorecase
sys.string.find
sys.string.len
sys.string.repeat
sys.string.replace
sys.string.trimleft
sys.string.trimright
sys.string.uppercasefirst
sys.util.convertunit

of them, very important are:

sys.db.update

This is used to insert, update or delete data in a database.
It allows the classical database operation update row if it exists, otherwise insert a new one , very useful when you want to store data from a spreadsheet.


sys.util.convertunit

This used to convert data from a measurement unit to another.
For example convert from watt to horsepower, liter to pint...

You can find more information in the function templates list.


Internally, Matrex uses now JodaTime to handle dates. This allowed to write the sys.date.subtract function, which is used to do dates subtraction.

Matrex 2.2 needs Java 6 (jre 1.6) to run.

Here is the download link.

Thanks to Braxton for the MacOSX version.

Monday, August 22, 2011

New version of Matrex

I'm working on a new version of Matrex (2.2).
The purpose of this version is to add functions (formulas).
Matrex has already all functions needed for most users, but with this version I will add functions for specific niches (e.g. financial), functions that are secondary but needed (e.g. fact, log10) and more functions to access the databases.
Now I am preparing a list of all the new functions, as soon as I'm finished I will start the coding. As usual, help is welcome.

Wednesday, June 08, 2011

Rowscope 1.1

I updated Rowscope, that reaches version 1.1.



Rowscope fixes some problems of the previous version:
  1. It adds the line numbers column, which shows the line numbers of the displayed rows in the file.
  2. It has a more compact GUI (the top menu has been moved on the right, the log is now displayed in a combo box). In this way it looks much better in Windows.
  3. The buttons that are related to a single row (expand up/down, open a new tab from that row) are displayed on the selected row; no more need to move the mouse to expand a row.
It also can use the fork-join framework (Scala 2.9) to search text in the rows, making use of multiple cores. This can improve the performances, depending by the number of cores and their use.

Rowscope got also a better icon (the previous one was too simple and flat), code has been simplified and, when possible, tested.


Wednesday, December 22, 2010

Matrex 2.1 released

Matrex 2.1 has been released yesterday.

Version 2.0 was revolutionary because it introduced the concept of client/server; version 2.1 is more an evolution because its purpose is to help the user having full control on projects and on the system.

In detail, these are the big changes:

  1. The grid/tables have now a real row header, making easier to work with them and giving them a more professional look.
  2. The script editor, which was very simple, has become a small but complete IDE to write and test scripts. With it the user can write its own functions and can test them before he uses them in his projects.
  3. For someone that uses Matrex for the first time it is very important to find out immediately how it works. To make it possible, Matrex has now a help button in every window. Here is an example:

The other changes are less visible, but still important:

  1. Before 2.1 the user could change all the function templates, included the ones that come with the system. Now he can only change templates written by users.
  2. Fixed permission problems in the installation under Windows, allowing to install under the Program Files directory.
Thanks to Braxton for building the Matrex setup
file for MacOSX. Here is a screenshot of Matrex under MacOSX:

In the next version I will try to change the grid row header buttons under MacOSX to make them rectangular.

Matrex 2.1 is downloadable from here.


Sunday, October 24, 2010

The new script editor

Matrex has always allowed to use a script language (Jython, Groovy, JRuby...) to write the code of the functions.
But until now the support was limited to the following functionalities:
  • A button in the function template editor to associate a script to a function template.
  • A simple editor to write the script.
From version 2.1, Matrex will have a small IDE to write scripts:


The IDE has:
  • An editor with a simple but effective syntax highlighting. For each script language defines its specific highlighting rules.
  • A graphical test environment that allows to set up input matrices and parameters, with their content, and output matrices of the script. Once the matrices are set, the script can be executed and the result of the script can be checked in the output matrices.
In this way it is possible to edit the script and test it before it gets use as a Matrex function.

Saturday, September 04, 2010

Matrex 2.1: status

I am working on version 2.1 of Matrex .
The work on version 2.0 has been completely dedicated to the conversion of Matrex from a pure standalone to a standalone + client/server architecture, so I had to postpone some improvements to the GUI and the implementation of new functions.
Now I can finally work to implement these changes.
The planned changes for version 2.1 are the following:
  • Conversion of all the grid/tables (editors/viewers) so that they use the new table row header, which has shown to work without glitches and to be extremely efficient, even with large matrices and virtual tables. Already implemented.
  • New Help button in every window/dialog. Already implemented.
  • Conversion of the script editor to a simple script IDE, which allows to test the function scripts before they are added to the system, and has simple syntax coloring. Working on it.
  • Add several new functions. I think Matrex has already all the functions needed by most of the people, but I think more specialized functions are need, so that every kind of user has what he needs. Will start soon.
This is the plan, but probably some more feature will be added to version 2.1. See the active tickets.
You can have a snapshot of version 2.1 from the subversion repository, which should always contain a working version.
If you want to help, you are welcome to join the project.