gecko
I'm not really defending all those decisions or anything, beyond that it's not simply a case of lazy devs or whatnot. We made trade-offs as a community that genuinely improved the user experience. I may not agree with all of them, but I get why they happened, and don't spend a lot of time wondering why we used to need fewer resources.
Separately, Microsoft bundles curl.exe as part of Windows since somewhere in the later Windows 10 or early Windows 11 releases, I forget which. This also appears to be honoring --cacerts.
So no, this seems to very much be an Apple problem.
(Kiln split the difference by storing metadata in SQL Server, but keeping all the actual source data in their native formats. This works great, but is only really viable if you can guarantee things never get out of sync, which is basically impossible for random local Git repos.)
As an aside, I do think that targeting Mono was the right thing to do for
the universe, as it butterfly-effected tedu into writing weird and wonderful
technical blog posts for the next ten years :p
I've never figured out whether that work broke him or was simply his muse, but I also do confess to liking the result. So not a complete loss. (Since you're answering arbitrary Fog Creek questions) In retrospect, do you
think it was a mistake to make kiln hg-centric at first?
No; I think it was a mistake to not also support Subversion out-of-the-box.Our customers were overwhelmingly Windows shops, and Git on Windows in 2007 was just unusably bad. It really would not have been a viable option. (I did look at Bazaar and Fossil, which were good players on both Windows and Unix, but neither seemed like a good fit for other reasons.) But Kiln's core value prop at the beginning was actually code review, and I think we could've found a cool way to bring in a Phabricator-like patch workflow that would've meshed just fine with Subversion and given our customers a much easier way to get access to Kiln's goodness. In that world, Mercurial would be a kind of bonus feature you could use, not the only way into Kiln. The resulting product would've been very different, mind, but I think it would've gone way better.
The other three technical mistakes we made, since you didn't ask me, were having FogBugz target .NET instead of Java (given the immaturity of Mono at the time only; I love .NET); having Wasabi compile to C# instead of IL (especially given the previous note); and having Copilot directly modifying VNC and its protocol instead of just jacketing it with a small wrapper app. These three decisions collectively slowed the company down a ton at a time when we shouldn't have let ourselves do that.
I enjoyed working with you, Alex. Glad to see you doing well!
There's an imdb trivia item[0] about how you and Liz disagree about whether
it was a shush, but it's unsourced, so it was hard to put much stock in it.
This is a much more satisfying answer.
Liz thought I shushed her for a long time, but I didn't even know that until years later, at which point I apologized and explained what actually happened. So I guess there was disagreement in the sense that I didn't know she thought that, but we talked that through many years ago.I am aware of the IMDB factoid. Since they also had my bio wrong and gave me a Bacon number of two for years, I have generally just concluded IMDB doesn't care about having accurate data, and never felt a need to correct it.
How do you feel about the movie looking back? I notice on your website that
you recommend people watch it "if [they]’re feeling masochistic." Is it just
the awkwardness of being the focus of a film at that age or were there
things you disliked about how it came out?
On a personal level, there's a lot I dislike. There was a lot of pressure on us to have reality-TV-show-like conflicts, which we mostly just didn't have. As a result, I end up being the antagonist in quite a few scenes (the building jump experiment is the main one), where it looks like I'm a bit of an asshole due to how things got edited together. So, normal reality TV show stuff.(Me being awkward and arrogant also does play into it, but, like everyone else, I've grown a lot since then. Seeing how far I've come is at worst a reminder not to let myself be like that again, but usually just ends up making me feel happy I've been able to learn from my mistakes and grow. I can't say it bothers me.)
I also just kind of feel like it's a lousy movie. The soundtrack was literally written on the way to the recording studio, and you can tell. The interviews are usually not asking great questions, as much as rehashing Joel's and Paul's blogs via interviews. And there's the fact the movie is so close to being about reddit and Y Combinator right at their inception, but somehow, just...misses it.
I should tone down the "masochistic" comment so it doesn't sound like I'm bitter or hate the film. I don't. I just don't really know it's worth a watch in 2023.
What did you like/dislike about working at Fog Creek? How'd it change during your tenure?
I learned a lot about tech, I got incredible freedom to work how I wanted on what I wanted, I had great coworkers, and I really believed in and used all of our products. They all brought me joy. That was all good. And it wasn't a grindstone like some of my friends went through at thefacebook and Google, so I had time to genuinely enjoy my hobbies and be with friends.The dislikes are mostly just versions of me noting that working in an anarchistic environment is great only if you shout loudest and care more than the next person, but I will add that that company was so young in so many ways. We often were figuring out how to do things from base principles instead of hiring people who knew what they were doing, because we weren't sure if we knew how to tell that someone knew what they were doing. And when we started to hire our way out, we made Some Mistakes. So, things that fell out of those bits.
I remember when he made a splash by designing the office so that every
developer had a window and a door. I think they later abandoned the idea,
but it felt like the first time someone had actually put real thought into
developer's ergonomics when building an office.
In both Fog Creek offices, all developers had doors and windows. That was also (at least as far as I can remember) true of the original Stack Exchange office. I think it finally got dropped at the second Stack office, but I'm not 100% sure. The bigger deal was that doing that in New York was extremely expensive, and it felt very unfair to non-devs who still needed sound proofing (e.g. customer success, sales, etc.), and some devs (yo) really do not like working all alone in a closed office, so my understanding was less than they dropped the entire idea at the second Stack office, and more that they were just trying to provide some flexibility to different work types. In one scene, she’s being interviewed on her birthday. Nobody remembered,
so she had to buy herself a birthday hat. While she’s explaining this to the
camera, one of her co-workers shushes her for making too much noise. On her
birthday!
No, this coworker right here was starting to say "shit fuck shit dammit" on camera as he discovered that a stale precompiled header was getting picked up on the build box and then realized Lerone was rolling, so you're hearing me halt myself before saying a pile of profanity on film. In retrospect, Liz talking about her birthday and me suddenly cussing like a drunk sailor would've been a much better take. I regret the error. [Benjamin Pollack] seems to have never caught the startup bug, mainly working
at larger, more established companies.
I worked at Fog Creek (max ~60 employees during my tenure, usually more like 40) from 2005 to 2014, Khan Academy (~120 if you count contractors) from 2015 to 2017, Spreedly (~40) from 2017 to 2018, and Bakpax (there were a dozen of us) from 2018 to 2021 (we got acquired, I wanted to stay at startups, so I didn't stay once we were bought), and another small startup briefly after that before settling at The Knot Worldwide. Yes, I'm currently at a very large company (~6500), but I'm a bit confused at how you'd come up with that summary of my career.I honestly really enjoyed the article, though, and neither of these are exactly big errors; just some extra color I wanted to provide.
[Edit: I'm also happy to answer any questions anyone has about the movie or about that time at Fog Creek.]
In the end, yes, I'm very curious what extending the Apple II line would've looked like, in an academic sense. But I suspect that, by the mid-90s, the "Apple II" would've been as technically unrecognizable from the Apple IIe as late 90s PCs were from the original XT: lots of echoes and lots of backwards compatibility, but extremely different when properly and modernly used.
But that's not what the article is about. What the article is about is that the C runtime shim that ships with Visual Studio defaults to using the ANSI API calls without supporting UTF-8, goes on to identify this as "almost certainly political, originally motivated by vendor lock-in" (which it's transparently not), and then talks how Windows makes it impossible to port Unix programs without doing something special.
I half empathize. I'd empathize more if (as the author notes) you couldn't just use MinGW for ports, which has the benefit that you can just use GCC the whole way down and not deal with VC++ differences, but I get that, when porting very small console programs from Unix, this can be annoying. But when it comes to VC++, the accusations of incompetence and whatnot are just odd to me. Microsoft robustly caters to backwards compatibility. This is why the app binaries I wrote for Windows 95 still run on my 2018 laptop. There are heavy trade-offs with that approach which in general have been endlessly debated, one of which is definitely how encodings work, but they're trade-offs. (Just like how Windows won't allow you to delete or move open files by default, which on the one hand often necessitates rebooting on upgrades, and on the other hand avoids entire classes of security issues that the Unix approach has.)
But on the proprietary interface discussion that comes up multiple times in this article? Windows supports file system transactions, supports opting in to a file being accessed by multiple processes rather than advisory opt-out, has different ideas on what's a valid filename than *nix, supports multiple data streams per file, has an entirely different permission model based around ACLs, etc., and that's to say nothing of how the Windows Console is a fundamentally different beast than a terminal. Of course those need APIs different from the Unix-centric C runtime, and it's entirely reasonable that you might need to look at them if you're targeting Windows.
Unrelated, the new owners of Kiln and FogBugz are asshats, I moved my stuff off ages ago, and I’d encourage anyone else still on them to do the same.
...like...you are aware the Russians used polonium traceable to their reactors to publicly poison individuals they disagreed with, right? Using special stuff to explicitly trace back to them is kind of their MO.