Menu

STEMCalc IV - Mathematics Swiss Knife / Blog: Recent posts

Development Update Blog #5: Spring Framework, OSI & SouceForge hassle and a big announcement

There are a few things I would like to address in this blog, but first order of business: Spring Framework. If you're a senior or even an average Java devloper, it's most likely that you've heard of Spring. One of the noticeable changes I made in Release 4.6 was to implement Spring Boot to STEMCalc, making it a Spring Boot application instead of a conventional Java program. Since I needed to utilize some of Spring Boot's advantage in source tracking, I also needed to get acquainted with stuff like Maven and Gradle, which are vital if you're making a Spring Boot application. It didn't change the way that the calculator worked, but rather the frame of the whole program. It now requires a full Java Development Kit, not just the Java Runtime Environment, and a lot more external Spring libraries, which makes it more heavyweight, but that way I can better organize my project and even further explore it's possibilities.... read more

Posted by Khoi Phan 2018-08-16

Development Update Blog #4: Major Release 4.5 is underway

I have always planned Release 4.5 would be a big one. Multiples of 5 acts like milestones, and I just released Release 4.4, which means the next one would be 4.5, I finally dug out some golden materials, including many that are fundamental for features I've been searching for back even before the launch of this project. Release 4.5 won't have any difference in naming, as Release 4.0 didn't either, but it will be a major release, probably adding more features, changes and fixes than every previous update releases combined. There will be a lot of changes, not just adding awaited techincal features and mathematical/scientific functions, but also changing how the program works, revamping most of the system and mechanisms behind STEMCalc, stripping it down and optimizing it as much as possible. It's hard to build a good program without having a sturdy foundation. All of the pieces are here on my PC, but not in place just yet. I finished my research and found all the materials I needed this morning, and only began fixing the source code since afternoon. And since it's an overhaul in terms of how the porgram works, I'm modifying the previous source code to make sure that all of the new functions work before switching to the new system.I'll hopefully get it done in 2-3 days' time, so be sure to keep tabs on that!... read more

Posted by Khoi Phan 2018-08-04

Development Update Blog #3: OSI membership

First order of business, techincal changes planned for the next releases: linear, quadratic, and (unlikely) cubic equations and inequations solving. This is a highly requested feature but as of right now, I've only been able to figure out the first two. Since cubic equations are really complex and doesn't really have that straightforward, general solution algorithm, it's going to be a real challenge to implement this feature. But I like my challenges, so we'll just have to wait and see. I will also change the logging system to where every log file is marked by the time and date which the session started rather than have numbered files as this can cause certain confusions, eg when log_002.txt exists but not log_001.txt, then the logging system would create log_001.txt instead of log_003.txt. However, this would also mean that the logging system is stripped down, and a lot lighter than it used to be.... read more

Posted by Khoi Phan 2018-08-02

Development Update Blog #2: News regarding development plans for the project.

I've putRelease 4.3 online earlier this week, with a full Windows setup. After I released the Patch 4.3a, I looked back on my plans of development. The previous two releases are mainly additions of libraries that optimize the program's performance and extends compatibility, usability. Also minor additions here and there, e.g the logging system to somewhat meet the expectations of users when using a calculator. But none of these updates are really just hotfixes, adding small tools and for the latest Release's case: making a full setup program instead of a self-extracting archive. I think they are a very good addition to the program, but I shouldn't have put it as my main priority, so for anyone who has been looking for a real change and real additions in terms of features and usage, I'm very sorry that I wasn't able to deliver just that, and was somewhat distracted with the other touches and flair. Starting from Release 4.4, I will spend more time researching and developing more features for the program, take care of it better. Now I have to also compile a setup file so that also takes time, along with me taking more time to put some juice into STEMCalc, I will roll out Releases slower than before. But rest assured, they will do their jobs, introducing new features rather than just a few bug fixes. That's the work of patches. Releases are supposed to be full of new, exciting features so that STEMCalc would live up to its name: The Mathematics Swiss Knife. ... read more

Posted by Khoi Phan 2018-07-28

Looking for beta testers: Big things coming!

All previous releases of this project are just compressed SFX archives, which basically is an extractor more of an installer. I've made STEMCalc portable so it can run off barely anything, assuming that the libraries and JRE stays within the executable's scope. This approach is simple, and I prefer using it because I barely even have time to develop the project itself, let alone releasing it. However, I have discovered a way to take this project to another level of standard. I am going to make STEMCalc its very own setup file. It won't simply be extract to somewhere and use it. There will be registry keys, shortcuts, etc. This is not just for fun or to gice STEMCalc more flair. I want to make this project elaborate, user-friendly, widely compatible, crash-free. And to achieve that, there are certain changes I need to make involving the installation. This isn't just any lightweight protable project, it is a fully-functional program like all else, except that it runs on a black screen with nothing but text that uses fonts that looks like Windows XP retextured. And to do this before releasing the final product, I need some beta-testers. I need to be sure that it works with other systems, and if it doesn't I will find a solution or revert to the old structure, which is not too solid and robust.... read more

Posted by Khoi Phan 2018-07-21

x64 executables crashing.

