Printing Stickers

I recently purchased an Epson ET-8550 and a Cameo 4 for printing some fun stickers for myself, kids and friends. Here are a couple of things I have learned and some process related information I have been using.

General Process Flow:

Design in Illustrator, add inner and outer cut lines (on separate layers), ensure the border color has a bleed (if needed) -> export as SVG.

In Silhouette Connect, import SVG, Add registration marks, print out on sticker paper (Hide the cut lines layers). Apply any over laminate to the sticker sheet and load it into the Silhouette. Unhide the cut layers. And run the cutting using the Send function.

Cutting depth and force are very specific to the sticker paper and over laminate, so it’s a lot of trial and error.

Helpful Links: read more

Building a Passkit App

Building an Apple PassKit app has been an interesting endeavor. Internally at SAP we recently built a small Business Card application which allows employees to create a digital business card, and subsequently generate a individual and customized wallet pass, allowing them to quickly retrieve it, without having to find the app, and open it on their device. Having a wallet pass lets users simply double tap the lock button, authenticate and see a collection of their passes.

Open Source Project: Reach SDK

Over the past few years I have found myself re-implementing and re-writing basic features of server, web, mobile or service components. Registration, Login, Forgot Password, Notifications, Search, Help, FAQ, Contact Us, Maps are just a few I can think of, where half way through the development everything seems familiar and I have a case of deja vu. No doubt I have written or implemented a library or service which performs this specific function.

While developing the Changd app I found myself in one of the deja vu moments while writing the email notification service, and decided to pause development, and fix the root cause. After multiple Github issues to support a variety of notification providers, I came across Apprise, a python library which supports multiple notification provides. Since there was not a Node.js implementation, I decided to use Apprise as inspiration and influence for a Node.js library which I aptly named “Reach”. read more

Signage Project – Rocky Branch Park

There is something quite refreshing about volunteer work. Generally it’s a position or job which you have picked because you have expertise, passion or interest in learning more about. It is unpaid, and the external pressure and expectations you get from a paid position are generally non-existent.

While I have had, and do, multiple volunteer jobs for one of the parks in the Tarheel Trailblazers organization, taking on new responsibilities is rewarding from a knowledge building perspective. This role was centered around designing, installing and maintaining a mountain bike/hiking parks signage. The project included the main entrance information boards, way finding, and safety signs. read more

Drawbot

A fun project to build a drawing bot which uses linear motors, belts, and a servo to take digitized line art and physically draw it on paper, in a plotter like fashion. Here are a couple resources which are helpful.

https://drawingbots.net/knowledge/tools

One of my intentions is to draw golf course layouts and their corresponding contour lines, this site has the relevant height lines.

https://anvaka.github.io/peak-map/#12.39/35.20202/-81.03753

Process:

Use a Inkscape extension to convert SVG to line art: https://github.com/love-open-design/LY-Drawbot-Tool-by-LOD

LY Drawbot – Workflow

Inkscape SVG -> Object to Path (If needed) 

Extensions -> Generate GCode for LY Drawbot read more

DIY: Physical Random Number Generators

One of the benefits of Quantum Computing is their ability to generate truly random numbers.

Since classical computers are deterministic machines, governed by algorithms, they are inherently predictable. Therefor any number generated by a classical computer, even if it seems complex is actually based on a set of conditions or algorithm, which therefor makes it a “pseudo random number”, rather than truly random.

To generate truly random numbers you need to rely on a physical processor or phenomena that are unpredictable, examples of this include radioactive decay, electronic noise or even atmospheric noise.

Since QC is essentially based on a physical process and the probabilistic nature of quantum mechanics, its qubits can exist in a superposition state, this means they can represent a combination of 0 and 1 simultaneously, this state/property can be harnessed by QRNG (Quantum random number generators) to produce truly random numbers.

As a fun project, I decided to build a small physical QRNG using an Arduino, laser diode, beam splitter and two photo resistors. The basic premise is that you pulse the laser, it sends a wave/particle (both!) through the beam splitter, 50% of the time it should hit one of the two photo resistors, providing you with a random string of “1”s or “0”s.

While a very simple, basic and small example, it is a fun experiment. Check out OpenQbit.com if you would like to build your own. To make this a little easier, I laser cut a template/outline for the beam splitter for holding each of the components.

Enjoy Randomness? Check out these blog, sites, references: http://www.reallyreallyrandom.com

Non Quantum RNG generator using zener noise: http://www.reallyreallyrandom.com/zener/breadboard/

Nice video explaining the seed variables used and middle squares: https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/random-vs-pseudorandom-number-generators