Sunday, November 23, 2014

Coffee Break - Recap

EAST Knowledge's recent "Coffe Break" had a nice turn out. The Banaka & Browns shop provided a nice atmosphere to just relax and chat.

I won't presume to speak for everybody, but I definitely had a good time catching up with people, and it was great having the opportunity to meet new people. I think we will definitely do this again. Thank you to everybody who turned up, and for those of you who couldn't make it, we hope to see you next time.

We're heading into the busy holiday season, so we are planning another talk in January of the new year. We'll send out more information as we firm up the plans. As always, if there is a topic that excites you and you would like to share what you know about it, please get in touch. EAST Knowledge is a receptive, inquisitive audience.

Happy Holidays!

Tuesday, October 21, 2014

Coffee Break #1

Update: a meeting recap.

EAST Knowledge is pleased to announce it's first "Coffee Break"!

EAST Knowledge would like to do something a little more relaxed for our next meeting. We invite you to join us for coffee and pastries. We're going to hang out for a couple of hours, so feel free to come by, talk shop, show off what you're working on, ask questions and pick each other's brains. We look forward to seeing you there!
All are welcome!

What:Coffee Break
Where:Banaka & Browns Artisan Bakery and Coffee House
835 N Main Ave, Gresham (map)
When:10:00am-Noon, Saturday, November 8th, 2014
Why:Sharing what we know and what we're up to

Thursday, June 19, 2014

Meeting #3 - Recap

Charles Stanhope led an informative and engaging discussion of the IPython Notebook to an enthusiastic audience at the third EAST Knowledge meeting. Charles has been using the Notebook to good effect at work, and demonstrated several notebooks to the audience. Charles has helped make his demonstration notebooks available. The notebooks are available on the EAST Knowledge github page. You can also see static versions of the executed pages using the nbviewer service. The introduction notebook contains links to additional resources that may be useful if you wish to install IPython Notebook yourself.

With IPython Notebooks, individuals and groups can:
  • Rapidly prototype and explore algorithmic ideas
  • Easily share results
  • Replicate work
  • Freely collaborate
  • Leverage a large body of existing libraries
Alternatives to the notebook such as Mathematica or LabView are expensive, so businesses often elect to purchase licenses for only a few people — the Research and Development team, for example. When it's time to share the results with those who do not have access to the tools, the team has to prepare a report — perhaps a (necessarily static) pdf. The report is a poor substitute for an interactive demo. With a notebook, you can delve into the code and experiment with the algorithms yourself.

The IPython Notebook interface runs in your browser, and you don't need to know any Python to view or modify the contents. Charles set up a server running the IPython kernel on one laptop, and audience members connected through a router using their browsers. The setup demonstrated that IPython genuinely works cross-platform, and that users need not install anything (except a browser) on their local machines.

Notebooks consist of "cells" of different types:
Markdown - for expository content
Code- for actual computing
Headings- for providing linkable sections
Raw- for just raw text or for disabling code cells

Code cells produce output that appears inline with the document. Charles demonstrated a notebook he developed to explore the Karplus-Strong algorithm that Jim Rulla presented to the group in our second meeting. The algorithm synthesizes random input into sounds that sound remarkably like plucked strings. You can adjust the pitch, see the graph of the waveform, and play the sound in the notebook (even the static notebook has a sound you can play). Imagine how much more you'd learn — and how much more fun you'd have — by playing with the algorithm than by simply reading this description!

Other examples Charles developed include a csv (comma-separated-value) file reader with data plots and a Mandelbrot Set generator.

  • The IPython and Python online help are helpful.
    • Type "help()" in a code cell to bring up Python's interactive help.
    • Click the "Help" menu item for much useful information.
  • Press Enter to edit a cell, and ESC or + Enter to enter "command mode". These and other keyboard shortcuts are available under the Help menu item.
  • Use the Cell menu item to Run the code.
  • Pat Nystrom discovered that, if the kernel is running locally, disabling the "inlining" of matplotlib brings up plot windows with zoom buttons and scroll bars — a useful discovery, indeed!
We'd like to thank the Multnomah County Library in Gresham for providing space and equipment for EAST Knowledge to meet.


  1. - EAST Knowledge github page for notebooks
  2. - Static examples of executed notebooks

Tuesday, June 3, 2014

Meeting #3 Announcement - Introduction to IPython Notebook

Update: a meeting recap.

EAST Knowledge is pleased to announce it's third meeting. Charles Stanhope will be giving a talk on IPython Notebook. All are welcome!

What:Introduction to IPython Notebook
Who:Charles Stanhope
Where:The Computer Lab at the Gresham Library (map)
When:10:30am-Noon, Saturday, June 14th, 2014
Why:Sharing what we know

