Monthly Archives: August 2012

The little gerber viewer that could!

Of course I’m talking about gerbv!  For those of you who don’t know, gerbv is a free Gerber or RS-274X viewer that comes from the gEDA Project.  It’s free, it’s open source, it’s cross platform… (quick link to windows version download here) and that’s awesome.

So, why do you care?  Well, if you are building your own circuits and want to get a PCB made then usually the format you’ll need to export your design into is a gerber.  The reason you should grab gerbv is to double check for errors.  When you design a PCB in your favorite circuit layout tool, whether it be Eagle, Altium, or my favorite DipTrace, you should double check for errors.

Your layout tool might have a built in gerber viewer like DipTrace does, but if there is a problem in the generation of the gerber, the viewer might have the same issue and appear as a non-issue.  So, by using some other tool then the one that generated the gerber, you are improving the reliability that your gerber file was generated correctly and will not have any additional problems when the person you are sending it to, to manufacture the board, will have.

Another plus I’ve found to looking over your gerbers before sending them off is you might notice something that you didn’t in your layout editor.  The gerber is pretty bare bones, it doesn’t have fancy highlighting of traces, sometimes you’ll have something on a layer that doesn’t get exported like the assembly layer.  You’ll see it in your editor, and think it is part of the silk screen layer, but in fact it’s not!  So by checking over each layer in an external gerber viewer, you’ll catch errors you might have normally missed.

Using gerbv is pretty straight forward: open all of your layers, choose colors and organize the stackup.   There is a message box that will alert you if it detects any errors with your gerber or drill file.  Once loaded, you can turn on and off layers individuallyand use some of the tools like the Measure Tool.  Measuring is good, especially if you are doing your own paneling or your manufacturer requires the board to be within a certain size.  Gerbv will also let you modify a gerber but it’s not very sophisticated in that realm. You can delete some objects that you might not have wanted, but you cannot add or undo anything.

The post The little gerber viewer that could! appeared first on Baltimore Hackerspace | Harford Hackerspace.

Meet a Member: Paul Sanchez

 Mr Sanchez We've begun a new monthly series of interviews with Bucketworks members. Our member's backgrounds and futures are all so different! We celebrate that diversity through this series. Our first member, Paul Sanchez, is a web professional and an entrepreneur. Let's learn a little bit about Paul, shall we?

Q: Where did you grow up?

Born and raised in Menomonee Falls. Always been around here. Went to Menomonee Falls high school, went to UW-W for college. Moved to the city and I work at Bucketworks now.

Q: What did you want to be when grew up as a child?

All kinds of things. My dad was a chemical engineer. He had his own woodshop in the basement. Always had an interest in engineering and science. Even accounting at one time. But throughout all that I always had the idea for entrepreneurship. Helping people out.

Q: What path did you take between your first inspirations as a child and where you are now?

Throughout school, high school, middle school, etc. I was always involved in organizations. Worked for the school district. Data entry. I also had my own LLC business that I built. I built and repaired computers. Never had anyone return one, proud to say. Also, I was involved in scouting. Got up to Eagle. Some leadership stuff. Collaborating with other scouts, we got some products done. And I camped! In college I continued to be active. I got involved in student government first month I was there. The President asked me to take over a cabinet position as Director of University Services. I oversaw university-wide projects and programs. I made the Housing guide of all the rental properties in Whitewater. This was in 2004. We made it distributed to all the students. It was organized in an excel spreadsheet. Later, I took what I worked on at the time and changed it into a website. Managed to raise 4k per semester for the student government to do various things. Junior year I decided to run for President. I had a cabinet of 7 people who helped out with crazy stuff with the university. Throughout college I interned and did application development. I worked for Quad Graphics. Did a lot of really cool projects and worked with a lot of really smart people. I've been moonlighting doing my own projects. With the various people helping out with the projects, it seemed like I was a lead band member with revolving bandmates. Did that for 5-6 years until I got where I am now. Hoping to release my own product next month. For a while I was working and also working on my own projects. Then I left Quad. Been doing freelance project work. And working on my own business.

