posts

Government Sales

2023.01.24 As a strong reminder - my comments on this website are my own and do not reflect the views or perspectives or official policies of any government agency.


Recently I posted a tiny rant on LinkedIn about how, having been on both sides of the fence, I am utterly baffled by vendors cold-calling a government employee to try to sell the government something. As I explained there - I do not buy anything, instead the government has a very long and arduous process of solicitation and evaluation in which I am only peripherally involved. Well, that post got a lot of attention - at the moment, it’s one of the most popular things I’ve posted on LinkedIn with over 25,000 views. (I wish my YouTube channel was getting those numbers!) I also received a lot of comments and questions on that post. I don’t want to waste your time, and I don’t want you to waste mine either, so below I’ve suggested a few strategies on how salespeople can be more effective at their jobs with less or no cold-calling.
Before we dive in, let me take a second to briefly explain how government purchasing actually works. I’ve written a much longer version, but the short-short version is this: First, if an agency is buying something, they’ll issue a Request for Information (RFI), a Request for Proposal (RFP), or a Request for Quotation. When those are issued, they’re posted publicly and you can search for them. If they have not issued one of these, the agency is not buying. Period. There’s no reason to reach out to them directly. All communication is done via this process. It’s all but forbidden for government staff to engage with vendors outside of this process. The intention is to eliminate corruption in awards, to prevent purchases due to personal connections - the exact sort of strategy that traditional salespeople use through activities like cold calling. Preexisting relationships mean we actually have to recuse ourselves from the evaluation process, so unlike the private sector, building relationships is actually bad for business. Second, the [civilian] agencies almost always buy things through 8(a)-certified small businesses because we have small business quotas. If you’re selling services and are not 8(a)-certified, you should consider finding one to partner with. If you’re selling a technology product like a desktop app or a cloud service, agencies almost always buy through an 8(a) Value-Added Reseller. Third, if your product is cloud-related, it must be FedRAMP-certified. No FedRAMP certification, and we probably won’t even look at it. Again, there are always exceptions to these rules - but those are very broad strokes that are mostly true, most of the time.
On to the comments. Since many were similar, I’m combining or summarizing here. “The acquisition process is opaque, and vendors don’t know who they should be pitching at the agency.” Again, per above - contacting someone in the technology division will not improve your chances, as they are not the buyers. If anything, you’re hurting your actual chances. If you want to make a sale, look at the open RFPs - that’s where your buyers are. “How can I make people aware of my product or service without cold calling?” For products: if the first time I’m hearing about your offering is from a cold call or random meeting, you have failed - or rather, your marketing team has. As a technologist in government, my primary job is serving the mission, and I do that by staying on top of trends in technology. So you should have whitepapers and be giving demos and talks at events and conferences, being in the places where your customers already are. Tough love time: if you can’t afford to market your product, you probably also can’t afford to meet federal security requirements, and thus you probably don’t have a viable business model for government sales. For labor/services contracts: An agency doesn’t need to have ever heard of you before you submit a response to an RFP. In fact, it’s usually better that we haven’t. Every RFP will ask for details of your previous performance; this along with your key personnel (the staff who will be doing the work - usually we ask for their resumes) and price are the main things that matter here. And if you don’t have relevant previous experience, you’re probably not going to win the bid. “As a federal employee, cold calls are a good way for me to learn about new offerings and approaches.” Please, please, please spend more time engaging in the community outside of your agency. It’s important to stay on top of changes in your field. Again, there are lots of conferences and events going on all the time, where you can learn about new solutions. For instance, the CIO Council & GSA host a wide variety of working groups that are open to government employees. And here in DC there are the alphabet soup of non-profits that host in-person and virtual events which are free for government employees: ATARC, ACT-IAC, AFCEA, AFFIRM just to name a few. “You should remember that the cold caller you’re turning away today might be your boss tomorrow! Or you might be applying at that company some day!” If they’re any good at their job, they’ll know why I didn’t waste their time. “As a federal employee, it’s annoying when vendors contact agencies right before the end of a fiscal year, or right after a budget has been passed.” Strongly agreed. It’s important for vendors to know that agencies budget 2-3 years in advance. When an agency receives money, it’s already been allocated and people know where it’s going. Now, end-of-year purchasing with unused funds does often happen, but that’s almost never done with a new vendor, because contracting takes so long. “It’s possible that they just think you’re a cool person and want to make a personal connection with you because of all the great stuff you do!” I do get a lot of really nice notes from folks, as a result of the ridiculously large number of weird little projects I have. And I absolutely love receiving these - keep ‘em coming!!! However, authentic messages from folks who want to show appreciation or collaborate on something are very different than folks who just want me to buy something from them. Just to be absolutely clear: I will never have a sales call with someone just because they’ve supported one of my projects. That’s not how any of this works. But I’m always happy to chat with folks who like to make weird stuff just because they like weird stuff. Just don’t try to sell me anything. “But I did millions of dollars in government sales from cold-calling! It works!” Most likely, you found out about an existing opportunity that you could have discovered if you just searched for the RFP on the public website. And you could probably add another zero onto your sales number if you were better at searching. There is no question that there exist individual with influence over IT purchasing that do not follow the legal guidelines, and if you happen to reach one of those questionable and/or corrupt few, you can sway them. I’m not one of them. I strongly suggest you spend more time improving your offerings and less time on useless sales calls.

