GitHub released Atom today! I was lucky enough to score an invite and have been playing around with it for a few hours. So far it’s easily on par with Sublime Text 3 (my current editor) and may have surpassed it already with how easy it is to extend. I’ve already published four packages:
Now it feels like I’m back in Sublime! Now we’ll see how the actual flow of day-to-day coding feels.
There are a few things I love doing: computer programming, playing around with electronics, and driving in the dirt in my truck. I finally found a way to combine them into one glorious pursuit.
Introducing the Cameron Tech Offroad CPU!
It’s a Arudino-based sensor unit and display that you can put in your truck and brag about how close you came to tipping over, or how high you climbed on your last mountain run. I spent a couple of months prototyping it and talking about it on the Tacoma World forums with a bunch of guys and girls that can get geeky about this kind of thing, too.
I’m selling them on my store at camerontech.io. You can get the parts kit and assemble it yourself or get it preassembled by me. Just add power and you’re ready to go. Here’s everything it can do:
The next thing I’m working on is some kind of enclosure for those that don’t want to brave working with raw circuit boards.
I’m not exactly building this piece of hardware in a traditional manner:
First, it’s completely open source. That means you can get the software, the schematics for the hardware and the bill of materials all for free and make it yourself without giving me a dime. As a software developer I rely on open source software every day to get my job done and I contribute everything I can back to the movement. Open source makes my life easier and I want to return the favor.
Second: you can upgrade it. Rather than solder everything together and tricking you into buying a new one if I come up with some new software features, you can remove the main chip, reprogram it (with an Arudino) or replace it for a couple of bucks, and you’re right back to the state of the art. No planned obsolescence here.
So if you’ve got a truck or SUV that you take offroad, pick of these up and see how XTREME you really are. (Notice I used an “X” to make it even more EXTREME to the MAX!)
On a personal note, I’d like to say that it’s almost unbelievable to me that I was able to make this thing. When I started I had no experience designing circuit boards and what I’d classify as a beginner’s knowledge of electronics. But there is so much free information available online that I was able to teach myself everything I needed to know in an unbelievably short period of time.
All of that, plus the fact that I’m able to build, sell and ship them myself…it blows my mind that at this point in history, with the tools we have available, a single person can become their own personal factory and distribution center. We’re in the midst of the next industrial revolution!
My self-contained CNC controller is coming along nicely! Just got the screen. @inventables @shapeoko
I always thought of
Array#empty? as being opposites of each other. Which they are, until
nil gets involved:
[nil].any? #=> false [nil].empty? #=> false
In this case
.empty? is returning the result I want.
The annual Riding-on-the-BMW-motorcycle-at-the-car-show photo (at San Diego International Auto Show)
You probably know about
rake stats: that neat task that breaks down your app by class type and tells you how many lines of code and lines of test code you have:
But if you add your own directories to the
app they won’t show here without a little extra work. For this demo let’s assume I added
First create a new file in
lib/tasks that ends in
.rake. I named mine after my application, so it’s
omakase.rake. Add the following:
task :stats => "omakase:stats" namespace :omakase do task :stats do require 'rails/code_statistics' ::STATS_DIRECTORIES << ["Services", "app/services"] ::STATS_DIRECTORIES << ["Services Tests", "test/services"] end end
The first line takes our new custom omakase:stats task and makes it run when you use rake stats.
Run rake stats and you’ll see additional lines for “Services” and “Services Tests.” Awesome! The only problem is that the “Services Tests” code doesn’t count towards “Test LOC”—the task assumes they’re just more code. We need to add one additional line to our task file:
task :stats => "omakase:stats" namespace :omakase do task :stats do require 'rails/code_statistics' ::STATS_DIRECTORIES << ["Services", "app/services"] ::STATS_DIRECTORIES << ["Services Tests", "test/services"] CodeStatistics::TEST_TYPES << 'Services Tests' end end
Now the the
test/services directory will count towards the “Test LOC” instead of the “Code LOC” metric.
Cartoons taught me that elephants drank through their noses like a straw. Lies! (at San Diego Zoo Safari Park)
Core Memory. A little magnetic torus that can be magnetized clockwise or counter-clockwise to store one bit. Reading the bit causes it to be erased. Ahh the good ol’ days! (at USS Midway Museum)
Computing! (at USS Midway Museum)
After three days of intense work with @tpdubs2 my new company’s site is going live today:
Omakase is a new kind of charity. We want to make it dead simple to give to charity and know that your donation is going to a worthy cause. Or several causes.
You pick how much you want to donate each month, enter your credit card, and you’re done. There are a lot of people out there who are well off and would like to give to charity but are just too busy to research and select one on their own. That’s where we come in.
Each quarter we research, interview and select five charities. We have several criteria that we select for. Your monthly donation ($10, $25 or $50) will be split among the five charities selected that quarter. No picking and choosing, no balancing money across different endeavors, no options. We truly embody the meaning of the Japanese word “omakase”: “I’ll leave it to you.”
At the end of the quarter you get a fancy report in your inbox showing you where your money went, who and how you helped. At the end of the year we send an email summarizing how much you contributed so you can deduct your contribution from your taxes. You won’t get a weekly newsletter or emails begging you to give more—we hate spam as much as you.
After you donate we give you a unique link to share with others. If any friends sign up using that link then we’ll report back to you how much they donated, and their friends donated—all thanks to you. You can see your network of giving growing as the word is spread. It’s like a pyramid scheme—but for good!
So, think you can afford to part with an extra $10 each month? Why not do good with it?