With the impending arrival of Baby A, I have been busy crafting up a storm. There is nothing like the drive to get a nursery ready to serve as a great excuse to do all those craft projects you’ve been letting sit on the side burner.

This was one of my latest craft projects and it was one of the easiest. I’ve seen it pinned so many times and I’m sure you have too, but I wanted my own version nonetheless. I used my KNK Zing to cut out the Alphabet letters, but you can just as easily buy pre-cut letters (or stickers) in two or three colors to stick on yourself. I used three colors/designs total – blue for the majority of the letters, a heart design for the “I” and “U”, and pink for the heart.

Here is how it turned out:

I used a canvas frame I purchased at Michael’s on clearance for $7 and three pieces of scrapbook paper on sale for fifty cents each. This puts the cost of my nursery pizzazz at $8.50. I already had glue dots on hand, which I used to adhere the letters to the canvas. It is not a permanent solution, which I liked, because I can see myself reusing this canvas frame for a different purpose in the future (like many years in the future, so I’m not planning on changing it up any time soon).

Have you made ABC art like this before?

P.S. Yes there are random paper butterflies in this picture. They are part of a future project!

Many designers use some kind of computer-aided design or CAD software to make 2D and 3D designs. A common one used by many people is Rhino (especially when used in conjunction with the Grasshopper plugin). Fusion 360 is a newer, easy to use, free complete CAD/CAM package. If you are going to learn any CAD software for practically any purpose (designing, engineering, fabrication, rendering realistic models, etc) it should be Fusion 360.

Fusion 360 is an Autodesk application that can do many useful things for designers. Whether you want to do something as simple as making cool looking 3D models to stress testing (finite element analysis) and even simulating the simple physics of designs and even milling them out or 3D printing them, Fusion 360 has you covered. It can also render realistic materials and surfaces and make animations of your working mechanical devices. Did I mention that it is free and there are tons of free online video tutorials and classes showing you how to use it with example projects? Oh, and so you aren’t reinventing the wheel (or other simple hardware) you can bring in models directly from McMaster-Carr who carry all sorts of nuts, bolts, gears, chains, etc. which can save you loads of time. This is my brain dump for getting started with Fusion 360 and using it with my CNC machine and my wife’s 3D printer.

At this point, there are two methodologies to use when creating parts in Fusion 360. If you have CAD experience already, you might be more comfortable drawing 2D parts then extruding them into 3D, etc. If this is you, then check out this free training class. The second methodology is sculpting. It begins with simple 3D shapes you can manipulate almost as if it were made of clay. This is great for 3D smooth shapes. Check out this great free training class for this methodologyafter taking the first section of this class. These two methodologies don’t replace one another, rather they compliment each other. You will eventually need both for complex designs, but start with whichever one is easiest for you so you can progress quicker. I personally love the “sculpting” mode.

Since on a CNC machine, the Z axis is the one you attach the router to, you will need to change the position of the Z axis in Fusion 360. Then set your preferences such that Z axis is the top axis. Within Fusion 360, click your name at the top right->Preferences. In the main window that pops up, about half way down, there is a “Top Axis” option that is set to Y, change this to Z and then “Apply” Now Z is the top axis like on your CNC machine. This will work for all NEW documents, but if you happen to have an older design or are importing someone else’s design, there’s a couple different ways to change the Z axis. The simplest method is to select the up-axis when you “setup the job” in Fusion 360. This is done when you are finished with your model design, and want to start creating the toolpaths.

Now, get into making some stuff. While Fusion 360 can do 2D and 3D designs and generate toolpaths for the CNC machine, there are lots of simpler (dumber) 2D workflows out there that are great such as Makercam.com or Easel from Inventables, etc. I’d use Fusion for more complicated 2D and 3D designs. For example, Easel won’t allow you to use a chamfer bit or V bit for engraving last I checked, but Fusion 360 will. This can make some amazing 2D designs.

This video is a great introduction to making a sign from a piece of wood in the shape of a rocket. This covers making toolpaths, creating tabs (what they are and why you need them) and milling the actual design.

