This is part two of a two-part series on tools and practices for maintaining a healthy and effective remote team. In part one, I discussed infrastructure and tools for remote teams. In this second part, I’ll be focusing on day-to-day practices and attitudes. As with part one, this advice is not only for remote teams — you’ll find it beneficial even if you work on a co-located team.
The central tenet of maintaining a healthy and effective team is to make morale, cohesion, and communication a priority. Read More »
I’m sure Chuck would disagree with that statement, as he reminded us of the value of sitting and watching the ocean for a while. And Nicolai gave a concrete example: one day while driving through the the midwest United States, he noticed the slightly undulating hills in the landscape in a way he has not noticed before. It inspired him to draw out some quick sketches — sketches that ultimately became Haworth’s Resonate. Read More »
Are preschoolers smarter than college students? When it comes to figuring out gadgets and iPhone apps, it certainly does seem that way sometimes.
I heard an interesting piece on NPR several weeks back about this very issue. Researchers at the University of California, Berkeley, have found that 3- and 4-year-olds use a different process than older children and adults to figure out how things work. In experiments conducted by the researchers, children had to figure out how to operate a specially designed music box. According to the NPR story, “Children try a variety of novel ideas and unusual strategies to get the gadget to go.” For that reason they are often quicker to figure out how novel technologies work.
As we age, we start to expect things to work a certain way. And when new gadgets don’t meet our expectations, we struggle with them. Read More »
There’s a very small number of apps on my Macbook, but Frank Deloupe has made the cut. It’s a beautifully simple color picker that integrates with Adobe Photoshop and offers a number of very useful features. So far, it’s been well worth the $0.99 price tag.
Frank Deloupe’s Features
Highly accurate color picker. – Frank Deloupe allows you to select from many color profiles, including RGB, RGBA, and Hex codes with or without the ‘#’ symbol. The ‘loupe’ will pick colors down to the individual pixel.
I needed to do a simple animation on my iOS project recently, and I was frustrated by how difficult it turned out to be. I wasn’t writing a game, so I didn’t need to bring in the power of the Sprite Kit libraries. All I needed was to show a series of images in a UIImageView.
My first attempt was to use the UIImageView.animationImages api to do my animation. This was incredibly easy, but very limiting. After the animation was complete, I needed to show the last frame of the animation in the UIImageView. This proved to be very difficult if not impossible with the animationImages API. After the animation completes, the UIImageView is reset to the original image that was displayed before the animation started. If my animation had been symmetric, it would not have been a problem.
Attempt #1 – Using the AnimationImages Property for Animation
This API is really simple. Load up a series of images in an array and set the UIImageView.animationImages property to that array of images. Next tell the UIImageView how long your animation is and whether to repeat the animation and call start. It is that easy. Read More »
I’ve used many languages for my scripting needs, but my favorite — believe it or not — is probably Bash. Bash may not have any types, and scripting with Bash may be fraught with pitfalls, but sometimes the problem at hand is solved most succinctly and elegantly with small focused programs that compose well.
Bash’s composition comes in the form of piping one program’s output into the next program. No program needs to know where its input comes from, just like Lego blocks don’t care what block they stack on. This is an incredibly useful approach. For instance, take a look at how easy it is process the contents of the clipboard:
pbpaste | base64 | pbcopy
We just base64-encoded whatever was in the clipboard (at least, on Mac OS X; Linux has similar programs under different names, and on Windows you may need to write your own versions of pbpaste and pbcopy). You can use pbpaste and pbcopy and the rest of the Bash toolbox to do whatever processing of clipboard text you have in mind, and thanks to pipes, you can do it very concisely. Read More »
Atomic Object builds custom software for our customers. Because of the complexity involved in building a great software product, software development projects are always more difficult to price than a product.
As a result two different strategies for pricing services, such as building software, have traditionally been used by most companies. These are called “Fixed Price” and “Time And Materials”.
A Fixed Price strategy locks in the total price of the project upfront.
Static Variables: Scope, Cost
Flexible Variable: Quality
Assumption: The estimate and plan are correct and will not need to be changed.
Risk: On Consultant (Responds by inflating cost; may compromise quality if estimates are inaccurate.)
Effect of New Information: Causes conflict about what’s covered by the scope vs. what requires a change order. New ideas are rarely incorporated.
In this strategy, the vendor is taking on all the financial risk of a project. They have committed to completing the project for a specific price. If they complete the job early, it’s a bonus for the vendor (and you the client has overpaid), if they don’t then the vendor loses. In order to mitigate this risk, they will want to know all that can be known about this project and the risks before it will commit to a fixed price. Read More »
I always find myself unintentionally bragging about my job to Facebook, my friends and family – and recently, I took a survey for the 2014 Crain’s Cool Places to Work in Michigan. It motivated me to give my perspective as to why I love my job and why working at Atomic Object is so flipping awesome!
Respect & Encouragement
I’m on the A Team! – My boss Shawn once explained to me that everyone who works for Atomic is part of the A-team and that we don’t have room for a B-team. And if you met some of my co-workers you’d understand why. I work with some of the most brilliant individuals in the industry and it rocks for me to be apart of the team!
Our bosses trust us. – Since we are the A-team our bosses trust us to do a great job. No micro managing exists here.
1 on 1’s – Once a quarter our Managing Partners take time out of their busy schedules to check in with each and everyone of us to check in to see how we’re doing. They care about our well-being and want to provide us the opportunity to share any concerns, worries, or excitements!
Recently, I was spinning up an extremely simple Rails 4 project, which was to serve as a portal to several other applications deployed on the same Jetty instance. This was not my first JRuby on Rails rodeo, so I was expecting a smooth deployment.
When I deployed the WAR into a Jetty instance on my local machine, neither the CSS nor images were being served correctly. The application server was giving me a 200 return code with the correct content length header, and then giving me a zero-byte response. Having never encountered this issue before, I talked to my pair on the project, who was standing up a separate Rails 4 app for the same application server. He was seeing it too. We compared notes. Heads were scratched. Read More »