Open Loop 7

2013-01-12

Transcript

Here is an AI generated transcript of this episode. This has not been edited or checked for accuracy, yet.

Yeah, I’m looking at the revision history of this, of the draft of the show notes for this episode.

It goes back a ways?

October.

Well, you know, we got ahead of ourselves and drafted some, we drafted some that we didn’t end up, you know, that didn’t happen right away.

Like, they’re like not in October.

It just goes to show how prepared we can be.

Yes.

Planning ahead.

Do you have a beer?

I do have a beer.

And I was just, the reason I was in the show notes is I was adding it to the notes.

It is Sierra Nevada’s Bigfoot Ale.

They vintage these, you know, because easily, easily one of the best beers I have had this year.

I am drinking a, the Backenbac.

You have had this one before?

Have I had it on?

I haven’t had it on our podcast, have I?

Maybe not.

You showed it to me one time.

I think I showed it to you.

I’ve been scared of it.

Because it’s a dark Doppelbock.

Yeah, but you know, I’ve been drinking all of the really hoppy IPAs lately.

So I’ve been kind of wary of it and a little scared.

But, and you know, the fun thing about this beer, do you know why it’s called the Backenbac?

Tell me.

It’s named after the Backen oil run in North Dakota.

Ah, yes.

They sell this in Williston, North Dakota, where I hail from.

My grandparents live up in that area.

My relatives live up in that area.

So this beer actually came back with me when I went to Lake Knight, North Dakota for a family thing.

And I brought back a couple of these Backenbacs.

Yeah, it’s got a picture of an oil rig on that buffalo bison in the background.

And more oil rigs and then like hills.

There’s no hills in North Dakota.

I don’t know why.

So I’m gonna try it.

It’s pretty good.

Actually, that’s pretty good.

It’s by Bayard Brewery.

Out of Missoula.

And they don’t even list it on their website anymore.

I think it was just a like a short run, you know.

But it, yeah, that’s tasty.

Apple Bacs are yummy.

Have you, do you remember, does Sam Adams still make that triple Bac?

That little blue bottle.

Oh, that little blue bottle.

You know what I mean?

You could put it on pancakes.

I know exactly what you mean.

That little blue bottle is responsible for my beer journey.

I thought you were going to say your third child.

No.

Really?

Really.

My roommate in college brought it back one summer, you know, and said, “Hey, welcome back to school.

I brought this little blue bottle for you.”

And, you know, how can you go back to Schlitz after that?

Wow.

Yeah.

I’m surprised you could even drink it.

You know, they, I mean, because I mean, that stuff, it was like served.

Yeah.

I have a homebrew recipe for it.

Really?

It’s remarkable.

Because it’s not just the brew day process.

There’s actually like a, you know, every month you just put a little more wort into the fermenter.

You just keep feeding the yeast and you keep feeding the wort.

And it’s like a process just to ferment the thing too.

Yeah.

And then you wait two years.

You know, did I ever tell you a story about when I went to the Sam Adams brewery?

No.

About this?

So many years ago on a trip to Boston, I went to the brewery and took the brewery tour.

And this was when the triple bock was available.

And they were saying how there’s these three breweries or two breweries, right, or sorry, bars right by the brewery.

And they send things there to experiment and try.

And they said that they sent the triple bock there, but they didn’t, they forgot to tell them what to do with it.

And so they were serving it in pint glasses.

And apparently they had some fairly drunk beer drinkers.

There’s a pint of that stuff would have been, I mean, first of all, I’m amazed you could drink it to be stuffed.

Yes.

Yeah.

I have these little from my beer class.

I have these tiny, what are they?

They must be may, they might be, they’re 33 centiliter tulip glasses.

So tiny little things.

Yeah.

And I have found them to be fantastic for.

For that kind of thing.

For these bigger beers, like this barley wine.

And because you guys, you’re like, yeah, when I finish this, I’m just about done.

Hey, this is our, this is the first open loop since you became a certified beer judge, right?

I need to yet figure out, I need to yet receive my final results on my tasting exam.

Right.

So I don’t really know exactly what my status is.

And plus I need to get experience points.

