Saturday, December 22, 2007

SpeedCrunch runs on Maemo-based tablets

Jean-Luc Biord announced the availability of Qt4 for Maemo tablets. Maemo provides an open source development platform for Nokia Internet Tablets and other Linux-based devices. Since Qt4 now runs on it, applications based on our beloved popular framework can now be compiled to work on nice handheld devices:
A first application is already ported, it's SpeedCrunch a fast, high precision and powerful desktop calculator...

Friday, December 14, 2007

Math Book

Since I do not do math every day I usually have check equations from some math book/net. SpeedCrunch has several dock widgets and I thought that some kind of math book widget would be nice. After mockup got positive feedback I wrote something to start with. Since writing simple browser with QTextBrowser is an easy job, that did not take long. When talking to Helder Correia he noted that this could be a more general book widget that could also show help etc. I think the result look promising especially considering how little time it took to make it :-)


(This post can also be found from my blog)

Wednesday, December 12, 2007

Feature plan for 0.10

Finally I took some time to write down all the features I'm aiming for the next release. My personal favorite news are the KDE4 look and feel (parallel with a plain and old good Qt4), a new book dock widget to navigate through a user manual and e.g. math figures with (click-to-insert) formulas. Read all the planned (and already implemented) changes. If time and luck allows, the list can even increase, but I prefer to be pessimistic :)

Sunday, December 09, 2007

SpeedCrunch keeps being mentioned

Ariya pointed me again to two pages where SpeedCrunch is a player.

According to the article Top 10 Kubuntu Applications Part 1, SpeedCrunch also fills the gap where CALC.EXE fails to put processing power to work. SpeedCrunch’s view is more informative and input options are more diverse. It provides a running history of the calculations and provides user defined variables.
Edit: A new and dedicated review has been added by the same author.

On yet another article in Spanish, SpeedCrunch: Scientific calculator for PC, you even get a very cute screenshot. Sorry non-latin language folks, but I'm not going to post the translation of the article as I did last time (I translated the title, so no complaining :).

Sunday, November 18, 2007

SpeedCrunch 0.9 Released

Download it and read the changes at the usual place. The application is now available in 17 languages and a Windows installer is provided as always.
Thank you so much to all the translators, bug reporters, packagers, contributors and developers (in particular Wolf Lammen for this release).

Sunday, November 04, 2007

New version approaching, translators needed

Some months after 0.8, a new release is scheduled for November 18. About half of the improvements and fixes that were planned will have to be shifted to another release. Lately, the developers' professional and private lives have been taking all of the former usual spare time because of its higher priorities. Nevertheless, this version brings some cool enhancements.
Of those, I'd like to mention the absolutely extraordinary work of the new developer Wolf Lammen, who has integrated a new, faster, more accurate and stable math core into SpeedCrunch. The usual new functions and a stay always-on-top window feature are also some of the news.
So it is now time for the call for translators. The current version is available in 16 languages. For this release, I'd like to extend this number. So if you want to contribute to this project with a new or updated translation, you're very welcome to do so. Please drop a comment on this article or on our Google Groups forum. You just need to know how to use Trolltech's Qt Linguist 4.
Here's the up-to-date list of languages already being taken care of by someone:
de | es_AR | fi | fr | he | id | it | nl | pt | pt_BR | ru | sv

Sunday, July 29, 2007

A nice review

Ariya found this interesting review (in Spanish). I've translated it to English so most of you can understand it (may not be a perfect translation though, since I'm native portuguese and not spanish):

"Although any operating system comes with a calculator, its characteristics go no further beyond common calculations. If we need more precise results or execute calculations with certain complexity, we shall consider SpeedCrunch as a magnificent tool. It's a calculator program with some very interesting features like scrolling display, up to 50 decimal digits precision, unlimited variable storage, intelligent automatic completion or additional math functions. Using it is very pleasant since we can customize the look, and we can deal with big expressions with no problem because of the syntax highlighting and parenthesis matching. It's an option to consider when traditional solutions are not enough and we don't want to use other GNU/Linux complex calculation tools."

Thursday, July 26, 2007

SpeedCrunch 0.9 release plan

First of all, I'd like to say that a maintenance 0.8.1 release might be considered if some critical bugs are found meanwhile. And now...0.9.

We've already got a lot of improvements and bug fixes in mind, so let's define the goals and deadlines for the next major 0.9 release codenamed Nona (spelled Noh-na and meaning ninth in Portuguese :)

