draw freely
Back to Inkscape.org
 
July 18, 2014


Gail Carmichael

This past June, I designed and taught an introductory programming course through Girl Develop It! Ottawa called Learn to Program With Python.  It was a two-part course hosted at Shopify and geared toward complete beginners.  I wanted to give a solid foundation in four core programming concepts —  variables, conditionals, iteration, and functions —  using the visual context of Python's turtle module, then reinforce these concepts by building up a simple text adventure game.


You can check out the outline and delve into the detailed contents of the course here.

Overall, I'm pleased with how the two three hour sessions went.  Not only did I think that the material was about right for the length of time, it served as a test run for my arts and social science class.  I am hoping to use Turtle this fall to get my students to learn the same core programming concepts.

One negative aspect was that we had a mix of experience in attendance.  Generally those who weren't beginners would have not benefited from the course as much; I truly wanted to start from the very beginning.  Deciding how to pace the course is difficult when some students already know how to program, and just want to learn Python in particular.  It is impossible to please everyone.  That said, if I prepare myself and the TAs better for this in the future, we should be able to come up with extra challenges and things to try for those with more experience.



The general feedback was positive, and the sense of community both nights was amazing.  Alexandra sums it up well!  I think our next courses will start to delve into the core Girl Develop It tracks, which will please those with more experience.  First we need to figure out what to do about setting ourselves up properly as a foreign Girl Develop It! chapter in Canada.  I hope it doesn't take too long because it's clear there is a need for more opportunities to learn to code!

I would like to leave you with a picture one of the more experienced students Carolyn drew during the course.  She was actually a star student of mine this past year at Carleton, and came this course for a fun way to learn some Python.



The coolest part is that she showed her daughter this picture as the turtle drew it, and the daughter thought it was like magic.  Hopefully Carolyn can turn that excitement and wonder into a desire to learn some programming! :)

Thanks a million to the wonderful TAs who came out to help with this course, and to Kristyn for taking the wonderful photos you see above and in the Meetup event.

July 18, 2014 11:07 AM

July 02, 2014


Gail Carmichael

The tenth annual Games, Learning and Society Conference, held this past June in Madison, WI, featured a panel on women in gaming.  Moderated by games-journalist-turned-grad-student Amanda Ochsner, the panel featured some heavy hitters: Elisabeth Gee, Deborah Fields, Yasmin Kafai, Colleen Macklin, and Mary-Margaret Walker.

The discussion was mainly focused on how to get girls interested in both game design and computer science (but not necessarily both).  Following is a summary of some of my notes from the panel.

Image modified from original via Wikimedia 

How can educators create better mentoring opportunities for young women?

The first answer was a great one: be visible, and be outspoken.  Show why this is such an exciting time to be in games.

The experience of some panellists is that no matter how they set up workshops featuring game programming, it's always the boys who sign up.  We need to talk to teachers and actively talk to girls, personally inviting them to come.  Perhaps girls-only groups are needed (that's what I've been doing in my own outreach!).

One panellist pointed out that she was able to attract girls by featuring stories, music, and animations rather than games and programming directly.  The students don't even realize they are programming at first.  In another panellist's workshop, attendees would work on e-textiles; in this case, marketing must be done very carefully as both boys and girls hold onto stereotypes they aren't even aware of ("no sewing, circuitry or programming required").

Another challenge is that many still hold onto stereotypes about what it means to be a gamer; supposedly, only uncool gamers take game design classes.  At ASU, they are trying to infuse game design into journalism.  Foregrounding the subject matter that games are about seems to be a successful way to attract more women.

How can we approach teaching game design in ways that support a diversity of ideas and process?

In a sense, the discussion surrounding this question presented a solution to the previous one.

One of the most interesting ideas was that all art is technical - there are always technologies to learn that you use to be creative.  Hence, making games, and all the technology behind that (including programming) could be considered an arts subject.  The technical element is simply something you need to learn in order to effectively express yourself.

How might we engage young girls in game design, programming, and technology at earlier ages?

Something to remember: "We can't do it all, and we can't do it all in programs." Nonetheless, it is not difficult to find really good tools to help design programs to engage girls.  We can engage kids in actively designing and making things, and in making connections to things they care about.

One greater issue is the poor quality of many games designed for girls.  According to panellists, there is nothing in these games to get girls interested in computing and other technical pursuits.  The games have a low level of complexity.

We are often trying to get girls interested in game design and computing at the same time.  Perhaps, panellists pointed out, we should sometimes keep these types of outreach separate.  Learning about technology, for example, doesn't always have to be done through game design.  There are many other great opportunities like e-textiles.  At the same time, we don't always have to be trying to get girls interested in programming and computer science when we teach them game design.

Remember that each kid is already designer ("I designed my first games during recess").  That's a start.  Now let's talk about how games are actually made.  In the 1980's, you typed game code from a magazine to be able to play.  Everyone understood how programming worked because we had to.  Can we make programming not such a special thing?

---

For more, see my conference notes on this session.

July 02, 2014 03:22 PM

June 29, 2014


MenTaLguY

Just a note for anyone still pointing to the RSS feed: I migrated the blog to exclusive Atom syndication some time ago. Please point your feed reader or syndication service at http://moonbase.rydia.net/index.atom intead.

June 29, 2014 10:00 AM

June 18, 2014


Gail Carmichael

When I attended the 2014 Games, Learning and Society Conference (GLS10) in beautiful Madison, Wisconsin, I did not expect to engage much with the topic of stories in games.  True, it's a hot topic these days, but I didn't think it would show up much at this venue.  Thursday's keynote speaker Scot Osterweil proved me wrong.


Image via Calico Spanish

Osterweil, Creative Director of the Education Arcade at MIT, titled his talk "It's Not About the Game."  Though I am not confident I know for sure what he meant by this, I have two guesses: it might be related to Eric Zimmerman's Games Are Not Good For You talk, which Osterweil discussed at length; or, it could be a call to focus on the importance of narrative within games.