A badge.

I need to get a badge.

So I am, I am recognized to some degree.

And in an effort to get out in front of my sort of judging experience points needs, this Friday and Saturday, I’m, I’m judging the big upper Midwest, upper Mississippi mashout, the big two day beer contest.

Really cool.

Yeah.

Yes.

So I’m judging two sessions on Friday and a session on Saturday.

And then next month, I’m going to Menominee to judge a beer contest there.

And just, I’ll hopefully by the time I get my results, I’ll have enough points to actually have my merit badge.

That’s cool.

Is there a registry?

I mean, like, is there like a list?

Yeah.

Of course.

One of the things that we talked about is that we kind of saturated open loop with Kube.

Right.

But we do.

So, so it’s going to be open loops.

Not going to be every minute of open loop is about Kube, but we do have one Kubb thing to talk about in this open loop.

The newest rage in Kube.

We’ll make it short.

Tiny.

So tiny Kube.

So I think it’s hilarious.

So tiny Kube, it’s made by Becks, whose sets I often speak poorly of, but, but their tiny sets are awesome.

And it’s, you can get it on Amazon.

It’s this little tiny, tiny Kubb set for playing on your desk.

And, and it’s hilarious because you got it.

Yeah.

For your birthday.

My birthday.

Yeah.

I got it for a Christmas present.

I think we both got it on like the same day or like a day apart.

Right.

Yeah, exactly.

And I sent you like a picture and you’re like, oh yeah, I got that too.

So here’s the clue for all of you listening.

If you know somebody who’s in the Kube, just get them a tiny Kubb set.

It’s like a guaranteed good gift.

It’s, you can’t go wrong.

It’s so much fun because Becks, the packaging of it, uh, they, they just shrank down the full size box to this, what, four inch, three inch size?

Yeah.

If, yeah, not four, three.

But yeah, three inch size.

And so on the box in the, in the now one point type, it says something like game instructions inside.

There’s no space inside for game instructions.

Did yours come with a bag for the pieces?

Well, cause it says like includes a bag.

And I was like, where’s the bag?

Cause you need it.

Like I don’t, you could lose them.

And were you able to ever get them back in the box?

Yeah, I got them back in the box.

They fit quite nicely.

I could, but I couldn’t get them to fit like the way they came.

I should have taken notes.

I should have taken notes or something when I unpacked it.

Oh, I still, every time I look at it, I giggle every time I play, I giggle.

So you played on the carpet.

I played on the carpet.

I played on tabletops.

Yeah.

I think the carpet is the, uh, is the best.

The tabletops are weird.

Tabletop bounces all over the place.

Yeah.

And you got to figure out where do you put the pieces?

So you’ve got room and they’ve got room and I just, just go on the floor.

And if the baton goes flying and I’ll end up in the cake or in the pie.

Yeah.

I mean, I played, my father-in-law and I, we played a couple of games on the, on the, on the table at his house.

And I, yeah, the stuff was flying everywhere.

Yeah.

Stuff flying everywhere.

I, I, I just determined that the, the most sort of, uh, in the spirit of full-size cube way to, to throw the batons and the cubes is to fling them like a paper football.

Uh, I’m not sure what you determined technique wise.

Well, I, I found that, you know, in the Minnesota flip.

Really?

Yeah.

I couldn’t throw the way I normally throw that I was not getting good accuracy and things are going all over the place.

So I just hold it by the top, just like some of the guys do when they play, you know, and did the flip.

So I threw it from the top and flipped it.

Huh?

And that worked pretty well for me.

Yeah.

How’d you, how was your drill?

I just did.

I drilled the same way.

I, uh, just.

Did you actually spin it?

No, I just set them on the, set the little cubes on the floor and just sort of flicked them like a paper football.

Yeah.

Yeah.

It was flying everywhere.

Still flying everywhere.

And it is just silly.

It’s pure silliness.

Totally silly.

Oh, We should set up.

I’d be funny at like nationals to set up a few tiny Kubb pitches.

Yes.

Yes.

I’d also like to see, uh, you know, how, uh, how, how in football, the coaches are looking over the plays and, and going over the play tape.

