Tuesday, May 17, 2016

DataBasin and DataBasinKit 0.9 released

After more than a year of work, finally a new release of DataBasin and its associated framework. This version features a Framework that can be used in threads and the application itself is capable of having concurrent connection classes to SalesForce.com.

On Windows

On OpenBSD


Countless bug fixes (thanks to the bug reports of my colleagues Diego, Moustapha, Matteo + Matteo).

Major new features are:
  • threadable DataBasinKit framework
  • concurrent, interruptible operations (e.g. select vs. update)
  • handle multiple errors as a result of update
  • filter new lines when writing CSVs
  • countless bugfixes, especially in select-identify corner cases

DataBasinKit allows you native connection to SalesForce.com, allowing your application to integrate SOQL queries (SELECT, UPDATE similar operations), be it on Mac (Cocoa) or NetBSD, FreeBSD, OpenBSD, Linux or Solaris as well as Windows (MinGW).
DataBasin itself allows you to perform standard operations in a quick and agile interface: Extract accounts on Linux without the need of Java. Use the unique select-identify feature.

I am proud that Free Software can connect from a Free Software Operating System to a proprietary system and bridge the two worlds, enabling to do administrative work without being constrained to Java on Windows (read: DataLoader). Thanks to the many developers who continue supporting me in the development and keep these fine Operating Systems and tools alive.

Wednesday, March 23, 2016

ProjectCenter debugger changes (now even on windows!)

Behold ProjectCenter running on Windows with the debugger module open and GDB running in it.
 

GNUstep's ProjectCenter debugger module - something which was initiated by Greg and has always been quite experimental and unfinished - was based on running GDB via a virtual terminal by using openpty(). Sadly openpty() is not very portable and also.
I restructuured the debugger module to have a separation between the view handling the visualization and a delegate which handles the actual execution of the debugger and sending commands and receiving output.
Instead of using a terminal I implemented a std-in and std-out mechanism.
While some interactive editing properties get lost when using GDB this way (e.g. ability to answer y/n questions) it is the right way to the a machine interface. For example a stacktrace doesn't get paged but printed out fully. Different data sources now get nicely colored too!

And last but not least, it runs on Windows.

Monday, September 28, 2015

Nasty DataBasin bug fixed

DataBasin's Select-Identify, an invaluable tool for many working with salesforce.com, showed erratic behaviour: extremely hard to reproduce even by sometimes re-running the same query on the same data set, the operation would just stop without any error in the console log, trapped exception or else.

After extensive debugging I found the problem in the queryMore method of the API implementation in DataBasinKit. If queryMore had to return just one record, it would malfunction.
Technically this happened because the size reported by Salesforce.com in the queryMore is not the size of the objects of the queryMore, but of the original query.

The problem affects thus anything using queryMore: If you would select and had a batch size in download of 500, you would get a problem with 501, 1001, 1501 records and so on. 500 or 502 would just work fine. Combine this that the query size of the selectIdentify is dynamic and you get the idea on how difficult it was to reproduce.

Now it is fixed and the upcoming 0.9 version will have this fixed. All currently released DataBasin versions are affected by this bug.

Tuesday, April 07, 2015

IRC client TalkSoup 1.1 released

I am pleased to announce that after months of work a new release of GNUstep's IRC client, TalkSoup, is ready!
Being essentially abandoned the last released sources (alpha version)have been  imported some time ago in GAP with Andrew's consent. I also merged in some enhancements from the GIT repository code.

This new release was really started because the original code was not working at all anymore, it did not compile on certain platforms and elsewhere it crashed really often.

  • Very important Crash fixes due to Strings vs AttributedStrings
  • Native XCode port to Mac (both PPC and x86 do work), no GNUstep makefiles necessary
  • Memory leaks and fixes as recognized by clang's static analyzer
  • Tweaks to the user interface
  • Import and addition of the IGNORE plugin
  • Fixes to work on current GNUstep runtime and on MacOS
  • Preference fields send action on end editing, not enter
  • Install plugins locally inside Application resources with .bundle extension
  • Fixed myriads of crashes due to code using "id" instead of an explicit type and thus picking up the wrong methods
  • 64bit fixes with NSInteger/NSUInteger

Due to the change of plugin placement, you may need to delete your defaults.

Check more on it's GNUstep Appliction Project page, where you can download it or go to the savannah project page and learn how to check out the SVN sources.

Here the most classic and nostalgic setup: my iBook running Debian (without evil systemd) and the classic GNUstep theme and WindowMaker. Works fine!


Here instead on my other iBook, still running MacOS. Do you see some similarity? Although TalkSoup did run in the past on Mac, this is a native XCode build. Having it run on my ol' clamshell makes me feel cozy.


And something less common too, to prove the enhanced portability: GNU/Hurd on Debian, with the Sleek theme from GAP:

Friday, March 20, 2015

Extirpating systemd from Debian

