RPG Next Genhttp://blog.rpgnextgen.comBlogFri, 15 Mar 2019 00:00:00 +0000libxlsxwriter : Date/Time and Image Supporthttp://blog.rpgnextgen.com/blog/2019/03/15/libxlsxwriter-datetime-and-image-supporthttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2019/03/15/libxlsxwriter-datetime-and-image-support<![CDATA[libxlsxwriter is a great library for creating documents in the Open Document spreadsheet format. Even so its code is very strict (and good) ANSI C code some things does not work out-of-the-box for integration in RPG and must be tweaked a little bit. This was also the case for image and date/time]]>Fri, 15 Mar 2019 00:00:00 +0000Write Unicode Characters with libxlsxwriterhttp://blog.rpgnextgen.com/blog/2019/02/27/write-unicode-characters-with-libxlsxwriterhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2019/02/27/write-unicode-characters-with-libxlsxwriter<![CDATA[Hi, the project libxlsxwriter lets your programmatically create spreadsheets in the Open Document format which is also used by OpenOffice, Microsoft Office, ... . Sometimes you need to add a special sign to some cell, f. e. the Euro currency symbol. If your native codepage does not support it yo]]>Wed, 27 Feb 2019 00:00:00 +0000ILEDocs - Multiple Version Supporthttp://blog.rpgnextgen.com/blog/2018/10/03/iledocs-multiple-version-supporthttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/10/03/iledocs-multiple-version-support<![CDATA[Hi, as some of you have definitely some programs or service programs in production in different/multiple versions it can become tricky to manage and provide the documentation for each version of the code. ILEDocs has now built-in support for multiple versions of your code. Just use the @version ]]>Wed, 03 Oct 2018 00:00:00 +0000ILEDocs - Release 2.1.0http://blog.rpgnextgen.com/blog/2018/08/15/iledocs-release-210http://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/08/15/iledocs-release-210<![CDATA[Hi, at the moment I have the opportunity to work on the ILEDocs project. There has been some smaller fixes and features and some bigger ones. The biggest new feature is the search functionality. You have now an input box in the navigation bar where you can search for a specific module, procedure o]]>Wed, 15 Aug 2018 00:00:00 +0000Arraylist - Bugfixhttp://blog.rpgnextgen.com/blog/2018/07/27/arraylist-bugfixhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/07/27/arraylist-bugfix<![CDATA[A little memory leak has crept into the code. The arraylist_dispose() method did not deallocate all the memory which has been previously allocated. This has been fixed now in the current version. Every user of the JSON service program also needs to update the arraylist service program as it is use]]>Fri, 27 Jul 2018 00:00:00 +0000BlueDroplet - Next Stepshttp://blog.rpgnextgen.com/blog/2018/06/21/bluedroplet-next-stepshttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/06/21/bluedroplet-next-steps<![CDATA[For those of you who don't know yet: BlueDroplet is a native REST framework for all ILE languages on IBM i. BlueDroplet consists of multiple ILE modules which are bound to an ILE program. Here is an overview of the structure of such a program. BlueDroplet is a work-in-progress. Some rudimentary t]]>Thu, 21 Jun 2018 00:00:00 +0000Linked List Release 1.4.0http://blog.rpgnextgen.com/blog/2018/06/10/linked-list-release-140http://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/06/10/linked-list-release-140<![CDATA[The Linked List service program has been a very stable service program with a stable API. The only thing that was a little bit clumsy was the sort function. The API design of the function offered great flexibility. You could implement your own sorting with your own sort implementation. The base so]]>Sun, 10 Jun 2018 00:00:00 +0000ILEDocs Database is growing again!http://blog.rpgnextgen.com/blog/2018/05/29/iledocs-database-is-growing-againhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/05/29/iledocs-database-is-growing-again<![CDATA[ILEDocs has some fresh additions, namely the API documentation of the projects JSON Utilities, Linked List and Linked Map. We have almost all of the projects on board which are currently on the old documentation site at Sourceforge.net. If you have an open source library and would like to add it ]]>Tue, 29 May 2018 00:00:00 +0000JDBCR4 and Batch Updates and Insertshttp://blog.rpgnextgen.com/blog/2018/04/04/jdbcr4-and-batch-updates-and-insertshttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/04/04/jdbcr4-and-batch-updates-and-inserts<![CDATA[I had to work with a remote Oracle database lately and the choice was made to use Scott&apos;s wrapper around the Java JDBC API. The solution worked. Everything is fine. Is it? No it isn&apos;t. I had to insert some thousand records into the Oracle database. What JDBCR4 supports is something lik]]>Wed, 04 Apr 2018 00:00:00 +0000ILEDocs Database is growing!http://blog.rpgnextgen.com/blog/2018/03/26/iledocs-database-is-growinghttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/03/26/iledocs-database-is-growing<![CDATA[Slowly but steadily the ILEDocs project is growing. Today with the new version of the MESSAGE service program the API documentation has been uploaded to the ILEDocs database, making the API publicly available without having to search through any source codes. What does that mean for the ILE develop]]>Mon, 26 Mar 2018 00:00:00 +0000Java Git Client on IBM ihttp://blog.rpgnextgen.com/blog/2018/03/25/java-git-client-on-ibm-ihttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/03/25/java-git-client-on-ibm-i<![CDATA[For sure everybody heard about the Open Source PTFs with the git client and node package, etc. But if you just want to use git to pull some code from a repository you could have had that feature for years without installing any extra PTF. Eclipse JGit project Some people may actually know that pr]]>Sun, 25 Mar 2018 00:00:00 +0000libxlsxwriter : Creating spreadsheets nativelyhttp://blog.rpgnextgen.com/blog/2018/03/21/libxlsxwriter-creating-spreadsheets-nativelyhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/03/21/libxlsxwriter-creating-spreadsheets-natively<![CDATA[A short while ago I stumbled over the C library libxlsxwriter from John McNamara on github. It is a C library for creating XLSX documents. More specifically it creates files in the Open Document spreadsheet format. Which can be used by Microsoft Excel but also by OpenOffice and every application wh]]>Wed, 21 Mar 2018 00:00:00 +0000RDi Hover Supporthttp://blog.rpgnextgen.com/blog/2018/03/07/rdi-hover-supporthttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/03/07/rdi-hover-support<![CDATA[At the moment I have access to an RDi installation and use it on a daily basis (besides using MiWorkplace =) ). Some people have written about the new hover support for RDi which is quite nice (and MiWorkplace has also a nice hover support to some extent) but I haven't read or heard about a very n]]>Wed, 07 Mar 2018 00:00:00 +0000Measuring Time Spenthttp://blog.rpgnextgen.com/blog/2018/02/12/measuring-time-spenthttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/02/12/measuring-time-spent<![CDATA[Sometimes you have a block of code and just want to know how long it took the machine to execute it. The Java developers have some really cool metric libraries like the Dropwizard subproject Metrics. But for the quick and dirty case there is always System.currentTimeMillis(); For the RPG devel]]>Mon, 12 Feb 2018 00:00:00 +0000Project CodeNoteshttp://blog.rpgnextgen.com/blog/2018/01/27/project-codenoteshttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2018/01/27/project-codenotes<![CDATA[At the time I still developed the RPG Next Gen Editor I have received some requests regarding offline support. It was not as much about editing the code but more about being able to view the code (perhaps for some reviewing and later refactoring). About 10 years forward I am picking up the topic ]]>Sat, 27 Jan 2018 00:00:00 +0000Modular Programminghttp://blog.rpgnextgen.com/blog/2017/10/28/modular-programminghttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/10/28/modular-programming<![CDATA[ Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality. --- from Wikipedia I think that i]]>Sat, 28 Oct 2017 00:00:00 +0000Processing XML Datahttp://blog.rpgnextgen.com/blog/2017/10/10/processing-xml-datahttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/10/10/processing-xml-data<![CDATA[For some time now I had the idea to port a REST service of mine from Java to RPG. Mostly just out of curiosity because the REST service was running well enough. The REST service was about serving the geo coordinates of the boundaries of postalcode areas. Import The data source for these coordin]]>Tue, 10 Oct 2017 00:00:00 +0000Even more Integration Possibilitieshttp://blog.rpgnextgen.com/blog/2017/08/26/even-more-integration-possibilitieshttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/08/26/even-more-integration-possibilities<![CDATA[IBM i stands for integration. But it is most of the time very troublesome to connect to and integrate anything outside the IBM family. In the open world (outside the IBM i box) there are numerous ways to integrate and communicate between systems and applications.One way to do it is to use a messagin]]>Sat, 26 Aug 2017 00:00:00 +0000Hey Socket, take a break!http://blog.rpgnextgen.com/blog/2017/08/24/hey-socket-take-a-breakhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/08/24/hey-socket-take-a-break<![CDATA[Ever wanted a normal (blocking) socket connection to listen for data but also wanted to check for a condition if it should stop listening? Problem is that the default BSD 4.3 version of the socket API (which is the default API to bind to) does not support setting timeouts. Trying to set a timeout]]>Thu, 24 Aug 2017 00:00:00 +0000ILEDocs - Project Infohttp://blog.rpgnextgen.com/blog/2017/07/24/iledocs-project-infohttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/07/24/iledocs-project-info<![CDATA[Hi, as you may have already read on the MiWorkplace release info I also have been busy working on ILEDocs. First: Some REST APIs have different paths now which renders it incompatible with the previous version. The good thing is that we now also support something like a project documentation. If ]]>Mon, 24 Jul 2017 00:00:00 +0000Rant about XMLSERVICEhttp://blog.rpgnextgen.com/blog/2017/05/21/rant-about-xmlservicehttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/05/21/rant-about-xmlservice<![CDATA[Hi, First of all I want to make it clear that I have nothing against XMLSERVICE. I think it is a nice tool though I never had to work with it due to my current job and thus have no real life experience with it. And this ranting is not really about the product itself but more about the marketing]]>Sun, 21 May 2017 00:00:00 +0000Arraylist @ Bitbuckethttp://blog.rpgnextgen.com/blog/2017/05/14/arraylist-bitbuckethttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/05/14/arraylist-bitbucket<![CDATA[Hi, as some may have noticed I am moving some of my projects to the OSSILE project. One of those projects is Arraylist. As the OSSILE project now uses git submodules to manage sub projects I have moved the source of Arraylist to its own repository at https://bitbucket.org/m1hael/arraylist So n]]>Sun, 14 May 2017 00:00:00 +0000Continuous Integration on IBM ihttp://blog.rpgnextgen.com/blog/2017/05/14/continuous-integration-on-ibm-ihttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/05/14/continuous-integration-on-ibm-i<![CDATA[Hi, continuous integration has been a topic on any other platform for some years now. But on IBM i I never heard that term in any discussion. There is a myriad of open source tooling support on any platform but not for IBM i ... or rather there is tooling for anything but for ILE on IBM i. The c]]>Sun, 14 May 2017 00:00:00 +0000Lists: Arraylist vs Linked Listhttp://blog.rpgnextgen.com/blog/2017/02/19/lists-arraylist-vs-linked-listhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/02/19/lists-arraylist-vs-linked-list<![CDATA[Hi, I am just moving my service program Linked List to the OSSILE project and I am again wondering if people know why there are two list implementations and when to use which implemenation or when to use a list at all. I am doing most of my development in the Java world and there lists are reall]]>Sun, 19 Feb 2017 00:00:00 +0000BlueDroplet at ILEDocshttp://blog.rpgnextgen.com/blog/2017/02/10/bluedroplet-at-iledocshttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/02/10/bluedroplet-at-iledocs<![CDATA[As there is now a functioning ILEDocs site available at rpgnextgen.com I added some real content to it. The BlueDroplet project is now in an alpha stage and can already be used for some REST services. The ILEDocs documentation of the BlueDroplet gives you a nice and quick overview of the availab]]>Fri, 10 Feb 2017 00:00:00 +0000BlueDroplet and the library listhttp://blog.rpgnextgen.com/blog/2017/02/10/bluedroplet-and-the-library-listhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/02/10/bluedroplet-and-the-library-list<![CDATA[BlueDroplet now supports changing the library list on startup. You can either add library list entries to the user portion of the library list or replace the whole user portion of the library list. Happy RESTing! Mihael ]]>Fri, 10 Feb 2017 00:00:00 +0000ILEDocs Revivalhttp://blog.rpgnextgen.com/blog/2017/02/09/iledocs-revivalhttp://blog.rpgnextgen.comhttp://blog.rpgnextgen.com/blog/2017/02/09/iledocs-revival<![CDATA[Hi, creating documentation has always been a major PITA in software development. Tools try to ease the process of creating good documentation. There are different kind of documentations (mostly different by the scope and/or detail and/or perspective) and not every documentation tool is good for ]]>Thu, 09 Feb 2017 00:00:00 +0000