The Atomic Designers recently got together to work on an internal project. One of my favorite things was seeing how my fellow atoms used their design tools. In particular, I learned a few new Sketch shortcuts and techniques to use. We have been using Sketch at Atomic for sometime now, and we’ve all come to enjoy using it.
In the spirit of sharing, I have compiled my newly updated list of most useful Sketch keyboard shortcuts.
- Presentation Mode – cmd + .
- View all artboards – cmd + 1
- Group Layers – cmd + g
- View/hide Layout – ctrl + l
- Move layers back/front – opt + cmd + arrow
- Color picker – ctrl + c
One of the most important concepts is how scope binds to “this”.
I just got back from the Business of Software Conference in Boston. It was my third time attending, but my first time since 2010. Overall, this year’s conference was once again a positive experience.
When I attend conferences, I always strive to take good notes during the presentations. Recently, I’ve also made an effort to keep a separate page of notes that’s reserved for the top nuggets of inspiration that I learn or ideas that come to me during the presentations and networking. These nuggets and ideas are not necessarily the key topics or points of the presentations. They are simply my subtle takeaways.
These are my nuggets of inspiration from BoSC 2014: Read More
I recently found myself needing to blast the data off of some old hard drives, and DBAN is a wonderful tool for this task. That said, I still bumped into some trouble getting it setup and running; in this post, I’ll share what I learned so that you can get it running more quickly than I did.
DBAN is great for wiping old drives. Image credit dban.org.
In summary, the steps are :
- Download DBAN and UNetbootin.
- Use UNetbootin to flash the DBAN image onto a USB drive.
- Follow Alex Pounds’s steps for fixing the configuration files on the USB drive. Thanks, Alex.
- Boot up with the DBAN drive and start wiping that old data!
In the past few months, three new Atoms have joined our molecule – one in Ann Arbor and two in Detroit. I asked each of them to tell me a little about themselves and to share their favorite thing about Atomic Object so far.
“I’ve been a software developer for many years, but almost always working on a team of one. Joining AO has been an opportunity for me to learn how to work together with other makers with a passion for quality like mine. I feel like I’ve only just got started, but I’ve learned so much already, and am looking forward to continuing to learn and grow on that front, thanks to my awesome co-makers.”
Matt is the newest developer in the Ann Arbor office, where he’s been working on a project for RouteOne. Read More
First announced almost a month ago, Shellshock continues to endanger un-patched web servers and Linux devices. So what is it? How can you tell if you’re vulnerable? And how can it be addressed?
What Is Shellshock?
Shellshock is a vulnerability in the
bash software program. Bash is a shell, installed to Linux and other operating systems in the Unix family. A shell is a software component that is deeply integrated into the operating system, which is what makes this vulnerability so insidious.
The Shellshock vulnerability is a bug in the parser. It was first introduced more than 20 years ago when a feature to allow exporting functions was added. The danger is that an attacker who could control the content of an environment variable could potentially execute arbitrary code on a vulnerable system. Remote code execution (RCE) vulnerabilities (also called “arbitrary code execution” vulnerabilities) are among the most dangerous. Paired with privilege escalation vulnerabilities or poor security practices (e.g. allowing web servers to run as privileged users), unaddressed arbitrary code execution vulnerabilities can lead to the complete takeover of vulnerable systems. Read More
Google Protocol Buffers have become a very popular serialization mechanism for simple to complex/variant data structures. Due to the variation of message formats in a given protocol, the presence and/or lack of fields on an ad-hoc basis makes implementation in the C language somewhat of a challenge.
Three Protocol Buffers Libraries for C
Thanks to the open-source world, a couple of valid options exist, but choosing the right one depends on the complexity of the protocol and memory/performance requirements.
Google Protocol Buffers for C++
The obvious first choice may seem to go right to the source. Google’s Protocol Buffer Compiler supports the generation of a C++ protocol implementation from a .proto specification. Though you are developing in C, and your complier supports C++, you could use the C++ API directly from C, or at least create a C wrapper for the target protocol.
- Pros: Formally supported by Google, bleeding edge
- Cons: Well, it’s C++ and does lots of dynamic memory allocation
Posted in C & C++ Tagged buffers, c
When I started at Atomic, I had never participated in or conducted a usability test. In true AO teach-and-learn fashion, I’ve since then been a part of user testing on all of the major projects that I’ve been on since I started almost a year ago.
I have a few concrete take aways that I would want to hear if I were going back and learning about usability testing all over again.
1. Sit in on a test first.
This is probably obvious. But be sure to sit in on a test first, and not as the lead facilitator. See how your teammates run tests, and be there to ask supporting questions and take notes. I recommend pen and paper notes so that you don’t intimidate the tester with the clicking of a keyboard after every comment. Read More
Life gets crazy, and things slip our minds. A great discovery, a bug, or a general direction we were taking our code can get lost between development sessions.
In my personal projects, where time between development sessions can be days or weeks, I have been keeping a development journal. As much as it takes an additional couple minutes, it allows me to express intent and task my future self with necessary work.