I found out that all my debian machines switched to systemd without my consent, with just a standard apt-get ugrading.
I despise that decision.

I did not follow the latest discussion about it, I was left with the impression that it would have been installed only if needed, but evidently I was wrong.

Can you get back? Time to toss Debian? I hoped not, I know of other fellow developers who switched  distribution, but Debian is Debian.

Remove systemd and sysvinit (which is now a transitional package) and put back sysvinit-core back. I had the fear that I bricked my laptops, but it still works. For how long? I don't know.

I'm very very sad about this. If I think of GNU/Linux I think of Debian, it has been with me since 68k times, when potato was cool. Debian made a very bad decision.

Something newer than ol' sysvinit? Something modern, fast, capable of parallelism. Yes.
But something portable, light, secure, which is not a dependency hell, which does one thing. In other words, something in line with the Unix philosophy.

Not the enormous pile of rotting shit which is systemd. When I removed it, I freed almost 13Mbytes from my system. I am relieved, but it shows also how big that pile of crap is.

So, for now, Debian can stay with me, I hope it will be for a long while. Long enough that debian will revert or systemd will go away.

Wednesday, March 04, 2015

FTP 0.5 for GNUstep and Mac

I'm happy to announce a new release of FTP, the file transfer application of the GNUstep Application Project.

It is designed for GNUstep and completely native on the Mac too, with version 0.5 being available as a binary for both for PPC and Intel, as well, of course, as the usual source tarball for Unix.
(Please wait for the GNU.org mirrors to propagate the files or grab the sources from SVN)

There are some new features as well as bug fixes:
  • Creation of local and remote directories
  • Command to refresh the current directory listing, local and remote
  • File renaming, local and remote
  • Drag&Drop for uploading a file from GWorkspace/Finder to remote file panel
  • better handling of local and remote write errors
  • better parsing of File Sizes returned by FTP servers
  • better handling of file adding to the views, so that less "refresh" is needed
  • Bug fixes with multiple selection uploads
  • Code cleanup for better portability (gcc/clang, old and new runtime, Cocoa)

Saturday, February 28, 2015

Graphos bitmap image display

Graphos is the vector-drawing application for GNUstep (and MacOS) of the GNUstep Application Project.