Oh yeah.

No, you could set it up.

It’d be a perfect.

Exactly.

Oh man.

Yeah.

You know, if Ted Kubler is listening, that’s a set up a little table and then when they conference for several minutes on end, they can, you know, do a little what ifs, you know, scenario planning.

That’s a tiny coop.

Yeah.

Yeah.

You know, you could easily put Velcro on the bottoms and have a little portable pitch.

Oh yeah.

Actually do that.

Yeah.

A little setup.

Yeah.

Oh, so we’re getting ready for our first, uh, our first Kubb tournament of the year.

That’s right.

That’s right.

Two weeks in the frozen tundra on the lake, the tournament.

Finally, after 18 months, some, some, uh, competitive winter Kubb properly done after 18.

Oh, cause we didn’t.

Yeah.

Last year we played in sweaters.

So man, I don’t think it’s going to be like that this year.

I think it’s going to be very cold this year, but it’s shaping up to be a quite a good tournament.

I think, uh, it’s gonna be awesome.

Yeah.

Uh, you recruiting any teams?

Am I recruiting any teams?

Yeah.

Any new teams?

Some new folks.

Got a new, uh, got a new team.

Um, well the guy, I, one of the guys from my beer class who is starting a new brewery, Jeremy Price from Price Brewing.

It’s going to be in Uptown at some point in the next year or so, uh, is fielding a team called Beer in Hand.

Nice.

Yeah.

That’s great.

I’m trying to get the Stillwater guys that I know to Annie up, but I don’t think it’s going to happen.

Yeah.

Mm.

That’s how it goes.

Quarter of a cube.

Hit.

Was done.

Done.

So what I like about this, uh, this Bigfoot, so first time I cracked it open, this wonderful, wonderful hop nose on it, just, oh, leafy and grassy and, and citrusy.

It was, oh, it was so yummy.

I immediately grabbed my, uh, my style guide and wanted to see, because if you look at the style guide, the order of the beers indicates how accurate they are to the given style.

Okay.

So if you’re looking at like, I want to get the most accurate double Bach, you grab the first one on the list for examples.

I understand.

Okay.

Right.

And he usually lists like five or six.

Mm.

This Bigfoot first one on the list for American barley wine.

Mm.

And I’m like, yep, totally.

Yep.

It had me at the, it had me just at the nose and it’s still there.

Mm.

It’s, it always, it’s so much amuse me.

You can look at this sort of goldish, amber-ish color and be like, well, yeah, it looks like a nice enough beer.

And then you get it even anywhere near your nose, your mouth.

And you’re like, oh my God.

Mm.

So unassuming.

Anyway.

You know, some places, some, some offices close between, between Christmas and the new year.

And, uh, uh, historically I’ve had a couple of clients that have closed during that time.

Um, which has been, I always thought it was awesome because I generally, historically I haven’t closed up shop during that time.

Right.

That changes.

Um, this year it was kind of weird cause it was only three days, but, uh, historically I haven’t, which has been really good because during that time, everything is usually so quiet that I can just work on one thing for a whole week and actually feel like I got something done and I, I’m not worried about being distracted.

Right.

I can really focus on what I’m doing and really make the most of that quiet time.

And I, I, I have a great fondness for that week of just being a discretionary week and being able to maximize that discretion.

Yeah.

I think that’s the, you know, this is the, for the last couple of years now, I’ve taken that time off and I’ve, and have really, uh, tried to do some kind of things that push my skills, you know, and, and, you know, I think I, I really liked this idea of actually putting that out there as this kind of this holiday project.

Cause I was thinking is if you’re, and I, you know, I, I don’t know what it would take to do it, but, you know, you take that time cause there’s not a ton that does happen during that time between Christmas and New Year’s and you, it’s not a huge block of time and you really focus on doing a holiday project where you identify something, a new technology, a new, you know, something that you want to explore and go deep in.

And, and I think it’d be a really interesting idea for, particularly for a development team, for, for everybody to pick something, you work on that.

Then when you come back in the new year, you do a show and tell, right?

Everybody gets together and you’re like, Hey, here’s what I, here’s what I did.