Q: What do you enjoy most about your life now?

Since I’ve been involved in all kinds of thing and I had opportunities to work on things. Try things out and fail. I feel pretty confident with all the experiences and all the friends I’ve built up over the years. I’m pretty excited to help some friends, and City of Milwaukee hopefully.

Q: What would you change about the world if you could change one thing?

I would look for true goal. If one thing could be changed in the world, if people could step back from politics they could take a look and see what the true goal is. With that kind of mindset we could do a lot more, some pretty amazing stuff.

Q: What is on your “bucket list?”  

Finally release a product. Doing some hardware programming, I now have an arduino. Just got it this this week too! Starting to program hardware and see some cool stuff happening that way. Been doing websites 6-7 years now. And camping - did a week-long trip up to the Boundary Waters and I’d like to do it again.

Paul's Website - Basicdays

Follow Paul on Twitter

Milwaukee Tango Community – Milonga


The Milwaukee Tango Community, a volunteer-run community organization dedicated to the promotion, learning and enjoyment of Argentine Tango in the Greater Milwaukee area is having a special Milonga (social dance) & potluck on Sunday, September 9th, 2012 from 7:00 to 10:00pm with DJ Pam Tatarowicz



Adventures in Haskell

So I’ve decided that it’s time to expand my horizons and put a new programming language under my belt. I’ve been told by a number of people now that Haskell is awesome, so I decided to give learning it a go. I’ve been reading over Learn You a Haskell for Great Good! I’m not done reading through it, but I definitely recommend it to anyone who wants to learn Haskell. Anyhow, over the course of my tinkering around with Haskell, I’ve learnt that Haskell is full of freaky voodoo mathemagics (yes, that’s a word now).

Since I still haven’t managed to figure out I/O, I decided to start by rolling my own square root function. There’s a fairly simple algorithm to do this:

Suppose we want to find the square root of X. We can start by making a guess, we’ll call it G (1 tends to be a good start). We can then square our guess to see if it works out to X, if not, we can get a closer approximation by taking the average of G and G/X. We simply need to repeat this process over and over again until we converge on the square root of X.

To implement this, I wrote two simple functions. First, there was the square root function itself. It looked like this:

sqrt' :: (Floating a, Ord a) => a -> a
sqrt' x
  | x < 0 = error "square root of negative number"
  | otherwise = limit (g -> (g + x / g) / 2) 1

Basically, the sqrt' function checks the value of its input (x), if it’s negative, it throws an error, otherwise, it calls a limit function that takes a function and a value, and repeats that function over and over until we converge on a constant value. I’ve defined the limit function as follows:

limit :: Eq a => (a -> a) -> a -> a
limit f x
  | thisTry == x = x
  | otherwise = limit f thisTry
  where thisTry = f x

Naturally, I wanted to see how quickly and accurately my function would calculate square roots, so I started out with a number with a known square root… say 4. When I ran the function, this was the instantaneous result:

*Main> sqrt' 4

Good. That’s what I would expect to see. Let’s see what happens when we try to use the function to calculate the square root of 2, comparing it to the built-in square root function.

*Main> sqrt' 2
*Main> sqrt 2

Excellent. So we’ve now established that the function will quickly calculate square roots. Next, I wanted to try doing a little stress testing. I happen to know (from being bored in math class back in my high school days) that if you take a large nubmer and repeatedly take the square root, you’ll eventually converge on the number 1. Let’s try it with a really large number… say 1010. Putting my newly created limit function to the test, I got the following result immediately:

