Ruby gem error

June 18th, 2006

I’ve been strug­gling with a strange error while installing mon­grel (a ruby web­server) onto my own home server today.
When run­ning

$ sudo gem install mongrel

I got the fol­low­ing error:

Building native extensions.  This could take a while...
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:1
ERROR:  While executing gem ... (RuntimeError)
    ERROR: Failed to build gem native extension.
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13 for inspection.
  ruby extconf.rb install mongreln

Results logged
to /usr/lib/ruby/gems/1.8/gems/mongrel-0.3.13/ext/http11/gem_make.out

The answer was simple: i forgot to install the ruby1.8-dev pack­age! Damn me, I lost a lot of time over this issue, so if some­one needs such info… here it is!

7 Comments, tagged with Rails, Ruby

Using inkscape to design a phone receiver

June 3rd, 2006

Yesterday I had to design a new logo for a prod­uct that’s going to be launched on the market by a friend of mine. Since it was a VoIP-related ser­vice, I thought that the logo could include some­thing like a phone receiver.
I can’t show you the logo itself, since the prod­uct hasn’t yet been launched, so let see this post like an inkscape tuto­r­ial where I explain how to design a phone receiver. Maybe, when the prod­uct will be ready, I’ll made an entire tuto­r­ial about the logo design.

Phone receiver modelThe first thing we need is an image that we’ll use as model. I used the image you can see on the right.

Note that’s a PNG with an alpha chan­nel, so Inter­net Explorer users could have prob­lems to see it. It’s not impor­tant, by the way, to have a per­fect shaped model.
So, open inkscape, create a 400x400px doc­u­ment (File->Document Preferences->Custom Canvas) and then import the model (File->Import…).

After this, create a rec­tan­gle (press F4 or click on the rec­tan­gle icon) that has, more or less, the same size of the image and put it under the model (if it goes over, press PgDown to put it down).

Create another rec­tan­gle and cross it with the other rec­tan­gle in this way:

Then select both the rec­tan­gles and press Ctrl + - or click on Path->Difference. In this way you should get some­thing like this:

Now, by keep­ing selected the result­ing rec­tan­gle, edit it as a path by using the path trans­former tools (press F2 or click on the icon on the tool­bar).
Select the upper and bottom left cor­ners (hold shift pressed to select both), then add three new nodes by click­ing twice on . Then select the inter­nal nodes (the nodes that should stay with­ing the phone receiver) and add a new node. You should get some­thing like this:

Now select all the left-​side nodes and make selected nodes smooth by click­ing on the right icon ). Then move the nodes near the model shape to have some­thing that has more or less the same shape. In the end, you should have this:

Now move the model away (keep it near the shape you cre­ated now to use it as a ref­er­ence). Now, make smooth all the remain­ing nodes and try to model them using the lines that appear when you select them in order to have some­thing like this:

A tip: for the inter­nal nodes, keep that lines really shorter in order to have just a rounded corner. If you need more pre­ci­sion, add new nodes where you think you need them (I added other two nodes on the top and on the bottom of the phone receiver).

So now remove the model and you’ll have your phone receiver ready to be used!

0 Comments, tagged with Graphic

Microblogging

  • Funny thing: yesterday night I had an idea about a good blog post I could make. But now I completely forgot what that idea was about. 11 hours ago #
  • I think pownce has a little issue with caching since if I delete a message and I write a new one, it doesn't appear in my homepage. Nov 16, 6:34pm #
  • I didn't know that something like [(x,y) for x in range(10) for y in range(x)] was possible in Python. Nov 16, 3:45pm #
  • I'm about to go to the local LUG dinner: pizza for everyone. Nov 14, 9:15pm #
  • Lately I've been very interested in fast data structures with minimum memory usage. Just surprised to find out that list comprehension in Python are sometimes slower for large quantities of data than classic for loops. Still trying to understand why (if someone has a clue, please let me know). Nov 12, 12:44pm #
  • So wordpress was silently modifying HTTP request headers and I was getting a 400 when fetching Pownce RSS. Now everything works as expected on my blog, shame on WP. Nov 9, 3:58pm #
  • Experimenting with document language identification. Nov 6, 10:23pm #
  • So looks like I finally found an interesting topic apart from web development: information retrieval. Nov 3, 5:13pm #
  • Planning a trip to Bologna in December Nov 1, 5:24pm #
  • After today, I want to go as far as I can from Italy. Oct 29, 11:49am #

Search


« Authored by Giuliani Vito Ivan »