It’s, it’s similar in somewhat in concept to like, you know, the 20% time or like having these kinds of, you know, other things that you explore on your own.

But the difference is that, you know, you’ve got to fit it into essentially, you know, 20 hours or so, or 30 hours or so of time and figure out how can you get to something that is, you know, that’s at least a demo, if not like a functioning product.

Right.

And, and, and, you know, it’s a great way, I think, to explore new technologies, you know, to explore, you know, one of the things that I continue, I’ve, I’ve seen this happen in myself and in others for years is that when you learn how other technologies integrate or execute things or different patterns, that always is something that just goes into your toolbox and becomes something that you can leverage in other things that you’re doing.

And, you know, I still, I remember back to some of the products that we built at MarketWatch, and how they were directly inspired by some of the stuff that I was kind of playing with on the side and learning how, you know, some things happen on a JavaScript layer that was kind of different and, and novel, and then realizing, oh, wow, we could use that for this.

And then, you know, and it had a really big impact.

So, yeah, I think, I think it’s definitely a concept that should be explored is, you know, this holiday project, you say like, okay, during this time, you know, obviously keep everything running and focus on, you know, if there’s priorities and urgent things, you got to deal with the ideal of them.

But let’s take that time and do something that kind of exercises the creative muscle and explore some curious space, and then share the outcome of that.

Yeah, and I think I like that a lot in a couple of different ways.

The first way is that it’s longer than these, these, these, these most these popular hackathons, which I think are a day or maybe a weekend at the most.

Yeah.

If you I don’t know that you really, that provides enough time to actually solve a meaningful problem in a meaningful way.

But if you said, plus, that’s more, let’s be said, this is gonna be more self directed.

I think you can pull out a great deal more uniqueness across the breadth of the participants.

Yeah.

Both of those things seem like wins to me.

Yeah, no, I, so I, I did one this year.

I mean, I’ve done, I have a hard time remembering.

I know that, I mean, last year, you and I both explored this proxy.

That was last year, wasn’t it?

Yeah.

How do we filter on a network layer with a proxy server?

And, and in just a couple of days got something that, you know, could at least, you know, demonstrate the capability.

That’s right.

And then I rebuilt the thing in Node and realized why I don’t like Node.

Which is perfect for that.

And now you know, like, hey, I don’t need to build projects in Node.

So this year, I said, I’ve been thinking about this for a long time.

This whole, you know, as I’ve mentioned before, in other open loops, you know, they, you know, have been very kind of lit on fire, if you will, by MediaWiki and Semantic MediaWiki and what, and, and what you can do with wikis.

And I, and so for a while, I’ve been thinking like, wow, I really wish there was something that allowed me to administer and monitor and keep tabs on my own wikis better.

And so like, you know, for a while now, I actually used Munin, which I used to graph, you know, all the kind of standard stuff that you graph on a server.

And I would actually graph certain statistics for the wikis that I ran.

And that was fine, but it lacked a lot of, I mean, it just wasn’t all that useful.

So it hit me just kind of like, right before Christmas, I had this bit of an epiphany about, and mostly the epiphany came about from looking at some of the new stuff that’s in Semantic MediaWiki, as well as Semantic Results formats.

Notably Semantic Result formats in the newest version has added, added a number of new capabilities, including this charting library called digraph, d-y-graph.

And digraph is the same charting library, or it’s a derivative charting library of what’s on like Google Finance and Google Trends.

So you can handle very large data sets of time series data.

And it struck me that, well, gee, if I could just put these statistics somewhere, the digraph would be able to render it.

And that should be pretty easy to do.

And I know how to write a bot.

So I had this kind of like, aha, and then needed a name, because you need a name.

And connected with you, and we explored names.

And I think you came up with the idea of apiary, because we were playing around with the idea of your MediaWikis are the logo of a MediaWiki is a sunflower.

And there’s all these bots, and the bots are kind of like bees, and the bees visit the sunflower.

And where do all the bees live?

Well, they live in an apiary, or they live in a hive, and a collection of hives is a apiary, which, hence the name, WikiApiary.

So put this thing together as a holiday project.

