Peter implemented the paper’s CHAMP algorithm in ClojureScript resulting in 2x performance improvements for iteration and 10–100x improvements for equality checking.
That means that equality checking using the CHAMP algorithm in ClojureScript improves by an order of magnitude in the worst case, when hash maps don’t share structure, and by two orders of magnitude in the case where hash maps share the same structure. Coming from a background in biological sciences, it’s rare to see such definitive results!
Most employers will want to spend significant time on-boarding and mentoring junior devs before considering them independent contributors. Though junior developers are needed and employers want to provide a strong foundation, that ramp up time is expensive.
It’s easier to invest in a junior candidate if they demonstrate that the on-boarding period is money well spent. Dedicated, curious juniors are priceless. As bootcamps continue to saturate the market for junior developers, junior candidates of all stripes are wise to differentiate themselves. Here are some tips on how to have an edge.
N.B.: You don’t have to follow all of these…
There are many different types of extensions you could write (see this Apple Programming Guide for more examples), but we’ll limit ourselves to looking at the more general Action Extension.
I put together a short guide to creating the Extensions here.
Originally published at www.promptworks.com on March 5, 2017.
Carl Jung defines these as universal, mythic patterns of human elements that are steeped in our culture, our religions, our art, our dreams. They appear to us autonomously and sometimes hidden away, buried deep inside us. Archetypes sit in our collective unconscious, residing there quietly until they surface to consciousness where we deduce their existence through consistent patterns of behavior and interactions.
Deduce… pfft! Carl should have sat in on my meetings, where archetypes routinely run amok.
Agile practitioners, it’s important to know who’s in your meetings. We deal with stories daily, we design grand plans and schemes, we take…
At first, the thought of having to write native modules intimidated me, but as it turns out, it’s pretty simple. This post aims to de-mystify writing native modules and show how easy it can be with React Native.
On a recent client project at PromptWorks, we needed to be able to prevent the user from performing an action that would play a sound if their volume was not turned up high enough. …
We’ll learn what a “verified commit” is in Git, and how you can verify your commits in GitHub using keys from your Keybase.io account.
Originally published at www.promptworks.com on February 13, 2017.
Storing and distributing runtime secrets continues to be an area of focus for the DevOps community. AWS Key Management Service used in conjunction with S3 and IAM offers a lightweight option and eliminates the need for an additional deployment dependency. To make it easier for developers, we decided to wrap it up into a CLI so you can instantly get the benefits without having to understand the intricacies of AWS KMS and IAM. Check it out on GitHub.
1 git clone -o github https://github.com/promptworks/aws-secrets
2 cd aws-secrets && make install
1 aws-secrets-init-resources my-app-name
2 echo "export SECRET_KEY=xyzzy" > my-app-env
Mike was asked about our hiring process, what it takes to be a developer at PromptWorks, and what you should know before entering the tech industry.
“We look for people who ‘get things done.’ In other words, we’re looking for those who have a balance of pragmatism and perfectionism. Doing great work for our clients takes both. We want people who strive to write beautiful, maintainable, easy-to-understand code, but can still take a ball of mud inherited from another development shop and slowly work it into something great.”
All of our interactions are, in some sense, rooted within a particular stratum of trust. We interact with the coffee shop barista in a very different way than we do with our spouse or a stranger on the street. I’ve got nothing against Denise at the local Starbucks, but I’m just not going to share my deepest emotions with her, and (hopefully) nor will she share hers with me.
This social interaction analogy, however, reveals a missing component in the discussion of trust as it relates to UX. It’s always described as one-way.
We as software designers and developers need…
So far we’ve completed a handful of projects in Elixir, and we’re finding Elixir and Phoenix to be at least as productive as Ruby and Python web frameworks. While the ecosystem hasn’t yet fully matured, we believe that Elixir will surpass competitors soon enough. Ruby and Rails are still great tools and have maintained the productivity advantages over PHP or Java that caused us to adopt them a decade ago, but the future looks brighter for Elixir and Phoenix.
Erlang, and by extension Elixir, reigns supreme when it comes to developing concurrent systems, which means we can handle more requests…