Go fonts - <AUTHOR> https://blog.golang.org/go-fonts <comment><USER3> This reminds me of Java applications that you can immediately tell are Java because of the weird font.

I don't see an advantage over using native system fonts. As far as I know you don't need a license to use fonts installed on the system running the application. Why does the font need to be bundled? The wide spread adoption of this is going to make go programs stick out like a sore thumb.

<comment><USER4> > I don't see an advantage over using native system fonts

As touched on in the article, you need a standardized font you have control over for automated testing, to make sure you're getting reproducible results. OS fonts are too inconsistent for that.

Now, why they couldn't use any of the literally hundreds of other open-source fonts instead that Google made…

<comment><USER5> > As touched on in the article, you need a standardized font you have control > over for automated testing

Why? Just standardize the font when running in test mode. I expect system applications to use my system fonts.

<comment><USER4> Yeah, that's the part where it stops making sense. System fonts _are_ good enough for human consumption.

</comment></comment></comment></comment><comment><USER6> The page itself is set in the proportional version of Go. I found it distracting to read because of the uneven character widths. The majority of the characters (like 'b', 'd', 'f', 'k', 'l', 'o', and 't') are narrow, but some common letters (mainly the 'e' and 'c') are round and wide, with generous space around them. I can't get past the impression that I'm reading paper that wrinkled when it went through the printer. Even the name "Go" has a wide G, awkwardly large space, and narrow "o". Perhaps it's an artifact of the browser rendering, because it's less noticeable on the alphabet sample image.

The monospaced example reminds me of TeX-produced CS papers at first glance. I'll have to give it some time.

<comment><USER7> The monospaced font looks very old, I don't like the look of it.

The proportional one is ok but it can't be used for programming. In part because of the reasons you gave but especially because there is almost no gap between the two = characters in == and @ is almost superscripted, which looks wierd.

I'm going back to Sans Regular (whatever it is on Ubuntu). It has its own problems (I and l look the same) but it's still better.

<comment><USER8> Yes! You put your finger on it -- it looks _old!_

That's not necessarily a bad thing. Instead of "old" you could call it "retro". But it definitely reminds me of the formatting of K&R, which makes sense as the Go team see themselves as the heirs of the K&R tradition.

</comment></comment></comment><comment><USER9> "The experimental user interface toolkit being built at golang.org/x/exp/shiny includes several text elements, but there is a problem with testing them: What font should be used?"

I am really amused by this opening. I guess it is part of the culture to "recreate" something unnecessary and perhaps better when there is resource to spare.

<comment><USER10> Font licensing is complicated and Chuck is a friend. It was very important to us that Go programmers be unencumbered when distributing programs that use this font.

<comment><USER11> Why is it not possible to just use the system font for these UI elements?

<comment><USER12> I help maintain/develop an app that allows users to draw and simulate logic circuits on a canvas. Text plays a minor but important role for labeling various components, showing bit and hex values, etc. The app uses system fonts, and it's a huge mistake. The sizes and exact layout and connectivity of various logic blocks depends on text size, and when that changes (and it does from platform to platform), it leads to lots of subtle and hard to notice errors. I've spent a lot of time tracking down every logic dependence on character width and making those all platform-independent heuristics instead of using the actual font metrics. Which makes the UI often look terrible (but at least it is a consistent and functionally correct terrible). I would much rather the app bundle a freely redistributable font and be done with it.

<comment> yoz-y It seems to me that having a specific UI toolkit font would not help you in your case.

If Go maintainers decide to change the font metrics you will have the same problem. Distributing your own font (as you have mentioned) is the right way to go.

<comment><USER13> If the Go maintainers change metrics, you can still distribute the old version, or even modify the new version back to the metrics you want and distribute the result. That's the advantage to friendly licensing.

</comment></comment></comment></comment></comment></comment><comment><USER14> I'm surprised that people haven't commented on the implicit story here: the intention to deliver the "Shiny" cross-platform graphical toolkit for Go. If that happens, Go becomes one of the very few programming languages with a default cross-platform UI library.

<comment><USER4> Let's hope it won't be as ugly as the Java crap. Or Tk.

<comment><USER15> Do you mean the old Java crap, like