I learned a lot from 0.8's process, since it was my very first FOSS release. Many mistakes were made and I hope to fix them for Nona. Also, SpeedCrunch has lately won a great number of contributors (enhancement proposals, testing, bug fixing, translations). And so I had a lot of trouble coordinating everybody, accomplishing deadlines and managing bug reports and patches.

For the upcoming release, I'd love to increase the number of active contributors. Maybe Johan can come back to active development now that he's finished his book on Qt 4. Maybe Wolf can help in other fields other than his very promising new math engine. Maybe someone else new can come and help in order to achieve an even bigger boost. And of course I guess we can always count on our old daddy (guess who) to help us from time to time when he's resting from KOffice and his PhD :)

So here's the plan, based on my recent experience. And it's really meant to be respected, else I'll end up e.g. fixing translations by hand over and over til the very last moment before the release, just like it happened this time. Goals and achievement dates are:

SpeedCrunch 0.8 released

Download
Changelog
Registered fixed defects and implemented enhancements

Thank you to all contributors, testers and translators.

NOTE: SpeedCrunch is now available in 16 languages :)

Tuesday, July 10, 2007

Would anyone like to contribute?

I'm looking for translators. Have you ever wanted to contribute to FOSS and never knew how or never had the chance? You're welcome to help translating SpeedCrunch (both the application and the website) to your native language. Please drop a comment or join the mailing-list if you're up to it.

