RPG Next GenBlog2019-03-15T00:00:00+00:00http://blog.rpgnextgen.com/feed/atomMihael Schmidtmihael@rpgnextgen.comlibxlsxwriter : Date/Time and Image Supporthttp://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]]>2019-03-15T00:00:00+00:00Write Unicode Characters with libxlsxwriterhttp://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]]>2019-02-27T00:00:00+00:00ILEDocs - Multiple Version Supporthttp://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 ]]>2018-10-03T00:00:00+00:00ILEDocs - Release 2.1.0http://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]]>2018-08-15T00:00:00+00:00Arraylist - Bugfixhttp://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]]>2018-07-27T00:00:00+00:00BlueDroplet - Next Stepshttp://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]]>2018-06-21T00:00:00+00:00Linked List Release 1.4.0http://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]]>2018-06-10T00:00:00+00:00ILEDocs Database is growing again!http://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 ]]>2018-05-29T00:00:00+00:00JDBCR4 and Batch Updates and Insertshttp://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]]>2018-04-04T00:00:00+00:00ILEDocs Database is growing!http://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]]>2018-03-26T00:00:00+00:00Java Git Client on IBM ihttp://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]]>2018-03-25T00:00:00+00:00libxlsxwriter : Creating spreadsheets nativelyhttp://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]]>2018-03-21T00:00:00+00:00RDi Hover Supporthttp://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]]>2018-03-07T00:00:00+00:00Measuring Time Spenthttp://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]]>2018-02-12T00:00:00+00:00Project CodeNoteshttp://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 ]]>2018-01-27T00:00:00+00:00Modular Programminghttp://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]]>2017-10-28T00:00:00+00:00Processing XML Datahttp://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]]>2017-10-10T00:00:00+00:00Even more Integration Possibilitieshttp://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]]>2017-08-26T00:00:00+00:00Hey Socket, take a break!http://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]]>2017-08-24T00:00:00+00:00ILEDocs - Project Infohttp://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 ]]>2017-07-24T00:00:00+00:00Rant about XMLSERVICEhttp://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]]>2017-05-21T00:00:00+00:00Arraylist @ Bitbuckethttp://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]]>2017-05-14T00:00:00+00:00Continuous Integration on IBM ihttp://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]]>2017-05-14T00:00:00+00:00Lists: Arraylist vs Linked Listhttp://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]]>2017-02-19T00:00:00+00:00BlueDroplet at ILEDocshttp://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]]>2017-02-10T00:00:00+00:00BlueDroplet and the library listhttp://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 ]]>2017-02-10T00:00:00+00:00ILEDocs Revivalhttp://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 ]]>2017-02-09T00:00:00+00:00