Read This

2022 Recap

2023.01.03 – I realized that I don’t do a very good job of writing full posts on here about my projects as I release them. So before I start on any new work for 2023, here’s just a quick recap of the many projects I worked on (outside of work) this year:

Amazing what you can do with some free time and a bunch of unfocused manic energy. A lot of this work falls under my concept of Making the Web Weirder, and in 2023 I hope to dedicate even more time to silly little projects to make the world a weirder and more delightful place!

Read This

Bringing Webrings Back

2022.12.30 – I’ve been thinking a lot lately about how we build communities and manage content. Now that I’m helping to run a Mastodon community, I’ve realized something about the current paradigm that doesn’t sit well with me. In another article, I talked about how we used to share things that we love on the internet. The focus in most communities these days, however, is not about sharing, but rather keeping out negative influences and bad actors - about moderation. I think this is the wrong end of the stick. Rather, instead, we should be focusing energy on curation. We should be maintaining lists of things, ideas, and people to share with each other - rather than spending so much time maintaining ever-shifting lists of hostile attackers. (That being said, there will always be a need for moderation, and any curation must come with discarding unsuitable content. I’m not so naive from privilege to overlook this critical aspect. But back to my core point…)


One way that we can better share things and build community is by bringing back the old concept of the Webring. For the last few years I’ve been a very tiny webring with a few friends. You may have seen the link at the bottom of this website and thought it was a joke, but this is a fully-functional webring! In the last few weeks I’ve modernized this webring further, adding support for RSS feeds (and OPML subscriptions), FOAF files, and other old-but-still-relevant technology standards. This means that instead of having to click around to a dozen different websites in a ring, you can use your favorite feed reader to subscribe to an entire webring with one click! And moreover, most modern feed readers support the ability to use a remote OPML file - meaning that as folks join and leave the webring, your subscription will be updated to match with no additional work needed! That’s great for those of us that long-blog a lot, but this also has potential applications for folks who microblog - Twitter and Mastodon are microblogging platforms at their core. (More work is needed to make replies and cross-posting viable of course.)
Since more folks are getting back into blogging, I want to support this more directly. As such, I’ve created an open source Webring Starter Kit that anyone can take and use to host their own webring for free. It’s powered by Jekyll and can be run on GitHub Pages, and requires very little technical knowledge to get up and running. If you’ve got a couple of friends and want to start blogging together about some weird topic, this is a great way to bring those ideas together and make it easier for new folks to find your content! I hope folks with take this and run with it, and come up with new ways of curating content that I haven’t even considered yet. Let’s share things y’all, and make the web weird! Also if you want to join the Public Interest Tech Webring, please get in touch!

Read This

Mastodon: Good Enough For Now