And it’s been a ton of fun.

So, you know, in a, I think, really, in about three days, I was able to get it to the point where you could register a website, the website would then begin to collect data via a bot.

And you could visualize that data through digraph.

And then started to pull other data.

And what’s been really interesting about it is a couple of things.

One, as a project itself, it’s interesting and has gotten some interest and excitement and others people in the MediaWiki community.

In fact, there’s a guy, Karsten, in Berlin, who’s been hacking on it, pretty much, you know, every day, along with me.

And I got about 500 wikis in there.

And it’s pulling in data that is proving to be really, really interesting around the versions of extensions that are in use on different wikis, as well as how much edit activity is on a wiki.

And looks really nice.

And it’s been a bit of an aha project for me and how to use Wikimedia, or sorry, how to use MediaWiki as a front end, kind of a user experience layer on top of other headless programs.

And how you can integrate all those things together into a very unified user experience that is kind of significantly less complicated, because you’re taking advantage of all of those capabilities.

I like to think of, I mean, you’re far deeper into it than I am.

I really enjoy thinking of MediaWiki as a database.

Yeah.

That you can, in much the same way that I like to think of CouchDB as this sort of mix of database plus view plus query.

Right?

If you absolutely need to, you can use this database as the presentation layer.

But you don’t really need to.

The API is robust enough that you should probably use something else, because it’s kind of a pain in the butt.

But you could, and you could have all these three things together.

And that’s really kind of nice.

Right.

One of the things, two of the things that I like about WikiAPI, one is it’s really remarkable how much performance data about MediaWiki installs is just available publicly on their APIs by default.

Yeah, isn’t it?

Yeah.

And then the second thing is, you know, I’ve had a couple of questions for some Wikis that I’m planning.

And I’ve been like, I should ask Jamie if he’s ever seen, wait, I should just go to WikiAPI and check first.

Yeah.

Does this extension exist?

Is it in use?

Who’s using it?

How are they using it?

Can it be done?

That sort of stuff.

I can now go to WikiAPI and ask those questions, which I don’t think there’s been a resource, this sort of central resource before like this.

No, there’s never been anything for extensions for sure.

And there’s never been anything that answers the question like what percentage of MediaWiki installs use extension X.

Like the most popular extension with, you know, not surprisingly is parser functions.

It’s used on all but like 50 MediaWiki installs that are registered in WikiAPI.

And so, you know, but interestingly enough, there’s about seven different versions of parser functions that are in active use across those Wikis.

And so, you know, so knowing kind of what versions are out there is, you know, is a very useful thing.

And then for the extension authors to know, well, X percent of Wikis use PHP version X.

So if I want to make, you know, move my minimum version up, it’s going to cause a problem for these people.

So it’s, you know, it’s an amazing amount of data.

And, you know, it’s interesting because when I first started doing it, I really envisioned this as something that a Wiki owner would sign up for, they’d register their Wiki, they would use it to kind of monitor and see what was going on there.

And that it would mostly provide value to that individual person, that one person.

And that’s how I envisioned myself benefiting from something like this.

But it’s immediately obvious, as more and more Wikis were added, that there’s a huge benefit to being able to be able to cover a lot of the surface area of the media Wiki ecosystem and know kind of globally what’s going on across all of those various Wikis to provide, you know, the kind of, you know, very, almost like discovery type information.

You know, like, well, what’s an active Wiki in this content area?

Because it may be easy to find multiple Wikis in about, you know, about Minecraft.

But if there’s four Wikis about Minecraft, which one’s the most active?

Right.

And that’s easy to tell.

Well, and that was the one, you know, one of the questions I had earlier this week was, what does a Wiki about a family history look like?

Oh, I could go to WikiApiary and scan the 500 Wikis and find one that most likely will give me a template for how they solve the problem that I could use as a starting point.

Yep.

Yeah.

Perfect.

Well, and it’s also has highlighted the, what is it?

The largest semantic media Wiki in there holds about 40 million records.

That’s a pretty big data set.

So it also shows that, you know, you can scale this technology up pretty big.

Yeah.

Media Wiki scales.

Surprise, surprise.

