9 out of 10 AI projects don’t end up creating value in production. Why? At least partly because these projects utilize unstable models and drifting data. In this episode, Roey from BeyondMinds gives us some insights on how to filter garbage input, detect risky output, and generally develop more robust AI systems.
This week we’re talking to Rasmus Andersson about his journey as a software creator. We talk about the work he’s doing right now on Playbit, a computing environment which encourages playful learning, building, and sharing of software. We also talk about his work on the Inter typeface, as well as the reasons why this font family needed to be free and open source.
There’s a new architecture and deployment paradigm that is gaining momentum and addresses the issues we have today by merging the best from both worlds, on-prem and SaaS.
The SaaS software delivery model has completely transformed the industry and for a good reason. It offers an amazing combination of easiness and maintainability that wasn’t possible in the past with older software delivery models. It works amazingly well when we want to deliver software like CRMs, Marketing platforms, etc.
Regardless of its success, there are still challenges with the adoption of SaaS, especially in the enterprise market where security and compliance are of great importance. Today, with the rapid growth of data-related products, the SaaS model is getting even more challenged while compliance and security are not just an enterprise concern anymore.
This post shares in more detail why we need a new paradigm and what this new model has to offer.
There are server colocation providers that allow hosting a 1U server for as low as $30/month, but there’s a catch: There are restrictions on power usage (1A @ 120v max, for example) because they’re expecting small and power-efficient network equipment like firewalls.
This repo is about designing a server that fits within the 1U space and 1A @ 120v power constraint while maximizing computing power, storage, and value.
How to track your Stripe payments from your store or billing integration as they happen using Slack, powered by Python with faasd. Extend to do anything you like such as responding to new customers.
tom 🐶 is a backoffice as service oriented to do things that you want to do, like:
- Create and update users via Stripe
- Associate your users with a subscription plan
- Send transactional notification via email, Slack, or Telegram
Here’s a demo of tom in action.
This is my third eBook on Go, and it’s one of the ways I’m supporting my time to make open source contributions and lead the OpenFaaS community. The book covers samples, examples and techniques that I’ve learned over the past 5-6 years.
The point is not to be an 800-page tomb with tenuous links between content, but code from real open source applications that are run in production at scale.
There’s been over 300 copies sold already and I’m offering a money back guarantee if anyone should feel it didn’t meet their expectations.
The panel discusses all the things that have to happen before you write a lick of code. Then, for Story of the Week: Dan Abramov thinks npm audit is broken by design. We also have thoughts. Lots of ’em.
CockroachDB comes with new easy-to-use SQL syntax for configuring a database across multiple regions. One of these SQL features is to declare a table to have the locality
REGIONAL BY ROW, allowing developers to place individual rows of a table in a specific region whilst maintaining the facade of a single SQL table, for example:
CREATE TABLE users ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), username STRING NOT NULL UNIQUE ) LOCALITY REGIONAL BY ROW;
With this extra piece of syntax during CREATE TABLE, they’ve made row-level data homing simple.
I don’t think I’ve ever had more distrust and as a consequence distate for software than in recent years. I don’t think its just me as a tech-nerd with artisanal tech-carpentry aspirations. I want people to build well, treat their users right and generally exercise some actual restraint. I see it very clearly and I react more viscerally than anyone non-technical in my surroundings. However, I see the frustrations and the consequences everywhere…
When I first started working on Typesense six years ago, I set myself a simple rule:
I shall write some code everyday before or after work.
That’s it. No deadlines, no quarterly goals, no milestones.
Looking back, I cannot believe how much I’ve been able to ship over the past 6 years by just following this one rule.
This rule has served me well in my career as well. Showing up consistently and putting in the work pays dividends over the long-term that you just can’t see over the short-term. I’m reminded of the two best times to plant a tree: twenty years ago and today.
Doing ops properly is hard. Most of us are failing & learning every day. Some of us manage to have fun too.
Go modules brought about quite a few changes to the Go ecosystem. One of those changes is semantic import versioning (SIV), which has a fairly pronounced effect on how libraries are identified. In this episode we are joined by Tim Heckman and Peter Bourgon to discuss some of the downsides to these changes and how it has lead to what a subset of the Go community refers to as the “v2+ problem.”
This sounds too good to be true, because it kind of is. There is no escaping the cloud (because of email trust) or the requirement of sysadmin’ing this setup (sending/receiving email is critical). If you slack on the details or upkeep, it’s your email.
I have been on an ongoing quest to free myself from cloud services for years now. During this time, I have hosted my personal email (
@bloomqu.ist) on a
Google Apps G SuiteGoogle Workspace account, which, while convenient, also means that my personal emails are at the whims of one of the world’s most privacy-hostile companies.
Don’t get me wrong – what Zach shared is quite possible, but it’s still too time consuming and difficult to host your own email. It’s untenable long-term. There’s a billion dollar business there waiting for someone to seriously compete with Google on email, and not be evil. Fastmail comes to mind. I could be wrong, but I would characterize them as being an alternative, not seriously competing with Google.
Kaizen means “change for the better”, continuous improvement in this context. Failure is essential to learning, but how do we learn as a team? The simplest thing is to regularly dedicate time for taking a step back, talking about what works & what doesn’t, maybe writing some of it down, and eventually deciding what should improve next. I intend to make every 10th Ship It! episode a Kaizen one.
This is the first one when we talk with Adam and Jerod about the things that we want to improve in our setup over the next few months. We talk about how the June Fastly outage affected changelog.com, how we responded that day, and what we could do better. We discuss multi-cloud, multi-CDN, and the next sensible and obvious improvements for our app. Let us know via Slack or Twitter what learnings are valuable to you so that we can produce the best content for you.
This series of interactive lessons and exercises is a great place to start if you want to learn SQL. And trust me: if you don’t know SQL, you want to learn SQL. Of all the technologies and tools I’ve picked up over the course of my career, SQL has had one of the highest ROIs. It’s portable across languages/runtimes and has incredible staying power in terms of skill relevancy.
In any software project, over time new features and APIs are added and from time-to-time some of them also become deprecated and eventually get removed. Even huge project such as Kubernetes is no exception to this, yet core parts of its API don’t really come to mind when thinking about deprecating and eventual removal. So, the question is - could a core object or API in Kubernetes, such as Pod, Deployment or Service be removed and if so, how would that go?
Ellen Spertus on Stack Overflow’s blog:
While there are many resources to help programmers write better code—such as books and static analyzers—there are few for writing better comments. While it’s easy to measure the quantity of comments in a program, it’s hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than no comment at all. Here are some rules to help you achieve a happy medium.
I like rule #6 (provide links to the original source of copied code) and rule #9 (use comments to mark incomplete implementations) in particular.
HOW HAVE I NOT HEARD OF GIT WORK TREES??? WHAT THE EFF. They are so incredible. You have to check them out!!! In this video I go over them briefly, assuming you are smart enough to understand them, and also show you my workflow with vim! Its fantastic!
This is a follow-up blog post to Ship It! #6 Money flows rule everything
- To achieve anything significant you need funding
- To get funding you need to persuade the people with the money to part with it
- To persuade the people with the money, you need to understand what they value
- To understand what they value, you need to understand how their cash flows work
- To understand how their cash flow works, you need to understand
- your customers/clients and how and why they part with their money
- the legal and regulatory constraints on your business and how it operates
The rest gets even better. It was great to read your follow-up thoughts, Ian! 👍🏻