Emacs org-mode examples and cookbook - <AUTHOR> http://ehneilsen.net/notebook/orgExamples/org-examples.html <comment><USER3> It's worth noting a great Android client for org-mode has been recently open sourced:

[http://www.orgzly.com/](http://www.orgzly.com/)

[https://github.com/orgzly](https://github.com/orgzly)

[https://f-droid.org/wiki/page/com.orgzly](https://f-droid.org/wiki/page/com.orgzly)

It was a little annoyance we did not have anything as good as this before.

<comment><USER4> I was wondering just a few days ago whether building a nice Mac desktop app or maybe a web app, akin to Ulysses, but for Org file writing/editing, exporting etc. would be a viable idea and whether it could eat some of Markdown's marketshare by not being tied to Emacs, which is why I feel most people don't pick it up.

Would that be something the HN crowd would be interested in?

<comment><USER5> This will be a tough sell. Org-mode is a fairly fast moving target, due to how easy it is to extend anything in emacs. For lots, you will actually be battling against all of the other extensions in emacs. (For me, as an example, you will have to replace flyspell, beacon, tramp, ace-jump, ido, and ggtags.)

All of this is doable, of course. But it will be a tough sell.

That said, I'd say go for it. Worst case, nobody uses it and you just learn some of the difficulties of implementing. Hard to see that as a failure.

<comment><USER4> Yeah, it would be fairly difficult to build, which is why getting feedback would be useful, but there's a catch 22; people who already know what Org is are fairly comfortable using Emacs and I don't know how to find out if people not that found of Emacs itself would still find Org useful, or if combining apps like Ulysses and Omni Outliner is good enough for them - the worst part is that because they don't use Emacs, they can't tell me.

This really may be the 'just build it and see' sort of scenario.

<comment><USER6> I've often about some sort of app that uses Org as a design basis, but stores data in a way that makes it easy to access remotely without having an Org parser, to be easy to sync and query programmatically, and is designed for the modern world in terms of connectivity and interface.

I think that could _absolutely_ kill it.

Imagine writing extensions in js or lua or whatever, and having those extensions have clear DOM-like access to the outline, have full access to their stdlib, have access to built in services like notifications, etc.

Imagine being able to programmatically access and manipulate the outline from wherever: webhook to add an outline node from IFTTT, twilio access your notes? etc. Yes you _could_ do that with Emacs, but IMHO it would take an incredible amount of work to not suck, partly because all the various pieces necessary feel like hacks on top of hacks.

Sort of how Atom and VSCode provide _much_ better interfaces (both code and UI) to your source code, and are starting to make honest inroads against the established players (like Emacs and Vim).

</comment></comment></comment></comment></comment><comment><USER7> I've been trying for a while to understand what org-mode gives you. I saw Dominik's tech talk at Google, and Bieber's discussion on dropping vim with emacs. I really like the approach taken in this article, showing some of the language features.

IIUC, what org-mode provides you is:

1\. a (markdown-like) lightweight document markup language, with lots of syntax hooks ("#+") for different tools.

2\. some (even lighter, i.e., no "#+" required) organization-based syntax hooks. These are the TODO/DONE/... labels (plus the "[ ]" tidbits), the table syntax, the metadata (e.g. AUTHOR). In fact, the idea of adding metadata to a lightweight markup language is very interesting.

3\. some "programmy" syntax items, including things like tags, spreadsheet- like tables, properties, etc.

4\. the agenda view. This is a horizontal search on multiple .org files to create a work agenda.

5\. some emacs functionality related to automatic recognition and operation on some of the syntax items. For example, org-table-align will "Re-align the table and don't move to another field".

There are lots of other features, but nothing that other lightweight markup languages don't/can't have too.

My main concerns are:

1\. it is inextricably tied to emacs. AFAICT, only (5) in the previous list is emacs-only. All the other functionalities are related to the markup syntax.

2\. I wish the org-mode language was fully markdown compatible (I can barely remember the syntax of one, and now I need to use 2).

<comment><AUTHOR> You are very right that other lightweight markup languages could provide syntax for everything that org-mode does. But what would possibly interpret that syntax?

The fact that org-mode is tied to Emacs is both its weakness but also its strength. By sitting on the Emacs interpreter, org-mode imposes no limits to what you can achieve. The synergy with other Emacs packages is enormous.

You also forgot to mention one of the coolest features of Org: exporting your documents to whatever format you may want, e.g. html, latex, markdown, odt, reveal.js, - and it's possible to hack the export to fit your needs usually with modest effort. Here's an example of workflow to collaborate with Word users, for example: [https://lists.gnu.org/archive/html/emacs- orgmode/2015-06/msg...](https://lists.gnu.org/archive/html/emacs- orgmode/2015-06/msg00246.html)

And here a recent blog post on exporting org to jupyter notebooks: [http://kitchingroup.cheme.cmu.edu/blog/2017/01/21/Exporting-...](http://kitchingroup.cheme.cmu.edu/blog/2017/01/21/Exporting- org-mode-to-Jupyter-notebooks/)

<comment><USER7> I can see some of the benefits of the integration: emacs can do the horizontal search for TODO entries, create an agenda, let you edit it, and move the changes to the right .org file. Still, I'd argue that the file is the important thing here, not the tool to manage it. I should be able to edit .org files with any other tool (e.g. an android app that eventually modifies a .org file in github), and then do re-process the file.

Other languages also allow exporting to other formats. I use md-to-pdf all the time, and it works well. Integrating the use of other tools in the export process should be independent of the usage of emacs.

<comment><USER8> There is lots of functionality you can't do without _some_ kind of non- ordinary editor functionality. The table functionality comes to mind, as does the time management functionality. But, really org-mode's syntax is simple and close enough to MD that it's very easy to implement in other editors. There _is_ a vim package and even an Intellij package. But I challenge you to start implementing the non-syntax parts in another editor and you will quickly see that there is a lot of it.

</comment></comment></comment></comment><comment><USER9> As a complement on how to use Org mode for ops:

\- [http://www.howardism.org/Technical/Emacs/literate- devops.htm...](http://www.howardism.org/Technical/Emacs/literate-devops.html) (Literate DevOps)

\- [https://vincent.bernat.im/en/blog/2017-netops-org- mode](https://vincent.bernat.im/en/blog/2017-netops-org-mode) ("same" for NetOps, I am the author of this one)

<comment><USER10> Howard's YouTube video is really nice too: [https://www.youtube.com/watch?v=dljNabciEGg](https://www.youtube.com/watch?v=dljNabciEGg)

<comment><USER11> After watching this video, I spent a few hours reproducing the core functionality of what Howard demonstrated (with an .org file of my own)...

...and then went further down the rabbit hole. I installed org-reveal and used it to create a very nice presentation out of my .org file - with syntax- highlighted code seemlessly merging with screenshots.

Incredible. Thanks for pointing me to this - and thank you, Howard!

<comment><USER10> Pleasure. org-mode really is the gift that keeps on giving.

</comment></comment></comment></comment><comment><USER12> Server is currently overloaded.

Google cache version:

[http://webcache.googleusercontent.com/search?q=cache:HsxJcXa...](http://webcache.googleusercontent.com/search?q=cache:HsxJcXanfuYJ:ehneilsen.net/notebook/orgExamples/org- examples.html+&cd=1&hl=en&ct=clnk&gl=au)

</comment><comment><USER13> Every time I see something about org-mode posted, I get mad FOMO and decide to re-dedicate my life to learning emacs and everything it has to offer. Then a little while later I inevitably drift back to vim.

It's getting to the point where I need to just ignore cool stuff like this post in order to get on with my life.

<comment><USER14> Try [http://spacemacs.org](http://spacemacs.org) with Evil mode - <USER2> keybindings, all the power of emacs, and emacs pre-configured to work well out of the box.

<comment><USER15> spacemacs is all of the power of vim and emacs with all of the complexity of vim and emacs. Having said that, it's what I'm using for writing code now.

<comment><USER16> I was using spacemacs, but I didn't know emacs and lisp well enough to solve problems when I had them, and getting help was hard.

Now I'm back to using plain old emacs, and I'm hoping I can learn from spacemacs to make emacs better by contributing back to it.

<comment><USER17> You can get help in the spacemacs gitter chat... there is usually someone around that can help you out for most things.

[https://gitter.im/syl20bnr/spacemacs](https://gitter.im/syl20bnr/spacemacs)

<comment><USER18> In my experience, it was kind of hard to get someone to reply back to me when I had a problem.

<comment><USER17> I can be for some advanced things. it's still emacs under the hood though so emacs resources are valid sources of information. That said, it's not busy during the weekend usually and is more active during US business hours.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> I have been a heavy user of Emacs for six years or so.

However, I never really got into org-mode. I use it for some simple notes and lists, but I never export them into any different format. If I want to produce a well-formatted PDF, I directly write LaTeX with the help of some very nice Emacs modes. For online documents I feel that some sort of Markdown is often the most practical choice. So far, in my experience there was little overlap in between these use cases for the same documents.

This cookbook, however, is a very nice resource. Maybe one of these tricks will convince me to use org-mode more productively at some point.

I thought org-mode would be useful for personal task management, but I find it to offer way to many intricate options for that. The restricted feature set of Wunderlist is actually better for me, and having all lists always fully available on any device and the web is extremely useful.

<comment><USER20> > If I want to produce a well-formatted PDF, I directly write LaTeX with the > help of some very nice Emacs modes.

My experience is quite the opposite. I was a heavy LaTeX user, and stopped pure LaTeX years ago when I learned org mode. For the usual markup, Org mode syntax is _much_ nicer than LaTeX's. And if I want custom LaTeX, Org mode lets me insert it in the document.

I never manually write TeX or HTML documents any more. I always author in Org mode and export.

>I thought org-mode would be useful for personal task management, but I find it to offer way to many intricate options for that. The restricted feature set of Wunderlist is actually better for me, and having all lists always fully available on any device and the web is extremely useful.

The task management is as simple or as intricate as you like. Org mode doesn't force any intricacies on you. If you want a simple flow, you can get it without learning too much Org Mode.

However, having it available on any device is a big deal. I'll grant you that.

<comment><USER19> > My experience is quite the opposite. I was a heavy LaTeX user, and stopped > pure LaTeX years ago when I learned org mode. For the usual markup, Org mode > syntax is much nicer than LaTeX's. And if I want custom LaTeX, Org mode lets > me insert it in the document.

That's interesting! I googled a bit and found that people actually write research papers in org-mode.

But in my experience (physics) that usually requires _a lot_ of manual LaTeX control. Also these documents are often written in collaboration with other people, who do not use org-mode.

Frankly, Auctex with Reftex is so nice, I do not see the advantages of org- mode for my main use cases.

Maybe I will give it another try one day for letters and other one-off documents. I could see an advantage in hiding all the LaTeX boilerplate cruft.

> The task management is as simple or as intricate as you like. Org mode > doesn't force any intricacies on you. If you want a simple flow, you can get > it without learning too much Org Mode.

This is one case where I find actual value in the choices and pleasant design somebody else has made for me. Of course, now that I have learnt how well Wunderlist works for me, I could try to re-implement it in org-mode. But what would I gain? Mainly nicer text editing capabilities, secondly independence from a cloud service. The text editing is not a big deal, since it is actually beneficial to keep these lists short. For now, the cloud service comes with so many advantages that I accept this dependence. Finally, I have come to the surprising realization that browsing and checking off these lists is actually nicer for me in a mouse-first, keyboard-second interface, at least as long as I get to use a keyboard with a trackpoint.

<comment><USER20> >But in my experience (physics) that usually requires a lot of manual LaTeX control. Also these documents are often written in collaboration with other people, who do not use org-mode.

You can pretty much embed any LaTeX code in your document. Org mode is usually smart enough to pick up command (\whatever) without any extra markup (I believe this works even for custom commands you defined yourself). Equations are surrounded by a single or double $. If you have other special stuff, you can explicitly put it in a block by itself and Org mode will pass it to the .tex file unmodified.

Yeah, coauthoring could be an issue.

>Frankly, Auctex with Reftex is so nice, I do not see the advantages of org- mode for my main use cases.

I'll confess that I was not an advanced Auctex user, so I can't compare. The author of org mode is a heavy latex user (astronomy professor), so I'm sure he made it good enough for _his_ needs.

One thing I liked was the ability to insert Greek characters with minimal keystrokes (a for alpha, b for beta, etc). You can preview your equations just as you would with auctex.

This tutorial shows the capabilities in older versions of org mode. Not sure if there is an updated version:

[http://orgmode.org/worg/org-tutorials/org-latex- export.html](http://orgmode.org/worg/org-tutorials/org-latex-export.html)

</comment></comment></comment></comment><comment><USER21> Question I've found myself running into with org-mode. How do you use it to collaborate and share notes with others?

I work in a Windows shop (Microsoft data platform partner), and most of my coworkers don't even know what emacs is. I can always export my own notes to HTML or similar for others to consume, but most of my coworkers are using OneNote. I prefer org-mode to OneNote, but for convenience I use OneNote since we can collaborate better.

I didn't find anything that can ingest and spit out OneNote compatible notebooks when I looked.

<comment><USER22> Maybe take a look at Pandoc[1]? It converts between Org-mode and Microsoft formats.

[1] [http://pandoc.org/](http://pandoc.org/)

</comment></comment><comment><USER23> I write lectures for university in org-mode. The PDF export (org -> LaTeX -> PDF) with org-beamer and a theme makes it a nice looking presentation. I can check into Git, can copy and paste layouts, have a great search and don't have to leave the keyboard (which over time has actually become quite a big deal for me).

Just wished Preview would show thumbnails in the TouchBar.

<comment><USER24> For those uninterested in getting into a LaTeX presentation tool, there's also a package [1] supporting export from org-mode to Reveal.js presentations. I've found it to work quite well, and to be much more convenient than any more GUI- focused tool.

[1] [https://github.com/yjwen/org-reveal](https://github.com/yjwen/org-reveal)

<comment><USER23> I have used that, too, works like a charm.

</comment></comment></comment><comment><USER25> i used to use org-mode a lot back in the day, but I lost my emacs config, and since then haven't really gone back. I always have a fond memory of organizing my tech life with org-mode, though. It was truly ahead of its time, but I feel there's better tools for the job now, that specialize in doing each of the many things org-mode does, but better.

Some alternatives I used off and on for a bit: * NValt * Respose Notes * Evernote * Plain Tasks for Sublime Text [https://github.com/aziz/PlainTasks](https://github.com/aziz/PlainTasks) * Workflowy * Other web-based/mobile optimized tools

It's still a great tool for managing a single dev's work life, especially if using emacs, but I've found more modern tools, with collaboration built in, pretty formatting for non-techies, etc. a little more flexible.

(I also dare to say that I'm on Microsoft OneNote these days, mostly because I work in a multi-platform environment.)

<comment><USER26> Just to play counterpoint to this, these features being available in various tools is precisely why I like org mode. Workflowy has always struck me as "org-lite", and plain tasks for sublime is also a good package, as is nvalt. But the combination of org-velocity or deft and org give me all that in an integrated tool. The only thing I _don 't_ get is the clipping ability of Evernote. Plus my data is my own, not locked into someone else's ecosystem.

</comment></comment><comment><USER27> If anyone is having trouble getting the plantuml diagrams going, here is what worked form in OSX:

1) Didn't have Java, installed it by following the prompt that appears by running 'java' in the shell

2) brew install plantuml

3) M-x package-install<RET> plantuml-mode<RET>

4) Add following to .emacs

        (setq org-plantuml-jar-path "/usr/local/Cellar/plantuml/8057/libexec/plantuml.jar")

        (require 'ob-plantuml)
        ;; active Babel languages
        (org-babel-do-load-languages
        'org-babel-load-languages
        '((plantuml . t)
        ))

</comment><comment><USER28> Every time I try to get into org-mode, I just don't get where to start and how to do things. So I end up going back to Sublime text, creating markdown files to take my notes, works well.

<comment><USER29> Given the many different features this is not surprising. My approach was to focus on learning one set of features at a time. I used [http://doc.norang.ca/org-mode.html](http://doc.norang.ca/org-mode.html) as a guide. The order I went in was: Creating / editing / manipulating trees - Being able to easily organize everything in a hierarchy TODOs - how to customize my own list of TODO states to fit my workflow Habits - I created a habit for learning more about org-mode each day Agendas - I found this to be one of the most useful features especially being able to create a custom agenda to see exactly what I wanted - a section of scheduled todos/habits and list of TODO items organized by todo state, sorted by category Capture Mode - makes adding new todo items easy

I used org-mode to help me learn org-mode, using everything I learned prior to help bootstrap learning the next piece. At the same time I integrated the pomodoro technique into my work flow. So my habit item for learning org-mode was to spend one 25 minute period a day learning. Do this for a couple of weeks, making sure to spend some time customizing everything to suit your process and you should be all set.

<comment> m-j-fox Okay but it's too easy to fill a todo list with more than you can accomplish in one lifetime.

I need a guide that tells me how to rationally prioritize work, health and family above my never-ending .emacs.d side project.

</comment></comment></comment><comment><USER30> Org-mode is one of those things that I regret not learning about when I used Emacs full-time. I've had a few friends now show me how it's completely changed their workflow, but since it's not terribly popular in Vim-land (though I am aware there is a port to Vim), I haven't really had a chance to really learn it.

<comment><USER31> Check out [http://spacemacs.org/](http://spacemacs.org/). Adding the org layer is a one-liner: 'org' in dotspacemacs-configuration-layers.

<comment><USER30> I've actually used Spacemacs, but the problem with all these "recreate your Vim setup in another editor" things is that you end up having to redo your entire config. I've had years of custom key-rebindings and tweaks to my `.vimrc` that I don't really feel like redoing for something else.

<comment><USER17> I had a lot of modifications to my vimrc but spacemacs won me over. It's mostly setup well out of the box. If you feel like taking the plunge there is an Irc like thing for open source projects (don't recall the name of it now.) that is fairly active.

<comment><USER32> [https://gitter.im/syl20bnr/spacemacs](https://gitter.im/syl20bnr/spacemacs)

</comment></comment></comment></comment></comment><comment><USER33> I switched to Emacs specifically because of all the Org mode love I'd read about. I've barely touched the surface of Org, thank you!

</comment><comment><USER34> I tried to get into org mode and even ordered the printed manual, but it was just too much configuration work and shortcut memorizing, to be honest. Maybe another time. For now I've reverted to using an _Action Day Planner_ [1] and _Leuchtturm1917_ [2] notebooks with numbered pages for notes, and I'm fairly happy with this system.

In hindsight, given the many things I've tried, email + pencil&paper is still hard to beat.

[1] [http://www.actionday.com](http://www.actionday.com) [2] [https://www.leuchtturm1917.us/](https://www.leuchtturm1917.us/)

<comment><USER35> They're for different kinds of work, really. I use a Leuchtturm1917 with a nice fountain pen for deep thinking and analysis, and org-mode for running notes while doing work.

org-mode is very deep, and you shouldn't try to learn it all at once. Start off small in a way that you find it useful, then start adding in features as you need. There's no need to use all, or even many, of the features for most use cases.

But it's nice to have them when needed.

</comment></comment><comment><USER36> Shameless plug: [http://github.com/alphapapa/helm-org- rifle](http://github.com/alphapapa/helm-org-rifle) Makes it very easy and fast to search through org files.

<comment><AUTHOR> By looking at the GIF in helm-org-rifle I remembered reading about variable- pitch fonts on (what I believe to be) your blog. Great content in there, thanks a lot for sharing!

<comment><USER36> Don't actually have a blog, but I've been thinking about one for some Emacs- related stuff (though it would be feeble compared to the Emacs-related blogs already out there!). I assume you know about Planet Emacs, but if not, planet.emacsen.org. :)

Anyway, about the fonts: I use monospace fonts for code, but I like proportional fonts for Org documents, so I have this in my org-mode hook:

        (buffer-face-set :family (face-attribute 'variable-pitch :family))

Then I use monospace in Org code blocks like this:

        (set-face-font 'org-block-background frame-font)

You could also set that one in the customize interface.

</comment></comment></comment><comment><USER37> For years I've wished to see an implementation of the basic feature set of Org and Remember, et al., as a javascript/node app that could be re-packaged as an outlook plugin, browser extension, or electron app, etc., ...for those of us non-pro-programmer/hobbyist types who really want to use emacs and org to do mere mortal stuff but don't _need_ to live in a code editor/IDE like the pros.

</comment><comment><USER38> Org-mode is on my list of things I should probably learn better, but never seem to get around to. Here are some entries in that list:

      Emacs
      Regex
      Latex
      Bash/Terminal/Powershell
      Unicode
      APL/J/K
      Linear Algebra
      Category Theory

<comment><USER39> Start using the tools.

For LaTeX: I very strongly recommend picking up a copy of the Lion Book (Leslie Lamport) and running through the examples. I actually picked up a great deal by taking documents I'd found online in bastardised for and tagging them up manually in LaTeX for output into flexible formats -- HTML, PDF, ePub, and more. It turns out that the basics of LaTeX are, well, pretty basics. Paragraphs are double returns, which buys you a lot. Italic and bold text, and the ``quoting'' style, are the main adaptations I had to make.

Digging into the equations and images features takes some doing, but you can produce excellent docs well before that point.

Stack Exchange has a wonderful LaTeX community.

Of the rest of your list:

1\. Emacs: I actually got pretty good at it at one point, then signed on to a gig (in the days just before running one's own Unix was readily possible) in which it wasn't available and the boss (idiot) didn't believe in installing anything which wasn't vendor-provisioned. That said: commit to using it. I've found that I prefer vim's editing modes, but there's viper-mode in emacs. The power of having _all_ text interactions under your editor is ... immense.

2\. Regex: Start with the basics. The Sed & Awk book (O'Reilly) is a good start. Most of it is simple substiutions, and you can get tremendous mileage from that, though as with many tools, you can abuse the concept. Perl remains probably the canonical home for advanced regex use, though most languages have some facility for it now.

3\. Bash: I'd recommend this, if only because Microsoft has a poor track record of integrating with others and/or supporting other tools over a long period of time. Bash has existed on Windows since the 1990s under various toolkits, most notably Cygwin, and is now pretty much native.

4\. Unicode: mostly a matter of figuring out what bits you need within a given project. I'd deprecate that on your list and consider it something to pursue on an as-needed basis.

I can't much speak to the remainder of your list, though I'd suggest treating them as tools adapted to uses and goals.

<comment><USER40> As far as regexes, The Sed and Awk book is good, but Mastering Regular Expressions by Friedl is amazing. The amount of time that went into that work is mind-boggling. The deep dives into the differences between different engines and the detailed explanations of why one regex performs horribly vs. another that matches the same thing quickly are really enlightening.

<comment><USER39> I agree with both statements. I _still_ think that Sed & Awk is the better _starting_ reference, as it begins with basic tools.

Deep dives are fine, but sometimes you just wanto to get a few toes in the water.

I'd argue that if you've got performance issues with regexes, you're (arguably) abusing the tool.

</comment></comment></comment></comment><comment><USER41> bandwidth exceeded message

[http://webcache.googleusercontent.com/search?q=cache:HsxJcXa...](http://webcache.googleusercontent.com/search?q=cache:HsxJcXanfuYJ:ehneilsen.net/notebook/orgExamples/org- examples.html+&cd=1&hl=en&ct=clnk&gl=us)

I have gotten into org-mode a few months ago, simply amazing.

Edit: I see why I have been downvoted, but here is the error message I received.

451 Actioning this file would cause "ehneilsen.net//notebook/orgExamples/org- examples.html" to exceed the per-hour file actions limit of 20000 actions, try again later

</comment><comment><USER42> Any suggestions for composing gantt charts in org mode? I've been using taskjuggler but printing them out to anything other than html (ex. image, pdf) has been a hassle.

</comment><comment><USER43> I'm surprised that no one tried to replicate this in electron yet. Outlining alone is really powerfull and would be a great fit for a web based app !

<comment><USER44> Why use electron? emacs is already available. And it includes a pretty great news reader, mail reader, git interface, source-control interface, a thousand other nifty things — oh, yeah, and a text editor too.

<comment><USER37> Even if they _should_ , not everyone _needs_ to, or is inclined to learn and live in emacs. Thinking especially of technically inclined folks (or managers, etc) who don't really write code or have any reason to live in an editor, but get benefit from all the loads of other nifty things - just without the cognitive overhead of stuff like tweaking config files, learning all the keybindings, managing buffers and the like- again, just for the use of org as a powerful, text-based, personal information manager.

<comment><USER45> Why do people think that Emacs is impossible for non-programmers to use?

 _" He wrote a version of Emacs in Multics MacLisp, and he wrote his commands in MacLisp in a straightforward fashion. The editor itself was written entirely in Lisp. Multics Emacs proved to be a great success — programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program."_

[https://www.gnu.org/gnu/rms-lisp.en.html](https://www.gnu.org/gnu/rms- lisp.en.html)

 _" I'm a non-technical user, non-programmer, and I started using it because of org-mode."_

[https://groups.google.com/d/msg/gnu.emacs.help/QU6xN34ollo/K...](https://groups.google.com/d/msg/gnu.emacs.help/QU6xN34ollo/KRtRHBwW1lYJ)

 _" Shel wrote Mailman in Lisp. Emacs-Lisp… Mailman was the Customer Service customer-email processing application for … four, five years? A long time, anyway. It was written in Emacs. Everyone loved it.

People still love it. To this very day, I still have to listen to long stories from our non-technical folks about how much they miss Mailman. I'm not shitting you. Last Christmas I was at an Amazon party, some party I have no idea how I got invited to, filled with business people, all of them much prettier and more charming than me and the folks I work with here in the Furnace, the Boiler Room of Amazon. Four young women found out I was in Customer Service, cornered me, and talked for fifteen minutes about how much they missed Mailman and Emacs, and how Arizona (the JSP replacement we'd spent years developing) still just wasn't doing it for them."_

[http://tess.oconnor.cx/2006/03/quality-without-a- name](http://tess.oconnor.cx/2006/03/quality-without-a-name)

<comment><USER37> I didn't say it was impossible, just maybe not entirely _practical_ (due to time or inclination, etc)

</comment></comment></comment></comment></comment><comment><USER46> For all those who are coming from Vim and experience FOMO... I learned Emacs, it is fantastic editor. Org mode, it is nice, I tried to use it several times, it is a little bit overengineered, but very smart. I wasn't as awestruck with it.

I find whole Emacs ecosystem slow. After I type, things are slowly happening one, by one. Org Mode, especially coming from Vim is not that impressive, I do respect history of it.

</comment><comment><USER47> My big question with org mode is how to really handle todos. Should I always capture tasks into one big file? When I finish them, do I just leave them for this file to grow forever with more tasks being done and having to hunt for the todos in the file unless I use agenda view?

<comment><USER48> You can always put different tasks to different files (per project for example).

There no need to hunt for todos; use `C-c \\` (or `C-c /` for more options) to create a sparse tree. It supports the same queries as agenda tag searches. For example, `/!` to show all unfinished tasks, or `/TODO` for just the ones with TODO as the keyword.

You can also use the timeline view with a prefix argument to see tasks in the current file (`C-u C-c a L`). Or you can restrict other agenda views to the current buffer (`C-c a < t` for a task list). Custom agenda commands can also specify their own set of agenda files (they can also be chosen by a function whenever the agenda view is created).

</comment></comment><comment><USER49> Wow, I didn't know org mode did sequence diagrams. That is going to be really useful to document our code.

Will be great to be able to check in the source for sequence diagrams since the online services I've found for making them are hard to work with as a team.

<comment><USER50> Think of Org-mode as more of a multi-language ipython notebook, where anything (plantuml, ditaa, python, etc) can be used, along with a data interchange format (org-mode vars + tables).

It can literally "do" any tool you use that has a cli interface.

</comment></comment><comment><USER51> It amazes me how powerful org-mode is. I saw that Hugo has started supporting org-mode, together with Caddy server and couple of extensions one could create awesome web based knowledge-base, all with a minimal stack.

</comment><comment><USER52> Bandwidth Restricted The page you have tried to access is not available because the owner of the file you are trying to access has exceeded our short term bandwidth limits. Please try again shortly.

</comment><comment><USER53> Looks great but I personally prefer to take notes with jupyter notebook.

For TODO lists I prefer Asana, since it will send you e-mails/push notifications, and has a website + mobile app.

<comment><USER54> Can jupyter do tables and diagrams followed by code snippets in multiple languages?

<comment><USER55> Yes. You can use cell magic to change the language for each cell and you can display HTML/latex output inline or just mix computations in with markdown. The only problem is that the editor is just a text box with annoying bracket matching instead of Emacs.

<comment><USER56> I really _want_ to like Jupyter. But taking notes or working through things in a textbox element just doesn't cut it.

If I could build my notebooks in emacs...

But then org mode has most of the same functionality.

<comment><USER57> My biggest Jupyter complaint is that, at least by default, produces files that are pretty hard to revision meaningfully in git.

<comment><USER55> The jupyter team are aware of, but not currently fixing, this issue. I use the excellently simple nbstripout as git hook and it silently removes everything but code.

</comment></comment></comment></comment></comment></comment><comment><USER58> exceeded bandwidth limit. how much traffic you think getting on hn's frontpage might bring in?

</comment><comment><USER59> oh, bandwidth restricted

</comment><comment><USER60> A bit unrelated but in the last update of org-mode when trying to use the listings latex package it starts inserting a \ before the { in \lstset {, is there any way to fix this?</comment>


What commands do you use the most? - <AUTHOR>

I recently discovered the usefulness of find (which makes up its clumsiness, forcing you to type -name to search, with the awesome -exec option). So I'm curious what commands do you find to be the most useful?<p>history | awk '{print $2}' | grep -v cd | grep -v ls | sort | uniq -c | sort -nr | head -10 (to look for your top ten commands) <comment><USER2> Here are the commands I use most frequently. However I find lsof and pstree to be the most useful. Even if they are used infrequently.

      60 hg
      37 ./all.sh
      30 vi
      27 ssh
      27 ruby
      20 rm
      18 mate
      15 curl
      10 scp
      10 grep

<comment><AUTHOR> can you show some examples of how you use them?

<comment><USER2> Well hg is the mercurial source control system. The ./all.sh is a script to go over all the projects (there are more than 30 active at this time) and check that they are you to date.

vi is an editor, as is mate (cli accesses to TextMate on the Macintosh). I tend to use vi when just editing a single file and TextMate when working on a project.

The ssh and scp are from deploying and managing projects to various machines. curl is used for testing that various REST apis are working correctly.

I never realised how much I deleted things :)

</comment></comment></comment><comment><USER3> I love qalc. It's not really a command, but a command line application. It's a calculator with floating point arithmetic, knowledge of units (even exchange rates if downloaded) and some solving ability.

My top 10 commands is/are:

      201 ssh
      189 svn
       90 sudo
       84 rm
       73 ps
       70 qalc
       66 mplayer
       60 scp
       47 less
       46 cp

Interestingly, if I remove the ls and cd removal, ls comes in at only the fourth spot. (cd comes at the no. 1 spot, unsurprisingly.)

P.S. I had to change the $2 in the awk command to $4, since I store dates with the commands.</comment>


Ask HN: Appropriate equity share for founding team? - <AUTHOR>

I have recently been approached by an early stage startup (still in stealth) with a solid idea and founders that have a solid track record.
I'm being asked to join the founding team. They use an open source framework that I've contributed to, a language I'm advanced with, and it sounds like a killer opportunity to buck the cog-in-a-wheel machine.
They are in stealth and haven't pursued venture capital yet, they want to build the product to a Beta release before seeking out funding. Their time line is one to two months before they go out and start pitching. So, they have no money to pay for work; the obvious compensation here is in equity shares.
Question to the commenters: does this sound solid? What kind of equity share is appropriate to be asking for as a developer on the founding team? What are your thoughts in general?
If there are any online resources that answer my questions I would gladly receive them; just can't find any since I don't know where to look!
Any input is appreciated! <comment><USER2> I'm not sure there is any good answer to your question but I noticed something about how you phrased it. You DID NOT say "a killer opportunity to get filthy rich". You DID say "a killer opportunity to buck the cog-in-a-wheel machine".

Doesn't that answer your question? If you accept too small a stake, you will have no power of strategic influence over the firm - you will be a cog in a high-risk firm's machine.

Why isn't your "ask" here "parity with the founders"?

<comment><AUTHOR> A good way of rephrasing it, thank you. I've never dealt with the hurdles involved in working for an early stage startup... You are correct, too small a stake and I still have no influence (I suppose this would be a case to branch out into the Do It Yourself ethos of founding your own company).

They are offering 1-2% equity share, per developer on the team... I suppose, in your words, that is less than parity.</comment></comment>


Apple Watch has found a useful home with everyone that works on their feet - <AUTHOR> https://qz.com/1282210/the-apple-watch-has-found-a-surprisingly-useful-home-in-the-service-industry/ <comment><USER2> It's a fantastic product and I've bought the 2nd and 3rd but still haven't upgraded my iPhone. The fitness tracking has helped me to lose 40 lbs. That's easily worth the money right there.</comment>


Picturesurf launches: Dead-Simple Photo Galleries For Bloggers - <AUTHOR> http://www.techcrunch.com/2009/02/09/picturesurf-dead-simple-photo-galleries-for-bloggers/

<comment><USER2> I'm curious about their "480% increase in ad impressions" - I find this a disadvantage than a feature. It may increase their impressions, but will lower their CPM and CPC rates in the long run. Furthermore, its a hassle to the user since it steers them away from the content.

Does anyone see differently?

</comment><comment><USER3> The blog focus is unfortunate. There's only a small subset of bloggers who make any kind of money to speak of, and then there is an even smaller set who will be regular customers.

I notice that they have a Drupal plugin, Twitter functionality, and code to embed the gallery in your webpage. Why then the focus on blogging? It's not just limited to the Tech Cruch article, it's self described: "Launched in early 2009, Picturesurf makes tools for pro-bloggers."[1].

Seems like a case of premature branding. No need to make your target audience so small initially.

[1] <https://picturesurf.pbwiki.com/About-Picturesurf>

</comment><comment><USER4> How do they monetize this? I don't see any monetizing currently.</comment>


Where You Get The Most Bang For Your College Buck - <AUTHOR> http://www.businessinsider.com/forget-the-us-news-rankings-heres-where-you-get-the-most-bang-for-your-college-buck-2010-8

<comment><USER2> 100 ad impressions for one list? Yikes. I'll help you out while my workspace builds...

1) MIT (Annual Return on Investment: 12.6%)

2) CIT

3) Harvard

4) Harvey Mudd

5) Dartmouth

6) Stanford

7) Princeton

8) Yale

9) Notre Dame

10) Penn

11) Duke

12) Lehigh

13) Union College

14) Amherst

15) WPI

16) UC Berkeley

17) Carnegie Mellon

18) Colgate

19) Columbia

20) Rensselaer (10.8%)</comment>


A Brief History of Markup - <AUTHOR> http://www.alistapart.com/articles/a-brief-history-of-markup/ <comment><USER2> This is really a brief history of HTML / XHMTL. Markup goes back long before either. In 1980-81 I used Brian Reid's SCRIBE formatting program (and Emacs as the text editor) to produce the manuscript of my law review note. According to Wikipedia, Brian won the ACM's Grace Murray Hopper Award for his dissertation, which was based on SCRIBE -- which itself was based on (and was the first robust version of) RUNOFF. See <http://en.wikipedia.org/wiki/Scribe_(markup_language)>.

<comment><USER3> And the RUNOFF manual from 1964 mentions that it doesn't implement the FOOTNOTE and COMMENT markup commands from a predecessor called "DITTO"...

<http://mit.edu/Saltzer/www/publications/CC-244.html></comment></comment>


Show HN :Coinabul-the bitcoin to gold dealer. - <AUTHOR> http://coinabul.com

<comment><AUTHOR> This site should help with bitcoin liquidity. They also buy your gold for bitcoins.</comment>


Older Developers - <AUTHOR> http://softwarerealities.com/2013/04/24/older-developers/

<comment><USER2> Author doesn't seem to understand why most people go into software engineering. It's because they are creators not managers.

Employers need to get what motivates their employees and put people in positions that enable those employees to pursue the things that make them happy.

And also recognize that what makes their employee's happy may be completely orthogonal to what makes the employer personally happy.

Passing judgement on those employees that choose to stay in position well into their 40s and 50s is just childish and shows a lack of perspective.</comment>


What are the best collegiate startups? - <AUTHOR>

Any startup who has a founder still at school (undergrad/grad)<p>I'd really appreciate it if you could list a few startups/founders. (The founders can be out of school now) <comment><USER2> We're just getting started, but are all about to graduate and do it full time. Definitely not the best (yet!).

[http://residency-scheduling.org](http://residency-scheduling.org)

</comment><comment><USER3> [http://www.getcampusmaps.com](http://www.getcampusmaps.com) started as a collegiate startup

Several YC startups qualify as well - Watchsend & Zinc from memory

</comment><comment><USER4> Google

<comment><USER5> Followed closely by facebook I guess.</comment></comment>


A Turing Machine in the Classic Style - <AUTHOR> http://aturingmachine.com/ <comment><USER2> I really wish he hadn't used literal zero and one arabic numerals (along with _blank_ ) as his tape symbols.

dash and pipe would have been much more evocative of 1-bit information, rather than persisting with this misleading "ones and zeroes" bullshit that has infected popular culture and tends to totally obscure the underlying concept.

</comment><comment><USER3> Thats very well put together. Great attention to detail with the user display as well.

I wonder how long it took to put together.

</comment><comment><USER4> It's done by the guys at Parallax and the Propeller powers it:

<http://en.wikipedia.org/wiki/Parallax_Propeller>

</comment><comment><USER5> Quite awesome, though I have to wonder how much computing power goes into reading the zero's and one's, controlling the servos, powering the led display, programs, etc. relative to the amount of computing power of the turing machine itself. A ratio of 10,000 to 1? A million to 1? A billion?

<comment><USER6> Isn't the whole point that they are equivalent? Both can calculate anything that can be calculated (in finite space, since both are limited by the finite length of the tape / size of RAM).

</comment></comment><comment><USER7> I immediately thought three things:

1) Cool! I want to clone it; baring time, I want to buy it.

2) Since I have neither time nor disposable income right now, I have some serious g33k envy.

3) Jay Walker's library should have this. (<http://news.ycombinator.com/item?id=996939>)

Well done, man.

</comment><comment><USER8> That doesn't look like an infinite roll of paper tape to me.

<comment><USER9> It can, however, be arbitrarily long.

<comment><USER10> But even so, it's no more powerful than a finite state machine if the tape length is finite.

<comment><USER11> Turing machines don't define speed. So if the human is willing to get notified of a tape overrun, and splice on more tape, it is infinite.

<comment><USER12> Except that the computational capacity of the universe is finite (see <http://arxiv.org/abs/quant-ph/0110141>).

<comment><USER13> I remember that the Universal Turing machine needs an infinite tape. But I don't think you'd need one in practice.

Besides, memory and states in modern computers are finite too, and they're all Universal Turing machines.

<comment><USER14> Not quite, in practice they are pretty much equivalent but they're not Universal Turing Machines. For that they would need to have infinite memory. A Universal Turing Machine is a theoretical construct, it's not something that could actually exist.

<comment><USER13> I did some more research and digging through my books.

A Universal Turing machine is one that can read programs from its own tape.

Infinite tapes are necessary for the halting problem, to allow programs to run infintely on infinite memory.

Turing Completeness is when the machine is proven to be equivalent to a Turing Machine, i.e. it can be programmed to solve any algorithmical problem.

<comment><USER14> Your definition is slightly wrong. In Alan Turing's own words:

        It is possible to invent a single machine which can be used
        to compute any computable sequence. If this machine I is
        supplied with a tape on the beginning of which is written the
        S.D of some computing machine M, {242} then I will compute
        the same sequence as M.

(Alan Turing, 1936, On Computable Numbers, With An Application To The Entscheidungsproblem)

So it is no merely that the Universal Machine can read and execute programs, it is that it can read and executes programs to make itself equivalent to ANY other turing machine. Thus the Universal Turing machine is Turing Complete. As the amount of tape required to solve all computable programs is unbounded the Universal Turing machine must have an infinitely long tape.

It's usually worth going straight to the source where you can in CS, but much more so with Turing as his papers are so nice and easy to read :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Does anyone have the original Turing paper? I missed the section about multi- core CPUs and SD cards.

</comment><comment><USER16> This is very cool! Thanks for posting this link.

A very nice description of Turing machines, Abacus machines and in introduction to recursive functions can be found in the book "Computability and Logic" by Boolos, Burgess and Jeffrey.

</comment><comment><USER17> "He further shows that a machine with the correct minimal set of operations can calculate anything that is computable, no matter the complexity."

Does anybody know what this principle is called?

<comment><USER16> There is the intuitive idea of an effectively computable function (of one or more natural numbers given as arguments): given the arguments, you can compute the value of the function using a "procedure" (or a set of rules) that does not require any creativity. Example: Addition of two natural numbers n and m. We know how to calculate n+m :-)

How can we formalize this notion of effective computability? On possible formalization is the notion of a Turing computable function, that means a function that can be computed by a Turing machine. One can show that addition, multiplication and many other functions can be computed by a Turing machine.

Now it is clear that every Turing computable function is effectively computable (just use pen and paper and write down what the Turing machine is doing).

The other direction is known as Church's Thesis (named after Alonzo Church) or Church-Turing-Thesis: every effectively computable function is Turing computable.

The thesis can not be proved, since "effectively computable" is an intuitive notion.

Two other formalizations of the notion of effectively computable are abacus computability (similar to Turing machines) and recursive functions. One can show that all these notions are equivalent.</comment></comment>


Great news: Tony Morris is OK - <AUTHOR> http://twitter.com/DRMacIver/status/1317240129 <comment><USER2> Now for those of you that know him make sure he stays OK.

Seriously.

</comment><comment><USER3> I may be out of the loop, but who is Tony Morris?</comment>


Oil tycoon T. Boone Pickens dies at age 91 - <AUTHOR> https://www.bostonglobe.com/metro/obituaries/2019/09/11/oil-tycoon-boone-pickens-dies-age/4gfjNQMWg6N8AD0XT7kdgK/story.html <comment><USER2> One very positive thing I gleaned from T. Boone Pickens is the importance of share holder rights. As someone from the polar opposite side of the political spectrum, I feel that's one area where we'd find common ground.

I've always been curious how he felt about tech companies where the founders have disproportionate amount of power (relative to their holdings).</comment>


Show HN: Uphold – Tool for programmatically verifying database backups - <AUTHOR> https://github.com/forward3d/uphold <comment><AUTHOR> I created this tool a while ago, but since it's apparently world backup day I thought it a good time to submit it here. It was created out of the fact that we run automated backups of our various databases, yet we very rarely attempted a restore. This allows me to know for sure that the backup was created and that it's available, accessible & restorable. You can then if you want to, programmatically test the contents of the database using RSpec, just so that you make sure you aren't backing up the wrong one inside. So now we have the backup rubygem ([https://github.com/backup/backup](https://github.com/backup/backup)) triggering Uphold to fully test the backup after it's finished being made through the API.

<comment><USER2> Very cool. Ever thought about including default test suites with the tool? E.g. I have multiple nightly backups of Drupal databases and could think of some obvious default tests against the core tables that would be useful for all of them.

<comment><AUTHOR> Sure, if you PR some example tests in I can make that happen.

<comment><USER2> I'll look in to it. I have never used Docker or Ruby but RSpec looks pretty straight forward from a quick scan.

<comment><AUTHOR> Even if you just write the SQL I can translate it into RSpec if it'll save you time.

<comment><USER3> do you have a tool that does this translation or is the tool your brain? :)

</comment></comment></comment></comment></comment></comment><comment><USER4> Looks very interesting and I can possibly use this at my work.

I will take a closer look but what was not immediately apparent was: what kind of backups are we talking about here? mysqldump or volume snapshots ? What about incremental backups ?

Redis snapshots support would be awesome as well.

<comment><AUTHOR> It supports MongoDB, MySQL and PostgreSQL at the moment. It's really easy to add extra engines, you can even write your own custom ones and include them. But it's mainly dealing with full dumps, rather than volume snapshots or incrementals. That said, there's nothing to stop an "engine" being written that could create an EC2 machine using Packer and attaching an EBS volume and then testing that.

I have plans to support things like RDS as well in the longer term.

I've got some redis instances here that I can test restoring from, so could look at adding that.

</comment></comment><comment><USER5> Nobody ever checks their backups! This is such a great way to take care of it automatically.

I'm not at all against sanity checks, especially of something you trust will work when you need it to like backups. But what would cause a DB backup to the filesystem to fail? When they are/were stored on tape or other media, there is certainly the concern of media corruption. But when we're talking about files resting on disk, what would cause a backup to be corrupt or unusable? Certainly there is some expectation that mysql/psql can reliably dump a DB. Or is it purely for sleeping soundly at night?

<comment><AUTHOR> We transfer our backups to S3, so there's always a chance that it could be corrupted during transfer, or that the compression could have failed before transfer.

It can also help catch operational changes, eg. someone changed the root password and updated the apps that depend upon it, but didn't adjust the backup scripts.

</comment></comment><comment><USER6> > then running programmatic tests against it that you define to make sure they > really have what you need

Sounds like the crux will still depend on how well one writes these tests.

Agreeing that no backup is verified until it is restored... one way this can be achieved is use something like Ansible to script the backup of the database, script the restore, and run them and verify everything is backed up / restored properly.

Then since everything is automated, a person can reasonably trust their backups are verified, with the full confidence if they need to do a backup/restore, they just have to run a script.

<comment><AUTHOR> You don't have to run the tests if you don't want, the tool has a different state for when you don't have them "ok_no_test". For some backups we run through Uphold we have written some very basic ones, like looking for the existence of some specific users, or that a table has X number of rows, which are very good for quick sanity tests.

</comment></comment><comment><USER7> Writing something like this has been on my todo list for what feels like forever. I'll definitely play around with this. Thank you!</comment>


ASK HN: Is there room for a new search engine? - <AUTHOR> I'm relatively new in posting to the HN community, though I read it a bunch, and consistently find the discussion on here to be the most intelligent in tech. I figured it would be worth posting a concept I've been thinking about to hopefully get some good feedback. Not sure if its the right forum for something like that, but here goes.
To begin, I do search engine marketing for Roomorama.com, I'm part of the founding team, and love working there, though am always thinking about new potential projects, like I'm sure most of us do.
The theory I'm working under for the concept I'd like to get feedback on, is that "search", as it currently exists for the most part, is an indexing and  parsing of HTML, while the web, and what people actually want when using search, isn't HTML. Its objects that match their long tail criteria.
When you think about it, the results that come from the current process, are only a good approximation of what searchers really want. If I'm looking for a blog post about the American Jobs Act from a liberal blogger under 500 words, will Google be able to really help? Or if I'm looking for an event, the weekend of October 15, in Denver, that's good for kids, will Google help by returning HTML pages? Not really. If you're a savvy web user, you go to the vertical search engine that is best (indeed for jobs for example, or eventful for events, or whatever). But that requires the person knowing those engines, which most people in the real world dont.
Google is trying to get structured data into search results (ITA software acquisition as example), but it has been kind of a mess. Try searching "apple pie recipe" and look at the mess that they offer up. I have no doubt theyre going to improve, but the major search engines architecture and infrastructure is so fundamentally based on the concept of HTML web pages being the backbone of the internet, that I think its going to be hard for them to really move away from that.
Is there room for a search engine that starts from the beginning, looks at each vertical, brings structured data into the system (via partnerships with the vertical search engines that exist) and intelligently returns the results that their searchers really want, with a smart way of being able to sort and refine?
Just throwing it out there. Appreciate any thoughts you'd have! <comment><USER3> I think the thing the worst thing Google does right now is its search. I challenged myself to use Duck Duck Go (DDG) for a month and after a month I'm still using it. The only thing I miss about Google's search are the occasional fun Google logos on holidays. But that's it! There is no real difference. I still find the content I'm looking for, etc.

What that tells me is that yes, there is great room for new search engines. I hear whispers about a super elite team at Google that does amazing algorithm work and data analysis work to keep their engine going, but at the same time I'm getting comparable results with Bing, DDG, etc. Several times people have posted a link to blind search where you see the results without the branding and it becomes difficult to discern the difference.

<comment><AUTHOR> Yeah I think Blekko had a search engine monte thing where you could run a search blindly across 3 engines and see which ones were best. At least for me, no search engine came up on top.

The theory I'm working with is that its because they're all looking at the web as a series of web pages, instead of discrete objects or data.

So like a search for "2 bedroom apartment in new york with a doorman" awkwardly brings me results of web pages (that are SEO-ed to the hilt :). Instead, don't I just want a series of apartments that match my criteria?

And couldn't that data be fed from those offering this structured data in the first place such as Roomorama.com (the site I've been working on), or Airbnb or others?

