Conroy Whitney

Conroy Whitney is a Software Engineer, Web Developer, and Android Application Developer.

Posts by Conroy Whitney

The Oddly Fallible Google

Lest ye think that Google Search has reached its apex of understanding human nuances, ponder the following scenario: A Google search for “vegan lasagna zucchini” yields results that are, in fact, not vegan. Google does its human-intention-determination magic and realizes that “vegan” and “vegetarian” are related terms, which is true. However, in this case, the distinction is quite important: all vegan recipes are vegetarian, but not all vegetarian recipes are vegan. That is to say, vegan is a subset of vegetarian.

I am so used to Google being right, that when I clicked into a result and saw cheese as part of the ingredients list, I assumed the recipe website had made a mistake! No way Google would have given me a result for a vegetarian recipe when I searched for vegan. Inconceivable that Google would make such an error. My mind could not comprehend that this could have occurred. I felt empty, and hollow inside. Like the ground had fallen out from beneath me. Why, Google? Why? I trusted you! You told me everything would be fine, but it won’t! Everything’s not fine! *breaks down and cries*

To me, this is less of an interesting “look, Google made a mistake” example, and more of a “look how much I trust Google in everything” example. The number of Google searches I perform a day is staggering. The speed and accuracy with which Google allows me to find exactly the answer to the question I have (even if I don’t know how to properly ask the question in the first place) absolutely boggles the mind. The rate of error is so low that examples like this stick out as outliers. To think that 15 years ago, this technology didn’t exist is inconceivable.

More importantly, though, if we as a society don’t fight to keep the internet free and open, we may lose this ability, as Comcast, Time Warner, or eventually the US government, decide which search engines we can access, and what results we see. Google’s technology isn’t infallible (yet). Neither are corporations, politicians, or humans for that matter. Which is why nobody should ever be given the tools to surveil or censor the internet. Ever.

The Extropist Manifesto

A global movement that updates and expands upon “The Extropian Principles” written by Max More in 1998.

Extropism is an optimistic, futuristic philosophy that can be summed up in the following five phrases:

  • Endless eXtension
  • Transcending Restriction
  • Overcoming Property
  • Intelligence
  • Smart Machines

In more detail, the Extropist philosophy and world-view promotes:

Endless eXtension

Extropists seek perpetual growth and progress in all aspects of human endeavor. We are, as a species and as a culture, never finished or in any essential way complete. Instead, we continually pursue knowledge, we constantly experiment, we forever continue to develop techniques that improve our minds, our bodies, our culture and our environment. Extropists affirm this belief and take it to its logical conclusion.

We desire the technology and understanding that allows us to continually transform and augment the human body until we attain radically expanded lifespans, super-human wisdom & physical/neurological powers beyond anything we can imagine today. We intend to improve our culture & environment until we’ve instituted a fluid society that guarantees an euphoric existence to all those who desire it. We believe that there are sufficient resources available on Earth, in the solar system, and in the cosmos, to maintain endless growth and advancement.

Transcending Restrictions

Since they are ultimately inspired by growth, progress and continual development, extropists wish to abolish all restrictions imposed by religion, protectionism, segregation, racism, bigotry, sexism, ageism, and any of the other archaic fears and hatreds that continue to limit us today. We seek freedom for all living creatures and we believe that all of humanity can work together – without limits – in joyful social relationships that are based on honest communication and empathetic kindness.

We oppose authoritarian laws, surveillance and social control. We favor freedom of speech, freedom of action and freedom of experimentation in our constant striving to transcend all limitations to human potential. We also desire the ability to direct human evolution; to rise above our present animalistic behavior of conflict and domination and to abandon all physically and psychologically unhealthy inherited traits. Using genetic therapy and technical augmentations we will be able to create more advanced minds living in healthier human bodies. We will be able to remove neurological, physical and mental diseases that have plagued humanity since time immemorial. Ultimately, we want life and the way that we live it to be a conscious choice that isn’t limited by a sudden onset of disease or genetically programmed death.

