The Plain Text Project - <AUTHOR> https://plaintextproject.online/ <comment><USER2> Recently I decided that I was going to solve the problem of: I easily write inline TODO comments while I work on code, but then have difficulty keeping track of them and getting my head back into the state of things later. While there is IDE support for such things, it's usually not _exactly_ the right interface I want.

So I made a tiny CLI app that scans the source for TODO and FIXME lines and presents a menu of files, containing the number of items to work on in each. Then I type in which file I want to work on and it instantly reports all relevant lines, plus successive comment lines. All I have to do is punch in the line number and start working.

I felt a kind of stress relief almost instantly after doing this. It's better than Trello for me.

If I need to add additional kinds of data sources, many syntaxes, etc. it might become a bit more complex, but still managable as long as there's an API to get some plaintext lines out. It's basically following up on the hypothesis of a lot of information tools today: it isn't the data generation that's the issue, but the filtering.

<comment><USER3> Just be careful about Microsoft's Patent US6748582B1; it doesn't expire for another few months. ;)

From the patent (edited down a bit):

> According to various example implementations of the invention, a task list > facilitates code development by assisting developers in keeping track of and > managing a variety of tasks, such as errors to be corrected, opportunities > for optimization, and other user-defined tasks. As the developer edits > source code, warnings and coding errors are detected and inserted as tasks > in a task list. The developer can also embed keywords known as comment > tokens in the code. These comment tokens are detected and used to define > tasks.

> [...]

> Tasks can also be identified using tokens or keywords. These tokens or > keywords typically preface comment lines in the code and may include > predefined labels such as, for example, "UNDONE," "TODO," or "HACK," as well > as labels that are defined by the individual developer. If the source code > has no syntax errors, the parser [...] determines whether any of the > keywords are present in the source code[.] If so, [it] extracts the comment > from the source code and uses the tag to determine the priority of the task. > The task is then inserted in the task list[.] For example, if the source > code contains the comment, "/ _TODO: Need to add copyright text_ /", the > parser [...] adds the task "TODO: Need to add copyright text" to the task > list with a priority rating assigned to the "TODO" tag. [1]

[1] [http://patents.google.com/patent/US6748582B1/en](http://patents.google.com/patent/US6748582B1/en)

<comment><USER4> How is it you are aware of this? Affiliation with MS or a project that ran into it?

Wouldn't the key part:

" _and_ in response to completion of a task, modifying the task list during the interactive code development session to indicate that the task has been completed."

mean it doesn't apply?

Worst case, just put a US exclusionary clause in the release so US copyright law doesn't apply. At least Europe is ahead of the US in this and doesn't allow such trivial patents and considers them invalid by definition.

<comment><USER3> Someone discovered it years ago online, and it's done a couple rounds in the media[1] as an example of an "overreaching software patent", similar to the "pop-under" patent, which patents a pop-up ad that opens after a window is closed[3].

So no personal experience, but I definitely think it's pretty frivolous; I don't imagine its ever been tested in court. :)