Thanks for the reply :)

</comment></comment><comment><USER4> I believe there is.

Let's examine what we have so far. When you search for 'apple' in the library, where do you go? In truth, without indexing or the help of the librarian, you go roving through the library and gather all material related to or with the words 'apple' and 'display' your results. Google uses algorithms to do just that - and according to the materials' the relevance and/or 'hits', it will be listed as such. And, when advertisers pay$ for their ads to be listed first - these listings will show up in the uppermost sections of the first page - <USER2> someone paid me at the library to look for certain material and display them first, I would too. Alas, this is the nature of things and we as end-users often have to muddle through the endless list of 'stuff' to find what were searching for. Yes, yes, we could narrow our search and type 'apple, fruit' and get more or less what we wanted but there is still ad 'stuff' that we had to dredge through.

My point is that it would be nice to have and indexing of stuff or a 'librarian' to go to to be able to help us narrow our search parameters. Suppose the network infrastructure 'knew' exactly where 'stuff' is - it's more akin to you finding stuff in your room or house - if things are cluttered, you will be using algorithms to search through all that stuff; but if things were organized (since you organized it and put it there, and putting the algorithms back in your pocket), you wouldn't have trouble finding it. Technically, this would mean that the information would be stored locally by each of the end- users on the network, and because it's stored by end-users, the network 'publishes it' and knows where to 'look'. Just my thoughts...