Achieved translations for this release:
  • Argentinian Spanish by Lucas Sallovitz
  • Brazilian Portuguese by Fábio Margarido
  • Czech by Blond'ák
  • Dutch by Maarten Fonville
  • Finnish by J-P Nurmi
  • French by Grégory Treiber
  • German by Marco Wegner
  • Hebrew by Jonathan Avraham
  • Italian by Alessio Sclocco
  • Norwegian by Thomas Finneid
  • Portuguese by Helder Correia
  • Romanian by Eugeniu Plamadeala
  • Russian by Irek Khasyanov
  • Spanish by F Chris Carrera
  • Swedish by Johan Thelin
  • Thank you so much to all mentioned above.

    Sunday, July 01, 2007

    0.8-alpha release

    The first test release of the upcoming SpeedCrunch 0.8 has just been made available. Many bug fixes, new functions and operators, as well as tons of constants and graphical improvements are available. Check all the changes we made since the last stable release.

    Here you can get the source archive. For this alpha release, a Windows installer will be provided very soon, and hopefully a MacOS X version too.

    We hope you can help us finding all the possible remaining bugs and discovering new ones in order to provide a very stable 0.8 final release. Thank you in advance.

    Again, to submit a bug report or a feature request, refer to Ariya's previous post on that topic.


    Update: Marco Wegner has kindly provided an ebuild for Gentoo.

    Update: New Microsoft Windows installer available.

    Sunday, June 24, 2007

    Greatest Common Divisor

    Although quite simple, this is one of my favourite new features for 0.8. One will now be able to calculate the greatest common divisor of an unlimited amount of numbers. This way, we can now write

    gcd( 675; 633312; -57618; 243 )
    27

    This is particularly useful if you are adding fractions by hand and they all have different denominators, but has certainly a whole bunch of other applications.

    Probability theory

    After combinatorics, SpeedCrunch has just been enhanced with its first probability support. This was indeed my favourite mathematics subject when I was a student, so I decided to implement some discrete distributions. So for now we've got three available: Binomial, Hypergeometric and Poisson.

    Available for each distribution are functions for probability mass, cumulative distribution, mean and variance. If you usually need some others or find them useful even if you don't use them, please tell us.

    I've got many more further plans on these topics for the next SpeedCrunch releases, but I'll leave it like this for 0.8. There are still some open higher priority issues and not much time left to 0.8alpha, so let's focus on bug fixing.

    Friday, June 15, 2007

    Engineering notation

    We developers have been talking about an engineering notation mode in SpeedCrunch for some time. I finally took the time and mood to implement it. Next version will make some people's life a bit easier, I guess. Like most scientific calculators, now we have the following behaviour when in engineering notation mode:

    sqrt(sin(pi/3))
    930.60485910209959894122e-3

    Unlike scientific notation, already supported by the application for some time, the result will always be set so the exponent is a multiple of 3 and the number of integer digits are up to 3. Further support for engineering and inverse engineering functions and buttons will probably be added, so to make the following possible:

    0.93060485910209959894122
    930.60485910209959894122e-3
    eng
    930604.85910209959894122e-6
    eng
    930604859.10209959894122e-9

    Maybe we can even add the option to show SI prefixes instead of exponents:

    0.93060485910209959894122
    930.60485910209959894122 mili
    eng
    930604.85910209959894122 micro
    eng
    930604859.10209959894122 nano

    Now if I only had SpeedCrunch when I had to study electronics, physics and chemistry...

    Saturday, June 09, 2007

    Review on FOSSwrite

    FOSSwire recently did a short review for SpeedCrunch:



    ...It is jam-packed full of features and advanced stuff which may come in handy if you’re cracking any big numbers on your desktop...


    Read the complete review.

    Thursday, May 24, 2007

    Combinatorics

    So now SpeedCrunch has got combinatorics support. Ariya had already implemented the famous nCr function, so I decided to code its cousin nPr.
    I'd realized a nice optimization in Ariya's code. The general definition of nCr is given by
    nCr = n! / ((n-r)! r!)
    n, r ∈ N0 , r ≤ n (applies all bellow)

    But we can indeed reduce very much the number of integer multiplications with the derivation
    r ∈ {0, n} ⇒ nCr = 1
    r = 1 ⇒ nCr = n
    r ∈ ]0, n/2] \ {1} ⇒ nCr = (r+1)n / (n-r)!
    r ∈ ]n/2, n[ \ {1} ⇒ nCr = (n-r+1)n / r!

    Note that (r+1)n, for instance, is a modern factorial notation equivalent to (n)(n-1)...(r+1). I didn't know about this myself until now. This fasts computation a lot, else the very same calculations would be uselessly repeated.
    In the very same way, I found a nice simplification for nPr. The general definition of nPr is given by
    nPr = n! / (n-r)!

    And again we can do some magic
    r = 0 ⇒ nPr = 1
    r = 1 ⇒ nPr = n
    r = n ⇒ nPr = n!
    r ∈ ]1, n[ ⇒ nPr = (n-r+1)n

    I spent some minutes getting to this conclusion and then I read it somewhere right after. First I felt a bit frustrated, then I smiled. It's funny to develop this program, it's funny to play maths.

    I then realized my old Casio FX-880P can compute up to 69! and SpeedCrunch currently up to 96!, that's good enough (150-digit long integer). Nevertheless, when the user tries to calculate factorials, combinations or permutations with huge parameters the program freezes (even by the calc-as-you-type feature). Maybe it's really a good idea to define an upper limit for those functions input.

    How to request a feature

    So, you really really like SpeedCrunch but in order to really "leave" the other calculator, you need a feature or two. For example, say you need to have hexadecimal and binary support. Then, perhaps you want to request a feature to be implemented in the next version. How to do this effectively?

    First of all, make sure you use the latest version of SpeedCrunch. This is important because SpeedCrunch is constantly improved and often features requested by our users have made it into the release quite fast. You can get the version by choosing menu Help, About. You can compare it against what is shown in the download page (of the website).

    Now go to issue list, click on New Issue. Enter a short summary (this is very important!) and type in the description of the feature that you'd like to have. Because this is going to be a feature, not a defect, you should change the label "Type:Defect". Just click on it and choose "Type:Enhancement" from the pop-up menu. Review again your description and if everything is fine, click the Submit button. Your feature request should appear on the issue list now.

    It is equally important to search first for existing issues before requesting a feature. Perhaps it is already filed by someone, so you wouldn't want to duplicate. You can always add your own comment to someone's else feature request, perhaps to add your own opinion about it. To search for issue is very simple. From the issue list, enter keyword in the search box and click Search button. You may also want to change Open Issues to All Issues to be able to search resolved issues, in case your feature is already implemented. For example, don't ask for hex and binary support anymore because work on this has been started, as evidenced from issue #13.


    And, we're waiting! Your wish is our command....

    Wednesday, May 23, 2007

    Take-off

    From now on, here you can follow what SpeedCrunch developers are working on or even just wondering about the direction it should take. Everybody can leave comments as well, this way providing useful feedback. Please help making this project become the best free multi-platform desktop calculator available by sharing your thoughts. Thank you and enjoy it.