Fighting with computers

Computers are not always friendly.

Wednesday, August 21, 2013

Building a mini i3 LC

The first Prusa i3 I built used a 6mm-thick acrylic frame. It worked ok, but when I saw sgraber's design I thought it will add a lot of rigidity to the acrylic frame. I later bought an aluminium frame and I forgot about the matter.

Recently I came across a local business laser cutting acrylic and I decided to give it a go with a similar but smaller design. One of the things I have observed about 3D printers is that they tend to be big. Having a large surface for the print area is nice because you can print big parts, but you pay the price of the printer being bulky.

As many of the things I print at home are small parts, I thought I would be a good idea to have a small printer at home and keep the larger ones for larger printers I might have at my office. Of course it is still to be seen whether things will work out this way or not.

So I ended up building this smaller sibling of my home Prusa i3.

These are the sizes of the rods I have used: 
  • X-axis: 2x265mm smooth rods
  • Y-axis: 2x270mm smooth rods, 2x290mm M8 rods, 3x130mm M8 rods, 1x210mm M8 rod.
  • Z-axis: 2x255mm smooth rods, 2x195mm M5 rods.
All smooth rods are 8mm diameter. 

I designed a bushing holder for this carriage to needs to be above the rods a bit more than usual.


With the compact extruder in the picture I get 100x120mm of print-head travel. I might change the extruder for a more compact one to get 120x120mm.

The frame seems rock-solid.

Tuesday, August 13, 2013

Flipping a vector drawing in Java

An ongoing project required some 2D vector paths to be mirrored. I was programming in Java and using Area object to represent these paths. Though the obvious thing was to do this myself, I turned to the libraries for help.  I have not used AffineTransform before, but it seemed the right tool for the job. Unfortunately, either my understanding is shrinking (which may well be the case) or the existing documentation is not good enough.

After trying several matrices from different posts online I realized I was not getting any closer to a good solution. The main problem is that while you can mirror an Area object with just one matrix (-1,0,0,1,0,0) you can't avoid the translation that will happen at the same time.

The solution to my problem ended up being quite simple (I wanted to mirror the image in the X axis).

// object a is the area I want to flip
AffineTransform at = new AffineTransform();
at.scale(-1,1);
Rectangle r = a.getBounds();
at.translate(-( r.width + 2 * r.x ), 0.0);
a.transform(at); 

This way I create an affine transform that using scale method will create the mirrored image that later will be restored to its original location by means of a translation. I wish I had found something like this before.

Tuesday, August 06, 2013

Suspended G+ account for no reason?

I woke up this morning to a frozen G+ account. I was warned my account was blocked due to infringing user policies and that I was no longer able to post until fate was determined. I was offered all sorts of informative pages about what those policies are about but none about what I might be doing wrong. It was vaguely said that I was spamming.


Not owning a business to advertise and not knowingly advertising other businesses, beyond the casual comment of that shop seems to have good prices to friends, I was puzzled. Whether the issue was triggered by a user complain or a bot detecting some offending content, I was not told.

I was just told that some content was against Google+ policies but not flagging which that content was I was left to my own devices, in the dark. It is as if the police will arrest you saying that you know why we do this without explaining further.

Being convinced that this was a mistake and that I was not, knowingly, spamming anyone (in fact I hate spam), I decided to risk my fate and ask for my account to be reviewed. Still, I would have felt more comfortable if some detailed explanation of the "wrongdoing" on my side. If some of my content was flagged, I might find it easier to remove it, but asking them to review the content, as it was, may be a bad thing is something they considered spam is not removed. Not giving the user the information to act upon is helping no one here.

But to my surprise, and this time without any type of warning message on my screen, my account was back on-line and I was able to make posts again. I am glad that at least the trouble was not long for me, but I still wonder what trigger it.

From now on I guess I will refrain from posting links to commercial sites on G+, not that I have done that so often though and will keep my fingers crossed. But in the long run, I am going to keep this issue rolling in my mind to decide whether I want to pull the plug myself on a system that may ultimately do that for me for no reason in the worst possible time for me. By the way, this morning I had scheduled a hangout with a business partner that did not happen, as you cannot use hangouts if your account has been suspended ... think about it.

And as for Google doing no evil, I guess you can do better, and at least signaling us users what you think we did wrong. In my case, as I removed no content, I tend to think it was a mistake on Google's, but I cannot be sure as they won't talk.