</comment><comment><USER5> Yes. My ideal search engine would return answers rather than a list of links to answers.

Brain dump of ideas follows:

Search for: "Best cheesecake recipe?" Result: Ingredients, step-by-step guide, perhaps a video too.

The search engine would adapt to my knowledge and, if I do not know much about baking, and/or cheesecakes, it would inform me that cheesecake's can be broadly categorised as baked or unbaked. It would recommend the recipe for one type to me based on which is easier for a beginner to bake, but with the option of overriding the default.

Search for: "Best steak"

Now this is a little ambiguous, so I would be prompted for further information such as "price range, distance, the time that I would like to eat at".

Result: x restaurant, which is y distance from you, serves the best steak at z pounds.

If applicable the search engine would inform me that if I am willing to travel half a mile further then I am able to get an even better steak for half the price!

It would also be great if I could make a reservation from the same page displaying the results.

\</comment><comment>----

Now I realise that the above is pretty much impossible for a variety of reasons, but I would love to be able to pay for something like this.

</comment><comment><USER6> Yes. I don't have many specific complaints with Google Search. However, as companies get larger they often look "upward" at upper management and investors instead of looking "downward" at their customers. What I mean by this is they are often more concerned with pleasing their bosses, meeting revenue goals for investors, and generally not rocking the boat. This presents a great opportunity for small companies to disrupt the market.