[1] [https://www.theinquirer.net/inquirer/news/1040068/microsoft-...](https://www.theinquirer.net/inquirer/news/1040068/microsoft- patents-to-do-lists) from 2004 [2] [https://www.geek.com/news/microsoft- granted-patent-covering-...](https://www.geek.com/news/microsoft-granted- patent-covering-to-do-lists-1288600/) from 2010 [3] [https://en.wikipedia.org/wiki/Pop- up_ad#Patent_controversy](https://en.wikipedia.org/wiki/Pop- up_ad#Patent_controversy)

</comment></comment></comment></comment><comment><USER5> I think more and more people are realizing that simpler is almost always better, and not only when it comes to software. I've found that this approach works best for nearly all aspects of life.

The hard part is simplifying complex things. We have so many odd pieces (usually due to legacy reasons or conflicting designs) which don't quite fit into an otherwise simple solution.

Plain text could probably work for most forms of communication and data formats. It's when you need to separate, categorize, and interact with the information that you need more than plain text.

This website briefly addresses plain text's shortcomings, so to add to that, in terms of software UX, I would say plain text should be used as a starting point while adding interactive elements (e.g., buttons) and layouts only as necessary. By layouts I mean visual separation of categorized information via whitespace and/or color variations. I've found that this results in extremely intuitive interfaces that are both easy for users to digest and developers to maintain.

We seem to be following a trend where "winning" software has little to no learning curves, as they are becoming the simplest possible tools for daily use. I'm not sure if it's a result of the fact that most people are tech savvy, or if we're just getting better at building software and designing interfaces. It's probably some combination of both.

<comment><USER6> I don't think the UX needn't be complicated. If you really wanted that you can use .rtf, but whitespace and at least grayscale separation are already possible in plaintext of course. Want a cute header? How about:

##########

Header

##########

Smaller plain text files + folders are great for separating, categorizing, and interacting with information. Got another file type relevant to that note? throw it in a folder with a matching filename.txt describing it all. Have aliases or shortcuts to make these appear in any configuration you want all over your OS.

MacOS also lets you put tags on any file leading to further customization. Throw in Calendar into the mix for reminders (not proprietary Reminders) mail for communication and sending yourself notes when you don't have your laptop, and MacOS has all the features baked into the OS that most notetaking apps drip feed through a poorly optimized app on a subscription and with proprietary formats.

This system works on any computer built in the last 40 years and will probably work on all computers built in the next 40. Lets see a company like evernote last for that long.

<comment><USER7> It's worth noting that unless your header text file is in a format that can be converted to HTML, there's no easy way for third-party accessibility tools to understand your plain text the way you do. Accessibility is one of the reasons WYSIWYG is so common. It's hard to translate plain text to a semantic verbal description (though with AI and pattern matching this might be getting easier), and even harder if it's not actually text. ¯\\_(ツ)_/¯

</comment></comment></comment><comment><USER8> While we're on the subject, I just moved my whole financial life over to hledger ([https://hledger.org/](https://hledger.org/)) and oh my goodness I'm so much happier (I dumped both QuickBooks and Quicken, which I'd been using previously).

It won't be for everyone, but if you know a bit about what you're doing with double-entry accounting, it's so so so much better. I only wish I'd discovered this was of doing things years ago (before dumping hundreds of hours into clicking and trying to wrestle with Intuit's tools.)

<comment><USER9> I do my self-employment accounting using an accounting system I wrote myself in my own Lisp dialect (TXR Lisp), making heavy use of its object system. It works very well.

The entry is done in a file called "data.tl", using simple function calls and object construction. That is then checked into Git after every new transaction.

It does everything: deducting income tax, expenses, GST, capital cost allowance for writing off depreciation on equipment, ... And it has decent columnar format reporting for querying the accounts.

Invoices to clients are generated in HTML + CSS + SVG logo, which can render to a very polished PDF.

I based the system on something I call "zero sum accounting". Every transaction contains 2 or more deltas (N-entry, not just double entry), which represent entries going into various accounts. These deltas must add up to zero: like voltages around a circuit. So for instance a single transaction representing a paid invoice gets split up into an income tax withholding account, gst, account, equity account, cash account, and others, in a single transaction. Negative-running accounts represent outside interests in the business: e.g. the equity account (owner's interest in the business) runs negative, and so would an account representing a bank loan (lender's interest in the business). Positive accounts are what the business has, like cash or value of assets. The confusing "debit" and "credit" terminology is completely avoided.

<comment><USER10> Any plans to open-source your tool? Sounds fantastic.

Also I think "double-entry accounting" literally means "N-entry zero sum accounting" as you describe it, and hledger supports it.

<comment><USER9> When designing this system I wasn't able to find any online resource about accounting describing anything other than double-entry accounting in which every transaction consists of one debit and one credit in equal amounts (usually positive), not adding to zero.

The Wikipedia page has nothing about an N-entry, zero sum method:

[https://en.wikipedia.org/wiki/Double- entry_bookkeeping_syste...](https://en.wikipedia.org/wiki/Double- entry_bookkeeping_system)

Not going to open-source; I never open source anything without decent documentation, and this has none.

<comment><USER11> It's implied in the first paragraph – "In double-entry bookkeeping, a transaction always affects _at least two accounts_ , always includes at least one debit and one credit, and always has _total debits and total credits_ that are equal."

</comment></comment></comment></comment></comment><comment><USER12> Great collection of tools and articles. Plain text is also a great (and the best) choice for datasets. Do NOT use JSON, YAML and friends, for example, as your input format but use plain text with a custom parser to import into any SQL database and than you can easily export to JSON, YAML and friends. See the football.db and the Premier League or World Cup match schedule as living examples [1]. [1]: [https://github.com/openfootball](https://github.com/openfootball)

<comment><USER13> If your dataset is mostly a list of strings, sure. If it's anything more structured, why exactly?

I'd argue that using "plaintext" for structured data (a.k.a, inventing your own data representation) will set up both you and the users of your dataset for unnecessary pain dealing with unescaping and parsing.

<comment><USER14> if the dataset is "more structured" you can try to simplify this structure for great gains. As a byproduct, you get to use text files for the data.

<comment><USER13> Could you give an example?

<comment><USER12> See above the world cup match schedule [1], for another other examples with geo tree (e.g. country/province/city/district/etc.), see the Belgian Football clubs, for example [2] or for yet another example the Football leagues [3] with tiers (1,2,3, etc.) and cups and supercups, playoffs, etc. The .txt version are pretty compact with "tight" / strict error checking and JSON, YAML and friends I'd say it would be 2x, 3x or even more effort / typing. [1]: [https://github.com/openfootball/world- cup/blob/master/2018--...](https://github.com/openfootball/world- cup/blob/master/2018--russia/cup_finals.txt) [2]: [https://github.com/openfootball/clubs/blob/master/europe/bel...](https://github.com/openfootball/clubs/blob/master/europe/belgium/be.clubs.txt) [3]: [https://github.com/openfootball/leagues/blob/master/europe/l...](https://github.com/openfootball/leagues/blob/master/europe/leagues.txt)

<comment><USER13> I see what you mean. I agree, for a human editor with domain knowledge, those files are easier to read and maintain than JSON. However, it's definitely nontrivial to parse as a machine-readable format. If other projects are supposed to consume the .txt files directly (i.e. not going through the command-line utility), you should at least provide an EBNF grammar.

Example: I assume, the scorer lists are actually lists-of-lists, where equivalent JSON could look like this:

      [
        {"player":"Gazinsky", "goals":[{"minute":12}]},
        {"player":"Cheryshev",

"goals":[{"minute":43}, {"minute":90, "overtime":1}]}, ... ]

... which is absolutely more verbose.

However, if someone just went by the data, they could get parsing wrong: It looks like the outer list (of players) is delimited by spaces - however, there are also spaces inside the player names. A better approach could be to split the list by ' signs as each player has at least one time - however, players can have more than one time and could probably also have apostrophes inside their names (e.g. Irish players). So I guess, the best delimiter would be a letter after an apostrophe after a number. Except, we might also have parantheses, etc etc.

</comment></comment></comment></comment></comment></comment><comment><USER15> I find it weird that Emacs is not present in "Tools" section, even while org- mode mentioned several times in descriptions (as a compatibility) of other tools.

</comment><comment><USER16> I recently just upped my StandardNotes subscription (the Black Friday ad is still active), and I'm now locked in for ~5.5 years. It's a very plain-text webapp/mobile app that aims to be simple and long-lasting, yet feature-full by means of optional extensions. It's not perfect, but I've been using it for a few months now without any data loss/major bugs encountered, and was excited to use it to ditch Google Keep/Google Authenticator.

It's amazing what you can do with simple text, especially with a Markdown- supporting editor.

<comment><USER17> I tried to love standard notes but I had several times where note contents were overwritten or missing between machines. I looked at the API for syncing and it did not give me confidence.

Using pass + git now. Works great.

<comment><USER18> Do you recall when this was? This kind of feedback is highly unusual for us. Most users love SN precisely for its reliable sync. Our syncing engine underwent large-scale changes in June/July of this year to solve an edge case with opening out-of-date clients. If you experienced any issues after this date with updated clients, I'd be very surprised, but would love to hear more if you can spare a moment.

The only other issue we have heard of precisely one other time has to do with Firefox pinned tabs + some assortment of Firefox browser extensions. To be clear, any reproducible issues with syncing are 100% fixed as quickly as possible.

Lastly, regarding our API for syncing, while our encryption specification is described in plain text detail, you'd have to inspect our source to see how syncing works.

<comment><USER19> Is it possible to use VIM as a text editor in the terminal with SN? Or are users required to use a text editors supported by SN? This seems like an application I'm looking for but I can't ditch my vimrc and plugins

<comment><USER20> Yes, you can use [https://github.com/tannercollin/standardnotes- fs](https://github.com/tannercollin/standardnotes-fs) to edit your notes with vim.

<comment><USER19> Wow, this might actually be what I need! Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER21> I use this plain text planner / calendar every day and I love it, if I can say so myself, since I made it too. I've been using it for a few years now and I can say that it has definitely made me more productive.

[https://crushentropy.com/](https://crushentropy.com/)

You can plan and log your day in plain text and it visualizes your schedule.

Markdown for planning, if you will.

<comment><USER22> This is awesome, have been looking for something like this for a while, wondering if there's a way to export it to and from my ical

<comment><USER21> Thanks, I'd be happy to implement that. Can you please email me? My email is in my profile.

</comment></comment></comment><comment><USER23> I really feel like this site should be in plain text.

<comment><USER24> All I see is text and a few links. Are you claiming that typesetting doesn't count as plain text?

If so then what do you call books?

<comment><USER25> Books don't have links.

<comment><USER24> Sometimes I forget that even HN has people who will happily argue about absolutely anything.

 _Plain_ text is printed in a physical surface by mechanical or manual means, but you don't seem to have a problem with pixels.

Footnotes, figures, and bibliographies all refer to material out of time and space. Frequently you had to bust ass to make use of them but they were there. And they were replaced with something demonstrably better.

So you want a website about plain text with no hypertext at all where you have to copy and paste URLs in order to get past the landing page, in order to have a plain text experience. Maybe bullet journals should only be described in bullet journals and embroidery instructions be embroidered onto fabric.

> some of you are thinking, "but John, you just said there's no difference > between geeks and nerds," and to you I say, "shut up nerds." - John Hodgeman

<comment><USER26> The point is that this site is literally about plain text files, i.e. not using a markup format or other adornments.

<comment><USER24> We use other media to learn and talk about _every_ medium. So what?

You do at least recognize that you guys are bagging on OP, right?

Just let it go man. Vannevar Bush was essentially talking about hypertext (and the semantic web) in the late forties. MIME types didn't exist until decades later. It's a jargon term _and_ a concept, and the jargon term is often rendered as a single word.

</comment></comment></comment></comment></comment></comment><comment><USER27> not to be That Guy, but: all those things listed under each bullet are very nearly just org-mode documentation chapter titles.

Org is very clearly Just Plain Text, but there is a nontrivial caveat, which is "... backed by LISP, so text is also data is also code is also text". Most of the real goodies (babel, refile, capture) will not (ever, probably) work outside of emacs.

I agree that plain text is rad, though!

<comment><USER28> Furthermore, the templates provided are basically proto-org-mode syntax probably re-invented by someone who has never seen org-mode in the first place.

To me, that speaks to how natural much of (but certainly not all of) org-mode syntax is.

</comment></comment><comment><USER29> Related: [https://plaintextaccounting.org/](https://plaintextaccounting.org/)

In particular, the beancount community is pretty strong, judging by the frequency of posts in the mailing list and the Telegram group I'm in.

<comment><USER30> I'm going to smuggle in some hyperbole, but Ledger fundamentally changed the way I view software. Other than programming languages and excel, there's not much other software I've used where the actual solution is consistently such a short gap from my desire for a solution to exist. Good software should make you feel more powerful every time you use it.

Ledger compelled me to see progressively structured but minimally verbose "plain text", as an input, as a large advantage with regards to barrier to entry, provided you have excellent documentation, intelligent design that's close to the domain at hand, and copious examples for that structure.

Power users can dive deep into the syntax at will, and evolve a simple file into a complex one at their own pace over time. Feature discovery is like discovering a language, which makes sense, because you're discovering how the plain text you're typing matches a parser, and how that parsed representation maps to higher level concepts.

Meanwhile, my nontechnical friends are totally capable of keeping a ledger, and reading the results with minimal assistance.

Learning software that's been built this way is like learning a language; it's a challenge that's tackled in stages and allows you to progress at your own speed.

</comment></comment><comment><USER31> I didn't see any mention of in a quick look through the linked website, but the book "The Pragmatic Programmer" is one of the best resources you'll find for making the most out of text-based tools. PP goes a little beyond that, too, it's not the book's sole focus, but it's a major one, and the book is a classic: [https://www.amazon.com/Pragmatic-Programmer-journey- mastery-...](https://www.amazon.com/Pragmatic-Programmer-journey-mastery- Anniversary/dp/0135957052)

<comment><USER32> I agree, but I found some of the relevant practices really hard to adopt. For example, how do you setup your tooling to put documentation in one place so it can be used for a wide variety of purposes, like code comments and relevant customer docs? Is that realistic from both the dev and user-facing perspectives?

</comment></comment><comment><USER33> Plain text is great when I am on my laptop, but not as well as soon as I want to, for example, check or update my todo list on OneDrive/Google Drive on my phone or on my work computer.

I have found myself moving back into proprietary formats like docx and xlsx because of the above.

All I want is a folder full of markdown files (and other files that need to stay in their original format), but I not could find a way to make it work on mobile.

<comment><USER34> Seems like there _should_ be an app that serves as an editor for you well enough. The syncing problem is only a problem because Apple (I'm assuming your on iOS, and I don't know as much about android) doesn't give you a fucking filesystem.

I'd be pretty happy with something like ViMobile, and `git push` personally.

<comment><USER35> This situation has improved a lot within the last year. I'd highly recommend trying out a combination of a-Shell (includes vim!), and WorkingCopy for git. Both of these can access any folder in Files or any external file provider (even outside of their sandbox). SecureShellFish is also great if you want to interface with a server.

</comment></comment></comment><comment><USER36> I keep a similar list of sites where you can host plain text or hypertext or Web projects.

[https://href.cool/Web/Participate/](https://href.cool/Web/Participate/)

</comment><comment><USER37> Except it's html. They didn't serve text/plain. I do get that thinking as words helps but isn't org mode or markdown plaintext?

<comment><USER38> That would be text/markdown :) Although serving markdown as text/plain should be totally fine if the client is a web browser. It would be incredibly useful if web browsers rendered text/markdown natively, though - mine renders PDFs, so I think the precedant's there.

<comment><USER37> I too would welcome this and text/org-mode

</comment></comment></comment><comment><USER39> I have a plain text file that's basically my notes, bookmarks, how to write ups and anything. I mark each section with hashtag labels, and set alias vinfo=vim /path/info.txt. Anytime I need to reference back how to setup some configuration, or the typical arguments for a command, or likes to YouTube vids on my watch list, I just vinfo in, and /#<topic>. It's the best system I've used, and out lived all the Evernote's, todo lists, stickies, whatever. Dropbox or chron rsync it to where u want.

</comment><comment><USER40> I used to store bookmarks in the browser. But they wouldn't survive changing the browser, upgrading the browser, reinstalling the operating system, or moving to another device. Besides, I didn't really want to share my bookmarks with the browser vendor, every browser app vendor, and random web sites.

Now I just store them in a .txt file. My text editor recognizes URLs and I can just click on them. Matching { } is also supported, which is all one needs for a tree-style database.

<comment><USER41> > Matching { } is also supported, which is all one needs for a tree-style > database.

Could you elaborate on this; maybe give an example?

</comment></comment><comment><USER42> I never thought of plaintext as a way of life, but I think I agree with it in principle (as many others on here probably do.) I didn't know I was part of a movement, but I did write my own simple (and open source) hours tracking/invoicing tool on plaintext principles: [https://github.com/ses4j/ts](https://github.com/ses4j/ts)

</comment><comment><USER43> With organice[1], you have access Org mode without using Emacs. It is an implementation of Org mode without the dependency of Emacs. It is built for mobile and desktop browsers and syncs with Dropbox, Google Drive and WebDAV.

1\. [https://github.com/200ok-ch/organice/](https://github.com/200ok- ch/organice/)

</comment><comment><USER44> Plaintext email is great too, cuts out a lot of superfluous junk.

[https://useplaintext.email/](https://useplaintext.email/)

<comment><USER45> They do not list Heirloom-mailx, which is what I use. Heirloom-mailx uses a command-line interface, uses plain text email, and does not use top posting. It also supports entering pipe commands.

</comment></comment><comment><USER45> I think many things can and should use plain text and yet they don't. Even, with gopher you can easily have plain text files, and simple menus which could be implemented by many different kind of user interface, you don't need to do what they do HTML try to have desktop/mobile and then it doesn't work on anything other than they expected it to be.

Many documents I will write plain text file, compatible with everything more than HTML and Microsoft Word is. I also don't like WYSIWYG when I do want text formatting.

I don't use favicon on my own server, and have it disabled on the browser. I also think "Plain Text Project" uses too much CSS too. Just you can use plain text. I don't want to use your large font sizes and narrow columns.

I use file with plain text for editing. Articles on Usenet and Unusenet too, are written plain text sometimes also with headers, but the headers are also a plain text just are more structured. Some programs have a different user interface for adjusting the headers, but I just use them same as with the rest of the text.

In addition to Usenet articles, there is many other thing that you can use a plain text file for many other things. Depending what kind of data it is, you might use just one string per line, or CSV or TSV, or JSON or YAML, or RDF (RDF/XML isn't so good, but I think the RDF Turtle format is good), etc.

In many cases I wrote my own programs because I do not like the existing ones.

</comment><comment><USER46> Assume "plain text" means something like traditional printed text. This has three features which don't seem to be implemented on computers in a sensible standardised way:

* Spaces. In traditional printed text there is space between words but there are no leading spaces, double spaces or trailing spaces, so the ASCII space character is not an adequate representation.

* Paragraphs. In traditional printed text you can start a new paragraph but you can't have an empty paragraph so '\n' is not an adequate representation. Then there's the problem that some systems use '\r' or "\r\n" instead of '\n'. Then there's the problem that Emacs's "long lines" mode and Git's --word-diff don't work properly. (Almost certainly patch tools and "git rebase" don't work either.)

* Emphasis. In traditional printed text words and phrases can be printed in italics for emphasis. There are several ways this can be indicated in a computer file, but do editors and diff tools handle them nicely? I think not. Also, it's not completely clear how this should work. For example, I don't think <em></em> should be allowed, but are <em>a</em><em>b</em> and <em>ab</em> the same thing, or different things? You wouldn't be able to tell them apart in traditional printed text, but in traditional printed text you can't tell whether a space, a full stop or a dash is printed in italics, or not, either, so it's clear, I think, that we need to somewhat extend the concept of emphasis from what's available in print, but how far do you extend it? (What about nested emphasis?)

<comment><USER47> That I believe in stuff like markdown. You usually need like 3 or 4 options

</comment></comment><comment><USER48> Great find! But why on earth is there no mention of git, or the other VCSes? IMHO they're a huge reason for using plaintext for more purposes.

</comment><comment><USER49> I've been kicking around the idea of a plain-text GUI to demonstrate what a "GUI Markup Standard" may work like. Making a graphics-enabled version is a lot work for a demo.

VB-classic also had a text-based mouse-able GUI option for a short while, but it never took off. It was based on ANSI escape sequences for DOS consoles, which is sort of in-between "pure text" and graphics. A pure-text GUI is also doable, but console approach is probably more compact because it can use colors as cues instead of symbols.

An alternative or supplement to a markup standard is a text-based screen designer. Both a pure-ASCII and console text UI can be defined using plain text for semi-WYSIWYG designing. Rough example:

         $ Employee Edit Form
         * _thisLine.title
         $
         $ Last: [#last    ] First: [#firstname] MI: [#MI]
         * #last:fullname=last_name, required=true; #MI:fullanem=mid_initl
         $
         $    {#Save}    {#Cancel}   {#Other}
         * #Save:click=_thisForm.submit; #Cancel:click= _thisForm.close
         * #Other:click=specialProcedureX(), display="Other Options"

Symbols and conventions:

         $ = start of template line
         * = start of definition or command line
         [...] = input widget template
         {...} = button template
         # = start of reference name.
         "fullName=" = use if actual database name is diff from reference name
         ; = definition or command separator
         "type=" = to define widget type, such as SELECT (not shown)
         "display=" use if actual label is different from reference label

Notes: "type=label" can be used to make bold or italics. The definition line(s) don't have to follow the template lines in most cases. One can thus optionally put most definition lines at the bottom. It may make interpreting the template easier for some people.

<comment><USER24> Interactive shell libraries exist. They are quite common for Unix oriented tools. Might be possible to reimplement the same API for a GUI

<comment><USER49> An example product? Note that I was talking about two different things: a GUI markup standard (probably XML based), and an ASCII WYSIWYG GUI designer. I'll make the distinction clearer in an edit.

</comment></comment></comment><comment><USER50> I can recommend [https://jrnl.sh](https://jrnl.sh) for a minimal plaintext journal.

</comment><comment><USER51> Plain text is best text. Word format is the worst when it comes to rendering from, say, legal docs to web copy, or any other hidden characters.

I came here to voice my support for PlainTasks plugin for Sublime, and found myself disappointed that the author skips over the gold standard in modern text editors... Sublime Text.

</comment><comment><USER52> I love plain text, and generally agree with the principles here.

That said, I think it's important to remember that plain text is still a binary format under the hood. Its power comes from its simplicity and many independent implementations. There's a lesson there for designing software in general, especially APIs and protocols.

I also think it's somewhat unfortunate that breaking changes were made to the plain text "API" along the way, in the form of Unicode. Unicode is great, but I wish it wasn't conflated so much with the original plain text. Plus it adds significant complexity. Sure, you can view a plain text file from 1991 in today's editors, but you can't view a Unicode file in an editor from 1991. And it's not apparent to the user why that is.

<comment><USER53> Wasn't Unicode made to be kind of backwards-compatible with ASCII? If you stick to the ascii subset of unicode characters then it should be exactly the same, and if you don't then there's no good way to convert it back to ascii anyways.

</comment></comment><comment><USER54> When I'm not using a custom tool I tend to fallback on two (or three) alternatives:

* Markdown-ish in a text editor

* Google Doc

* Google Sheets

The first is for any quick notes I need to take or anything that might turn into a code checkin, confluence page, etc. The second is for anything I think I'll have to share and may want collaborators. The third is for almost everything else.

I feel I disagree with a lot of people in the rest of the comments. I think plain text in general is a major pain to deal with. I recall several years ago having to deal with CSV parsing and I was aghast at how complicated that is to get "correct". Give me highly structured data formats please. I'll take yaml, toml, JSON or even XML over CSV, TSV or plain text at pretty much every opportunity.

<comment><USER55> CSV is fairly OK if you just ignore Excel. Unfortunately, if you're working with others, they won't let you ignore Excel.

</comment></comment><comment><USER56> And yet, the site uses a favicon of a typewriter ([https://plaintextproject.online/favicon.png](https://plaintextproject.online/favicon.png)). It's so hard to be pure in this world!

<comment><USER57> It's something I don't like about what programmers tend to mean when they say plain text: Plain text isn't the same as ASCII. It isn't the same as Latin-1 or some other eight-bit encoding. UTF-8 is plain text. UTF-16 is plain text, too, but UTF-8 is better to use on the Internet.

My point is that you can go well beyond the Latin alphabet and still be in the world of plain text. You can have correct quotes, as opposed to the apostrophe-quotes typewriters saddled us with, and still be producing plain text. There's nothing inherently "fancy" about using the writing systems most of the people on Earth are fluent in, and, thanks to Unicode, there's many fewer compatibility problems.

<comment><USER58> You say this but I bet most of the people who style themselves plain text purist _really do mean ASCII_.

</comment></comment></comment><comment><USER59> Does anyone know of a system for managing contacts in plain text? I would love some CLI I could use to fuzzy search contacts, making it easy to grab info to my clipboard for using email clients like mutt or aerc.

<comment><USER60> I don't know of an existing system, but you could look into constructing something using FZF and a plain text file of contacts names and email addresses formatted in a specific way.

[https://github.com/junegunn/fzf](https://github.com/junegunn/fzf)

</comment></comment><comment><USER61> That's nice I guess, but doesn't address my main wish around text: that I will continue to be able to read textual email from my friends without using a full browser engine.

</comment><comment><USER62> I switch to bear as it is text based with tag. I think similar text based and Cli would be useful and may be better than using a too specific And structured format.

</comment><comment><USER63> I use TaskPaper synced via Dropbox to achieve a level of organization across my tasks, notes, and deadlines: [https://www.taskpaper.com/](https://www.taskpaper.com/)

The beauty of it is that I have a GUI when I want it, but at the end of the day it's all stored as plain text, so I'm not bound to the GUI and can fall back to any text editor effortlessly.

</comment><comment><USER64> I use Wordpress.com for blogging and its wizzy-wig editor because it gives me a rough visual estimate of how long my text really is. It's a perfectly stupid reason and totally inadequate for the level of tech-savvy I'm supposed to have. Or maybe it's just that the heavy crufty web editor was developed for a purpose and is good at it.

</comment><comment><USER65> I'm a fan of Writeroom for Mac ([http://www.hogbaysoftware.com/products/writeroom](http://www.hogbaysoftware.com/products/writeroom)).

</comment><comment><USER66> Nice to see Joplin in the list. It's a note-taking app, sorta like an open- source Evernote, and one of the _main_ reasons why I use it is indeed because it's plain text (markdown) only.

</comment><comment><USER67> You should definitely add SGML to your list of tools. SGML can turn plain-text files into markup (HTML) documents using your own custom rules (via short references).

</comment><comment><USER68> Plain text is the cornerstone of my b brainstorming app at jumproot.com. there are other tools too but it all starts with plain text.

<comment><USER69> A saas product is the oposite of a plaintext file..

</comment></comment><comment><USER70> Related: [http://motherfuckingwebsite.com](http://motherfuckingwebsite.com)

<comment><USER71> Alright now everybody, please, resist the urge to post the shitty copycat sites that are always posted after motherfuckingwebsite.com. You can do it!

</comment></comment><comment><USER72> This is the most hipster project I've ever seen.</comment>


Microsoft Cashback Google-Killer Generates NO Revenue For Microsoft - <AUTHOR> http://www.alleyinsider.com/2008/5/check_this_out_microsoft_cashback_google_killer_generates_no_revenue_for_microsoft <comment><USER2> Not news. I would've been utterly shocked to hear that Microsoft was making money by undercutting Google.</comment>


Mutable Instruments' Eurorack Modules - <AUTHOR> https://github.com/pichenettes/eurorack <comment><USER2> Magical stuff. There are software versions available for free, usable in VCV Rack which is also free. I've been playing with it on and off for the last year. It blows my mind that 1) someone would just give this stuff away 2) more people aren't jumping on the bandwagon of physically based modular synths. These things can make some of the most pleasant musical sounds I've ever heard. Check out the YouTube channels "Lightbath" or "ann annie" for examples.

Sadly, Émilie Gillet (the person behind Mutable Instruments) recently announced that she's stopping development of new modules, because being a known person who's visibly trans is just too much, and she's looking for the next niche to disappear in.

<comment><USER3> > more people aren't jumping on the bandwagon of physically based modular > synths.

It's expensive, takes a lot of space and does nothing that you can't do in software. The UI/UX of hardware modules might be better, but that's a trade- off I've personally grown to accept.

<comment><USER4> > does nothing that you can't do in software

I can't turn knobs on my computer, and the blinking LEDs are underwhelming.

<comment><USER5> I love modular, so don't take this as an attack - but a $50 midi controller has a lot of knobs you can turn :)

<comment><USER6> MIDI controllers and a computer can definitely have their own advantages and can nicely compliment stand-alone hardware nicely.

But stand-alone hardware has some advantage of its own over a MIDI setup.

Well designed stand-alone hardware modules can turn on instantly, you don't have to keep their software up to date, you don't have to do any performance tuning on them or muck around with latency, they don't have to compete with other software running on your computer as software synths do, I can be pretty sure that barring hardware failure they'll still work exactly the same way 5 or 10 years down the line, etc.

In sum, stand-alone hardware offers me a lot of reliability, consistency, convenience, and performance that's often hard to match with a computer and MIDI controllers.

Of course, a computer and MIDI controllers have their own advantages and conveniences, like being able to save settings, having a virtually unlimited amount of functionality by using various software packages or writing your own, allowing the user to change or choose their preferred UI, etc.

So they're really not the same. It's best to have both!

<comment><USER7> The line is blurring a bit. Back in the 1990s, hardware modules booted directly from ROM. These days, you've basically got a whole computer inside which boots like other modern computers, i.e., slower than it should.

There are also some good examples of software stability. Having used Logic and Reason since the early 2000s, you can see all the care that they've taken in never removing anything, and only adding new things.

<comment><USER8> That's good, but it's not as good as:

      cd Rack
      git checkout version-of-February-22-2020

That's the extra insurance that open source buys you: instead of relying on the proprietary software maker to do the right thing, you ensure that you can always (1) actually run the version you had way back on Feb 22 2020.

(1) yeah, I know things are not quite that simple.

<comment><USER7> My experience is that the Linux audio APIs have been so volatile that I often can't run older audio software, even when I have access to the source code.

I have actually composed and recorded music with open-source software, but the cost of doing so was very high, so I switched to proprietary software. Even worse, the open-source software for various reasons has had interoperability problems—you can't export in standard formats, or that kind of thing. With proprietary software, I was less tied down, since I could export data from one program to another and continue working.

So I'm slowly working on converting the old songs I wrote with open-source tools into standard formats.

<comment><USER8> The ALSA API (the fundamental device driver layer) hasn't changed in any significant way in more than 20 years. There was one trivial change that might require a 1 line change in a program that happened to use that particular call, but not all Linux audio apps did so.

I don't know what you mean by "cannot export in standard formats", unless you're referring to something like AAF.

AAF is a closed-source proprietary standard for "session files" that fundamentally relies on utterly closed Microsoft APIs. There are some incomplete open source implementations that use a GNU efffort to reimplement those APIs but AAF is also the prime example of design-by-committee. I will never put time into trying to support AAF. Note also that AAF support is missing in major DAWs and users need to rely on 3rd party translators such as Chicken Systems AATranslator (RIP).

If you're referring to standard formats for audio files (WAV, AIFF, CAF and more), then I really don't know what you're thinking of.I cannot think of any open source audio project that has problems with exporting to "standard formats".

<comment><USER7> ALSA may not have changed, but programs variously have used ALSA, ESD, JACK, OSS, PulseAudio, and aRts. Depending on your hardware, some of these options have been variously unusable at points--too many developers assume that you have a hardware mixer, for example, which is true for standard PC audio output but not true for any pro interface I have ever used (even the dirt cheap ones). At various points, I ended up with audio that only worked with exclusive access. I tolerated it for a while but now I consider it a dealbreaker.

I'm 100% willing to pay Apple to make this problem go away for me. Core Audio is an _amazing_ API.

For cannot export in standard formats--talking about MusicXML. Until a couple of years ago I also had problems listening to music on my Linux system; I think it was because of some patent licensing issue.

<comment><USER8> All of the above APIs except ALSA run on top of ALSA, except OSS which was deprecated more than 20 years ago. The CoreAudio API has changed just as much in that time period.. there are huge chunks of the CoreAudio API that existed back in 1999 that no longer work or even exist.

Also, note you can't use the audio APIs from macOS "classic" on macOS/OS X (and never could - Apple banned it from the start, so every single audio app that existed for macs pre OS X had to have its audio I/O completely rewritten. Apple didn't pay for this - 3rd party developers did).

I write pro-audio/music creation software for a living, and I can assure you that from this perspective, CoreAudio is definitely not an amazing API. That's without even taking into account the differences between CoreAudio on iOS and macOS.

The only Linux distributions that had problems playing patent-protected formats over the last 20 years were the ones that stuck to a strictly libre software policy. If you picked one of them (e.g. Debian), it's hardly Linux' fault that you chose a distribution one of whose raison d'etre's was to exclude any non-free formats of any kind. I used RedHat starting in 1997 and it never had a problem playing mp3 files.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Been into modular for just over 2 years. If you want to emulate it in software, the csound language is your friend.

[https://csound.com/](https://csound.com/)

"Csound is a sound and music computing system which was originally developed by Barry Vercoe in 1985 at MIT Media Lab."

I prefer to do things in hardware rather than software because after staring at a computer monitor all day long professionally, it is the last thing I want to do when I get home. I much prefer twisting knobs and patching cables.

Also, one philosophical interest in Eurorack is as an alternative model of computation. You've totally given up the Von Neumann architecture, but you can still do some amazing computations. Sums, integrals, differentials, chaotic functions, ...

point is, this is another way physical Eurorack is an alternative to "software" (where software seems to assume a Von Neumann system to run it on...)

Cost is an issue. It is hard to be serious about the hobby for less than $1500. You are welcome to dispute that point with me by discussing all the cheaper options available or talking about resale value, but given that most modules cost north of $100 it doesn't take long.

And building modules from scratch (which I've done, just a stash of chips, resistors, and caps and a blank proto board, working off a hand-drawn circuit diagram) can save a few bucks but the time cost gets very high.

<comment><USER8> VCV Rack is much more appropriate if your goal is to "emulate [modular] in software".

CSound is a wonderfully cool piece of software. It's not an effective way for people who want to do in software what they do with hardware modular: obtain modules, put them in a rack, and connect them up.

Finally, eurorack has nothing to say about computer architecture,in the context of digital computers. It's an analog synthesis system, which means that it's an analog computer (even if some of the internals are digital).

I really recommend you check out VCV Rack. It is a deeply amazing piece of software, both in terms of its concept, but also the way that its author has created an ecosystem for modules and modules authors.

<comment><USER9> VCVrack does look like some seriously cool software, thanks for the link.

"Finally, eurorack has nothing to say about computer architecture,in the context of digital computers. It's an analog computer."

That kind of is what it says about architecture. Analog vs digital.

When I'm hooking up a clock on my synth I can't help but think of a system clock on a CPU. A digital computer computes an integral using a series of discrete-time operations on binary representations of floating points. My synth computes integrals using an op-amp and and RC circuit applied to a voltage source, and sometimes calls them "filters".

So I have these sorts of thoughts in the back of my head, different mental pictures of how the system is doing the math.

Plus other thoughts-- what is the purpose of the "computer". Kraftwerk "I am the operator of my pocket calculator" viewing a calculator's primary function as a musical instrument...

Isn't that saying something about computer architecture?

I/O differences.

etc.

Just fun to contemplate

</comment></comment></comment><comment><USER10> I've been building MI modules for a while. Émilie is such a boon to the SDIY community. Not only does she design incredible modules and release the entire design for free but she also actively encourages modification and improvements buy offering a complete development VM.

It was pretty much expected whenever a new module was released that people would get right to work designing 'µ' versions of the modules that use less space on a rack or in some cases "double" versions of modules.

</comment><comment><USER11> If I might just gush here. The work made available here by Émilie has been just so damn valuable to me over the last few years. From simple but effective circuit design, to very efficient and easy to follow DSP code. I would never have fallen so deep into the eurorack rabbit hole without it. Whatever it is she ends up doing now, I hope she shares it with the world the same way she did with MI!

<comment><USER12> I hope so too. Émilie's work has been my primary inspiration in learning more about digital signal processing. The Mutable Instruments body of work is a tremendous gift. Thank you so much, Émilie!

</comment></comment><comment><USER13> Because they are open-source, those modules have been ported to VCV Rack [1], a virtual instrument aimed at recreating the Eurorack experience in digital audio workstations. Obviously, using a mouse/trackpad is not the same as tweaking real knobs, but it's much cheaper.

[1] [https://vcvrack.com/](https://vcvrack.com/)

<comment><USER14> VCVRack is one of the all-time greatest pieces of synth software, ever. The sheer number of modules you can install, out of the box, for free, is astonishing.

Its also pretty neat that a lot of hardware manufacturers use VCVRack as both a prototyping system as well as a promotion mechanism. I've introduce a lot of people to Eurorack by way of VCVRack - usually they play with it for a few weeks, and before I know it, they've got a new hardware rig set up in the living room ..

Pretty great time to be a synth nerd. (See also: Behringer.)

<comment><USER4> The longer you ignore Behringer, the longer a thriving community of module builders can exist. Cheap ripoff modules sound great (no pun intended) but provide one more angle to screw the little guy.

<comment><USER14> Start your synth life with a cheap Behringer Neutron, add a few modules here and there - and before you know, you've got a wall of synths, and not all of them will be Behringer.

They open the doors for kids to get started, at a cheap price, and it means way more people on the market than otherwise. Some of us remember when synth manufacturers could get away with gouging their customers - not any more!

</comment></comment></comment></comment><comment><USER14> Émilie Gillet (founder of MI) has done so much for the modular synthesiser world - she has pushed the state of the art pretty far forward, and now making all the designs available pretty much means that we are going to see some great progress beyond the current scene .. I wonder if there is a F/OSS award that she could be recommended for? Its one thing to release software for free, but to also do it for hardware designs is amazing ..

<comment><USER15> You could recommend her but I would suggest not doing so without her approval.

<comment><USER16> Don't award committees usually contact potential awardees before announcing the award publically or even before drawing up a shortlist?

I don't know, but it would seem to be wise.

</comment></comment></comment><comment> squeaky-clean Using a Mutable Instrument module is a fun way to code your own Eurorack ideas if you're like me and bad at the hardware/DIY part. Everything is open, even the bootloader, and there's a neat process where it converts the compiled program into an audio stream that the module then listens to (when turned on in recovery mode). And it's even easier to go back to stock firmware.

There's also the well-known-ish alternative "Parasite" firmwares by mqtthiqs which is fun to look through and really fun to play with in a module. [0, 1] I don't know if these are available in a software-only form like VCV.

Mutable also isn't the only manufacturer releasing open-source modules. 4ms has a few, the DLD [2] is a delay I've been playing with reprogramming lately (almost 3 minutes of memory! stereo!). Rebel Technology releases their stuff under GPL [3]. I'm sure there's more I'm forgetting. I wish Make Noise would open-source their digital stuff...

[0] [https://github.com/mqtthiqs/parasites](https://github.com/mqtthiqs/parasites)

[1] [https://mqtthiqs.github.io/parasites/clouds.html](https://mqtthiqs.github.io/parasites/clouds.html)

[2] [https://github.com/4ms/DLD](https://github.com/4ms/DLD)

[3] [https://github.com/pingdynasty/CLK](https://github.com/pingdynasty/CLK)

</comment><comment><USER17> This is so cool!

If, like me, you were wondering "what is this, exactly?" see:

[https://mutable-instruments.net/](https://mutable-instruments.net/)

</comment><comment><USER18> The PCBs are open source too.

I purchased 6 from [https://www.amazingsynth.com](https://www.amazingsynth.com) and couldn't be happier. It's good fun trying to do surface mount soldering!

</comment><comment><USER19> Aah Eurorack... I first found out about this scene when a friend started making modules in his spare time and then eventually left the game development industry to found Noise Engineering[0]

It's definitely cool the MI stuff is open source!

[0] [https://www.noiseengineering.us/](https://www.noiseengineering.us/)

</comment><comment><USER20> Mutable Instruments did a great thing open sourcing their hardware and software. I own a couple of MI clones from Momo Modular. Eurorack is an incredible hobby.

</comment><comment><USER21> Interesting contrast with TipTop, who makes modules which are derivatives of other devices (808 and 909 drum modules), but they patented Stack Cables (even though stackable banana cables were already a thing), and has sued to prevent other companies from also making stackable cables.

<comment><USER22> TipTop is a bad actor / goes against the ethos of many others in the eurorack space IMO. I have their mantis case, was my first eurorack case, and while it's good I do dislike that i use theirs.

the modularity and interoperability (and the implied open source culture) of eurorack philosophy should extend to the companies that make these products. so often they dont. makes me think of unix philosophy and how tech companies dont follow that philosophy either.

</comment></comment><comment><USER23> I built a Mutable 6-voice Ambika synthesizer about five years ago with the SMR voice cards. It is a magical synth and an easy build. You can get DIY kits from TubeOhm.

[https://www.tubeohm.com/tubika.html](https://www.tubeohm.com/tubika.html)

</comment><comment><USER24> The Plaits oscillator has been ported to the Korg Logue SDK too: [https://github.com/peterall/eurorack- prologue](https://github.com/peterall/eurorack-prologue)

<comment><USER25> and is available in the Arturia Microfreak.

[https://www.arturia.com/products/hardware- synths/microfreak/...](https://www.arturia.com/products/hardware- synths/microfreak/overview)

</comment></comment><comment><USER26> These guys are wonderful. I built their shruthi mono synth kit a few years ago, and it's still one of my favorites.

</comment><comment><USER27> 73-75.com Makes some really nice DIY kits and clones</comment>


Recorded for Quality Assurance: The Datafication of Affect in Call-Centers - <AUTHOR> http://reallifemag.com/recorded-for-quality-assurance/ <comment><AUTHOR> while most of us are aware that we are monitored as we live various aspects of our respective lives, the surveillance is often either cartoonishly obvious or very well hidden.

This explains how call centers work by closely attending voice affect (or whatever the software detects as affect)--It is informative and creepy as hell.</comment>


You Won't Need a Driver's License by 2040 - <AUTHOR> http://www.wired.com/autopia/2012/09/ieee-autonomous-2040/ <comment><AUTHOR> One of the most interesting aspects of autonomous cars at the moment is, at least for me, that thinking about them gives a nice framework to notice how much influence technology has on culture. Starting from architecture (garages) over special laws and movie plots that simply would not exist without cars.

</comment><comment><USER2> How am I supposed to get fined for sustained loss of traction in an autonomous car?</comment>


A Quantitative Prediction for Political Violence in the 2020s - <AUTHOR> http://peterturchin.com/cliodynamica/quantitative-prediction-political-violence-2020s/ <comment><AUTHOR> Asimov introduced the concept of "psychohistory" in his Foundations series [1]. Psychohistory "combines history, sociology, and mathematical statistics to make general predictions about the future behavior of very large groups of people" [1]

Almost a decade ago I heard about a researcher who took up the gauntlet of developing psychohistory. His name is Peter Turchin. Because there was an established academic field already named psychohistory [2], he named his field of study "Cliodynamics" [3].

When I first heard about Dr. Turchin, he had recently made a prediction that we were likely to see political violence in the 2020s [4, 5].

In this current blog entry he talks about factors that are likely to influence whether there is or is not political violence in the next few years.

[1]: [https://en.wikipedia.org/wiki/Psychohistory_(fictional)](https://en.wikipedia.org/wiki/Psychohistory_\(fictional\)) [2]: [https://en.wikipedia.org/wiki/Psychohistory](https://en.wikipedia.org/wiki/Psychohistory) [3]: [http://peterturchin.com/cliodynamics/](http://peterturchin.com/cliodynamics/) [4]: [http://www.zdnet.com/article/cliodynamics-a-science-for- pred...](http://www.zdnet.com/article/cliodynamics-a-science-for-predicting- the-future/#)! [5]: [http://peterturchin.com/PDF/Turchin_JPR2012.pdf](http://peterturchin.com/PDF/Turchin_JPR2012.pdf)</comment>


Mentally calculating the # of Tuesdays between 1700 and 2014 - <AUTHOR> http://www.takingthefun.com/2013/12/mentally-calculating-of-tuesdays.html

<comment><USER2> This feels like a bit much to do mentally, without practice. I'd have to write something down I think.</comment>


Gmail Glitch Is Causing 1000s Of Emails To Be Sent To One Man's Hotmail Account - <AUTHOR> http://techcrunch.com/2014/01/24/gmail-glitch-is-causing-thousands-of-emails-to-be-sent-to-one-mans-hotmail-account/ <comment><USER2> I filed a bug report about this 3 months ago. I did completely agree this is not likely to be a serious security issue (only a few indexed emails will contain phonenumbers or private information, even less likely private as Googlebot must have publicly found these links online, though some message bodies did hint at stuff like password resets).

It is worth looking into from an SEO perspective, site (index) health perspective and to ultimately prevent/minimize problems like these.

In my opinion these links do not belong in the index. [https://mail.google.com/mail/](https://mail.google.com/mail/) should have been the Canonical. Big companies expose the contents of SMS messages, who contacts who, and sometimes even what their users search for.

Now these pre-filled "to"-field links were picked up by accident with the automated sitelinks algorithm. It could have contained a pre-filled "body" too, maybe some spam or maybe a crude online link to make an appointment and have certain fields filled in.

Webmasters can prevent this by specifying Canonical and cultivating the search index quality by only letting bots index unique quality pages, not for example have pages and pages of user-generated search results (Consider noindexing /search/results/), open redirect link(spam), or indexing every possible way a user may change your URL parameters and posting a link of that somewhere to be picked up by the search bots.

</comment><comment><USER3> I have so many questions after finishing that article, but first to come to mind is: who puts a HTML FAQ in their e-mail signature? Seriously, who does that?

<comment><USER4> I was going to ask the same about googling "gmail", clicking the second link, and _actually sending_ a blank email. But apparently the answer is "thousands of people" a day.

I learn something new about users every day.

<comment><USER5> It's probably healthy for us "web people" to get a reminder every so often that vast swaths of humanity use computers in ways that are nearly incomprehensible to us.

<comment><USER6> YUP. IF YOU EVER WORK IN WEB SUPPORT. YOU WILL SOON REALIZE HALF OF THE PEOPLE ON THE INTERNET HAVE BROKEN CAPLOCK BUTTONS.

<comment><USER7> The Mac Keyboard has a broken Caps Lock button "by design"; you can't press it too fast.

[http://support.apple.com/kb/ht1192](http://support.apple.com/kb/ht1192)

<comment><USER8> The world's fastest typist, Sean Wrona, would abhor that - he uses capslock instead of shift(!) He can go 200WPM+ so, clearly he's doing something right...

<comment><USER9> I assume there's a point in overall speed where the slowdown from caps-up/down -> letter-up/down -> caps-up/down is worth the reliability drop from coordinating shift-down -> letter-up/down -> shift-up. I think I hit that point sometimes entering passwords and other frequently entered info, but the reality is for most typing none of us get there.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is quite possibly the most hilarious bug I've ever seen.

What I really want to know is who the hell actually googles "gmail"? There's a link at the top of the homepage!

<comment><USER11> In Chrome and Firefox, if you lazily type "gmail" into the address bar rather than "gmail.com" then it will google it for you. I suspect it's rather common, I know I've done it a few times by accident.

<comment><USER12> By default typing "gmail" in Chrome's omnibar it will autocomplete to "gmail.com" If you've ever typed it out before.

<comment><USER13> I have watched people google 'gmail' and ignoring the autocomplete, but clicking on the link that comes up in the search. At some point people were told "do it this way" and to change that would require a 30-minute handholding and de-education session.

<comment><USER14> I consider myself as an experienced internet and computer user, but sometime I simply write "gmail" and then click on the first link instead of writing the ".com". Go figure.

<comment><USER15> There really isn't a one-to-one mapping between quantity of experience and behavior exhibited.

</comment></comment></comment></comment></comment></comment><comment><USER16> This is ridiculous... the search result really links to

        https://firstname.lastname@example.com

<comment><USER17> Someone's getting fired tonight.

<comment><USER18> Does google fire over single( assuming ) mistakes. I didn't think they were that kind of company. Isn't there a voting to determine that?

<comment><USER19> There is no way Google (or I assume any good employer) would fire an employee would for such a mistake. Mistakes happen, they are a part of life in the technical world. You work really hard to make sure the mistakes are minor (which this one is) and fixable, but they are going to happen.

Losing data is really really bad, and if it happens it better be minor and there better be extreme circumstances. If a service goes down, that is bad but shit happens sometimes. Something minor like this is going to make for an entertaining post-mortem, but nothing more. I'm sure Google will do something nice for the person who was affected by it.

Easy rule of thumb for operations: Never make the same mistake twice. You learn from every mistake, but new and amazing ways for things to break are always going to happen.

Source: I worked at Google in operations and made mistakes that were far worse than this

<comment><USER20> Firing people for making mistakes is a surefire way to ensure that when someone makes a mistake they will do everything they can to cover it up rather than take appropriate action to correct it.

<comment><USER21> There's also an argument that it makes sure other people will be more careful with their work to try to avoid mistakes. I don't think it's the way to go, but there certainly are managers in the world who do. (Hopefully a vast minority.)

</comment></comment></comment></comment></comment></comment><comment><USER22> It's not limited to a small number of Gmail accounts. If you use some additional search parameters you'll see a ton of compose URLs showing up in the SERPs

Searching:

site:mail.google.com gmail inurl:?to=

gave me nearly 25,000 results. Some have subject lines too.

EDIT: Here are the first 100 URLs for the search above: [http://pastebin.com/X1yTW7Pr](http://pastebin.com/X1yTW7Pr)

<comment><USER13> I am seeing some private emails with subjects AND body, apparently spam but sometimes half-written content like "Dear John,". Someone build a spam bot and left the links out for indexing?

<comment><USER23> A few of those could be Drafts... So maybe Google indexed the drafts of its users?

<comment><USER24> No, those links have the subject and body set in the url.

</comment></comment></comment></comment><comment><USER25> Hopefully Google will send this innocent bystander a valuable collectible Scroogled mug.

</comment><comment><USER26> This is craziest thing I saw this year. And I've been watching The Daily Show, so there are no shortage of crazy things.

In any case, I really look forward to explanation how the hell something like this could ever happen.

<comment><USER27> But, to be fair, it is only the 24th of January, so there might well be many more crazy things for us in stock. Though Google linking directly to mail some poor Hotmail account will be hard to top, yes.

</comment></comment><comment><USER28> This made me laugh:

 _...he contacted Hotmail support this morning to try to get help. Ironically, he asked them to contact him at his alternate email address, which is Gmail._

<comment><USER29> But then this is surprisingly quick. A few years back support email could take a month... that was my experience.

<comment><USER30> +100 because we're talking about hotmail (microsoft) here.

<comment><USER29> +200 for additional bounty to have Gmail do customer support quickly too. (Oh remember the time when everyone had an adsense account? Boy that could take up to two months to get an initial reply.)

</comment></comment></comment></comment><comment><USER31> Not to worry though. By the time Google's driving our cars for us, glitches like this will have been sorted out.

<comment><USER32> Repeat this bug for the self-driving cars and you'd end up with thousands of cars driving to some random guy's house.

That'd certainly be an interesting news story.

</comment></comment><comment><USER29> [https://www.google.com/#q=site:mail.google.com+gmail+inurl:%...](https://www.google.com/#q=site:mail.google.com+gmail+inurl:%3Fto%3D+google) [https://www.google.com/#q=site:mail.google.com+gmail+inurl:%...](https://www.google.com/#q=site:mail.google.com+gmail+inurl:%3Fto%3D+yeukhon) this one has a template

</comment><comment><USER33> off topic, but the one thing that I hate about google search results is that they are all linked to google.com/url? __ __*. Sometimes my internet will crap out just because of this. Because google 's server is too slow to redirect.

<comment><USER34> I guess this is for CPC. But it should not be applied on the organic results.

It's unbelievable that Google can redirect so many hits at the same time even only on one local server cluster.

I've a review collecting the reports about how many Google servers here: [http://bit.ly/1fcluBA](http://bit.ly/1fcluBA): 900,000 (2010)

<comment><USER35> > I guess this is for CPC. But it should not be applied on the organic > results.

It's been used on all SERPs for months now, ever since Google became extra privacy conscious. It prevents search queries from leaking to site owners via the referrer HTTP header.

<comment><USER8> I don't agree that Google should be the one doing this, most browsers have a setting for referer like off/on/same-domain-only and if someone wants privacy they can set it the way they like.

It's also extremely irritating if you're copying a link to the site from Google.

<comment><USER36> How many users even realize that is a thing?

</comment></comment></comment></comment></comment><comment> vezzy-fnord This reminds me of a story on an Australian comedy show where the host gave out an unusual telephone number, calling it "Satan's phone number". Turns out it was a valid number that belonged to some poor sap who got inundated with phone calls. Unfortunately, I can't seem to find a source after reading this years ago, so if anyone can confirm this as real or a hoax, step up.

But this really makes me wonder what kind of architectural mishap has had to occur for this to happen? Either way, the poor guy just became a celebrity. Hope he gets some benefit out of it.

<comment><USER37> [https://en.wikipedia.org/wiki/867-5309/Jenny#Popularity_and_...](https://en.wikipedia.org/wiki/867-5309/Jenny#Popularity_and_litigation)

</comment></comment><comment><USER38> They're trying to reach Gmail for a comment, but they can't, cause Gmail is down. It's funny. It's also made me realize that I should switch to email provider that I have more control over.

</comment><comment><USER39> if this happened to me i would probably ask myself if i am living in a simulation or something.

<comment><USER40> how could this be a sign that you are living in a simulation?

<comment><USER39> if one googless "gmail" and sees the top link opening a compose e-mail to your e-mail address, one probably starts to question reality or if they are in a dream, because it's so insane. its not like winning the lottery or getting hit by lightning, it seems more rare than that because it's an unexpected event that is tied to you. basically the emotional equivalent of going to times square and seeing your picture on one of the big screens with no explanation. fucking crazy.

</comment></comment></comment><comment><USER41> I sent him an email. I'm pretty sure that's what this article was wanting me to do.

</comment><comment><USER42> The actual behaviour (the link with a random email address) is so far from the expected behaviour I'm finding it hard to believe how it happened. Probably search indexing/ranking error as others have speculated.

</comment><comment><USER43> I wonder if someone messed up the robots.txt on Gmail - and then their crawler started indexing individuals' Gmail accounts?

<comment><USER44> The crawler hopefully wouldn't be logged in as everyone.

I guess the links are just posted to pages by accident.

</comment></comment><comment><USER45> Yesterday the GMail App for iOS glitched on me as well. At one point the number of unread emails went to over 2k (in reality about 200), and then notifications for the app got enabled (usually disabled). Nothing major, just minor annoyances.

I didn't think much about it until today's events. Coincidence?

</comment><comment><USER46> That's priceless. I would sell all inbound addresses on the spam market as high-quality leads. >:)

<comment><USER47> Those are just valid email addresses (and names, I guess). High-quality leads would be a list of people who are already especially qualified or interested in whatever you're pitching.

<comment><USER48> If they are actually composing and sending an email without checking what's going on, I guess that says something about those users' personalities... :)

<comment><USER46> You got it. _evil laugh_

</comment></comment></comment></comment><comment><USER49> Bad sitelink ([https://support.google.com/webmasters/answer/47334?hl=en](https://support.google.com/webmasters/answer/47334?hl=en)) selection there.

</comment><comment><USER50> I don't get how this is happening. Why are those links even in the search results?

Also it's not showing either of those sub-items for me when I google "gmail", so I wonder if it's fixed now.

</comment><comment><USER51> The one guy on the Internet who is happy that Google fell over today?

</comment><comment><USER52> I am not sure it's a glitch. It could be someone link bombed it.

</comment><comment><USER53> The recipient should put those emails on a website for everyone to see, along with a description of the issue.

Sometimes public shaming is the only way to push big firms into action.

</comment><comment><USER54> Seems fixed, I google gmail and I don't see the link.

</comment><comment><USER55> The poor "upgrade" script, which was the reason for the outage, confused that guy's address with NSA's. Tragic story.

</comment><comment><USER56> I must say, all the news about this outage is crazy. Emailing random people, strange search indexing, gmail down for 1+ hour! Nutty

</comment><comment><USER57> That guy should buy a lottery ticket posthaste.

</comment><comment><USER58> And the other link on the search results page [Gmail - Google] points to firstname.lastname@example.com

</comment><comment><USER59> This is what stands for news at Techcrunch?

</comment><comment><USER60> And he lives in Wyoming right?

</comment><comment><USER61> I see email@example.com

</comment><comment><USER62> That is great! Poor guy.

</comment><comment><USER63> emails can sometime include passwords or pass reset link

this is extrememly dangerous

how can we find out if we were affected

<comment><USER64> He's not getting emails addressed to you, relax and read about the actual bug.

</comment></comment><comment><USER65> Let me guess email@example.com?

</comment><comment><USER66> It's not a "Gmail Glitch", seems like an index error by Google search, his email was indexed in the site links for "Gmail". I assume that due to the outage searches for "Gmail" spiked, so has his inbox was ddos'd.

<comment><USER67> I agree it seems more like a Google Search glitch. The title should be updated.</comment></comment>


Lyft speeds ahead with its autonomous initiatives - <AUTHOR> https://techcrunch.com/2018/10/23/lyft-is-buying-london-ar-startup-blue-vision-labs-to-fuel-its-autonomous-car-efforts/ <comment><USER5> > _The first car from Lyft's Level 5 self-driving initiative will be the Ford > Fusion Hybrid. Lyft's use of a Ford Fusion apparently isn't associated with > the partnership the two announced last year. Other AV companies have used > the Ford Fusion as a platform for integrating self-driving technologies_

Why are we still talking about Level 5 autonomous driving when we can't even get Level 4 working properly? I believe this is sending the wrong message.

On the topic of the acquisition, it seems like a good strategic buy for Lyft. I am still not sure whether they have the capital nor the talent pool to develop a strong autonomous vehicle product. It also seems like they are a bit late to the party, as there are more and more doubts on the reality of self- driving in the next few years.

I may sound sceptical, but I am just cautious when it comes to news on self- driving cars. However I am genuinely excited at this development and look forward to hearing more about how Lyft is progressing on this quest.

<comment><USER6> >Why are we still talking about Level 5 autonomous driving when we can't even get Level 4 working properly? I believe this is sending the wrong message.

i think it is capability gap between tech companies and car companies. Car companies can't even get cameras around all the body to avoid accidental scratches during parking. Where is tech companies, while could easily do a lot of car tech, have no business case doing anything less than Level 5 - <USER2> Level 5 is a tech platform where is anything less is an advanced car, and the tech companies are in the platform business, not car business.

<comment><USER7> Uber and Tesla are dead last in self-driving tech, beaten by everyone from Hyundai to Baidu-BAIC. I don't know where you get the idea that "car companies can't even get cameras all around the body to avoid accidental scratches." The leaders of the industry are Daimler-Bosch, GM, Waymo, Volkswagen, Ford, Aptiv, and BMW-Intel-FCA. Mostly car companies.

</comment></comment></comment><comment><USER8> > In effect, every Lyft vehicle in operation today, with a smartphone on the > dashboard, could be commandeered to become a "camera" watching, surveying > and mapping the roads that those cars drive on, and how humans behave on > them, using that to help Lyft's autonomous vehicle (AV) platform learn more > about driving overall.

Another instance of the "more data is better" fallacy. Humans can drive cars safely after only fifteen years of intermittent sensory input. Lyft could collect that "data" within just one year employing ten collectors. That still doesn't give you brains.

Is Techcrunch an outlet for PR pieces? I'm asking because that article reads like one of those.

<comment><USER9> > Another instance of the "more data is better" fallacy.

More data is better. The fact that humans have better algorithms that need less data does absolutely nothing to negate this.

<comment><USER10> Depends on whether it's the right data, or meaningful data. The idea that Lyft needs this acquisition in order to implement video capture from its drivers' cell phones is laughable so something else is going on with this acquisition. But to your point, the assumption that this is even a problem of "not enough data" is questionable at this point. How to turn that data into results is something no one has come close to figuring out yet.

<comment><USER9> > Depends on whether it's the right data, or meaningful data.

Street level mapping data isn't relevant or meaningful? Basically every company working on this problem seems to pretty strongly disagree with you.

> But to your point, the assumption that this is even a problem of "not enough > data" is questionable at this point. How to turn that data into results is > something no one has come close to figuring out yet.

This is trivially false. Given infinite data, all possible situations would be represented in the data, and the solutions applied in those situations could be copied exactly, something that existing algorithms are completely capable of doing.

<comment><USER11> >> This is trivially false. Given infinite data, all possible situations would be represented in the data, and the solutions applied in those situations could be copied exactly, something that existing algorithms are completely capable of doing.

In principle. In practice, you'd need infinite time and infinite storage.

Btw, do you have to add stuff like "This is trivially false" to your comments? It doesn't make your comments sound more right, only less well considered.

<comment><USER9> > In principle. In practice, you'd need infinite time and infinite storage.

That is irrelevant.

> Btw, do you have to add stuff like "This is trivially false" to your > comments? It doesn't make your comments sound more right, only less well > considered.

Trivial in the mathematical sense. As in, there is a trivial counter-example to your point. Citing infinity is a 'trivial' case. I'm using 'trivial' to describe my counter-example, not his error.

<comment><USER11> If I may be frank: don't use language in the mathematical sense if you are not in a maths classroom or you dont' know maths.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Bear with me here, trying to come at this from the other end.

Why do Uber and Lyft have to develop their own self driving tech? If what they sell is their routing algorithm for drivers, they can simply lease self driving cars from the companies directly and run them on their network. The car companies would be happy to get a cut of the profits.

What advantage would they get by developing their own tech? They have to manufacture the cars themselves or lease the tech to other companies to cover the costs.

Uber and more so Lyft seem late to the game and Uber in particular seem to be fraught with problems and have not made the progress they hoped. So why pursue that? I understand if they started early and are making great progress. On the flip side is the tech no where near completion? Then that would make sense. But Google seems to indicate that they are very very close to launching their own taxi program.

<comment><USER13> Uber and Lyft have very little moat to protect them if someone else develops self-driving cars first.

They haven't succeeded in their initial goal of exterminating the existing cab companies, and that leaves them in a situation where developing self-driving technology could be a matter of life and death for them. The incumbent cab companies are much better positioned to profit from self-driving cars. They've already got all the infrastructure, expertise and staff it takes to manage fleets of vehicles. The bigger ones already have their own apps (e.g., Curb). If self-driving cars hit the general market first, basically all they have to do to run Uber and Lift out of town is buy some and factor the fact that they aren't paying cab drivers anymore into their prices.

By contrast, most of Uber and Lyft's basic business models right now are predicated on the idea of hiring humans, who in turn manage their own cars. That has deep implications: It means they have zero expertise in fleet management. They don't have any of their own garages for storing cars and handling maintenance. They do have apps, but the most valuable parts of their apps are the parts for managing humans. Incentive mechanisms designed to try and ensure that supply of rides and demand for rides remain relatively stable, for example. Their existing business operations are heavily built around recruiting humans - both riders and drivers. None of that is particularly useful in a world with self-driving cars, and the bits that are - <USER3> just the mechanics of enabling people to hail rides and pay for them - <USER4> drastically easy to copy.

<comment><USER14> The first self-driving car deployment could be someone who buys a single car and uses Uber and Lyft as pre-made customer-finding platforms. If self-driving cars become cheaper than humans by enough of a margin for cab companies, then quick movers with capital can work with Uber or Lyft to deploy a self-driving micro-fleet of their own. It would be a great way to park your money, a much cheaper version of buying lease properties or fast food franchises.

<comment><USER13> But not, I think, cheaper than a cab company setting up their own fleet.

Being a bigger player, a cab company is better-positioned to take advantage of what few economies of scale exist in this space: The power to negotiate a lower per-unit cost, and the ability to operate your own garage so you don't have to pay retail prices for maintenance and repairs.

The cab company would also be the more vertically integrated option, which gives them additional opportunities to economise and pass the savings on to the customer.

</comment></comment></comment></comment><comment><USER15> I thought the big selling point for Lyft for awhile is that there profitability wasn't dependent on shifting to autonomous vehicles, where Uber's was. This seemed to make drivers move to Lyft because they felt they had more job security. Was that just perceived?

<comment><USER16> I've never heard anything like that. As far as I know, the only difference between Uber and Lyft is in strategy (Uber being much more aggressive about expansion). Regardless, it's likely Uber would be profitable right now, even without self driving cars, if they stopped expanding into new markets.

<comment><USER17> That seems like a highly questionable statement demanding some evidence. Perhaps you meant if they retrenched into existing markets while raising prices and laying off all of their business development staff?

<comment><USER18> Uber definitely has the levers to become profitable anytime they want since they are entrenched in hundreds of major cities in the world. At the end of the day they control the supply and demand of their own platform and most Uber users will pay whatever the price is since they have been a necessity in many of their user's lives.

<comment><USER19> >most Uber users will pay whatever the price

So Uber is charging their current rates as a way of giving back to the community or whatever? If Uber (or even Uber and Lyft) were to double their prices tomorrow there would most certainly be a drop in volume. Just a couple of days ago I took a Lyft from the airport for no other reason than that a cab would cost about 2x. Yes, there are also circumstances and places in which Uber/Lyft is demonstrably better than a cab but the decision can also just be about who is cheapest.

<comment><USER20> Uber is funded by the Kingdom of Saudi Arabia.[1] Softbank's Vision Fund is mostly a front for the Kingdom. That may be more of a political move than a financial one.

Even that wasn't enough money. Uber recently borrowed another $2 billion at 7.5 to 8% for 5-8 years.

[1] [https://www.crunchbase.com/organization/uber/funding_rounds/...](https://www.crunchbase.com/organization/uber/funding_rounds/funding_rounds_list)

</comment></comment></comment></comment></comment></comment><comment><USER20> This focus on detailed mapping is misplaced. Most driving problems come from moving obstacles.

<comment><USER21> It's not like everything stops moving on the road when self-driving car cameras start scanning. "Mapping" isn't just establishing fixed elements, but also learning how things move and obstruct each other.

</comment></comment><comment><USER22> If I were Lyft I would be looking for an automaker acquisition. Specifically one with an EV program or willing to start one. I say this because once any automaker figures out self driving on an ev, the fleet rideshare aspect would be a negligible effort to add. Once that does happen Lyft would basically no longer need to exist. Maybe this move is what they are trying to do which is be acquired by Ford. Either I applaud there effort and look forward to what they achieve.

<comment><USER23> Lyft is a 15B+ company. Neither Ford, nor any other auto company, has the cash to acquire them.

<comment><USER24> Toyota has some 150 bn USD in cash reserves.

<comment><USER22> Toyota has the cash but seems to have trouble understanding that electric is the future of automotive transportation. I hope they figure it out for their sake.

</comment></comment></comment></comment><comment><USER25> If you're not demoing your car at selfracingcars.com, you don't exist.

</comment><comment><USER26> So they have 1 car and literally coming in last in the AV field. This is a headfake for IPO. Waymo is 10 years ahead of them, minimum.

If Waymo's cars don't have usability issues and launch this year, Lyft's valuation will plummet.</comment>


Windows 8 Runtime reference and sample code [MSDN] - <AUTHOR> http://msdn.microsoft.com/en-us/library/windows/apps/br211377

<comment><AUTHOR> Sample Code - <http://code.msdn.microsoft.com/windowsapps>

</comment><comment><USER2> This really is a completely new user-level API. There's no trace of traditional Win32 concepts: no window handles, no window classes, no event loop... (Yes, no more WPARAM and LPARAM either. Goodbye 1985!)

For years Microsoft has been trying to come up with a successor for Win32. This looks like the most credible attempt yet.

I don't think this API will be accessible from standard C/C++, though. All the code samples require Microsoft's C++/CLI dialect.

For example, here's what _main.cpp_ looks like for one of the app samples that uses a Direct3D view:

      #include "DirectXViewProvider.h"

      [Platform::MTAThread]
      int main(array<Platform::String^>^)
      {
          auto directXViewProviderFactory = ref new DirectXViewProviderFactory();
          Windows::ApplicationModel::Core::CoreApplication::Run(directXViewProviderFactory);
          return 0;
      }

It's certainly a great improvement over the old WinMain() and running your own event loop. However, those ^ symbols indicate managed CLI objects. When these are even in the main() function signature, it suggests that C++/CLI is a hard requirement.

I'm not sure how this will affect other compilers on Windows. AFAIK, Visual C++ is the only compiler with C++/CLI compatibility. Will it be impossible to build full apps using GCC on Windows 8?

<comment><USER2> To answer my own question... It appears that even though this code looks and quacks like C++/CLI, it actually isn't:

 _"In this example, you will immediately notice some keywords that are not part of standard C++. Visual C++ defines a few Component Extensions that, in a Metro style app,are essentially syntactic sugar over the underlying COM calls involved in creating and consuming Windows Runtime types._

 _"If you are familiar with C++/CLI, you will notice that the Component Extensions look very similar to C++/CLI syntax. However, in a Metro style app or Windows Runtime component, all the C++ code is native. The /Zw compiler option causes the Component Extensions to be compiled for Windows Runtime. The /cli compiler option causes them to be compiled for C++/CLI. Currently, C++/CLI is not supported for Metro style apps."_

(Source: [http://msdn.microsoft.com/en- us/library/windows/apps/hh45407...](http://msdn.microsoft.com/en- us/library/windows/apps/hh454076\(v=VS.85\).aspx) )

I'm fairly confused now. So they've added a compiler extension in Visual C++ v11 that compiles this C++/CLI look-a-like syntax into traditional COM types and calls? If so, that's good news for other compilers, I guess.

</comment></comment><comment><USER3> Am I the only dev in the world who doesn't know what a "Metro style app" is ? Trying to find out what a metro style app actually is on MSDN is a frustrating exercise. It's annoying when any organization invents new terminology and then acts as if it is a fundamental part of the language.

<comment><USER4> When it comes to the design, here you can find what its supposed to look like: [http://www.microsoft.com/design/toolbox/tutorials/windows- ph...](http://www.microsoft.com/design/toolbox/tutorials/windows- phone-7/metro/)

</comment></comment><comment><USER5> Samples are available in C++, C# and..... JS. Never would have thought to see that happen.</comment>