But it’s also, it’s been a fun, the other thing that’s been kind of interesting to me is that the way that WikiApiary was built and why I was able to do it in a very, very short period of time was that I’m leveraging it as kind of the control surface.

Right.

So, and that code is always just such a pain to deal with.

And I don’t like, usually if I have to do that, I just, I’m not going to do it because I know I don’t have the time to do it.

And, and if I have to start with kind of the, at that layer, I just, I’m not going to be able to get enough done to kind of encourage myself to keep on doing it.

But this whole thing where like registering your website and, and validating and, and activating and all that being able to happen just in Wiki forms, and then having very, very focused Python apps that then interact with the API to pull that data in is a really interesting model.

And yeah, it’s a model that would work for what I’m doing with this, but it’s also a model that would work for a variety of other verticals and content sets.

Yeah.

I mean, if you think about, you know, well, what if I wanted to build a Wiki that had weather, right?

Right.

I mean, it would be relatively trivial to register.

Here’s my personal, you know, like what the, there’s this open, open weather, right?

Yeah.

And open weather relies on you posting to their JSON feed, you know, with, Hey, here’s my new information.

And so you just post, post, post, post.

You could also easily have it so that you had a Wiki where you registered.

Here’s my, here’s my, my weather station.

I pull the data using this specification and then, and then it could do a poll, you know, on a, on a schedule, you just reverse the polarity of that.

And you could imagine doing that for a variety of different content sets, you know, sports, weather, financial information.

All of a sudden, it means that you could bring kind of this robotic capability into the content set, which is, which is really something that I think has been thus far under leveraged, like in corporate environments.

You know, they go to think of the content management systems that many news organizations use.

It’s not, you know, they all have collaboration and they all have workflow.

I don’t know of any that significantly leverage robotic actions or, yes, or, you know, that kind of thing.

And that’s the kind of thing that, that this like API depends on, you know, the robots do all the work.

You just tell them what to do via the, the Wiki itself.

It’s really interesting to think of.

And we’ve talked about this before.

I think you’ve, you mentioned it at some point, the number of robots that are continually working under Wikipedia or the other, other Wikimedia sites.

Oh yeah.

It’s, it’s a tremendous, a fricking, a fricking army of robots just to keep the place going and cleaned up and stuff.

I like that image.

We have these robots that are keeping the place, not just clean and tidy, but also are the primary gatherers of data.

Yeah.

MediaWiki has this overlay that we, as people can interact with to say, okay, this is crap.

It’s a bad robot, but also clean it up and fix it and make it more usable.

But we have somebody writing that first draft for us.

Right.

Yeah.

When you look at what WikiApiary does, it collects information like the number of edits that have occurred on a Wiki.

And so the robot, you know, thematically named Bumblebee wakes up every 15 minutes to do that.

He has no idea what Wikis exist or what work he’s supposed to do.

He just knows that he collects this data point.

And then the first thing he does is query the Wiki and say, well, what websites should I go query that for?

Yeah.

So as soon as a new site is added and validated and, and, and activated, he instantly goes pick it up and start working on it.

You have a number of robots that are waking up at different periods of time doing this work, and now you have six and that number itself is even set in a Wiki page.

Yeah.

Isn’t that great?

Yeah.

So to pull the data, it struck me that, uh, obviously I’m going to run into kind of some problems if there’s a large number of Wikis to collect the data from.

And a lot of the time is just spent in wait, right?

It’s, it’s asking the remote web server for a JSON data block and, and while it waits for that, it’s just going to sit and I’ll wait.

So it had to, had to get out of this serial process cause it was just going to slow it down.

So I, first I thought about doing it using an eventing library or a multi-threading library, which was really scary.

Cause that’s, you know, I’m kind of over my skis if I get in that stuff, but then it hit me, well, wait a second, this set of, of, uh, websites that are supposed to be queried, they could just be segmented.

Um, so what if I segmented them into multiple parts?

So I added a new property that says, you know, has bought segment and has bought segment is automatically calculated off of the page ID, uh, just by doing a mod of, you know, a number I started with two.