Come and learn about IPython Notebook interactive computing environment! An open source project used and developed by a community of scientists and engineers, IPython Notebook is a powerful tool that can save time and effort, and allows you to:
  • Rapidly prototype and explore algorithmic ideas
  • Easily share results
  • Replicate work
  • Freely collaborate
  • Leverage a large body of existing libraries
Charles will introduce and demonstrate IPython Notebook. He hopes to have a live system that can be used by the audience. All you will need is WiFi, a web browser, and some curiosity. So bring a laptop!

Sunday, May 11, 2014

EAST Knowledge at East Gresham Community Information Fair

EAST Knowledge will have tech enthusiasts and demonstrations at a table at the 7th annual East Gresham Community Information Fair,

Wednesday, May 28, 2014
6:00 P.M. — 8:00 P.M.

The fair is hosted by 3 of Gresham's Neighborhood Associations and will be held at:

Greater Gresham Baptist Church
3848 NE Division St.
(Just East of Kane/257th)
(google map)

Please drop by to meet other tech enthusiasts, see what we've been up to, and find out more about our group!

The information fair is family-friendly, with exhibitors chock-full of information about — and opportunities in — our east-side community. To see a full list of exhibitors and other useful information, go to:

and click on

East Gresham Community Information Fair

(last of the 4 links immediately under the "Neighborhood Associations" heading).

Sunday, March 16, 2014

Meeting #2 - Recap

Trying to maintain the momentum established by the previous meeting, EAST Knowledge held its second meeting. Although we won't do the speakers justice, we will once again attempt to relay the talk in a blog post.

Jim Rulla graciously offered to present the second talk of our humble group. Jim is a mathematician, software developer, and consultant. He states that one of his interests is algorithms, and in particular he enjoys exploring algorithms related to generating and analyzing sound. Jim gave an engaging demonstration about the importance of not just having the right model for your problem but also solving it with the best approach.

Jim began the talk making an observation about the importance of accuracy. In particular he said that 3 digits of accuracy had often been considered adequate, but that as applications have become more demanding, this is no longer the case. He gave an example of a company he worked with where 4 digits of accuracy were required to get 10 meter accuracy for their product. Clearly losing a digit of accuracy in that case would produce an order of magnitude worse results.

Using his custom software, Jim demonstrated an analysis of a sound waveform. His example analysis was to determine the pitch of a sound using auto correlation. His software could do this in realtime using either microphone input or a stored waveform. He started off his talk with recordings of plucked guitar strings.
To demonstrate the accuracy of the pitch detection, Jim then switched to a synthetic waveform he called a “Karplus-Strong filter”. This particular filter is easy to implement and produces waveforms with predictable pitches. Jim showed a plot of the pitch detection over time, and showed that the pitch varied and was not constant. However, after a few moments, Jim revealed that what he was actually showing were the results of an “engineer’s correlation”. He then switched to an auto correlation algorithm that was more appropriate for the problem at hand. At that point, the pitch detection went from a wavy line that varied over time to a horizontal line that did not vary at all. The synthetic signal actually had a very stable pitch. What looked like variations in pitch turned out to be the result of inaccurate calculation.
Jim then gave some advice about how to detect and correct numerical problems.
  • If it is bad mathematically, it will be bad numerically. For example, dividing by zero or numbers very close to zero.
  • When trying to solve the problem, attempt to rearrange or propose a different approach.
The group also briefly discussed some of the non-technical issues within organizations that prevent them from getting the best solution to their problem. Some issues identified were pressure to deliver results more quickly than reasonable and relying too much on prior experience when in fact a fresh approach may be required. Pat (who you may remember from the previous meeeting) introduced the group to the term "ad hack" solutions.

After the talk, Jim had people come up and try the software for themselves by speaking or singing into the microphone.
We'd like to thank the Multnomah County Library in Gresham for providing space and equipment for EAST Knowledge to meet. We'd also like to thank the Troutdale Starbucks for the generous donation of a coffee traveler. Last but not least, EAST Knowledge would like to thank Jim for providing our group with a wonderful talk.

We hope to see you next time for stimulating conversation and cookies.

Links to resources:

Jim provided the following references from his talk.
  1. Information about the Karplus-Strong filter:
    Title:Digital Synthesis of Plucked-String and Drum Timbres
    Authors:Kevin Karplus and Alex Strong
    Source:Computer Music Journal, Vol. 7, No. 2 (Summer, 1983), pp. 43-55
    Publisher:The MIT Press
    Stable URL:
    Copy of paper:
  2. Wiener's original paper wasn't published until it was essentially obsolete, but it is a classic, with Norman Levinson's appendix:
    Title:Extrapolation, Interpolation, and Smoothing of Stationary Time Series: With Engineering Applications
    Author:Norbert Wiener
    Publisher:The MIT Press, Cambridge, MA
    Here is the important quote:
    "Important as is the method of prediction given in this paper, it has strict limitations in practice and should never be used to determine a curve which may be determined in a strictly geometrical manner. Statistical prediction is essentially a method of refining a prediction which would be perfect by itself in an idealized case but which is corrupted by statistical errors, either in the observed quantity itself or in the observation. Geometrical facts must be predicted geometrically and analytical facts analytically, leaving only statistical facts to be predicted statistically."

Tuesday, February 25, 2014

Meeting #2 Announcement - "Don't Touch That Data!"

Update: a meeting recap.

EAST Knowledge is pleased to announce it's second meeting. Jim Rulla will be giving a talk entitled "Don't Touch That Data!". All are welcome!

What:Don't Touch That Data!
Who:Jim Rulla
Where:The Computer Lab at the Gresham Library (map)
When:10:30am-Noon, Saturday, March 8, 2014
Why:Sharing what we know

There's a serious problem: the hardware is spewing out data, but the answer is wrong. It's too late to redesign, and besides, the product ought to work. Another filter and some ad hoc software will have to suffice — until new problems arise.

Sound familiar? If the textbook analysis doesn't apply to your problem, no filter and no software hack will help. The only reliable way to fix the problem is to model it correctly, then solve the model problem.

I will show how incorrect modeling sets back — and in some cases, destroys — product development. The examples:
  • are real,
  • are simple (when solved correctly), and
  • illustrate techniques you can apply to your projects.
The examples include applications from audio, optical, and communications engineering.

The right model is almost always simpler to understand and easier to solve than the wrong models. Come see how you can simplify your project!

Sunday, January 19, 2014

Meeting #1 - Notes

It took us a while, but EAST Knowledge managed to conduct its first "official" meeting at the Multnomah County Library in Gresham. We'd like to thank the library for providing a space and hosting our group.

Leading off our ongoing talk series was Pat Nystrom who was kind enough to bring in his prototype pick-and-place machine. Pat gave a very thorough overview, some of which I will attempt to capture below. You will find links to other resources at the end of this post.

Pat's overall goal is to create a pick-and-place machine that is suitable for enthusiasts as well as businesses that may require small production runs. Competing devices are either expensive (starting at $4000) or inadequate for the money, and as electronic components have shrunk (driven in large part from demand from ultra portable cell phones), it has become more difficult for enthusiasts to hand assemble boards. Keep in mind that there are electronic components that are no bigger than grains of sand.

Pat's basic concept for his machine is to combine what people do best with what machines do best. The steps for board assembly would be:
  1. Place the PCB to be assembled on to the machine (solder paste already applied)
  2. Human user identifies the appropriate part and guides pick-and-place head to pick up the part by manual manipulation. The clutches on the machines are disengaged, so movement can be very fluid and precise.
  3. Once the part is picked up, the machine is then commanded to place the part onto the PCB. The part stays in place due to the stickiness of the solder paste.
  4. Once all the parts are placed, the PCB can be placed in an oven for final steps of production.
Pat is looking to achieve .001" parts placement resolution, and the maximum PCB size is mostly guided by practical concerns.

This is the 17th version of the device, and Pat has been working on it off and on since 2006. Perseverance is key. Pat has been keeping a relentless focus on price and performance. He has been incorporating the following into his project:
  • 80/20 for rigid structure and bearing guides
  • Laser cut acrylic for mounts and other mechanical portions (done by PSU in the Electrical Prototyping Lab, but ADX can provide that service as well)
  • Fused depositional 3D printed pieces for miscellaneous and complicated parts (Pat's own)
  • Inexpensive, high-quality bearings
  • Hall sensors for always active position tracking
  • Custom designed distributed control systems (eliminates cable problems)
  • 4 gram hobbyist servos for clutch mechanisms
Pat is hoping to develop products that can be sold for around $1000 and is contemplating some kit forms too. He additionally discussed some ideas for creating solder stencils from parchment paper. Although he may discuss that more at another time.

This was a wonderful meeting, and we thank Pat for taking the time to share what he's been working on.

We hope to see you at our next talk in March! We'll have cookies and coffee!

Links to resources

  1. Pat's business
  2. A quick but thorough video explaining mass production of PCBs
  3. Pick-and-place machine on wikipedia
  4. 80/20
  5. PSU's EPL also on PSU's site.
  6. ADX
  7. MacMaster-Carr
  8. Digikey