In part, Zimmerman's talk was trying to say that we need to just let games be games.  We should not be instrumentalizing them for other purposes (like, say, education?).  This made Osterweil realize what we are really doing as educational game designers.  We are trying to change people with technology.  In a sense, it's not unlike the reprogramming scene in A Clockwork Orange, he points out.  Is this what games are supposed to be all about?

Games are supposed to be about play, and play is all about agency.  It's what we do when we don't have to do something else.  We don't do it for some specific purpose —  not even education.  Play is about freedom: freedom to explore, freedom to fail, freedom of identity, and freedom of effort.  How many educational games actually include all of these freedoms? No game can make you play harder than you want to.

You can't just add "fun" to a math game.  If you don't find something fun to begin with, you shouldn't make a game about it.  Games are much more about building conceptual frameworks and preparing for future learning - not instructing something.

So what about narrative?

Osterweil says he grew up wanting to be a storyteller.  He noticed that the Greeks had a word, agon, that was relevant in multiple areas important in Greek culture.  Agon means competition, which has context in games (i.e., competing in the Olympics) and stories (conflict in theatre).

When we go into a game, we enter as a contestant: "we willingly submit to arbitrary rules and structures in pursuit of mastery, only if we can continue to be playful".  In other art forms, like film and theatre, we are spectators (though possibly not passive ones).  We construct knowledge differently with these two roles, and with stories in games, we can make them overlap.

In addition to being contestants and spectators, we can also be creators.  Perhaps where all three overlap is where the most powerful educational opportunities lie.

Osterweil emphasized that we as game designers need to start thinking more about the affordances of story and gameplay.  We need to start thinking more about the ways narrative is engaging our players.  Beyond this, when making games, we have to care about it ourselves; we can’t just think about what the kids want or else we'll end up giving them a creepy tree-house.  Both the creator and consumer of narrative need to be leaning forward in interest.

To read more about the keynote, you can look at my raw conference notes, the collaborative conference notes, Sam Potasz's blog post summary, and Donelle Batty's Storify of the second conference day.

June 18, 2014 11:48 AM

June 13, 2014


Kees Cook

In 2009, I reported this bug to glibc, describing the problem that exists when a program is using select, and has its open file descriptor resource limit raised above 1024 (FD_SETSIZE). If a network daemon starts using the FD_SET/FD_CLR glibc macros on fdset variables for descriptors larger than 1024, glibc will happily write beyond the end of the fdset variable, producing a buffer overflow condition. (This problem had existed since the introduction of the macros, so, for decades? I figured it was long over-due to have a report opened about it.)

At the time, I was told this wasn’t going to be fixed and “every program using [select] must be considered buggy.” 2 years later still more people kept asking for this feature and continued to be told “no”.

But, as it turns out, a few months later after the most recent “no”, it got silently fixed anyway, with the bug left open as “Won’t Fix”! I’m glad Florian did some house-cleaning on the glibc bug tracker, since I’d otherwise never have noticed that this protection had been added to the ever-growing list of -D_FORTIFY_SOURCE=2 protections.

I’ll still recommend everyone use poll instead of select, but now I won’t be so worried when I see requests to raise the open descriptor limit above 1024.

© 2014, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.
Creative Commons License

June 13, 2014 07:21 PM

June 06, 2014


Gail Carmichael

After a one-year hiatus, I ran my all-girls mini-course on computer science and games again this past May.  Along with a picture of my lovely class, I wanted to share this year's pre- and post- survey results.  Note that while I compare some numbers to past courses, I did not post data from 2012 and there was not course in 2013, so neither year is mentioned.



Pre-Course Survey Results

Before we begin with our first class, I ask the girls to fill in a survey to try to capture their attitudes toward computer science.  Naturally, I hope to see a general improvement in these attitudes by the end of the course.  Here are some of the more interesting results.

"I am confident that I understand what the field of computer science is."

  • Strongly agree: 1
  • Agree:5
  • Netural/don't know: 11
  • Disagree: 2
There was less confidence about what the field is than in some previous years (e.g. 2010, where 50%  agreed to this statement in the pre-course survey).

"I would consider computer science as a good career for women in general."

  • Strongly agree: 5
  • Agree: 14
 Despite the lower confidence, there was not a single neutral response for the first time.

"I would consider computer science as a good career for me."

  • Strongly agree: 5
  • Agree: 5
  • Neutral/don't know: 9
This is the highest number of any type of 'agree,' let alone 'strongly agree.'  Could it possibly mean that the widespread efforts to get young people (especially girls) into computer science are actually starting to work? I hope so!

Post-Course Survey Results

I ask many of the same questions after the course, as well as some new ones.  Here are the most interesting responses.

"Are you glad the course was just for girls?"

  • Yes: 8
  • No: 1
  • I'm happy as long as I'm not the only girl: 10
We did our surveys before we got together with the other (mostly male) class to share our games and eat pizza.  It would be interesting to see if their responses would change after that event.

"I enjoyed learning about what computer science is really all about."

  •  Strongly agree: 12
  • Agree: 6
  • Neutral/don't know: 1
This is a great result, even considering how many came to the course open to the idea that computer science might be interesting.

"I would consider computer science a good career for me."

  •  Strongly agree: 8
  • Agree: 6
  • Neutral/don't know: 5
This is the best year-to-year result for this question that I've seen.  Even though 2011 was a good improvement over 2010, this is better still.  It is also wonderful to see so many responses move up (neutral to agree, etc).

"I am more likely to try computer science in high school or university after taking this course, or this course has confirmed my desire to do so."

  • Strongly agree: 8
  • Agree: 10
  • Neutral/don't know: 1
Fantastic.  I only hope that their next experience with CS is a good one.  (I hate that I have to worry about that!)

Summary


This year's course was not changed drastically from previous years.  We spent some more time in the lab, and had more guests talk to them.  I also skipped the section on women in the industry.  Although one person said she wished I had covered that topic in her survey comments, I have to wonder if skipping it contributed to this year's success.  (I previously wrote a bit about messaging in these sorts of workshops and courses.)  Either way, I am thrilled, and can't help but think that maybe these sorts of programs are finally going to make a difference soon at the post-secondary level.