Um, so you got two segments, but then it hit me that, wait a second, actually six is where I should start.

So what happened, it’s not running right now, but in within a week or so, every five minutes, two bumblebee instances will start.

And so, um, you know, at zero minutes, one and two, but segments one and two will run at five after three and four and at 10 after five and six, and then on 15 after it all repeats.

And that way I get paralyzation and I also segment the work.

So, and then they all come back and they do a dance for each other.

It’s where the honey is.

Exactly.

But by doing that, I figured it could deal with thousands and thousands of websites because each actually it’d be pretty easy to have up to 12, um, because you get one, one per processor.

But while I was doing this, it turns out that to make all this work, the number of segments is a constant that you have to define.

And if that were in three or four different places, obviously that’s, that’s not good.

Um, and then it hit me, well, wait a second.

I can just have a protected page in the wiki that only administrators can edit that describes exactly what, uh, this does and it establishes what the constant number of bot segments are.

And then in all of the derivative templates, I just referenced that.

And I use the very rarely used wiki syntax of only include, which is the transclusion that becomes very confusing because people are familiar with no include and include only, but only include is this very, very unique transclusion where it will, uh, when including the page, it will only pull what’s in only include, but only include will be included in the page itself.

So literally this page has all this very nice descriptive English information.

And then right around the number six, it has only include.

So, so all the other templates get that.

And actually I built it with two and then I went and changed that.

And I watched the property page, uh, dynamically readjust itself and all the wikis rebalanced and boom, uh, within two minutes, everything was rebalanced and, uh, ready to use six segments.

Really cool.

Oh, a long time ago, I heard this great talk, uh, from, from, uh, old small talk developer who had gone, uh, to Ruby.

And he was saying how the great thing about small talk or whatever the dialect of small talk that he was most familiar with was that it was, it was small talk all the way down the entire stack.

And he gets over to Ruby and he keeps bumping into these parts that aren’t Ruby.

They turn out to be C or C plus plus or whatever, whatever.

They’re not Ruby.

Yeah.

And I think of that kind of like, I, I, I, I have this fondness for media wiki of thinking that thinking of it, like, like this guy talked to a small talk, turtle, turtle, turtle, turtle, turtle.

Hmm.

What should I put here?

Oh, I know turtle, turtle, turtle, turtle, turtle.

That’s actually a great, you know, it’s funny that you mentioned that because there’ve been a number of times, I mean, like a perfect example when you’re hacking on a wiki, I’ve had the need and I have a blog post about this.

I’ll have a URL and I need to get the host name.

And yeah, one way to do that would be to just write a small helper extension that’d be in PHP that would take it, parse out the host name and return it easy enough.

And probably faster.

But I really do.

I have this very, very strong bias that if it can be done in templating language and parser functions, I will.

And that’s all because if it’s done there, anybody with an account in a browser can edit it.

And this is this whole people source thing that I keep on kind of pondering about.

It’s, it’s different than open.

So there’s something about an environment where you can build and create and even code with nothing other than a web browser and an account.

And, and so once you pass that barrier and you go into another layer, all of a sudden access is denied.

And it, and it feels, you know, it’s just very different.

So yeah, when I’m, when I, I try everything I can to keep it in wiki space.

Yeah, good example of that is in wikiAPI actually, the charts are, are far too specific and, and had to be far too unique that I couldn’t, I ended up not being able to use semantic results formats, but I wanted to still use digraph.

But, and I started thinking like, well, I’m gonna have to write an extension for this.

And that’s going to be terrible because then I’m the only one that can easily edit it.

And this is something that I really want other people to be able to engage in.

But I was able to use the widget extension that allows you to just create, you know, anytime you need to inject raw HTML, the widget extension is a great way to do that.

And so I was able to do it in there, still keep it in wiki space, still have revision history, still have a talk page, but have it, but have this very, very robust functionality where I’m executing raw JavaScript and it, it, it’s, it’s not pretty.

It’s implemented in Smarty, which is this templating language for PHP.

It’s a bit ugly, but it works.

And, and if there’s any motto for wikis, it’s ugly, but it works.

