Category: Uncategorized

  • My version of a needle based foam cutter

    Some time ago, I came across this forum thread about cutting foam with a reciprocating needle.  There’s also a pretty good summary that distills a bunch of the details. Here’s a video that talks about my experiences in getting such a thing to work:   Here’s a link that I mentioned in the video about…

  • Using Boost polygon/geometry. Tutorial/tips/workarounds

    I have a video talking about the basics of using the boost polygon and boost geometry libraries. Associated files can be found on github: https://github.com/mmccoo/nerd_mmccoo/tree/master/boost_polygon_geometry  

  • Organizing photos with exif and more

    I’ve recently spent a bunch of time organizing a pile of picture files in various directories. This post is about some of the utilities I’ve found more useful. I want this structure: 2012/ ├── 01 │ └── 31 │ ├── 2012-01-30_17-26-35_65.jpg │ └── 2012-01-30_17-26-39_533.jpg ├── 02 │ └── 13 │ └── 2012-02-13_15-37-29_814.jpg I often have…

  • Comparing register states in embedded gdb with regview

    regview is a gdb based utility for viewing control register state. ADC, DMA, RCC,… I use it to view STM32 registers I am not the original author, but I needed some additional features. In particular, the ability to save and compare states from two sessions. I had a reference prototype that worked and some code…

  • Tutorial of python's shapely library

      I’ve found the shapely library to be a very helpful way to manipulate polygon data. Here’s a pair of short video tutorials with some of the basics of using the package. The code that I walk through can be found here.  

  • Linear CNC systems I've tried and what I've learned

    In this blog, I focus on programming stuff, but I also have an interest in CNC machines. I’ve tried a lot of different kinda of linear motion systems and I thought I’d share some of the things I’ve learned.  

  • Understanding and parsing SVG paths

    I recently had the need to parse vector paths from an svg file generated by inkscape. I wanted to convert some graphics into kicad zones and/or boundaries. So I drew some stuff in inkscape and looked at the resulting svg file. Didn’t look so hard to parse. Turns out there are a fair number of…

  • 6 ways to communicate with STM32 part 4. Graphics, graphics, and I2C.

    In this post, I talk mostly about displaying to graphics devices. One of those devices uses I2C interface, which I haven’t talked about in previous posts, so using I2C is an important topic I cover as well. I2C is a common communications protocol for talking to peripheral devices. Temperature sensors, memories,… anything.   As always, working…

  • 6 ways to communicate with stm32, part 3. SPI to PulseView/sigrok

    Edit Jan 30, 2018: fix udev permissions commands. updated firmware commands In my previous posts of this series, I’ve gone from nothing to programming the stm32f103c8t6 to blink and interact with a terminal window. I’ve covered: First post: generation of boilerplate code with STMCubeMX compilation with gcc for ARM controlling digital output, Second post: sending and receiving…

  • setting up openvpn server with ipv6 on an IPS

    There are a variety of reasons to use a vpn. The other sites you’ve visited on this topic already cover why. The main reason I’m adding my own version to the pile is because of ipv6 support. If your ISP gives you a ipv6 address, much (most?) of your traffic will bypass the vpn without…