Wednesday, November 02, 2011

DataBasin 0.4

0.4 is out!

Select Identify: Execute iteratively selects with given Ids or Unique Identifiers (no more Excel connector for this chore)

Select Http or Https as a preference for your connection (and it even works... http had a workaround due to sfdc stubborness which is now enabled only when necessary)

DataBasin at GAP

Friday, October 21, 2011

Neos 0.1 theme for GNUstep


Finally, the first official 0.1 release of the Neos theme. The theme contains now all the icons for the new special folders handled by GWorkspace, following thus the enhancements of the standard theme. You need both the latest GWorkspace and Base for all of them to appear properly.

Use the GNUstep filesystem layout (with the standard /usr/GNUstep or even / as a prefix) for maximum enjoyment. FHS has no real reason in a full GNUstep environment, in my opinion it should not be the default, it should just exist to ease people wanting to install one or two application in another environment.

Name your folders Documents, Images, Music, Downloads.

To have in idea of the look, check my past blog posts and you will see its evolution.

Thursday, October 06, 2011

The end of an Aera

Jobs died. Now He was not only the father of the Macintosh, the iPod, iPhone and the iPad. he was also the father of NeXT and thus our guide too, our uncle or step-father.
He surely left a trace in computing. Let us keep his spirit alive in GNUstep

Friday, September 30, 2011

GWorkspace 0.9.0


GWorkspace 0.9.0 is out.

Custom icons for special folders (System, Library, Images, Music, Documents, Downloads, Desktop). Themable.

Volume recognition ported or improved on NetBSD, FreeBSD, OpenBSD.

Many fixes in the build system, crash & security fixes.

Wednesday, September 28, 2011

OresmeKit: plotting two functions


OresmeKit now is capable of plotting two function each against the other in its Cartesian view.

I ported OresmeKit and its examples to the Mac without any major effort, as expected.

Thursday, September 08, 2011

Oresme, plotting for GNUstep

Parabola
I started creating OresmeKit, a plotting and charting framework for Objective-C, GNUstep (and Cocoa/Mac). I had the idea since quite some time, but finally started working on it. I know others had sketches on the subject too, but at the end one does need to start somewhere. The Kit will offer custom Views to be embedded inside your application to plot data. The goal is to have simple setup possible. Plotting is a complex art which can be tweaked quite a bit and which can lead to interesting mathematical computations, but let's start with something simple and easily usable, or the design will never go beyond the drawing board.
sinc(x)
The first component is a Cartesian plotting: two X and Y array need to be provided for abscissa and ordinata values. The view can be set to display different X/Y ranges, the Quadrant can be selected and a "centered" mode is available to automatically set the Origo in the center. The View live-resizes and the plot colors can be set. Currently there are no optimizations of any kind, but for simple graphs it works quite well, as the example application shows. Along with the Framework I develop and release also examples which serve the dual-purpose of testing the Kit and providing a starting point for other developers who want to use OresmeKit.

In the screenshots, the example application plotting a parabola  and the plot of the sinc(x) function.


Why OresmeKit? In honour of Nicolas Oresme the antique philosopher who thought about coordinates long before Cartesius. Because Cartesius was too predictable as a name and too tied to X-Y plotting, while OresmeKit shall support more chart types in the future. What's next? I plan on adding some more features to the Cartesian drawing view first. Then typical charting views: bars, lines, pies... At some point some optimization and computation will be available, since otherwise plotting of large datasets will be unbearably slow.

OresmeKit and its examples are available in GAP and are yet unreleased, check the CVS repository.

Friday, August 19, 2011

DataBasin 0.3

DataBasin 0.3 released!

New object inspector, bug fixes, improved character encoding...

DataBasin at GAP

Monday, July 18, 2011

GMastermind running on Macintosh


During the weekend, I rewrote the whole graphics core of GMastermind to use NSBezierPaths instead of PS operations. Furthermore it uses a gorm file to create the menus and instantiate the application Controller.

With these changes, a port of the code to Cocoa is possible! The screenshot shows the game running on my iBook with 100% the same code base of GNUstep.

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.

Monday, July 11, 2011

GNUstep on PowerPC


I got a first-generation iBook, those cute tangerine clamshells. Already owning a clamshell iBook, the lime SE version, which runs MacOS Panther, this one had to run GNUstep. I installed Debian/ppc, installed GNUstep and about everything seems to work quite smoothly, I see no extra problems compared to x86.
You can see a busy desktop exported to a bigger display.

GMines 0.2

