Aipoly – Artificial Intelligence for the Blind - <AUTHOR> https://www.youtube.com/watch?v=h5g82YNmwmU <comment><AUTHOR> Surprised that HN missed this one. It's a free app which can do object recognition, offline! Seems like it could be game changing for some people.

It was posted on /r/machinelearning:

[https://www.reddit.com/r/MachineLearning/comments/3zet6i/fre...](https://www.reddit.com/r/MachineLearning/comments/3zet6i/free_machine_learning_app_identifies_almost_any/)</comment>


Verify your work with checklists - <AUTHOR> http://www.37signals.com/svn/posts/1547-verify-your-work-with-checklists <comment><USER2> This makes so much sense, why am I not doing this already? Now I know how doctors feel...</comment>


The Largest Flying Creatures - <AUTHOR> http://www.the-dialogue.com/en/en71-the-largest-flying-creatures/ <comment><USER2> _The largest flying creatures were pterosaurs. They, in turn, are reptiles or tetrapods, which makes them similar to dinosaurs and their modern representatives: crocodiles, lizards, and snakes._

Current understanding has pterosaurs as avemetatarsalians, just like dinosaurs and birds, and unlike crocodiles, lizards, and snakes.

<comment><USER3> Exactly, the largest flying creature was basically still a bird.

</comment></comment><comment><USER4> Largest flying birds are right now are:

\- In the west it's the Andean Condor

\- Globally, the african Kori Bustard.

Now, birds can be tough. The prime example is the conflict between the Australian Army (including the Royal Australian Artillery) and 20,000 emus known as the Great Emu War. The outcome was a decisive Emu victory.

[https://en.wikipedia.org/wiki/Emu_War](https://en.wikipedia.org/wiki/Emu_War)

Some people argue that this was not a conflict as it is frivolous to consider Emus as a military force.

However the fact they were capable of the formidable achievement of defeating a regular army proves they can, and this is also not the first conflict involving animals (e.g: [https://en.wikipedia.org/wiki/Gombe_Chimpanzee_War](https://en.wikipedia.org/wiki/Gombe_Chimpanzee_War)).

Note that emus cannot fly.

</comment><comment><USER5> Slightly off-topic, but I imagine there must be a world with balloon-like leviathans serenely floating through the sky like our airships, hosting mini- ecosystems on their bodies and under their shadows..

<comment><USER6> See Fred Pohl's Jem.

<comment><USER7> And Frank Herbert's "The Jesus Incident".

<comment><USER8> And Iain M. Banks "The Algebraist"

<comment><USER9> Pretty much any Culture novel will contain at least one reference to dirigible creatures. :)

<comment><USER8> Culture novels have Dirigible Behemothaurs and the The Algebraist has Dwellers. Two big floating lifeforms. Dirigibles live in airspaces and Dwellers in gas giants.

</comment></comment></comment></comment></comment></comment><comment><USER10> >lungfishes can live on land without any problems.

this lungfish gif blew my mind when I first saw it

[https://i.imgur.com/JKndVbn.gifv](https://i.imgur.com/JKndVbn.gifv)

</comment><comment><USER11> Was this written by an AI?

<comment><USER12> Based on the grammatical peculiarities, I'd guess Slavs, not AIs.

Edit: yup, "Our languages: Belarusian, English, Russian, Ukrainian." [http://www.the-dialogue.com/en/about/](http://www.the-dialogue.com/en/about/)</comment></comment>


I Know This – Hack Jurassic Park's Security System - <AUTHOR> http://theinstructionlimit.com/i-know-this-global-game-jam-2015

<comment><USER2> >Hacking involves mashing your keyboard until code appears, and hitting the return key where the line endings are, just like in real life.

heh

</comment><comment><USER3> "It's a UNIX system. I know this."

"The linux build is currently broken"

oh, the irony.

<comment><USER4> Well granted:

Linux = L(inux) I(s) N(ot) U(ni)X

<comment><USER5> That is not actually where the name "Linux" comes from... [http://en.wikipedia.org/wiki/Linux#Naming](http://en.wikipedia.org/wiki/Linux#Naming)

There is actually an OS I have used with a similar meaning name however: XINU ("Xinu Is Not Unix"): [http://en.wikipedia.org/wiki/Xinu](http://en.wikipedia.org/wiki/Xinu)

<comment><USER6> The most famous (and I believe he original) is GNU's Not Unix.

<comment><USER5> FYI: XINU was started in 1979 and GNU was in 1983.

</comment></comment></comment></comment></comment><comment><USER7> I have long thought that a "Hack The Gibson" game based on the 3D renderings in Hackers would be an entertaining concept but I lack some of the requisite skills and the time to make it happen.

</comment><comment><USER8> "Fun fact : the filenames you'll see in the game are lifted from your hard drive, and 8.3ified for formatting and retro-chic reasons!"

So in order to play the game it will scan my whole hard drive? In my point of view this is unacceptable. But i like the idea and the look of the game. Maybe i give it a shot in a VM environment...

<comment><USER9> It's not the first game to feature doing this and you certainly wouldn't play these kind of games without knowing that this is happening (since that's the main gimmick of these games) so you can't really complain about their behaviour when it's been made quite clear beforehand.

But if you really wanted to play this game without it viewing your porn collection / whatever, then you can always manage it with ACLs, chrooting or even virtualisation. It's not hard to sandbox processes and/or deny read access to specific sub-directories these days - even on home user orientated machines.

<comment><USER10> It might have been nice if someone had pregenerated a list of files from, say, a fresh BSD installation, and then randomly chose locations to put target files, and had that as an option (rather than using your own data).

<comment><USER9> Maybe, but what would you gain from that? You don't get paranoid traversing directory structures with bash, rsync, find, cmd.exe nor Windows Explorer. Nor do you complain about games that have file browser built in for loading and saving games (Eg OpenTTD).

These guys haven't been secretive about the nature of the game so it seems to me that the complaint here is strictly arbitrary.

<comment><USER11> BTW, given that it's GGJ game, there should be source code somewhere available (all Global Game Jam entries have to provide source code and all assets on CC BY-NC-SA or compatible license).

</comment></comment></comment></comment></comment><comment><USER12> I used to goof around on this at the place I worked, which had an SGI Indigo II with it install.

Just goofed around with it, never actually "used" it in any meaningful way.

<comment><USER13> This is the application [http://en.wikipedia.org/wiki/Fsn](http://en.wikipedia.org/wiki/Fsn)

I played with this too on a Personal Iris, and Indigo I owned back in the day. It was fun, but not very useful.

</comment></comment><comment><USER14> Why would you 8.3-ify filenames when you're trying to emulate a Unix system? I don't think any Unix system has ever used 8.3 filenames.

</comment><comment><USER15> I did 3 searches and all of them said 100% on all the gold nodes. Pick one randomly and lost the game. I don't get what I was supposed to do

<comment><USER16> You didn't say the magic word!

<comment><USER17> please!

</comment></comment></comment><comment><USER18> If any of you are interested in games with a hacking theme, check out Uplink. It's an oldie but a goodie. There's some surprising tricks you can pull once you figure them out by yourself.

[https://en.wikipedia.org/wiki/Uplink_%28video_game%29](https://en.wikipedia.org/wiki/Uplink_%28video_game%29)

</comment><comment><USER19> Interestingly, the original IRIX fsn was cloned as the File System Visualizer: [https://en.wikipedia.org/wiki/File_System_Visualizer](https://en.wikipedia.org/wiki/File_System_Visualizer)

</comment><comment><USER20> Maybe 10 or 15 years ago I had a VAIO laptop that came with a cheesy 3D file browser. I can't find a link to it or screencap anywhere. Anyone remember this? Files were spun around like a tornado thing.

</comment><comment><USER21> Here's hoping there will be a similar scene in the upcoming JP movie showcasing then hopes and dreams of 2015ish VR :)

</comment><comment><USER22> The hacking part brought an unexpected smile of glee to my face.

</comment><comment><USER23> They should have given a shout-out to fsv, which you can still install and run on your Linux boxen to give you that Jurassic Park file navigation feel: [http://fsv.sourceforge.net/](http://fsv.sourceforge.net/)

Classic screenshot from back in the day: [http://fsv.sourceforge.net/screenshots/05.png](http://fsv.sourceforge.net/screenshots/05.png)

<comment><USER24> Except that...they did give a shout out to FSV?

> "I learned a bit later that this GUI was not made for the movie, but > actually existed on SGI workstations and was _ported to Linux_ as well, so > it's more legit than it looks!"

(the words "ported to Linux" link to the Wikipedia article on FSV)</comment></comment>


$192M for the Site of the Sales Force Tower (2013) - <AUTHOR> http://www.businesswire.com/news/home/20130326006392/en/Boston-Properties-Hines-Close-Record-Land-Sale <comment><AUTHOR> To get amortize the cost of the land down to $100 per square foot, would require 2 million square feet salable space. At a high 80% efficiency, that's 2.5 million square feet of construction. At 80% lot coverage and a prismatic box, that's 63 stories.

All that before parking. 2 million square feet of 1000 sf apartments with one space per apartment is 1000 parking spaces. At an optimistic 150 spaces per acre of parking deck, that's another 7 stories, so let's call it 70 stories of building.

Before construction, the 1000 square foot apartment is carrying at least $121,000 of base cost ($100,000 x 1.10 [overhead] x 1.10[profit]). At $300 a square foot of construction cost, it's already a half million dollars. And that's with mediocre finishes, average appliances and marginal amenities.

Because upgrading everything to position the apartments in the million dollar range increases profits, that's what a developer is going to do. That's why housing is so expensive.</comment>


Tiddlywiki – A non-linear personal web notebook - <AUTHOR> https://tiddlywiki.com/ <comment><USER3> Ever since the decline of Evernote, I've been looking for something as convenient, but been pretty much disappointed in the alternatives. For a while Qownnotes was my choice, but it's not without its drawbacks. Currenlty Joplin ( [https://joplin.cozic.net/](https://joplin.cozic.net/) ) is the one I'm taking for a test drive, and I'm pretty much pleased with what I've seen so far. Among the features that impressed me most in terms of personal priority are:

\- Importing from Evernote (.enex files)

\- Cross-platform support (Win/Lin/Mac) + Mobile apps (ios / Android)

\- Synchronization (Dropbox, Onedrive, Nextcloud, WebDAV, Filesystem)

\- Support for encryption

\- Webclipper extension (for Firefox and Chrome)

\- It's FOSS, with a number of active contributors on GitHub ([https://github.com/laurent22/joplin](https://github.com/laurent22/joplin)). A good bus factor and no more dependence on the whims of private organizations.

\- A command line interface

\- Use of Markdown. Drag and drop support for files and media in the GUI.

There are still features of evernote I miss such as inline PDFs and audio recording

<comment><USER4> I've got my eye on Joplin as well to replace EN. The deal-breaker issue for me right now is that the mobile app (iOS) only supports Dropbox as the backend sync provider. I refuse to use Dropbox, and prefer to sync via filesystem. I use Resilio Sync (formerly btsync) for this. Until some other method is allowed, I can't make the jump.

<comment><USER5> Why do you refuse to use Dropbox?

</comment></comment></comment><comment><USER6> A hyperlinked knowledge-management system for personal use, on all my computers, is essential. To achieve it, I use Emacs and Org-Mode and Dropbox.

An additional benefit of using Emacs: the personal wiki can be integrated with my task-management system, which Org-Mode handles as well. Plus I can draft and edit at warp speed, having customized the native Emacs keybindings to suit me better.

Were I going to publish my wiki to the Web for others to use, I'd export the wiki to HTML with Org. But for now it's all personal.

<comment><USER7> How do you handle images/screenshots/handwritten notes?

I am also using Org-Mode and Dropbox for the majority of my notes. I really like it. In particular, Orgzly for Android works great with this system, so check it out if you want mobile notes as well.

The problem is that I also like to take paper notes, and take videos/pictures of stuff, and scan documents, and download webpages. Org-mode kinda stinks for embedding external content that isn't text? As far as I can tell.

I can link to external content, and if I export to HTML it'll show up. But... I never export to HTML, because, as you probably already know, it's way easier to read notes in an editable format. I can turn on picture rending in Org- mode, but it's not responsive, and I can't crop the pictures or annotate them with a stylus, or do any of a dozen different things that I want to do.

What I've thought about is that I really just want the ability to render HTML/CSS inside of an Org-mode buffer, and ideally to be able to set up custom CSS classes that would be applied to every snippet. Just set up a quick region, write some helper functions to compile/render the HTML, etc...

I've been thinking for a while about taking some time off of work to just try and solve the problem. Is it already solved? I know that at one point people were looking into getting webkit embedded into buffers. Did that go anywhere? I guess you can build GTK widgets for Org-mode as well? But then you lose the ability to define custom styles on the fly.

<comment><USER8> You can make some tweaks to org to get images to display nicely: [https://lepisma.github.io/2017/10/28/ricing-org- mode/](https://lepisma.github.io/2017/10/28/ricing-org-mode/)

<comment><USER7> A) That is beautiful, thank you for sharing

B) Does it actually address the image problem? The config appears to be using the built in inline-images, which don't support responsive widths.

Even getting rid of responsive widths, simply embedding the image into the buffer isn't really good enough for handwritten notes -- you need _at least_ the ability to crop/zoom.

<comment><USER8> I'm not sure whether it solves the problem you mention. But it might be a good starting point. If you can roll your own solution, I'd be very interested in hearing about it, and probably most org users! I keep my scanned notes in separate files, though.

</comment></comment></comment></comment></comment><comment><USER9> I personally think Tiddlywiki is a fascinating project and I even used it professionally for a few years. But, these days, I think you likely do better with either a Dropbox directory full of Markdown files or installing the free tool Simplenote everywhere (mobile/desktop) and using its support for notes/Markdown. It's true that if you go with these simple schemes, you lose wiki-style linking. But, I've found that YAGNI applies here.

<comment> another-cuppa Anyone reading this thinking a "bunch of markdown files" sounds like a good idea should really look into org-mode. Trust me.

<comment><USER10> I used the great org-mode for many years, but the lack of a good option to view and edit my notes from mobile pushed me to Evernote, which I'm happily using since, even though I miss the simplicity of text files and the power of git.

<comment><USER10> I just have checked orgzly and it impressed me. It has really progressed since the last time I checked it.

So, now I have to think about the possibility of reverting back to org-mode after a couple of years of heavily using Evernote.

<comment><USER11> I've used EverOrg[0] to convert my evernote files to Org files, retains the attachments (images, PDFs, etc) wonderfully too.

[0]: [https://github.com/mgmart/EverOrg](https://github.com/mgmart/EverOrg)

</comment></comment></comment></comment></comment><comment><USER12> I discovered TW a few months ago and I decided to use it for our new project at work. We use it to document our SW, one tiddler for each module. So far, it is working great, we can quite easily merge our code and doc because everything is in one file.

I find it much easier to use than Word. My colleagues were startled by it, but they mastered it now.

The only annoying thing are:

\- we need to press 2 carriage return to go to the next line

\- the markup languages are never standard. we use redmine with textile which is kinda compatible with TW, but not 100%

</comment><comment><USER13> I look at TW every couple of years or so, and there has never been either:

\- a sane way to keep a wiki on something like Dropbox (at the time, the only way to have persistence was to disable browser security and allow JavaScript to write to disk directly) or

\- a service to sync a wiki between machines

Has that changed nowadays?

<comment><USER14> I hooked up Dat multiwriter and the Automerge CRDT for my own personal use... I've been using it for several months and it works well.

I haven't tidied it up for a public release, but feel free to try it out:

[https://dat-tiddlywiki.glitch.me](https://dat-tiddlywiki.glitch.me)

[https://github.com/jimpick/dat-tiddlywiki](https://github.com/jimpick/dat- tiddlywiki)

<comment><USER15> Wow this looks great. Can you tell me a bit more about how it works ? I've been looking for a way to do collaborative work with TiddlyWiki for ages ...

</comment></comment></comment><comment><USER16> A bit of a tangent, but I'm looking at the (official? shown on site) Tiddlywiki poster[0], and I just have to ask: what is that fish doing, and does this really communicate something positive about the product?

\--

[0] - [https://tiddlywiki.com/poster/images/TiddlyWiki_TiddlerPoste...](https://tiddlywiki.com/poster/images/TiddlyWiki_TiddlerPoster_en_L.png)

<comment><USER17> Never used Tiddlywiki, just guessing from your link:

the fish is a tiddler [0], it's consuming a mess [several entangled lines] and excreting something unified and cohesive [single line].

[0]: [https://en.wikipedia.org/wiki/Tiddler](https://en.wikipedia.org/wiki/Tiddler)

('Tiddler' is perhaps BrEng slang? I'm British, and I'd say it's slang - especially when applied not to a fish, but to something or someone small - <USER2> I don't know how widespread it is.)

<comment><USER18> From that wiki page:

> A small fish, especially the three-spined stickleback

My wife, a neuroscientist researching three-spined stickleback, has never come across the term 'tiddler'. Midwestern US.

So, yes, I would say it is solitarily British slang.

</comment></comment></comment><comment><USER19> The most unique thing for me is the fact that it's an .html file that you can just download and run. The data/saving mechanism is completely separate. This "unhosted-ness" seems to be a growing trend.

<comment><USER20> You might find this interesting: [https://unhosted.org/](https://unhosted.org/)

</comment></comment><comment><USER21> I tried using TiddlyWiki some years back but never really reached the stage where I felt I could definitely trust my use of it to result in it saving my notes properly. The real utility of it, I'm sure, comes with a large corpus - but I never got there.

At the time though, my only option was keeping it as a local file on a single machine - these days my home infrastructure is much more developed, and I think I might have more luck running it on a proper http server. Maybe I'll give it another shot.

</comment><comment><USER22> I've been writing a personal encyclopedia for the last five or six years or so. I have some 1500+ articles multiple of which are 50+ pages. I think it's been really valuable. I think I get a few things out of it:

1\. Perfect recall. Every little detail I read in a book/blog/article stays with me. Makes it easy to synthesize results from multiple pieces across time, which is useful when you only have a casual interest in something. (I really like downloading the cool education images/GIFs and and inserting them in articles- otherwise I don't know where I'd keep them.)

2\. Reveals what I don't know about a subject. For example, whenever I start off writing a new article on some topic, the first thing I write is a definition, e.g. "A cat is an animal that ...". The process of doing that often reveals gaps in my understanding.

3\. It makes me better at asking questions when I'm trying to understand something. The analogy I like to make here is that learning a second language is harder than a third language, because after learning the second you know what you need to know to understand a language. But there's no reason that should be limited to languages and couldn't apply to all things, and things themselves. Some questions I like to ask are "What is the function/uses of this thing?" "What are the parts of this thing and how are they arranged?" "How do we make this thing?" "What's the history of this thing?" "What subtypes of this thing are there?"

The downside is that it dramatically slows down my reading speed, since I now feel I need to take detailed notes, and then I often have to reconcile them with notes on other things which can be time-consuming. Considering the number of books a person could realistically read in their lifetime is limited, it's unclear if it's worth the tradeoff.

I'm curious how other people think about remembering things, and if they have a system, what tools they use. It seems unsatisfying to me to read a book and realize I'll probably forget it in four years, yet most people seem content to do so.

If anyone is interested in the specific software I use, here's the Github project: [https://github.com/Ceasar/Encyclopedia](https://github.com/Ceasar/Encyclopedia). It uses restructuedText (as opposed to Markdown) for the text. I edit them using Vim. All the files are stored in Dropbox so it gets synced between my devices. A simple Flask web server renders the pages in a prettier format.

Still very primitive compared to what it could potentially be, but combined with regular Unix command line tools it's worked fine for my needs. (I like the idea of a hacker-wiki by the way, more than something like this which comes out of the box. Seems like an personal wiki designed for a power user could be way more interesting.)

<comment><USER23> Thank you for sharing. I have a system that is kind of like this. Except it's not meant for memory as much as analysis. And I don't consider the entries "articles" but rather refer to them as "models" as in mental models. Like a real life model, say a toy car, I try to cover enough bases that it-- metaphorically--at least _resembles_ a car at first. Then as I identify needed leverage points in the model, I refine my analysis and expand the model. So maybe at that point it has a hood you can open, and an engine you can see, so to speak.

I think I'm at or near around 800 of these, and many are very short. But no matter how short they are, they are all there because they provided me or continue to provide me with needed leverage.

I keep the bulk of the information in markdown in a Dropbox folder and also occasionally try new methods. For example, for topics that will quickly benefit from hyperlinks, I developed a LibreOffice web template and a companion PHP script that indexes these files and inserts additional CSS, variables, JS, etc. when they are served up. For searching I like Regexxer a lot, but I also use grep quite a bit :-)

On my XFCE desktop are buttons for opening a random one of these files, and for opening a random journal entry to try to harvest new models, so to speak.

And there's some paper involved here too... Can't get away from it, because paper has its own special leverage points...

I'm not concerned about memory, knowing it's a special weakness of mine. If I'm working in a context where memory is super important, my energy is best spent moving to a more sustainable context. :-) Memory is a hobby for me, a side gig for memorizing pi, that kind of simple and fun thing.

<comment><USER24> I have no idea what it means for a piece of text to have "leverage points" or a hood you can open.

<comment><USER23> A model has leverage points if there are parts of it that can be useful for solving a problem. For example, a website-building model might provide useful links to software that can be used to build different kinds of websites. Those links are important leverage points.

Each model has different leverage points. Your comment, taken as part of a model of your psychology, provides leverage for understanding that part of my text was not well received by your psychology.

Regarding the hood, look at it this way: If you don't know much about cars, you might look at a simple toy car _without an opening hood_ and make assumptions about what happens in the front of the car. When you get a car where the hood opens, maybe all of a sudden you make a huge leap: There is stuff under here, and it does something. So at this point, maybe you start working on (by asking around, or reading), or building, a model with a working engine. Or even just a working dipstick, who knows. As the parts are revealed, the model gains leverage. Pretty soon you are able to run more advanced simulations and predict traffic dynamics, things like that. Or you change models and learn the leverage points of the tractor, or motorcycle. You begin to learn why a motorcycle is helpful and even necessary in some circumstances. Texts work the same way as they unfold. And there are also various text- creation methods that expose different leverage points. Reliance on charts and graphs, or emotive graphics, etc. All of it is helpful in some way, and maybe --like my original comment--low-leverage in other ways and for other people.

Anyway I hope that helps, but I know I'm still couching this in metaphor which isn't a high-leverage communications method for everyone. YMMV, which is what makes human psychology so cool.

</comment></comment></comment></comment><comment><USER25> An anecdote:

In a previous job as a presales engineer, I kept notes of prospects and customers in a TiddlyWiki. When I left, I handed the file over to my replacement. He told me after a few years that the "wiki" was of great help to him.

</comment><comment><USER26> I looked into Tiddlywiki before but it seemed too involved to maintain easily and overkill for my use case. I have recently found [https://www.notebooksapp.com/](https://www.notebooksapp.com/) and am in the process of converting all my desperate notes and documents into it using the internal linking to create my own kind of wiki.

Everything is plain text, has markdown support, apps on most platforms, ability to automate things for everyday use, and easier to use overall.

Also I just can't stand the idea of "tiddlers".

<comment><USER27> Although I kinda love the idea of desperate notes and documents, I think you probably meant "disparate."

</comment></comment><comment><USER28> I remember first hearing of TiddlyWiki back in 2005(?)

Glad to see it's still here.

<comment><USER29> I was wondering if it was the same project I remembered! I used to use it in high school, with its stored on a USB stick that i'd carry around on my keys. Was pretty useful at the time, wouldn't want to carry around a USB stick now, but using dropbox is interesting.

</comment></comment><comment><USER30> I wrote my own system for capturing and organizing information ([https://lobste.rs/s/ord0rg/does_anyone_else_keep_their_own_k...](https://lobste.rs/s/ord0rg/does_anyone_else_keep_their_own_knowledge#c_cxecdn)), so I understand the desire to fiddle with your own system.

That said, the list of literally 20 different ways of storing your Tiddlywiki data is user-hostile. Don't tell me that you have a Node server and a PHP server, just give me the easiest way to self-host, how to use Dropbox/Google Drive, or perhaps one more option. You can include a link to "other options", but don't put them front and center.

Even open-source tools that appeal to us nerds need some attention to marketing.

</comment><comment><USER31> Here's a single-page "simple self-contained web notebook inspired by the "classic" version of TiddlyWiki."

Live demo: [https://calroc.github.io/HulloWurld/Hullo.html](https://calroc.github.io/HulloWurld/Hullo.html)

Once you're seeing the page you have it all. Click the "Save..." button to keep a local copy with any edit you've made. If you right-click and "save page" you'll get the original content only.)

Repo is here: [https://github.com/calroc/HulloWurld](https://github.com/calroc/HulloWurld)

It's just a simple experiment, nothing fancy.

</comment><comment><USER32> TiddlyWiki is great, but I really need is something like Notational Velocity but everything is stored in a single html file (with .js embedded of course), so that it's very portable.

</comment><comment><USER33> [https://www.notion.so](https://www.notion.so) offers an excellent balance of power & simplicity. Definitely worth a try for those who prefer to visualize the connection between different projects. Shines in long-term planning & wiki knowledge collection.

</comment><comment><USER34> After TiddlyWiki classic with tons of plugins, I used SpringPad while it lived, then Evernote but markdown was able only via browser addon (Markdown here or something). OneNote never suited for my needs and finally settled down with Quip.com. It is like TW with all fancy plugins + live editing...

</comment><comment><USER35> Nothing beats a plain text file for me.

<comment><USER36> A text file formatted as markdown and a text editor is an easily searchable _flat wiki_. After having tried _a lot_ of stuff I can say that nothing beats it on my usecas e.

</comment></comment><comment><USER37> For those who want to sync TiddlyWiki between multiple computers, there also is [https://noteself.github.io/](https://noteself.github.io/).

This TiddlyWiki-variant stores documents in the browser (pouchdb) and can sync to a couchdb-server.

</comment><comment><USER38> [http://mgsd.tiddlyspot.com/demo3.html](http://mgsd.tiddlyspot.com/demo3.html) TiddlyWiki powered GTD system

there is a newer version, but I think it's worse than the old one.

</comment><comment><USER39> Besides Tiddlywiki, does anyone have recommendations for personal wiki software?

<comment><USER40> Zim, if you actually need the wiki-like stuff. Cherrytree, if you are mainly after the structured note-taking functionality.

I use both. Cherrytree for all my daily notational needs.

[http://zim-wiki.org/](http://zim-wiki.org/)

[https://www.giuspen.com/cherrytree/](https://www.giuspen.com/cherrytree/)

</comment></comment><comment><USER41> Does it integrate with Gitub Pages? I'd like my personal WiKi to be shared as a part of my Jekyll-powered Gitub Pages blog (and I'd love to see more people go this way sharing their knowledge).

</comment><comment><USER42> I'd like to be able to press a shortcut key and have my computer save a screenshot of whatever I'm looking at, along with letting me type a brief note for context. Ideally it would also record the URL of whatever the browser was visiting (if it's a screenshot of a browser page), or the file path of whatever was open.

So basically Pinboard, but for pages of PDFs and other random scraps.

<comment><USER43> Evernote does something like this. And it let's you search for text in the images as well. I have over 12k notes in Evernote. Many screenshots. It has excellent OCR capabilities, full-text search (via Lucene?) and syncs across devices.

<comment><USER4> What platform do you run EN on? I have 9.3k notes and find it _horrifically_ slow to run searches on macOS (Quad core i7 Mini 16GB RAM and 1TB SSD).

It's so bad that I am actively looking for alternatives, even though I'm dreading getting my highly-formatted data out in a usable form.

<comment><USER43> Mainly macOS. Well, to begin with: I don't perceive it as "terribly slow". Yes, it has hiccups at times, but we are talking about several thousand notes. And in that range I haven't seen a real altrrnative. For instance I imported my 12k notes in BearApp. The app won't open anymore after the import.

I am in the exact same position. Especially so after several senior execs left the Evernote company. I even work on a custom notes store (Django and mysql backed) to keep kopies of all my notes because I really see no real alternative with the search capabilities of Evernote. And no, OneNote is not the same (search wise)</comment></comment></comment></comment>


Intel ME: Myths and Reality [pdf] - <AUTHOR> https://events.ccc.de/congress/2017/Fahrplan/system/event_attachments/attachments/000/003/391/original/Intel_ME_myths_and_reality.pdf <comment><USER2> The first section is weird: it compares random opinions from random social websites with another semi-random one from Hacker News (from someone who says it worked on it, but we don't even now at which level, and the "I think I would have known" part strongly make me think he actually would not have...), and lets conclude that secret services never had any stake in the design.

The _unmarketed_ HAP bit is actually evidence they either can do some hack leveraging it, or at least are worried other services can or will become able to.

The theory that the _complete_ subsystem would have been kept secret if it was of interest for secret services is also highly laughable. Especially when it is well known how they regularly leverage other marketed management/sideband services, for example in telecom equipment, to do their espionage operations.

<comment><USER3> As one of the authors referenced in the 'myths' section of the talk (the ME can do _anything_...), I have to disagree with the actual danger of the ME. It is connected directly to system memory, and from there you _can_ actually do anything.

It's like saying "I have a car and can drive 20 miles, but being able to drive 2000 miles is impossible." Saying _everything_ in impossible when you own the system memory is just a failure of imagination.

</comment></comment><comment><USER4> Page 37: "WHAT CAN I DO ABOUT IT?"

Page 45: "WHERE'S THE INTEL ME FIRMWARE?" _The Intel ME firmware is in the same flash chip of the BIOS /UEFI, in its own region._

Page 46: "Reading and writing it with an external programmer is quite simple." ..showing 2 pictures of raspberry pi connected to disassembled laptops with wiring all over the place.

How simple is simple I wonder :D

<comment><USER5> When I was in Shenzhen, one of the services offered in their electronics markets were laptop BIOS reflashes, and all they did was take the cover off and clip an adapter[1] to the chip for a few minutes. Once you have the hardware setup, it's not hard.

[1] [https://www.aliexpress.com/item/SOIC8-SOP8-Flash-Chip-IC- Tes...](https://www.aliexpress.com/item/SOIC8-SOP8-Flash-Chip-IC-Test-Clips- Socket-Adpter-BIOS-24-25-93-Programmer/32801699329.html)

</comment></comment><comment><USER6> I would argue that the existence of the HAP bit, along with the ridiculous amount of found security bugs (that on almost every ME currently in the wild will _not ever_ be patched, mind you) can be seen as the ME being used as a planted NSA backdoor, disguised as being a (useful) utility.

They get to exploit all the bugs to do their nefarious things and can neuter the ME of their own machines to not provide the same attack surface. I find it highly unlikely that the NSA did not know about how insecure the current ME generation is and I also find it very hard to believe that Intel would not have put _any_ effort into pentesting it.

Or maybe it was just pure corporate greed on Intel's part after all. I fear we'll never know, unless another NSA leak happens that contains information about this.

</comment><comment><USER7> Here's the recording from the talk: [https://media.ccc.de/v/34c3-8782-intel_me_myths_and_reality](https://media.ccc.de/v/34c3-8782-intel_me_myths_and_reality)

IMO the first half is almost useless, but the second one is actually worth listening to.

</comment><comment><USER8> Like wilun said: The first section is weird. They are ruining the point they are trying to make when they say: "myth x" \- and then they say it is basically true.

myth 1: and they come to the conclusion "pretty unlikely". So no you didn't mythbust - just you don't think it is true. Also, if it is made for solving real IT problems then why can't I disable it? (without using me_cleaner)

myth 2 conclusion: "yes, but it depends". So you are saying it is true.

myth 3 conclusion: "was possible, not anymore". You are saying it is true again.

myth 4 conclusion: "its complicated" \- nobody said it was easy but its possible so that makes it true.

and so on ...

</comment><comment><USER9> Igor Skochinsky is great. He explains it so anyone can understand (something becoming rarer these days), he is very helpful on Github too.

</comment><comment><USER10> The presentation is basically a collection of social media posts made by self- described hobbyists who right from the start state they are not security researchers.

The relevance of this post is very limited.

<comment><USER11> They also wrote some scripts and ran some experiments, or did you stop reading after a while?

<comment><USER10> > or did you stop reading after a while?

Of course. How much time do you spend reading opinions on a highly technical field from hobbyists who readily admit they are no experts, and whose work is based on a hand-picked list of comments posted by anonymous people on social media?

I would gladly read the whole presentation from start to finish if it was written by experts talking about their research in their domain of expertise. This is not that.

<comment><USER12> The title is "myths and reality." Where did you think the myths were going to come from?</comment></comment></comment></comment>


Robot takes cues from spider that can walk and roll - <AUTHOR> https://techxplore.com/news/2018-03-robot-cues-spider.html <comment><USER2> Post from yesterday: [https://news.ycombinator.com/item?id=16706546](https://news.ycombinator.com/item?id=16706546)</comment>


An air conditioner for homes and offices that uses no electricity - <AUTHOR> https://www.engineeringforchange.org/news/designed-air-conditioner-homes-offices-uses-no-electricity/ <comment><USER2> Does it cool a room? Where does the heat go?</comment>


Google: We knew the web was big... - <AUTHOR> http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html <comment><USER2> "Except it'd be a map about 50,000 times as big as the U.S., with 50,000 times as many roads and intersections..."

Great! So now, all you have to do is give some sort of a comparison that lets people visualise exactly how big an area 50,000 times the size of U.S. is. May I suggest a metric based on whales?

<comment><USER3> Average whale length = 12.8m (from top google search for average whale length)

Area of the US = 9.826630x10^6 km^2 or 9.826630x10^12 m^2

Area in whales of the US = 5.99769897x10^10 whales^2

So that would be 50000 times the size of 6 x 10^10 whales^2! Thats a lot of whale!

</comment></comment><comment><USER4> "Strictly speaking, the number of pages out there is infinite -- for example, web calendars may have a "next day" link, and we could follow that link forever, each time finding a "new" page."

Strictly speaking, even that would keep the number of pages finite, even if very, very big. Any amount of data you can produce with any number of finite computers (with finite and bounded memory -there are practical bounds for memory sizes), will always be finite.

<comment><USER5> Given infinite time, the number of pages that could be generated _is_ infinite.

<comment><USER4> With a finite amount of memory, the amount of information you can generate in infinite time is finite.

<comment><USER5> You don't have to store every page you generate.

<comment><USER4> No, but at least I suppose that pages are bounded by size, because of the memory of the generator, or of the viewer. Say the maximum size of a page you can build is N, then there is a maximum finite value of different pages / urls you can fit in N too. So, even if you have infinite time, with your finite computers you'll have finite amounts of pages.

Now, if you are going to have pages and urls that are bigger in size than the memory of even the biggest computers in the world, so that you can't hold them in memory at any time, then the point above isn't useful for you (and in this case you are right). But urls bigger than memory are probably useless, even if webpages bigger than memory aren't.

And if you have to have urls that are finite... then my point holds: even in infinite time, you won't have infinite amounts of urls.

<comment><USER5> You don't need to keep in memory the page you generate either.

<comment><USER4> Well if you don't keep in memory the page nor the url you generate ever (either in the publisher or in the viewer), can it be used in any meaningful way? But if you don't keep urls in memory you could possibly generate as many urls as you wish in infinite time...

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> TechCrunch is being cryptic ([http://www.techcrunch.com/2008/07/25/googles- misleading-blog...](http://www.techcrunch.com/2008/07/25/googles-misleading- blog-post-on-the-size-of-the-web/))

"Google also says 'But we're proud to have the most comprehensive index of any search engine.'

That may be true today, but _it probably won't be true next week_ (check back here then). _Google knows that as well as we do, and that's why they posted this today._ "

So, is it Yahoo or Live? If it's one of them, why would Google know it so well?. Any thoughts on what this could be? One of the TC commenters thinks its MSFT indexing facebook ...

<comment><USER7> _TechCrunch is being cryptic_

Yeah, this is surprising... especially because Arrington would never lie to drive traffic to his site. Oh wait. _TechCrunch_.

</comment></comment><comment> cypress-hill well allow me to modify my robots.txt so you can be at infinity-1. since you pricks decided to hijack your role as impartial algorithmic search to walled- garden with knol, i want nothing to do with you.

every major website that handles referrals seems to bite the poison fruit of capturing traffic...now google has to. oh well, maybe clusty search will have to do

<comment><USER7> I don't think you understand what Google is. Google is a company that owns a popular search engine called "Google Search". They also have other properties, like GMail and Knol. What exactly is the problem with that?</comment></comment>


Google Code Jam: Numbers - <AUTHOR> http://sonyalabs.com/2008/07/google-code-jam-online-round-1a-numbers/

<comment><USER2> Darn. Wish I had heard about this sooner.

<comment><USER3> Ditto.

</comment></comment><comment><USER4> I don't feel quite so bad now about not being able to solve the large input set on that problem.</comment>


Detect red circles in an image using OpenCV - <AUTHOR> https://solarianprogrammer.com/2015/05/08/detect-red-circles-image-using-opencv/ <comment><USER2> It would probably be better to use the Lab color space, and then you only have to look at the a channel (which is the transformation of color between red and green).

I used this to great effect in edge detection because the Lab color space is based on eyes. Just changing images from RGB to the Lab color space increased the accuracy of edge detection (particularly for red/green items) by about 7%: [http://austingwalters.com/edge-detection-in-computer- vision/](http://austingwalters.com/edge-detection-in-computer-vision/)

Further, I used this color space to design a super accurate fiducial marker (and QR code)[1], that can be used to store a lot more information, easier to track, etc.

I believe the grad student I was working with was going to publish a paper at some point. For what ever reason I wasn't involved with the paper and the paper doesn't appear to be published yet.

The HSV color space separates out hue and saturation, which helps remove the background noise, but it would have trouble with overlapping circles or circles where red and blue say mix to make purple. Converting to the Lab space would actually help distinguish overlapping colors as well.

Here's a link to my work: [1] [http://austingwalters.com/chromatags/](http://austingwalters.com/chromatags/)

<comment><USER3> can you expand on why RGB wouldn't work? The most obvious way I can think of to include chroma information in apriltags would be to use 3 colors matched to the peak sensitivity of each channel. Does the RBG spectral sensitivity overlap too much for this to work?

<comment><USER2> The RGB color space works, it just has light encoded in each channel (making it unnormalized). Separating out the light, i.e. normalizing on the color is what gives LAB the advantage.

Further, because the way RGB is structured taking the difference between channels is more difficult (requires more calculations) than it does for the a & b channels. For instance, the a channel represents red to green, or positive a represents red and negative a represents green. This aids in finding edges between red and green with a simple addition/subtraction between pixels(a[i,i] - a[j,j]). If we were to try the same thing in the RGB space it would look something like (R[i,i] + G[i,i]) - (R[j,j] + G[j,j]), and you would still have the impact of light to deal with...

</comment></comment></comment><comment><USER4> I once wrote a similar OpenCV application [1], but in my case I needed to detect a closed contour and evaluate how close that contour was to being a circle. To provide a "score" I took advantage of the fact that in a circle the ratio C^2/(4 _pi_ A) = 1 (where C is the circumference and A is the area). This is a unique property of the circle (it is equivalent to saying that the ratio of perimeter to area is maximized in a circle) and it's always lower for any other closed shapes. And it also provides a nice 0..1 result which can be interpreted as a percentage score!

I followed pretty much the same image segmentation/binary threshold as in the article, but found that the gaussian blur step was unnecessary in my case, so I skipped it. Also, the closed contours API in OpenCV provides the area and perimeter results so it was _very easy_ to get it all working. Most of the code was actually just writing a simple UI in Python.

[1] [https://www.youtube.com/watch?v=iN6D5j2RfX0](https://www.youtube.com/watch?v=iN6D5j2RfX0)

</comment><comment><USER5> This expression should work to get all the reds without having to do colourspace transform (standard unsigned 8-bit RGB expanded to signed ints of greater width):

        r - g > 128 && r - b > 128

The constants can be adjusted to change the definition of what you consider red. (Based on [https://en.wikipedia.org/wiki/File:HSV-RGB- comparison.svg](https://en.wikipedia.org/wiki/File:HSV-RGB-comparison.svg) )

<comment><USER2> It doesn't properly handle the light, i.e. if the r or g channel is super dim it'll cause issues.

</comment></comment><comment><USER6> Getting an SSL privacy error (NET::ERR_CERT_AUTHORITY_INVALID) on this page. (I've removed the StartCom root CA from my OS after reading [https://groups.google.com/forum/#!topic/mozilla.dev.security...](https://groups.google.com/forum/#!topic/mozilla.dev.security.policy/k9PBmyLCi8I) )

</comment><comment><USER7> Technically wrong. Those are red _discs_ , not red _circles_. </pedantic>

<comment><USER7> You think I'm joking, right? I'm not.

Think of the keywords that apply to the title. "OpenCV" and "circle" definitely are. I don't consider "detect" and "image" as keywords here because if you are using OpenCV, there's a _very_ high probability that you want to detect something in an image. So "detect" and "image" are pretty much implied by "OpenCV". And I'm going to give you the benefit of doubt and include "red" as a keyword.

So we end up with "OpenCV", "circle", and "red". Three keywords. "circle" being technically wrong means that you got 1/3 of the keywords wrong. That's actually no small mistake.

Let's say you are working on a project and you are in urgent need to find out how to use OpenCV to effectively detect actual _circles_ (not red _discs_ ). You type these keywords into your favourite search engine: ["opencv", "circle"]. And you get this article as the top result because it has the right keywords and it ranks high in popularity. Then congratulations, you just wasted your precious time. Of course, you can start from this article and get to your correct solution. But remember I said that you're in urgent need, you're in a hurry, you don't have time to waste.

The converse is also true: you want to detect actual red _discs_ but you can't find this article because the article's keywords are wrong.

When I saw the title of the article, I really was expecting it to talk about detecting _circles_ , not _discs_. I started at the beginning and I thought "ok, maybe the author's approach is to start from discs and eventually get to circles". I followed through to the end expecting to see actual circles, but then... nothing. I was really disappointed.

I could be even more pedantic and point out that in mathematics, a circle has no width, but if we take that extra pedantic definition, then we won't expect to detect anything at all in an image. The difference here is that when we talk about "circle", we know that we are really talking about an _approximate representation_ of a circle. But a circle is not an approximate representation of a disc, or vice versa, period.

</comment></comment><comment><USER8> Or you could use the Circle Hough Transform: [https://en.wikipedia.org/wiki/Circle_Hough_Transform](https://en.wikipedia.org/wiki/Circle_Hough_Transform)

<comment><USER9> Which is what they did. It's inefficient, because it's a brute-force process, but it works.</comment></comment>


Start-ups account for *all* of net new jobs creation - <AUTHOR> http://www.kauffman.org/uploadedFiles/firm_formation_importance_of_startups.pdf

<comment><USER2> Alternative title: How to coerce statistics by defining variables creatively.

The author defines a "startup" as a company which has existed for less than 1 year and an "existing firm" as a company which has existed for 1 year or more, and compares the net jobs created by startups against the net jobs created by existing firms.

Consider a startup company which has 6 employees and goes out of business after 20 months. It has provided 10 person-years of employment, but its _net_ job creation is zero -- two years after it was founded, it isn't contributing anything to the employment numbers.

Under the definitions used in this report, however, that company is counted as a startup with a net 6 jobs created... AND as an existing firm with a net -6 jobs created. This failed company which has no long-term effect on job creation is counted not once but twice towards the job-creation superiority of startups over existing firms -- and the more startups fail, the more skewed the numbers will be!

Come on guys... startups are important enough in job creation without fudging the statistics like this.

<comment><USER3> Very true.

To build on this:

-They define any business under 1 year old as a "startup". Is a new gas station a startup? A new cleaning business? A new home healthcare franchise? These are all new businesses run by entrepreneurs, but they are not "startups" in the way we generally refer to them on HN. I know several family members that have these kinds of franchise businesses and they never refer to themselves as owners of startups, but as owners of small businesses. Small distinction but lest the VCs and hackers say they create all the jobs, realize that the companies doing "established business" they so look down on are counted amongst startups in this data.

2) Common sense defeats their numbers. Who starts a startup with less than a year runway? That would be ridiculous. If they change their numbers to count startups up to age 3, what would this look like?

<comment><AUTHOR> "These are all new businesses run by entrepreneurs, but they are not 'startups' in the way we generally refer to them on HN." Isn't that just a matter of semantics though? Would s/startup/newly incorporated business/g do? I agree that their definition of startup certainly skews the statistics. More interesting would be "Sum of total job-years by startups vs. established companies".

</comment></comment></comment><comment><USER4> This kind of study provides all sorts of opportunities for shell games, since the classification of "startup" vs "established", or "new" vs "old" or "big" vs "small" often obscures the real issues.

Just to take an example, imagine the person who cleans the lobby of a Fortune 500 headquarters lobby. This person could be a W2 employee of the big co, or could be an independent contractor, or could be an employee of a small firm (say 5-10 people) that does the cleaning, or could be an individual or small firm that owns a franchise for a cleaning services business -- and thus be something that's some kind of symbiotic association of a big co and a little co.

The work that gets done is substantially the same, and it's done for the same reason, but the benefits, tax consequences and how it shows up in economic statistics is entirely different.

</comment><comment><USER5> Better title: Companies that don't go out of business create the most jobs.

 _An important caveat is that existing firms are so diverse that it can be misleading to think of a "typical" firm. For example, there are two simple categories of existing firms: those that go out of business (Deaths) and those that continue (Survivors). On balance, existing firms lose more jobs than they create. But once Deaths are set aside, Survivors usually create more net jobs than startups do._

I think they just proved that their own title is creative accounting. If the goal is a policy change, this report shows that we can reduce unemployment most effectively by keeping established companies open.

</comment><comment><USER6> I'm reminded of James Tauber's blog post on 'job creation': <http://jtauber.com/blog/2008/11/12/x_will_cost_y_jobs/>

</comment><comment><USER7> Argh PDF alert.

<comment><AUTHOR> Or do you mean scribd alert? ;-)</comment></comment>


Rust 0.8 released - <AUTHOR> https://mail.mozilla.org/pipermail/rust-dev/2013-September/005804.html <comment><USER2> If you were wanting to use Rust but also wanted to use HTTP (client _or_ server), I've got [https://github.com/chris-morgan/rust- http](https://github.com/chris-morgan/rust-http) which has rapidly become the _de facto_ HTTP library (although it started after Rust 0.7 was released). It's far from complete—but that's an opportunity for you to join in, if you want.

<comment><USER3> "far from complete" and "de facto HTTP library" doesn't say much for rust.

<comment><USER2> It's good enough that the Servo team decided to use its client (and now do), but the approach I've taken (implementing the HTTP spec thoroughly, putting Rust's type system to good use) will take quite a long time before it's _really_ polished (e.g. we must implement types for every type of header, rather than just using strings and leaving it to users to interpret them [often incorrectly]). It's still a little experimental, but it's the only really serious HTTP library there is for Rust out there.

Just wait until it's done. It will be a _really great_ HTTP library.

<comment><USER4> I haven't taken a look at your library, but as a developer that has always wondered "Why use strings for these things that could be enums, contants, or types?" in API's, I appreciate your effort and your thoroughness.

<comment><USER5> The answer is because that's what's in the spec. For HTTP, it's probably a mistake to hardcode header types. They are defined as key/value pairs of strings in the spec. There are a few keys that are specified, but how they actually work in practice (upper? lower? quoted?) is difficult to predict. There are just too many variations. So you end up with proper types for the most common ones, and then throw the extras into a separate "others" type. Which is great, except that now you have two places to check for things.

In this case (HTTP), it's easier (and more correct) to just leave them as stings. The general principle with network protocols is to be strict in what you send, and forgiving in what you receive.

<comment><USER2> The headers are data, not text. Somewhere along the way you'll need to interpret them; doing a good job of that at the system boundary is the only _sensible_ approach. (It's not the approach the majority of tools have taken, but it _is_ the only sensible approach). If it gets into the system as text, people will start pulling it apart in even worse and less consistent ways.

I agree with you that the parse behaviour for HTTP headers is poorly defined. That's something I'll be wrestling with all the time.

Supported headers will be in one place and uncommon extension headers in another. Such, alas, is life. But really, the only time when I would expect this to cause any trouble at all is when new headers are added. Compare it with things like the CGI standard and how it handles headers and you'll realise it's not such a bad system.

I should make it quite clear that the specs are (unfortunately) only a starting point for rust-http. Where there are deviations, more leniency may be added. But it'll be added thoroughly and properly.

</comment></comment></comment></comment></comment></comment><comment><USER6> If they make their next-gen browser using Rust, I hope they make it 64-bit- _only_ , and optimize it as much as possible for x64 and ARMv8. None of that "support back to Windows XP!" stuff. It wouldn't be necessary (will still have Firefox a few years longer for that), and it would just hold them back in terms development time, maintenance, performance and security.

Then it would be not just great PR for their "highly-optimized no legacy cruft 64-bit browser", but would also give people a reason to switch from _Firefox_ to it. It would also give Mozilla an excuse to not make a 64-bit Firefox anymore.

I assume it's going to take them at least 2-3 years to do it (if they ever plan to release it), and by then Microsoft will probably release a 64-bit only Windows 9, iOS will be 64-only, too (probably not relevant to Mozilla, but could be in the future), and at least half of all Android smartphone users will have ARMv8-based devices.

Mozilla should take full advantage of this, and really push for performance (and security), and they should only make it available from Android 5.0 (probably the first 64-bit Android version) and Windows 7 x64. Support for Linux kernel should probably start with no lower than 3.10 LTS (contains all the ARMv8 support).

<comment><USER7> Note that Windows XP 64 bit was a thing. :-)

Very few of today's apps actually benefit from having more than 3GB of address space. Nothing on my desktop PC is using more than 300MB at the moment. All else being equal, 32 bits will be more efficient, particularly on portable devices which tend to have far less memory bandwidth.

<comment><USER8> All other things are not equal, however.

<comment><USER7> True, there can be address space fragmentation issues on large 32-bit processes.

What else did you have in mind?

<comment> Tuna-Fish The extra registers and other advancements in instruction sets help a lot.

x86 has some enchancements, but if you think that 64-bit is bad for mobile, I strongly suggest looking at the A7 32 vs 64 benchmarks. ( [http://anandtech.com/show/7335/the- iphone-5s-review/4](http://anandtech.com/show/7335/the-iphone-5s-review/4) )

Of course, the performance gains have really nothing to do with 64-bit addressing alone, but ARM took the opportunity to almost completely redesign the ISA, and A64 is in general a better and faster ISA than A32. So all else is not equal.

<comment><USER9> I actually find this 64-bit-has-better-ISA-than-32-bit situation annoying. I would like to have better ISA, without making pointers larger. There is x32([https://sites.google.com/site/x32abi/](https://sites.google.com/site/x32abi/)), will there be something similar for ARM?

</comment></comment></comment></comment></comment></comment><comment><USER10> Remember that Rust is still a rapidly changing language, and releases have very little connotation of stability, support, or any other guarantees.

They're released on a schedule, not by features. They're useful to be able to refer to periods of time in Rust's rapidly changing lifetime, but not much beyond that.

<comment><USER11> This! I so want to play with Rust. I want to explore it over programs that are several thousand lines long, so I can get a real flavor for it. But the rate of change especially to important elements of the language is still too great. I don't want to rewrite the code to stay abreast of revs.

Not a critique by any means--I admire the language and the work being done. More of a wish that the core language syntax would settle down soon.

<comment><AUTHOR> To be clear, the syntax changes in this release were very minor. It's mostly the standard library and runtime that are changing at this time.

That doesn't mean that your sentiment is wrong; if you don't want to be keeping up with the langauge's changes, certainly don't write projects in Rust. That said, there are more libraries than you'd expect, including a few that are several thousands of lines.

<comment><USER12> _> To be clear, the syntax changes in this release were very minor_

Yeah, _only_ the _entire_ for loop syntax changed. ;)

<comment><AUTHOR> And it was fixable with a regular expression. :)

</comment></comment></comment></comment></comment><comment><USER13> Rust is pretty good as a language but things are still changing a lot, especially on the library side.

I did a project in Rust as a learning exercise. The language is easy to pick and I was able to hit the ground running from the start. The major learning hurdle I think is the memory model, which is different from most languages out there.

Here's my first Rust project after two weeks of on and off hacking. It's a Memcached client library implementing the Memcached protocols in pure Rust. [https://github.com/williamw520/rustymem](https://github.com/williamw520/rustymem)

</comment><comment><USER14> I just want to note, if you ever release something (anything, be it a version or a whole startup), copy their first paragraph intro! I didn't know what Rust was, but after just 8 seconds I did. Fantastic and all too rare.

</comment><comment><USER15> Release notes are here: [https://github.com/mozilla/rust/wiki/Doc-detailed- release-no...](https://github.com/mozilla/rust/wiki/Doc-detailed-release- notes)

</comment><comment><USER16> I've messed around with Rust a little and I love what I see! The documentation is still poor (understandable given how quickly the target is moving) but that seems to be changing. This is a really exciting, multi-paradigm language and I wish Mozilla all the best in developing it further!

<comment><AUTHOR> Ive been making it my mission to improve the docs, especially as the language settles down.

Any suggestions welcome, here or via email.

<comment><USER17> 1) I think I've had 4 different people try to explain lifetimes to me and I still don't think I understand.

2) The use of pointer dereferencing in closures is still quite confusing to me. For example, from the tutorial:

      let square = |x: int| -> uint { (x * x) as uint };

no pointer dereferencing, yet:

      [1, 2, 3].map(|x| if *x > max { max = *x });

uses pointer dereferencing. I can't figure out any rhyme or reason behind it.

3) How do you create traits that can be automatically derived? How do you implement a default method?

4) How do you create and use macros, and in what situations are they the appropriate solution over other forms? (I'm used to using macros in lispy languages, but using them as pervasively in other languages seems to be a form of code smell).

<comment><USER18> Maybe this will be useful to understanding lifetimes: [http://static.rust- lang.org/doc/0.8/tutorial-borrowed-ptr.ht...](http://static.rust- lang.org/doc/0.8/tutorial-borrowed-ptr.html)

As for the pointer dereferencing, perhaps putting the type there will make it clearer:

        [1, 2, 3].map(|x: &int| if *x > max { max = *x });

Now you can see that x isn't actually an int but a reference to one.

As for automatically derived traits, those are actually slightly more powerful macros implemented in the compiler itself. You can see it at rust/src/libsyntax/ext/*.

For default methods, you just put the code you want in the trait itself. Like so:

        trait Animal {
            fn sound(&self) -> ~str;
            fn make_sound(&self) {
                println(self.sound());
            }
        }

The make_sound method is what's called a default method. If you implemented that trait, at the very least you would have to define the sound method and if you wanted to, you could override the default make_sound method.

Macros are actually created with another macro called macro_rules. I'll defer to the tutorial for them: [http://static.rust-lang.org/doc/0.8/tutorial- macros.html](http://static.rust-lang.org/doc/0.8/tutorial-macros.html)

</comment></comment></comment></comment><comment><USER19> Those interested in using Rust for game development can check out our list of resources: [https://github.com/mozilla/rust/wiki/Computer-Graphics- and-G...](https://github.com/mozilla/rust/wiki/Computer-Graphics-and-Game- Development)

If you want to chat feel free to stop by `#rust-gamedev` on irc.mozilla.org. We're very nice!

<comment><USER12> There's also #rust and #servo on the same server. _We_ 're very _very_ nice!

</comment></comment><comment><USER20> Is there an actively developed web framework for Rust, kind of like Revel for Go?

I have a toy web project I'm starting. Would love to play with Rust.

<comment><AUTHOR> Not yet. As chrismorgan points out above, the http library is still being developed, once it's more stable, web frameworks can be built on top of that.

<comment><USER21> Wouldn't web frameworks be using something like fastcgi rather than raw http?

<comment><USER2> Why? FastCGI is slow. Controlling the entire HTTP stack is fast, and makes deployment much easier (only one piece of software to configure, not two or three).

</comment></comment></comment></comment><comment><USER22> Congrats on all the progress, guys! I'm really looking forward to getting to work with Rust. I have a couple of questions:

Is the new fixed-stack FFI arrangement the end goal, or is it a stepping stone to a different system? It seems as though always using a big, fixed stack would cause performance/memory issues. Could the compiler detect which Rust fn's call extern "C" functions so I don't have to write annotations? Thanks!

<comment><USER23> Fixed-stack is not the end goal. The intent is to migrate back towards small, growable stacks.

There were long discussions over how "smart" the extern stack-size strategy should be. The current arrangement is, as ever, a compromise. In practice, most people writing bindings to C from Rust will wrap the C call into a very thin wrapper function whose job is to handle type conversions and managing the necessary `unsafe` bits. The hope is that putting the annotation on these wrapper functions won't be very onerous, with the result that any Rust code that calls the wrapper functions won't ever have to bothered with remembering the annotations.

<comment><USER22> Makes sense, thanks! As an outsider it can be tricky to know which things in the release notes are "This feature is ready" vs "This is simply the present state of things."

<comment><AUTHOR> Rust is basically entirely 'this is simply the present state of things.' :)

<comment><USER2> Plus there's also rather a lot of non-codified knowledge about what's happening and going to happen. But if you pay much attention to the mailing list and stay in #rust you'll pick up an awful lot of it.

<comment><USER12> (Also, TWiR: [http://cmr.github.io/blog/categories/this-week-in- rust/](http://cmr.github.io/blog/categories/this-week-in-rust/))

</comment></comment></comment></comment></comment></comment><comment><USER17> Anybody know when there will be a regex library?

<comment><USER21> rust has relatively nice FFI, so I suspect using PCRE shouldn't be too difficult.

<comment><USER24> Or re2 [0]

[0] [https://code.google.com/p/re2/](https://code.google.com/p/re2/)

</comment></comment></comment><comment><USER25> Congratulations!

When will we be able to compile Rust using a standard LLVM instalation, instead of compiling LLVM with it?

My poor netbook takes almost 3 hours to compile it. :(

</comment><comment><USER26> What do people use for editing Rust source code?

<comment><AUTHOR> We have syntax files for vim, emacs, kate, gedit. [https://github.com/mozilla/rust/tree/929b75e220f6fced42dcfe2...](https://github.com/mozilla/rust/tree/929b75e220f6fced42dcfe2146700ceba1e2cebe/src/etc)</comment></comment>


FoundRead Finds a New Home and sends some love to Hacker News - <AUTHOR> http://foundread.com/2008/04/28/foundread-finds-a-new-home/ <comment><USER2> I hate that it all comes down to success equaling traffic. Isn't there more to success?</comment>


Mono 4.0.0 Release Notes - <AUTHOR> http://www.mono-project.com/docs/about-mono/releases/4.0.0/ <comment><USER2> And with this release we see the beginning of the convergence of the Mono and Microsoft codebases. I'm glad Mono will be more reliable as a result, there have always been persistent reliability and compatibility issues that the Mono team hasn't been able to really fix.

It's also a little sad, in a way. It relegates Xamarin to maintainers of a distribution for another operating system. At the end of the day, C# and .NET are now officially first class citizens on Linux. Speaking as someone that actually ran Mono in production for around a year before realizing it was a ridiculous waste of time and money and switching to Windows Server 2012 after finding and filling dozens of untrackable deployment and stability issues in ASP.NET under Mono, I'm definitely not ready to switch back anytime soon, but Mono is definitely foreseeably a real option.

<comment><USER3> > At the end of the day, C# and .NET are now officially first class citizens > on Linux.

C# and .NET will never be first class citizens on unix. This is by design.

[http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish](http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish)

<comment><USER4> Maybe not _first_ class, but I think Microsoft's eaten a bit of humble pie (ala IBM ~15-20 years ago when they started ramping up Linux efforts) and generally playing nice.

Who ten years ago would have imagined so much of .NET would wind up MIT licensed, not just some 'shared source' malarky, on Sourceforge's ~2015 successor?

This isn't the Microsoft of the Halloween memos anymore.

<comment><USER5> No, we are making them first class. When we have a bug that breaks one of our three build queues (Windows, Linux, Mac), it will not be acceptable to break any of the platforms.

<comment><USER4> Sweet :)

</comment></comment></comment></comment></comment><comment><USER6> This is a draft. Mono 4.0 hasn't been released yet. Who keeps publishing mono's release-notes drafts as HN news?

<comment><USER7> I added a note to the page to make this clear.

HN mods: can we get a "(draft)" note added to the submission title as well?

<comment><USER6> thanks Alex

</comment></comment></comment><comment><USER8> > We no longer build or package reference assemblies for the .NET 2.0, .NET > 3.5 or .NET 4.0 APIs. We only support now the .NET 4.5 assemblies as well as > the mobile-based profiles.

Does that go for the runtime as well? Does this mean I can no longer run a (compiled) .NET 2.0 application on Linux?

<comment><USER7> No, it should run on the 4.5 profile just fine as backwards compatibility in the .NET APIs is very good.

Please note that this is still a draft and the .NET 2.0/3.5 assemblies will likely reappear as reference assemblies (i.e. containing only method signatures in IL, so you can build against those profiles but not run on them).

</comment></comment><comment><USER9> I look forward to being able to use this all in Unity3D in 7 years.

<comment><USER10> Unity is moving away from Mono anyhow,

[http://blogs.unity3d.com/2014/05/20/the-future-of- scripting-...](http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-in- unity/)

so updates in Mono are irrelevant to Unity.

<comment><USER11> What? That's what this post says:

> we will also be upgrading to recent versions of the Mono C# compiler, base > class libraries, and runtime for use in the editor

> We will continue to use the Mono C# compiler (and perhaps later, Roslyn). We > will continue to use the Mono class libraries. All currently supported > features and 3rd party libraries which work with Mono AOT should continue to > work with IL2CPP. We are only seeking to provide a replacement for the Mono > VM and AOT compiler, and will keep on leveraging the wonderful Mono Project.

<comment><USER10> Currently they support both - il2cpp isn't done yet. But as the blogpost calls it, it is the future of scripting in Unity.

Also, yes, this is a replacement for the VM and AOT, but the libraries in Mono are still very useful. Many of them are currently being replaced by Microsoft code as well, though, so it looks like .NET, Mono and il2cpp will share lots of code that way. Just not the VMs.

</comment></comment></comment></comment><comment><USER12> Just curious.. Why cant the mono team replaces almost whole of their codebase with the code Microsoft open sourced? Is there anything stopping them to do that? Maybe licensing issues?

<comment><USER10> First, the code Microsoft released does not build and run on all platforms. They promised Linux support, and are working on it now in the open, but it's not there yet. So Mono can't just adopt the Microsoft .NET VM without losing features.

Second, Microsoft is open-sourcing their whole VM - JIT, GC, as well as compiler and libraries. Compiler and library code is already being utilized by Mono, and more all the time. However, Mono doesn't even have plans to replace their JIT or GC with .NET's, as far as I know (and the Trello board linked to in the article seems consistent with that).

Could Mono do that (once Microsoft's builds on Linux and other platforms Mono needs)? Yes in theory, but it would mean abandoning all the massive amount of work they put into their VM over many years. I don't know whether it would be rational or not to do so.

Licensing isn't a problem for Mono to use Microsoft code. However, Mono's runtime is LGPL licensed, and this has been a source of revenue for them (people pay Xamarin for licenses for platforms like consoles where LGPL is a problem). So to replace the Mono VM with Microsoft's could be a step back there.

<comment><USER5> I can't speak for mono, but converging makes sense where it makes sense -- if mono has a solid implementation of something they consider core and the MS implementation isn't trivial to port, I don't see a good reason to port it.

</comment></comment></comment><comment><USER13> It is a shame that this got submitted before we actually published the code. It is Easter and many of our engineers are taking these days off.

The release notes are also incomplete and not ready for publishing

Miguel

<comment><AUTHOR> Sorry, saw it on reddit as "Mono 4 Released"[1] and reposted here, without noticing it was just a draft (the "THIS IS A DRAFT" comment wasn't there at the moment).

[1] [http://www.reddit.com/r/programming/comments/31ezp0/mono_4_r...](http://www.reddit.com/r/programming/comments/31ezp0/mono_4_released_adopts_ms_source_code/)

</comment></comment><comment><USER14> Tail call optimisation in F# ?

<comment><USER15> Wait...mono doesn't do tail call optimization with f#???

<comment><USER14> It is (or was) complicated, you could stack overflow on two mutually recursive functions or tail calling inside continuations.

<comment><USER15> I'm getting constant memory on this (mono v3.12.1)

        let rec beep x =
            if x = 0 then x else boop (x - 1)
        and boop y =
            if y = 0 then y else beep (y - 1)

        let main argv =
            printfn "%A" (beep 999999999)
            0

<comment><USER16> Those are mutually recursive functions, but they're not using continuations.

</comment></comment></comment></comment></comment><comment><USER17> This draft looks great. We've been running Mono since December 2013 for a fairly big data processing framework - 2014 saw us move it into production. We've had our fair share of really horrible performance issues, runtime issues and the rest. 4.0 has some stuff in that fixes many of those nasty issues!

Awesome work by team Xamarin + Contributors.</comment>


Mailgun is having issues - <AUTHOR> https://status.mailgun.com/incidents/qv74gxp2ndsp <comment><AUTHOR> Their login shows 'User does not exist' when I try to login as well. Someone dropped their DB?</comment>


Many breakfast cereals still contaminated by weed killer, environmental group - <AUTHOR> https://www.cnn.com/2019/06/12/health/glyphosate-cereals-ewg-study/index.html <comment><USER2> I hate it when I find traces of environmental group in my cereal.

</comment><comment><USER3> One constantly hears the refrain, "...but people need to eat! 10 billion by 2050!". And it makes one wonder if people need to: 1. Eat breakfast cereal...arguably a modern invention that was preceded by the survival of the human species from caveman to urbanite. 2. Poisoned cereal, or 'tainted' by glyphosate, as it were...by a broad-spectrum systemic herbicide and crop desiccant and in this case, arguably an invention post-WW II. Bought to market in 1974. Incidentally, the population from 1974-2017 has doubled which ..regrettably and arguably...hasn't really helped the environment. Regrets and arguments all around!</comment>


Power is off at Internet Archive, people are keeping track of any water leaks - <AUTHOR> https://twitter.com/textfiles/status/543111994677547008

<comment><USER2> What's that second picture? The entire internet, on disks, up on a shelf?

<comment><AUTHOR> Those are rack mount servers.</comment></comment>


Light Touch Projector - <AUTHOR> http://thesupergoodlife.com/2011/09/08/light-touch-projector/ <comment><USER2> I know they're only computer generated graphics, but maybe it's a bit miss- leading as to how it will actually look. Particularly like this

[http://thesupergoodlife.com/2011/09/08/light-touch- projector...](http://thesupergoodlife.com/2011/09/08/light-touch- projector/lt2_480x276/)

Assuming the projector is mounted in the shelf, there would be quite a large shadow under where she is touching the wall. I guess the implications of this on such a small screen would be you'd have to pretty much figure out what you were going to press before you put your hand in front of the beam.

We have Promethean IWB's and short throw projectors at school, trying to use them with your finger for precise menu operations is a nightmare. I think there used to be a keyboard that did something similar but it had terrible reviews

<comment><USER3> Like this one? It looks pretty lousy.

<http://www.virtual-laser-devices.com/>

<comment><USER2> Yeah like that, I really wanted one till I read the reviews. If they could do it properly (I.E. make it bright and accurate) it has the potential to be really cool but maybe keep it on the drawing board for a few more years.

</comment></comment></comment><comment><USER4> It's a laser projector combined with a camera. Nice but nothing revolutionary. You can build something like this yourself using e.g. a Microvision ShowWX+ ($300), a webcam and some mirrors. No need to wait for a device that _might_ be commercially available _sometime_ in the future at an unknown price point.

<comment><USER5> It actually is quite interesting, since it is a 2d holographic laser projector.

<comment><USER4> I agree that the technology behind it [1] is quite interesting. However, the linked article talks about a specific application which I find not that novel.

[1] [http://lightblueoptics.com/technology/holographic-laser- proj...](http://lightblueoptics.com/technology/holographic-laser-projection/)

</comment></comment></comment><comment><USER6> Also check out their Light Speed, a pretty cool product for cars: <http://lightblueoptics.com/products/light-speed/>

</comment><comment><USER7> That looks ike a pretty good idea for bars or restaurants, nothing really to spill food or drink on.

Could be some cool wireless thin-clients.

Looks like this was showcased at CES 2010.</comment>


More screen time for toddlers is tied to poorer development a few years later - <AUTHOR> https://www.cnn.com/2019/01/28/health/screen-time-child-development-study/index.html <comment> crooked-v Correlation is not causation.

<comment><USER2> Can't overstate this. It's disheartening that the article contained this tidbit:

> _" This study shows that, when used in excess, screen time can have > consequences for children's development. Parents can think of screens like > they do giving junk food to their kids: In small doses, it's OK, but in > excess, it has consequences."_

Yet later on it says that the results of the study don't show causation.

</comment></comment><comment><USER3> How exactly do we know children with some form of mental deficiency don't spend more time in front of a screen?</comment>


Ask HN: Would an electric car work in space or on mars? - <AUTHOR> <comment><USER2> The Opportunity rover is essentially an electric car, and it has been operating on Mars for quite a while:

[https://en.wikipedia.org/wiki/Opportunity_(rover)](https://en.wikipedia.org/wiki/Opportunity_\(rover\))

Since a car relies on gravity for its wheels to have traction with the surface it's moving on, it would be of limited use in outer space.

</comment><comment><USER3> Not sure if you mean any specific problems, but yes, vehicle with electronic power system would work on Mars.

Good example of that are Mars exploration rovers (e.g. Curiosity, Spirit), which are exploring Mars since 2003 and use battery power (with solar panels for charging).

</comment><comment><USER4> A passenger carrying electric car operated on the Moon:

[http://nssdc.gsfc.nasa.gov/planetary/lunar/apollo_lrv.html](http://nssdc.gsfc.nasa.gov/planetary/lunar/apollo_lrv.html)

</comment><comment><AUTHOR> Ya, I should've been more exclusive when I meant car. Could a commercial electric vehicle like a model from Tesla or Volt operate on mars currently?

<comment><USER5> I believe they would have trouble with their battery pack thermal controls which are designed to work at standard Earth temperatures and air pressure.</comment></comment>


How to be an open source gardener - <AUTHOR> http://words.steveklabnik.com/how-to-be-an-open-source-gardener <comment><USER2> 1000 times yes

For PouchDB (gardeners welcome - [https://github.com/pouchdb/pouchdb](https://github.com/pouchdb/pouchdb)), 90% of my time is between triaging issues and setting up infrastructure for contributions (mostly working on tests / CI).

Sometimes every few days, at least every week I sit and go through all the issues, try and figure out whats needed to close out the old issues, a good percentage of the bugs are ones that need someone to investigate and produce a clear set of steps to reproduce.

Actually after reading I am gonna start tagging these ones specifically for new contributors.

Even as someone who considers myself very reactive to bug reports etc, its very easy to let it slip ([https://twitter.com/daleharvey/status/451378807006838784](https://twitter.com/daleharvey/status/451378807006838784))

<comment><USER3> OpenFrameworks tags the low hanging fruit issues as 'bitesize'. :)

</comment></comment><comment><USER4> This is a really good post, if only because it reiterates that code isn't the only way to help an open source project.

<comment><USER5> Not only that. It also shows that a project needs to invite help.

A helper who wants to do something like like this does not necessarily need to code a lot (even though it is of course necessary to have basic programming knowledge to triage bugs). But he needs extensive rights in the issue tracker, so that he can tag and close and comment with authority, and the other developers need to respect that work. Something like that won't appear out of thin air, something like that needs a process, the possibility to build up trust, and an invitation.

<comment><USER6> This is something important that I forgot: GitHub's permissions are such that you need to have commit to truly do this job effectively. For Rails, this means that the issue team has commit on GitHub, but isn't actually allowed to commit. It hasn't been a significant problem.

<comment><USER7> +1 in doubt, err on the side of trust.

</comment></comment></comment></comment><comment><USER8> Steve, first off I respect you a lot for the work you have done. But, the elephant in the room is that when you changed jobs, you totally fell off the map with Rails: [https://github.com/rails/rails/commits/master?author=stevekl...](https://github.com/rails/rails/commits/master?author=steveklabnik)

I would have done the same thing, getting into to Rust, etc. after the job transition, as you have other things to focus on. However, you mentioned Rails, and I think this is an opportunity to talk about "leaving the garden".

I have a few projects I had enjoyed working on, but when I left the old job, I was stuck with those projects and no one wanted to take them on- I tried to find help, but it was temporary- no one has taken over. Do you or others have suggestions for successfully abandoning a project, because I can't seem to, and those projects languish with the lack of effort I put into them because it is so infrequent, but I do just enough apparently to keep others from thinking I've abandoned them.

</comment><comment><USER9> > _Was this issue for an older version of Rails than is currently supported? > If so, copy /paste an answer I wrote that asks if anyone knows if this > affects a supported version of Rails._

No. Please do not do this blindly. It is very discouraging for the bug reporter to see their bug being ignored for a few releases, followed by this response. Example:

[http://www.jwz.org/blog/2003/02/the-cadt- model/](http://www.jwz.org/blog/2003/02/the-cadt-model/)

<comment><USER6> I know it's discouraging, but sometimes, bugs get fixed as an accident of another change, or the feature was removed, or a variety of other things. Leaving it sit open with no movement at all is even _more_ discouraging.

<comment><USER9> The bug reporter reported a legitimate bug. It lies on you to act on this information. If you ignore the bug and make other random changes to the code, it _still_ is your responsibility to fix the bug - the fact that you made it harder to find the bug by altering the code is entirely your own doing. It does _not_ fall upon the bug reporter to test your code for bugs for every change you make. To demand this, and to _close the bug_ when they do not comply, is entirely the _wrong_ thing to do.

</comment></comment></comment><comment><USER10> This article isn't about growing plants :-(

<comment><USER11> I also read it thinking someone had open-sourced some gardening tips or planting layouts. Whoops.

<comment><USER12> Me too!

Here's a bunch of Arduino gardening (and other) links:

[http://www.rootsimple.com/2013/03/arduino-homesteading- proje...](http://www.rootsimple.com/2013/03/arduino-homesteading-projects/)

</comment></comment></comment><comment><USER7> Well said Steve, we have 500+ issues on Docker and are going through the same process.

The most valuable contributors are those who show up day after day and are not afraid of repetitive and unglamorous tasks. Those are worth their weight in gold.

<comment><USER13> Do they get salaries (or other consideration) commensurate with being the most valuable contributors who are worth their weight in gold?

<comment><USER14> Maybe they could get free conference passes, or an invitation to a company gathering if they are in the area.

</comment></comment></comment><comment><USER15> Wondering why big project, backed by a real company that makes money don't pay someone to keep gardening?

it could help some student pay the rent and definitely will help the project...

<comment><USER16> If you don't "want" to take up this unglamorous task, and keep at it day after day at a high quality, the work will inevitably gradually slide to lower and lower quality.

<comment><USER15> I would prefer to manage a issues page of some open source project rather than flip burgers...

Still, if the gardener is not doing a good job you can always change him/her...

</comment></comment></comment><comment><USER17> Sorry to be contrarian, but bug reports aren't weeds. The count of open bugs on a project is just a number and it doesn't matter if it is large or small. Closing bugs that never should have been opened in the first place is of course great, but many times the bug report is open because it is a tricky issue to solve. You cant just mark old bugs as "stale" and close them and hope that the bug is fixed in a newer version of the software.

<comment><USER6> To be clear, I only advocate that bugs with no reproduction instructions and an unresponsive submitter be closed as stale.

The oldest open bug in Rails is three years old, and even says "This has been around a while" in the description. [https://github.com/rails/rails/issues/1769](https://github.com/rails/rails/issues/1769)

</comment></comment><comment><USER18> Maybe i am naive, but i think this screams for a system which enforces reproducing of bugs.

1\. Bug is filed

2\. System checks if bug is reproducible

3\. As long as the bug is not reproducible it is hidden in the issue tracker and flagged as "needs reproducibility" and emails are sent to the creator. After a given time the bug is closed automatically.

4\. When the testcase to reproduce the bug is provided, the build system checks against the current supported versions. If it passes, the bug is fixed as "needs reproducibility" again, if it fails, the bug is finally pushed to the main issue tracker.

I can see how brutal this approach is, but this way, the number of bugs is kept to a minimum. Bug filers, who actually take the time will therefore have a high probability of immediate fixing. Motivated people can always play gardener additionally, but without the email spam, they can simply help in one step of the process.

<comment><USER2> This is pretty contradictory to 1. my motivations as a maintainer, 2. how to solve (imo) the barriers in having people contribute to OSS

1\. As a maintainer I want my project to work, if a reporter only wants to give a brief description then I am both happy and have the context in order to read it, attempt to understand it and ask the relevant follow up questions. Ideally someone turns up with a test case and patch and I will make that as easy as I can, but its not a requirement for being able to contribute.

2\. I did a questionnaire on what prevents people contributing to open source, by far the biggest barriers I found were things that were solved by asking a quick question to a maintainer, people get stuck on what to fix, or how to set stuff up and they want to ask a person and not a mailing list or a chat room, and certainly not a robot policing their filed bugs

<comment><USER19> That sounds like a good process for smaller projects. For larger projects, or projects where developer attention is a precious resource, not so much. For example, look at the detail provided by the issue submitter to the nouveau (open source Nvidia Linux driver) project: [https://bugs.freedesktop.org/show_bug.cgi?id=76732](https://bugs.freedesktop.org/show_bug.cgi?id=76732)

Not only is there a lot of log output, the submitter took the trouble to run git bisect on the Linux kernel to see at which point the breakage occurred. I'm sure the submitter spent quite a bit of time and has a high level of familiarity with the project and related tools. This will help developers to isolate the problem and provide a quick fix. Without this level of detail, the issue might never get fixed.

<comment><USER2> Thats the point, ultra motivated contributors will do this, semi motivated contributors can be coached into it, people that just want their stuff to work may not, but all of it is useful, putting a barrier in front of that is wasting developers time.

And I am not speaking solely about small projects, I experience exactly the same thing while working on Firefox OS, at nearing a million 'issues' its definitely not small.

</comment></comment></comment></comment><comment><USER20> I enjoyed reading this. I can relate to the point about reading open issues of a project to know exactly what state the project is in and where it is going.

While I don't actively participate in many open source projects, I have found myself reading the mailing lists and watching the issue trackers for a few projects over the past few months and as a result I feel that I have a very good idea of what is going on with them.

</comment><comment><USER21> I expected some command line tool for github instead of manual navigation through 800 issues. This way he could have saved batches of issues, neatly organized in a directory structure suiting his needs.

<comment><USER22> Check out www.codetriage.com (albeit not CLI). In any case it sounds like you have a great angle for a fresh approach to the issue, maybe using the GitHub API.

<comment><USER6> I should have plugged it; Code Triage was actually directly inspired by the events in this post.

</comment></comment></comment><comment><USER23> I can't imagine being on the receiving side of those canned messages. In particular, beginners seeking help being told to go away.

I still don't know how to do it in open source tho. In private companies that's what support technicians are for, they triage and they do the repro.

<comment><USER6> If you submitted a bug report on Stack Overflow, they'd tell you to file it on the bug tracker instead. GitHub issues are a terrible way to teach someone how to use a project.

<comment><USER23> That's the expert point of view. But when you're learning a technology, you don't know what's the expected behavior, where's the problem (your code or the lib) and if you understood the spirit correctly, so you don't know where the problem is, you just need an expert pair of eyes to make sense of things. So you get kicked out of SO for lack of point-worthy question, and of github for lack of repro.

Moreover some projects do their support on github (not saying it's good or bad, just confusing).

I've had that recently, I don't even know where to ask what's the expected behavior (google chrome APIs, impossible to reach a human being).

<comment><USER6> > I don't even know where to ask what's the expected behavior

Yup, this part can be super bad. This is why I'm happy CONTRIBUTING.md exists on GitHub, and why they show it whenever a new issue is opened.

<comment><USER24> for certain projects, I like ost.io as a way of "ask me anything" to project authors. I wish something like it were more widely used however.

</comment></comment></comment></comment></comment><comment><USER25> Thank you Steve for what you do for Rails; I admire the way you deal with it

<comment><USER6> As I mentioned in the post, I don't do this for Rails anymore, but past me says thanks. :)

<comment><USER25> Do you mean that you don't develop for Rails anymore, or just that you don't do the gardener?

<comment><USER6> I have been taking a break from most of my general open source work. I do a little bit here and there, but not as much as I used to.

<comment><USER26> Aren't you working on Rust?

<comment><USER6> I don't contribute as much _code_ as you'd think: [https://github.com/mozilla/rust/commits/master?author=stevek...](https://github.com/mozilla/rust/commits/master?author=steveklabnik)

</comment></comment></comment></comment></comment></comment><comment><USER27> How do be a little bitch.

</comment><comment><USER28> Not one word about gardening. Fail train.</comment>


Haskell.org is down - <AUTHOR> http://haskell.org

<comment><USER2> Alot of random stuff is down today:

\- Gmail (but not Google.com, iGoogle.com, Reader, etc.)

\- Blogger authentication API (can't login to post a comment on emacs- fu.blogspot.com)

\- Border's account sign-on.

\- Mozy's login page.

:/</comment>


An illustrated guide to all 456 deaths in "Game of Thrones" - <AUTHOR> http://www.washingtonpost.com/graphics/entertainment/game-of-thrones/

<comment><USER2> As near as I can tell, this was not sponsored content/native advertising from HBO. Which is a shame, because I don't think sponsored content would get a hostile rap if it was this well produced/interesting.</comment>


Rewriting Everything in Go - <AUTHOR> https://flak.tedunangst.com/post/rewriting-everything-in-go <comment><USER2> "In this ever changing world with our universal pursuit of extraordinarily high standards, no aspect of a blog could be more important than the language its framework is written in."

Hmmm, that paragraph feels like satire, but the rest of it seems to be in earnest.</comment>