Most publications such as a Thesis, Dissertation, conference paper, Journal article, etc. have specific required formatting. We’ve all hit the point where we simply can’t get our word processor to format things the way we want, and we can’t figure out why. The way these apps work is to code in manipulations to raw text. It is kind of like HTML code in Micro$oft Word and LibreOffice formats. In fact if you have a .docx or .odt file, you an open them in an unzipping tool such as 7zip and see all the nitty gritty, including saved images, etc.

LaTeX is basically programming what a document should look like directly. You have to write code to tell the document where to create a subsection, bulleted list, insert images, even to italicize or bold something, but it (usually) gives you much more direct control over formatting. All through college, I wrote only a few documents in LaTeX because honestly, it was a pain. It is not WYSIWYG editing at all. After you make changes to the code of your document, you have to compile it into a PDF document before you can see what the end result will look like. I avoided using it because I hadn’t found an editor I liked. Now I have found a workable setup and I’ve solved a few problems for myself that I think might be helpful for others (as well as my future self).

Firstly, you must install an editor, as well as the compiler tools. There are many editors out there and two compilers.

Editor:

I tested several editors (namely Texmaker, TexWorks) but I settled on using TeXstudio. Texmaker looks nice, but I had trouble getting it to display a recompiled version of my PDF. Texworks has a much more “Linuxy” feel, as it uses two separate windows to display the code and the resulting PDF. Again, the winner for me was TeXstudio.

Compiler:

There are two LaTeX compiler setups. TexLive and Miktex. I had used Miktex in the past so I tested out TexLive with this installation.

Setup:

Open TeXstudio, then select “Options–>Configure TeXstudio” then select the “commands” tab. Here, we must tell TeXstudio where all the compiler programs live. The main thins to fill out are “LaTeX”, “PdfLaTeX”, “External PDF Viewer”, “BibTex”, and “Biber”. Don’t worry about the other text in the file paths in my screenshot here, That’s automatically entered by TeXstudio when you select the path. Simply click on the file icon on the right hand side for each of these entries and drive to the compiler installation. Here you see that my texlive installation is directly on my C drive. Miktex can be installed the same way. Then wind your way through the fines until you find the “binaries” (which are the actual executable programs) in the “bin” folder.

Templates:

Now you can start editing and compiling your paper. You can start from scratch, or if the conference or journal you are submitting your paper to has a template you can download, start there. In my case, IEEE has templates available for download here. Now I recommend you go through a few tutorials and play with some files like these before using a full-on journal template just to get your bearings with LaTeX. There are commented things in the template that you can add in (uncomment) and multiple ways of doing things you might want to do, so research is king. Once you’ve written some of the paper and formatting code, compile it by clicking the “compile and View” button in TeXstudio. You might need to compile the bibliography separately. For finer grain compiling options, click the “Tools”menu.

References:

You already know I love Mendeley, but you can actually get Mendeley to export a .bib file. A .bib file is a list of all your references in a format called BibTex, which you can open in any text editor, even in TeXstudio. The .bib file Mendeley exports is only as good as the data you entered in Mendeley, so make sure it is correct first! You can enter these reference entries directly into your .tex file (the code you are writing describing your paper) or keep the references in the .bib file and import that file into your paper. What is great is that you cite something using /cite{nameOfBibtexEntry} and LaTeX and BibTex do all the rest for you. It will enter the citation in the correct format, then it’ll generate your references section of your paper. The format, like MLA, APA, etc, is different for each conference, journal, and even discipline in which you are submitting. You can tell your document which format to use using some simple commands, however the template you download likely already sets you up for the correct format. To get the name you must use in your /cite{} command, open the .bib file and find the entry you want to cite. The first name next to the @article{ tag is the name to use. for example:

I’m fairly sensitive to caffeine and I love Cherry cola. Being that for some reason soda companies don’t make caffeine-free cherry cola, I decided to make my own. It is very simple and only takes two ingredients.

One can of Caffeine-free soda

About 1/2 teaspoon of Rose-Grenadine cherry syrup. You might need to tweak the measurements to taste. I think this amount tastes exactly like Wild Cherry Pepsi.

You may be tempted to to use the cap of the cherry syrup to measure, and I’ll go ahead and tell that’s a terrible idea. The syrup will dry and make it impossible top open next time. I hope you enjoy!

A good friend of mine celebrated his birthday recently, and I wanted to make him somethingon a CNC machine as a gift. My friend brews beer and is an avid cyclist. In fact, his beer is on tap at the local bike shop. I Figured the best gift would be a customized bottle opener with a few symbols of his interest engraved into the handle.

First, I ordered the Bottle Opener kit from Inventables.com. I had seen the project online and assumed this kit included the raw parts I could CNC, but instead, the parts were already milled out. I just had to engrave them and apply a finish to the wood before screwing the wooden parts onto the steel plate.

My wife is great at graphics so I asked if she would draw up something nice for me. I wanted each wooden piece of the handle to have an image on both sides so my friend would be able to choose what he wanted the handles to display. My wife gave me 4 good designs to use: one of just my friends name, the other with the word “Brewmaster” a third with a bicycle with my friend’s initials embedded in the wheels, and finally a logo of the beer my friend brews for the bike shop. You can see some of those original images below.

I would need to mill a pocket in some scrap wood exactly the size of the wooden blanks of the bottle opener, stick the blanks into the pocket, and then mill out the designs. This was much tougher than I realized.

The DXF file template from inventables of a the original bottle opener was not the same size as the actual wood blanks, so I had to break out the calipers and scale everything up. Secondly, nothing about the wooden blanks was standard. Each one was a slightly different size and the holes for the screws were in different places.

The process is fairly simple. Take the SVG files of the designs, then import them in some CAM software which will also ask for the size of the endmill (drill bit thingy) and plan a path in XYZ coordinates to mill out the design in the SVG file. There’s lots of different software out there. A good (but slightly pricy) one is Vcarve. There are others out there as well including some free and open source tools. A good free one is Makercam. You can actually download makercam to your computer and use it like a regular program, even though it runs in your browser. Another very simple CAM software is Easel which is made by the people over at inventables. They have lots of projects you can download directly to Easel as well with full settings. I recommend you doublecheck feedrates, bit size and all that before actually using the designs though.

When I made the toolpaths for this design I used a 1/64th inch endmill to mill pockets for everything, including the text. I chose this bit because it was small enough to fit into all of the detailed parts of the designs. I used a pass depth of 0.1 inches, stepover of 0.0061 (which is about 39%). For my spindle speed, I set it to 12,000rpm with a feedrate and plunge rate both set at 1 inch/minute.

I placed a wooden blank in the pocket I had previously milled in the scrap board on the machine and began milling the “Brewmaster” design. It is important to note here that since milling the pocket in the scrap board, I never turned off the CNC machine. This allowed me to keep the same Zero position for my X and Y coordinates between each milling. If I changed this, then none of the designs would line up correctly with the wooden blanks. After the first design was milled I realized the design template from inventables was really wrong about where the holes for the screws had been drilled. So I scaled the design down and tried again. Luckily I bought 2 of the bottle opener kits, so I had extra parts to use in case of a disaster like this.

After about 5 hours of milling, everything was finished. I had to go in and manually clean up the edges of the cuts a little with a razor knife and sand paper. Then I rubbed on a few coats of linseed oil to protect the wood. Any food-safe finish can be used such as Mineral oil or Olive oil, but I happened to have linseed oil in the garage. I forgot to take pictures of the final product, but you can see what one of the blanks looks like. I did both sides of each wood blank, each with a different design so he could flip them around.

The final result looks great, however I mentioned that I had bought 2 of these bottle opener kits from inventables. I kept the other one and after opening about 3 bottles, the metal bent. inventables obviously didn’t use a high grade steel for the opener which is a shame. My buddy probably had the same problem but was too polite to mention it to me. Here’s a shot of mine after I bent the steel back straight. I also didn’t brush mine with oil so it isn’t as nice looking.

If you are interested in electronics and haven’t heard of this class, where have you been? This class is a great introduction to how digital electronics works and for the first time (as far as I know) they’ve opened it up to the public online. It is free to audit the course and they just started March 14th, so it is still Week 1! Here’s the introduction video for the class which gives a great overview of it.

So why is this class so great? Well it starts off with a single piece of electronic digital logic, think of it as a 2×1 lego piece. Then you use connect some of these together to build other more functional lego bricks, like a 2×2 brick, then a 2×4 brick, etc. Eventually you end up building your own Central Processing Unit (CPU), then you learn to code it in Assembly language (the lowest human-readable programming language), then you build up to eventually a full blown computer with keyboard and monitor connections that you can write video games like pong, tetris and slightly more complicated things. That’s about as close to starting from scratch as you can get. The real name of it is “the Elements Of Computer Systems” but everyone called it “From NAND to Tetris in 12 easy steps”. NAND is the type of digital logic gate that you start with.

I know it sounds super hard, but it isn’t!

This class is so well laid out that you can do it in your spare time.

The first half of the book is on their website for free, but you can buy the book for about $30. That’s one of the cheapest textbooks I know of, and it is a really good book to have for reference. The Massively Open Online Course (MOOC) is free to audit, but if you want an official Coursera certificate showing you took it, it’s only $50 or so. Some workplaces let you use that for Professional Development credit. This is some of the most fun PD credit I know of. If you aren’t familiar with MOOCs or Coursera, imagine hundreds or even thousands of people all around the world watching videos that are released about once a week with a lecture and homework assignment. Everyone can communicate in an online forum to help each other out. You can even get your work graded (in some classes). Many courses are free, some you have to pay for. Coursera is one of many places offering these kinds of classes. Heck, MIT and other universities have been posting their courses online for free for years now. MIT will let you earn a fancy certificate too (for a cost).

My tips: I used Logisim to build circuit and simulate the logic gates, but you don’t have to. All the software you need is available for free on the class webpage. If you are familiar with FPGA devices, you can build this computer for reals on a cheap FPGA development board like this guy. Either a Xilinx board with Vivado to build and simulate or Altera boards (<– warning, I’ve never used this one before) using Quartas software to design and simulate it should work. This little CPU isn’t super complicated. I warn that actually building it on one of these boards is no easy task, you’ll have to design stuff that is not covered in the class to get it to work with your particular board.

Google Apps Scripts (GAS) is an interesting tool that you can use to automate tasks using functions built into Google’s powerful APIs. Personally, I couldn’t find a ton of info on the syntax and what-not for the language, but it seems to be javascript with some caveats. (It doesn’t like linebreaks in the code, you use only a single quote for Strings, and it will ignore newline characters in strings “\n”). Oddly though you can’t use the javascript examples from Google’s developer API examples directly (or at least I didn’t have any luck).

As an example project, something I’m working on required me to read the text out of an image then highlight keywords. I broke this down into three steps.

Acquire an image

Use Optical Character Recognition (OCR) to read text

Search and highlight keywords

Background:

I’ll start with giving you access to the finished project code. To run it, you will have to “File–>Make A Copy” of the project. Then follow the steps on this webpage word-for-word to Activate the DriveAPI and developers console and you’ll be fine. Sometimes the developers console site doesn’t want to load, just keep trying it until it works. When you want to run the code, you click on “Publish–>Deploy as web app”. The first time you’ll have to set who you will allow to have access to the app. They will also have access to your google drive if you allow them to execute as your account so be careful. Once you’ve set this, click “Deploy”. Then you’ll get the link to the web app. The first time you run it you will have to give it access rights to your google drive.

The Guts and Explanation:

Luckily while searching, I stumbled across the blog of Amit Agarwal which if full of great example code. For step one, the simplest solution I could find was his code example that uses a custom HTML form upload an image to your google drive account. This might seem like overkill. Why didn’t I just use the fileID of something already in my google Drive? Well, in this particular application, the user might be uploading multiple files from a camera on a mobile device. This form setup seemed to be a simple web-based uploader which gives me complete access to the guts of what’s going on. This will help me get the fileIDs easily for different files.

For the second step, the OCR, I had attempted multiple times and methods for getting an Android native OCR library to work. Every tutorial I found was highly dependant on the version of Android SDK or Eclipse I had, or I would just hit a dead end when I tried to compile. Plus, those would only work on Android, not every device. I really wanted a web app. That’s actually how I stumbled upon Google Apps Scripts again. I had played with it a bit in the past, but this time, after finding some great example OCR code from Amit’s website, I found GAS much more accessible. I added this code to the HTML form example from Step 1 above and tweaked it a bit.

In the original OCR code snippet the script reads an image, then creates a Google Doc with the image followed by the text that it recognized. This file is saved this into the root folder of google drive. Since the uploader code (from Step 1) saved its picture into a subfolder, I made the OCR code save into that same folder. The way to do this is to add a “parents” ID tag to the properties of the OCR file. Since I already had the folderID from the uploader code, that was pretty easy to sort out. This was not super easy to figure out. As I said, I couldn’t find a lot of info on GAS language and this was one of the things that took me a while to find. By looking at how Google’s other services save a file into a subfolder, I was able to do the same thing in GAS. You can see the results below.

I tweaked the form code to print out the URL of the newly created Doc file with the searchable text. I couldn’t figure out how to get logging to work in GAS at all. Every time I tried to run something that should print to the console, a console would briefly appear, but disappear before I could read anything. So I just stuck with having the form print the URLs. Then I could copy and paste them into the address bar to visit the document.

To test the code I printed a page of public domain POE-etry and took a picture of the page with my cellphone to simulate how a user might do. To make sure that I’d get a lot of hits on my text search, I hardcoded the keywords for the search to be the rhyming sounds in the poem. In this case –oor and –ore. Then I uploaded the image to my Google Drive using the HTML form. After a couple of seconds (it takes a couple of seconds to upload) all I needed to do was open the newly created OCR DOC file and see how well the OCR worked.

As I said before, the Google Drive’s OCR process pasts the image into the file, then translates the image to text. Even in normal room lighting at night time it was really good at translating the text and easily searchedand highlighted the keywords I hardcoded. Here’s the resulting file.

I started last year out strong by reading 5 books just in January. That is where my documentation ended, so I had to resort to the virtual trail left behind on my Kindle and in Audible for my yearly stats.

I read 15 books on my kindle. I read at least two books in print. I’m sure this number is higher, but I didn’t put any effort in determining what other books I may have read. I listened to 6 books through Audible.

This puts my last year total at 23+ books. I don’t have a numerical goal for this year. I simply want to get into a more regular habit of reading and documenting my reading progress.

P.S. My reading stats would have been 6 books less without Audible. It is a happy part of my work/home commute. (It feels so productive to “read” while you drive.) If you are interested, you can try Audible out for free; or dive right into a Gold membership (which is what I have).

In my process of simplification last year, I decluttered my entire home and lazily blogged about a bit ofthat process. I’m happy to report that much more decluttering occurred than what was documented. Here is what I learned along the way, along with four ideas for you to try out if you are embarking on decluttering your own place of living.

Idea #1 that worked: Have a garage sale with the aim to get rid as much as possible. Arrange beforehand to have all remaining items lugged away immediately at the end of the sale.

I started off selling items on eBay and later on I held a garage sale. The garage sale rewarded my inner thrift, since we netted a surprising amount of around $500. I posted an offer on Craigslist to pick up whatever was left at the end of the sale for free. This was the best idea of the whole sale. Nothing can compete with someone else lugging your unwanted belongings away for free.

Idea #2 that worked: Let go of making money off your unwanted items. Donate your stuff and feel good about contributing to a worthy cause.

Nothing is as easy as giving your unwanted belongings away for free. It took me awhile to learn this lesson. A friend of mine shared it is was easy for her to give away items because she felt it was her way to pay back thrift stores for all the good finds she purchased over the years. Once I adopted this attitude myself, the process of decluttering went more smoothly. To be completely honest, it was easier to adopt this attitude because I had already sold most of the things that I considered to be big ticket items.

Idea #3 that worked: Start and finish a focus area in the same day.

I made a list in the very beginning of the all areas in my home that I wished to declutter (which was every area). I tackled one area at a time. Sometimes this was a room, a portion of a room, or a a specific object (like books). I kept my focus on that one area until it was finished. Many time this meant I physically stayed in that location until I was done. If any item needed to be moved somewhere else, I did not do it then. I made a little pile to move at the end. I did most of decluttering on weekend days because I also aimed to finish that focus area in one day. I needed more time to complete each area than I had the time and energy for after work.

Idea #4 that worked: Realize that decluttering is a never-ending process that is just as much about yourself as it is about your stuff.

Since I gave myself an entire year for this process, it was an attainable goal. Still, over the year I realized that decluttering will never be finished. We constantly bring things into our lives so we need to constantly get rid of things in our lives. This is a skill that we sharpen with practice. Sometimes when I decluttered a space I didn’t do a good job because I held onto items I didn’t need. Then I had to revisit the same space again. This heightened my “declutter” radar, which made future decluttering efforts more effective. Now I am more considerate of what I take into my home to begin with and more easily get rid of what I do not need.

Ready Player One starts out very promising with a good post-apocolyptic cyber-punkish feel set in the year 2044. But it quickly turns into an episode of MTV’s “I love the 80s”. You can’t get 3 sentences without the author name-dropping some 80’s cartoon/movie/actor/band/song.

Synopsis (no spoils):

The premise of the story is that there was a game designer from the 1980s who creates the best gaming system in the world over the next few decades. It is an entire virtual universe. People connect to this virtual universe (called the OASIS) using virtual reality goggles and haptic feedback sensors such as gloves or a body suit. Different worlds seem to be massively multiplayer games that have all the best parts of all the popular PC games such as The Sims, Spore, World of Warcraft, etc.

The creator of this system filled it with 1980s memorabilia. Entire planets are designed to look and feel exactly like the player is re-living the 1980s. The creator has died (being 70-something years old in 2044…) but he hid a special easteregg in the OASIS system. All the players are trying to find it because it will give you control of the entire system. The system is worth billions of dollars. As this is a dystopian novel there’s an evil supercorporation also vying for the easter egg.

That’s all I can say without giving too much away, but what I take issue with is the focus on the 1980s. With more focus on the story or the characters, this could be a great book but instead it’s about 50 pages of story and about 320 pages of 80s references.

Do you remember the 80s? It sucked. The music, the clothing styles, the color schemes used on everything… gah. I’m reminded of it every time I see some hipster doofus with skinny jeans or listen to the radio nowadays. I think of the 80s as almost like the dark ages of style… except you can’t call it the dark ages… maybe the NEON ages. This book simply panders to hipsters that like saying “Hey man, remember Cyndi Lauper’s “Time after Time”? Remember Wham and Devo? Remember the TRS-80 computer? Remember Galaga arcade games? Remember the Goonies? Weren’t those things just the best!?” (This is not hyperbole. These are just a few of the hundreds of needless 80s references, practically 2 per page in the 350+ page book!)

Now I’m all for 80s video games. I’m not a gamer but I appreciate the art and the ingenuity of games. In fact, I prefer some of the 80s era video games over games nowadays because of the programming tricks that were involved to get certain features out of the very limited hardware. The programmers had to be very clever to even get some systems to draw full screen color graphics. Nowadays, no one thinks much about that kind of thing because every system has gigabytes of RAM, GPUs that can handle all sorts of crazy 3D rendering and multicore processors. While there is certainly amazing work done nowadays, I feel that the 80s were a special time in video game history that should be appreciated. Unfortunately the way this was done in Ready Player One left a bad taste in my mouth.

I’ve heard they are making a movie out of this book. I admit while reading it, I could easily see it as a movie, but this is mainly because this movie has already been made. There’s nothing novel here whatsoever. If you take some random distopian/cyber punk 80s movies, add a dash of video game story lines from over the last 30 years, and a pinch of Hackers (from the mid 90s), mix them all together, you get this movie. I was much more interested in the book/movie The Martian by Andy and hopefully they will make a movie of Wool (the Silo Series) by Hugh Howey which came out around the same time but is much better.

All together I give it a 2 out of 5 rating based on the story itself and for wasting my time with all the reminders of a horrible decade for style (since for some reason I did read the whole book).

</rant>

Appendix:

At random, I flipped to a page in the book (page 106). Here are the references for just that one page. Mind you, this book is set in the year 2044:

Dungeons of Daggorath

Vector-graphics

cassette decks (in this case being used to upload a computer game)

Conan the Barbarian

Ladyhawke

Wizards (I’m counting this because of the context and all sorts of games/movies in the 80s had wizards in them)