[https://netbeans.org/images_www/screenshots/platform/jmonkey...](https://netbeans.org/images_www/screenshots/platform/jmonkeyengine.png)

[https://netbeans.org/images_www/screenshots/platform/nbAWSAd...](https://netbeans.org/images_www/screenshots/platform/nbAWSAdministrator.png)

[https://netbeans.org/images_www/screenshots/platform/lg_soft...](https://netbeans.org/images_www/screenshots/platform/lg_soft.png)

[https://netbeans.org/images_www/screenshots/platform/GGSSEph...](https://netbeans.org/images_www/screenshots/platform/GGSSEphemerisVisualization.jpg)

[https://netbeans.org/images_www/screenshots/platform/platypu...](https://netbeans.org/images_www/screenshots/platform/platypus- nb.jpg)

[https://netbeans.org/images_www/screenshots/platform/blueMar...](https://netbeans.org/images_www/screenshots/platform/blueMarine.jpg)

or the new Java crap like

[http://fxexperience.com/wp-content/uploads/2011/05/Charts- Ba...](http://fxexperience.com/wp-content/uploads/2011/05/Charts- Bar-152839_1080x675.png)

[http://docs.oracle.com/javafx/2/best_practices/img/saleshist...](http://docs.oracle.com/javafx/2/best_practices/img/saleshistorytab- small.png)

[https://blog.idrsolutions.com/wp- content/uploads/2014/03/vie...](https://blog.idrsolutions.com/wp- content/uploads/2014/03/viewer_drop_down.png)

??

<comment><USER16> Funny, Java, using the default UI widgets, always looks a lot closer to this on my system:

[https://i.stack.imgur.com/9UwJK.png](https://i.stack.imgur.com/9UwJK.png)

<comment><USER15> The screenshots _are_ of the default widgets. The only question is which is the selected look-and-feel (for the "old" Swing toolkit), or the style sheet (in the new JavaFX).

</comment></comment></comment></comment></comment><comment><USER17> Elements of the proportional font, like the little foot on the 'a' remind me of Lucida Grande. Lucida Grade was the original OS X system font, which B & H also developed. This is not their first rodeo, its all about licensing.

<comment><USER18> Definitely has a Lucida Grande feel to it, which, if I recall correctly, was one of the font on Plan9. The Go Mono isn't close to Lucida Grande Mono, but certainly looks like an interesting update.

<comment><USER19> Yeah, Plan 9 used Lucida Sans Unicode, of which Lucida Grande is a derivatives with very minor modifications.

Personally I use Lucida Grande for all my programming.

</comment></comment></comment><comment><USER20> Interestingly strange they wouldn't just choose an existing open source font that got along with their license. I guess even you've got Google's wallet behind you it opens a lot of doors.

<comment><USER21> It confuses me even more considering that Google is behind it. Google just announced fonts for all unicode characters. [1] Why create an extra font that will cause every app to look like a "Go" app instead of a native Windows/Linux/Mac app?

[1] [https://www.google.com/get/noto/](https://www.google.com/get/noto/)

<comment><USER22> Google isn't behind it. Some Google employees who work on Go are behind it (well, and Chuck Bigelow too).

But as keeps getting said: it's about the licensing.

<comment><USER21> As I understand it, some of the main developers are being paid by Google to develop the language. The main page is also hosted by Google. Even though the language is technically open, that makes it a Google language for me. Not in a negative sense, it means that they should profit from it.

I still don't understand why they would have to license the Google fonts for testing and using them as standard fonts. EDIT: I just saw that Noto is available with an open license, just not the Go license. But I still think Google would relicense it to Go, seems like something Google would do in this case.

<comment><USER22> I was referring to the Go font, not Go itself; I thought that's what you were referring to.

</comment></comment></comment></comment></comment><comment><USER23> The monospace font reminds me of the console on old Sun workstations running SunOS.

It's pretty hideous. The alphanumerics feel rather slapdash, like this whole thing was put together by the foundary on a Friday afternoon and made to meet the minimum requirements but without much love.

<comment><USER24> It's easy to fix though. Just pour more Knuthian bullshit on it until the hackers think its flaws represent important aesthetic decisions. It was made by an important type foundry adhering to the strictest mathematical principles, after all!

</comment></comment><comment><USER25> I love that they actually included Bigelow's explanation of each decision made. So often (especially in the realm of programming fonts, it seems) decisions on letter forms in new fonts seem to be made "because it looks nice", but there is, in fact, a science behind it all. Indeed, Go Mono ticks every item I look for in a programming font (one of only 2 or 3 programming fonts that does): \- slashed 0 \- easy differentiation of 1, i, l, and | \- open lower-case g \- proper kerning and adequate width of r, n, and m

Unfortunately, I don't see myself switching away from Menlo to Go Mono for a silly and purely aesthetic reason: 5 point raised baseline * . Yes, yes...I know that's how pretty much _every_ font has done * since forever, but after working with the vertically centered, six-pointed * in Menlo (and SF Mono), it's hard to go back.

<comment><USER26> Do you write OCaml or C (comments) by any chance? I've often found it hard to discover a typeface that has

        (* this is a comment *)

vertically centered. My usual choice is Fira Mono because it looks great and centers * vertically, though I would love a serif monospace font. Maybe Go Mono will be revised but I doubt it will be updated anytime soon.

When you say "6 point" do you mean it's bigger than usual?

Is there a place to obtain SF Mono without an Apple Developer account if you don't happen to have a macOS installation handy?

<comment><USER25> I've found the vertically centered " _" to be far superior almost everywhere. Definitely for comments, but even for pointers (yes, I do write a fair bit of C) it becomes clearer that the glyph is part of the type signature, and not just a footnote.

By "6 point" I mean the character itself has 6 "arms", instead of the typical 5. For my taste, it makes the glyph feel more balanced.

There is this repo: [https://github.com/hbin/top-programming- fonts](https://github.com/hbin/top-programming-fonts) . Unfortunately, I'm not familiar with the legality of obtaining Menlo without OS X/macOS. It is a variation on Bitstream Vera Sans, which is AFAIK Open Source, but I am completely ignorant when it comes to how licenses apply to fonts (as opposed to code).

As for SF Mono, that seems to be impossible to obtain even _if* you have macOS and an Apple Developer account (only the UI fonts are available for download). I managed to dig them out of the Xcode application bundle and install them as system-wide fonts, but was greeted with a very scary warning stating that installing these fonts could _destabilize my entire system_ (so far my OS is still running, though)...YMMV.

<comment><USER26> Centered double quotes?

<comment><USER25> Gah...silly markdown-not-really-markdown formatting. Should have been: "*"

</comment></comment></comment></comment></comment><comment><USER27> pretty soon you will not be able to compile go without it being written in the correct font. thus making go code the same no matter where it is written or displayed!

<comment><USER28> Brings a whole new meaning to homoiconicity

<comment><USER29> Homoiconicity has more to do with code in language X being directly written syntactically and semantically as a convenient data structure manipulable in X. It does not have to do with consistency in appearance.

</comment></comment></comment><comment><USER30> Love that screenshot. Reminds me of rebuilding Emacs, opening it up, and immediately remembering that I forgot to enable Xft or something.

</comment><comment><USER31> This fonts are pretty cool. But I don't understand why they just used Roboto or Noto fonts.

<comment><USER32> Roboto appears to be licensed under Apache 2.0. Noto under SIL Open Font license.

As these fonts are purportedly intended for testing purposes, presumably they will be included in the package. Adding additional licenses to the codebase complicates the usage. You might agree to the terms of the Go license, but not the Apache license, for instance.

Since this new font is licensed under the Go license, there is only one set of terms you need to agree to. This is a much better situation for many reasons.

<comment><USER33> Considering the openness of these licenses the concern is silly. The tiny disadvantage of having an extra open license is heavily outweighed by the much higher quality and unbeatable coverage of the Noto fonts.

Also, considering that Google owns Noto and has relicensed it in the recent past, it would probably be possible for them to ship it under the Go license too.

<comment><USER34> Unfortunately if you use Noto fonts with Go Rob Pike and Nigel Tao will hunt you down, show up to your house and kill you and your entire family, so you have to factor that in to your choice.

</comment></comment></comment></comment><comment><USER35> From the designers of the Lucida typeface family.

The monospace serif typeface has pleasant, natural thick-thin strokes, giving it a substantial, typewriter-y appearance instead of the weak lines in most monospace serif typefaces -- remember Courier New?

<comment><USER36> Yep, Bigelow & Holmes, also the designers of the Luxi font family.

The monospaced font looks like an iteration on Luxi Mono [0], fixing some of the major issues (lowercase-ell vs. one, uppercase-o vs. zero).

The proportional font likewise looks very similar to Luxi Sans [1], the main differences I see being again the lowercase-ell and zero glyphs.

[0] [https://www.fontsquirrel.com/fonts/Luxi- Mono](https://www.fontsquirrel.com/fonts/Luxi-Mono)

[1] [https://www.fontsquirrel.com/fonts/Luxi- Sans](https://www.fontsquirrel.com/fonts/Luxi-Sans)

</comment></comment><comment><USER37> I see there's a black-on-white Gopher hiding at U+F800 in the middle of the BMP Private Use area (U+E000..U+F8FF). Besides that, only Latin, Greek, Cyrillic, and a few box drawing glyphs are provides. Are there any plans from the Go Fonts team to provide glyphs for all characters in the BMP, and beyond?

</comment><comment><USER38> Nice. it looks interesting.

Do i need it? don't know. Will it be useful? might be.

I don't see any reason to complain. It's a completely free font people.

I see no downsides to this.

<comment><USER19> Exactly. On some other forums people complain like someone is forcing them to use it! I don't understand it at all. How does it affect their life in any way?

Don't like it? Don't need it? Move on with your life...

</comment></comment><comment><USER39> The screenshot vaguely reminds me of a scanned copy of code from the 80s.

<comment><USER40> Yes, it definitely gives the code a retro feel. My first impression is that I like it.

</comment></comment><comment><USER41> Why does a programming language need its own font?

<comment><USER10> Why not?

But seriously, it's of great benefit to Go programmers to have a font that shares the same license as Go itself. Most fonts are not so unencumbered.

<comment><USER42> I was surprised to see that you didn't add any Go-specific code ligatures (e.g. for <\- like Fira Code provides[1]).

Has there been any thought into providing a variant with some? While I could see why some might be against them I think they're rather fun and can make code more readable.

[1] see for example [https://github.com/tonsky/FiraCode](https://github.com/tonsky/FiraCode)

<comment><USER43> This is honestly where I thought this was going when I saw the title. It would be cool for a font to be invested in the language it's used to describe to the point where it supports features of that language.

I use Fira Code for JS, HTML, and CSS and it's great. Very rarely to the extra fun ligatures get in the way, and when they are printed they look absolutely gorgeous. I wish all/most code samples in tutorials and articles were set in it so they would be a pleasure to read.

But these fonts left me scratching my head.

<comment><USER44> fyi you can get most sites to honor your font with a combination of the browser's default monospace font and extensions like Stylish.

even this comment box respects Fira Code, see[1]

[1]: [https://imgur.com/a/LjbS3](https://imgur.com/a/LjbS3)

</comment></comment></comment></comment></comment><comment><USER45> I just got this set up on a Linux system and I think these fonts are absolutely fantastic. This is the only "programmer's font" I've tried that was ever any good.

<comment><USER46> I like them but they won't be replacing PragmataPro which has ligature support and works in everything I use, is nicely condensed without feeling cramped and is just beautiful to look at.

Screenshots: [http://imgur.com/a/tiE76](http://imgur.com/a/tiE76) first image is Pragmata second Go font, no contest for me.

<comment><USER47> I used to use Pragmata, but have since switched to Iosevka. It's similar in width and also supports ligatures.

</comment></comment></comment><comment><USER48> I think these are made in preparation for high-DPI screens.

The serifs are short enough that I couldn't see them all on my regular screen (particularly the right-hand serif on the lowercase 'w'). But on my phone I would be able to see it perfectly well. On a high-DPI screen, the text isn't blurry or anything. They didn't focus on the rendering at all it seems, but made their screenshots in high resolution.

</comment><comment><USER40> The monospace font looks interesting. Fixed-width serif fonts are not that common.

But creating fonts for Go? That sounds like a solution in search of a problem.

<comment><USER49> Fixed-width serif is exactly what I wanted! It's refreshing to be able to switch from serif to sans-serif, I do that on my Kindle about once a month and the text immediately becomes less boring.

</comment></comment><comment><USER26> This looks like an improved version of Luxi. I couldn't use Luxi Mono because O and 0 look the same, but this fixes that. I had been looking for a serif monospace font for a long time and this looks great.

Did anyone else try to use it in xterm or rxvt-unicode?

In xterm and Emacs the vertical spacing seems to be too small, making it look pressed together.

In rxvt-unicode the only problem is that the renderer displays it stretched horizontally like a short but wide block.

</comment><comment><USER50> The vertical line of the box-drawing characters (U+2502 and etc.) is not long enough.

While you are at it, can you guys complete the APL symbols?

</comment><comment><USER51> Wish they had talked to Fabrizio Schiavi..

<comment><USER52> You mean the Pragmata font?

<comment><USER53> Yes, that's the Pragmata guy. I first paid for his font in January 2004, and he still sends out updates. (I did upgrade to Pragmata Pro in 2011, but still). He's been doing nifty program specific ligatures lately.

</comment></comment></comment><comment><USER54> These look exactly like the Plan9 fonts (which IIRC were also by Bigelow&Holmes). Ironically, the Plan9 folk seem to shun TrueType in favor of bitmap fonts... I'm pretty sure the Raspberry Pi Plan9 image I'm running at my home office only has bitmap fonts installed.

<comment><USER19> Plan 9 uses Lucida Sans Unicode, which was the OS X system font (as Lucida Grande) until recently. There is a resemblance between this font and Lucida Sans Unicode, they come from the same foundry, after all, but they are significantly different.

> Ironically, the Plan9 folk seem to shun TrueType in favor of bitmap fonts.

It's true Plan 9 uses bitmap fonts, but that's just how the technology was implemented (so you could use BitBlt, etc), there is no shunning of trye type fonts.

<comment><USER54> Clearly you haven't been on 9fans over Summer :)

<comment><USER26> Was there a font thread you're referring to?

</comment></comment></comment></comment><comment><USER55> The monospaced font reminds me of Luxi Mono (with the 0 solved) and of the Sun console font.

</comment><comment><USER56> When reading this, I wanted to check the x-heights of letters, as they seemed proportionally shorter than for example Roboto.

Ended up not checking, but coming across an article by Google on typography in general, part of their Material Design. [https://material.google.com/style/typography.html#typography...](https://material.google.com/style/typography.html#typography- typeface)

</comment><comment><USER57> Yuck, the monospace font feels too dense, and dislike the serifs.

<comment><USER58> It's a pity when newer typefaces don't have lighter weights — they look far better on high resolution displays than normal/regular weights, which look almost bold.

My favourite example and what I use daily, Office Code Pro Light: [https://raw.githubusercontent.com/sjrmanning/darkokai/screen...](https://raw.githubusercontent.com/sjrmanning/darkokai/screenshots/elixir- example.png)

<comment><USER59> This is MacOS font rendering for you, in Linux normal weight looks normal

<comment><USER19> Or rather, in macOS it looks normal and in Linux it looks too thin.

</comment></comment></comment></comment><comment><USER60> Go has a cross-platform GUI toolkit? Should I wait for it instead of learning Qt/C++?

<comment><USER61> It's experimental, so I wouldn't. Pick it up when it gets better.

Qt/C++ skills are both good to have anyway, so it won't be time wasted.

</comment></comment><comment><USER62> Is it just me, or is every other font produced by Bigalow and Holmes essentially Lucida?

<comment><USER19> This is much closer to Luxi (especially the monospace font) than to Lucida.

<comment><USER62> Yup, but Luxi itself is essentially a remix of Lucida.

</comment></comment></comment><comment><USER63> I usually prefer DejaVu fonts [1]. One of the best fonts for terminal and coding under free license.

[1] [http://dejavu-fonts.org/wiki/Main_Page](http://dejavu- fonts.org/wiki/Main_Page)

</comment><comment><USER64> It'd be nice to see font examples with syntax highlighting as well.

<comment><USER65> [https://s22.postimg.org/x92shc4wx/Screenshot_at_2016_11_16_2...](https://s22.postimg.org/x92shc4wx/Screenshot_at_2016_11_16_22_11_29.png)

Rust not Go but same idea

</comment></comment><comment><USER66> Looks like a good font choice once you get used to it.

</comment><comment><USER67> The first example shown in the post reminds me of the boot up font you would see on an old SPARCstation.

</comment><comment><USER68> I hope this UI toolkit will take the good parts of CSS and HTML, and perhaps toolkits like React.

</comment><comment><USER69> Honestly how could serif be a good idea? I do not see the appeal at all.

</comment><comment><USER70> Why wouldn't they just use Google Droid? Strange.

<comment><USER71> From the comments here so far, it seems really important that they could be under the same permissive license as the rest of the project.

<comment><USER72> Another reason to not just use Google fonts is to make sure they do not - <USER2> if unwittingly - give an impression that the Go language is controlled by Google. This is an open source initiative (at least in spirit) and needs to make choices akin to its roots.

</comment></comment></comment><comment><USER73> Not a bad font. Personally prefer Anonymous Pro.</comment>


Cars are ruining our cities - <AUTHOR> https://www.nytimes.com/2018/04/25/opinion/cars-ruining-cities.html <comment><USER2> When I lived in Berlin I never drove a car. Never needed one. Public transportation + walking was always a viable solution. Now I live in the U.S. and wish I could get by without having a car. My job is too far away and Uber/Lyft too expensive to be a viable option. High frequency bus service means "every 15 minutes" where I now live. It's a joke compared to Berlin.

When I look at American cities/towns now I think they are mostly ugly. Way too much space devoted to mostly empty parking lots. Very few people out walking or otherwise enjoying the outdoors. Drive, drive, drive. It's depressing sometimes.</comment>


Getting Started with rkt - <AUTHOR> http://blog.codeship.com/getting-started-rkt/ <comment><USER2> >You can store rkt images in CoreOS' Quay service.

Just a minor correction: Quay stores Docker images and server-side coverts them to ACI when first requested and caches the results. This is because appc only has a proposal for uploading. If you're interested in providing feedback: [https://github.com/appc/acpush](https://github.com/appc/acpush)

<comment><USER3> Thanks! I'll fix it

</comment></comment><comment><USER4> I'm excited for rkt. The first time I spun up docker, it complained about the daemon not running. Huh? Ok, spun up the daemon (root, of course) and now the main docker commands work.

Wait, I have to run a daemon as root to run my containers, which all are also going to be run under the same root process? Alarm bells are ringing.

Having a tool that runs containers in isolated processes is much more appealing to me, and seems much more correct and true to the very nature of containerization.

<comment><USER5> Containers are isolated processes, and don't need root. Docker needs root to give them elevated privileges if you require this, and to set up iptables and so on.

<comment><USER6> Please don't shrug this off so easily. With a vulnerability in the Docker daemon (an no software is 100% free of bugs) he is in more danger than before containerization.

<comment><USER7> This 1000 times. It's also an issue being a single failure point more generally. If the daemon doesn't perform, it can affect every single container running on the system. Competing systems that use a less monolithic approach are very, very welcome.

</comment></comment></comment></comment><comment><USER8> Nice overview. I'm curious about the need for (some) acbuild commands to run as root, though. Does anyone know if this is just in order to be able to call chroot? The example linked in the article doesn't go into detail:

[https://github.com/lukebond/demo- api/blob/master/appc.sh](https://github.com/lukebond/demo- api/blob/master/appc.sh)

I can't see why building an image file would require root -- all in all it's just about writing some kind of archive to disk, isn't it? A cursory glance at the rkt-project documentation didn't get me any closer than the equivalent of "some sub-commands require root".

<comment><USER9> It's only the run that requires root subcommand and its because it uses systemd nspawn to run the command inside the image your building. Not ideal but it's how it works for now.

</comment></comment><comment><USER10> Interesting. I didn't know much about rkt but this was helpful. I like the fact that it's based around existing tools (bash commands, bash scripts instead of a proprietary Dockerfile is nice). Though I'm guessing there will be little to no support for Windows?

Either way this is interesting. I've been using Docker but I could see using this down the road.

<comment><USER11> Maybe the spec can be adopted by other operating systems. A Freebsd port was developed before docker gained support for Freebsd:

[https://github.com/appc/spec/#what-are-some- implementations-...](https://github.com/appc/spec/#what-are-some- implementations-of-the-spec)

</comment></comment><comment><USER12> > rkt follows the appc spec and uses a combination of HTTPS and HTML meta tags > via a discovery URL.

Why in the world would you pick this as a discovery mechanism.

This means that any took that wants to do appc discovery needs to know how to parse HTML.

<comment><AUTHOR> This discovery method is inspired by the way Go does package name delegation. It is really trivial to do.

We have gotten feedback that people would prefer to use a well-known URL. At the time we started building appc the well-known URL stuff seemed to not be getting much traction but this has seemed to change over the last few months. See this issue: [https://github.com/appc/spec/issues/160](https://github.com/appc/spec/issues/160)

Overall, I think this sort of delegation and naming is really important despite the shortcomings of particular methods. I hope that as the Open Containers Initiative proceeds that we are able to make this part of the standard. If email can do name delegation to hosting providers our server software certainly should too.

<comment><USER13> It's an excellent hack, but it also just feels so wrong, at least in some cases. Most users (of a URL) won't care about the tags, so why send them? Maybe User-Agent differentiation is an answer? Define a string which indicates the type of response that rkt is looking for?

Are there any examples of publicly standardized User-Agents?

At least it would allow one to take meta tags to specialized binaries out of their webpage markup. Well known URLs is a decent compromise, but potentially breaks existing applications and extends across all applications.

</comment></comment></comment><comment><USER14> rkt seems a little too inelegant for my likings. wish they had similar buildfiles or cli syntax as docker. even then, i'm not sure what benefit it'd bring over docker.

<comment><AUTHOR> If you think of rkt as an analogy to `apt-get` I think it makes a bit more sense.

apt-get has methods for downloading and installing software over the internet. Similarly, rkt has methods for downloading and running container images.

And like apt-get rkt doesn't build packages but relies on a spec and a build system.

rkt also avoids being an init system. This allows for rkt to be used with existing init systems for things like system services, daemons, etc. It also means that you can use rkt containers alongside your "normal" init tooling.

</comment></comment><comment><USER15> I thought this was going to be about Racket...</comment>


Introduce process only as a last resort - <AUTHOR> https://medium.com/@yanismydj/introduce-process-only-as-a-last-resort-21bd25e53eb <comment><USER2> As a "crappy little middle manager" I say: Amen! I work for a medium sized start up where the aforementioned seem bent on introducing process at every step in order to maximize "predictability". Except that the predictability doesn't come. The answer? More process.

</comment><comment><USER3> How do you reconcile this mantra of spontaneous order with the start-up necessity of iteration?

<comment><USER2> People can learn through iteration without creating a process.</comment></comment>


Ask HN: Giving raises after a series A round - <AUTHOR>

Do co-founders usually give themselves large pay raises after closing their first big round of VC money?
For example, a startup that has lasted for 1year on  200k of seed and angel money closes a 3 million dollar series A round. The company has 3 cofounders and 2 additional hackers and everyone is taking just a little more than their monthly expenses.
Do you avoid the temptation in order to save as much as possible? Here in Cambridge, hiring top notch development talent costs about 100k or more if a huge chunk of options are not offered to the person.
It seems like a no-brainer to keep your salary as low as possible while you keep most of the equity and your employees get the higher salary.
If I had to guess, I would say that this is not the case in most VC backed startups. If so, then why? <comment><USER2> I believe the goal should be NOT to be an outlier.

Get a good sense of how the market would value you, independent of being a founder, and get paid that.

Getting paid too much is just asking to to be singled out to be removed as a "cost saving measure."

Getting paid too little makes everyone value you less. And you're at risk of being viewed as sucker.

I have some strong memories of how annoyed I was at how much money our "new, post-series A management hires" were spending while I was still doubling up in hotel rooms with the other founders.

At least we weren't still sharing beds...

</comment><comment><USER3> I ran into this situation about ten years ago. (With the _exact_ same amount of seed funding and series A funding oddly.) I didn't want to do raises and my co-founder wanted to do a huge raise that would have doubled his salary. We compromised closer to my side and just did a slight raise.

We also sold some personal stock to the Series A investor. I banked it and forgot about it. He went on a spending spree and his performance at work went down and never recovered. He ended up quitting a year later, wrangling high- dollar consulting contracts from a couple of our larger clients who later regretted it. Asshole.

I suppose this is more of a lesson about picking the right founders than whether to give yourselves raises. But I'd be a bit wary of anyone who wants too large of a raise.

</comment><comment><USER4> I've been told that investors will generally veto any attempts by founders to give themselves "large pay raises." Series A investors will likely allow small raises so that you're not living off ramen anymore, but founders should still expect to be paid below market rate.

My guess is that compensation would be a topic of board discussion -- especially executive compensation. In an early stage company, it would be politically impossible to argue that you should be paid more simply so that you don't jump ship. Threatening to quit does NOT go over well with investors.

It's pretty common that early employees and non-founder executives are paid more than the founders. Obviously, the founders will own considerably more stock.

</comment><comment><USER5> I've never been through this before, but I feel like getting through series A is a milestone and should be treated as such. I think founders who have been busting their asses to get this product up-and-running deserve some sort of bonus, especially because they just presumably diluted their equity. Maybe this could be solved with some sort of one-time bonus or at least a big effin' party of some sort.

</comment><comment><USER6> You should include your pay raises in your budget you provide VCs before closing your series A.

I would suggest paying yourself somewhere around or a bit above what you would make at a big company if you were doing the 9-5 gig as an engineer or whatever other position you'd hold.

</comment><comment><USER7> Be adequate with what you are asking for. You have the right to get paid fair salary. What investors may worry more then a few grands of salary raise, is how to keep your attention on the startup as much as it's only possible. If you're underpaid and cutting your expenses, you can't be a good person to develop a strategy on spending invested money. Know your value and you'll be fine.

</comment><comment><USER8> In my opinion, getting a big injection of VC money doesn't make it alright to turn up your burn rate a significant amount.

I have never been through a round of funding, but it would make sense to keep your costs down wherever possible. A founder who just got a round of funding should be thinking on ways to increase the value of the company instead of their salary.

I would like to know what is the norm in VC backed startups. Are there significant pay raises or bonuses after a round of funding? Do the founders and the employees share the wealth? Or are things kept fairly similar to the status quo.</comment>


Linus Torvalds: Git proved I could be more than a one-hit wonder - <AUTHOR> https://www.techrepublic.com/article/linus-torvalds-git-proved-i-could-be-more-than-a-one-hit-wonder/ <comment><USER2> To me the beauty of git stems from the fact that it is an implementation of a functional data structure. It's a tree index that is read-only, and updating it involves creating a complete copy of the tree and giving it a new name. Then the only challenge is to make that copy as cheap as possible - for which the tree lends itself, as only the nodes on the path to the root need to get updated. As a result, you get lock-free transactions (branches) and minimal overhead. And through git's pointer-to-parent commit you get full lineage. It is so beautiful in fact that when I think about systems that need to maintain long-running state in concurrent environments, my first reaction is "split up the state into files, and maintain it through git(hub)".

<comment><USER3> ". . . unlike every single horror I've ever witnessed when looking closer at SCM products, git actually has a simple design, with stable and reasonably well-documented data structures. In fact, I'm a huge proponent of designing your code around the data, rather than the other way around, and I think it's one of the reasons git has been fairly successful. . . .

"I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships."

\--- Linus Torvalds, [https://lwn.net/Articles/193245/](https://lwn.net/Articles/193245/)

<comment><USER4> That last comment is absolutely golden. Once upon a time I had the privilege to spend a few years working in Swansea University's compsci department, which punches above its weight in theoretical computer science. One of the moments that made me the programmer I am today (whatever that's worth) came when I was meeting with the head of the department to discuss a book he was writing, and while we were discussing this very point of data vs code, I said to him, realising the importance of choosing the right structure, "so the data is central to the subject" (meaning computer science in general" — to which he replied emphathically that "the data _IS_ the subject". That was a lightbulb moment for me. From then on I saw computer science as the study of how data is represented, and how those representations are transformed and transported — that's _it_ , that basically covers everything. It's served me well.

<comment><USER5> I think part of the confusion stems from the word "computer" itself. Ted Nelson makes the point that the word is an accident of history, arising because main funding came from large military computation projects.

But computers don't "compute", they don't do math. Computers are simplifying, integrating machines that manipulate symbols.

Data (and its relationships) is the essential concept in the term "symbolic manipulator".

Code (ie a function) is the essential concept in the term "compute".

<comment><USER6> In Spanish the preferred name is "ordenador" which would translate to something like "sorter" or "organizer machine".

<comment><USER7> That's in Spain. In American Spanish _computador /a_ is most often used: [http://lema.rae.es/dpd/srv/search?key=computador](http://lema.rae.es/dpd/srv/search?key=computador)

There is also _informática_ / _computación_ ; both Spanish words to refer to the same thing but used in Spain/America.

I guess that literally they'd be something like IT and CS.

<comment><USER6> Good points from both, indeed it's a country thing not a language thing. My bad!

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I think it's kind of weird that they left out any mention of BitKeeper in this article.

The whole impetus for git (someone correct me if I'm wrong):

1\. Linux source was hosted on BitKeeper before git. It basically was one of the first distributed source control systems (or the first? not sure if anything predated it).

2\. Linux devs got into conflict with the BitKeeper owner over open-sourcing and reverse engineering, so Linus realized they needed a new system because no other source control system had the features they needed like BitKeeper had (mainly, I understand, the distributed repos).

So basically, Linux is to Unix like git is to BitKeeper (roughly).

<comment><USER9> Mercurial was also spawned from the BitKeeper drama:

[https://lkml.org/lkml/2005/4/20/45](https://lkml.org/lkml/2005/4/20/45)

<comment><USER10> And no-one's yet mentioned Monotone, Graydon's project a bit before Rust. My English Literature teacher was right, Nothing Is Written In A Vacuum.

<comment><USER9> Right, there was a golden age of interesting DVCSs around then - Darcs (2003), Monotone (2003), Bazaar (2005), Git (2005), Mercurial (2005), Fossil (2006).

I use Arch (2006) btw.

<comment><USER11> It shows how important having a big name behind a project is. Linux gave Git its momentum.

<comment><USER12> It's not just the big name -- Linus learned from the mistakes of the older DVCSs. I also used to use Arch a bit. Git was a vast improvement (eg. it didn't force you to use long ugly branch names).

</comment></comment></comment></comment></comment></comment><comment><USER13> He's probably responsible for more wealth creation than anybody in the last hundred years just from those two projects.

<comment><USER14> Linux in part won because the Regents were getting sued at a critical time. Without linux we would run BSD and it would be fine.

Git is good in some ways, terrible in others. I've used it for years and still don't feel really comfortable with it, but I've never had something as multiheaded as the linux repo.

<comment><USER15> It's a shame how poor the command-line usability of the git client is. Commands are poorly named and often do the wrong thing. It's really hard to explain to new users why you need to run `git checkout HEAD *` instead of `git reset` as you'd expect, why `git branch [branchname]` just switches to a branch whereas `git checkout -b [branchname]` actually creates it, etc.

I really wish he'd collaborated with some more people in the early stages of writing git to come up with an interface that makes sense, because everyone is constantly paying the cost of those decisions, especially new git learners.

<comment><USER16> The git storage structure is not that difficult. People could implement their own compatible clients on top of it with a quite different UI. That there is nothing that overtook git as UI in popularity seems to be an indication that the interface is not as bad as many people claim.

<comment><USER15> People have added better UIs on top of git. The problem is they don't come installed by default out of the box, and unless everyone else you work with is using them too it becomes quite hard for you to communicate properly over git issues (especially in writing development workflow docs). hg has a better UI out of the box, and is notably easier for new users to pick up and become productive with.

You're underestimating how much inertia is created simply by being the out-of- the-box default, and how hard that inertia is to overcome even by better alternatives.

</comment></comment></comment></comment></comment><comment><USER17> I would disagree that Linux is a one hit wonder.

Years of successful project management are many small hits, not just one big hit.

<comment><USER18> Agreed... it's easy to envision scenarios where Linux would have fallen off completely back in the 90's. (After all, Linus' original goals were 'better than Minix' and 'learn about the 80386').

</comment></comment><comment><USER19> Even if he hadn't conceived of Git, I can hardly see him going down in the history books as a "one hit wonder". Maybe if he'd just conceived and programmed the early Linux kernels... but aside from Git, the work he's put into architecting Linux and managing the enormous effort that goes into "managing the mainitainers" is simply breathtaking.

And I, for one, have not forgotten the rather impressive work he did at Transmeta.

And for the sake of not making this sound like hero worship, I still side with Tanenbaum when it comes to the monolithic kernel vs. micro-kernel debate...

EDIT: corrected nonsensical double mention of 'microkernel'.

<comment><USER20> > And I, for one, have not forgotten the rather impressive work he did at > Transmeta.

Not sure why this is always overlooked.

The real-time code translation approach where you have a cisc front end but the code executs on a risc core was immediately copied by Intel (and sued for that). Without that technology we would still be doing 200 mhz at 200 watt.

<comment><USER21> Can you explain in more detail what you mean? I literally know nothing about this

<comment><USER20> Back then Intel was stuck with a classic CISC architecture that did not scale well.

What transmeta did was to keep the x86 instruction set (CISC) but internally convert them to a simpler RISC-ish instruction set and run it in a much simpler and power effective RISC core.

Intel copied this idea which allowed P4 (maybe already PIII?) to make a giant performance leap. Nowadays all high performance CISC CPUs from AMD and Intel do this.

</comment></comment></comment></comment><comment><USER22> > In an impressively candid moment of self-reflection, Torvalds said the > impetus behind Git was to prove to himself that he wasn't just a "one-hit > wonder." "We all have self-doubts," he suggested. "Linux was 'just' a re- > implementation of Unix. Git proved I could be more than a one-hit wonder."

Wow! Even Linus has some form of 'impostor syndrome' and self-doubt after all the technical achievements.

</comment><comment><USER23> Not to take away from git, but would git be as successful if it wasn't made by him? Mercurial did come out around the same time, no?

<comment><USER24> Mercurial, darcs, monotone, others. It was a popular area for a while. I think it's less about Linus _wrote_ it than Linus _used_ it (for the Linux kernel) though. If somebody else had written it and he'd used it, the outcome would have been the same.

<comment><USER25> > If somebody else had written it and he'd used it, the outcome would have > been the same.

IIRC, the mercurial project had already started when Linus started working on Git. (In fact, very early versions of Xen used BitKeeper, following suit with Linux; when the license changed, Xen moved over to mercurial because git wasn't ready yet, and stuck with it for a number of years.)

The main reason Linus wasn't happy with mercurial was the performance -- Linux just has _far far_ more commits and files to deal with than nearly any other project on the planet, and even at the time, operations in mercurial took just a bit too long for Linus.

<comment><USER24> > Linux just has far far more commits and files to deal with

Not really. I work with Mercurial every day, in a FAANG company's monorepo which is many _many_ times the size of the Linux kernel. It's not always pleasant, but it's not clear git would be any better. Mercurial's performance issues are solvable, _have_ been solved to a large degree, but IIRC when git started that was not the case. It's a shame really. The fragmentation is annoying sometimes, even if it's the result of historical accident rather than any bad decisions made at any particular moment in time.

<comment><USER26> Don't you guys (which is definitely Facebook) use some sort of extensions that makes it not the same as a vanilla Mercurial repository?

</comment></comment></comment></comment></comment><comment><USER27> No. Git did not prove that Linus could more more than a one-hit wonder. It proved halo effect is real.

Mercurial had a better interface and early on was equal or better (as far as I know) for most things. Everyone went with Git because Linus made it. I think it also might have been faster for huge code bases... but that pretty much only affects the kernel team and a handful of others. Your standard CRUD app could easily use a slower VCS without noticing.

Instead of going on merits, everyone just followed Linus. Which is what always happens in technology communities. Everyone just does whatever some guy at the front is doing.

<comment><USER28> I was there when the winner was still unclear and this is complete nonsense. Very few people even knew git was from Torvalds.

Git started winning people over because mercurial was atrociously slow. The real nail in the coffin was GitHub which truly was revolutionary. Nothing else really played a part.

<comment><USER29> I don't remember it this way at all. Git always had the halo of the tool kernel devs use, written by Linus himself. There was no escaping this.

Mercurial slowness was never a problem for me, and these were the times before SSD! It probably was slower but I used it on some pretty large codebases (NetBeans) and it was fine.

BitBucket was much better for me than GitHub because it offered free private repositories with 5 users, which just happens to be enough for a small team/company/startup.

Sun Microsystems picked Mercurial for OpenJDK/NetBeans/etc, Mozilla was on Mercurial.

I'm still puzzled how Git won because in my bubble it was a tool with much worse commands and 'metaphors' compared to Mercurial.

I think it's a big loss for the industry that we are all (me included) on git.

</comment></comment></comment><comment><USER30> We all know that subsurface [0] proved that (although made after git) as well as shows his naming skills are getting way better.

[0] [https://en.wikipedia.org/wiki/Subsurface_(software)](https://en.wikipedia.org/wiki/Subsurface_\(software\))

<comment><USER31> wrt naming skills, not sure I follow; I think "git" and "linux" were great choices.

<comment><USER32> Imagine if he named it `dick`. That's what it sounds like to English people, more or less. It wasn't an accident. Maybe not the best name choice.

<comment><USER33> Except git is a homophone for "get", a word said quite regularly, and relevant to VCS.

IDK what "dick" sounds like. A man's first name?

<comment><USER32> That's not why it's called `git`, that's the first time I've ever heard anyone draw a connection between `git` and "get", and they are only homophones in some regional American accents.

<comment><USER33> I know that's not the origin of the name.

I was pointing out "what it sounds like" to me, as "git" is an uncommon word in American English.

</comment></comment></comment></comment></comment></comment><comment><USER34> Great candor in Linus' comment on not wanting to feel like a one hit wonder. I downloaded Linux on a 2400 baud modem, way back then. A big fan.

I was unhappy to see Linus looking over weight and out of shape in that picture. I am 68 so I understand getting old, but I consider Linus to be a 'world resource' and I wish him well, health wise. His wife used to be a karate champion so he at least has an exercise expert at home.

</comment><comment><USER35> Even Linus suffers from imposter syndrome? Never would have thought. If Linux was a "one-hit wonder" it's been topping the charts for decades...

<comment><USER36> If the first man on the moon can feel it[1], anyone can.

1\. [https://neil-gaiman.tumblr.com/post/160603396711/hi-i- read-t...](https://neil-gaiman.tumblr.com/post/160603396711/hi-i-read-that- youve-dealt-with-with-impostor)

</comment></comment><comment><USER37> I feel like Junio Hamano's name should be more attached to git than it is. He's been in charge of the project for most of its life but doesn't even get mentioned in articles like these.

</comment><comment><USER38> Nothing more than linux is needed to prove the success of Linus Torvalds.

If your first hit is sufficiently large you never need another.

It's different in founding startups..., once you're lucky, twice you're good.

<comment><USER39> Would notch be an example of this? Minecraft being what it is? I suppose it's too early to tell if he'll create any other software that compares but it seems at the moment that you could predict not.

</comment></comment><comment><USER40> I doubt Git would be popular without GitHub. Had the GH founders instead been more familiar with Mercurial, we would all be using the latter. Having used both extensively, I think we would all be better off in that alternate history, but such is life.

<comment><USER41> As far as I remember, Git was already going strong at the time GitHub appeared. I was also a supporter of Mercurial at first, but I think Git won because:

* it always was fast (written in C vs Python for Mercurial);

* Linus and Linux are behind it.

</comment></comment><comment><USER42> > The world rightly lauds Linus Torvalds for Linux, but Git will arguably have > a bigger impact.

That's a pretty bold statement. Git might be almost ubiquitous these days, but if you erased git from the world, the ripples would be much less due to the plethora of alternatives out there. There's no reason to think that things like Github wouldn't have evolved with alternative VCSs. Don't get me wrong, it's a great tool and improves the QoL of developers, but it's hard to think about any dev not being able to do their job without it.

</comment><comment><USER43> If not for the BitKeeper drama, we wouldn't have Git. Same for Hurd, if GNU had a kernel back then, we wouldn't have Linux.

What else could we take away from Trovalds in order to push him to his next project? :)

<comment><USER44> A social network?

</comment></comment><comment><USER45> Both Linux and Git look like obvious solutions that anyone could have come up with. That's what makes a discovery or a product great. That's why I think Linus is simply a genius.

<comment><USER46> IMHO, the best and most disruptive inventions are ones where almost everyone could've said "Hey I should have thought of X, it's such a simple idea."

</comment></comment><comment><USER47> I saw a talk in 2010 by Mark Dominus (who sometimes comments here) titled "Linus Torvald's Greatest Invention". It was about git! It was a fun talk. Here is a link if anyone is interested: [https://blog.plover.com/misc/git- talk.html](https://blog.plover.com/misc/git-talk.html)

</comment><comment><USER48> Lol @ that title. If the "only" thing to my name was the Linux kernel and the skills to make that happen and the quality that it is... I would consider myself an elite programmer.

</comment><comment><USER49> Am I going nuts, or is that photo in the linked article, not of Linus?

<comment><USER50> That is him. He just ages and gets older like everyone else.

[https://lwn.net/Articles/799259/](https://lwn.net/Articles/799259/)

</comment></comment><comment><USER51> Source control was simply painful before git. I remember desperately trying to get Subversion to compile and work way back in the days, because even though it was barely limping along it still looked like a way out of the hell that is proprietary, corporate source control.

I then went on to use subversion for a long time in different settings. Up until the day I finally tried git. This is not about centralized vs. distributed, it's simply superior software, period. Nothing else I've tried even comes close.

</comment><comment><USER52> Linus also wrote a successful Scuba dive logging and planning tool called Subsurface ([https://subsurface-divelog.org/](https://subsurface- divelog.org/)) that has a cross platform desktop edition and mobile editions. Like git, he started it as a way to scratch his own itch, and now it's mostly supported by the community.

It has support for most dive computers and does full technical dive planning with mixed gasses.

</comment><comment><USER53> It's important to note however that the main reason why Git became mainstream is because of GitHub.

And GitHub chose Git because of two reasons:

1\. It was affiliated with Linus Torvalds.

2\. It had a catchy name.

As far as I remember Mercurial had a much better UX.

Compared to Mercurial, Git is over-complicated and a lot of the commands don't make sense (e.g. 'git checkout -b mybranchname' to make a new branch WTF?). In a way, it shows how superficial we are as a society; even among software developers.

<comment><USER54> Alternatively, Github became successful thanks to the git's feature set.

<comment><USER53> I really don't buy this idea that features and quality of a project are what drives adoption. Hype, social connections and funding is what drives adoption, features is what follows (sometimes) once good engineers start to join the company (as a result of all the hype) but features and quality have very little to do with success.

</comment></comment></comment><comment><USER55> I put Linus (with Linux and Git) way up at the top of the spectrum. Maybe Pike, Thompson and Ritchie are at this level.

A bit lower are other multi-hit inventors. Gavin King, inventor or Hibernate and Seam, is in this list.

Everybody else comes third. It's great to invent something useful. (A singleton.) As a software maintenance engineer, I recognize great maintenance engineers in this category, too.

I am deeply impressed by Torvalds. Git and Linux are huge.

</comment><comment><USER56> This is admittedly more along the lines of fever-dream thinking, but I've thought more than once how it would be interesting to have a programming language that actually encodes the "Why" as well as the what/how. Complete with type safety, like maybe you'd have to ensure that your various business reasons for encoding a particular function are still true, and otherwise it wouldn't compile.

</comment><comment><USER55> Yeah, Linus is up among the greats. Linux and Git are huge.

Pike, Thompson and Ritchie are in the same league. Not many others, maybe none.

A level below that, people like Gavin King. He invented Hibernate and Seam, not too shabby. (But not like Linux.)

A level below that, the rest of us mortals. I know quite a few one-hit authors (they're good) and some maintenance wizard, but it's nothing like inventing multiple super-hits. Hats off to Linus.

</comment><comment><USER57> (Kneejerk reaction to this headline) I feel like >90% people are zero-hit wonders by this kind of standard. Maybe we have a good career, a good family, good friendships, travel to a lot of places, or whatever other interests we pursue. but how many of us are going to write much-loved software that is in wide use for decades?

</comment><comment><USER58> Great subject: I bet that 95% of successful people are one hit wonders. I mean, they got once lucky and can live of the capital of their one hit wonder but can't repeat this a second time.

Hence, don't respect/admire such people too much, they are the same avg frustrated chump from time to time like you are. With as many worries.

</comment><comment><USER59> That's the first time I've heard Linus Torvalds described as "understated".

</comment><comment><USER60> Yes, I always wondered about the database technology that I heard Linus talk about around the time Git came out. It's probably another area where someone with a visionary view of how software should work would lead to something quite useful.

<comment><USER61> I'm intrigued, and interested in database technology. Do you have any links or pointers?

</comment></comment><comment><USER62> It's funny but I've recently been thinking of him as "The Git guy" rather than "The Linux Guy".

I honestly think that Git has the potential to be relevant a lot longer than Linux.

</comment><comment><USER63> linus looks more tux every year XD

i once had a job at a state agency that was conservative enough to use CVS and subversion, so i got to see what the bad old days were like. i'm so glad git exists.

"I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'Git'" --[https://websetnet.net/microsoft-now-using-linus- torvalds-ope...](https://websetnet.net/microsoft-now-using-linus-torvalds- open-source-tool-windows-development/)

</comment><comment><USER64> esr described Linus's approach as "essentially simplifying" years before git... but that's exactly what git is (apart from the UI but we don't like to talk about that). [http://www.catb.org/~esr/writings/cathedral- bazaar/cathedral...](http://www.catb.org/~esr/writings/cathedral- bazaar/cathedral-bazaar/ar01s04.html)

</comment><comment><USER65> Git is one of those thing that you hate a first, then accept, then start to appreciate and the you become evangelical about it. A true work of genius.

</comment><comment><USER66> Does GIT have it's own bug tracking system? For instance, if I use SVN and Bugzilla can I kill two birds with one stone by switching to GIT?

<comment><USER67> Git does not, but most git hosts have that built in. If you host your git repo in GitHub, you'll use GitHub's built in tracking.

</comment></comment><comment><USER68> On the other hand, I can't help wondering what would have happened to Git had it been created by some low-profile programmer.

<comment><USER69> Probably wouldn't have become popular as quickly, but it still would have caught on, I'm sure. Don't most popular FOSS projects start with low-profile programmers?

</comment></comment><comment><USER70> Given that 99.99% of people are "zero hit" wonders, it's ok to be a "one hit wonder", Linus.

</comment><comment><USER71> I really wouldnt call Linux one hit. Linux is a universe. Its more like an entire discography or even genre now.

</comment><comment><USER72> What about all of us zero-hit wonders?

</comment><comment><USER73> The article falsely makes it sounds that Torvalds wants us all to comment our code.

</comment><comment><USER74> I don't know. I think he's just lucky. I only say this to motivate him.

</comment><comment><USER75> Linus Torvald just won the Impostor Syndrome championship.

He would never admit though ...

</comment><comment><USER76> Is that picture right? He doesn't look like Linus...

</comment><comment><USER77> After you become a wonder, everything you do is brilliant)

</comment><comment><USER72> I always wonder why open source kind of petered out. When it was all the rage I imagined it taking over other industries. Even moving out of just software.

</comment><comment><USER78> He's not wrong.

</comment><comment><USER79> git certainly works and is a great technical achievement, but really Mr Torvalds should give thanks to Github for making git as popular as it has become-- it's not entirely his "hit".

<comment><USER80> Linux isn't his hit by that logic either, it's partially Slackware's and RedHat's.

Almost nothing substantial was ever one person's doing.

</comment></comment><comment><USER81> it's GitHub that makes git popular

<comment><USER82> Git was popular before GitHub was a thing. Git was taking over the open source world back when everybody was on SVN, and people were just hosting their Git repos themselves. GitHub made Git ubiquitous for all types of developers and accelerated that adoption further, giving us the near-monopoly we see today.

<comment><USER83> A better statement is that Github rather killed the momentum of Mercurial, which was also picking up steam in that era (Python, OpenJDK, and Mozilla all chose Mercurial over git).

</comment></comment></comment><comment><USER84> Oh my... I don't recognize Linus in the picture. We invited him to give a talk long time ago.

Man, has he gotten fat.</comment>


Starting an ISP: Deploying Fiber - <AUTHOR> http://chrishacken.com/starting-an-internet-service-provider-part-2-deploying-fiber/ <comment><USER2> This is the real spirit of entrepreneurship. Hard work, learn quick, make mistakes, but get it done. With skin in the game rather than burning through investor money.

I hope to read more of these posts, but I know Chris cannot afford to spend a lot of time writing them. Nevertheless I'm looking forward to reading part 3 when it is posted in 18 months.

PS slight grammar nitpick: overtime != over time

<comment><AUTHOR> Fixed the grammar :p

<comment><USER3> Also fix "I'm clearly a little bias against wireless"

Edit: and "genre's"

</comment></comment></comment><comment><USER4> I enjoyed reading the first part of this last year, and was thinking of it recently.

As someone who built a bootstrapped company from $40k/y revenue through $3.5M/year over 14 years, before we were shot in the head by our bank, I was thrilled to hear that you were doing something like this, but concerned over the many potholes (pun, I guess, intended) you were going to encounter. One of the biggest ones that was an eye opener for me early in starting and running Scalable was the rent seeking behavior of your suppliers. You wrote this as "Everyone wants a piece of the cake."

Yeah. That. It doesn't get better.

My comments for now are

1) beware of banks and debt instruments. If you can avoid personal guarantees on loans, then sure. Chances are they will say "no guarantee, no money". That money is _extremely_ expensive to you. Avoid it like the plague.

2) beware "partners" and people/companies that claim to want to help you. Do due diligence, deeply, on any organization, including lawyers, accountants, etc. you might consider using. Most will waste your time.

3) hiring ... is ... critical. This is hard as a small co, as you generally can't find great people unless you have a pile of cash. You can try to turn who you can get into great people. But this only works if they are willing and able to learn.

4) Venture capital. Don't get me started.

I'm rooting for you, and like you, I had every ounce of skin in the game. My retirement, my daughters college. Everything.

Understand that things don't always work out the way you intend. Starting over when you are my age is very hard. Consider me as a cautionary tale.

I had a number of folks offer to buy the company. I was too stupid to realize that one should hit a number of singles and doubles to be able to get enough of a base to hit homers and grand slams.

Best of luck, and I've subscribed to the site now.

<comment><USER5> >I'm rooting for you, and like you, I had every ounce of skin in the game. My retirement, my daughters college. Everything.

>Understand that things don't always work out the way you intend. Starting over when you are my age is very hard. Consider me as a cautionary tale.

I'm pulling for him too, but I have the awful feeling that I'm reading the story of a guy blowing his savings, ruining his credit, and maybe taking mom down with him.

<comment><AUTHOR> We're a profitable company doing over a quarter million a year ATM. We aren't running fiber on a whim.

<comment><USER4> We were too. Until we needed to expand to meet a customers needs. Then we had to take on debt.

As I said, a cautionary tale. Call me the ghost of startups past :/

</comment></comment></comment></comment><comment><USER6> Great write-up. Great entrepreneurial tenacity. Would love more insight on the wireless challenges and how you tackle them? I wonder if a software monitoring app could detect increased noise and automate channel hopping.

Surely that must exist -- on the other hand, you mentioned the vendors do everything to lower the BOM, so perhaps they are lazy and this software is needed. Could be a good OSS project.

<comment><AUTHOR> So Mimosa, one of the hardware vendors we use, does actually have this built- in to their firmware. The issue is, from what I've seen, is that it hops around too much. It also moves to congested channels sometimes. I'm sure there's a way to perfect it, we just don't have the time at the moment (I also don't believe they provide full API access yet, so I'm not even sure if we can change it without creating an automated UI tool that clicks around on a browser.)

<comment><USER6> A founder of Mimosa (CTO Jaime) is a friend of mine. I'll try to direct him to this thread.

<comment><USER7> I really wanted them to work.

I've tried to get their attention before and it winds up being a constant loop with Support. The B11s work good enough that it's not worth my time to chase the last couple hundred Mb/s. I just gave up on the B5.

10 We need you to connect these to the cloud so we can monitor them.

20 Okay we see your monitoring data, we will circle back in a month

30 Hey try this latest firmware update.

40 Are you sure the antennas are aimed right?

50 Try replacing the cables

60 Oh, your chains are unbalanced by 3db, that's the problem.

70 GOTO 20

By about the 3rd iteration we replaced the B5s with Airfiber using the same antenna and haven't touched it since. I've just accepted that the B11 link won't hit its advertised speed and quit spending time/money on it since we are putting in fiber soon.

I pulled the B5s back off the shelf a few months ago just to see if maybe newer firmware would fix, and once again a tiny bit of interference dropped a link that was doing 1.2Gb/s to 7mb/s or less.

I'm testing some B24s in a real-world link in a couple of weeks. I hope they do what they're supposed to.

Feel free to contact me via email -- my username at gmail

</comment></comment></comment></comment><comment><USER8> As a one-time dabbler in the local ISP business I found this fascinating but I also wanted to scream "Nooooo...stop" as I read! There are contractors who spend every day digging up streets, laying conduit. FFS use one of them to do the job rather than messing around looking for a Bobcat with the right Diamond saw attachment. Another thing I'd worry about is that there may be fiber in the ground or on poles already in this area -- currently not being used because there isn't a big enough market for service. In our town I am asked from time to time if the city should pay to "drop a fiber conduit in a trench they already dug for some other purpose, because this town has no fast Internet". I take them outside, point up at the fiber bundles running all around town on poles...

<comment><AUTHOR> I'm already well aware there's fiber on poles here. The difference is, their network isn't built to support FTTH, it's built to support a few larger enterprises that are willing to pay $3,000/m for a circuit. Name one person that doesn't want fiber internet. Saying there isn't a big enough market for service when literally every single household and business purchases internet is ridiculous.

We already have 60% of the street we just cut up signed up for service.

<comment><USER9> Absolutely true. I have property about 30 miles north of WB and Frontier told me they can't get a technician out to replace my service until January.

It would be faster for me to crawl on the ground to the nearest PoP and plugin to a GPON port then it would be for me to wait for them.

<comment><USER8> Yes (I have my own version of this story that involves drilling holes in a mountain top for a tower, pouring concrete, deploying my own solar power system, microwave links, ...) however note that Frontier are making money by not providing you service. There is no mythical better ISP who will spool fiber 30 miles out to you, and will then sit back making money. They will go broke.

</comment></comment></comment></comment><comment><USER10> I was recently at BornHack2018, a small security camp for the 3rd summer this year held on the island of Bornholm.

The organisers also run BornFiber who are connecting the entire island with optical broadband.

BornFiber is a good example of how anyone with the right skill can start a fiber provider here in the nordics.

I'm glad to see this philosophy being adopted by the US.

However. Once they have fiber they still need some ISP and that's where the national ISPs come in. Thankfully we have plenty of options here but I hear things aren't as good in the US.

<comment><USER9> If only they were on the other side of Denmark. I wanted to bring some fiber to a small German island called Insel Fohr.

<comment><USER11> So what's stopping you? :)

Just get some neighbors together and go for it.

</comment></comment></comment><comment><USER12> When deploying fiber, always lay down 10x what you need. Or calculate one fiber duct for each property on the way. So when more subscribers want to get connected you just have to dig at one point, cut one of the unused ducts and join it.

</comment><comment><USER13> As someone whose only entrepreneurial idea is to open an ISP, this is a great read. I'd like to know how the councilman and the director of operations helped out. Did they expedite permits, waive fees, or something else?

</comment><comment><USER14> It's really encouraging to see an effort like this happening in the Scranton/Wilkes-Barre area.

Having lived in Northeastern PA at various points in my life, I can attest that Internet speeds there have always kind of lagged behind. I knew people in more rural parts of the area who had basically zero wired internet options at all. It kind of just becomes something you learn to deal with.

</comment><comment><USER15> Are there any grants or any kind of city money for work like what you're doing? I would think towns like Wilkes-Barre and Scranton would be bending over backwards to try and attract the sorts of businesses that would rely on infrastructure like what you're putting down. That you have to do all this with your own money and credit seems really wrong.

<comment><AUTHOR> You would think that. Unfortunately many/most people care more about their precious roads than they do about infrastructure.

<comment><USER16> are roads not infrastructure? that transports food, and medicine?

<comment><USER9> In the article, he's referring to people complaining about a 2-minute increase in their commute time for something that can absolutely benefit the community.

The short-sightedness is astounding.

</comment></comment></comment></comment><comment><USER17> Inspiring story. Will be interesting to see what Chris is capable of if / when he's able to get access to more capital.

Are there VCs who invest in this sort of enterprise? The odds of getting a positive return seem favorable compared to many of the currently trendy software-only startups out there.

Also, I like Chris' tagline:

        Create value, not excuses.

<comment><USER11> No, the returns aren't there to make infrastructure investments attractive to VCs.

A software startup can exit at 10x, an infrastructure investment won't.

<comment><AUTHOR> I think the key difference is that infrastructure is more of a long term investment. We can return 10x's but it'll likely take a little longer than a software company would. However, i can make the case that we have a higher guarantee of delivering than a software company can.

<comment><USER11> "A little longer" == 25 years if your returns are 10% and grow 10% annually.

Other than than all true. Telecoms infrastructure is an utility play, steady long term returns. Something pension funds like, but they on the other hand don't like risky startups, so it's a challenge to get funded until you are established and have a solid track record.

</comment></comment></comment></comment><comment><USER18> 200 subscribers with 90% coverage of a town-sized city (40k population)? sounds absolutely horrible.

but I really came here to comment on what I think is a financial error: rent vs buy cost. yeah, it seems more expensive to rent if you consider long term ownership of equipment, but this is very misguided. maintaining, repairing, insuring and just storing heavy equipment that you use rarely is just not the way to go. it's cheaper to rent.

> nothing to show for the nearly $10,000 in rental fees

you have no long term expenses to show for it. that's a wonderful tradeoff.

</comment><comment><USER19> >We just launched in our 2nd city; Scranton, PA.

That's not... _the_ Scranton, PA is it?

<comment><AUTHOR> That it is.

</comment></comment><comment><USER20> So what is his competitive advantage over the incumbent providers - the cable company and the phone provider?

Is he offering service in areas they aren't? [https://www.broadbandsearch.net/service/pennsylvania/scranto...](https://www.broadbandsearch.net/service/pennsylvania/scranton)

<comment><USER21> If it's anything like the smaller ISP's in my area, his advantages are:

\- Vastly superior customer service

\- Simpler contracts; straight fee-for-service without any bullshit

\- Likely better price overall

<comment><USER20> _From my real-world testing, you shouldn 't really expect to get more than 30-40 Mbps down and 5 Mbps up in a typical scenario. If you're competing with DSL,_

For the most part, he isn't competing with DSL. He is competing with cable. It looks like Comcast does service the area.

Another thing that stands out was that the article mentioned he was paying $1000 for a "< 1Gpbs" Fiber line.

From the link on what's available in Scranton, it looks like Comcast also offers 1Gbps downloads.

He also said that he has 200 customers - mostly business.

I don't see how this makes sense from an investment standpoint to offer service in an area that doesn't appear to be underserved.

I'm definitely no fan of Comcast, but their business internet service is straightforward. If I'm running a business, the cost difference between Comcast and Loop is neglible.

Personally, I'm glad to have the much better, cheaper, gigabit service from AT&T, but I would grin and bare Comcast again if I had too.

<comment><USER22> I don't have an answer for your question, but I believe you've misquoted the article. It was <$1000 for a 1Gbps circuit, not $1000 for a <1Gbps circuit.

</comment></comment></comment></comment><comment><USER23> Have you ever tried WeFunder or similar crowdfunded mechanisms to raise money? I would invest a few thousand at generous terms to support you guys and the mission, and I'm sure many others would too.

<comment><USER24> Can't imagine it would be worth the investor liability/risk for a couple $k.

<comment><USER23> It's crowdfunding. He would raise hundreds of thousands or millions.

<comment><USER11> Title III crowdfunding is limited to $1M.

</comment></comment></comment></comment><comment><USER25> Thanks for sharing this! As someone in a fiberless city (Amsterdam), with a monopolistic local provider that's unwilling to expand, this is inspiring.

<comment><USER11> What happened to Citynet? They were supposed to wire the whole of Amsterdam with open access fiber. Did they stop after the Reggefiber/KPN acquisition?

<comment><USER9> The cost for micro trenching can be upwards of $200k a building in Manhattan. I would assume dealing with sunken homes, collapsed PoE's and NIMBY folks would make it prohibitively expensive.

But I have no idea why they stopped.

<comment><USER11> Manhattan?

</comment></comment></comment></comment><comment><USER26> Great work so far Chris! Keep up the great work!

</comment><comment><USER27> how do you deal with the legal aspect of running an ISP? What can the small players do?

</comment><comment><USER28> > [Wireless] Speeds are competitive with cable (for now).

Latency, or just bandwidth?

<comment><USER7> I know of a few WISPs that have real network engineers behind their systems and have built reliable networks. One of them has several thousand users and multi-gigabit services.

People are jumping every day from cable to them for both speed and reliability.

Most WISPs are started by the local computer repair shop by someone who things that configuring a Linksys router is network engineering. They are plagued with reliability issues mostly of their own creation. I'm not knocking the people, they are filling a need and doing it 'good enough'.

If you build it right, they will come.

<comment><USER29> My backup WISP link is pretty terrible, and does up to 10 Mbps, barely 5 Mbps most of the time, even thought there is clear line of sight to the base station antenna, and using Ubiquiti gear, probably because the people are either inexperienced or overselling. 4G gets me 300 Mbps (now up to 300 GB for $9/mo, or unlimited data for $25) in a village of 904 people. (though I use two different antennas and connect to two base stations to obtain maximum speed from LTE with carrier and link aggregation.

</comment></comment></comment><comment><USER30> I love reading these kinds of stories.

Keep them coming Chris, if you can :)</comment>


Object Recognition using Kinect - <AUTHOR> http://kinecthacks.net/object-recognition-using-kinect-on-the-pc/

<comment><USER2> The training video is even more interesting - <http://www.youtube.com/watch?v=fQ59dXOo63o>

</comment><comment><USER3> I'm sorry if you can't access the site, it's getting slammed right now. I'm getting more memory soon, if you can't access it today you should check it out tomorrow.

The video is here: <http://www.youtube.com/watch?v=cRBozGoa69s>

<comment><USER3> Memory has been updated now :) BTW, does anybody know why I can't edit my comment?

</comment></comment><comment><AUTHOR> I am really missing the kinect from mobiles. Even a stereo cam would be fine. But the processing capacity can be a problem I think.

</comment><comment><USER4> this reminds about an older project of a double pair of stereo cam used by paul cisset et al. for a never-released game title from delphine software around 2003-2004.</comment>


There Is No Console War Because Xbox Moved on and Left PlayStation Behind - <AUTHOR> https://www.forbes.com/sites/kevinmurnane/2020/02/09/there-is-no-console-war-because-xbox-moved-on-and-left-playstation-behind/#6bd74a2774c2 <comment><USER2> Microsoft / XBox / Azure

Google / Stadia / Google Cloud

Sony / Playstation... / AWS?

A partnership between AWS and Sony would not be a surprise...</comment>


Create Native Node.js modules falling back to Emscripten ones - <AUTHOR> http://insertafter.com/en/blog/native-node-module.html?

<comment><USER2> Very useful article! I usually don't see projects aiming for both Node and browser support. But, as a module consumer, that is almost certainly what I would prefer. That is, ideally Javascript can run in the browser or in Node without any refactoring.

Emscripten has a lot of legacy code in shell.js that tries to detect the 'require' hook and assumes you're in Node if it's available. That usually isn't what you want in browserify. How did you deal with that?

It would be especially useful if we could use the same bindings for Node addons and Emscripten. I suppose a wrapper around nan.h could be made that exposes both node.h and embind.h?

<comment><USER3> Browserify has an option to avoid parsing a given file so that the Emscripten module can be used as is since it is already prepared for the browser. I would have prefer an option to either build for Node or the browser. I hope it'll be the case soon.

About unifying both Node and Emscripten API, i assume it is possible but it would be a lot of work, too much for doing it in my spare time ;).</comment></comment>


Facebook Knows How to Track You Using the Dust on Your Camera Lens - <AUTHOR> https://gizmodo.com/facebook-knows-how-to-track-you-using-the-dust-on-your-1821030620 <comment><USER2> When it comes to Facebook, I don't really trust its statements when it says" "this is not something we do". Facebook, in my books, is deeply trust deficient.

Whenever I read something new (like this article), I assume that Facebook will do it now or sometime in the future (it doesn't have to and isn't certainly going to announce when it's using or implementing its patents). I don't think I'd ever go back to using the Facebook app, and will manage to use the browser interface with the precautions I take.

</comment><comment><USER3> Can anyone recommend a software to remove such damage (dirty spot on lens) from a large set of photos?

<comment><USER4> I would think a slight 'Soften' followed by a 'Sharpen' would obscure the dust particles enough without overly ruining the photo.

</comment></comment><comment><USER5> too much work now, but once AI is trained to find friends, it might also find dust-spek patterns.</comment>


Too soon?  Simple .js snippet let's you know when it's ok to joke about 9/11 - <AUTHOR> http://jsfiddle.net/Contra/x7Hs6/

<comment><USER2> Clever, but ironic that yesterday was the decade anniversary and that was not accounted for.

<comment><AUTHOR> Yeah, also I think that instead of number of casualties the amount of news coverage is the more important factor.</comment></comment>


Uber's Surge Pricing May Not Lead to a Surge in Drivers - <AUTHOR> http://www.propublica.org/article/uber-surge-pricing-may-not-lead-to-a-surge-in-drivers <comment><USER2> Original research paper: Peeking Beneath the Hood of Uber [http://www.ccs.neu.edu/home/cbw/pdf/chen- imc15.pdf](http://www.ccs.neu.edu/home/cbw/pdf/chen-imc15.pdf)

</comment><comment><USER3> It would make sense that killing demand kills supply. Uber drivers would divert to areas where they are more likely to get a passenger now, rather than run to surge areas for the chance at getting surge pricing, but having a lower chance because there are fewer potential passengers.

I'm interested in how the algorithm will evolve, as more people figure out ways to game the system to save money on fare.

</comment><comment><USER4> I'm wondering what could motivate anybody to become a Uber driver nowadays, given that in a couple of years, they'll replace the drivers with robocars.

It's a job with no future there.

<comment><USER5> I don't think anyone cares whether it has a future. It's not like there's significant investment in your Uber driving skills. You can already drive.

<comment><USER6> People buy cars to drive for them, because nicer cars get better reviews, and there is a minimum age for acceptable cars to drive (different in each market) - [https://get.uber.com/cl/financing/](https://get.uber.com/cl/financing/)</comment></comment></comment>


What's better about Ruby than Python? - <AUTHOR> https://groups.google.com/forum/#!msg/comp.lang.python/xBWUWWWV5RE/gyJRB9cihAIJ <comment><USER2> There's no shortage of articles on this, e.g. [https://www.upguard.com/articles/python-vs- ruby](https://www.upguard.com/articles/python-vs-ruby)

For the record, I worked 8 months years ago on a RoR application. I now work on a django application. I like them both.</comment>


Large, high-resolution monitor recommendations? - <AUTHOR>

Hi folks.
I'm looking for recommendations for large, high-resolution LCD monitors and wondered if anyone is plugging the gap between the moderate high-res ones (e.g. 23/24" 1920x1200) and the 30" ones (2560x1600).
Is there any such thing?  This is for development work but the budget doesn't currently spring for a 30".
Thanks! <comment><USER2> [http://accessories.us.dell.com/sna/products/Displays/product...](http://accessories.us.dell.com/sna/products/Displays/productdetail.aspx?c=us&l=en&s=bsd&cs=04&sku=224-8284)

is really, really nice. If you find a good sale you can probably have it for around $800-$850. There are probably similar resolution panels for a lower price, but they won't look as good.

</comment><comment><USER3> You might wait till next week (June 7--11) to see if Apple announces a new 27" LCD to match their larger iMac.

If they do, it'll have the same resolution as the great-sounding Dell mentioned by the OP, but it'll also probably actually look good. ;-)

</comment><comment><USER4> Hanns.G's are always very, very reasonable -- I picked up 2 x 1920x1200 (if memory serves) 28.5" Hanns.G from Best Buy last year at about 399 each. Ridiculous price. They're still working nicely too. I think you can still get them around.</comment>


GNU Bison 3.3 released - <AUTHOR> http://savannah.gnu.org/forum/forum.php?forum_id=9357 <comment><USER2> "There are also many smaller improvements, including a fix for a bug which is at least 31 years old."

<comment><USER3> Its weird that web pages can succumb to link rot so quickly, apps succumb to bit rot almost as quickly, but a bug will live on.

In a thousand years time will archeologists study us through the bugs left behind in Linux 1300.05 and windows (30)95? Do you think there will still be jobs for Cobol programmers?

<comment><USER4> > but a bug will live on.

Sometimes, yes. But it has also happened often to me that an old bug I was trying to fix was simply gone, either because the error mode has gone away, or the feature that the bug related to has been removed.

<comment><USER5> > But it has also happened often to me that an old bug I was trying to fix was > simply gone, either because the error mode has gone away, or the feature > that the bug related to has been removed.

And this is why groups like the OpenBSD team and the Linux kernel team are so eager to remove support for old hardware. Removing support for the 80386 cleaned up code which no longer had to have special cases to handle opcodes and features the 80386 doesn't have but later x86 processors do.

</comment></comment></comment></comment><comment><USER6> I wish it were easier to have more target languages. (And that there were more target languages.)

I know the docs say that additions are welcome, but I'm still in my infancy of working out how to :)

Congrats though! I love it when these tried-and-true tools continue to perform and improve!

</comment><comment><USER7> I always kind of wonder what people use lex and yacc for. 20 years ago I made something to pretty print random C structs, but I have no idea what people do with these tools. Historically, these have been billed as "compiler compilers", and while that's certainly a use case, it never struck me as a very popular use case.

<comment><USER8> The main advantage, to me, is that the input of Yacc is a (mostly) self- contained, (mostly) declarative representation of the grammar to be parsed. This format is portable between projects.

You can, for example, take Postgres's SQL syntax parsing "engine" out of Postgres and use it in your own project, because it's not actually an "engine", but rather just a Yacc grammar.

<comment><USER9> How often are yacc/lex grammars actually portable? Truly portable too — usable in different threading contexts, for example.

You say they are declarative. My experience is admittedly very limited, but I would call them anything _but_ declarative. There are declarative elements, but the actual payload of your code is very, very often imperative. (A lot of this is shaped by the API, imo).

I compare this to parser combinators (like parsec) and PEGs (like luapeg and rust-peg). I find these other options are more naturally side-effect free, both internally and externally.</comment></comment></comment>