2022.12.30 – Over the last few months I abandoned Twitter and started using Mastodon. I subsequently ended up starting a new mastodon community of public interest tech folks. Through this process, as well as updating my policy bot to run in this new environment, I’ve learned a bit about the technology being used here. At its core, Mastodon is a jumble of open standards, most notably ActivityPub. As the name indicates, this is a publishing model - that is, it’s a “push” architecture. When someone “follows” you on Mastodon, they’re adding their name to a list of subscribers on your server, and when you publish a new post, your server then sends it out to those people. However, Mastodon is also federated which effectively means that copies of your content end up on the followers servers as well. This is in contrast to, say, the Twitter model where everything lives on a single website that everyone is already on, or the RSS feed model, where you pull rather than push new content from the host website. The result of this is that it can be very problematic to have a single popular person on an instance that you run - an underprepared server can quickly be overwhelmed by such a chatty protocol at the core of things. And moreover, caching layers can do very little here to soften the blow. You cannot run a mastodon-like service as a static website. Those are problems fundamental to ActivityPub, not just Mastodon - but Mastodon has some rather prevalent issues as well. It’s good software, but there’s no way around the fact that it’s bloated. A massive React frontend sits atop a Rails application - you simply cannot build the assets on a server with less than 2Gb of RAM. The developers seem like sharp folks, but they also are very slow to adopt features which already exist in their competitors. My corner of the Fediverse has been up-in-arms over the fact that quoted-posts are not enabled (though “quote-Tweets” have existed on Twitter for quite some time). I am not a fan of this particular feature myself, as I believe that it encourages abusive behavior. But moreover, other key features to curb abuse are notably missing, such as turning off replies to individual posts, though a request for the feature has been open for four years. More than just technical shortcomings, this is turning a blind eye to the needs of the communities they are supporting. (There is, of course, also Darius’ brilliant fork called Hometown which is somewhat more thoughtful in this regard.)


However, Mastodon serves an important purpose - it gets people used to the concept of decentralization again. The 2010s brought a wave of centralization of social platforms, resulting in just a few huge places that everyone spends their time. Mastodon is once again teaching folks how to spread out and build their own small communities. It also exposes some of the old pain points, most notably the problem of finding your people online. Hopefully this friction will nudge folks towards more collaborative and sustainable methods of finding people of shared interests.

Read This

Weaving The Web

2022.11.28 TLDR: Put a damn links page on your blog! And a FOAF file if you’re especially nerdy! Skip the rant and jump to the technical discussion of how we fix this.


A popular internet website was recently purchased by an absolute shitgoblin. Following a series of staggeringly incompetent management decisions, many of its user-people began a mass exodus, including myself. Many of these people who left found themselves in “the Fediverse,” the colloquial term for the interconnected networks of ActivityPub servers, most notably Mastodon (and its popular fork, Hometown). Joining a new social network is always a challenge, and particularly daunting when everyone is spread out among many different neighborhoods. I saw a post where someone likened the feeling to that first day of middle school, where everyone is looking around nervously, awkwardly navigating the cafeteria with their tray in hand, looking for their people. My initial solution was to try to get folks to update their profiles on that old social media site to include their contact info on the new one. I wrote a script to find them, and some smarter folks wrote even better ones. However, only about 20% of the folks that I follow have left such a note to make themselves findable. I also wrote a script to scrape Mastodon servers for a list of people followed by the people you follow, so you can see the most popular folks in your network you may have missed. This also was only moderately successful, though I did find nearly 200 additional folks to follow!
Here’s a partial list of the online communities I’ve been a part of over the last 25 years or so. There are probably more, but these are the ones I remember:
  • IRC EFnet
  • IRC Undernet
  • IRC DALnet
  • usenet
  • AOL
  • ICQ
  • Geocities
  • Angelfire
  • Tripod
  • Xoom
  • Plastic.com
  • Friendster
  • Myspace
  • FriendFeed
  • SixDegrees
  • LiveJournal
  • Flickr
  • Yahoo Groups
  • reddit.com
  • del.icio.us
  • Tumblr
  • Facebook
  • Discourse
  • Google+
  • Google Wave
  • Google Groups
  • Orkut
  • LinkedIn
  • Instagram
  • Twitter
  • Discord
  • Slack