While it is centered on drawing bezier paths and derived shapes, I added support for copy&pasting images. While these images cannot be saved (the format doesn't support it yet) they still can be useful: since they are layered as any other object (and transparency alpha channel is honoured too), one can do interesting things as in this example:

We paste in the original image for LaternaMagica's icon. We start tracing it with simple shapes, here shown in black.


One can easily fit curves over the image, essentially doing a hand-trace. Very important is the usage of cusps and symmetric handles in bezier-paths, which will be the new feature of the upcoming Graphos release.

After a quick work, this is the first rough result:

I still need to fix some details: the display at zoom rates different than 100% doesn't work correctly with images.

Wednesday, February 25, 2015

GNUMail and TalkSoup getting back to MacOS

In the effort of peppin up and removing bitrot from TalkSoup, the GNUstep IRC client, I am doing  a native build of it on MacOS.
Apparently there was a port in the past, but it was not an Xcode build and it uses may tricks.
I have already ported the application the core and the main bundles: this pointed out many weak parts of the code and many more warnings than I was getting on GNUstep.

Soon I will be able to make a new, updated release!

The application works now much better! x86 and PPC... so I can enjoy a chat on my iBook:



Also GNUMail has progress: before running only on ppc and 10.4, now the application runs fine also on x86!
During this process I am also trying to modernize GNUMail's code gradually: the application was written for GNUstep, but the Macintosh port was port with a lot of conditional code, 10  and years ago GNUstep was less complete. A lot of these exception can now be removed. I am going to investigate each of them and remove as many of them.




Wednesday, January 14, 2015

Friday, January 09, 2015

DataBasin 0.8

DataBasin 0.8 is out!

After several months of development and testing, many news:
  • DataBasin is now divided in its DataBasinKit framework which is LGPL'd and the application itself
  • (CSV writing) Support of empty fields in empty semi-joined objects through query parsing
  • (CSV writing) Support for writing fields in exact order as in user query, trough query parsing
  • Select Identify supports LIMIT
  • Customizable CSV file quoting and separator
  • Support for COUNT and aggregate queries
  • Object Inspector supports selection of values in cells
The most important news is the DataBasinKit separation.
The most important feature instead is DataBasin ability to parse the SOQL query and thus rearrange the output fields in CSV files not as Salesforce returns them but as the user requested them. The same feature allows related objects (. notation) to be null and retain the correct columns in the CSV file.

Thursday, January 08, 2015

PRICE 1.3.0

Finally a new release of PRICE!

Get it here: https://sourceforge.net/projects/price/files/1.3.0/

This version improve Mac support quite a bit, Apple made several changes since 10.6 which caused malfunctions and weird symptoms (and which fix occasional stuff on 10.4 too). Both PowerPC and x86 work fine!

Many bug fixes, memory issues, bug in filters fixed.

  • Curves can now be manipulated with handles
  • Edge/tracing ignores the alpha channel
  • Preview supports scaling
  • Support by on-load conversion of alpha-first images
  • Greyscale and Inversion support 16bit images, highly experimental! The current approach looks unpractical to extend to all filters since the code-path needs to be doubled though.
Custom Edge Tracer, PRICE on GNUstep



Curves Editing, PRICE on MacOS





Wednesday, December 31, 2014

GWorkspace 0.9.3

New Year's Eve Edition: GWorkspace 0.9.3 released!

GNUstep's workspace got plenty of attention, fixes and improvements, here a summary:


  • viewer preferences and status are now stored reliably (you may need to delete your old defaults)
  • file operation now work concurrently as they should
  • file operations can be paused/resumed more easily and reliably
    - many memory leaks related to file operations fixed! Less bloating during usage
    - fixes for clang/libobjc2 runtime
    - improved host-name setting (previously, on some machines localhost was used)
    - Recycler may unmount volumes now
    - Fixes and performance increases with browser drawing
    - improvements in File operations errors (permissions, etc)
    - fixes when renaming files without permissions
    - further 64bit and portability fixes


NOTE: you may need to delete your current defaults (type "defaults delete GWorkspace") for the new viewer status saving to work correctly

Monday, October 27, 2014

New GNUMail release 1.2.2

After Pantomime a GNUMail release had of course to follow.
The same words as for Pantomime apply.


Due to the inactivity of CollaborationWorld and Ludovic, we(*) decided to import the sources in gnustep-nonfsf at gna.org.

(*)German, Sebastian and myself with the contributions of others

The download is at:
http://download.gna.org/gnustep-nonfsf/GNUMail-1.2.2.tar.gz

This release contains updates and some important, long-needed fixes:
* critical fixes on GNUstep which finally make SMTP usable again (including security detection in preferences)
* use the corresponding Pantomime to finally run on NetBSD
* Many 64bit fixes
* port to MacOS re-instantiated (10.3/10.4 tested)
* Memory problem fixes
* General code cleanup to compile on modern compilers (gcc4 and clang) and on modern obj-c runtimes
* works slightly better on small displays
* crash fixes

There is still quite some stuff to do, but at least GNUMail can be compiled, run and used again and I hope other will enjoy it!


GNUMail on MacOS


GNUMail on GNUstep

Friday, October 24, 2014

ProjectCenter 0.6.2 released

Version 0.6.2 of ProjectCenter, GNUstep's IDE (together with GORM), is out!

For more information and to download it, check the GNUstep website:
http://www.gnustep.org/experience/ProjectCenter.html

What's new?
  • Better compiler output parser, which includes fatal error
  • Compiler parser extended beyond gcc, like egcs and clang now get reasonable output
  • GoTo Line panel rewritten, works and can be extended in other editor plugins (like Gemas)
  • Find Panel fixes to work in detached editors, use of the standard find pabel
  • Crash fixes in the editor
  • Crash fixes in the highlighter
  • usage on Windows improvements
  • 64Bit fixes
  • Updated to current GNUstep drag operation (you need this release to work on current GNUstep)
  • some NetBSD/OpenBSD/FreeBSD support fixes (warnings et al.)

Sunday, October 12, 2014

Pantomime 1.2.2 release

Did you want to use GNUMail on NetBSD and were not even able to compile it? Do you run 64bit and had problems with GNUMail ?

I am pleased to announce a new, maintenance release of Pantomime.

Due to the inactivity of CollaborationWorld and Ludovic, we(*) decided to import the sources in gnustep-nonfsf at gna.org.



The download is at:
http://download.gna.org/gnustep-nonfsf/Pantomime-1.2.2.tar.gz

This release contains updates and some important, long-needed fixes:
* new res_init code for NetBSD which allows finally, after years, to run GNUMail on NetBSD!
* enhanced portability to FreeBSD and OpenBSD
* improved packaging hints in the makefiles
* port to MacOS reinstantiated (10.3/10.4 tested)
* extended 64bit fixes, including NSInteger/NSUInteger transitions were appropriate
* enhanced crash catching, so that debugging is eased in the future
* memory leaks fixed

Monday, September 29, 2014

Improvements in GNUstep's native window look

In the past weeks, quite some polish was added in windows support.

First, there was a bug affecting Popup Menus and contextual menus that affected only certain computers. It was fixed.




Then the controls were not properly initialized. Native file-dialogs, for example, as well as upcoming print dialogs (work in progress by Gregory) did not fit the theme properly. On XP, Window 7 and Windows 8 they should follow the native look, instead they always got the "Win 95" look creating a strange mix.

The fix requires initializing Windows' controls. I put the initialization code inside the WinUX theme loading. If it will not prove safe, then it needs to be moved into NSApplication. Furthermore, an XML resource file to enable the correct loading.




I really does look nice, doesn't it?