The Changelog: Software Development, Open Source - Free Heroku EOL, Stable Diffusion 2.0, Twitter SRE explains why it stays up, Git Notes & Joel Lord (News)
Episode Date: November 28, 2022Heroku's free plans officially reach EOL, Swyx explains the mixed reaction to Stable Diffusion 2.0, a real Twitter SRE explains how it continues to stay up even with ~80% gone, Tyler Cipriani tells us... about one of Git's coolest, most unloved features & we chat with Joel Lord about brewing beer with IoT & JavaSCript at All Things Open 2022. Oh, and help make this year's state of the "log" episode awesome by lending your voice!
Transcript
Discussion (0)
Hi-de-lee-ho!
Hi-de-lee-ho, neighborinos!
I'm Jared, and this is ChangeLog News for the week of Monday, November 28th, 2022.
It's hard to believe, but this year is almost a wrap.
Adam and I are prepping once again for our fifth annual State of the Log episode,
where we look back at
the year, discuss some of our favorite episodes, the most popular ones, and talk a bit about what
we have in the works for 2023 and beyond. Last year, we included your voices for the first time,
and it turned out super cool. So we're trying it again. Please share with us your favorite
ChangeLog guests, topics, or aha moments you've had over the last year.
Hey, if we include your message in the episode,
we'll send you a free t-shirt.
It doesn't have to be super produced.
Just pop open your Voice Memos app on your phone
or use QuickTime or Audacity on your laptop
and tell us what's on your mind.
Then upload your audio to changelog.fm slash S-o-t-l, short for state of the log.
Once again, that's changelog.fm slash s-o-t-l.
Seriously, do it, do it.
Okay, let's get into the news.
We start with a public service announcement.
Heroku will delete all free databases and shut down all free dynos today.
Nuclear!
And by today, I mean Monday,
November 28th. If you're listening to this any later than that, sorry, you're too late. Too late.
Too late. No such thing as too late. Free dinos, hobby dev Postgres instances, and hobby dev Redis plans are affected. It is the end of an era for sure.
Because your kids all grown up and out in the world doesn't mean you don't still
love them and have emotional reactions to things transpiring in their lives, right?
Where will you move your small and personal web projects? What about starting new ones?
I'd love to hear where and why. Get them moved and then tell us all about it in the comments. Stable Diffusion 2.0 dropped last
week to much excitement, but it quickly turned to mixed responses once people started playing
with the results. Sean Swicks Wang has a solid rundown of what's new and what's disappointing
the Stable Diffusion community on his substack. After displaying a bunch of side-by-side results
from identical prompts, Swix says, quote, if you looked closely and couldn't decide if SD2
was better than SD1, you weren't alone. That said, the task of deciding if a generated image is,
quote, better or, quote, worse is quite subjective and hard to quantify across a literally infinite unbounded latent space.
And prompts are a moving target.
The same prompt generates different things in SD1 versus MidJourney3 versus MidJourney4 versus Dolly2 versus SD2, etc.
And users will discover new magic keywords and best practices that subjectively improve results. So perhaps SD2 initially looks worse than SD1, but then improves as users learn how to wield it better.
End quote.
He goes on to explain why he thinks prompt engineering itself is a product smell.
Excellent post. Worth a read.
Real Twitter SRE, Matthew Tejo, writes,
Quote, Twitter supposedly lost around 80% of its workforce.
Whatever the real number is, there are whole teams without engineers on it now.
Yet, the website goes on and the tweets keep coming.
This left a lot wondering what exactly was going on with all those engineers and made it seem like it was all just bloat.
I'd like to explain my little corner of Twitter, though it wasn't so little, and some of the work that went on that kept this thing running, end quote. Matthew was
an SRE for five years at Twitter, working on the cache team. That's cache with a capital C,
not the generic idea of caching things. We're talking Twitter's cache as a core part of their
infrastructure. He explains in this post how the cache works and how it keeps running
even with nobody around to scale it up and down. It's a fun and interesting read, but the coup de
gras is in the comments where JohnnyManu40 said, quote, when everything works fine, they wonder
why they hired you. When everything stops working, they wonder why they hired you. IT in a nutshell.
Always wanting to have fun, Austin.
That's you in a nutshell.
No, this is me in a nutshell.
Help, I'm in a nutshell.
How did I get into this nutshell?
Look at the size of this bloody great big nutshell. What sort of shell has a nut like this?
This is crazy.
Odds are you've never heard of Git Notes.
Tyler Cipriani calls it Git's coolest, most unloved feature and says they're almost a secret.
You're wondering who I am.
Secret, secret, I've got a secret.
Machine or mannequin.
What are Git Notes?
They're a built-in place to stow metadata about anything tracked by Git, any object,
commits, blobs, and trees, all without futzing with the object itself. One example use of this
is the Git project itself, which uses notes to link each commit to its discussion on the project's
mailing list. But that's just the start, and we'd see a lot more uses of this if more people knew
about the feature. Tyler shares a few ideas of his own in the blog post,
but just having knowledge of this feature's existence is half the battle.
Now we know.
And knowing is half the battle.
That is the news for now.
Up next in our All Things Open bonus series,
we have Joel Lord telling us all about how he brews beer
with help from the Internet of Things and
JavaScript.
Have a great week and we'll talk to you again real soon.
Joel brews beer.
No way.
Yeah.
And he brews it with JavaScript.
What?
Somehow.
I don't know.
That was the headline of his title. Yeah. And he brews it with JavaScript. What? Somehow. I don't know. That was the headline
of his title.
Tell us how you do it with JavaScript.
Yeah, well,
so essentially I'm using an Esprino.
So kind of a mix or hybrid between
the Arduino. We call it Esprino way, way back.
It's like an Arduino with extra stuff. It was like
open source on Kickstarter, I believe, right?
It's open source and it
runs JavaScript.
So you can use JavaScript to program it,
and you can add in sensors on it and do all kinds of stuff.
Like, essentially the same thing you would do with an Arduino,
but using JavaScript, which is a much better language and much better suited.
What do you write on Arduino?
Better than C.
C, yeah.
I mean, no one's going to argue with that.
Who uses C?
Right.
Yeah.
So, yeah. So that's mean, no one's going to argue with that. Who uses C? Right. Yeah. So, yeah.
So, that's two things we all agree on.
Okay.
Two things.
Beer and JavaScript.
No C.
All right.
So, that's how I use.
That's three things, Darren.
Or that's kind of the basics of the talk that I gave yesterday and how I use it to brew.
So, one of the things that I wonder about my brewing process was what's going on inside of that
closed fermenter for three weeks.
Right.
That's a long time.
You can't look at it.
If you do, you ruin it.
Yeah.
And you really want to know what's going on because you really want it to be ready as
soon as you can.
So it's kind of a curious thing.
Okay.
So by adding a sensor in there, you can actually measure what's going on.
What kind of sensor?
So it's a device that uses an Esprino or an ESP8266,
and it has an accelerometer in it and a temperature sensor just for kicks,
because why not?
Sure.
And you can measure the gravity or the gravity pool, basically,
using the accelerometer, which tells you the water density,
which tells you the amounts of sugar present in the beer.
Okay.
And you're trying to get to a certain level of sugar?
Yeah. What does the fermentation process do?
The idea is that in order to calculate the alcohol
that you'll have in your final beer,
you want all of the sugars to be transported into alcohol.
So you can measure, by using the density of the water, you can measure the amount of sugar
in it.
And when there's no more sugar, or basically no sugar, fermentable sugars left, then you
know the beer's ready.
You know it's done.
So this is helping you get it out as soon as it's ready, versus just waiting some sort
of pre-allotted time period.
Exactly.
Let me offer an analogy here.
Who pops popcorn here?
Do you pop popcorn in a microwave, or do you do it on a Whirly Pop?
Yeah, I have a machine.
Okay, well, if you're a microwave popper, it can go beyond.
Every microwave has a popcorn button.
There's no magical formula.
They've somehow known to make the popcorn button work for everybody.
Every popcorn bag is different.
In like 35 seconds.
Right.
So you get down to that final few pops, right? It's like that because like you don't want to go over the pops if you're
like still popping and it ends you had can you overdo it more kernels well it's it's similar
you can't really overdo it right but but it could be worse i could run out of beer and have some
beer there that might be ready okay that would be worse well you could be waiting for no reason
basically exactly it could be done for no reason, basically.
Exactly.
It could be done, and you're waiting maybe, what, a day or two extra or a week extra?
Well, technically, I used to wait about three weeks just to be on the safe side.
I've heard two weeks, but I would wait three.
I've noticed that some of the yeast that I'm using, and I can actually chart all of that data because, you know, I'm a nerd.
Yeah, that's cool.
So I do graphs on my website, and I've discovered that some yeast actually work in two days.
Really?
So the amount of time that I save.
Do other people know this?
I don't know.
That's a unique creation.
I should keep that as a secret.
You know what I'm saying?
You can start your own brewery with the correct yeast that nobody else knows about.
Yeah.
And get the two-day turnaround.
And maybe I could finally quit my day job in tech.
You could.
And start my own brewery.
You can call it Beer Faster.
It'll be here faster.
It'll be here faster.
I like it.
That's smart.
I like that.
We're a good team.
You can split us in thirdsies.
No big deal.
90-10.
90-50.
90-10.
90-50.
90-50.
Okay, so you get your beer faster. You get sensors and they're measuring the amount of sugar,
the fermentable amount of sugar leftover, which indicates that the beer is done and
ready to be consumed.
Exactly.
In addition to that, again, just because I'm a bit of a nerd, you know, I've added a bunch
of serverless functions.
So I get a text message whenever my beer is ready.
So my beer can now text me.
That's cool.
What is that?
My beer texting me?
Yeah.
That's a cool text message because it only happens like once every few weeks, right?
Yeah, so I take an average.
I use a window function to measure like what's the amount of sugar
that's been left over the last 24 hours or so.
And then based on that, if it's been stable,
then I know that there's nothing left to ferment.
So it just uses Twilio and sends me a text message.
Do you have time series databases involved here?
Yes, we do.
OK.
Like this, he's official.
He's a we now.
Yes, we do.
See how I got there?
That was very sneaky.
Well, we came up with the name, so it's getting better.
Tell us what we're doing with this. Better together, yes.
What are we doing here?
So, yes, I'm using MongoDB on the back end.
So it does offer time series collections out of the box.
Okay.
So that's what I'm using.
Right.
Yeah.
Also, you know, it's free for you.
There's a free tier.
Okay.
It's pretty generous.
It's not bad.
It's a pretty generous.
How much beer do you have to brew to make it not free anymore?
It would take a lot of beer.
Yeah.
I do one reading per hour.
So before I reach 500 megabytes of data in that database, I should be good for a while.
You should be good to go.
See, this business scales.
It does scale.
Very well.
Low overhead.
So you do multiple batches, right? Because you drink lots of beer.
So you've brewed many batches over time.
So you have a lot of data.
So from each brew, is one brew one bucket or is one brew many buckets?
Question one, and I have a question after that.
So one brew is four times five gallons fermenters.
Right.
So, you have five different buckets, so five different sensors.
Four different buckets, one sensor.
One sensor.
One sensor.
I assume that everything is-
Oh, you just pick a guinea pig and go-
Really?
Yeah.
You make assumptions on, okay, all right.
Has it ever been wrong?
You open up a different gallon, you're like, oh, it's not done.
No, I haven't discovered one.
Okay. Okay. I, it's not done. I haven't, no, I haven't discovered one. OK.
OK.
I think it's fair.
Because I brew it all together, it's a 20 gallon,
then I split it in four different fermenters.
So how many cycles have you had then of this process?
And what I'm getting at is, has the data
been consistent from brew to brew?
And what are you learning from each brew?
Yeah, so the fun thing, and I kind of joke a lot around that
because it's a funny idea,
but I got a lot of insights through it.
And one of the things that I've wanted to experiment a little bit more with brewing is the strands of yeast.
So discovering, as I said.
You want that two-day strand.
Well, it's a fun one.
I mean, it's a fun one.
If the taste is good.
But exactly.
If it's speed and taste, you want to optimize for taste and consumption, not speed.
Exactly.
Taste can be different based on the sugar amounts that you have as well.
So if you brew very strong beers, like my Christmas beers are much stronger, right?
Because you want something to warm your soul and your body.
There's people watching you.
So if you're drinking three or four, they're like, he's drinking three or four.
Whereas if they're stronger, you can drink one or two.
Same drunkness, less beer.
Well, I don't know.
That's one way to see it.
That's one way to look at it.
Summer beers, though, you want to have a lower alcohol.
Right.
Oh, is that right?
Because you're outside.
It's hot.
It's sweaty.
Because you're outside.
You don't realize how much you're drinking.
Right.
So you don't want to have a headache as well.
The sun goes down later.
Yeah.
Is any of this organic?
Yeast is organic.
Well, because there's organic wines.
The reason I'm asking is you mentioned headaches.
And so one thing I've learned with organic wines
is that gives you less of a headache.
And it's something with like,
I don't know the science behind it. Somebody explain it to me.
I think I was half listening, but
the organics have less of something that
is not organic.
Maybe it's not as good and you just don't drink as much.
Yeah.
Like this wine is terrible.
It could be.
Maybe it's more expensive so you can't afford as much.
No, it's actually just as equally priced.
Hard to believe.
$10 a bottle.
You slap organic on anything and the price goes up.
I'm sorry.
That's not true for this.
Yeah.
I don't know.
I haven't experimented.
Anyway, so.
Organics.
Is it all organic?
It's not. It's not. Is it. Is it all organic? It's not.
It's not.
Is it impossible to be organic beer?
It's possible.
It's just not worth it?
The hops are really hard to find.
Organic hops are really hard.
So I do get organic grains, but not the hops.
Okay.
Where are you buying your hops?
There's a couple of farms nearby.
My neighbor, my 75-year-old neighbor the other day came to my place and was like,
hey, you brew beer, right?
I think I might have hops in my garden.
And he had like a wall full of hops against his shed.
And he just didn't know what to do with it.
And he didn't really know what it was.
So I've used that for brewing.
That was basically free beer.
That's cool.
Well, I mean, you had to brew it.
Yeah, one part of it.
Still need some grains.
And other parts.
And water.
Yeah.
But water is free.
Relatively cheap.
Is it organic water?
I'm pretty sure it's organic water.
Is it non-GMO?
Probably non-GMO.
Not sure about the organic part now that I think of it.
Is it grass-fed?
City water.
It's city water.
Yeah.
Yeah.
It's probably grass fed.
I should ask my city counselor about that.
So have you gone as far as to do more stuff with your water?
Because I know in coffee, and I assume beer too, because anything you consume, all the
ingredients matter essentially and with coffee the more alkaline or acidic i guess the alkaline of the water matters essentially
and so you can kind of fine-tune the quality of your water not just oh is it uh you know reverse
osmosis or something like that or is it city water is it filtered but it's like extra steps to like
balance the ph and stuff like that. Is that applicable in beer?
I should get you as my brewing partner.
I'll switch partner.
We're already in thirdies.
He's not paying attention to details like that.
Well, I would start with reverse osmosis.
Then I would check.
I would just look at the pH and stuff like that
and see if it matters.
Yeah, it does actually.
That's part of my question too,
from brew to brew.
What data are you tracking
to determine quality and fine-tune things? Yeah, it does, actually. Well, that's part of my question, too, from brew to brew. What data are you tracking to determine quality and fine-tune things?
Yeah, it does matter.
I'm lazy, so I don't change anything, and I just accept that it's tap water.
But different breweries will have different results based on the water that they're using.
So if you look at very large brewing, like BrewDog, the beer that they make in the UK is not the same as the
one they make in the US.
Right.
And water is a big factor in there.
Yeah.
It's just not the same.
Well, this should be obvious because Coors is like-
Tap the Rockies.
Right.
Tap the Rockies, exactly.
It's coming out of the Rockies.
Right.
They quantify or they essentially say, our water is good.
Where we get the water from, which makes the beer good, you want Rocky Mountain water which you need that with tours like because it's all
water right well yeah it's the best worst beer what the best water because
healthy all water right it's a mate but even like it's always 95% of the end
product right is water so that's why it's healthy that's that and some grains
you don't change the rest of us and it That and some grains. You don't change the recipe then?
And it's because you're lazy?
I don't change the water.
Oh, okay.
The water.
But you do change the recipe.
But you could just be happy with your beers.
Is your beer good?
I think they're pretty good.
How long have you been doing it?
I have a couple of friends that also think that it's pretty good.
I have more and more friends.
The more I brew, the more friends I have. Do you have a label on the beer?
I do.
You got your own caps, right?
So it's Brain Brew.
Brain Brew? Yeah. Okay. on the beer? I do. You got your own caps, right? It's Brain Brew. Brain Brew?
Yeah. Okay. Like the brain?
Is it like a brain looking emoji thing?
Mind blown. The brew on top of the beer is kind of a brain.
That's a good name for a beer. Mind blown.
I like it.
I want to drink it. You like all your own names.
We have brainbrew.ca, which is our official
website, where you can see the charts
and you can see what's going on in the beer.
I don't ship.
That's so cool.
You know, honestly, this is a great idea because if you became legit, like if you did quit
your day job and it could make you some money, if this was like something you wanted to do,
I think it'd be interesting as a consumer of the beer to like look at these charts and
just like have this, people love this behind-the-scenes view into brands.
Their products.
And I think this is a unique take on it, honestly, because no one else is doing that.
Are there other people doing it?
No.
I'm asking him because he might know.
Doing behind-the-scenes?
Well, the behind-the-scenes of the data and the charts. I don't know.
Maybe it's marketing, but it seems alluring.
That's a good question.
I haven't noticed any brewery that actually put out some data like that.
They're pretty secretive.
That would be interesting.
It's their secret sauce, you know?
Yeah, well, up to a certain point.
I mean, the amount of sugar in there is not a secret,
because in the end, it's on the label, because it's the alcohol.
Right, but can you get other metrics that you're not getting now?
There's a lot of metrics that you can.
So I could go a lot deeper in my, which I'm slowly getting there,
but it's always a question of money.
But monitoring the temperature during the whole process is one thing that I want to do,
especially during the fermentation process.
I want to hook up a bunch of raspberry pies,
so I've just got an electrical element to help me with the brewing process, the brewing parts, so I want to automate some of it to
make sure that I can replicate from one time to the other, having exactly the same results
based on the time that it was brewed, the temperature that we hit, and so on.
So there's a couple of things that we could do there.
But yeah, my partner doesn't always agree with my brewing expenses.
Your hobby, yeah.
That's a shame.
It is.
Hopefully she doesn't listen to this podcast.
Does she like the beer?
She does like the beer.
Okay.
So I think that's okay.
So it's kind of an equalizer.
If she hated the beer, then it would be even worse.
You spent all your time on this terrible beer.
But I love it.
Cool stuff.
So brainbrew.ch.
Check out the charts.
Has any sort of like...
Did you say CH or CA?
CA.
CA.
Did you say CH?
I did.
I thought he said CH.
That's why I'm checking you out.
I get you.
Brainbrew.ch.
I was thinking of brew.sh for some reason.
I said CH for the homebrew.
I was making sure I didn't hear him wrong.
I also corrected you.
Now I'll have to buy the domain just in case.
You'll have to.
Just redirect it for me.
Continue, Jared.
Okay, brainbrew.ca.
A.
A.
A.
A.
Is there any...
You got to say it like this.
A.
Is there any open source?
Is there any gists?
Do you have any code?
Is there like, if I wanted to set this up, are you teaching people?
You're obviously giving a talk.
Actually, the device that I'm using is based on an open source project,
which is called the iSpindle, which is all available on GitHub.
So all the electronics, the list of parts, everything is there.
The code is also there.
I've tweaked it to use some JavaScript.
It was originally built in C, I think.
Do you have to be a developer to do this? Does it not have a business model for you?
No, you can't actually- No, seriously, because I was thinking about
this. It's his hobby, man. He doesn't want a business.
He wants a hobby. Well, he will eventually want to do something
different, I'm sure. And even if you don't, it's fun to think about these things.
I'm going to tell you anyways. I'm going to tell you anyways. No, seriously,
I'm being very honest with you here.
And it's less about my idea.
But half the problem, I think, with homebrew people is less people get into it because they fail.
Or they fail early and they're like, man, this sucks.
There's no indication.
You probably experienced this.
There's no indication unless you're resilient and you actually have a motivation to do it.
There's a certain threshold where you fall off the gap.
And I just wonder if there's things you've built that you can sort of like consumerize
in some way that where you can kind of be developer-ish and make it a little bit easier
to get into brewing.
And Brain Brew isn't a bad name, really, even for that.
Like, it still applies.
Like, I like brand names that sort of like transcend just like their original reason.
Like, it can, it can transplant to that too, where like you can essentially create a kit
that's got tech that is sort of like, it is scientific that you can't screw up the brew.
Right?
Yeah.
No, you're correct.
I think I'm definitely stealing your co-host and keeping you as my brewing partner from now on.
I could be on the board, an investor, or shareholders.
You'll have to move to Canada, though.
Well, there's remote.
There's remote.
I can remotely drink beer. I thought you were Canadian. No. to Canada, though. Well, there's remote. There's remote. I can remotely drink beer.
I thought you were Canadian.
No.
Come on now.
But there are a lot of projects that I've seen that actually use Raspberry Pis to do
kind of what I'm trying to...
Has this been done before, then?
It is.
It is available.
This is a new invention.
There's big control panels that are all powered by Raspberry Pis.
So this is a bad idea that I've come up with.
It's not a bad idea.
It's not a bad idea.
But it exists. But it's an open source. It's not a bad idea. But it exists.
It's called batteries included homebrew beer.
Yeah.
You know, like you can't really mess it up.
If you know there's no more process to be done, then it's around getting your recipe right.
And if you give like five or six different recipes, like here's your IPA, here's your Pilsner, here's your whatever.
The worst case scenario is you wait longer.
Well, yes. Yes. Like a long time you just wait three worst case scenario is you wait longer. Well, yes. Right?
Yes.
Like, a long time you just wait three weeks, but now you may not.
Maybe it's two days.
Maybe it's three weeks.
He knows that.
Have you ever looked at a fermenter for three weeks?
It's the worst. It's a long time.
It's nonstop.
I do cold brew coffee, and I can't stay in the 24 hours.
Maybe the 16 whatever hours.
Like, I couldn't imagine waiting weeks to brew beer. Like you got to be but there are other factors you still might have
to wait weeks you know well there is not speeding up the process it's just letting
you know when it's done sorry I'm over here right on your parade but I think it's cool
it's a it's a beer don't consumerize it man just let it ride let it ride consumerize the
beer ship the beer to people's houses.
Let them drink it.
It's illegal.
They'll give you money.
I'm in Canada.
Everything's illegal in Canada.
That's bootlegging, man.
Yeah.
I'll try to smuggle it across the border.
That's illegal?
Well, there's legalities involved.
Come to the States, man.
There's freedom here.
Freedom.
No, there's not freedom here.
You can't ship alcohol that easily.
Ignorance is bliss. Come on over.
Just do it.
What else to share? Seriously, what else to share?
If there's somebody out there listening to this, and they're
somewhat entertained, but they're also motivated
to do this. You said
you have a GitHub project, some code out there.
Can they go and follow your footsteps?
Do you have a list of things to
grab? Have you made this easy for somebody else
to do what you've done?
No, definitely that project is the one thing.
I do go to conferences and I talk about this project.
So I gave this talk a couple of times.
It is available on YouTube if you look it up.
So I'm sure you can find it.
How many views on that video?
Good question.
What to count them?
Let's make it bigger.
I should count them?
Let's make it bigger.
Like the logo, let's make it bigger.
The view's bigger, the logo bigger, all the things bigger.
Give us the link.
We'll do our best to make it bigger for you.
Great, great.
I'll share a video and then, yeah.
So that's a good place to get started.
And I talk about how to program those microcontrollers
and how to get that data out and work with that data.
Cool.
Brainbrew.ca.
Thanks, Joel.
Thanks.