Archive for category Design

OHS 2013, and how to get the best submissions

I’ve been helping a bit in the background of Open Hardware Summit this year, aka OHS 2013. Like many Open Source projects, OHS tends to lean on people who self-select for expertise, and people who don’t have the best balance of work-life (aka, people’s who’s hobby is their life is their job, etc. OHS also takes self-nominees, I.E. you just submit your own talk.

This system tends to skew the talks submissions in a few ways. It skews towards people who are self-confident in their abilities, which to be honest often does not map to the most skilled person. It also tends to skew talks to people that have pre-made talks, or who have given talks before. Even submitting a talk to a conference is a bit of a skill set and gained knowledge, and can really be a time sink for someone doing it the first few times.

Which leaves me with a good question I don’t have an answer for. How does a community event do outreach and find speakers, but still skew towards most genuine knowledge, instead of most self-reported knowledge? How to get the shy knowledgeable people to apply, not just the gregarious or self-assured people?

Tough question, and I really have no answer for it.

What we believe about software development

I came across an excellent (and old) online talk by Greg Wilson on the net today, covering what we believe about software development. It’s a good talk about how little science we use in deciding and reviewing how we plan software, and highlights how many bad or guesstimate numbers computer scientists and engineers throw around when talking about their profession. Watch the video.

The best developers are 28x more effective than the worst

Along with the bad statistics of it, it’s not backed by good data. The studies were long ago with small sample sets, they really don’t apply to modern conditions. Common sense? Not especially. Also, there is the statistical problem of *ever* comparing the best to the worst. It’s a useless measure since ‘worst’ could be someone taught to code an hour ago. Comparing against mean/median/mode is probably a lot smarter.

SCRUM and Sprints keep software from being late

Another good point. As far as I’m concerned, working in a sprint system is what got MakerWare out the door on such a great tight schedule. Iterative design and culling features, as well as allowing for error and error correction during the process. But the plural of anecdotes isn’t data, the plural of anecdotes is rumors. Is there really smarter planning going on? Smarter throwing away features? What is the actual process that makes SCRUM seem or be, better than planning up front?

Until I watched the video, I had not recognized how many software process decisions we as a culture made by anecdote based suggestions, or convinced over beer discussions. If you have time, watch the talk, or add his blog to your RSS reader.

Tags: , , ,

We don’t need no atinkin’ (RFID) badges!

I spent a decent part of today looking at some different badge design, keeping an eye on what we could do for Hope 9. As it turns out, for reasons I have no connection to in any way, Hope 9 doesn’t want to go the RFID route for their 2012 conference badges. Along with that, I’ve gotten a heads up that if someone *cough*me*cough* wanted to help form a team wanted to setup an RFID system for Hope 9, they would be just delighted.

Coincidentally, I rant into Capt’n Fourier at a cafe in West Philly today (despite everyone else being at shmoocon all weekend). Along with the usual crazy new social network ideas he had, he filled me in on quite a bit of the Brucon badge situation, and how that worked out. From there, it was off to the internet to read for a bit.

Brucon Badge: This looks like a great, and damn simple badge. At $2 for the main chip ( PIC16F688 ) and 2 layer, it looks like it could be rather easy to manufacture, cheap. Although it’s a tiny tiny badge, with tiny tiny space of code, no UART or SPI built in, so hacking on it will be a bit harder. The related PIC116F88X series looks similar, but has UART and SPI built in, but that gets up into the $4 range to buy.

r0ket Badge: I have a r0ket from CCCamp this summer. It’s a rocking badge with a great little Nokia LCD. However the total cost is a bit high, I heard as high as $45 a badge to produce (if a reader has exact numbers, that would be cool to hear). The core chip (LCP1313) are only about $4 each, so I’m trying to figure out how the cost of those boards ends up stacking up.

microtouch: Ok, these are not badges, but they are amazing little devices. A badge built around one of these things could really be a great con project to produce, especially if we could get some wireless going on. Maybe find a good way to interface that to a brucon based badge, and hack the pair?

EasyReader POE II: The EasyReader POE II are the pseudo-standard reader units from OpenBeacon, and can be run POE or run via 5V over mini-usb. However I don’t see gerber files or design files for that hardware. Either I’m not searching well, or the badges are open hardware, but the reader is not. Understandable, a little surprising.

What do you think folks? Any good leads or info on badge designs? And, more importantly, do you want to step up and join the totally unofficial RFID badge crew for Hope 9?

Tags: , , ,

Prescience inventions

It’s always interesting to see when small company or team come out with a tool using a ‘new’ technology, just ahead of the curve of major adoption. One of those that intersect(s) my own interests is the Makerbot Cyclops (Structured Light scanning) as a precursor to the Kinect.

I’m trying to find some other examples of that kind of prescience. Please drop a comment if you can think of other startup-y tool or products that were released just before a major vendor dropped a eerily similar product.

Information Flow rules of thumb

I’ve been thinking a lot about communication and teamwork lately, and reading up a bit on the topic. I think it’s a good analogy to model the movement of ideas on liquid flow. I think a lot of things from Fluid Dynamics can model how ideas pass between people, and how information is passed around. In that vein, I’ve been thinking about Information Viscosity. IE, how well an idea flows from one person to others. And in a working environment, that flow of ideas is essential to progress.

Kristof Kovacs has a great 3 item ‘Ground Rules’ of communication, which is a lot of how I behave. I am going +to adopt it, with a few modifications:

  • Ask: If a task is unclear, if you need information, take 15 to try it on your own. Then ask for help. Doin+g nothing because you don’t know what is right is a waste of your time. If no one has an answer for you, the+n go ahead and keep trying, you’ll be the first to figure it out.
  • Debrief: It’s not done until it’s reported done: A check box, a tick mark, or a one sentence email after testing has happened is part of the process. Things aren’t done until the people needing that tool/project/part+ know that it is available to them.
  • Warn: If something is going wrong, and/or deadlines are going to be missed, you need to warn the people depending on your. Whether that is missing rent to your landlord, or a unexpected problem on a project at work,+ as soon is it’s clear a problem or failure is in progress,
    • I think that is a great set of rules, not only for working on a team in a profit or nonprofit project, but for life in general. They are a good set of guidelines for letting information flow to those that need it about important topics/plans.

      Tags: , ,

How I learned not to Lothe spelling, and how to love the bomb.

I made a tweet the other day using ‘Lothe’ instead of ‘Loathe’, and naturally a few people pointed out the mistake. As much as I go for the whole “Oh, I use the classic spelling” or “I avoid the unvoiced letters where I can, thanks” the honest and true answer is just, I don’t know how to spell “Loathe.” For a long time, I’ve had a bit of a handicap as a programmer in that I cannot spell very well, and I often mux up characters. For a long time things like ‘kbdconfig’ were (and still are) a nightmare for me to type, while civilization causes no problem for me. The letter pairs b/d q/p and d/p. Even p/g really throw me off for some reason, and I’d not go far as to say I’m dyslectic, I will say I have some kind of worse-than-most processing problem when it gets to left/right orientation. I could rant about left-handidness, and how it ties to a lot of learning or weird brain problems, and how dyslexia is more apparent in English, but those are whole topic on their own. Suffice it to say,

Spelling in general has always been a tough point for me. I read. I read a lot. When I read, I really don’t read the letters I mostly get the shape of the word, and work from there. I think a lot of people read that way. But somehow, I end up writing that way as well, and since spellcheck has been around as long as I’ve use a computer, Ive largely relied on that as a tool. But recently that has changed.

See, Another thing I don’t often admit as a coder is that I’m not a great typist. I was good enough to pass the college and high school typing tests, and I never did much work beyond that. Until about a year ago, I was regularly at about 36 – 46 WPM, depending on the topic. For C/C++ I get up to high 40′s or low 50′s but writing about things like biology I’m a lot slower.

In the last year or three, it’s become clear that typing speed has become a real blocker for my ability to get ideas out into the world, in code or words.Because of that, I’ve been using TypingWeb and typespeed to work my way up to the high 50′s for WPM. TypingWeb for finger placement, and typespeed (with a lot of custom dictionaries) to work on general speed.

Oddly, as I’ve improved my typing, my spelling has improved a lot, without trying to work on that. While I still have problems reading b/d q/p and d/p, something about the muscle memory has taught me to ‘feel’ the right letter combinations when writing them down, even if I’m writing them on paper. It’s amazing that slowly shifting typing further into an ‘instinct’ behavior, which is what I intuit that this typing training is doing, has improved my spelling, even when writing longhand.

Somehow, the letters p and d are intuitive to me now, in a way that is hard to describe. I very seldom drop for the ‘wrong’ letter when writing or typing, down maye to 3-5% where I use to use the wrong one maybe 10-15% of the time. At this rate, I’m hoping by the time I get to 70 WPM I’ll have become a perfect spelllerer. Then now only just to grammer!!!
(Image (CC) from freddy on flickr. Thx freddy!)

Tags: , ,

Curse your sudden but inevitable crash!

I’ve been running Ubnutu 10.10 on a Wilderbest for a few weeks now as my primary desktop at home. Overall, I’ve been solidly happy with the System76 box, and although some major players sell systems well supported by Linux, I prefer to go with the a company that’s show some long term support of the movement. The only problem i’ve seen or had was that my self-installed wifi card has been dropping in and out sometimes. It wasn’t too predictable, and it only happened ever few days, so for the most part I ignored it, or just rebooted if I really had to.

Today I finally had an extra 10 min to dig around to see what was happening. As a bit of novice help (and as just a record of what I did, case someone searches for “ath9k Ubuntu problems” below is a walk-through of the rather mundane debugging of this small problem
Read the rest of this entry »

Tags: , , ,

Code is Inventory

During a scrum meeting the other day, one of my co-hackers at BugLabs mentioned some Jetty code that ‘should be around somewhere’ that was created by an intern a few summers ago. Which got me thinking about code as inventory.

It’s an amazing idea, and the moment I heard the term, it clicked immediately as a great metaphor. During highschool I spent every summer (and a lot of weekends) working in the family construction company, sorting tools, managing inventory, and checking in and out tools. When I started it was a terrible job, and I didn’t realize how that unappreciated role really makes things happen. That is, until I took a few weeks off for vacation, and ended up having to re-sort nearly everything when I came back.

The ability to find the tool algorithm/tool/code you need, use it, and put it somewhere find-able again is a large part of a coders job these days. After all, 95% of the things you need to solve as a coder are already solved, or are at least google-able. And finding that code is the key to solving bigger and bigger problems, in faster and faster sprints.

And oddly (like some card games) throwing things out, archiving the old, and keeping things at the right level of cache (fast, medium, slow) has a lot to do with how fast a problem can be solved.

So, in summary: Code is Inventory. Track it. Throw some of it away. Keep it clean, and keep it findable. And if you have a shed, small lab, or series of ~/dev_* directories to clean and sort, you should stop wasting time on the internet and go do that.

Tags: ,

DSO Nano tweaks

DSONano2Repair_0005I recently got a DSO Nano, and I’ve been playing with it, and trying to learn exactly how to get the most out of it. While digging around for some photos I found a great web post about making it a bit more durable. The DSNO nano is a great package for the price, but part of the tradeoff to make it cheap leaves it a bit prone to wear and tear. This weblog post is a great writeup (with pictures) on how to fix or avoid the connection jacks pulling loose from the main PCB Board.



I’ve not had to use the nano for any ‘real’ work yet, but as a hobby scope, it’s a decent piece of hardware. I’ve tested it with my rigol scope, and I’ve been using it to cross test the Rigol DS1052E and the OpenBench 1.04 I recently bought. So far the main work use I’ve had is using it’s ‘fit’ mode has been helpful for checking that something is running on the pins I’m connected to.



If anyone else has good DSO Nano tweaks/hacks, please drop a comment or something so I can check ‘em out.

Tags: ,

Rugged Software

Despite the machismo tone and attitude of the Rugged Software Manifesto, I like the idea of it. Unfortunately their website is 90% blank, although they have a good Slide Deck(pdf) from some conference. Good on ya rugged folks! And bless your cute little Bruce Lee and Clint Eastwood pictures.

Now, how about some ideas, information, or practical suggestions reading to back up your awesome new movement?

Tags: ,