You should definitely read "Seeing What's Next" by Clayton Christensen to get a better idea of where the weaknesses can be found in companies that dominate the market. A focus on semantic search certainly sounds like it could be a good area for a new entrant to gain some ground. Good luck!

</comment><comment><USER7> There is always room for a new search engine. I think Paul Graham wrote an article that questioned "do you think 100 years from now we'll be using the same search engine? I don't even think Google believes that".

There is a lot of room for innovation - there always is. Also, a lot of niche search engines are popping up. I briefly perused TC this morning and saw an engine focusing on family heritage...

</comment><comment><USER8> you are talking about semantic search. it's a whole """new""" world, which requires different things to be in place. G+ and FB are walking on that path, linking different things to eventually offer a smart search engine. not to mention lifelogging which is part of all of this, since people needs to put a meaning on their stuff, differently from blog posts where there is too much information without clear structure.</comment>


What work perks are employees secretly looking for? - <AUTHOR> http://blog.knitapps.com/work-perks-employees-are-secretly-looking-for/ <comment><USER2> Glaring Omission: Location of work is advantageous to the Workforce from a Standard of Living perspective.

As in, there's a reason Toyota took 5 years of study and careful evaluation then picked Plano, Texas for its US HQ and got a significant amount of transplants. Other companies moving to Texas have similar stories. I've caught a few on the local PBS broadcast "CEO" if that helps cite sources.