As usual, you can read more about the course here, or take a look at the materials as presented to the girls.

June 06, 2014 03:11 PM

May 27, 2014


Gail Carmichael

This year's Go Code Girl event, which focused on programming with Python and the Raspberry Pi, was a great success.  The impact surveys the girls filled in at the end of the second day really help illustrate this.  The results are summarized in the image below, and again in text below that.

(If you'd like to take a look at the slides etc, you can do so here, keeping in mind that pacing and interaction with students is not evident from slides alone.)


I enjoyed learning about what computer science is really all about.
  • Neutral/don't know: 2
  • Agree: 16
  • Strongly agree: 9
I enjoyed leaning how to program (or learning to do new things with code if I already knew how to program).
  • Neutral/don't know: 1
  • Agree: 14
  • Strongly agree: 12
I enjoyed playing with the Raspberry Pi.
  • Disagree: 1
  • Neutral/don't know: 3
  • Agree: 15
  • Strongly agree: 8
My confidence in my ability to use and understand computers has increased.
  • Strongly disagree: 1
  • Disagree: 1
  • Neutral/don't know: 7
  • Agree: 16
  • Strongly agree: 2
My view of computer science as something to study or as a career has become more positive.
  • Disagree: 1
  • Neutral/don't know: 6
  • Agree: 15
  • Strongly agree: 5
I am more likely to consider taking computer science and/or programming courses in the future because of this workshop.
  • Disagree: 2
  • Neutral/don't know: 5
  • Agree: 14
  • Strongly agree: 6
I thought Python was a good choice for this workshop.
  • Neutral/don't know: 3
  • Agree: 21
  • Strongly agree: 3
I thought the Raspberry Pi was a good choice for this workshop:
  • Disagree: 1
  • Neutral/don't know: 5
  • Agree: 14
  • Strongly agree: 7
I felt the workshop content was clear and well explained.
  • Strongly disagree: 1
  • Neutral/don't know: 3
  • Agree: 14
  • Strongly agree: 9
I felt the workshop had the appropriate level of interactivity.
  • Disagree: 1
  • Neutral/don't know: 2
  • Agree: 15
  • Strongly agree: 9

May 27, 2014 03:36 PM

May 22, 2014


Inkscape Tutorials

EPS import works out-of-the-box for most inkscape users on Linux, however, on Windows EPS support does not work by default. It is possible with manually installing software called ghostscript, and tweaking a few settings. This tutorial explains in detail how to get EPS import working for Inkscape for windows.

May 22, 2014 09:46 PM

May 19, 2014


Inkscape Tutorials

Here is great tutorial on creating simple water droplets in inkscape. It demonstrates the use of the the ellipse tool, basic node editing to create shapes and using gradients to emulate light and depth.

May 19, 2014 03:21 PM

May 13, 2014


Gail Carmichael

On the last two Saturdays of March, a group of high school girls came to both Carleton University and the University of Ottawa to learn about computer science and try their hand at coding.  This was our second annual Go Code Girl event, and thanks to Python's turtle module and the Raspberry Pi, it was even better than last year's!


Last year, we based our one-day workshop on Processing (postmortem here).  When my colleague from Ottawa U, Nathalie Vallières, suggested we try using the Raspberry Pi for our two-day workshop this year, I was both excited and scared.  Excited because I'd always wanted to try out the Pi, but scared because any time you introduce hardware, things can (and will) go wrong.

Biting the bullet, our School of Computer Science ordered some Pis to go with the set that Ottawa U already had. We decided to teach Python using the turtle module on the first day of the workshop at Ottawa U since Python seems to be the most popular language for the Pi.  We would then focus on the Pis themselves on the second day of the workshop at Carleton. In the end, both days ended up going very well.

On the first day, after introducing what computer science was all about, we started drawing with our new turtle friend.  Students typed in a minimal program in IDLE and ran it to see the magic happen.  From there, we introduced basic programming concepts one by one, leaving time in between to try some challenges or just experiment.  First came repetition, then variables, and finally booleans and if statements.



On day 2, we had the girls set up the Pis in the computer lab we normally run tutorials in (having a projector in there was really nice).  The monitors there had HDMI inputs; perfect for the Pis.  The keyboards and mice were easy to "steal" for the Pis as well.  The only problem we ran into was the power outlets mounted on the desks: sometimes, the Pis didn't seem to like the level of power coming from them.  So some girls just plugged the USB cable powering the device directly into the monitor.  Smart.




We started with a lesson on using the command line.  I was worried this would be dull for them, but starting with a pictorial representation of how they could feel like "movie-style hackers" with the command line probably helped.  They loved doing things manually at the prompt and seeing the results in the GUI file browser! I was shocked but thrilled.




After playing with the command line, I walked them through a few of the steps needed to make a text adventure game.  To be honest, I wish we had more time for that.  But they seemed to enjoy it anyway.  Once again, we encouraged them to play and experiment, so if they wanted to play with Scratch or look around on the Pi instead, that was ok too.

All in all, I'm very happy with the formula we came up with this year.  If you'd like to see the slides and other resources I posted for the girls, check them out on my website.  If you've ever done a workshop similar to this, I'd love to hear about it in the comments.

May 13, 2014 03:04 PM

May 12, 2014


Inkscape Tutorials

Butterscotch Shenannigans is a small (2 person) indie game developer from Saint Louis with a bunch of highly rated games available for iOS, Android and PC.

bscotch

The awesome thing about this indie shop is that they use Inkscape for the creation of all their in-game visual assets. A few of their recent games include:

Quadropus Rampage

A hilarious epic Endless Roguelike Brawler with awesome art made in inkscape:

Runner 2013-05-22 19-35-05-38


Towelfight 2 : The Monocle of Destiny

A Twin Stick Arena Adventure with art also made in inkscape:

Forest 1136x640


 

Crashlands

They also have a new game in development called Crashlands, which is a massive mobile crafting/survival game.
alltogether snipped_newtiles

as an added bonus, Sam (one of the devs) also uploads narrated time-lapse videos of how he creates these assets in Inkscape:

May 12, 2014 10:15 PM

In this tutorial, you are going to learn a technique in inkscape to create a soft, feathered background.

demo

The beauty of this technique comes from the fact that it relies heavily on clones, and live path effects. You spend a little time rigging up the effect, and then you can fluidly change the clone originals to update the result.

A bit confused? Just follow the steps, and hopefully everything will become clear!

Spawn a Spectacular Spiro

First up, we need to draw a curve with 5 points, and add the Spiro path effect to make it nice and smooth.

Detailed Steps:

  1. Draw a Curved Path
    Using the pen tool, draw a curved path with 5 points. Make sure that all segments are curves.
    g11426

  • Open Path Effects
    Open up the Path Effects dialog using Path > Path Effects
    g11436

  • Add New Effect
    Making sure your path is still selects, click on the + icon at the bottom of the Path Effects dialog to add a new path effect to the path.
    g11446

  • Add Spiro Effect
    In the Add Path Effect dialog that appears, choose the Spiro Spline option, then click the Add button.
    g11457

  • Gaze at Spiro
    Your curve should look a lot smoother now; that is the awesomeness of the spiro.
    g11466
  • Taper the spiro with pattern on path

    Next up, add a triangle “brush” to our spiro curve using the Path Effect Pattern on Path.

    Detailed Steps:

    1. Draw a Triangle
      Using the pen tool, draw a triangle
      g11667

  • Copy to Clipboard
    Select the triangle, and copy it to the clipboard using Edit > Copy. After copying it to the clipboard, feel free to delete it. (or keep it if you are sentimental about your triangles)
    g11658

  • Add Pattern on Path
    Like when adding the spiro path effect, open the Path Effects dialog, click on the + at the bottom to add a new path effect. This time, choose Pattern on Path from the dialog, then press the Add button
    g11650

  • Paste the Triangle
    In the path effects dialog, Click the clipboard icon to paste the triangle we copied in step 2. The triangle is the pattern (“brush”) we are putting on our path (the spiro).
    g11639

  • Admire Tapered Sprio
    your tapered spiro should look something like this.
    g11618
  • Unset the original

    In this phase, we unset the fill and the stroke of the tapered curve that we are going to clone later

    Detailed Steps:

    1. Unset Fill
      Right click on the “None” label next to fill in the bottom right corner, and choose “Unset Fill” from the menu that appears
      g11849

  • Unset stroke
    Right click on the black box next to stroke in the bottom right corner, and choose “Unset Stroke” from the menu that appears
    g11824

  • Bring in the Clones

    Next, we need to clone our path, move the clone away from the original, change the colour, and duplicate it several times.

    Detailed Steps:

    1. Select Path
      Using the select tool, select the path.
      g11209

  • Clone Path
    Clone the path once, using Edit > Clone > Create Clone or ALT + D
    g11219

  • Move Clone
    Move the Clone away from the original to a different part of your drawing
    g11227

  • Change Clone Colour
    Change the colour of the clone either with the palette or the Fill / Stroke dialog. Note that at this point only the clone should change colour. If both objects change, you are likely changing the colour of the original
    g11234

  • Duplicate 30X
    Duplicate the coloured clone 30 or so times using Edit > Duplicate or CTRL + D
    g11245

  •  Jitter, jitter, jitter, those clones

    In this phase, we are going to use the tweak tool to jitter the position of our 30 clones, as well as jitter some the saturation and lightness values of the clones.

    Detailed steps:

    1. Select all 30
      Using the select tool, select all 30 of your clones. (the easiest way to do this is to click and drag around the clones.)
      g4303

  • Tweak Tool
    Switch to the tweak tool by clicking the tweak tool icon from the toolbox.
    g4311

  • Choose Move objects Mode
    From the Tweak tool’s Tool control bar, choose the Move Objects mode:
    g4319

  • Click n Drag
    Now click and drag the tweak tool over the clones and watch them bounce around. You may need to play with the Width and Force values of the tweak tool. Note also, that the selection outline of the objects is usually not shown when in the tweak tool (glance at the status bar to confirm you, indeed, have them selected). Your end result should look something like this:
    g4328

  • Lower opacity
    With the 30 clones still selected, open the Fill / Stroke Dialog, and lower the opacity of the clones. In my example, I chose a value around 30%.
    g4446

  • Tweak the colours
    Still, with the 30 selected, switch back to the tweak tool, and this time set the mode to Jitter Colours. Then make sure the only 2 values checked  / toggled are saturation and lightness. Note that in the below example (because the inkscape window is smaller) the channels are hidden in a dropdown. In a larger window they will show as toggle buttons in the toolbar.
    g4429

  • Click n Drag (again)
    As with step 4, click and drag over the clones and watch their colours change slightly. If the change too much, consider tweaking the Force value
    g11050-6

  • Where the magic happens

    This is the phase where we play with the original that all our clones are based off, as well as our triangle “Brush”.

    Detailed Steps:

    1. Change to Node tool
      First, select the Black original , and change to the node tool. The familiar node editing handles should appear
      g4430

  • Play with the spiro
    Play with the nodes of your spiro to make a better curve. If you have done all the previous steps correctly, your blue creation should update with the changes to the black original path. Play around til you get something that you like.
    Click to view slideshow.

  • Edit pattern Source:
    Click on the Show pattern Source button in the Path Effects dialog, and somewhere on the inkscape canvas, your triangle should appear (you may need to zoom out to see where it appears. if it is far from your drawing, select all 3 nodes and move it closer.)
    g4421

  • Now, using the node tool, edit the triangle shape, adding and moving nodes. Your changes should update as you go on the black original path, and the blue clones. Magic, huh?
    Click to view slideshow.
  • Finishing off

    Here we duplicate our 30 clones a bit more, rotate each group a bit, and tweak the opacity of each group

    Detailed Steps:

    1. Group your 30 Blue clones together   image8945

    2. Now duplicate the group about 2-3 times, and rotate each one a bit, and play with the opacity of the groups:
      image8978

  • Now, draw a rectangle over the area, and use a clipping path to create your nice square background:
    image8989 image9000
  • Keep Playing

    Remember, that you can still play with the black original path, and your triangle brush path to tweak and change your background even more:

    Click to view slideshow.

    May 12, 2014 07:07 PM

    May 09, 2014


    Inkscape Tutorials

    Here is a great tutorial on how to create a decal / sticker with inkscape. It is a good explanation of how to use the star tool in inkscape, how to align objects, and some of the advanced techniques of the text tool, including kerning and putting text on a path (creating curved text)

    20

     

    May 09, 2014 03:47 PM

    May 07, 2014


    Kees Cook

    The Linux Security Summit is happening in Chicago August 18th and 19th, just before LinuxCon. Send us some presentation and topic proposals, and join the conversation with other like-minded people. :)

    I’d love to see what people have been working on, and what they’d like to work on. Our general topics will hopefully include:

    • System hardening
    • Access control
    • Cryptography
    • Integrity control
    • Hardware security
    • Networking
    • Storage
    • Virtualization
    • Desktop
    • Tools
    • Management
    • Case studies
    • Emerging technologies, threats & techniques

    The Call For Participation closes June 6th, so you’ve got about a month, but earlier is better.

    © 2014, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.
    Creative Commons License

    May 07, 2014 06:31 PM



    Inkscape Tutorials

    In addition to the @inkscapetuts on twitter, the inkscape tutorials blog is now also on google+. Going forward, both the twitter and g+ streams will be updated with all the new posts that show up here on the blog. So if you prefer to use either of those services, follow us there.

    Speaking of google+, there is also the official inkscape google+ page, which features news and updates from the inkscape project. Also, there is the inkscape community on google+, that has tutorials, a gallery, and general inkscape posts and discussions.

     

    May 07, 2014 01:51 PM

    May 06, 2014


    Inkscape Tutorials

    Here is tutorial that covers some awesome text tricks with inkscape

    May 06, 2014 07:10 PM

    István Szép from Pesto Design is running another inkscape live drawing event. This event is titled “How to draw on a photo”. Everyone is welcome to watch and participate. Go to the Facebook event page to see all the details on when and where. The first live drawing event, character design in Inkscape, is also available to watch on youtube.

    livedrawing2

    May 06, 2014 05:21 PM

    Here is an amazing video tutorial on character design in Inkscape byIstván Szép from Pesto Design

     

     

     

     

    May 06, 2014 05:13 PM

    May 01, 2014


    Inkscape Tutorials

    Here is a detailed, yet simple guide to creating a typography poster in inkscape

    creatingtypography

    May 01, 2014 03:11 PM

    April 30, 2014


    Inkscape Tutorials

    Here is a neat little trick i just discovered. These designs are just done using the Inkscape spiral tool, and a dashed stroke! Once you try it out, be sure to leave a comment showing off your spiral design!

    1

    How it is done:

    Step 1. draw a spiral using the Inkscape spiral tool, and add more turns to your spiral  (i changed from 3 to 20):

    result

     

    Step 2. In the fill and stroke dialog, choose the Stroke style tab. Then bump up the stroke width (i chose 7px), and change the Dashes to something non-solid.

    fillstroke

    Step 3. Experiment! change the stroke width, dash style, and number of turns of the spiral:

    experiment

    If you want to see the settings required to make the above designs, download the SVG from the openclipart library

    April 30, 2014 09:46 PM

    Here is a quick (less than 3 minute) video that covers 5 nifty inkscape features that you may not know about. It is a super-quick yet super useful little video for new and veteran inkscapers alike.

    5-simple-inkscapetricks

     

    April 30, 2014 10:39 AM

    April 29, 2014


    Gail Carmichael

    I did it.  I survived my first year of teaching.  Exams are marked, and grades are submitted.  And while I still have students concerned about their results to meet with, I am finally able to breathe and spend some time reflecting on my experience.

    [image via WikiMedia]

    Over the two semesters of my first year of teaching, I taught five courses, mostly for the first time.  I had more than 1000 students and around 30 TAs.  I answered countless emails and forum posts.  I assigned 32 assignments.  I gave three midterms and 7 quizzes.  I made hundreds of slides, sometimes based off of existing content, and sometimes my own.

    Needless to say, a large part of this job is management — of both time and people.

    It was challenging at times, there is no doubt about that.  I had to relearn a lot of the material I was teaching.  This lead to many evenings spent on preparation, especially during second semester when I had three courses I hadn't taught before.  There were times I didn't get as far as I wanted, and fumbled in class.  There were times I wanted to crawl in a hole and stay there.  But I took comfort in knowing that I would never have to teach three courses for the first time ever again.

    My students were generally forgiving.  Actually, my students were amazing.  They participated in class and thanked me for my engaging teaching style.  They sent me really nice comments in email.

    Sure, not all students loved me.  My style didn't suit all of them, or maybe my slip-ups frustrated them.  Understandable.  Some probably didn't want to put in the effort to get the results they wanted.  I wish I could have inspired those ones.  Maybe some I did.

    The thing that makes me feel the most energized of all is thinking about how to improve for next year.  I know I need to take a different approach to teaching my arts and social science students Python.  I know I need to switch up some of the examples for my Processing class and come up with more small examples. I need to adjust how I use the animation libraries with Racket and have some ideas for how to improve the course content overall.  There's lots of talk on what to do with our second first-year programming course, and I've had fun thinking about whether we should do it in C/C++ with Think Like a Programmer.  And of course there are a million little things to get better at that I can't possibly list here.

    Most of all, this past year has confirmed that teaching is what I was meant to do, and I am so thrilled to be able to come back and do it again for another year.

    April 29, 2014 01:55 PM



    Inkscape Tutorials

    Here is a detailed tutorial showing how to create a scene from minecraft in isometric projection using inkscape. The tutorial primarily uses inkscape’s axonometric grid to create shapes in the isometric projection.

    minecraft-tutorial

    There are some steps in this tutorial that are very manual — a more advanced inkscaper would be able to use tile clones for some of the steps. But overall it is a great tutorial with an impressive final result.

     

    April 29, 2014 01:50 PM

    April 28, 2014


    Inkscape Tutorials

    Dave Crossland from the Crafting Type crew shows how to use the new Powerstroke feature in the upcoming inkscape 0.91 release to draw letters

    letter-powerstroke

     

     

    April 28, 2014 07:40 PM

    Here is a quick workflow on how to create a cartoony pirate with inkscape. This tutorial is not super-detailed but outlines the steps the author took to create the pirate artwork below:

    inkscape_tutorial_pirate-669x1024

    April 28, 2014 07:00 PM

    The Inkscape developers are hard at work developing the new version of Inkscape (0.91). This post is part of a series that will outline some of the awesome new features that will be available when Inkscape 0.91 is released.

    We recently posted an article about Guides in inkscape, and twitter user @daishi424 pointed out that a few of the features in that post were actually new features in Inkscape 0.91. So here are some of those features that you will get for guides when the new version of Inkscape is released.

    Quick toggling of guides

    Previously, to toggle the visiblity of guides, the menu item View > Guides and the associated shortcut “|” (the pipe key) was the only way. In Inkscape 0.91, guides can now also be toggled by simply clicking on the ruler (either horizontal or vertical).

    Changing the colour of a guide

    To change the colour of a guide, double click the guide to bring up the Guideline dialog. Click the colour switcher button under the Label field to change the colour of the guide

    guide

    Labeling Guides

    The Guidelines dialog (shown when you double click a guide) also allows you to set labels to your guides. These Labels are shown on the guide at the Guide Origin (the small circle that is on every guide)

    labelled-guides

     

    If you want to try out this new feature already, you will need to  Download a “nightly” or “development” version of inkscape. Links to various builds of development versions of inkscape are listed at the Inkscape downloads page.

    April 28, 2014 02:14 PM

    April 25, 2014


    Inkscape Tutorials

    Guides (or Ruler Guides) are lines that can be placed on the document, useful for lining up and snapping elements. Guides can be a little non-discoverable in inkscape, so this article gives you a few quick tips to get the most out of guides in inkscape.

    1. Quickly creating a guide

    A guide can be quickly created by clicking on either the vertical or horizontal ruler, and dragging onto the canvas. If you drag from close to where the corners meet, an angled guide will be created:dragging-guides

     

    2. Converting a path to Guides

    Any object or path can be converted to guides Using Objects > Objects to guides (or keyboard shortcut Shift + G)

    convert-path-to-guides

    3. Deleting a guide

    To Delete a guide, hover the mouse cursor over the guide, and press the Delete key on the keyboard.

    deleteguide

    4. Rotating a guide

    To rotate a guide, hover over it with the mouse, and press the Shift Key. The cursor will change to a rotate cursor. Click and drag the guide to rotate it. Additionally, you can hold down the Control Key to restrict the rotate to 15 degree chunks.

    rotateguide

    5. Changing the colour of a guide

    **Update** – thanks to twitter user @daishi424 for pointing out that the guide colour change is only in inkscape 0.91 (as yet unreleased) and newer versions of inkscape

    To change the colour of a guide, double click the guide to bring up the Guideline dialog. Click the colour switcher button under the Label field to change the colour of the guide

    guide

    6. Labeling Guides

    **Update** – thanks to twitter user @daishi424 for pointing out that the guide labeling is only in inkscape 0.91 (as yet unreleased) and newer versions of inkscape

    The Guidelines dialog (shown when you double click a guide) also allows you to set labels to your guides. These Labels are shown on the guide at the Guide Origin (the small circle that is on every guide)

    labelled-guides

    April 25, 2014 06:53 PM

    Here is a tutorial on how to layout and create a postcard-style invitation with inkscape

    invitations-tutorial-15_watermarked2

     

    April 25, 2014 03:11 PM

    April 24, 2014


    Inkscape Tutorials

    Here is a Q&A from graphicdesign.stackexchange.com asking basically how to do a boolean operation on multiple paths. Basically, it is not possible (yet) without applying each operation individually. Though there is a feature request open in inkscape about it about it. Also, The answer to the question shows how you can achieve it with a clipping path.

     

    April 24, 2014 09:56 PM

    The Inkscape developers are hard at work developing the new version of Inkscape (0.91). This post is part of a series that will outline some of the awesome new features that will be available when Inkscape 0.91 is released.

    Previously, to change Inkscape’s keyboard shortcut configuration to another one of the included presets involved moving files around in the Inkscape config directory. Configuring your own keyboard shortcuts required you to hand-edit an XML file like this.

    In Inkscape 0.91 there is a brand new keyboard shortcut editor (under Interface > Keyboard Shortcuts in the Preferences Dialog). This addition provides a GUI for the user to view the key combinations available in the current shortcut scheme, switch between the included preset schemes, and edit and change individual shortcuts.

    keyboardschortcuteditor

    If you want to try out this new feature already, you will need to  Download a “nightly” or “development” version of inkscape. Links to various builds of development versions of inkscape are listed at the Inkscape downloads page.

    April 24, 2014 07:00 PM

    The Inkscape developers are hard at work developing the new version of Inkscape (0.91). This post is part of a series that will outline some of the awesome new features that will be available when Inkscape 0.91 is released.

    The upcoming release of Inkscape has a new feature that allows the user to insert new nodes on the selected curve’s extreme values (i.e. you can easily add a node at the highest point in a curve, lowest point, leftmost point or rightmost point).

    The tool control bar for the Node Tool features a new dropdown to use this feature. For example, the below animation shows how to insert a new node at the highest point in the selected curve segment by selecting the segment with the node tool, and choosing “Insert Node at Max Y”.

    Add_nodes_at_max

    If you want to try out this new feature already, you will need to  Download a “nightly” or “development” version of inkscape. Links to various builds of development versions of inkscape are listed at the Inkscape downloads page.

    April 24, 2014 02:00 PM

    April 23, 2014


    Inkscape Tutorials

    This great, detailed tutorial for beginners shows the workflow for creating a cute, cartoon hedgehog with inkscape.

    hedgehog-45

    April 23, 2014 02:40 PM

    April 22, 2014


    Inkscape Tutorials

    One of the most frequently asked questions from Inkscape users is “how do i crop an image or object?”. Inkscape is primarily a vector graphics editor, so when someone asks this question, they could possibly mean something slightly different to a traditional image crop. This FAQ explains a few of the techniques that people actually mean when they say they want to crop in inkscape.

    What do you mean when you say “crop”

    • If you have a single path or object (like a star or a rectangle), and want to trim or crop that object down, then Boolean Operations is probably what you need. (click here to jump to how to do this)
    • If you are exporting your inkscape document (SVG) to a bitmap (a PNG) with the “File > Export Bitmap” command, and want to only export a portion of your document, then changing the document size, and just exporting the document is probably the solution for your needs. (click here to jump to how to do this)

     

    Clipping

    The Clipping feature is an easy and versatile way to crop vector or bitmap/raster objects in Inkscape. Let’s start with our little monster friend that i downloaded from the Open Clip Art Library:


    Our monster is actually a group of 21 objects (a mixture of Ellipses and Paths). When clipping, it is always easier to group the objects being clipped. Grouping objects is as simple as selecting 2 or more objects and choosing Object > Group.


    Choose the Rectangle Tool from the Toolbar, and draw a Rectangle over our poor little monster’s face.


    Select both the the monster (the group) and the Grey Rectangle (a rectangle object). After selecting both, Choose Object > Clip > Set from the menu.


    …and our monster is now cropped in a nice neat rectangle.


    But what has happened to the rest of the monster? Well, one of the awesome things about the Clipping feature in Inkscape is that it is non-destructive.  We can remove the clip at any time by selecting the clipped object, and then choosing Object > Clip > Release from the menu.


    …and now our monster is back to normal! Well, the rectangle that was clipping him before is still there, but trust me, so is the monster.


    But can you crop your image with something other than a rectangle? Yes! Clipping in inkscape can be done with a wide range of clipping objects, including Text Objects…


    Circle and Ellipse objects…


    and Stars and Polygons.


    Even a path can be used as a clipping object.


    In fact, if you use a path as the clipping object, you can actually edit the clip path without having to Release it. First select the clipped object, then choose the Node Editing Tool. Your clip path will be outlined Green, with the normal path editing nodes visible.


    Now, you can edit this path, and change the area that is clipped / cropped.

    Clipping is one feature in inkscape that you will use time and time again. When working with imported bitmap / raster images, clipping is a easy way to crop without having to open up the GIMP. Additonally, when combined with blur, you can achieve some awesome effects like simple bubbles.

    Boolean Operations

    If you have a single path or object (like a star or a rectangle), and want to trim or crop that object down, then Boolean Operations is probably what you need. In Inkscape, you can use Boolean Operations to “crop” vector objects. This method works best if you have a single vector object that you want to trim. Note also, that unlike Clipping, this operation is destructive, you are deleting data from your SVG. This just covers one boolean operation (intersection) to achieve a basic “crop”. There are many other boolean ops in inkscape too.

    Take the following landscape lineart that was vectorised with Inkscape: Selection_032

    It is a single filled-in path with no stroke:

    Selection_033To “Crop” this object, simply draw a rectangle over it, select both the rectangle and the landscape beneath:

    Selection_036And choose Path > Intersection from the menu. Your landscape should now be cropped:

    Selection_037 Additionally, you can “Crop” vectors into shapes other than rectangles, for example, draw a shape:

    Selection_040Then choose Path> IntersectionSelection_041

    Changing the Document size

    If you are exporting your inkscape document (SVG) to a bitmap (a PNG) with the “File > Export Bitmap” command, and want to only export a portion of your document, then changing the document size, and just exporting the document is probably the solution for your needs.

    Consider we have the following landscape drawn in inkscape. Note that the black box around the landscape is the document boundary.  Selection_044

    If we were to go File > Export Bitmap (changed to File > Export PNG in newer versions of inkscape), and Set the export area to Page, we would get something like this:

    Selection_047

    To change the Document Boundary to a better size, and “Crop” our output, first draw a rectangle over where you want to “crop” the document to.

    Selection_045Then, select the black box, and go to File > Document Properties, and choose “Resize Page to Drawing or Selection”. The Page boundary should resize to the size of the box. Note that you may need to check the box “Border on top of drawing” to see the page boundary. Also delete the black box.
    Selection_046Now, when you use File > Export Bitmap (changed to File > Export PNG in newer versions of inkscape), and Set the export area to Page, your output should be a “cropped” version of our entire document:

    exportpage2

    April 22, 2014 09:40 PM

    The Inkscape developers are hard at work developing the new version of Inkscape (0.91). This post is part of a series that will outline some of the awesome new features that will be available when Inkscape 0.91 is released.

    The upcoming release of Inkscape has a new feature that allows an artist to easily view their entire image in greyscale. This feature is useful for those times you want to focus more on drawing layout and space weighting than colour. This mode is separate to the previous Display Modes of Normal, Outline and No Filters, so you can also view your no-filtered drawing in greyscale also.

    To enable this mode in inkscape 0.91, simply choose View > Colour Display Mode > Greyscale.

    inkscapemodes

     

    If you want to try out this new feature already, you will need to  Download a “nightly” or “development” version of inkscape. Links to various builds of development versions of inkscape are listed at the Inkscape downloads page.

    April 22, 2014 06:32 PM

    Here is a tutorial / article that outlines the “Horizontal and Vertical” Bezier curve technique. Basically, with a little practice, editing beziers can become a lot easier when you align all your handles horizontally or vertically. While this tutorial talks specifically about illustrator, the concept also works with inkscape beziers.

    In inkscape, holding down the alt key is the simplest way to constrain your bezier handles to the horizontal or the vertical.

    beziers

    April 22, 2014 02:00 PM

    April 21, 2014


    Inkscape Tutorials

    There are plenty of places around where you can get your Inkscape questions answered, including the inkscape forum, inkscape answers on launchpad, and the inkscape section on the graphic design stackexchange.

    But if you need an answer to a question in real time, the official #inkscape user channel on irc.freenode.net is the best place to go.

    Never used IRC before? All Good, as the new inkscape website now has a web app that lets you connect directly through your webbrowser to all the knowledgeable folks in the #inkscape chat!

    April 21, 2014 05:38 PM

    The Inkscape developers are hard at work getting ready for the release of the new version of Inkscape (0.91). This post is part of a series that will outline some of the awesome new features that will be available when Inkscape 0.91 is released.

    The Measurement tool is a new feature for the artist to measure the elements in their drawing. To use the measurement tool, simply choose the tool, click anywhere on the drawing and drag the ruler out. The measurement tool will live-update with measurements of length and angles as you pass over objects in your drawing.

    ruler

    If you want to try out this new feature already, you will need to  Download a “nightly” or “development” version of inkscape. Links to various builds of development versions of inkscape are listed at the Inkscape downloads page.

    April 21, 2014 01:44 PM

    April 20, 2014


    Inkscape Tutorials

    Tile clones is a powerful feature of inkscape, it allows you to create tiled copies of an object while tweaking the variables on how they are placed and styled. The dialog, however, can be daunting for the artist that is not familiar with it.

    In this instalment of the “Inkscape Quick Tips” series on Tuts+, Aaron Neize provides a brief intro into the tile clones dialog, and shows you a few quick, yet awesome things you can achieve with it.

    repeating-4

    April 20, 2014 06:16 PM

    April 18, 2014


    Ted Gould

    HUD shown over terminal app with commands visible

    Most expert users know how powerful the command line is on their Ubuntu system, but one of the common criticisms of it is that the commands themselves are hard to discover and remember the exact syntax for. To help a little bit with this I've created a small patch to the Ubuntu Terminal which adds entries into the HUD so that they can be searched by how people might think of the feature. Hopefully this will provide a way to introduce people to the command line, and provide experienced users with some commands that they might have not known about on their Ubuntu Phone. Let's look at one of the commands I added:

    UnityActions.Action {
      text: i18n.tr("Networking Status")
      keywords: i18n.tr("Wireless;Ethernet;Access Points")
      onTriggered: ksession.sendText("\x03\nnm-tool\n")
    }
    

    This command quite simply prints out the status of the networking on the device. But some folks probably don't think of it as networking, they just want to search for the wireless status. By using the HUD keywords feature we're able to add a list of other possible search strings for the command. Now someone can type wireless status into the HUD and figure out the command that they need. This is a powerful way to discover new functionality. Plus (and this is really important) these can all be translated into their local language.

    It is tradition in my family to spend this weekend looking for brightly colored eggs that have been hidden. If you update your terminal application I hope you'll be able to enjoy the same tradition this weekend.

    April 18, 2014 05:46 PM

    April 14, 2014


    Gail Carmichael

    You may recall that I was going to a conference on a cruise ship in April.  Well, I'm back from Foundations of Digital Games 2014 and am happy to report that I have found another new favourite conference and community.  The conference went well and I made some wonderful friends. Win win!

    It was a strange experience, being on a cruise ship for (mostly) academic purposes.  This was my first time on one, and to be honest, I actually prefer the resort experience more when it comes to vacations.  An overwhelming sense of "fake" was prevalent on the ship, and while resorts aren't necessarily better, on a cruise all you have is the boat.  No beach, no grass, etc.  I also didn't love the dark, cavernous feeling on most decks of the boat or the lengthy process to embark and debark.  Even the mall was kept dark and lit with neon lights most of the time.


    But there is a big advantage to hosting a conference on a cruise ship: nobody can leave! This was really great for building community.  It was easy to find other attendees and spend some social time with them.  For example, on one of the early nights, there was a disco party happening in the mall.  At that point I was alone, wandering around, wondering what to do.


    When I ran into some friends (old and new), I finally had someone to dance with, even if we were stuck with disco for quite some time.  I would not have danced disco alone, but with them, I had a blast.

    I have to admit that the upper deck with the pools was a nice place to prepare for my paper presentations (lab mates, if you are reading this: pretend I prepared weeks in advance and practised at our meetings).  Sitting on a swinging chair looking out on the ocean is a good way to relieve last-minute stress.


    And boy, was I stressed.  I wasn't worried about the actual presentation being good, but rather whether the audience of heavy-hitters in the stories-in-games field would think the work itself was any good.  It was a rare moment of feeling the imposter syndrome.  To make matters worse, I had two talks almost in a row! Good to get them over with, but no chance for feedback in between.

    Fortunately, everything went very well.  The talk was good, and the questions afterwards were even better.  A lot of the people I was intimidated of in the first place made a point to tell me that my talk was interesting.  Later in the conference I even got to have an extended conversation with one of them, giving me both confidence and ideas.  (Learn more about what I presented if you're interested.)

    After my talks and a couple of other interesting paper sessions, I escaped on my own for a bit to decompress.  The sun was starting to set, which was the perfect time to take a stroll around the boat.



    The next day, the ship docked in Cozumel, Mexico, where two of my new friends and I went on a tour of Maya ruins (apparently you aren't supposed to include an "n") and visited a gorgeous beach.  I was really glad to have my talk behind me at that point as I could completely relax and enjoy it!





    The last day of the cruise included more interesting talks and a lovely reception and dinner to cap it all off.  I left the following morning on a high, and already trying to figure out how to ensure I attended next year's conference.  I left feeling like I had finally found "my people," from my awesome roommate to the researchers with the same interests.  Thanks FDG, and hope to see you again soon!


    April 14, 2014 12:12 PM