Apr 092014

After some work, Bulbcalculator is finally ported to QT5, with the future 2.2.0 version. While I am working on this, I also decided to implement some other features, firs of all a recent project list and the possibility to setup the page size, like some very well known CAD programs.

I have not a date to release the 2.2.0 version, since I have not so much time to work on it, but the work is slowly going on.

Aug 092013

Stl-tools get some work in the last couple of days which will be the basis for future development.

The main point I nailed out is to have a structure that can support commands  that needs different number of parameters.

The old implementation needs to specify the axis for all the operations, but while adding the new operation stubs, I realize that not all of the operations I’d like to implement need the axis specification and, more important, not all of them refer to an axis.

With this in mind I removed the -x option and update the mirror operation to reflect this.  The new method is based on a structure (technically a python dict) which hase a “name” , which is the operation itself,  and a nested structure (another python dict) which contain all the couples option-value for the operation. This give the required liberty to implement every operation without the risk to touch every part of the code every time I will need to have another option for a new operation.

While working on this, I also corrected the mirror operation definition so now the it is defined to refer to a plane instead of an axis, which is way too more logical.

The last thing done is to move all the help related function to specific class. With this I hope to have a clearer code

 Posted by at 5:11 pm
Jun 182013

This want to be the first of a series of posts that will explain the operation that can be performed by stl-tools

The first, and the one which inspired me to write the software, is mirror

This was the first since I originally write stl-mirror (which later became stl-tools) to mirror a STL file generated from FREE!Ship without the necessity to use a full 3D CAD/CAM program.

stl-tools -i source_file.stl --axis=x|y|z [-o dest_file.stl] mirror

This operation mirror (what a surprise ;-) )the object given in the source_file along one of it’s axis (X, Y or Z), writing it to a new file, so also if something is wrong, the original is not lost.

If the -o parameter is omitted, the output file will be named output_[source_file].stl


Jun 072013

After playing a little with stl-mirror, PyCam and a relatively bug STL file, I decided that some operation seems to be way faster if executed from a simple python script instead of a fully fledged CAM program.

With this idea in my mind I rethinked the scope of stl-mirror and I decided to add some more operations to stl-mirror.

Following this decision, I renamed the project to stl-tools to reflect the fact that it will be a somewhat more complete utility to manipuate STL files beyond the mirror operation it started from.

In the process I also created a very basic page on github ;-)


Jun 042013

Since I am in the process to obtain a small CNC machine to mill some parts of my footy boat, I begin to look at the software to use.

Normally I use FREE!Ship to model the boat, and the print whatever I need to build the boat. With a CNC machine anyway, I can mill the hull, the rudder and some other parts, to make a mould or so detail.

The problem is that FREE!Ship only export half of the model (or I still have not figured out how to export the full hull) if you select the STL file format, which are common in the CAM world.

So, after playing a little with freecad, I hacked a small pytho script which load an ascii STL file and generate the mirror of the mesh. This way I have the two half of the hull (or any other part of the model, like the rudder) to import into freecad to do more work (split in various pieces to accomodate the mill working table for example).

It was a funny two hours project for now, let see if the output file are good enough to work on.

May 142013

Short story: when upgrading a production system, always check the release notes of the new version.

Long story.

After the first upgrade of the server following the release of the new Debian stable, I was no more able to send e-mail from my home pc, but I am still able to send from the server itself, which is  running Debian testing, so in the following days of the Debian release, testing got a lot of upgrade as usual.

This upgrade also boost postfix to the 2.1.0 release.

Sending mail from my home pc, then result in the error:

May 11 09:28:22 localhost postfix/smtpd[17094]: connect from unknown[]
May 11 09:28:24 localhost postfix/smtpd[17094]: NOQUEUE: reject: RCPT from unknown[]: 554 5.7.1 
<gianlum@xxxxxxx>: Relay access denied; from=<gian@grys.it> to=<gianlum@xxxxxxxx> proto=ESMTP helo=<galactica>
May 11 09:28:24 localhost postfix/smtpd[17094]: lost connection after RCPT from unknown[]
May 11 09:28:24 localhost postfix/smtpd[17094]: disconnect from unknown[]