On paper, Plano and the surrounding areas have an exceptionally appealing set of conditions. No state income tax. Large sprawl for housing. Cheap gas. Plentiful good schools, public and private. High end everything available.

It's obvious that these conditions, chosen by the employer, had the employee's life in mind. At least that's my takeaway, and I think it's a positive one.

</comment><comment><USER3> No agile!

</comment><comment><USER4> work from home!</comment>


Language at the End of the World - <AUTHOR> http://www.cabinetmagazine.org/issues/64/mikanowski.php <comment><USER2> It's sort of funny how much progress you can make with a green-field project. For instance, English currently is so crufty that it's hard to argue that it's a logical language.

Once you start over without any more preconceptions than "I can write things on paper that other people will understand later" things start to get interesting.</comment>


CodinGame – Become a Better Developer - <AUTHOR> https://www.codingame.com/ide/39565972565e53b92ba44dd3b43975a35594685 <comment><USER2> This is pretty cool ! I have been playing it for about 4 months. The community is very helpful

</comment><comment><USER3> That looks so amazing, Imminent danger testcase play working fine</comment>


Horrors of 'Kodi Boxes' Shock The UK - <AUTHOR> https://torrentfreak.com/the-terrible-horrors-of-kodi-boxes-shock-the-uk-170702/ <comment><USER2> So here we are now: A deliberate campaign to make video players that support non-DRMed video illegal.

