Podcast 080
Jeff: I was just sort of ranting a little bit on twitter about eh.. my experience with Github has been pretty negative so far. Part of it is just me but..
Joel: Yeah, they probably hate you there.
Jeff: No, no no. I think what they do is cool. It's just I find it.. We're getting a lot of noice of the Github. So what's hosted there is the WMD editor that we had to reverse engineer that Dana Robinson did pretty much all the work on. Dana has been tied up with some other stuff. In the mean time, a bunch of people have forked off the project, which is fine, I don't really have a problem with that, but it makes it really hard to figure out like what is going on with the project, because you have Dana working, then stopping for an extended period of time. Then you have a bunch of people that sort of picked up and started doing semi-random stuff.
Joel: Wait, you just let them check it in? Or what, what, where, what?
Jeff: What do you mean? No, no, no. They have their forks, their own private forks. Well, not private, that's actual the problem, I think. So anyway, in talking to people on Twitter about this is like, everyone that approaches WMD wants to help, wants to figure out, they have this immediate hurdle of like, well, what's the current version, you know, and if you go to derobins branch you'll see here's derobins and he did some work, and then you will see some bunch of people work and you're like, which one of those is the good one.
Joel: That's the nature of any open-source project. There's supposed to be some kind of, like, shall we call it a parent, to use a metaphor.
Jeff: Yes
Joel: Who exhibits some kind of parenthood.
Jeff: Yes, now that's definitely true, and I agree with that. But I also think that there's a symptom here, in that, part of Github's model is their not free, they're pay, which, again, I have no problem with. I have no problem with paying for stuff, I have no problem with it. The artificial distinction that they use, is you cannot make stuff private, unless you pay. So I think this is a little bit annoying, because with it means is people who are playing around will come in and get, they'll check out WMD. Well, not checkout, but whatever the correct term is, pull I guess, and they will show up in the timeline for WMD, even if they have no intention of..
Jeff and Joel: ....
Joel: ..as pulling
Jeff: Apparently, I mean, that's what I'm hearing on Twitter. That's what I'm kinda objecting to, that's there is always some sort of random stuff in the timeline. <Joel talking in the mean time>. You know, I don't care.. Okay, here's my thinking. And people correct me if i'm wrong about this, because i'm somewhat new to distributed version control, so I could be completely wrong, but what I'm thinking is, you know, I only want to know about your timeline if you have intent, you fork if you will, your your pull, if you have intent to fold back in.
Joel: It's not up to the person, you see, I think that in an open source project <unclear: it doesn't> work that way.
Jeff: I think this is all very side-effecty. What I'm saying is these people come with free accounts, they can't mark their stuff private, therefore, it always shows up in the timeline, if they even touch WMD at all. What makes the timeline...<Joel interupting>
Joel: What's your WMD, what's your account on Github?
Jeff: I actually just deleted it, because I wasn't using it...
Joel: Where's WMD on Github?
Jeff: Just do a Google search for WMD Github.
Joel: There's a whole bunch, there'se derobins's WMD at master.
Jeff: There's a whole bunch, this is the whole problem. <laughing> This is what I'm trying to tell you. So derobins's is theoretical the correct one, in that that's the one we use, but there's newer ones.
Joel: Okay, this is fine. Who care's there are newer ones. This is a branch though. "Functionality removed that we not needed"
Jeff: There's a lot of changes going on with other people, and it's confusing. I mean, this is my problem. <laughing> I think it's really confusing.
Joel: This is <Jeff talking: part of that is..> C# WMD. This is the WMD..
Jeff: No, this is the Javascript, the client.
Joel: This is the official, this is the original, not really official fork ten million different ways.
Jeff: Well, that's where I'm getting at. The whole situations is a little weird. Part of it is bad parenting. And granted, Dana hasn't been around, I haven't been around. So I have actually moved ..<interrupted>
Joel: Wait a minute, where have you been?
Jeff: Well, I just haven't any time to work on the Javascript stuff at all.
<around the 19 minute mark>
Jeff: And one thing I'll tell you right off the bat, the state machine was waaaaay more code. Way more code. You're talking, like, 25 lines of code! <laughing, astonished>
Joel: Yeah, but that could be.. <interrupted>
Jeff: Could have been done in the Regex in like, three lines. I'm just sayin'!
Joel: Yeah, <interrupted>
Jeff: So that's the downside, it's a *ton* of code!
Joel: Yeah, but that code is all legible. <laughs a lot>
Jeff: Hummmmmm. I don't know. I mean it's debatable. <talks over Joel> It gets somewhat debatable. It's definitely faster. There's no question that it's faster because you're doing three Regexes in this case to do the <interrupted>
Joel: It's much easier, it's easier to debug too.
Jeff: Naaaah, I dunno. The way I was seeing this code <laugh> there's actually a bug, sadly, in the normalize routine he contributed, I'm gonna have to roll it back, umm because it's not actually removing the newlines at the end of the code like it's supposed to <laugh>. Uh, but I don't know, I was a little taken back.. <interrupted>
Joel: So why don't you just fix it?
Jeff: Well, because, I, th, th, the thing is it's a bunch, like 25 lines of code, I have to look at and understand verses like three. <laughs> It's actually quite a bit more complicated. <talks over Joel>
Joel: Yeah, Fine. <whatever>
Jeff: I mean I can give you the code if you want to look at it. I mean It's not *super* complicated code but it's 25 lines of code.
Joel: Right. <exasperated>
Jeff: I'm mean lines of code, the more lines of code the more bugs, man.
<end classic segment>