I recently received a bug where STEMCalc IV would crash. It was Release 4.2, which I tried out and worked perfectly well on a 32-bit machine. I didn't know what architecture the bug was spotted on, but just now, I've tried running Release 4.2 with the latest patch and it crashed on a 64-bit machine. Of course I downloaded the x64 version of the program, but since I was only able to test on 32-bit systems before, I didn't know about this crash issue. And this issue seems to persist in every singlex64 executables. I'm very sorry for this inconvenience, but luckily, since users with 64-bit machines can run 32-bit executables, users can simply download the latest 32-bit patch for your version or download the full 32-bit release, either way works because this is the problem with the executable. Once again, I'm so sorry for this inconvenience. I'll try to find a workaround and re-upload all patches and releases in 64-bit versions.... read more

Posted by Khoi Phan 2018-07-21

Google Guava implemeted to open-source libraries.

I was looking around a few things in my source code for the program, and felt that it is sum what too dependant on low performance self-defined functions that isn't included in Java or even Apache Commons libraries. So I decided to look around on the internet, take a look at some Java open-source libraries. I looked throught their APIs, see what they have to offer, and Google Guava seems to make the best impression. I'm a Google fanboy, have been for years, but that's not why I picked Guava over the others, though it is nice to have a touch of standard in my program. Their libraries provide certain methods that would definitely be useful for the upcoming releases and patches. My plan of development can be executed fairly easily with the help of certain packages, especially the base and math packages. The reason why I implemented Guava side-by-side with Apache Commons instead of switching to Guava entirely, is because Apache Commons provides some of the best classes and methods around, most of which is not included with Guava. Though in the future, far far future, Guava would definitely prove to be more useful with their more advanced structures, but even then Apache Commons libraries would still save me a lot of time because I'll certainly be using it a little bit here and there in the source code.... read more

Posted by Khoi Phan 2018-07-20

Development Update Blog! Get ready for some equations!

Release 4.2 was out yesterday, and it took me all night long just throwing exceptions all over the place and trying to get Firefox to work on Windows XP, but I just managed to. Anyways, the new version will include a log file. Every time you finish your session, a read-only log.txt file will be generated in the same folder as the STEMCalcIV.exe so you can view all of your calculations in a previous session instead of having to memorize it or write it down somewhere. Keep in mind that this log will be replaced when you run another session because as soon as you run STEMCalc, the program will start writing over the previous log file, and you can't view the logs again. Temporary solution is if you want to keep a log file, simply rename it or move it to another location. Permanent solution? Well, that's what I'm going to talk about in this blog. The logging system is currently based on one log file, and since tinkering with files are extremely troublesome, especially with the filename, it is kept simple and only generates one log.txt file to write onto over time. Sure I can have the program write the next log in the line beneath it instead of starting over, but why would I? I will find a way to extend this logging system to have numbered log files for you to easily keep track of your calculations. In the future, it might include date and time in the filename, but for now let's just try to give every session it's own log file, ok? Now to functions and features. Though it does have many useful functions that I feel like it's sufficient for most people, we're talking about Swiss knife level of useful here, and we're nowhere close to your scientific calculator. That's why I've decided to dig deep into a probably highly requested feature: equation solving. I've found a way to do that, mathematically, but haven't implemented it to the program yet. Every thing is still on the drawing board, and I guess you'll have to wait until the next release to see how it worked out. I'm very excited and determined to get equation solving into STEMCalc, but it won't be easy and will take time, so for now I'll work on the logging system first, then onto more new features for you all to enjoy.... read more

Posted by Khoi Phan 2018-07-19

STEMCalc IV is going full Apache!

Release 4.1 is out now, and it's a miracle that I was able to perform the beta-testing myself before releasing the final version. Took a lot of debugging and most importantly: open-source libraries. As I stated in my previous blog post, starting from this version, I'll be using the Apache Commons Lang library for the project. Apache Commons libraries for Java are known to be very popular to developers, and tend to be used whenever they could be. In future releases I'll probably include more Apache Commons Libraries, most likely Commons IO and/or Commons Math. These libraries are the best when it comes to handling problems related to the program, so it really makes me more concentrated on the mathematics part, which I found out to have many fundamental mistakes in the previous version. Last, but not least, I've licensed STEMCalc IV to the Apache License version 2.0 starting from Release 4.1. For more information on the license, check out the license.txt file included in the new release folder. I might change the license to GNU General Public License 3 in the future if I see fit, because the Apache License, it isn't bad, but who knows? GPL3 might suit the project better. For now, Apache License is the way to go, and it will be for a couple more releases, as I'm currently focused on the technical parts of the project.... read more

Posted by Khoi Phan 2018-07-17

Beta testers needed for next release.

So the title pretty much says everything. The project's next update will feature some more robust programming to make a solid program, which will require some classes and methods from the Apache Commons Lang library. But to make sure that everything works perfectly when shipped abroad on a computer with absolutely nothing but Windows installed, I'm going to need a beta tester. Now the best I can do for a beta tester is to give credit, and there will not be any payment, so if you just want to contribute to this project, feel free to e-mail me at dttmcndy6996@gmail.com. I would really appreciate any other help that anyone can give me, especially reviews so I can further improve my project. But for now, I'm looking for some people who are willing to try out a new update to STEMCalc, to help me troubleshoot and do the finishing touches before I release it on Sourceforge.... read more

Posted by Khoi Phan 2018-07-16