Are you going to CES? We’ll be there. We expect to see some exciting breakthroughs in virtual reality (VR), augmented reality (AR) and mixed reality (MR) as well as new innovations in pro-audio equipment, Internet of Things (IoT) devices, and much more. It looks like...read more
As we reach the end of 2016, let’s take a look at some of the stuff we wrote about over the course of the year. We shared our thoughts on custom software development, looking at the such things as: the differences between composing and improvising; the value of refactoring; the nuances of following a lean-startup model; the conflict between Apple and the FBI; what happens when bad projects happen to good people; and a top ten list of the ways in which software development is like parenting.read more
Paul I resolve to brighten the lives and businesses of our clients and partners at every touch point. I resolve to be more creative and persistent in uncovering the deepest and most meaningful ways in which we can impact our clients' and partners' success. I resolve...read more
In the world of software consulting, it can be virtually impossible to determine what the fair market value for software development is. Nobody estimates work according to the same parameters: some firms have differing rates for differing services, some have offshore development services, some won’t provide a meaningful estimate at all (and for good reason).read more
I was recently given the opportunity to present myself as a “thought leader for my industry.” I’ve been pondering this. What do I know? What do I know so deeply and fully that others might want to hear my opinions on? Not much, it seems. Actually, I don’t have nearly as many answers as I have questions. But more than this, it’s the questions that really keep me interested. Here’s an example.read more
The goal Upgrade home-office security and take the opportunity to join the Star Trek generation of smart-home IoT. Exec summary Describe my experience installing and configuring a couple of Schlage Sense smart-locks and configuring them to connect to a couple of Apple...read more
I love my smartphone. Like many of us today, I couldn’t live without my phone. I don’t do anything these days until my phone tells me I need to do it. Ok. Maybe slightly hyperbolic, but I can certainly say without exaggeration that I’m a more organized and productive person because of my phone.
But, the idea of a smart, wearable device? I didn’t get the point of it. Why would I want to take the functionality of my phone and compress it into an even smaller screen? It’s already tough enough to navigate my 4.7-inch smartphone. The idea of navigating an interface only slightly larger than a postage stamp was laughable.read more
In the early years of Art & Logic, my wife and I liked to visit a small inn in Palm Springs called Villa Royale. It was lovely. Each room was decorated in a different European country theme. The proprietors traveled frequently and brought back regional artifacts...read more
One of our developers was recently talking about a personal milestone that happened to mark both his 20th year at Art & Logic as well as his son’s 20th birthday. That got me thinking about how much parenting and software actually have in common. For instance......read more
In 2006, Wired Magazine published an article entitled “What Kind of Genius Are you?” The article highlights the work of economist David Galenson (currently a professor at the University of Chicago). Galenson is famous for postulating that artists fall into two classes: Conceptualists and Experimentalists. Conceptualists innovate radically, rapidly, and usually at early ages. The Wired article calls Picasso the archetype of Conceptual Innovation. Picasso upended modern art by inventing Cubism in his early 20’s.read more
Refactoring is necessary. Especially on, though not limited to, large or complex projects developed over an extended period of time (say, more than 4 months). To understand refactoring, you must understand a few core concepts about software development:
It is a collaborative endeavor involving many technical roles (developers, testers, designers, database architects) and multiple business roles (the users, the project managers, client stakeholders, product managers, etc). A software project does not come from a single “pen” but from multiple authors, all writing the same book.read more
Why would developers or other technology-driven companies hire a development firm? It happens more often than you think, and maybe not for the reasons you would expect. Sometimes developers (by which we also mean in-house teams at technology companies) always use outside software developers because they do not actually build stuff in-house. More often than not, however, we find that companies with in-house software engineers find themselves in need of outside help for a variety of reasons, five of which we’ll address here.read more
I sat on the hotel room floor, surrounded by guitars, keyboards, and gadgets, doodling on a complimentary Holiday Inn notepad. Dad tinkered with a motherboard as his soldering iron glowed, delicately balanced on the edge of an ashtray. The smell of pork chops, rice and beans wafted through the air as mom worked her magic on our portable double burner stove. I sat on the floor, glued to the television. It was that very moment the iconic M came to life and made its beautiful debut.read more
Will hearables be the next big thing? One recent study by Juniper Research suggests that it could reach $5 billion in revenue by 2020. That’s quite a leap from the current revenue of roughly $1 billion worldwide. But what are hearables and why would you want to develop this kind of IoT device?read more
You’ll see three kinds of hikers on the trail: The ones who seem to float on their tippy-toes from the crest of one granite stone to the next; the ones who seem to swim up through the leaf and boulder strewn path like fish gracefully navigating invisible waters; and those who look miserable — jolted with every step as the stutter and drop and climb, gracelessly jarring knees and ankles and backs.read more
Aside from the obvious examples, wearable tech has been all over the place at the Rio games. Olympic boxer, Tommy Duquette, for example, trained using a sensor that he helped develop. Worn on the boxer’s wraps, the sensor is designed to calculate the number of punches a fighter throws, as well as the speed, striking intensity and type of punch (jab, cross, left or right power).read more
So, I’m working on a side project (as one does), and reach the point in development where I need to be able to take a tree of objects that all share a common base class and persist them to and from disk.
I prefer using plain text files to binary for a bunch of different reasons, so the problem really boils down to:
At runtime, I need to be able to convert a string containing the name of a class into a pointer to an object of the corresponding C++ class. Sounds simple, right?
So, it has come to this.
Reports, yes, your application will have to have reports – in brand colours, with images and logos abounding, and probably festooned with graphs of various sizes, shapes and degrees of relevance to what was once a nice, streamlined set of data. This report has just become a part of the application ‘product’, meant not just to communicate, but also to entice and enthrall. Form has become just as important as function… and, did I forget to mention? It also needs to be exportable.
Children’s Miracle Network Hospitals launched a nationwide “Vote for Miracles” campaign today, celebrating the 20th anniversary of the Credit Unions for Kids program. From November 29 through December 20, credit unions and the general public are invited to cast their votes to support their favorite CMN Hospital.
This new book from Gregory T. Brown (@practicingdev) provides a fresh look at the skills and habits that modern software developers need to possess in order to advance past the stage of slinging code around. The most clever code in the world is useless if it’s solving the wrong problem, or solving the right problem in the wrong way, whether that’s because it only addresses a user’s needs tangentially, or is brittle in the face of real world constraints. None of us should settle for being just a code monkey.