return 1; computer engineering and electronics
  • Home
  • Projects
  • About
  • Archive
Introduction to threads with C++11

Featured Article

Introduction to threads with C++11

Installing Eagle 6 on Fedora 17

Featured Article

Installing Eagle 6 on Fedora 17

Popular Articles

  1. No data yet..
  1. Introduction to threads with C++11

    Written by Lucas on May 3rd, 2012

    The free lunch is over. The time that our complex algorithm was running extremely slow on a computer, but ran extremely fast a few years later, because the processor speeds exploded, is gone. The trend with current processors is to add more cores, rather than increasing the clock frequency.

    As programmer, you should be aware of this. Of course, processors will always perform better with each year, but less fast than before. Currently, a lot of programs can benefit the most by using multiple threads, because of today's multicore processors.

    In this article I'll briefly explain what a thread is, and how you can create them with the new threading library in C++11. I'm planning to write multiple articles about this topic, each going a little bit more in depth.

    Read more - Comments
  2. Installing Eagle 6 on Fedora 17

    Written by Lucas on April 13th, 2012

    Installing closed source software can sometimes be a pain in the ass on Linux. For example, installing the PCB layout tool Eagle on Fedora requires several libraries that aren't available in the repositories any more. And when you're installing it on a 64 bit system, you need a ton of 32 bit libraries, because there's no 64 bit version of Eagle available.

    Fortunately, with a little bit of search work, you can find all required libraries, and, to make things a bit easier for you guys, here's how you install Eagle 6 on Fedora 17 with a few commands.

    Let's start with installing all 32 bit libraries:

    1
    yum install glibc.i686 libXrender.i686 libXrandr.i686 libXcursor.i686 libXi.i686 freetype.i686 fontconfig.i686 libstdc++.i686 zlib.i686
    

    A few libraries aren't available in the repositories, but I found them on the internet, and uploaded the required libraries here. Extract those files in /usr/lib (not /usr/lib64).

    Now you're ready to go, so run the Eagle installer and follow the steps of the wizard. Afterwards, Eagle should be installed on your system, and you can run it by double clicking on the 'eagle' executable. Happy PCB'ing!

    Read more - Comments
  3. Plotting ngspice results with Python

    Written by Lucas on January 22nd, 2012

    My favourite schematic capture program on Linux is Gschem, part of the gEDA project. The gEDA project contains a lot of open source tools which aid in electronic design automation. Think of programs to create schematics and PCB boards, to view Gerber files and more.

    They're not as "user friendly" as OrCad or Multisim, but they work fine. For example, unlike most commercial schematic capture programs, most symbols in gEDA don't include a SPICE model by default, for most symbols you have to explicitly define which SPICE model to use when you want to start simulating. When you know what to do it's not that hard, and a project like spicelib makes it even easier.

    gEDA also doesn't integrate a circuit simulator into its user interface. We do actually have some nice simulators on Linux, which are both command line based. Examples are ngspice and gnucap. Both work great, but they aren't tightly integrated as most commercial software. This can be a bit overwhelming for users who are just starting with gEDA.

    Luckily, there's a nice tutorial on the gEDA wiki on how to simulate a circuit created with gEDA, and I'm not going to repeat that in this post. The point is, I don't like the builtin plot viewer of ngspice. When viewing a graph, you can't zoom, you can't move the viewport, it's just really basic. So, I've written a Python script which uses the matplotlib package to plot the results of ngspice, which looks a lot better than the builtin viewer. Details after the break!

    Read more - Comments
  • 1
  • 2
  • Next page »