Overcoming Property

We wish to reform archaic, out-dated human laws that govern possession by improving and/or annihilating terms such as ownership, copyright, patent, money and property. We believe that present regulations promote greed and are ultimately destructive to a far larger degree than they are beneficial. Millions of people are dying every year because pharmaceutical companies are unwilling to share their discoveries and insist on selling their products at murderous, unconscionable prices. The movie and music industries are successfully alienating their own customers by going after people who share files with each other on the Internet. We believe it is madness that anyone can own an idea, a blueprint, a thought, a melody or a genome. Human progress will advance far faster if knowledge, culture and resources are shared by everyone for the general welfare of all Earth’s inhabitants.


Extropy is the opposite of entropy; it is the inverse of chaos and lethargy. In a way, it is the only exception to the Second Law of Thermodynamics. Extropy is intelligence, creativity, order, critical thinking, ingenuity and boundless energy. The most valuable material in the universe is information and the imagination to do something with it; with these two qualities there is truly no limit to what can be accomplished. We believe in optimism, independent thinking, personal responsibility, self-direction, self-esteem, critical thinking and respect for others. We do not believe in doing things because that’s how they’ve always been done, we believe in rational thought; utilizing our deductive reasoning abilities instead of depending on blind, irrational faith, superstition and traditional dogma.

Smart Machines

A primary goal of Extropism is the attainment of Friendly Artificial Intelligence. We promote the development of robots, computers, and all machines that can emulate human thought, copy minds, and attain intelligence that exceeds human ability. We fully endorse the ambitious projects ongoing in the world today where robots are being built to facilitate in everything from the care of the elderly to the building of better machines. In this respect, extropists are singularitarians. We believe that once Intelligent AI has been developed, many of the other extropist goals will follow naturally and in short order. We support all funding for research that promotes this ambition, and we oppose all legislation that impedes progress towards this intention.

Cypherpunks – Julian Assange

When I first heard of the term cypherpunk, I immediately felt a strong sense of belonging. A cypherpunk is “any activist advocating widespread use of strong cryptography as a route to social and political change.” I might even go so far as to say that reading about this group from the 1990’s and their ideals is what first turned me on to cryptography in the first place.

I must confess, though, that I had mixed expectations about the book of the same name by Julian Assange. I expected it to be an ode to Wikileaks. Instead, it was an inspiring conversation between four intelligent and passionate activists (Jacob Appelbaum, Andy Muller-Maguhn, Jeremie Zimmermann, and Julian Assange) hoping to make the world a better place through the use of cryptography — a reunion of some of the original cypherpunks where they discussed how things have changed (for better and for worse) in the past 20 years.

I found Cypherpunks to be an inspiration towards my most-recent calling. Even before this book, I have found myself fascinated by the concepts and applications of privacy, cryptology, and decentralization, and how technologies based around these ideals can ensure a free and private internet for the future. I believe that tools we create towards this end need to be consumer-ready and integrated into everyday life. Cypherpunks, to me, then, was an all-around encouragement to continue pursuing this path.

At the core of being a cypherpunk is the core tenet that:

Cryptography is the ultimate form of non-violent direct action.

It is with a certain amount of glee that our hosts describe how the laws of math and physics — that is, of this natural world around us — conspire on our behalf to give us the underlying principles of cryptography. But it’s not enough to only create tools to further the cause of a free internet, but also to educate and encourage others to poke and prod at technology — in other words, to become a hacker in the radical sense of the word. Recently I have realized, as they discuss in the book:

It is important to understand these systems, because when we don’t understand them there’s a general trend to defer to authority, to people who do understand them or are able to assert control over them… Free [as in speech] software is one of the bases for a free online society, in order to have the potential to always control the machine and not let the machine control you.

These authors do not take their tasks lightly. Indeed, they frame the challenges of our era as some of the most important in the history of humanity.