It turn out that from this release on, to be able to have a relay (from home I send mail using my server and not the provider’s one), you should put the client restriction in the directive


instead of the old


as always in the main.cf file

I discovered this the hard way, since I was in a hurry to send a mail, and before I can find this change, I tried a gazillion other solutions and also checked for every blacklists in the case the server and/or my provider nerwork were blocked.
So, lessons learned:

  1. Always read the release notes (or at least, check them for the important software)
  2. Do not try massive upgrade past 10.00 pm or you will end to lose sleep and do not solve anything anyway until the next morning
  3. If you need to send a very urgent email, send it before trying a massive upgrade :-D


Mar 062013

I am pleased to announce the immediate availability of the new release of BulbCalculator.

With the 2.1.0 release I introduced some features that I feel was missing from the original version (to name one: load and save of the project) and are the basis for the development of some more new features that can be interesting.  The complete list of the new features are available from the BulbCalculator home page,from which can be also downloaded the software (both win-32 installer and stand-alone version) and source code.

As always I am looking for someone to help package for other linux distribution aside ArchLinux, which already have the package in AUR


Mar 012013

As stated in the previous post, the next version of BulbCalculator is approaching fast.  With the last couple of commits, I introduced the last big feature I’d like to add in the new version (the recent project list), so the last things to do is to fix a little bug (issue #16 on github) and produce a better installer for Windows.

I expect to release the 2.1 version by the end of the next week

Feb 212013

In the last couple of weeks the development on BulbCalculator begin to shape what will be the next version. Some of the limitations of the current version, like the limitation on the page size when printing,  make BulbCalculator less usefull. So, with this  and some other indications from users in mind, I start to work on the first version that will be an evolution of the original software.

So far, other than fix some annoying bugs, there is a (not complete) list of improvements that are already landed in the master branch of the git repository, in no particular order:

  • fixed the print problem
  • added a preferences system, for now for the GUI and the bulb defaults parameters. Other sections will be added
  • added the fron view to the 2d draw
  • merged the 2d views into one view (now top, side and front)
  • merged the two windows with data calculations
  • added a tabbed mode for the subwindows
  • some code clean-up and polishing
  • added a toolbar to which get the 3d resolution level and the choose of the profile to use (to be done)

Along with what already done, I finally find a way to have a load/save function without the need to save all the information about the profile definition in the output file. This will work introducing a local data directory where store the profile definitions downloaded and that will replace the “profile import ” option so to save a project I just have to write in the file the bulb name, the bulb parameters and little more, but not the full profile data.

I defined on github the 2.1 milestone with a short list of what I want to have before the next release.  Of course the list is not closed, so there is the possibility that some other improvements will be added as soon as they came in my mind.


Jan 072013

2012 is gone and a new year is beginning, so what better than write down some projects for 2013 ?

Let’s start

I’d like to complete the first KDE application I am writing and write a little plasmoid. The application is  a smart card / memory card /rfid card reader which I am starting to write with python, we will see what turn out. About the plasmoid, I am still looking for an idea.


I hope to release a new version with some nice features added and maybe try to port it to Qt5, but not immediatly

Other projects

Aside the already mentioned ones, I am looking to learn something mode about the NoSql databases, looking to Cassandra and maybe CouchDb, after I had a look on MongoDb. All this to work on a project I cannot talk about, at least for now.

Another thing I’d like to work on is OwnCloud, server side, but for now I am lacking the time to start (and my Php skills are a little behind, since I am not using very much for now).

There are other things outside the PC world, but these are really not very defined for now, aside my fun with the Footy Class Boat.

I will see by the end of the year how far I will go with these pet projects…

 Posted by at 6:05 pm