A couple mockups for an audio preamp display using dirt cheap character LCDs and the BigCrystal library for Arduino.
Category: Expression
Arduino support for Komodo Edit
I’ve added basic Arduino support to Komodo Edit for projects that use a Makefile. This simply involved adding a menu and a toolbar for invoking make
, make upload
, make monitor
, and make clean
.
If you want to add the menu and toolbar to your Komodo, expand this file and drop its contents into your /home/<username>/.komodoedit/<version-number>/tools
directory or the equivalent on your OS. (Update: see this comment for a potentially easier way to add the tools.) Add your preferred keyboard shortcuts for any or all of the commands by editing the items under “Arduino” in the Toolbox. I’m using F5 to Build, F6 to Upload, and F7 to Monitor.
To enable syntax highlighting on .ino
files, add a new entry for *.ino
files in Preferences | File Associations and set the Language to C++.
This setup gives me a good set of features I want, including the ability to:
- Edit files with a full-featured programmer’s editor.
- Perform the most used operations with keystrokes or GUI bits.
- Create projects to encapsulate all relevant project files.
- Navigate to all relevant project files from within the same environment.
- View the results of building, uploading, and cleaning the project in the same environment.
Features notably absent are syntax checking and code completion. Komodo doesn’t currently parse/compile C/C++, so adding these features may be possible, but it won’t be easy.
Battle of the Arduino Makefiles
So, I’m shopping for alternatives to the official Arduino IDE that better suit the projects I’m working on. In this installment, I look at two promising Makefile implementations to see if either come through as a workable solution. One of the attractive things about a Makefile approach is that you should be able to wire it up to your favorite editor du jour.
Arduino IDE alternatives
My Arduino work has gotten to the point where I find the official IDE a little constraining. I’m not alone in this. A quick search will reveal that there are lots of people working on different approaches to making the development process more scalable and otherwise more powerful. Some are developing alternative IDEs, some are working on integration with existing IDEs, and yet others are working on Makefile and Cmake based scripted solutions.
It’s important to remember that Arduino was intended for use by designers and artists—and to leverage as much as possible what those users were already used to with Processing. The official IDE succeeds remarkably in that, something for which the developers must be congratulated. The fact that more advanced users are seeking other ways to develop for the platform is in fact a testament to the success of the overall design.
<flame>
In spite of this, there is a (tiny?) cult of people who find sport in bashing the official IDE for <insert sin here>. It’s important to remember that Arduino wasn’t designed for you. The reason that Arduino is as successful as it is—the reason the community is so large and diverse, the reason there are so many libraries for tackling the kind of things you want to do, the reason the hardware is so plentiful—is because the people behind it made it as accessible as they did. So, please dial down the negavibes and be happy to be part of a community that will (let you) build (advanced) tools for your favorite tools.</flame>
An incomplete list of completely unvetted libre alternatives for Linux includes:
- Special-purpose IDEs
- Integration with existing IDEs
- Makefile-ish
- Arduino Makefile (ed.am)
- Arduino-Makefile (github.com/sudar)
- Arduino_Makefile_master (github.com/xxxajk)
- ArduinoDevel (github.com/arons)
- arduino-cmake
- Build using Cmake
- Ino
There is a page at the Arduino wiki on the subject as well. Some of the alternatives listed above appear abandoned and/or otherwise obsolete, so caution is advised.
In the upcoming days, I’ll be working with these options to try to find something that better suits the scale of the projects I am now working on. I’ll report back anything interesting.
Box jointing
I spent the afternoon with the muy talented Jason Holtz learning the inner secrets of box joints. Jason is a master woodworker and furniture designer with clients all over the country. I seriously recommend you check him out if you’re looking for custom or prototype work.
I’ll be turning the above into something more interesting in the upcoming days (i.e., weeks). Stay tuned.
Meanwhile, back in Istanbul …
I’ve been in Istanbul for the last week or so. It’s been about a human gestation period since I was last here, and it’s unmistakable that the trend of building more, higher, and brighter has continued unabated.
Pastiche is an approach that’s not uncommon to new-money endeavors, and it’s no surprise that it’s common here. The biggest source of inspiration for the new designs seems to be iconic government projects, large-scale residential structures, and skyscrapers from Russia, Germany, the Netherlands, and other European countries whose cities are built on Cartestian street plans.
The biggest problem with this is that almost nowhere in Istanbul are streets Cartesian. Nor are they radial. Rather, the streets and highways of Istanbul were determined, as one historian put it, by topography. Which is another way of saying that Istanbul’s roads developed in a very ad-hoc fashion. Some think it lends the city some of its charm.
What this means for the increasingly dense structure of new and tall buildings—already a mishmash of pastiche—is that each has a different orientation. You don’t get rows or arcs of buildings; rather you get a hodgepodge of orientations that the hodgepodge of styles simply aren’t suited to. Nothing relates to anything. Little islands of egocentricity and local optimization. An underscoring of the chaos of life in Istanbul.
Whether this will end up increasing the city’s charm remains to be seen.
The little Duck that could
DuckDuckGo, the search engine that emphasizes user privacy and popping the filter bubble, recently rolled out a redesign. I think it’s lovely, effective, and awesome. Congratulations to all involved.
Eno’s engaging eloquence
Enjoy.
(via)
U of M Toy Product Design (again)
As I did last year, this year I again helped critique student work for Barry Kudrowitz’s Toy Product Design course at the University of Minnesota. Lots of interesting ideas from enthusiastic minds.
enchant.js | More examples
enchant.js | More examples picks up where enchant.js | Fundamentals leaves off (blog post). Enjoy.