For most of these, I was lucky to have been invited to join existing communities; in others, I deliberately built new groups. (Hello former Bitterland and #donuthead members!) What this tells me is that this will not be the last upheaval of shared space. It has only gotten harder to find people online, and it’s even more challenging to stay in touch as various platforms rise and fall.
If you’ve been reading my other posts, you’re probably aware that I’m spending a lot of my time thinking about building and maintaining networks of people. Honestly, building is easier than maintaining. For many folks the pandemic showed us how hard staying in touch with other humans can be, especially without a shared space - physical or virtual. In my communities - mostly tech and tech-adjacent folks - it’s pretty common for folks to have their own website as a center point for their digital identities. For younger creators, this is not the case - as such, they are reliant on things like Linktree to unify their various online identities in a cross-referential way. But even the technologists have largely abandoned blogging - eschewing longform writing for pithy one-liners on social media. (To be fair, some folks have adopted email newsletters - but email always has invoked a sense of panic and urgency for me, and I have never signed up for any.) The result of this is that our public identities - as represented in online spaces - exist at the whims of billionaires. You should give this talk from Bruce Sterling your undivided attention for the next fifteen minutes. Go on, I’ll wait. That was ten years ago. Notice anything? Hear any words that sounded prescient? My friend Cuán McCann often shares this Alice Walker quote: “The most common way people give up their power is by thinking they don’t have any.”
Our networks are brittle and fragile. What can we do to build sustainable connections? (I’m not going to talk about actually building communities here - smarter folks have covered that better than I can.) The web, originally known as the World Wide Web, was so named because it was imagined as a spider’s web, a series of interlinked but decentralized points. These days, it’s become a depressingly small number of central nodes with a vast miasma of sites around them. But we can change that! First: you should have a website. And you should keep it relatively up-to-date with your contact info and links to your social media sites at a minimum. Second: better yet, you should actually use it to write articles - or “blogging” as we used to call it - so that your content is being shared and preserved on your own terms. A billionaire generally can’t remove posts from your own website. And do share links on your social media sites to these articles so folks can find them! (I’ll write more about good, easy, free options for hosting websites in the near future.) Bonus points if you have an RSS feed for your posts that’s discoverable - just about every blog platform out of the box can produce one these days. Third, and most importantly: work on better means for finding each other. TLDR: bring back the idea of having a page dedicated to links to your friends’ websites, until formats like FOAF gain traction and support. (But use FOAF too!)
Longer version – I’ve been experimenting with the Friend-of-a-Friend, or FOAF, XML standard. There are a few useful features here of note:
  • It’s a well-defined standard that’s been in use for many years. LiveJournal and Twitter used to support it in the olden days. It’s still viable today.
  • It lets you specify all of your various social media accounts in one file.
  • It lets you list the people you know to create a social graph. Personal websites are the “default” node connection, but there’s no reason you can’t use any social account.
What’s missing, of course, is more tools that make exploring these networks easier. But that’s a problem in the existing social networks as well. We need more sophisticated graph viewers along with adoption to make this truly viable. So, in the meantime, I’m also adding a good, old-fashioned, links page! These went out of fashion many years ago as folks moved to make their websites & identities more self-involved. But I’ve never been interested in current trends. My site is built on Jekyll, and so both my links page and FOAF file are being generated from a single, extremely simple, data file, paired with a few additional lines in my config file! The data file looks like this:
- name: Waldo Jaquith
  url: https://waldo.jaquith.org/
  tags: [civic tech, govtech]

- name: Vyki Englert
  url: https://medium.com/@vyki_e
  tags: [civic tech, govtech]

- name: Hunter Owens
  url: https://hunterowens.net/
  tags: [civic tech, govtech]

- name: Lauren Ancona
  url: https://laurenancona.com/
  tags: [neurodivergence, govtech]

...

I told you it was simple! If you can edit links like that, you can easily build a semantic-rich website! These then get built automatically into a links page template and FOAF file template. They even generate the links to my various social media sites in my header navigation. A single line in the html head then makes the FOAF findable by any enabled app or service! If you’re using Jekyll, you can copy these few snippets and be up and running with a FOAF file and links page in minutes!!! If you’re using another static site generator, it should be easy enough to modify those scripts above. Also, a few folks have built Wordpress FOAF plugins as well!
I’m hoping to build more tools for exploring these sorts of connections in the near future to help with discoverability and to maintain these networks in an increasingly-decentralized world. A few ideas I’m tinkering with:
  • Taking FOAF files and turning them into a list of RSS feeds as an OPML file, easily imported into any popular RSS reader.
  • Using FOAF files on my friends’ websites for finding second-degree connections of other folks who are worth following.
  • Discovering your friends’ various social media presences using well-formatted hCards or other microformats.
  • Creating services for automatically detecting changes to all of these, so that you can continue to find your people as networks change and evolve.
As always, these are just my half-baked ideas! I’m looking for more folks to have discussions with how we can better build these networks. If you want to talk about it too, tag me in a post on mastodon or just send me an email!
Welcome to the infodomain, Cyberpunks.

Read This