We must make it clear for everyone that a free, open and universal internet is probably the most important tool that we have to address the global issues that are at stake, that protecting it is probably one of the most essential tasks that our generation has between its hands, and that when somebody somewhere—whether it’s a government or a company—restricts some people’s ability to access the universal internet, it is the whole internet that is affected. It’s the whole of humanity that is being restricted.

In no uncertain terms do Assange et al mince words about their opinions on the state of the present digital dystopia, both in the United States and abroad. Through numerous examples, they demonstrate how the extent to which the internet is surveilled and data is collected and retained is far beyond what the average citizen of the world would expect.

We are all living under martial law as far as our communications are concerned, we just can’t see the tanks—but they are there.

This is an important point to establish and continue to re-establish, because without this external threat — that is, groups intent on surveilling and censoring — there would be no raison d’être for cypherpunks to exist in the first place. Yet never fear, ye who crave persecution! Society has come up a number of excuses in order to censor or surveil the internet, which our hosts affectionately term

“The Four Horsemen of the Info-pocalypse”: child pornography, terrorism, money laundering, and The War on Some Drugs.

Assange et al, however, argue that the present state of surveillance that they describe is less about security and more about governments retaining power:

[Secrecy] is about slowing down processes in order to better control them…. Even the democratically-run governments have a self-interest, which is to control.

So what do we do as citizens of a surveilled society when we no longer agree with the direction in which our governments and corporate overlords are heading? They advocate a dual approach: political policies on privacy, and cryptographic tools.

There two approaches to dealing with mass state surveillance: the laws of physics; and the laws of man. One is to use the laws of physics by actually building devices that prevent interception. The other is to enact democratic controls through the law…. The notion is that you cannot trust a government to implement the policies that it says it is implementing, and so we must provide the underlying tools, cryptographic tools that we control, as a sort of use of force, in that if the ciphers are good no matter how hard it tries a government cannot break into your communications directly.

As far as cryptographic tools go, in order to truly effect further privacy and the open internet, we (as newly-initiated cypherpunks) should be conscious of the adoption rate of our software. Generally today we have half-assed, open-source attempts at mimicking successful commercial products (believe me, I’ve written my fair share of it). The truth is, though, that a few well-intentioned hackers can never match strides with billion dollar corporations creating consumer software. And in order to further the cause, we need adoption of secure software and practices by real people in everyday life.

We should continue to build tools to make citizens more able to build their own decentralized encrypted infrastructures, to own their communication infrastructure…. We need something better than saying that we should have a poor-man’s version of Facebook and expect people to use it…

There is no specific prescription for this conundrum, however. Only a general admonition to steer away from esoteric implementations and aim for the adoptable and commercially viable alternatives. In fact, the free market was even suggested as a possible ally in furthering the cypherpunk goal of distributing privacy-oriented programs.

I’m convinced that there is a market in privacy that has been mostly left unexplored, so maybe there will be an economic drive for companies to develop tools that will give users the individual ability to control their data and communication.

Overall, despite all of the doom-and-gloom regarding the present (perceived) state of the digital dystopia, I found Cypherpunks to be cautiously optimistic and incredibly inspiring. The tools of true freedom are so close within our grasp. It is, in some sense, a race between those who seek to prop open the closing doors of a free (and un-surveilled) internet; and those who would see the internet as a tool of suppression and oppression. The pot of gold at the end of the rainbow is potentially a truly and permanently free society. But we must reach it before our cause suffers a potential blow through increased surveillance and censorship. (*cough*cough* Net Neutrality *cough*cough*)

We still have a world built on weapons, on the power of secret-keeping, on an entire economic framework and so on, but that is changing…. We see this internet censorship, this fight by governments against new technology, as some kind of evolutionary situation which we have to overcome…. We can, in fact, must build the tools of a new democracy…. Technology and science is not neutral. There are particular forms of technology that can give us these fundamental rights and freedoms that many people have aspired to for so long.

