Tag Archives: Cool people

Travel, Lisp, etc.

I’m currently visiting with family in the US, will be heading back to home in a few days. The talk in Madison that prompted this trip went fairly well, and I’ve spent the last several days catching up with family and friends – quite nice overall, and beautiful springtime weather!

I’ve not done a lot with FreeCAD so far on this trip; during the ‘work’ segment in Wisconsin I was too busy, and have been trying to treat the second part as more of a vacation. This is, after all, an experiment to see if working as an open source developer can serve as employment, and any reasonable employment must include vacation ;).

That said, there has been a little tinkering here-and-there with some smaller items in FreeCAD, and I’ve been trying to keep abreast of the forum. I suppose a screenshot of the work on editable texts in Drawing hasn’t made it onto the blog yet – some of this work was done on the trip:Screen Shot 2015-05-07 at 12.50.29 pm


Unrelated to FreeCAD; I’ve finally spent a couple afternoons starting to learn some Common Lisp, which I’ve meant to do for a while now. It’s been a very interesting process so far; the language itself has been fun to start learning, but the history behind it is quite interesting as well. This evening, I was reading about interesting uses of Lisp and came across SHRDLU, which was done 45 years ago! http://hci.stanford.edu/winograd/shrdlu/ and then watch video of the real thing https://www.youtube.com/watch?v=bo4RvYJYOzI Amazing!

lisp_cycles_cropped

Refactoring

Today was spent on a few different aspects of the project, with a brief interlude to deal with some external (car) stuff. First thing, I got caught up on emails/forums, then did a bit of shopping*, then on to programming! For better or worse, the changes I made aren’t involved in any new features, and didn’t address any specific bugs that I’m aware of (though, I did find a couple possible sources of bugs). But, I think it was a valid use of time because I learned a bit more about the internals of FreeCAD, and think I’ve also cleaned up those internals to a degree.

In object oriented programming, there’s a distinction between “is a” and “has a” relationships. My project today involved splitting one class into two, to make this particular area a bit more consistent and to allow for the use of one piece of functionality provided by the original class without the other.

Specifically, FreeCAD has several classes descended from a parent class Property, which are used to store various pieces of information to be saved into configuration or project files. These are the things that are modified by the Property Viewer. The refactoring I did today took a descendent of the PropertyInteger class – PropertyEnumeration – and made it instead derive directly from Property and contain a (new) Enumeration object. So, PropertyEnumeration now “is a” Property that “has an” Enumeration.

There are a number of reasons I worked on this, none of them is terribly compelling if taken alone, but to me it fell into a category of “things that I’d want a professional programmer to fix, but that I wouldn’t bother with as a hobbyist”. So, the project for tomorrow is to try out those changes in the Drawing-dev branch (which is where I came across a use case for them), then clean up and submit them for testing if they seem worth the trouble.

Also intend to tie up a couple loose ends in Drawing. I’d like to try a couple different options for constraining the position of the new isometric views, then there’s a bug that causes newly added views to not be scaled appropriately sometimes.

Oh! This evening I went over to the maker space and learned a couple interesting things. First, there’s a possibility that I can get access to some machine tools in town! Second, that it’s possible to print nylon with filament type 3D printers, and that some neat things can be done by designing air bubbles into 3D printed nylon parts. That’s got me thinking about a project that was discussed at South Pole – making a 3D ice printer. I’m sure someone has done it already, but it does seem like a fun party trick regardless.

* As for that shopping; I’ve arranged to buy a monitor (2nd hand local), and bought a 3D mouse (amazon). I’m quite intrigued by these 3D mice, looking forward to having one to play with aside from the obvious need to have one for work purposes.

Aleph Objects Rocks!

For a few days now, I’ve been meaning to post an update here on the general state of this experiment. This afternoon, I received a nudge in that direction in the form of a very generous donation from Aleph Objects, makers of open source LulzBot 3D Printers! Thanks so much!

lulzbot logo

For the last week or so I had been considering reducing the time spent on this stuff, as the numbers just weren’t adding up. Now though, it’s clear that I can keep at it for a while longer!

With that in mind, a few thoughts about the experiment so far, in no particular order:

  • The sense of accomplishment that goes with a commit to an open source project is amazing! Open Source gives a real sense of connection with the customer, and there can be an aspect of instant gratification too since it’s so easy to share changes.
  • Although I really like my somewhat-outdated MacBook Pro, laptops aren’t the best ergonomically for all day work. So, I intend to arrange a better workspace, starting with a regular desktop monitor (which I suppose implies a desk!).
  • Keeping abreast of the FreeCAD forum, and updating this blog, takes quite a lot of time! For some reason though, it still feels a bit weird to admit to spending time on work-related online reading, posting, etc. In a regular job I wouldn’t think twice about accounting for equivalent time spent in meetings or on conference calls, but for some reason the OSS equivalent doesn’t feel the same.
  • Especially considering how little effort I’ve put in to publicity of this project, I think this is a viable way to spend a few weeks/months in a productive and fulfilling way. That said, I do need to find a Real Job, and it’s hard to get motivated to work on that while I’ve got so much other fun stuff to do! Fortunately, things on that front are still moving forward, stay tuned.
  • I’ve mentioned the Dunedin maker space, DSPACE, on here only briefly. It’s a great resource, and I’m hoping to get a bit more involved with that as the Drawing workbench gets a little more wrapped up. There are a few 3D printers available at DSPACE, so I’m hoping to get a bit more hands-on experience with drawing up parts in FreeCAD to be printed on them.
  • Getting back to the Aleph Objects donation – as a former Boulderite, I’m super proud of the Colorado tech scene! Thanks guys!