Studio Neat's Panobook launch came and went in 2017. Like many pieces of gear, I wanted one; I resisted ordering via their Kickstarter, though, thinking that a $20 notebook would just be a waste of money. Then I saw their Totebook , and still managed to avoid ordering. The need for a notebook of some kind arose again when I planned to take a home study habit more seriously. My iPad and my computer…
The debugger is invaluable while writing any kind of program, but sometimes Swift's type safety makes debugging more difficult than Objective-C. My most common stumbling block in Swift is calling a method with just the address of an object 1 . A discussion on the #swift-lang IRC channel finally prompted me to come up with something. LLDB While paused at a breakpoint in LLDB, given an object's…
I wrote about using TagLib in an Xcode project last month, just after I thought I was ready to go with it. But as I read the TagLib documentation, I realized that my assumptions were wrong. TagLib's C bindings expose only a very basic set of functionality. Most features, including the parts that I wanted to use, are usable only using the C++ framework directly. That means developing in…
Update 11/15/15: TagLib's C bindings are quite limited, as I found out after writing this article. I wrote a bit more about my experience in a follow-up post . The information here may be useful regardless, so I'm leaving it be. I went looking for Mac OS X-compatible library for editing MP3 ID3v2 tags. TagLib 1.9.1 sounds fit for my purposes, but I ran into a few issues getting started with it.…
Onshape , the browser- and iOS-supporting CAD software, has a revolve feature, to turn a 2D sketch into a 3D object with radial symmetry. To create a surface using revolve, create a sketch, choose a line to use as the revolve axis 1 , and select shell when using the revolve feature. A surface usually isn't what you want to make using revolve, after all, it isn't even the default output of revolve!…