Icecream, Boltstream, and Opal
|Jackson Kelley||May 9|
The Daily Upside is a business newsletter that covers the most important stories in business in a style that’s engaging, insightful, and fun. Written by a former investment banker, The Daily Upside delivers quality insights and surfaces unique stories you won’t read elsewhere. Sign up here for free.
Opal is policy and data administration, distribution, and real-time updates on top of Open Policy Agent.
language: Python, stars: 242, watchers: 12, forks: 5, issues: 10
last commit: May 05, 2021, first commit: November 09, 2020
Boltstream is a live video streaming website and backend.
language: Python, stars: 1628, watchers: 43, forks: 97, issues: 1
last commit: December 10, 2020, first commit: December 07, 2020
Never use print() to debug again.
language: Python, stars: 4645, watchers: 46, forks: 88, issues: 12
last commit: May 04, 2021, first commit: February 13, 2018
An Interview With Or Weis of Authorizon
Hey Or! Let’s start with your background, where have you worked in the past, where are you from, how did you learn how to program, what languages or frameworks do you like, etc?
I've been working with computers from the age of 5. Got my first major leap as an officer in an IDF intl. Corps unit called 8200.
Worked at a startup called Intigua (creating containers before containers were a thing). Founded a startup called Reactful, worked as a VP of R&D in Netline (providing cyber defence solutions to governments and like minded agencies worldwide), most recently before my current role I was the founder / CEO of Rookout, the market leader in production debugging.
Now I’m leading Authorizon and OPAL.ac with Asaf Cohen.
Do you have any insight as to what it was like to make the transition from VP to CEO?
At Netline I was working very closely with the business side - so I was familiar with the challenges on the other side of the table I was crossing into.
In general I think one of the most challenging aspects of being a CEO is telescoping - i.e. the constant shift of focus from the overall big picture to the most minute (sometimes technical) details. I think aside from recognizing it - it just requires a lot of practice to get right.
How did you and Asaf meet?
Asaf was a student of mine in the intelligence corps.
Who or what are your biggest influences as a developer?
Guido Van Russom and Python
Biology and nature (see point about recommended book)
What's an opinion you have that most people don't agree with?
Capitalism and free-markets are a great idea; but the version we are working with today fails in some critical areas; and can actually be fixed easily. [Key point to mention - trickle down economics- it’s just a lie - it doesn’t work - instead we should apply what I call pour down economics, where we should proactively incentivise people to reinvest their money and take risks.]
What’s your most controversial programming opinion?
Test-Driven-Design is a really bad idea
What sort of approach do you prefer if not TDD?
I prefer design driven design - i.e. be an engineer and think through what you're building - where there's a need for more tests- do more tests; more manual experimentation... do that - more trial and error, more automation... These are all tools in your arsenal - you should use them all accordingly - If you need a prefixed answer for everything - you probably would be better off doing something else. That said I'm not against tests.
What is one app on your phone that you can’t live without that you think others should know about?
Audible / Smart-AudioBookPlayer - I devour so much content through them.
If you could dictate that everyone in the world should read one book, what would it be?
If you could teach every 12 year old on the planet one thing, what would it be, and why?
Critical thinking with evolution, recursion, and emergent phenomena. These are built in mechanics of our world that control and affect so many aspects of our lives from the economy and politics, through startups, to how your immune system works and baci biology - and somehow most people never learn about these.
If I gave you $10 million to invest in one thing right now, where would you put it?
S&P 500; putting all your money in one thing is a really bad investment strategy, so it’s better to invest in the market as a whole. Otherwise in authorizon of course...
What are you currently learning?
What resources do you use to stay up to date on software engineering?
Friends and building new things - forcing myself to encounter new challenges.
How do you separate good project ideas from bad ones?
Feedback-loops and testing.
Why was Authorizon started?
At my last company we ended up rebuilding authorization 5 times. Research taught us basically all companies are building authorization on their own from scratch - and worse endup rebuilding it every 6 months on average….
Who, or what was the biggest inspiration for Authorizon?
Companies like Stripe, Twilio, and Auth0.
Eugenio Pace (the founder of Auth0) in particular is very inspiring.
Are there any overarching goals of Authorizon that drive design or implementation?
Knowing our space, it was critical for us to build Authorizon on an open-source foundation. So we invested in taking a lot of our solution into open-source with OPAL.ac
What trade-offs have been made in Authorizon as a consequence of these goals?
Simply put - less features, and delay in offering the product as SaaS in favour of launching open-source first.
What is the most challenging problem that’s been solved in Authorizon and OPAL.ac, so far?
Real time communications in an efficient, lightweight, scalable fashion.
Before we created OPAL.ac as source code we created two underlying open-source packages
What was the most surprising thing you learned while working on Authorizon and OPAL.ac ?
How quick a community can start to bloom- less than a week into launching OPAL.ac we already had people joining our Slack, asking to have Zoom call with us, and contributing code.
What is your typical approach to debugging issues filed in the OPAL.ac repo?
Depends on the issue, but we’ll either try to replicate locally, or on the cloud - and debug with Rookout. Most issues so far were more feature requests than bugs. And the bugs were mostly around communications- where our tests actually shine.
What is the release process like for Authorizon?
We’re very Gitops and CI/CD driven.
Pull Request -> Test validation -> CR -> integration / regression test -> Publish
Is OPAL.ac / Authorizon intended to eventually be monetized if it isn’t monetized already?
OPAL.ac is pure open-source - Authorizon - which provides Fullstack authorization as a service using OPAL.ac ; will be available as a SaaS service with paid tiers.
How do you balance your work on open-source with your day job and other responsibilities?
They are one and the same- Open-source for us is a way to build a company that’s geared for developers.
Do you think any of your projects do more harm than good?
What is the best way for a new developer to contribute to OPAL.ac?
Look at the Issues on Github, ask questions on Github or Slack, and open a pull-request when you’re ready ;-)
If you plan to continue developing Authorizon, where do you see the project heading next?
SaaS and adding more policy-engines (e.g. Google Zanzibar support)
Where do you see software development in-general heading next?
Everything Mesh - the difference between edge, cloud, on-prem, my-code, your code, 3rd-party code, will become super blurred.
Where do you see open-source heading next?
Becoming the de-facto way large solutions bridge architectures
Do you have any suggestions for someone trying to make their first contribution to an open-source project?
It all starts with people - it's about the community not the code (at least not just the code) - reach out:
What is one question you would like to ask another open-source developer that I didn’t ask you?
One of the biggest challenges of building open-source is getting people to hear about it. What are the special hacks you use to get there?
Like what you saw here? Why not share it!
Or, better yet, share Console!
Also, don’t forget to subscribe to get a list of new open-source projects curated by an Amazon software engineer directly in your email every week.