The video industry is successfully lobbying to outlaw any kind of ownership of content and make sure any kind of free video playback illegal. From now on only geoblocked playback on fully locked down devices is acceptable for them.

</comment><comment><USER3> Kodi is an amazing piece of software. Been a user since its xbox origins. Its a pity it's getting so much bad rep because of some addons which are nothing more than a ui for pirate streaming sites.

</comment><comment><USER4> Is this a satire of the short film Cream? [https://vimeo.com/219292410](https://vimeo.com/219292410)

</comment><comment><USER5> On an Apple TV you can access DPStream pretty much easily. So let's ban Apple TV ?

</comment><comment><USER6> Hardcore porn... Sure it's that bad?

</comment><comment><USER7> what is a kodi box?

<comment><USER8> Apparently a streaming device that can be easily setup to stream from pirate sources

<comment><USER9> Okay, so the same content minus the ads is corrupting our kids?</comment></comment></comment>


Linus Torwalds is furious at Intel - <AUTHOR> http://www.businessinsider.com/linus-torvalds-linux-inventor-is-furious-at-intel-2018-1 <comment><USER2> I imagine Linus Torwalds as being always furious, at everything and everyone.

Although the content of the actual email hardly makes him come across as furious. Is it because he used the word shit?

<comment><AUTHOR> Apple and Microsoft, being partners with Intel, can't complain about the bugs - publicly at least.

What makes it news is that Linus can and does rake Intel over the coals. Unlike a lot of the others complaining he's much more credible.

It's not like this is the first time Intel has had a problem. Anyone remember the floating math problems of the early Pentiums?

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

</comment></comment><comment><USER3> This is effectively a dupe of:

[https://news.ycombinator.com/item?id=16066968](https://news.ycombinator.com/item?id=16066968)

</comment><comment><USER4> >Techies are going crazy after "Meltdown" and "Spectre," two new methods for stealing passwords, were revealed

Imagine being a journalist and having to churn out this pointless drivel for a living.</comment>


Airbnb rental turns out to be public housing apartment - <AUTHOR> https://www.fox5ny.com/news/airbnb-rental-turns-out-to-be-public-housing-apartment <comment><USER2> They need secret shoppers on Airbnb. I have friends that do corporate housing through Airbnb, VRBO, and CHBO. If these fake or misleading Airbnb stories stir up enough problems, local and state governments will severely limit or restrict these listings. There are a lot of people on Bigger Pockets who make a living off of short term corporate rentals.

<comment><USER3> It sounds like the listing was not up for a substantial period of time. The community did a good job of policing itself.

</comment></comment><comment><USER4> Wouldn't the address be in Airbnb database when the posting is listed? Why could Airbnb check its location?

<comment><USER5> Because it's not profitable to them. It's absolutely trivial to get purposely- built public housing locations into a database and set up a process to deal with exceptions. But then they would lose their commission.</comment></comment>


Ask HN: Why are hackers called different 'hats'? - <AUTHOR> I'm aware of the black/white/grey hats, but why is it hats?
I apologize for this rather low level question void of any real material, and I'm aware it's not really a question up for discussion, but I'm not really able to google out an answer and I don't know if Stackoverflow is the right forum to ask.
Thanks in advance! <comment><USER2> In some cowboy movies, the bad guy wore a black hat and the good guy wore a white hat.

<comment><AUTHOR> Oh, like the scene in Westworld..! That makes sense, thanks

<comment><USER3> See also [https://en.wikipedia.org/wiki/Black_hat](https://en.wikipedia.org/wiki/Black_hat) .</comment></comment></comment>


Warcraft director Duncan Jones: "I wanted to make a great film" - <AUTHOR> http://techcrunch.com/2016/06/07/duncan-jones-warcraft-interview/ <comment><USER3> The 'Warlords of Draenor' [1] cinematic Blizzard used to promote it's 2014 WOW update was badass. I mean, I conventionally dislike stuff of that nature, I'm no WOW player, but the short got right what everybody else gets wrong.

So I was accidentally excited for the feature film it inspired. The older I get, the less frequent appearances by my inner 12 year old become, so it's always refreshing when it happens. My worldview has never been so self-assured as it was the day before I hit puberty.

Unfortunately, when the trailer for the feature descended it revealed itself to be another cringeworthy iteration of the sanitized pablum we've come to expect from Hollywood. Once again the big studios just can't be trusted to resist the urge to bashfully position figleafs over the patriotic nerd- genitals that inseminated this monstrosity.

[1][https://youtu.be/TLzhlsEFcVQ](https://youtu.be/TLzhlsEFcVQ)

<comment><USER4> After watching now the 'Warlords or Draenor' you mention I'd say that the movie is somewhere between that and the movie trailer which indeed looks like drivel.

</comment></comment><comment><USER5> The 16% score on Rotten Tomatoes suggests that he didn't. It's a shame because we could have had another movie as good as Source Code or Moon, the last two movies he directed. But instead it's this CGI waste of time that anyone could have made.

<comment><USER6> They gave one of my favorite movies, The Thirteenth Floor, a score of 29% while it's rated decently in other places and is a pretty good film, definitely not garbage...

I'm having a feeling some reviewers just don't know what to do with certain movies that do not fit a particular mold, and then keep trying to compare them to other movies when it's not appropriate, and Warcraft is also most likely being punished out of the gate for being Warcraft.

Reviews from people so far seem to be pretty good.

<comment><USER5> I don't really buy that. The last Mission Impossible got a 93% on RT. Civil War got a 90%. Genre movies that aren't trying to be more than simple entertainment tend to do well on RT if they're good.

It's more like Warcraft is being punished for being "a Battlefield Earth for the 21st century" according to the article.

<comment><USER6> Aren't Mission Impossible and Civil War both popular, accepted franchises? With fairly simple, clear-cut storylines? Warcraft is not really in the same bucket. It's closer to something like John Carter, where some people are in the know, the rest don't know what it is, and it's trying to squeeze a truckload of information into not enough time. And in the case of Warcraft in particular, a lot of people perceive it as embarrassing.

</comment></comment></comment></comment><comment><USER4> I watched it with friends in Germany last weekend and although I've never played Warcraft or any other similar game (most of what I know comes from watching the Log Horizon anime), I did enjoy it very much.

They did a great job with the main Orc character: he has a personality and I felt identified with him, and at the same time the motion capture and CGI worked great, making him feel alive to me.

</comment><comment><USER7> I liked it. But you really have to be a Warcraft fan for that. For anyone else it's just a bland generic fantasy movie.

<comment><USER8> I've been playing World of Warcraft for about 6 years now. I know what's happening and who the major players are, but I'm not a lore geek by any means. I'm looking forward to seeing the movie this weekend.

My partner, on the other hand, made it up to level 8 on a new character - <USER2> the Recruit-A-Friend XP bonus - before giving up. They just couldn't get into the game and went back to playing LOTRO. They like fantasy films; they know there's orcs and dragons but couldn't tell Sargeras from Deathwing. I'm curious to see how our feelings on the movie differ.

<comment><USER9> It's worth noting that the _primary purpose_ of the Warlords of Draenor expansion was to introduce the eponymous Warlords, as they are important characters in the movie that casual WoW players would have likely not known otherwise.

That didn't work out well due to movie delays, and most of the Warlords are pretty generic.

</comment></comment></comment><comment><USER10> not a very helpful comment, is it? Is there a single director in hollywood who DOESN'T want to make a great film? They go around intentionally producing garbage? Even if they're not putting 100% into their craft I think every director (perhaps ever) would choose "make a great film" over "make a bad film."

</comment><comment><USER11> It's worth noting that Warcraft is doing quite well in overseas markets, which suggests that there isn't anything fundamentally wrong with the film. I suspect US performance will be better than the critics indicate.

</comment><comment><USER12> I'm hoping it will be half of what the Fellowship was. Please.

<comment><USER13> thats a tall order for most films. but i do share the hope.</comment></comment>


Ask HN: What supplements/vitamins are you taking or recommend? - <AUTHOR> <comment><USER2> CRON-o-meter.

Meet all RDAs with just a variety of whole quality foods before adding supplements, get more calcium (or magnesium) than phosphorus, and ensure sufficient quality sleep (ZMA, melatonin, blocker glasses, etc). Maybe 20-30 minutes HIIT/lifting every other day.

Everything else is based on genetics (testing results run through interpreter sites).

Vitamin D3 (+ K2) is a common issue. Can also get via special light. Serum 25(OH)D in the 40s (ng/mL) if not doing anything special or to the top of range (~100 ng/mL).

Second is magnesium (at least 1:2 with calcium or 10 mg/kg overall, whichever is greater).

AOR Ortho-Core is great. Same with Thorne, Naturelo, and Life Extension.

</comment><comment><USER3> I try to focus on getting my vitamins from actual foods when possible. I try to only supplement with protein (Orgain powder) for weightlifting, and vitamin d due to inside lifestyle. The biggest benefits from sticking to "real" foods is that it helps keep my caloric intake down while still staying full, still struggling with that though.</comment>


Ask PG & HN: So, when should someone go to Silicon Valley? - <AUTHOR>

I once asked this "Ask HN: You arrived at Silicon Valley. What do you do next?"  (http://news.ycombinator.com/item?id=4268060)
The few responses I had basically said "DON'T COME TO SILICON VALLEY UNTIL YOUR READY WITH AN IDEA AND SO FORTH AND MONEY TO SUPPORT YOURSELF" or something like that.
While nice and all, this seems contradictory to the advice that people like PG and various blogs say that you need to be in an environment like SV so that non motivated people commonly found elsewhere don't spend all day shooting your dreams and ambitions down.
Which comes to the question.  When should someone come to Silicon Valley?  Can a dream survive in one of the most expensive places in the world to live when all you have is a dream and no other resources? <comment><USER2> While I don't think its malicious, remember that PG, Silicon Valley VCs and most of those blogs make money off of the starry eyed young entrepreneurs coming to Silicon Valley. Entrepreneurs essentially are their resources that power those types of businesses. Nothing wrong with it - just remember where people who give out advice are coming from and what they benefit from even if it may benefit you as well.

My personal advice would be to start doing whatever it is you are dreaming about on as little cost as possible and once you identify that your business actually has a true need to be in SV then make the move. It all depends on financial habits and lifestyle but I think many will find that their "normal" middle class lifestyle in SV can gobble through a 100k/yr salary quite easily - its possible to live here on way less but one should be aware of the elevated cost of living.

<comment><USER3> For sure, there are a few trailer parks around here you can rent in. Best way is to come work for a start up or work for a bigger tech company. Go to meetups, go meet VCs, network.

So the answer is come, just move here, don't wait. I wish I had moved back in 1998 when I had the chance instead of 2012.

</comment></comment><comment><USER4> I dont subscribe to the philosophy that one must be in SV to take their idea to the next level or succeed in general. SV is not a shrine for success and coming here isn't a magical formula for success.

Yes, I am in SV, but I feel like other areas also have a thriving startup community just as great as SV.

NYC, Boston, Seattle.

DuckDuckGo for example is in Philly.

</comment><comment><USER5> My feeling on the matter is that you don't go there until you have, at minimum, a well developed concept that you're ready to start moving on, and it's probably preferable to have gotten started on a MVP. The other question you should ask yourself is whether you need to be located in Silicon Valley at all. As you note, there are both personal barriers to entry (i.e. expense) as well professional barriers to entry (i.e. it may be easier to gain initial traction in another market that isn't as inundated as Silicon Valley is with other startups), and every case is different.

Like most other decisions, it really should just come down to a cost-benefit decision. Are the additional costs of moving to Silicon Valley offset by the benefits (better networks, available talent pool, availability of VC funds), or are you better served somewhere else? Only you can make that decision.

</comment><comment><USER6> One way to make the transition easier- get a job offer from a tech firm out here. Then if you're still unsure about moving out here to start a company, you can use that as a stepping stone to make the transition more comfortable.

If you can't manage to get a single job offer, I wouldn't recommend moving out here to start a company on your own. The bar is much, much, higher for starting a company than getting a job as a developer.

<comment><USER7> I've been trying to get a job offer for a company in SV for the past 5 months and no luck so far. Do you have any tips for getting a job in SV when you don't already live there (but are willing to relocate)? I've done a dozen or so interviews, and even been flown out a few times, but have never been offered a position. For reference, I have 5 years experience doing python, and I even run my own "startup" as a solopreneur (quotation marks because I'm not doing this project for the money and cost == profit)

<comment><USER3> Figure out why you aren't passing the interviews. Learn Java as well.

</comment></comment></comment><comment><USER8> I plan on moving to SV and working for a startup, then launching my own venture one day. I feel like this is an easier transition and I'll be able to accumulate some more experience and assets before I develop something on my own.</comment>


Ruby 2.4.0 Released - <AUTHOR> https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/ <comment><USER2> Compared to Rust, Go. The list of improvement for a yearly Ruby version is rather small. Some will argue Rust and Go are relatively new, but there are actually LOTS of low level performance improvement done within a year time frame.

Even if you compared to Python 3, the improvement is still rather small.

I know there is always the argument about the lack of resources, and Rust is being backed by Mozilla while Go is being backed by Google. But what about Python?

Exactly how much money is Mozilla spending on Rust, paying how many developers full time? Apple JS Core team is incredibly small, but they manage a B3 JIT compiler with 2 people.

How much money is needed? Matz and Tenderlove both mention they need more resources. Surely we can fund rise? With lots of successful companies using Ruby on Rails. Basecamp, Twitter, Groupon, Github, Gitlab etc. Or Ruby communities lack the compiler / JIT expert, can we hired some?

I am not trying to downplay the Ruby improvement. But I think Ruby needs more contributors. Moving to GitHub to get a higher exposure has been banned due to GitHub not being an opensoure product. But they also dislike hosting on Gitlab for some strange reason.

<comment><USER3> What do you mean moving to GitHub has been banned? This isn't it? [https://github.com/ruby/ruby](https://github.com/ruby/ruby)

<comment><USER4> There are core contributors who would no longer participate because they refuse to use proprietary systems, even remote ones, and do not even run JavaScript. Matz prefers overall inclusivity to losing the contributors, so a wholesale move to GitHub (instead of RubyMine) is not going to happen.

</comment></comment></comment><comment><AUTHOR> Performance related:

      * Hash improvements via better locality for modern CPUs
      * #max and #min without temporary array
      * Speed up instance variable access

<comment><USER5> Regexes also had some changes which have improved our results on regex-heavy benchmarks by as much as 3x.

<comment><USER6> Nice! That's good to know.

</comment></comment></comment><comment><USER7> I still love you, Ruby. I wish we spent more time together.

<comment><USER8> I was madly in love with Ruby in 2005 but now, Ruby feels like this ex girlfriend you were completely infatuated with and eventually broke up with because you were too young to pay attention to her flaws.

<comment><USER9> Since I never picked up ruby (I joined Python and now I'm about to pick up ruby). Curious what made you move away and what you've moved to?

<comment><USER8> It's dynamically typed, which is a deal breaker for me today. I need not just a type system but one that supports parametric polymorphism, so definitely not Ruby, Python or even Go.

<comment><USER10> You can use traits instead. I know it's different, but it probably solves your problem.

<comment><USER8> Traits are orthogonal to the dynamic/static question.

My experience has taught me that not having type annotations in a source code makes it very hard to understand and maintain that source in the long run.

<comment><USER11> Ruby is more than flexible enough for you to add type annotation via DSLs, and use them to drive tests/fuzzing if you want that. There are a lot of people who have done that.

They rarely see much use, though, because most of us quickly experience that the type annotations that _seem_ essential when we work on statically typed languages quickly become less essential once you adopt a more idiomatic Ruby style.

E.g. if you want to output something as text, rather than dictate what should be passed in, call #to_s on it (and optionally handle the failure if it doesn't implement #to_s, if it is reasonable to continue).

Once you adopt the attitude of asking for what you actualy _need_ rather than demanding the client pass in what _you_ think should be passed in, type annotations start feeling like a clamp around your foot rather than a necessity in most cases, and most of the remaining assistance they could provide tends to fall away with test cases you would require in either case.

I used to be a static typing zealot, and I still want things to be "as static as possible", but I've come to accept that most of the time the burdens it adds are not worth the benefits.

I'm sure we can do better, and there are certainly cases where optional static type annotation could be helpful, but at this point I'm not giving up the expressiveness dynamc typing gives me - a static system would need to be practically "invisible" for me to find it acceptable.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Pretty cool to see a binding.pry analog moved into the standard library.

<comment><USER13> Could binding.pry/binding.irb be shortened at all? It's a mouthful.

<comment><USER14> Sure.

        require 'pry'
        module Kernel
          def debug; binding.pry; end
        end

        x = "hi"
        debug

<comment><USER15> Won't the binding then be your monkey patched debug method on kernel instead of where you called it from?

<comment><USER16> Yes.

        irb(main):008:0> x = "1"
        => "1"
        irb(main):009:0> debug
        [1] pry(main)> x
        NameError: undefined local variable or method `x' for main:Object
        from (pry):1:in `debug'

If you really want to do this, you can use binding_of_caller[1] to create binding object (`Kernel.binding`) up in the call stack:

        require 'binding_of_caller'
        require 'pry'

        module Kernel
          def debug
            binding.of_caller(1).pry
          end
        end

Then:

        irb(main):008:0> x = "1"
        => "1"
        irb(main):009:0> debug
        [1] pry(main)> x
        => "1"

[1]: [https://github.com/banister/binding_of_caller](https://github.com/banister/binding_of_caller)

</comment></comment></comment></comment></comment><comment><USER17> Interesting choice to remove `tk` from the stdlib. It always felt a little neglected in terms of documentation and maintenance, but it was nice to have a simple graphical toolkit guaranteed with the runtime.

<comment><USER18> I tried to use it, settled on Shoes instead. Tk isn't free, you still have to install OS dependencies, and it's API wasn't very Rubyish.

You'd think Ruby would be swimming in easy-to-use widget libraries. But it still isn't. Shoes fits most of my needs, though I'm still working on my workflows and tooling. It's annoying that I can't just write to the console or drop in a pry session, but I'm slowly figuring it out.

<comment><USER17> Yeah, Tk certainly isn't a _pleasure_ to work with in Ruby. Maybe my experience was colored by the fact that it always worked out-of-the-box on my desktop (I guess the libraries were preinstalled).

I've looked at Shoes multiple times for various projects and it always looks _terrific_ , until I remember that installing it involves downloading a 64-bit binary from a website. I've bitten the bullet before and done it, but it's an (ugly) step backwards compared to `gem` and the Qt/Gtk+ bindings that can be installed via `gem`.

<comment><USER19> Yeah, shoes :( Such potential. I could never quite get it updated to Ruby 1.9. Sigh.

</comment></comment></comment></comment><comment><USER20> It looks like recently, there has been a convergence of hashtable implementations across a number of programming languages. Details differ, but the general structure is now to use two arrays, one for storing the data in insertion order (thus maintaining order without a doubly linked list), and another array serving as a hash, which contains indexes into the data array. This general idea works both with chaining and open addressing. In the last couple of years PHP (first HHVM then Zend), then Python (first PyPy then CPython), then Ruby (MRI) have switched to using this layout. Interestingly, Python has previously not made guarantees about order of hashtable elements, so this layout is advantageous even if maintaining insertion order is not a hard design constraint.

<comment><USER21> How do they remove elements from the first array? Suck it and do O(N), or is it storing (value, deleted?) pairs?

<comment><USER22> Look at the index as given by the hash?

<comment><USER21> Oh, so as you iterate the array, look up the value in the hash and if it's not there skip it?

The downside is you end up accumulating dead values.

</comment></comment></comment></comment><comment><USER23> Why was BigInt and FixNum unified into Integer? Don't they already both subclass Integer?

It seems they just made it harder to write interfaces that take advantage of machine precision integers. They didn't remove either arbitrary precision integers or machine precision integers, they just made them harder to distinguish. Why is this an improvement?

<comment><USER24> because the existence of Bignum and Fixnum is effectively an implementation detail, Float is now implemented in a similar way for example, without having corresponding Flonum and Bigfloat.

There isn't (at least I've never seen it) any reason to distinguish between the two, Fixnum wasn't the proper tool to do machine-precision integer operations either (31 bit).

<comment><USER23> But isn't hiding implementation details best done by using an interface (like the Integer superclass) rather than some flag somewhere with branching logic? Fixnum _is_ useful for C extensions to quickly convert to `int`, but now I suppose you don't know whether an Integer is cast-able to an `int` unless you inspect this flag in a new custom way.

</comment></comment></comment><comment><USER25> Looks like it breaks gem install json -v '1.8.3' \- it does however work with json 2.0.2

</comment><comment><USER26> And it's likely the static vs dynamic programming debate has been around longer than you coding ;).

<comment><USER27> We detached this subthread from [https://news.ycombinator.com/item?id=13252935](https://news.ycombinator.com/item?id=13252935) and marked it off-topic.

</comment></comment><comment><USER28> Not sure why they decided to release on Christmas eve / day, but looks good.

<comment><USER29> Because tradition. Most of the major ruby version are released on christmas day.

<comment><USER30> And it actually comes from perl, which used to announce their next big release on christmas. but it never came, and they claimed they never said which christmas, just one eventually.</comment></comment></comment>


Artificial Intelligence Trends of 2019 - <AUTHOR> https://medium.com/utopiapress/artificial-intelligence-trends-of-2019-71bbcc2b001f <comment><AUTHOR> What AI trends do you think will be important in 2019?</comment>