GMines 0.2, the GNUstep version of the mine field / minesweeper game, got released. It is the first of several applications written by Marko Riedel that were salvaged and subsequently updated and bug-fixed by the GNUstep Application Project.

GMines on GAP.

Thursday, June 23, 2011

BatteryMonitor supports NetBSD


BatteryMonitor for GNUstep now has support for NetBSD acpi too now! Support languished because decent acpi support in NetBSD is relatively recent and reading it requires checking a property list (which is of course more complex, but at least consistent and clean compared to the maze of files linux provides). To manipulate it libprop sports handy functions, yet I always had some problems here and there, until I realized something very cool. Property lists are familiar to GNUstep and Cocoa users.
char * prop_dictionary_externalize(prop_dictionary_t dict);
Exports fully-fledged XML property list compatible with GNUstep plists, not just something similar. Thus it is a matter of using
-[NSString propertyList]
to get a dictionary and manipulate it with obj-c iterators, which is much more convenient than the equivalent C function provided by libprop.

Support is still quite rough and, for example, only the first battery is checked. I have only one NetBSD laptop and I don't know how NetBSD shields the results from BIOS idiosyncrasies I experienced on Linux (watt-hour and ampere-hour usage and orthogonality for example). But it is already very nice!

Tuesday, June 21, 2011

Battery Monitor now on OpenBSD


The battery monitor for GNUstep of the GAP project, has now basic battery information support by accessing the APM/ACPI driver. Advanced cell information supplied by ACPI is still missing. In any case at least I can see how much juice my OpenBSD laptop has left...

(Tested on my Dell Latitude C600, as always with APM and APCI, your luck with other laptops may vary depending on BIOS information and Kernel support)




Thursday, June 09, 2011

Marko Riedel's apps now in GAP


Some applications recently lost their home, thus Sebasitan Reitenbach, of OpenBSD packages fame, asked if GAP could find a new place for them.
Marko Riedel published several small applications in the past year: games, preview utilities... these need patches to continue working with newer GNUstep versions and to fix bugs. For a packager, it is more convenient to have a stable place from where to retrieve everything.

Mr. Riedel gave us the authorisation to import the applications.

Sudoku and GMines are already part of the repository and have been brought up-to-date and work again smoothly.

Jigsaw puzzle is on its way.

I wonder what we should do with Yap, the a2ps front-end. The image viewing capabilities are well covered by PRICE and LaternaMagica, the PDF viewing is handled by GSPdf in the same way through ghostscript. The only value added would be the pretty printing through a2ps. Does anybody use this and is it worth investing time to fix YAP ?

Wednesday, March 16, 2011

DataBasin Object Inspector sorting


The fields are now sortable by Label and Developer Name. A little feature that was sorely needed within orgs with almost 500 fields per object!

This feature is currently not available in GNUstep.

DataBasin, Objective-C portable data access tool.

Thursday, March 10, 2011

DataBasin: object inspection


DataBasin now sports an Object Inspector which works in the easiest way possible: insert a SalesForce.com ID: DataBasin will try to attempt do determine the object type, automatically describe it and finally load the data.

How many times did you have the need to quickly inspect an Object of which you got the ID in an exception email? Or how many times did you have to inspect the value of a field not visible on the layout?

This new feature required some extension to the underlying API of DB: the Soap class now has an identifier method which looks for an ID in all objects returned by the Describe Global in the attempt to identify the object it comes from.

The coolest addition however is in the DBSObject class itself: it is capable of loading or refreshing the values of a set of fields or of all known fields. And behold, a finesse: when loading the value of all fields, the queries will be split into executable queries without reaching the maximum SOQL size of 10K chars, as opposed to Apex Explorer which chokes if you select all fields of a very big object.

Friday, January 28, 2011

GWorkspace and BSDs

GWorkspace is now more portable: the desktop feature and its mounted volume display now should work reliably not only on Linux but also on most BSDs and derivatives. GWorkspace needs to check which volumes are mounted. Comparing it with a list configured in SystemPreferences the user can see the mounted devices on the desktop.

All started by a patch offered by Sebastian, where a FreeBSD feature was used on OpenBSD. The whole code was a maze which attempted to parse the "mount" output. I first fixed it and also found security holes which were rapidly amended.

The final solution however has been to remove the parsing code and use getmntinfo() where available and maintain only one fall-back mechanism, the parsing of /etc/mtab as to maintain Linux compatibility.

The question on how to support GNU/HURD remains open though. I'd love to have it working in a clean way. However, it lacks /etc/mtab and even the hackish solution to parse mount is not feasible since it returns valid content only for Linux.

Solaris support needs to be verified too.

Constructive input appreciated.