The book ends with a chapter called “The Rat in the Opera House” which, I personally believe, was an experiential metaphor that struck Assange as so significant that he came up with the idea for this entire book to write those last few pages in order to write the last line:

It will only be a high-tech rebel elite that is free, these clever rats running around the opera house.

Although it may appear dismal to talk of freedom-loving human beings as rats running around in the opera house of governmental and corporate surveillance, remember: the goal of the cypherpunk is not only to free themselves from the grasping tentacles of censorship and surveillance, but to build tools to enable others to do the same. And to that end, no matter how large the surveillance state grows, cryptography will always be a non-violent weapon in the arsenal of the cypherpunk who wishes to make a difference in the world.

The force of nearly all modern authority is derived from violence or the threat of violence. One must acknowledge with cryptography no amount of violence will ever solve a math problem…. A couple of individuals with cryptography [are able to stand] up to the full might of the strongest power in the world.


Do you like the internets?! Cuz I luuuuuuuuuuuv me sum internets!!

But this 3:33 minute video says that the internets of tomorrow may not be as awesome as the internets of today because of a thing called “Net Neutrality” :(

This whole FCC / Comcast / Netflix / “Net Neutrality” debate that everyone on the internets has been bitching about boils down this one question:

  • Do you believe that the internet belongs to us, the people of the world, and that when we pay companies like Comcast or Time Warner in order to access the internet, we are paying to access ALL of the internet, without being told what we can and cannot see?
  • Or do you believe that the internet belongs to companies like Comcast and they have the right to limit our access to things on the internet like they currently do with cable TV channels based on how much we (or other companies like Netflix) pay them?

20 years ago the internet was born. 15 years ago Google became a thing. 10 years ago YouTube had 1,000 views. 5 years ago Netflix streamed its first movie.

Let’s not let a handful of politicians, lobbyists, and corporate executives muddy the waters of the most incredible and influential technological breakthrough of our lifetimes (so far).

Sign this petition and call your congress peoples to (politely) let them know that you’re paying attention:

Want to learn more about the state of the internet? This longer 11 minute video gives a more in-depth explanation of “Net Neutrality” as well as other issues surrounding ISPs and the FCC.

If you really want to put your name out in public in support of the internet, as that second video points out at the end, you can submit a real comment into the actual FCC proceeding to be made a part of public record:

  1. Go to:
  2. Click on: 14-28 “Protecting and Promoting the Open Internet”
  3. Cringe at the horrible yellow webpage and ugly forms and realize: these are the people in charge of regulating the internets :(
  4. Enter your personal information and comments. I used this format:

To whom it may concern,

I am writing to comment on the FCC’s recent proposed changes to net neutrality. In particular, the decision to enact a ‘fast lane’ in which companies would be allowed to charge for faster internet broadband access.

The Internet is our most democratic medium. It has grown exponentially, fueled innovation and altered how we communicate. Network neutrality is the guiding principle that has allowed for these advancements.

As a concerned citizen I feel it is imperative that broadband access, and internet access in general, remain unfettered and classified as a Title II telecommunications service under the Communications Act.

Thank you very much for your time,
[Your Real Name Here]

You can also email the FCC about this issue at: You can use the same script as above with the subject line “Reclassify Internet Service Providers as Title II Common Carriers”.

You can also call the FCC directly as long as you remember that the person who is receiving the call has no impact on the actual policy and is just another human being doing their job. So be nice.

  1. dial 888-225-5322
  2. push 1, 4, 0
  3. a person will answer.
  4. they will ask for your name and address. you can just give them a zip code if you want.
  5. “I’m calling to ask the FCC to reclassify Internet Service Providers as Title Two Common Carriers.”
  6. They’ll ask if there is anything else you would like to add.
  7. “No, Thank you for your time.”
  8. hang up

And last but not least, there is always twitter:

We support #NetNeutrality and call on the @FCC to ensure companies large and small have equal access to the Internet

#NetNeutrality and an Open Internet is essential to maintaining a level playing-field for innovation. We call on the @FCC to protect it

If you love the internets as much as I do, then please join me in telling the FCC that the internets belong to all of us, not to some stingy fat cats. The FCC should reclassify broadband internet as a Title II Common Carrier telecommunications service like electricity, and phones, and other stuff, that we consider important in our lives.

P.S. Many thanks to the girls and guys over at reddit for their efforts in raising awareness about this issue. Alexis Ohanian’s DC Ad Campaign is brilliant. Creating this sort of in-real-life (IRL) awareness is both important and difficult. Keep up the great work!

Crypto-Currency as Community

This post is in reference to Andreas Antonopoulos: The Future Of Crypto-Currency. There’s a lot of information there. Even though it’s almost 30 minutes long, it’s totally worth checking out.

Andreas starts this talk by addressing concerns stemming from misconceptions that many people (including myself, before this lecture) have today about crypto-currencies, namely:

  1. How many crypto-currencies are we going to end up with?
  2. How will we keep track of them all?
  3. And, more importantly, which one is going to win out?

To address the first question, Andres proposes that since anyone can create an alt-coin for any reason whatsoever (such as Doge-coin), that we will likely end up with hundreds of thousands of different currencies. The purchasing power of the currency may vary (e.g., how many eggs can you buy with it); that would be entirely dependent on the concept on which the currency is based. But that’s the point: since you can base it on anything, there is no limit to how many different types we will end up seeing. Andreas gives the example of a class of 5th grade students creating “Joey-Coin” and “Susie-Coin”, which end up being a popularity contest of which person is the coolest in the class. How many eggs you could buy with a Joey-Coin is another question altogether. But the take away is that trying to control or otherwise limit the creation of new alt-coins would be counter-intuitive to the core concept of crypto-currencies, so we’re going to have to learn to live with it.

So how will we keep track of them all? To answer this question, Andreas proposes that we will have wallets and exchanges that are able to calculate exchange rates between currencies. I am free to hold on to whichever types of currencies that I wish; but to use them, I might have to exchange them for another form at whatever the going rate is. This is no different from traveling abroad, though. In Peru, many businesses accept the Nuevo Sol, USD, and sometimes Euros. But if you have other currencies, you must first exchange them before use. Andres goes on to hypothesize that we might even have some baseline currency, like the LIBOR or the S&P or the CPI, which might be used to describe the exchange rates between currencies. Not to control or peg currencies, mind you, just as a useful expression of relative value. Right now we compare the “price” of BitCoin as relative to the USD because many people are still thinking of BTC in the old model as an “investment”, rather than in the new model as a useful form of purchasing power. When that changes, so will our way of thinking about relative value of alt-coins.

But the main point that Andreas addresses in this talk is about this misconception that certain currencies will win out and become the new de-facto replacements. He likens this unto the idea that for a long time, you had to rely on major, authoritative newspapers or magazines to learn about a particular current event. Still, even today, we mostly get our news from “main stream” sources. This almost monopolistic control of content stifled discussion, disseminated incorrect information, or sometimes even allowed for downright manipulation of the public. When blogging became popular, with the whole new “Web 2.0″ in the early 2000s, you began to have thousands of people discussing topics from different angles. The choice of what information you digest became a vote of sort for that particular blogger. News became less top-down and more bottom-up.

So just as what we read became a vote in how we see the world, so which currencies we use will be votes in how we want society to be. This means that by using a given currency, we are part of a community who expresses the same values and politics. People who believe in inflationary economic policy will use an inflationary currency. Those who believe in a gold-standard will use a fixed currency. Andreas gave the example that we could have charity currencies that take a fraction of a percent of each transaction and use it towards some social good like homeless shelters or planting trees. Which currency you use is no longer the result of where you live or what you do. It’s a conscious choice that you make; a vote; a decision to engage with a certain political, philosophical, economical, or social ideal. Or to not engage; that also is your choice.

These currencies will exist alongside each other; they will not be competing, per-se; but will complement one another in the same way that other forms of communication media do today. Andreas points out how communication today shifts between different media almost seamlessly: conversations between you and someone else may use texting, voice calling, video chatting, emailing, and (heaven forbid) real in-person, face-to-face talk-talk. Each form of communication has its own strengths and weaknesses; and each complements the other to some degree.

When you choose a particular medium (like AIM back in the day, or Twitter / Facebook / LinkedIn more recently), you are choosing to belong to a particular community with whom you wish to communicate. You use Twitter to talk with people on Twitter; you use Facebook to talk with people on Facebook. You can use both; and you can talk with some of the same people on both; but their uses differ; what you communicate differs; and how you communicate it differs. Similarly, choosing which alt-coins you hold and use will express a desire to associate and transact with individuals who also use those coins. There’s no better example of this than JuggaloCoin: an alt-currency for person-to-person transactions within The Family. Important to note: don’t buy that coin if you’re not a Juggalo. They take that shit seriously, bro.

I said Andres’ talk covered a lot, didn’t I? So one last thing, and that is this idea of sovereignty. We all know money and power are related. In the past, power created money. But now money can be created, and then people give it power by using it, and then the people can use that power to whatever ends. So now money becomes the tool and we are the masters; rather than today, where money is the master and we are its slaves. I’ll end with a direct quote from Andres at the end of his talk (about 24 minutes in) that addresses this in a more eloquent way:

Currency, in the end, is really a form of language; it’s a language by which we communicate our expectations and desires of value. Now that we can do it on such a massive scale — now that everyone can create currency — our choices will really matter.

We’re past the zero-sum game. This isn’t about nation-states anymore. This isn’t about who adopts BitCoin first or who adopts Crypto-currencies first; because the Internet is adopting crypto-currencies. And the Internet *is* the world’s largest economy; it’s the world’s most populous economy; it’s the first trans-national economy; and it needs a trans-national currency.

What we’ve really done, is we’ve inverted the very basic and most fundamental equation of currency which is: that for millennia, until the year 2008, sovereignty defined currency. Sovereignty was the basis upon which currency could be created. And that currency allowed that sovereignty to be expressed. The monopolistic control of currency *is* the basis sovereignty.

And now the Internet has a currency. And the Internet is going to use that currency to create sovereignty. After 2008, currency creates sovereignty; and the Internet has its own currency. Which means the Internet has purchasing power; which means that the Internet has economic freedom; which means that the Internet can exert economic freedom in a post-nationalistic way; in a way that ignores borders and makes the nation state — not obsolete — but simply less relevant.

Shamir’s Secret Sharing: Solution for Socialism?

Sometimes, a single idea can completely rebase your perception of what is possible. For me, Shamir’s Secret Sharing is one of those ideas.

Imagine there’s a special kind of safe. Inside the safe, a you and 4 other people store a bunch of money that you all agreed you will only use when a certain number of people (let’s say a simple majority, so 3 out of 5 of you) decide to make the purchase. You don’t know these people, so you aren’t able to trust that 1 or 2 of these people might get it into their heads to take the money and run. But since this safe is so special, you don’t have to trust them in order to benefit from this special safe.

How is the safe special? Instead of it being openable by inserting a single key which one person has to keep secure and promise only to use at the appropriate times, this safe has 5 keys and 5 slots where each of the 5 members can put their keys. The safe is designed to open with at least 3 of those keys are inserted, but will remain locked if only 1 or 2 keys are used. This means that in order to access the funds inside 3 of 5 members have to insert their keys to open the safe. As long as you keep your own individual key securely hanging around your neck, you can always have confidence that if money is taken out, at least 3 people in the group agreed to take out the money, and no minority of people was able to go against the majority’s wishes.

Why is this important? In a word, Socialism. OK, maybe the word “Socialism” seems a bit extreme. But think about what sort of things can go inside the safe besides money — “the means of production, distribution, and exchange”, perhaps? I’ll leave these sort of thoughts as an exercise for the reader. The important concept though, though, is that there is something that is shared in common (whatever is in the safe), and a decision on when and how to use that item can only be reached when a certain percentage of the group agrees. All votes are equally important. No action can be taken without buy-in. And, most importantly, no central authority is needed to count votes and declare “the yea’s have it”.

When your goal is to remove the necessity of an authority figure to mediate, coordinate, and arbitrate decision-making, in a world where you cannot necessarily trust your peers, you’ve got to carefully consider all the tools available to those ends. I believe Shamir’s Secret Sharing algorithm is one such tool and will play an important role in the future of decentralized, autonomous collectives.

P.S. If you are interested in further reading, this algorithm came to my attention through “Bootstrapping an Decentralized, Autonomous Corporation” which I found while reading the White Paper on Ethereum. You know, if that’s what you’re in to.

The Struggle Against Entropy

I often think about whatever job I’m doing as a “struggle against entropy”. Entropy, as Muse explains it:

All natural and technological processes proceed in such a way that the availability of the remaining energy decreases.

In all energy exchanges, if no energy enters or leaves an isolated system the entropy of that system increases.

Energy continuously flows from being concentrated to becoming dispersed spread out, wasted and useless.

New energy cannot be created and high-grade energy is being destroyed.

An economy based on endless growth is unsustainable.

We all know that entropy is going to win, eventually. That’s considered a given in physics. And empirically we can say that’s true in our own lives. Our laundry goes from clean to needing to be cleaned; our meals go from cooked to eaten; our bodies go from born to dead. Even when we make efforts every day to slow or reverse these processes, eventually, inevitably, entropy will win.

Some jobs, the amount accomplished vs. the effort put in forms a sort of logarithmic graph. For example, working as a bartender: at the end of the day, after all your customers have been served, your bar is clean, your glasses are clean, your trash is taken out, you have re-stocked, and you are ready for the next shift. If you don’t do everything well, you’ll be behind the next day, and things will be harder going; the lack of effort compounds to form a morass of difficulty. However, there is no getting ahead; even if you clear every ashtray and wipe every counter as soon as they are dirtied; even if you restock every cold beer as soon as it is served; you still can only reach a certain output. You still, at the end of the day, will end up with clean floors, clean glasses, and a fresh start for a new shift. Any optimizations on top of that (a better inventory or POS system, batching work when mixing drinks, etc.) only gains a small amount of additional output. Hence the logarithmic graph. Eventually you come to the limit of how much you can optimize that type of job.

Other jobs, however, form an exponential graph in terms of amount accomplished vs. inputted effort. Technology plays a key role in these situations. Any time when you can replace work that a human normally needs to do with a (semi-)automated system, you are increasing your output relative to input. And if your job is to create said technology, then your input outputs an output that in return multiplies future inputs: exponential. It’s acceleration: applying the same amount of force equally over time results in a compounded velocity. It’s a form of bootstrapping: companies (specifically startups), building ideas and systems around existing ideas and systems until they can impact 10, then 100, then 1,000, then 100,000, then 1,000,000 users; not with 1,000,000 times the effort, as it would be if you were trying to run a bar with 1,000,000 customers; but instead with (roughly) the same (probably less than a factor or two of 10) amount of man-hours.

And that’s our ultimate weapon in the struggle against entropy: our time. Some things require linear relations for our efforts: sleeping, exercise, hobbies, volunteering, time with family, watching TV. But for me, work — where I spend at least 1/3 of my day — is an area where I constantly look for areas to improve my multiplier. If there is a task that I am frequently needing to perform that seems like a good candidate for automation, I need to automate it. Why? Because if I don’t, I feel like I’m stuck in a hamster wheel running in the same circle over and over. I don’t want to solve the same problems every day, day in, day out. I want to solve new problems; interesting problems; problems that make tomorrow better than today. Because these types of problems mean that in the struggle against entropy, I’m not just entrenched, holding the line, content to not be losing ground; no, I’m winning battles, advancing forward, and marching towards a goal that grows ever-nearer. And in this struggle against entropy, technology is my rearguard, allowing a retreat to a safety zone of automated processes and analyzable numbers so that even when I lose a battle, all is not lost. We can pick up our wills and fight the struggle against entropy for yet another day.

Choosing a Name for Your Computer

An oldie but a goodie from 1990 on choosing names for servers:

Most of the document is about what *not* to do and why, but here’s really the core of what is considered best-practice when choosing a naming scheme for multiple machines in a group:

Naming groups of machines in a common way is very popular, and enhances communality while displaying depth of knowledge as well as imagination. A simple example is to use colors, such as “red” and “blue”. Personality can be injected by choices such as “aqua” and “crimson”. Certain sets are finite, such as the seven dwarfs. When you order your first seven computers, keep in mind that you will probably get more next year. Colors will never run out. Some more suggestions are: mythical places (e.g., Midgard, Styx, Paradise), mythical people (e.g., Procne, Tereus, Zeus), killers (e.g., Cain, Burr, Boleyn), babies (e.g., colt, puppy, tadpole, elver), collectives (e.g., passel, plague, bevy, covey), elements (e.g., helium, argon, zinc), flowers (e.g., tulip, peony, lilac, arbutus). Get the idea?

Hey, I just met you, and this is crazy, but here’s my email, so spam me maybe

We’ve all been burned providing our email address to websites. Maybe you did it out of the best intentions: wanting an e-book; or a set of tips sent by email; or simply just to get past a content gate. But you always know, deep down, that your inbox is going to hate you for subjecting it to yet another onslaught of poorly-targeted “email blasts” or other such spam.

Have you ever been linked to a blog post where, before you can even get a chance to read the first sentence, a modal pops up asking you to “SUBSCRIBE TO OUR BLOG SLASH NEWSLETTER! FOR THE WIN!”. You don’t even know who they are, or what they do, or what other type of content is on their site. There’s no way in hell you’re going to give out one of your most guarded public secrets (your email address) to these complete strangers.

So if you are so wary of providing your email address, why do you expect your users to?

Don’t ask users for their email address at the expense of them being able to actually use your site. It’s a turn-off, and they’re not going to convert. Instead, how about asking them in a CTA at the bottom of the article? And how about, instead of it being “Subscribe! Subscribe! Subscribe!”, perhaps it can be “Learn more about X Topic You Just Read About.” Imagine that. Email subscriptions targeted to the type of content they are interested in.

tl;dr Yes, ask for emails; but be classy about it. You might just end up with higher value leads.

Unable to find css “[element_id]” (Capybara::ElementNotFound)

If you are seeing this capybara error:

Unable to find css "[element_id]" (Capybara::ElementNotFound)

Make sure that you actually call visit before trying to find an element!

I was trying to use a regular capybara selector

find("element_id").should be_visible

This should have been cut and dry. Since capybara’s find() selector uses #id by default, and since my page had that specific element on it, there should not have been any issue. But no matter what I tried — more different selectors, xpaths, etc — I kept getting the same frustrating error:

Unable to find css "[element_id]" (Capybara::ElementNotFound)

I thought I was going crazy, or that I had completely lost my ability to program, or both!

My problem was that I had forgotten to call visit before calling find

As soon as I called visit, my error went away

visit '/'
find("element_id").should be_visible

This makes sense, though, right? If you don’t call visit first

There is no HTML content in which to find your element!

It would be nice if capybara had a more descriptive error when you try to call find without having first called visit. That way this type of error would not frustrate so many people for so long!

I hope this helps!