I'm proud to announce the first release of StepSync, a file sync tool for GNUstep and MacOS (even for venerable PowerPC).
StepSync allows synchronization of folders, optionally recursively descending in sub-folders. It allows thus various options of performing backups: pure insertion, updates and including full synchronization by importing changes from target to source.
After months of development and testing, I consider it stable enough, I tested it with thousands of files and folders.
You can find it at the GNUstep Application Project. I already have plans for new features!
Showing posts with label GAP. Show all posts
Showing posts with label GAP. Show all posts
Saturday, September 29, 2018
Friday, August 17, 2018
Graphos 0.7 released
Graphos 0.7 has been released a couple of days ago!
What's new for GNUstep's vector editor?
Graphos running on MacOS:
What's new for GNUstep's vector editor?
- improved Bezier path editor (add/remove points)
- Knife (Bezier Path splitting) instrument fixed and re-enabled (broken since original GDraw import!)
- important crash fixes (Undo/Redo related)
- Interface improvements to be more usable with Tablet/Pen digitizer.
Graphos running on MacOS:
Friday, March 16, 2018
Graphos printing fix
Important Graphos fix.
Graphos had issues when printing and the view was not 100%: to speed up drawRect, all objects were represented scaled, so that they had not to be scaled each time, which especially for Bezier Paths is expensive with all the associated handles.
Thie issue is finally fixed by either caching both original and zoomed values for each object and conditionally drawing them depending on the drawingContext.
Here the proof with GSPdf showing the generated PDF!
Soon a new release then!
Graphos had issues when printing and the view was not 100%: to speed up drawRect, all objects were represented scaled, so that they had not to be scaled each time, which especially for Bezier Paths is expensive with all the associated handles.
Thie issue is finally fixed by either caching both original and zoomed values for each object and conditionally drawing them depending on the drawingContext.
Here the proof with GSPdf showing the generated PDF!
Soon a new release then!
Wednesday, August 23, 2017
LaternaMagica 0.5
LaternaMagica is the image viewing and exporting tool of the GNUstep Application Project.
Quickly create a list of images and export it by converting the file type and resizing the images to a uniform size, to prepare your next slide show, a folder of thumbnails or the folder to give your local printer and print out pictures.
The new 0.5 version comes with a lot of fixes and improvements.
Quickly create a list of images and export it by converting the file type and resizing the images to a uniform size, to prepare your next slide show, a folder of thumbnails or the folder to give your local printer and print out pictures.
The new 0.5 version comes with a lot of fixes and improvements.
- Improved drag&drop support
- Improved recursion of folders, including drag&drop of folders
- Rotation has key shortcuts
- Image rotation is remembered for export
- Code cleanup, optimization and minor bug fixes
- Exporting (including Scaling and Rotation) have many fixes:
- Better support of Alpha images
- Resolution and Size are better interpreted and preserved.
- better scaling algorithm imported from PRICE
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.
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:
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:
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:
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)
Wednesday, January 14, 2015
BatMon.app OpenBSD ACPI support
I just committed ACPI support on OpenBSD for GAP's Battery Monitor.
Check it out and enjoy GNUstep on your laptops.
Check it out and enjoy GNUstep on your laptops.
Friday, June 27, 2014
DataBasin: more powerful CSV writing for Select and Select-Identify
DataBasin, the clean-room impelmentation of a data extraction tool for SalesForce.com available for GNUstep and Mac just made a big leap forward!
If you have ever done a SELECT in salesforce.com, you might have noticed that the results are not ordered and that semi-joined fields ("." notation) are handled strange because a whole object is returned.
DataBasin extracts the columns of the CSV file by checking the first row of the dataset and recursing on the field names of salesforce's response. The effects in DataBasin are the following:
I added a new option available in write out fields in the order of the query.
This feature implies a more complex under the hood. For each record gotten in the response, the field names are reconstructed as before (e.g. by recursing inside sub-objects) and put in a Dictionary.
The original SOQL query is parsed and the field names extracted, then these names are used as keys for each record dictionary and written out.
This feature is available now both in Select and Select-Identify, since it is a problem of the CSV Write backend and enhances DataBasin operation usability greatly, bringing it on par with DataLoader.
Since DataLoader performces similar transformation and sometimes produces wrong results, I left this feature as optional with the flag "Write fields in query order".
If you have ever done a SELECT in salesforce.com, you might have noticed that the results are not ordered and that semi-joined fields ("." notation) are handled strange because a whole object is returned.
DataBasin extracts the columns of the CSV file by checking the first row of the dataset and recursing on the field names of salesforce's response. The effects in DataBasin are the following:
- The field order is not preserved
- If a sub-object is queried, all those fields are grouped together in that object
- If more than one field is queried on a sub-object and on certain record this object is missing, the number of columns between records is inconsistent: salesforce.com doesn't return the whole object and DataBasin iterates record after record in the sub-object, but if it it is totally missing, only one empty column will be written, not as many as needed
- Capitalization of the column names doesn't get preserved (compared to the above issues, something really minor)
This feature implies a more complex under the hood. For each record gotten in the response, the field names are reconstructed as before (e.g. by recursing inside sub-objects) and put in a Dictionary.
The original SOQL query is parsed and the field names extracted, then these names are used as keys for each record dictionary and written out.
- Order preserved, also with sub-objects
- Fields preserved and empty values are written even if whole sub-objects are missing
- Case is preserved
This approach looks fine and comes with a relatively small performance penalty, however it is delicate because during parsing of the query, many naming subtleties of Salesforce.com needs to be inferred, that is, DataBasin tries to infer how the name in the Response will be:
- field aliases
- aggregate names with no alias, which are called progressively Expr0, Expr1
- idiosyncrasies with aggregate functions. A field in a sub-objects is called Object__c.Field__c when in a regular query, but when used in an aggregate query, only Field__c is used, disregarding the join-depth
- COUNT() vs.COUNT(Id)
This feature is available now both in Select and Select-Identify, since it is a problem of the CSV Write backend and enhances DataBasin operation usability greatly, bringing it on par with DataLoader.
Since DataLoader performces similar transformation and sometimes produces wrong results, I left this feature as optional with the flag "Write fields in query order".
Friday, February 14, 2014
GAP moves to SVN
The GNUstep Application Project transitioned its source repository from CVS to SVN.
The sources were migrated with full-history and the same directory structure.
Connections detail, at the project's page about svn: https://savannah.nongnu.org/svn/?group=gap
Browsing can be done here: SVN Surfing
The CVS repsoitory will remain open for some time, in case something went wrong during the migration process, but it is not official or current anymore.
The sources were migrated with full-history and the same directory structure.
Connections detail, at the project's page about svn: https://savannah.nongnu.org/svn/?group=gap
Browsing can be done here: SVN Surfing
The CVS repsoitory will remain open for some time, in case something went wrong during the migration process, but it is not official or current anymore.
Thursday, July 11, 2013
FTP: new features, some polish
I added some long-due functions to FTP, handled by a request dialog
Furthermore, currently it is boring that after each operation the file lists are not updated.
I thus changed the core representation, fileTable, to be a mutable array and added basic manipultation methods. I will the progressively add provision to update dynamically the list after operations. Right now I worked on delete. The first impact is that the contents of the selection need always be copied before launching an operation, otherwise operations with selections larger than one element may fail or behave wrongly after the first element got processed.
Also, I noticed that FTP lacks a refresh function. Sometimes after years you notice the most basic things! I'll need to implement that.
- Local and Remote Rename
- Local and Remote New Folder
Furthermore, currently it is boring that after each operation the file lists are not updated.
I thus changed the core representation, fileTable, to be a mutable array and added basic manipultation methods. I will the progressively add provision to update dynamically the list after operations. Right now I worked on delete. The first impact is that the contents of the selection need always be copied before launching an operation, otherwise operations with selections larger than one element may fail or behave wrongly after the first element got processed.
Also, I noticed that FTP lacks a refresh function. Sometimes after years you notice the most basic things! I'll need to implement that.
Friday, June 28, 2013
Graphos: text alignment and other fixes
I finally fixed text alignment in Graphos! It was broken since a long time, perhaps since Graphos 0.1, probably due to the conversion made from GDraw. You had the controls in the editor, but then it didn't draw correctly!
Another long-standing bug was the manipulation of handles of a closed bezier path: the handles inside the path could not be touched. I think this bug existed even in GDraw!
A lot of work then went into restructuring the whole architecture that handles the zooming of the view. previously, everything was recomputed, there was no notion of original size, everything was transformed back and forth on the fly. While quick and easy, this provided serious problems when saving! Furthermore it means that there is data corruption when performing zooms!
Now, the original information is stored inside each object and everything is then calculated for representation. Some zoomed data is pre-calculated, other not. Probably there can be quite some optimization, but first everything needs to be debugged, since this is a quite consistent change. No new format is necessary since previosuly saving with a zooom different from 100% resulted in a broken file anyway.
Another long-standing bug was the manipulation of handles of a closed bezier path: the handles inside the path could not be touched. I think this bug existed even in GDraw!
A lot of work then went into restructuring the whole architecture that handles the zooming of the view. previously, everything was recomputed, there was no notion of original size, everything was transformed back and forth on the fly. While quick and easy, this provided serious problems when saving! Furthermore it means that there is data corruption when performing zooms!
Now, the original information is stored inside each object and everything is then calculated for representation. Some zoomed data is pre-calculated, other not. Probably there can be quite some optimization, but first everything needs to be debugged, since this is a quite consistent change. No new format is necessary since previosuly saving with a zooom different from 100% resulted in a broken file anyway.
Thursday, June 27, 2013
Graphos: new path editing
I changed the way selection and editing of paths and objects work in Graphos.
Previously, the program attempted to be smart: the "white" arrow tool would auto-select an object and start editing it. Clicking outside would deselect it.
This behaviour seems smart, but with many objects, with control poitns close together, it could drive you crazy. I thus changed the behaviour, by differentiating the black arrow and the white arrow tools more:
This arrangement makes the two tools more orthogonal. It looks perhaps a bit more cumbersome for basic operation, but it ends to be much easier when objects overlap. Especially when using a graphics tabled this makes a huge improvement in my opinion.
And to close, just a drawing to show the current capabilities of Graphos. Making different shades is very easy with the new
Previously, the program attempted to be smart: the "white" arrow tool would auto-select an object and start editing it. Clicking outside would deselect it.
This behaviour seems smart, but with many objects, with control poitns close together, it could drive you crazy. I thus changed the behaviour, by differentiating the black arrow and the white arrow tools more:
- the Black Arrow selects and unselects the whole object
- the White Arrow selects and modifies control points, but does not change the object selection
- the White Arrow only selects control points within the current selected object
- missing a control point with the White Arrow does not deselect the object
This arrangement makes the two tools more orthogonal. It looks perhaps a bit more cumbersome for basic operation, but it ends to be much easier when objects overlap. Especially when using a graphics tabled this makes a huge improvement in my opinion.
And to close, just a drawing to show the current capabilities of Graphos. Making different shades is very easy with the new
Monday, April 08, 2013
FTP 0.4
FTP 0.4, the ftp client of the GNUstep Application project, has been released.
This is release has a couple of new features which should make usage a bit cleaner as well as many bug fixes and portability issues. I would recommend the upgrade. Among the many small changes:
This is release has a couple of new features which should make usage a bit cleaner as well as many bug fixes and portability issues. I would recommend the upgrade. Among the many small changes:
- Reopening connections without restarting FTP is fixed, there were corner cases where this didn't work
- Better progress report, also for file listings. Indeterminate progress if size is unknown.
- 64bit and portability fixes. Smaller fixes about corner cases with empty selections and empty files and interface locking.
- When disconnecting, the remote connection gets cleared.
- More minor but annoying bugs, like problems with large selections on Cocoa.
FTP running on NetBSD, Sleek theme applied |
Tuesday, March 12, 2013
Cynthiune 1.0.0
Cynthiune 1.0.0 has been released, the Music Player for GNUstep. This is the first of GAP after Wolfgang handed over the source code.
Improved stability, portability, support for big-endian processors. Ported to Windows and Macintosh. Memory leaks and bug fixes. This is definitely a recommended upgrade. Thanks to Wolfgang for the code and Sebastian and Philippe for the long hacking sessions!
Friday, March 01, 2013
BatMon on FreeBSD
I just have improved GNUstep's Battery Monitor support for FreeBSD. It now handles the High state, that is the state where the battery is present and charged and not charging. Furthermore the cases of Missing batteries or a battery in Critical low state are now handled much better.
Check out CVS or wait for the upcoming release!
Check out CVS or wait for the upcoming release!
Sunday, May 20, 2012
Cynthiune running on Macintosh
Cynthiune is working again on the Mac! I was able to compile a limited set of bundles on Mac again! This is good because it also confirms that some of the latest playlist changes work fine!
I am unable to compile the ID3 Tag bundle for some weird compiler errors I don't get on any GNUstep machine, so I won't prepare a binary release.
I am unable to compile the ID3 Tag bundle for some weird compiler errors I don't get on any GNUstep machine, so I won't prepare a binary release.
Wednesday, May 02, 2012
Cynthiune on Windows
During the revamp we of GAP are giving to Cynthiune, I revived today also the Windows port, look at how it is running on Windows 7... and yes, it plays really (something I am yet unabel to achieve on NetBSD...)
Friday, April 06, 2012
FTP 0.3 Released
FTP 0.3 got finally a release! Many small fixes in the build system, better portability and updates.
You can see it in the screenshot running on Windows 7 with the native windows theme!
Friday, August 19, 2011
DataBasin 0.3
DataBasin 0.3 released!
New object inspector, bug fixes, improved character encoding...
DataBasin at GAP
New object inspector, bug fixes, improved character encoding...
DataBasin at GAP
Friday, July 15, 2011
GMastermind, LapisPuzzle, Sudoku, GMines released
Some of the applications given by Marko Riedel to the care of the GNUstep Application Project were released today:
GMastermind
Sudoku
GMines
Furthermore, LapisPuzzle was released too.
These are maintenace releases which make the application work on current gnustep, fix bugs, improve memory handling and improve porting to different platforms, including windows.
Many thanks to the original author Marko Riedel who helped the code not fall into oblivion and Sebastian Reitenbach whose idea was to import the apps and who helped fix them.
GMastermind
Sudoku
GMines
Furthermore, LapisPuzzle was released too.
These are maintenace releases which make the application work on current gnustep, fix bugs, improve memory handling and improve porting to different platforms, including windows.
Many thanks to the original author Marko Riedel who helped the code not fall into oblivion and Sebastian Reitenbach whose idea was to import the apps and who helped fix them.
Subscribe to:
Posts (Atom)