*Main> limit (x -> sqrt' x) (10^10)

That’s impressive, I was expecting it to take at least a second or so to calculate, after all, 1010 is a pretty large number. It should have to loop around quite a few times before it converges on 1. Let’s try a googol (10100):

*Main> limit (x -> sqrt' x) (10^100)

Still, instantaneous? Challenge accepted. How big do we need to go before we crash the system, or at least slow it down?

As it turns out, pretty big. I got as high as 10400 before I managed to hang the machine (while still not consuming more than 2% of my total system memory). That’s pretty impressive. My previous attempt 10300 was still instantaneous.

The one thing I know for sure is that the next time I need to write a program that runs some serious computations, I’ll definitely be considering Haskell.

Raspberry Pi Foundation US Hackerspace Roadshow

Coming to CRASH Space Thursday October 4, 2012 at 8pm, Rob Bishop from the Raspberry Pi foundation will be visiting us. The Raspberry Pi Foundation is a charitable organisation founded with the aim of promoting the study of computer science and related topics, especially at school level. The Foundation is responsible for the design and sales of the popular RaspberryPi single-board computer. You can find out more about the Foundation and the RaspberryPi at

Come and see one of the founders talk about the board, show some demos, and give a hands-on workshop.     The evening will consist of

  • Talk: RaspberryPi: Past, Present & Future – An introduction to the RaspberryPi, including an overview of its history and development, details on the technical specification and an outline of future developments with many cool tech demos along the way. Followed by a Q&A session.
  • Tech Demos: A chance to demonstrate various OS’s, new revisions of the Pi and the latest add-on expansion hardware.
  • Workshop: A Taste of RaspberryPi – A chance to play with the RaspberryPi hands-on.
  • Show & Tell / Prizes: An opportunity to display RaspberryPi projects from the community with prizes for notable projects.

Rob promises that there will also be units to PURCHASE at the event.  Rah!!

Space is limited.  Please sign up at:

DMS participates in the RedBull Creation Contest.

You may not have heard, but on July 19th we were one of twelve teams chosen from across the USA to make a project in 72 hours. The teams included i3Detriot, MBLabs, TechShop, 23B Shop, LI4E Makerspace, DesignatedDrinkers, Instructables, Hackaday, Maker Twins, 1.21 Jigawatts, North Street Labs, and Dallas Makerspace. The theme for this year’s competition was “Game of Games”. With just those 3 words we had 72 hours to come up with an interactive game, design and build it. Oh, and it had to work. All while we were being watched live on the Internet.

We came up with what we call the “Dizzy Fling”. The object of the game is to toss balls at the targets in the center of the game field and turn them your color. If your opponent hits one of your illuminated targets it turns their color. The contestant with the most owned targets on the board in 3 rounds wins. The loser spins….


Instructables en wij

Een paar maanden geleden heb ik eindelijk een account aangemaakt op de website Instructables. Dat is een site waar mensen stap-voor-stap-instructies geven voor het maken van van alles en nog wat: arduino’s, geroosterde courgettes, gehaakte pantoffels, staalconstructies. Noem maar op.


En waarom is dat leuk? Omdat je er heel veel aanwijzingen kunt vinden over methodes om dingen te doen. Methodes waar je nog niet aan gedacht had, of waarvan je niet weet hoe het precies moet; soms zelfs dingen waarvan je je wellicht niet eens realiseerde dat je het ook zelf zou kunnen doen.
Dit is, kortom, een website voor prutsers, knutselaars en makers. Dus als je dit leest, is er een goede kans dat het iets voor jou is.

Een leuke feature zijn de challenges en de contests. Hiermee zijn soms zeer begerenswaardige prijzen te winnen.

Wat kunnen wij, als Hack42-deelnemers, er nog meer mee?
We kunnen natuurlijk ook zelf projecten plaatsen. Een aantal van ons heeft dat al gedaan; er is dan ook een Hack42-account, dat deelnemers kunnen gebruiken. En er is een Hack42-groep waarin je ons, en een aantal van onze Instructables, kunt vinden. Dat is natuurlijk ook weer leuke promotie voor ons en onze projecten.

Ook interessant voor ons, tenslotte, is de mogelijkheid om sponsoring aan te vragen. Dit betekent dat we in aanmerking kunnen komen voor één van de verschillende interessante sponsoring-pakketten; we hebben daarvoor, als groep, 10 indrukwekkende projecten nodig.
Zeg nou zelf… we zijn een club van knutselaars, hackers en makers. Dat moet toch wel te doen zijn?

Diverse instructables van de deelnemers van Hack42 op (klik!)