So, so yeah, I mean, right now, like, for example, I was trying to figure out a way to parse kind of abstract version strings into meaningful bits, right.

You know, cause you get everything from version 5.4.1 to 5.4 alpha to, you know, year, month, day, to really weird stuff.

And, and I’m keeping that in parser functions, even though that may not be the most efficient, it’s the most accessible and that’s the key.

So I’m going to keep on hacking on this thing.

I mean, it’s not moving as fast as it was.

And Hey, we should also mention the Kernist wiki.

Yes.

Coming along, coming along, coming along nicely.

I am really excited about the Kernist wiki.

You should introduce it to people.

Yeah.

So long ago and far away, Kernist was a open source font directory.

And a couple of years ago, my school and rails and my implementation of those two had a disagreement with me and told him to get the hell out.

So I haven’t really had a directory since then.

And I miss it.

I miss it terribly.

It’s been, it would have been really handy to have in the past year or so.

And then you offered to turn into a wiki, which I thought was a brilliant idea, totally in the same ethos of Kernist.

And so I gathered up what remained of the database and the repository, and we dumped it in over between Christmas and New Year’s or thereabouts.

And then we’ve been going through it and tidying things up and tying things together.

And I am real, real bullish on it.

I’m very excited for what it can mean for open source typography and open source font directories.

Again, I sort of think of open source fonts as this raw material that could get tweaked and updated by anybody.

But today, there’s not really a good place for anybody to say, you know what, I’ve just added a new character set, or I’ve adjusted the hinting on this thing, where do I put it now?

Do I really see it as its own thing?

Or do I push it to another repo?

Where’s that repo?

It’s just messy.

So to say that, well, here’s a wiki space for these things, and it’s got this other capability, and you know that it’s got some level of quality in it, or there’s some licensing, there’s some understanding around what’s in here, and you can help out.

It seems real good.

I love the idea of thinking of it as the typography equivalent of the Music Genome Project.

I think talking about things like the type classification, or the contrast, or these well-known and defined concepts is fine, and it’s necessary.

I think that there’s a really interesting kind of further extension to identify these kind of very layer deeper, or two layers deeper characteristics, and open it up to that kind of markup that I think would be really, really interesting.

Totally agree.

And I think that’s where you can start to say programmatically, what do these things have in common, and how are they related?

I don’t think to date we haven’t had the technology or the accumulation of these assets in a centralized location to really look at them in a way and say, “Oh, hey, look, they all have this thing in common.”

Yeah, I mean, I tell you, I love it.

Whenever I pull up the front page of the Kernis Wiki, I just grin.

I love that it’s just a mash of fonts, and you don’t see that.

I do see a really great capability there that I think would be…

And the great thing about all these Wiki projects is I just think of them as decade projects.

Nobody’s got hair on fire.

And you know what’s also fun about the Kernis Wiki is, and I’ve done a couple of other Wikis like this, there’s a certain thing that you can do with Wikis that you can’t do with many other technologies.

Because with a Wiki, you can essentially just kind of come into the room, dump your toys on the floor, and be like, “There.”

Yes.

Right?

Yes.

I mean, we didn’t import the Kernis data for months because…

Hemming and hawing over it.

Hemming and hawing over it.

It’s not clean.

It needs to be…

We should bring it up in Excel and clean it all up before we…

And then it’s just like, I think both of us were just annoyed and like, “Screw it.

Just shove it in there.

It’s a mess.

Who cares?”

It’s a Wiki.

Well, and the fact that you can run regular expressions across every page is an amazingly powerful thing.

I was surprised that after running a few, probably 20 regular expressions through all the pages resulting in thousands and thousands of edits, the content set started to come together.

And you could see, right?

You could see right away, like, “Oh, wait.

There’s something here.

This is the…”

I am hearing from above that there is a screaming child.

Yes.

Who wasn’t feeling well for most of the day anyway.

Shut it here?

I think that might be the safest option right now.

Yeah.

Yeah.

Just because I don’t know how long it might be.

Yeah.

I think we got a good…

I think we have over a half hour of content.

For sure.

Absolutely.

All right.

Let’s shut it down and I’ll put the file up.

Awesome, thanks.