Russ Cox Uses This - <AUTHOR> http://russ.cox.usesthis.com/

<comment><USER2> _I lost interest in having the new shiny a long time ago. [..] At home that means a refurbished Mac Mini from 2006, a used Dell 2001FP 20" LCD from 2004 [..]_

Is this "one of those things" that happens as you get older? To my own surprise, I've drifted into the "can't deal with the boom-boom music on the radio" zone just as my parents did in their 30s.. So will "new shinies are boring" be next? I better start stocking up on Apple gear ;-)

<comment><USER3> Maybe. I recently gave my 2007 MBP a new life by putting a Corsair SSD in it. This thing is as fast as a new MBP! I saved heaps of money and it rocks. Although, the battery lasts 12 mins from full charge. :)

I'd love if macs were not so designed to 'throw away and buy new'. That's just the steve way though.

<comment><USER4> I'm also getting less enthusiastic about new gadgets. I'm noticing that my desire for hardware updates is getting further and further apart.

That might be because I'm getting older, or because the difference from one generation to the next is less impressive than it used to be, or both...

But SSD, yes, that's one development I wouldn't want to be without. The speed up is incredible. I'm thinking of retrofitting my "ancient" laptop with one.

</comment></comment></comment><comment><USER5> I can vouch for re2 - if you need to run a lot of regexps, or run user- supplied regexps, or run non-trivial regexps on user-supplied arbitrary data, re2 will save your application from certain death if you use pcre. Google "catastrophic backtracking" if you don't believe me.

Also, even though it doesn't say that Russ uses it, he probably must one way or the other working at Google, I highly recommend another google code project - protobuf.

</comment><comment><USER6> I know this isn't a tech support forum, but in a fit of lunacy I figured I'd give Acme a try last night (the Acme-SAC version) and after using it for an hour of so I can't even figure out how to open a text file (it seems like it has its own virtual directory structure that I can't seem to navigate out of).

Anybody here successfully using Acme for coding?

<comment><USER7> For Acme, remember that it's an editor on a shell, with Unix DNA. Also remember that Acme-SAC is based on Inferno.

But, being nix-ish, if you want to know something, just man whatever. To start, type 'man intro' someplace. Then shift-click-sweep the cursor over the text to highlight, and alt-click the highlighted text (plumb).

Notice in the article how rsc mentions the three mouse buttons more than once? The missing buttons on the Mac are a big reason Acme SAC doesn't fly for me, no matter how much I'd like it to.

I think it would be really great on a Mac, but would need some tweaking to get there.

<comment><USER8> 1) There still are real 3-button mice for sale: HP DY651A goes for $12. It's a very nice USB optical mouse with 3 buttons and no scroll wheel. Perfect for Acme. If you insist on using a flawed one button apple mouse, you only have yourself to blame.

2) If you're on a Mac, you can run the plan9port version of Acme, no need for Acme-SAC.

<comment><USER7> I'm on a laptop, and just don't bother with a mouse. Some of the tweaking I mentioned would be to deemphasize the mouse and focus on the usual trackpad 2,3,4 finger actions instead. Just for Acme SAC though.

</comment></comment></comment></comment><comment><USER9> _"I use Unison to sync files between my various computers. Dropbox seems to be the hot new thing, but I like that Unison doesn't ever store my files on someone else's computers."_

</comment><comment><USER10> I was intrigued by the sam editor. Anyone here using it?

<comment><USER11> Read the Sam paper: <http://plan9.bell-labs.com/sys/doc/sam/sam.pdf>

</comment></comment><comment><USER12> tl;dr. Russ dogfoods.</comment>


Building A Better Cloud With Solidfire Storage - <AUTHOR> http://techdrawl.com/News-Post/Tech-Transfer/Building-A-Better-Cloud-With-Solidfire-Storage <comment><USER2> Unfortunately with 0 details. I'd be interested to hear who/what is their target market.

SSD would be nice in a cloud server, but I doubt I'll ever need the performance.</comment>


I've got the next great idea for a social networking site... But now what? - <AUTHOR>

So I've got a million dollar idea for a simple social networking site.  The dilemma.. I'm not a developer and I don't know any, or know how to find one thats capable of bringing my idea to fruition.  So whats a guy like me to do?  I've got the money, time and motivation but where do I go from here? <comment><USER2> I've got a gazillion dollar idea! Eye implants that shoot laser beams! Just need someone to build the prototype for me....

</comment><comment><USER3> Draw each screen of your system, describing the function of every element on the screen. Deascribe what data you want to store and how it relates to any other data. Then go shopping for a developer (odesk or a local web business) to make a prototype of what you've just specified. If you've really got the money you'll want quality people, so pick some websites that are quality, find out who made them, and get in touch.

If it's a tech co-founder you're after, look out for start-up gatherings or similar in your town.

<comment><AUTHOR> Thanks. I've never heard of start-up gatherings so I'll definitely have to look into it further.

</comment></comment><comment><USER4> I'm going to disagree with a lot of these other comments. What does your simple social networking site do? Is it a close clone of another site? For instance, Digg for cat lovers? Twitter for Amiga holdouts? Groupon for Waco, Texas?

There are commercial and open source clones of most of these sites out there of all kinds of quality. That doesn't actually matter so much - what matters is that you can quickly get a prototype of what you want to build in front of your potential users/customers.

Swap out some colors and images and make your clone script look close to what you want to build.

If your idea takes off, then you can start looking at building from scratch.

Hope this helps!

<comment><AUTHOR> How I see the site is probably more like a dating site that connects service providers with customers based on a geographic location but with a unique twist. Where might I be able to research these open source clones a bit further and do you think there is something that may fit in this realm?

<comment><USER4> Hmm, I didn't see a lot of good open source dating scripts. That's probably because there's a lot of money in the space, and you can charge good money if you have a clone script.

I saw two commercial options that were a couple of hundred dollars. Search for "match dating clone" or "match dating script" Can't vouch for them though. Drupal's usually another non-techie option to build a web site, but dating support is lacking.

You'll need to get a developer involved if those commercial options don't let you do what you want.

Here's some inspiration from the author of Mingle2. He spent 66.5 hours to build his dating site: <http://mingle2.com/blog/view/how-i-built-mingle2>

</comment></comment></comment><comment><USER5> Hire a developer or two and build a MVP to test the idea in the wild.

That way you can see if what you think is a great idea really is.

If not rinse and repeat.

If so add to your team to make it better and keep adding to the product.

<comment><USER5> And if you are looking for a co-founder zipdog's advice above is a great starting point.

</comment></comment><comment><USER6> I see this kind of mail/post all the time. Some business guy thinks all that's necessary for a successful web-startup is a good idea. He then can find a lowly developer who takes care of those pesky details while he ponders whether the header should be more blueish or not... I don't mean to be rude, but these ideas are usually crap and without a technical (co)founder, it's not gonna happen.

Also: Ideas are worthless. Execution is everything.

<http://www.dilbert.com/blog/entry/the_value_of_ideas/>

<comment><USER7> I agreed up until you said ideas are worthless. My stance is similar to this post which showed up here earlier this year: [http://blog.assetmap.com/2011/01/social-web/lets-end-the- ide...](http://blog.assetmap.com/2011/01/social-web/lets-end-the-ideas-are- worthless-myth/)

</comment></comment><comment><USER8> If you've got the money, you can pay for developers

<comment><AUTHOR> Exactly, but how do I find someone thats qualified in social networking development? Is there credentials or skill sets that I should be specifically looking for?

</comment></comment><comment><USER9> >>I've got the money <http://www.odesk.com>

<comment><USER10> If you've got the money, honey, I've got the time...

</comment></comment><comment><USER11> Where are you located? People need to know!

<comment><AUTHOR> Chicago</comment></comment>


Deploying a Rails 5.2 PostgreSQL App on AWS Elastic Beanstalk - <AUTHOR> https://evrim.io/deploying-a-rails-52-postgresql-app-on-aws-elastic-beanstalk/ <comment><USER2> As an alternative to both, I'm a very happy user of HatchBox [0] (even happier having been grandfathered into a much cheaper plan).

It's really simple with a growing featureset.

[0] [https://www.hatchbox.io/](https://www.hatchbox.io/)

<comment><USER3> Is there a similar product for Python?

<comment><USER4> Divio offers a "platform as a service" for django, Django CMS, Wagtail, and Oscar commerce projects:

[https://www.divio.com/](https://www.divio.com/)

However, they lack a basic support ticketing system on the lower-tier price plan. It is also not obvious if/how you can deploy a pre-existing app from an arbitrary Git repo, as their service is geared to use Divio project scaffolding (including their own SSO).

While the Divio service seemed appealing at first, the above issues are a bit disappointing (and it has been nearly 24 hours with no response, since I contacted their support.) Overall, Divio seems to leave a bit lacking when compared with other hosting options like WebFaction (a shared hosting provider with good Python support.)

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

<comment><USER4> Addendum: I received a response from Divio while typing the above review. The respondent said they would put me in contact with a technical support person.

<comment><USER4> Addendum: Divio have been really helpful in explaining their upcoming feature to allow Git remotes, which will allow projects to be managed via any Git service.

</comment></comment></comment></comment></comment><comment><USER5> You're a brave person. As you say, Heroku has spoiled me and Elastic Beanstalk is a pile of trash. I'm usually an AWS evangelist, but I run as far and as fast as possible from EB. Configuring it for anything other than the most basic of use cases is a massive headache. Even AWS itself offers much better PaaS-style solutions like OpsWorks.

IMO, stick with Heroku if you want a PaaS.

<comment><USER6> Echoing this. Heroku is still such a treat, super reliable, and communicates when issues arise. I've even gotten support via reddit from them. I do like seeing things like this though in the event Heroku goes away. Being able to spin up a clone quickly with another service is good to have in the back pocket.

</comment></comment><comment><USER7> I started using Dokku in production a few years ago. It tries to provide an open source alternative to Heroku and ia compatible with their buildpacks. Deployments work via git pushes. And there is a large number of plugins available for different services like Redis, a plethora of databases, letsencrypt e.t.c.

You can host it on any compatible server.

<comment><USER8> I love Dokku but I wouldn't use it in production. Maybe it's more stable than it was 2 years back.

</comment></comment><comment><USER9> Under "Allowing access to the database" theres: Click on "Add Rule." For "Type," choose "PostgreSQL," and for "Source" choose "Anywhere."

Would recommend not to do that. Create Security Group, add EB to it and allow that only.

<comment><USER10> I'd also ponder the implications of storing your RDS password in an environment variable. There's no reason to potentially open up this information unencrypted to other applications.

</comment></comment><comment><USER11> Yeah, that's not even bad... What AWS doesn't tell you, is elastic beanstalk creates new security groups and what not. So if (like me) you manage 12 Apps and you try to destroy one environment, the environment won't delete.

Apparently, they all try to create the same named security group (as well as other components). This happens even if you change the security groups after launch. So it'll error out and be unable to delete the rest of the components. Leaving a "ghost" environment.

That's just one of my many, many frustrations with it. I'm considering moving back to digitial ocean (where I was). However, the billing breakdown is nice to share with clients

<comment><USER12> My understanding is that EB is a packaging together of lower-level AWS components (like auto-scaling groups) that you can use individually and patch together yourself if you wish. Maybe that could be a route to look into?

<comment><USER11> It is, I've gone through before and done that, took me a couple hours. But either way, this seems like it should be obvious to the AWS maintainers and should be fixed.

</comment></comment></comment><comment><USER13> Another alternative to deploy a Rails and PostgreSQL app is on NodeChef where developers have three simple options to choose from to deploy apps. [https://www.nodechef.com/](https://www.nodechef.com/)

</comment><comment><USER14> I just finished installing my spring boot app on elastic beanstalk, I think features introduced in EB are not that important, I've mainly setup all by myself, except creating EC2 instance. I scratched by head for 3 days to install a free certification on nginx ...

</comment><comment><USER15> > Allowing access to the database .. and for "Source" choose "Anywhere."

Nice n easy. Well done :)

<comment><USER10> Certainly sarcasm, right?

</comment></comment><comment><USER16> Have you looked at AWS Lightsail, I think it a better alternative to using Heroku given the level of your experience with setting up infrastructure?

</comment><comment><USER17> Do people not deploy rails anymore with Capistrano?

<comment><USER18> Well, Jenkins does.</comment></comment>


SteamCAD – 2D CAD designed to draw steam locomotives - <AUTHOR> https://github.com/oskardolch/SteamCAD <comment><USER2> I love how specific yet comprehensive this package is. The manual appears to be lovingly crafted and from what I can tell, well written [1].

I don't know how many people are specifically looking to draw CAD diagrams of steam locomotives, but I absolutely love that this was someone's itch to scratch and they put so much time into this.

[1] [https://github.com/oskardolch/SteamCAD/blob/master/SteamCAD....](https://github.com/oskardolch/SteamCAD/blob/master/SteamCAD.pdf)

<comment><USER3> One related thing that struck me about SteamCAD was this passage from (the last page of) the manual:

"5.1 What Next?

Some people may be interested in what are the future plans with SteamCAD. The answer is there are none. SteamCAD is finished software (the only one in the whole computer world?), there are no plans to extend it. It does everything it was supposed to do, if there are bugs in the software, they are now features of the software.

Well, not quite so. Of course, if the software need some adjustment in the future to work on new operating systems, it will be updated.

[...]

Despite what was written in the section 5.1, we have published a bunch of patches in November 2018. The patch includes several bug fixes, improved precision when snapping to objects and improved handling of paralel curve copies when the distance grows beyond the smallest curve radius."

This seems like a rare example of software that is not abandoned, but is "finished", and will suffer no feature creep. It is a romantic idea, for a piece of software to be conceived for an exact purpose, be programmed until it exactly fulfills that purpose, and then just be... done, a crystal molded to its niche.

<comment><USER4> I love the ideal, but unfortunately this is only a characteristic of software that is not (widely) used. In a combination of the Peter Principle and the Big Bang, software will be used in an every-expanding array of uses for which it will attempt to add first-party support until it collapses under it's own mass and dies a death of ten thousand vertical slice competitors and the process repeats.

<comment><USER5> Knuth's TeX is somewhat widely used, yet has the similar characteristic of approaching stability.

<comment><USER6> Only because LaTeX is separate and most of the development and new features happen there.

</comment></comment></comment></comment></comment><comment><USER7> Are there any screenshots? I couldn't find them myself.

The sample output is extraordinarily well-crafted.

Sometimes I think I'd love to write a traditional desktop app like this as a side project. I haven't done it for years.

<comment><AUTHOR> > _Are there any screenshots? I couldn 't find them myself._

Here is one screenshot from 2018.[0]

[0] [https://twitter.com/app4soft/status/1064140024822853633](https://twitter.com/app4soft/status/1064140024822853633)

</comment></comment><comment><USER8> So this is just a CAD program that doesn't really have anything special to do with trains? It's just a barebones CAD program or am I missing something?

</comment><comment><USER9> Is this the most British software ever?

<comment><USER10> No. A British Flag installer would be

<comment><AUTHOR> Think, SteamCAD's dev would add it into SteamCAD2[0]

[0] [https://github.com/oskardolch/SteamCAD2](https://github.com/oskardolch/SteamCAD2)

</comment></comment></comment><comment><USER11> Is it too sardonic to think that it's only a matter of time before Autodesk tries to buy this too?

For reference: [https://en.wikipedia.org/wiki/Autodesk#Corporate_acquisition...](https://en.wikipedia.org/wiki/Autodesk#Corporate_acquisitions)

Additional Reference: [https://www.merriam- webster.com/dictionary/sardonic](https://www.merriam- webster.com/dictionary/sardonic)

<comment><USER12> Given that it's more a program for producing art in that style (as opposed to engineering new trains), they almost certainly won't? Especially since it's open source.

</comment></comment><comment><USER13> The manual is a great read.

</comment><comment><USER14> sl

<comment><USER15>
      ponythink funny

</comment></comment><comment><USER16> Looks interesting but the sample svg image make my Firefox suffers to render it.

<comment><AUTHOR> > _sample svg image make my Firefox suffers to render it_

 _Links2_ [0] browser render it without any issues.[1]

[0] [http://links.twibright.com/](http://links.twibright.com/)

[1] [https://i.imgur.com/3UXj3bh.png](https://i.imgur.com/3UXj3bh.png)

<comment><USER12> Is that pseudo-graphical Links output just raw X or something? Is it a wrapper around a terminal emulator? I also find the "unprecedented visual experience" part on the homepage to be humorous.</comment></comment></comment>


The Star Wars Route: Do a traceroute to 220.127.116.11 - <AUTHOR> http://network-tools.com/default.asp?prog=express&host=126.96.36.199 <comment><USER2> The full text of the traceroute

      $ traceroute -m 100 22.214.171.124 | awk '{print $2}'
      ... cut ...
      *
      Episode.IV
      A.NEW.HOPE
      It.is.a.period.of.civil.war
      Rebel.spaceships
      striking.from.a.hidden.base
      have.won.their.first.victory
      against.the.evil.Galactic.Empire
      During.the.battle
      Rebel.spies.managed
      to.steal.secret.plans
      to.the.Empires.ultimate.weapon
      the.DEATH.STAR
      an.armored.space.station
      with.enough.power.to
      destroy.an.entire.planet
      Pursued.by.the.Empires
      sinister.agents
      Princess.Leia.races.home
      aboard.her.starship
      custodian.of.the.stolen.plans
      that.can.save.her
      people.and.restore
      freedom.to.the.galaxy
      0</comment><comment></comment><comment></comment><comment>-0
      0</comment><comment></comment><comment></comment><comment>0
      0</comment><comment></comment><comment>-----0
      0</comment><comment></comment><comment>----0
      0</comment><comment></comment><comment>---0
      0</comment><comment></comment><comment>--0
      0</comment><comment></comment><comment>-0
      0</comment><comment></comment><comment>0
      0</comment><comment>-----0
      0</comment><comment>----0
      0</comment><comment>---0
      0</comment><comment>--0
      0</comment><comment>-0
      0</comment><comment>0
      0-----0
      0----0
      0---0
      0--0
      0-0
      00
      I
      By.Ryan.Werber
      When.CCIEs.Get.Bored
      CCIE.38168
      FIN

<comment><USER3> This is super brilliant, but why do so much of these things use Star Wars for context? Anything else would be just as cute as less creepily cultic worshipful of one movie series.

<comment><USER4> I was inspired by looking endlessly at traceroutes slowly scrolling by. Im snowed in and I decided to give it a try. It only uses 2 routers to do this and VRFs.

<comment><USER5> I'm snowed in too and this made me happy. Thanks!

</comment></comment></comment></comment><comment><USER6> Don't forget to watch Episode IV in the terminal!

        $ telnet towel.blinkenlights.nl

When I was younger I went out of my way to get a V6 address just to watch it in color ;)

<comment><USER7> No color for me:

      Well, the IPv6 version is exactly the same as the IPv4 one.

           The difference is in the visitors...

           Je bent een Stoere Bikkel, aka You Rock.

<comment><USER8> apt-get install miredo

That works as a last resort. Or sign up for SixXS using an AYIYA tunnel, apt- get install aiccu and enjoy.

<comment><USER9> Miredo? AYIYA? Yuck.

Just use HE.net's tunnelbroker and set up a 6in4 tunnel[1]. FWIW there was no color for me either when I connected via ipv6. Just the same message about different visitors as printed above. Just to be sure ran:

      telnet -6 towel.blinkenlights.nl

[1] <http://www.shorewall.net/6to4.htm#SixInFour>

<comment><USER8> Miredo/teredo is yuck indeed. ATIYA is not bad, I am not sure why you turn your nose to it. Practically it just adds 8 bytes to the headers compared to 6in4 yet is a lot easier to set up. Specifically, if you do not have a router that you control and that can do IPv6 _and_ ip6tables, AYIYA is the easiest to set up and have a static address. I would not set it up for a server but for a small LAN it will be no different than 6in4.

<comment><USER9> I understand what you are saying, AYIYA is not as bad as miredo. But lets face it:

 _Router That You Control + IPv6 + ip6tables = Any Linux Box_

It is even easier with:

 _Router That You Control + IPv6 + ip6tables + shorewall6 = Any Linux Box_

Configuring the linux box is essentially as easy as appending the following to /etc/network/interfaces:

      ### IPv6

      auto he-ipv6

      iface he-ipv6 inet6 v4tunnel
            address  1234:987:1234:743::2
            netmask  64
            endpoint 18.104.22.168
            ttl      255
            gateway 1234:987:1234:743::1
            post-up sysctl -w net.ipv6.conf.all.forwarding=1

      iface eth1 inet6 static
            address 1234:567:8901:1::1
            netmask 64

Spend five minutes with /etc/shorewall6/shorewall6.conf and you are done. Granted my mom is not going to do that but for anyone on HN that should be a walk in the park.

</comment></comment></comment></comment></comment></comment><comment><USER10> This is hilarious - though I wish they had more of an artificial delay between the hops to keep the suspense. If you're curious how you might implement this without actually needing a whole bunch of different hosts with routes between them, see this tool by Moxie Marlinspike:

<http://www.thoughtcrime.org/software/fakeroute/>

You still need a big block of IP addresses though since you want the reverse DNS lookup for each IP address to return a different line from the scroll. Definitely a waste of IPv4 addresses; someone some do a IPv6 implementation ;-)

Edit: I just noticed <http://beaglenetworks.net/> at the bottom of the traceroute - this was implemented by carefully setting up routing tables and VRFs on a Cisco router. fakeroute seems easier but not a bad way to keep busy during a blizzard.

</comment><comment><USER11> There's a Star Trek version as well, but it only works if you're on IPv6.

      $ traceroute6 -m 120 tng.prolixium.com
      traceroute to tng.prolixium.com (2001:48c8:1:137::32), 120 hops max, 24 byte packets
      [snip]
      11  v6-seattle-ix.voxel.net (2001:504:16::745f)  209.28 ms  207.781 ms  207.18 ms
      12  3890.te6-2.tsr1.lga3.us.voxel.net (2001:48c8::8c9)  277.482 ms  279.604 ms  277.079 ms
      13  0.ae1.tsr1.lga5.us.voxel.net (2001:48c8::822)  282.205 ms  286.997 ms  276.887 ms
      14  0.ae2.csr2.lga6.us.voxel.net (2001:48c8::82e)  280.187 ms  284.989 ms  277.817 ms
      15  em0.dax.prolixium.net (2001:48c8:1:2::2)  277.495 ms  277.68 ms  277.61 ms
      16  si3.starfire.prolixium.net (2001:48c8:1:1ff::1a)  311.417 ms  305.949 ms  305.109 ms
      17  0.re0.ra.prolixium.net (2001:48c8:1:119::2)  307.72 ms  305.633 ms  305.915 ms
      18  0.fx0.voyager.prolixium.net (2001:48c8:1:11f::2)  304.583 ms  303.806 ms  304.216 ms
      19  . (2001:48c8:1:137::2)  307.199 ms  303.983 ms  303.874 ms
      20  Space (2001:48c8:1:137::6)  310.575 ms  308.043 ms  307.941 ms
      21  the.Final.Frontier (2001:48c8:1:137::a)  307.198 ms  304.489 ms  305.967 ms
      22  These.are.the.voyages.of.the.starship (2001:48c8:1:137::e)  306.484 ms  308.383 ms  308.094 ms
      23  Enterprise (2001:48c8:1:137::12)  305.924 ms  305.817 ms  307.77 ms
      24  Its.continuing.mission (2001:48c8:1:137::16)  308.692 ms  316.396 ms  306 ms
      25  to.explore.strange.new.worlds (2001:48c8:1:137::1a)  306.123 ms  307.447 ms  312.365 ms
      26  to.seek.out.new.life.forms (2001:48c8:1:137::1e)  308.785 ms  309.842 ms  308.362 ms
      27  and.new.civilizations (2001:48c8:1:137::22)  309.347 ms  315.072 ms  307.912 ms
      28  to.boldly.go (2001:48c8:1:137::26)  309.336 ms  306.98 ms  309.354 ms
      29  where.no.one.has.gone.before (2001:48c8:1:137::2a)  308.284 ms  311.138 ms  310.111 ms
      30  . (2001:48c8:1:137::2e)  310.227 ms  309.217 ms  309.752 ms
      31  EOF (2001:48c8:1:137::32)  309.623 ms  311.074 ms  313.958 ms

</comment><comment><AUTHOR> Use any traceroute site/program (not just the one in the link):

TraceRoute to 22.214.171.124

220.127.116.11 episode.iv

220.127.116.11 a.new.hope

18.104.22.168 it.is.a.period.of.civil.war

188.8.131.52 rebel.spaceships

184.108.40.206 striking.from.a.hidden.base

188.8.131.52 have.won.their.first.victory

188.8.131.52 against.the.evil.galactic.empire

188.8.131.52 during.the.battle

184.108.40.206 rebel.spies.managed

184.108.40.206 to.steal.secret.plans

126.96.36.199 to.the.empires.ultimate.weapon

126.96.36.199 the.death.star

220.127.116.11 an.armored.space.station

184.108.40.206 with.enough.power.to

220.127.116.11 destroy.an.entire.planet

188.8.131.52 pursued.by.the.empires

188.8.131.52 sinister.agents

188.8.131.52 princess.leia.races.home

126.96.36.199 aboard.her.starship

184.108.40.206 custodian.of.the.stolen.plans

184.108.40.206 that.can.save.her

Trace complete

[update: additional hops ]

188.8.131.52 people.and.restore

220.127.116.11 freedom.to.the.galaxy

188.8.131.52 by.ryan.werber

22.214.171.124 when.ccies.get.bored

188.8.131.52 ccie.38168

22.214.171.124 fin

<comment><USER12> It goes somewhat further if you let it/your system is compatible.

<comment><USER13> On Ubuntu `traceroute` only goes 30 hops by default, but you can see more with this:

        traceroute -m 100 188.8.131.52

</comment></comment></comment><comment><USER14> You haven't heard of the tracert? She made the kessel route in less than 30 hops

<comment><USER15> I see what you did there.

</comment></comment><comment><USER16> No wonder we're out of IPv4 addresses...

<comment><USER17> On MIT campus you can tell which building you're in by your IP...

<comment><USER18> Yeah /8 what a waste.

Many organizations were asked to return /8 in exchange to /16, but snobs at MIT refused.

<comment><USER19> Why should MIT have to pay for someone else's historical mistakes? The IP addresses are just as valuable as any other part of MIT's endowment, and universities don't typically give their assets away for no reason. (If someone wants MIT to change to a /16, I'm sure there's some sum of money that could convince them.)

Ultimately, even if everyone gave their IPv4 addresses back, there would still be a tiny supply of addresses that can't scale. So we need IPv6 regardless of who is greedy about their IPv4 space.

</comment></comment></comment></comment><comment><USER20> Doesn't work for me... Strange.

I tried tweaking a few flags (such as much longer timeout: -w 30), still no luck.

$ traceroute -m 100 -e -w 30 obiwan.scrye.net

(...all normal here...)

8 core2-te0-0-0-4.faraday.ukcore.bt.net (184.108.40.206) 6.795 ms core1-te0-0-0-5.faraday.ukcore.bt.net (22.214.171.124) 11.500 ms core1-te0-0-0-4.faraday.ukcore.bt.net (184.108.40.206) 13.669 ms

9 host213-121-193-129.ukcore.bt.net (184.108.40.206) 5.964 ms 6.068 ms host213-121-193-137.ukcore.bt.net (188.8.131.52) 7.362 ms

10 * * *

11 * * *

12 * * *

(...and so on...)

<comment><USER21> I have that same issue!

</comment></comment><comment><USER22> Works great with "mtr" (known as "mtr-tiny" in Debian?) - much better than with the regular traceroute :)

<comment><USER23> mtr in debian, but if you're running it in X, you might want to use mtr -t

</comment></comment><comment><USER24> For the less technically able amongst us, how does this work?

<comment><USER4> Two Cisco 1841's running many vrfs bouncing packets back and forth. Source: I did it.

<comment> X-Istence Neat!

Although, I'd have done it differently. using some packet capture tools, fake replies with the various different IP addresses. That way you don't even have to run a physical router that bounces it back and forth.

</comment></comment></comment><comment><USER25> Video: <http://www.youtube.com/watch?v=nPJELwSV1P0>

</comment><comment><USER26> In a period when people are complaining about IPv4 address-shortage, this seems a tad excessive.

<comment><USER27> If only ARIN started to revoke IPv4 blocks based on this kind of waste.

<comment><USER11> It's in the middle of a /20 allocated to Epik Networks, and he's only using roughly a /27 of it. I think the Internet will survive.

If ARIN did ever want to recover space, there are much bigger fish in the sea (I doubt Apple is using all 16.7 million IPs in their 18.104.22.168/8 allocation, for example).

<comment><USER27> He's using much more than a /27

Each hop is using a /30. There's 47 useless hops in the mix before reaching the end.

That's 188 IP addresses just wasted. Much, much more than a /27. In fact that's 6 times the waste of a /27.

<comment><USER11> Yeah, using a /30 per hop is a bit of a waste, but one /24 is still insignificant to the Internet as a whole, especially when it's in the middle of a parent allocation.

Presumably if Epik runs out of IP space in their /20, they'll just shut this down. It's not like some other company could use that /24.

Again, if ARIN/IANA really wanted to reclaim "wasted" space, they'd be looking at the holders of big blocks like /8-16, and asking them to justify usage, not one random /24 which is ultimately insignificant.

<comment><USER27> By that logic, petit theft is fine since the police should be looking for people committing grand theft and the petit theft is "ultimately insignificant"

It's reasons like this why people now have to fill out forms justifying the need for additional IPv4 blocks.

<comment><USER11> Your analogy is nonsensical, since this is in no way "theft". He's borrowing some IP space inside an _already allocated /20_ that Epik isn't using at the moment.

Epik already went to ARIN, said "we need a /20 to meet our IPv4 needs", filled out the paperwork to justify the allocation, and ARIN said "yes". Out of those 16 /24's, they have one that doesn't have any hosts on it at the moment, so they let him play with it.

The only people this MIGHT be hurting is Epik, if they need to justify getting more space from ARIN at some point. For the other millions of people on the Internet: it's awesome. Lighten up and enjoy it.

(edit: grammar)

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> This reminds me of what happens if you hack this in your terminal:

telnet towel.blinkenlights.nl

<comment><USER29> "hack this"?

</comment></comment><comment><USER30> No wonder we're running out of IPv4 addresses!

</comment><comment><USER31> in windows, this will get the entire thing tracert -h 100 22.214.171.124

</comment><comment><USER25> related: "Star Wars Traceroute - How I did it" <http://news.ycombinator.com/item?id=5193725>

</comment><comment><USER32> Hilarious - does anyone have any backstory or more info?

<comment><USER12>
        60  by.ryan.werber (188.8.131.52)  153.282 ms  154.264 ms  149.479 ms
        61  when.ccies.get.bored (22.214.171.124)  154.085 ms  150.249 ms  147.620 ms
        62  ccie.38168 (188.8.131.52)  148.633 ms  150.156 ms  152.908 ms
        63  fin (220.127.116.11)  155.715 ms *  429.865 ms

</comment></comment><comment><USER33> <https://dazzlepod.com/ip/?ip_address=220.127.116.11>

</comment><comment><USER34> It's so simple but brilliant!

</comment><comment><USER35> that was a good chuckle... thanks for sharing.</comment>


How to Motivate People, Transform Business, and Be a True Leader – Simon Sinek - <AUTHOR> https://www.youtube.com/watch?v=V2K4VqkfRaM <comment><AUTHOR> [https://youtu.be/V2K4VqkfRaM?t=1271](https://youtu.be/V2K4VqkfRaM?t=1271)

"The way you build great companies is by prioritizing people before profit, the way you build great companies is will before resources.

Both things are important, but there has to be this general leaning where we can _feel_ , when we come to work and _feel_ like we're part of something bigger than ourselves -- where we _feel_ that our work and our effort is worth more than simply the money we make..."

This is Simon Sinek at his absolute best, and well worth watching, from this point, or from the beginning...</comment>


Ask HN: Who is hiring Marketing/Sales/BizDev (1/1/11 Edition) - <AUTHOR>

Please state the location of the job first. <comment><USER2> Me (digital marketing/media). Johannesburg, South Africa.</comment>


Get messy when it gets messy - <AUTHOR> http://design-to-last.com/2012/01/get-messy-when-it-gets-messy/

<comment><USER2> Sad to see this learning. Given, that the posting is absolut unspecific, I can only wonder, what I would have been doing in such a situation:

> What hurt me was a comment "You have to make clear to your > peers that you > can fight and get to their bosses, > otherwise you are irrelevant"

> What I learned today it that you have to get dirty all the > way to succeed > and to be seen. Lesson number one: "Get > messy when it gets messy"

Why is it, that this turn of thinking happend, I keep asking myself.

If someone (my teamleader, boss, a coworker) would have said the first quote, I would have been hurt, too. But, would I learn, to play dirty, just to "be successful"? Is playing dirty really the only way?

Would I be able to look myself in the eye? I don't think so. I believe, my reaction would be, to jump. I would so look for another job, a place, where a human being is treated like one. Where I would be more, than a commodity.

So no, my learning would be different. I would never become such a kind of human being.

But that is just my humble opinion, as everybody is different.

<comment><AUTHOR> Thanks for your comment:

Since its still ongoing, I cannot be too specific, but I can comment the following: the company is in an identity crisis, where the direction is unsure. meanwhile its a very good place to work, interesting, demanding and stretching my capabilities.

the sad politics are between the group I reside and the sales division, as they are desperate due to the identity crisis.

from my experience there isn't a company without politics, specially when you get closer to the business side.</comment></comment>


Show HN: Kiel – Minimalist Kotlin DSL for RecyclerView.Adapter - <AUTHOR> https://github.com/ibrahimyilmaz/kiel <comment><AUTHOR> Kiel is a RecyclerView.Adapter with a minimalist and convenient Kotlin DSL which provides utility on top of Android's normal RecyclerView.Adapter.

</comment><comment><USER2> Even after having read the provided link. I have no idea what this is.

<comment><USER3> It's a tool for generating list views for Kotlin Android applications.

</comment></comment><comment><USER4> Amen. Thanks for writing this. Looks like a clean interface, will try it out.

Was thinking about the unnecessary RecylerView boilerplate code a few days ago when writing a couple of them.

<comment><AUTHOR> Agree with you! and also having unnecessary delegation for simple things! So that's why there is Kiel. Any review/issue/PR are welcome.

</comment></comment><comment><USER5> Kiel is the German town i am living in.

<comment><AUTHOR> Kiel ist eine schöne stadt und die gefällt mir!</comment></comment>


Show HN: Joypad turns your iPhone into a game controller - <AUTHOR> http://getjoypad.com

<comment><AUTHOR> This product is almost a year old now. I never submitted it here because I felt weird asking for feedback on a product that you had to buy. Now there's a free version, so give it a shot. I would love to hear feedback and suggestions. Sales have not been stellar, but the conversion rate is good. This site has seen a grand total of 36,000 unique visitors, and I've sold over 5k copies of the paid version. To me that means I need to get it in front of a lot more people. Marketing is not my forte, so lay any ideas you have on me!</comment>


Hollywood Should Pay Attention to Christopher Nolan's 'Dunkirk' - <AUTHOR> https://www.theatlantic.com/entertainment/archive/2017/07/why-hollywood-should-pay-attention-to-dunkirk/533094/?utm_source=atlfb&single_page=true <comment><USER2> I don't agree that choosing a new format and upping ticket prices again is going to get people going to the movies again. Hollywood (and Hollywood commentators) are obsessed with the idea that films should be these huge spectacles, but is that all that audiences want?

A lot of people I know are bored with movies. Spending $30 to go to another remake or superhero movie just isn't very attractive. I don't know anyone, other than boring film critics, who thinks the problem is a lack of spectacle. If anything, the problem is _too much_ spectacle--the kinds of movies made are limited to these goofy would-be epics. Everything has to go up to 11. It's really limiting when every movie has to appeal to the sensibility of a 14-year-old boy.

<comment><USER3> In general there's an increasing problem of a _glut_ of excellent entertainment. Movies are in a bit of a slump, but there are still several good films a year. TV's probably the best it's ever been—it's _nuts_ how good it is. Video games are excellent and relatively cheap. There's an ongoing board gaming renaissance. Good or great music for almost every taste comes out every year. Then there's the fact that it's all _hyper-available_ , including much of the back catalogue for _all of human recorded /written entertainment_. Almost no wait. Just press a button or three and enjoy. You can find a credible top-ten (or top-1000...) for almost any kind of thing you care to and the only impediment to experiencing at least 80-90% of them will be _time_.

The hard part now isn't identifying and gaining access to great entertainment, it's figuring out which great entertainment you skip in favor of other great entertainment. If you remember what the world was like pre-Internet, this is a _really_ weird situation.

That film isn't exactly having a golden age right now makes it easy (nearly necessary, given how good everything else is) to largely avoid it, even if it isn't _terrible_ , especially since cinema-going is one of the more expensive options for mass entertainment.

Of course they continue to sell plenty of tickets, so maybe this post is just a bunch of crap.

<comment><USER4> I realize this sounds like "in my day we had to walk five miles in the snow, uphill, both ways," but lately I've felt like I honestly don't appreciate music and video games as much as I used to, precisely because they're so available.

It used to be that I would really sink myself into media, listening to an album over and over, or learning every trick of a game, because I only had a few and I needed to get the most of them. Now, the moment something loses its brand-new sheen, I'm off to something else to try to recapture that initial excitement. On the surface it seems like I've got everything teenage-me ever wanted, but I don't really _love_ anything like he did. I've got over a hundred unplayed games on Steam, and none of them excite me.

<comment><USER3> Entire subcultures, now examined in detail by various Internet personalities, are built around how hard it was to find good media in the "old days", and how easy it was to end up with _crap_ as your only novel option. See: The Angry Video Game Nerd, various programs on RedLetterMedia, and a few hundred others. It'll be interesting to see what happens to these subcultures now that what they're built on is basically gone, and they're trucking in nostalgia for not just old media but _old ways of experiencing media and review availability_ more than anything else.

The percentage of time kids spend, say, playing a truly bad video game because it's the only one they have access to that they haven't already played to death, or re-watching a half-dozen VHS tapes because they're the only kids' movies your family owns so when you don't have a rental out _that 's it_[0], or putting up with some terrible VHS rental from Family Video you grabbed on strength of the cover because damnit _that 's what you have for the night_, has got to be much lower than it used to be. The effects of this on culture, especially things like b-movie culture, will be interesting to observe. Already many kinds of knowledge—film synopses/ratings/trivia, game tips/secrets—have been driven to near-zero social value, which has surely changed kids' society in ways I don't have good insight into (yet—my kids are too young)

[0] Kids still do the obsessive watching-the-same-thing-over-and-over thing, but it's different because they never do it _because there 's no other option_ anymore.

[EDIT] also:

> I've got over a hundred unplayed games on Steam, and none of them excite me.

LOL, lightweight. I've got like 500 total games (just on Steam) and I've only given maybe half a fair shake, let alone played them all the way through, including many that I played pre-Steam. Those stupid package deals they do and Humble Bundles really add up over the years. I'm kinda slowly bowing out of PC gaming despite knowing there's a _ton_ of excellent stuff on my to-play list, because I'm running up against that having-to-choose-great-things-to-not- experience problem I mentioned in my post upthread. I just don't have enough entertainment hours for it anymore, _plus_ TV, _plus_ catching up on the hundreds of excellent films I haven't seen and the several great ones that come out each year despite the slump, _plus_ OMG so much great TV is coming out now, _plus_ the hundreds of books I want to read, and _man_ there are some comics I'd like to get into but _I just can 't even_ with all this other stuff. It's kinda stressful, actually. Like, I _can_ enjoy the very best (or close to) of anything I care to, so I _should_ be. I waste a lot more time on meta-media and reviews and such than I used to, chasing that best-of-the-best sliver of the pie.

Meanwhile I grew up with an NES my only console (from early in its lifespan through freshman year of college!) and a few VHS tapes and Saturday Morning Cartoons, a few DVDs later on when I had a job... and I'm not sure my childhood would have actually been any better with this mountain of hyper- available, high-quality entertainment we have today. Worse, maybe. Quite possibly (probably...) my _current_ quality of life would be better without it.

<comment><USER5> Yes, it's proven that too many options decreases engagement. I'd just leave a couple games and delete the others.

I only watch one or two tv shows exactly because of that.

</comment></comment></comment></comment></comment><comment><USER6> I saw Interstellar on a beautiful IMAX screen. There were a couple of teenage boys laughing and cracking jokes behind me most of the movie. Not loud enough you'd kick them out, but still obnoxious, especially in the quiet scenes. They apologized when I said something, but then they started again after 10 minutes.

During Rogue One, the guy sitting next to me waited until the end of the opening crawl to unwrap his steaming jalapeño cheese hotdog, which he then slowly ate over the next 15 minutes, relishing every bite and every chug of soda.

Add to the fact that the acoustics in theaters are still never quite right (it's often LOUD but doesn't envelop you)...

I just don't know why I would ever enjoy the theater experience again, when it's just so damn difficult to enjoy a good film.

<comment><USER7> It probably makes me sound incredibly crotchety to say so but one of the things I dislike about going to the theaters is that the audio volume is often too high for my liking.

<comment><USER8> The problem isn't 100% volume, it's shitty sound engineering. Dialog is mouse fart quiet and background music is 1812 Overture loud.

<comment><USER7> True enough, but I'm not compelled to stick my fingers over the ears over hard-to-hear dialogue.

</comment></comment></comment></comment><comment><USER9> Large format film is the domain of the auteur because they're the only ones who can get away with it. 70mm is _ridiculously_ expensive, and the logistics of moving it around doubly so -- a typical thousand-foot reel of 1570 IMAX 70mm will give you about _three_ minutes of shooting before a reel change is necessary. You get one good take, then your camera assistants spend 10-15 minutes changing the reel while your cast stands around smoking. 35mm, on the other hand, buys you about 10 minutes of shooting on a typical reel and a much faster turnaround.

When Christopher Nolan says sure, I'll cook you a billion dollar movie but here are my requirements, he'll get away with it. When Judd Apatow tries the same, he won't. Blockbuster superhero movies, given their returns, should be shooting on whatever they want but those are made for quantity.

<comment><USER10> I've seen analyses that suggest that 70mm is roughly equivalent to 8K resolution, once digitized. Given that 8K cameras exist, and would presumably allow as much shooting as you can attach auxiliary storage capacity, what's the advantage to shooting in analog 70mm instead, especially if you're going to end up digitizing anyway?

<comment><USER11> Despite being in tech industry I went to film school back when it was still very common to be taught to shoot film so I'll have a go:

> I've seen analyses that suggest that 70mm is roughly equivalent to 8K > resolution, once digitized.

It's tricky to give an exact number because it's an analog format, but in most cases it will be higher than that. You can get a good 4K transfer off 35mm, and 70mm is four times the area - so 8K would be very conservative.

Of course, the big advantage of film is you get the grain, as well as what some people consider to be a better look (although that's subjective).

> Given that 8K cameras exist, and would presumably allow as much shooting as > you can attach auxiliary storage capacity,

When shooting digitally your ratio would usually be 10:1, even 20:1 (as in, you shoot 10 times more material than you end up using). You're right that lots of directors see that as a great benefit.

But when shooting with film - and _especially_ 70mm - you have to be really conservative. A ratio of 3:1 would be much more common because you just can't afford any more. And that means you have to be very careful in layout your shots up, getting your actors prepared, etc. There's a minority of directors who appreciate this.

</comment></comment></comment><comment><USER12> [http://imgur.com/MgSGL1G](http://imgur.com/MgSGL1G)

This is one example of just how impressive "real" IMAX is. I saw Interstellar twice in IMAX and was blown away both times. And as an aside, to continue my rage against trailers: If you didn't know about the tidal planet from the trailers, it was absolutely skin-crawling in its wonder when you see it for the first time in IMAX. To heck with over-revealing trailers!

<comment><USER13> What is the image supposed to demonstrate?

<comment><USER14> The difference in resolution and framing. The framing isn't inherently better. The difference in resolution is.

<comment><USER15> And frame rate. IMAX HD is 48 frames/sec compared to 24 for regular film and IMAX.

<comment><USER14> I don't think I've ever managed to see a 48 fps movie. The only one worth watching was The Hobbit and the showing I caught wasn't 48 fps.

Wikipedia makes it seem like IMAX HD died way back in 92 as soon as it was introduced?

<comment><USER16> I saw that movie at 48 FPS. It's the only 48 FPS movie I saw. However, it was stunning how much more - I don't know, realistic isn't quite the right word, but something - it felt to watch it. I wanted to watch all movies in (preferably non-3D) 48 FPS from then on, but it never caught on that I could tell and I haven't seen another one.

</comment></comment></comment></comment></comment></comment><comment><USER17> I saw The Hateful Eight in 70mm, but it was projected on a normal-sized movie theater screen, and frankly, if anything, it looked worse than a normal film. I suspect the staff was inadequately trained in how to operate a real film projector, as the focus looked a touch soft.

On the other hand, seeing Interstellar in 70mm IMAX was _incredible_. Even with the recent IMAX Laser projectors, 70mm IMAX prints contain much more resolution and it was the best looking movie experience I have ever had. I highly recommend seeing Dunkirk in 70mm IMAX if it's playing near you.

<comment><USER18> Seeing _The Dark Knight_ on an IMAX screen was particularly impressive because of the cuts from "normal" screen size to full IMAX - they really were breathtaking.

</comment></comment><comment><USER19> I've gotta say, I'm not crazy about sanitizing realistic war movies for a PG-13 rating, as Nolan has reportedly done. Would Saving Private Ryan have the same impact with less violent imagery?

<comment><USER20> Anything that "blunts" war or portrays it as anything besides "the worst living nightmare possible" is a lie. There of course is wonderful art to be made that acknowledges that fact - Guernica, Saving Private Ryan, The Hurt Locker - but to me, it's critical to acknowledge this. The extras who are casually shot in action scenes aren't extras in the real world, it's an act of actual murder that is abhorrent in the real world.

One of humanities great moments happened after WW2, or maybe Vietnam: the realization that war is not noble, that "pro patria mori" is bullshit, and that no one really wins. Our media must reflect this fact, even if it seems to have lost touch with reality everywhere else. It's critical to the discourse and to our continued survival.

</comment></comment><comment><USER21> I see maybe one movie in the theaters a year. High ticket, food, and drink prices, along with bad seats, people using their smartphones in full brightness, and other bad behavior, have made it not worth it.

</comment><comment><USER22> I enjoying seeing movies in the theater. Digital projection is mostly fine, and I don't think your normal audience is going to be wowed in a meaningful way by 70mm film.

What's driven _me_ to see fewer movies is the constant bombardment with repetitive ads. From the moment I walk in the theater, there are ads blaring that you can't ignore. Then when the movie does "start", there are a good 20 minutes of trailers and often additional ads. The first time I see a batch of trailers, I'm okay with it. But if I go to the movies more often than once a month, I see so many trailers repeated that I rapidly get tired of the exercise. Maybe hold it to 2-3 trailers and one or two ads and let us have a little quiet time before the movie starts. The constant sensory overload is unpleasant even if the ads themselves weren't annoying.

I'm sure the movie industry believes all the ads are worthwhile, and the media conglomerates certainly don't want to pass up a chance to overload a captive audience with the latest musical artist or TV show they're pushing, whether it's counterproductive or not.

But for me, it makes it a lot less appealing to go back to the theater unless I'm sure I'm going to enjoy the movie. So much for taking a risk on a film I'm not sure about. I'd rather stay home, where I can do the same, but without all the desperate advertising.

</comment><comment><USER23> _One nightmarishly synergistic strategy is a pivot to toys, recently announced by Warner Bros., which will try to further capitalize on the marketing potential of all its family films._

A dream to some...

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

</comment><comment><USER24> 70mm has already long-since proved itself to be a lucrative mass-market format: it's called IMAX.

<comment><USER25> Most "IMAX" screens are not what most people think of when they think of IMAX. Rather than 70mm film projected onto multi-story screens, they're just using an IMAX-developed digital projection system and a slightly-larger-than- standard screen. The result can be disappointing if you go in expecting _real_ IMAX and get the inferior mass-market alternative instead.

IMAX deliberately lumps their 70mm system and their digital system together under the "IMAX" brand, without any additional information to help people distinguish between the two. It's hard not to think that this is done intentionally, to use the brand value their large-format system has built up over the years to sell tickets for the comparatively more lackluster digital system.

<comment><USER26> You're right that people should set their expectations properly, but IMAX Digital is still pretty great, visually and aurally. I saw Inception on an IMAX Digital screen and it really was just about perfect. The somewhat over the top audio production that Nolan does really comes alive on a system like that, and the film looked beautiful.

In a situation like that I don't know what the utility of the larger system would have been. I saw Avatar in 3D on such a system, and it was of course completely amazing, but that's not for everything.

</comment></comment></comment><comment><USER27> I hate 3D movies because it causes eye strain. I hope they pay attention but in all seriousness the market should already do this. I will watch movies in large format if I can and the movie is good .

<comment><USER4> 3D movies are mostly just irritating to me, because I have strabismus and only process input from one eye at a time, so I can't see stereoscopic 3D. With the glasses on, it just looks like a normal movie to me. Everyone gasps when something flies at the camera, and I don't get it.

Though I am glad they upgraded to polarized 3D glasses from the old red/blue kind. I couldn't watch movies at all with those--I either saw just the red or just the blue.

</comment></comment><comment><USER28> I saw Aliens in 70mm when it was first released in a huge theater. It was awesome.

<comment><USER29> _Empire Strikes Back_ for me. Amazing.

> Despite an increase in 3-D releases, the box-office market for that > particular upcharge is falling as 3-D has gone from being a special > experience to a perfunctory feature for every blockbuster.

The problem is the directors using 3D just couldn't resist the overused trope of having an arrow (or spears, in the case of _Star Trek: Out of Darkness_ ) fly out of the screen at the audience. I dunno, maybe it was intended as an homage to the old Anaglyph 3-D movies, but it fell flat.

<comment><USER30> The only movies I've seen that do 3-D "right" have been Avatar and Dredd. The former because the technology was built around the film, and it was presented in this subtle way that created an extraordinary depth without feeling cheesy or tacked on.

The latter because they really did some cool effects with the "Slo-Mo" drug that didn't have the same impact in 2-D.

But aside from those, it just feels like a way to charge more for a less- enjoyable experience (films that are too dark, potential headaches, uncomfortable glasses).

</comment></comment></comment><comment><USER31> does anyone know if this format transfers better with 4k or is the effect not able to scale to it?</comment>


Alan Kay asks "Significant new inventions in computing since 1980"? - <AUTHOR> http://stackoverflow.com/q/432922/4872

<comment><USER2> He answered a question about his own quote, which led to the thread about inventions.

[http://stackoverflow.com/questions/357813/help-me- remember-a...](http://stackoverflow.com/questions/357813/help-me-remember-a- quote-from-alan-kay#389642)

</comment><comment><USER3> I wonder what would have happened if CERN had patented the inventions that make up the Web?</comment>


Java Feature Spotlight: Text Blocks - <AUTHOR> https://www.infoq.com/articles/java-text-blocks/ <comment><USER2> This comment is not about text blocks as such but the write up by the author. (Brian Goetz... If you are here, when do we see the next edition of the book, please?).

It is not simply 'here's a new language feature'. I find it quite informative regarding what, why, how and why not etc. His articles explain what went into the decision making. Something on the lines of discussions in Effective Java by Joshua Bloch.

His article on records: [https://www.infoq.com/articles/java-14-feature- spotlight/](https://www.infoq.com/articles/java-14-feature-spotlight/)

</comment><comment><USER3> This is a nice feature to have, no doubt, but won't make much difference for an IntelliJ user. What I am most eagerly waiting for is Loom, that will bring fibers to the JVM, and make the arguments in favour of server side JVM even more stronger.

<comment><USER4> 'Text Blocks' took many years and you still need pass a flag to use it, I can't imagine how much time Loom will take. Maybe move to Kotlin coroutines?

<comment><USER3> I really like Kotlin, but text blocks were never the pain point for me in Java. The best thing Kotlin brings to the table is explicit nullability, which makes it so much easier to reason what can be null or not.

Loom and Kotlin coroutines are not the same though. Loom will bring real fibres to the JVM, which maybe Kotlin coroutines can use. Kotlin coroutines should also benefit from Loom.

<comment><USER5> Am I the only one who really dislikes coroutines?

</comment></comment></comment></comment><comment><USER6> So this is a long overdue QoL feature but the whole whitespace elision thing is unwelcome and unnecessary (IMHO). What's wrong with What You See Is What You Get? This is a perfect example of added complexity to solve a complete non-problem just based on probably the unsubstantiated aesthetic view of a handful of key people. Stop. Just... stop.

Even stripping trailing whitespace is... risky. Why is the language trying to decide what whitespace is significant? Or even trying to divine the mind of the developer at all?

I didn't realize there was a raw string proposal in Java 12 using backticks (bleh). By now I'm pretty used to languages that use double-quotes for interpreted strings (including escape sequences, at a minimum) and single- quotes for raw strings. This is an incredibly useful feature. Of course, Java uses single-quotes for character literals so that's out, otherwise I'd like to see """ for interpreted and ''' for raw.

Anyway, let me point out just one reason why this is terrible: source control. Consider:

        String s1 = """
                    <outer>
                      <inner>foo</inner>
                    </outer>
                    """";

Now change this to:

        String s1 = """
                    <outer>
                      <inner>foo</inner>
                    </outer>
                """";

It's only one line change but you have in fact changed what the previous lines do.

And of course (which the article mentions).... tabs!

I really want the option of pasting text into a block like this and knowing that's what I'll get. I don't want to process it usually (eg escaping characters).

<comment><USER7> How do you propose handling the most common case, when I don't want leading indentations?

        String s1 = """<outer>
            <inner>foo</inner>
        </outer>""";

is ugly.

<comment><USER8> Python has the textwrap[1] module in the standard library. Calling "textwrap.dedent()" on the docstring (multiline string) will strip white space to the least-indented line inside the text.

I'm personally a fan of having an easily-accessible method to call. That way you get indented text blocks and no "magic" formatting (at least, you explicitly opt-in to the magic formatting).

[1] [https://docs.python.org/3/library/textwrap.html](https://docs.python.org/3/library/textwrap.html)

</comment></comment></comment><comment><USER9> This seems a little too magical for Java - normally indentation doesn't have programmatic meaning like this in Java. I prefer the Scala approach: [https://alvinalexander.com/scala/how-to-create-multiline- str...](https://alvinalexander.com/scala/how-to-create-multiline-strings- heredoc-in-scala-cookbook/)

Just seems more obvious/clear.

</comment><comment><USER10> > To disentangle the incidental and essential indentation, we can imagine > drawing the smallest possible rectangle around the XML snippet that contains > the entire snippet, and treating the contents of this rectangle as a two- > dimensional block of text. This "magic rectangle" is the contents of the > text block, and reflects the relative indentation between the lines of the > block but ignores any indentation that is an artifact of how the program is > indented.

Well, I'll withhold judgement somewhat until I eventually use this feature for a little while, but based on the description this is simply too complex, which is disappointing. Who exactly was asking for the "magical rectangle" approach, anyway? Or incidental vs essential indentation? They did too much. And given how long people have been waiting for simple multi-line strings, and how many other languages already have them, I'm not sure how this got messed up.

<comment><USER11> I prefer seeing the multi-line string trimmed to the current indent level. I wouldn't call it messed up.

</comment></comment><comment><USER12> > Avoid mixing spaces and tabs in the indentation of a text block

This has some implications. For example, I can imagine someone editing a text block and inadvertently using a different indentation type (tabs/spaces) from the other existing lines, which would then change their program in a non- obvious way. I'm myself an author of a programming language with a non- standard approach to whitespace (called Muon), so this is a topic I've thought about quite a bit. Interesting that the Java team considers this an acceptable tradeoff. I'm looking forward to seeing how this plays out in practice as a data point.

</comment><comment><USER13> I much prefer Cs solution to this problem; you can write multiple literals in sequence and they will be concatenated:

      char* text = "hello" " dear"
      " sir";

This is great, because it doesn't make leading whitespace significant on the lines which the text block spans.

The Java approach, which seems similar to the Python approach, looks really silly when you are defining a literal in a nested scope;

      def hello():
        def world():
          text = """hello
      world"""
          print text

<comment><USER14> The difference between Python and Java is that the following (Python):

        text = """hello
                  world"""

will contain the intendation before world, while in Java:

        String text = """hello
                         world"""

will be equivalent to "hello\nworld".

<comment> apk-d I wish that's how C# handled it! There are verbatim string literals that support newlines, but in practice, most of the time I see people stick to regular string concatenation because it ruins code indentation/alignment. That's how Rider chooses to refactor code when you insert a newline as well. Multi-line verbatim strings begin to get useful around the point where you should be probably loading your text from some resource instead of embedding it in the source.

<comment><USER15> There's plenty of contexts where the extra indentation doesn't matter, though. And C#'s verbatim strings, at least when it comes to multiple lines, have the benefit of being extremely predictable in what ends up in the string (everything, including whitespace). They also have other uses that Java doesn't even address, like not interpreting escape sequences inside the string.

I'm not sure you can really compare them. They're two different features with fairly different uses, it's just that one or two of those uses somewhat overlap.

<comment> apk-d They're comparable in the sense that I'm guessing C# is unlikely to get _yet another_ string declaration syntax, so we're stuck with what we've got. Regarding predictability I definitely agree, but good syntax highlighting would help with that.

</comment></comment></comment></comment></comment><comment><AUTHOR> Interesting to see how Swift-inspired this feature is.

<comment><USER16> It seems to be using a somewhat similar concept it calls "incidental white space", in order to limit the embedding of leading whitespace (unlike Python which just stores the entire triple-quoted string as-is), but is more permissive:

Text content can be indented less than the trailing delimiter, which I understand is an error in Swift

        String html = """
        ..............
        ..............
        ..............
Hello, world

        ..............
        ..............
        ..............    """;

The trailing delimiter can also be on the same line as the final content, which suppresses the final (new)line:

        """
        line 1
        line 2
        line 3"""

translates to

        "line 1\nline 2\nline 3"

whereas

        """
        line 1
        line 2
        line 3
        """

translates to

        "line 1\nline 2\nline 3\n"

I believe this _requires_ escaping the newline in Swift instead (nb: according to the JEP this would also work in Java).

<comment><USER17> Slash at the end of the line serve the same purpose in Java

<comment><USER16> > Slash at the end of the line serve the same purpose in Java

As I wrote in my comment, yes.

</comment></comment></comment></comment><comment><USER5> Looooong after the other languages have done it, Java comes around to doing it. Seriously, the best thing about Java is the JVM where you can choose a better language than Java to program with it and get all the benefits of the JVM.

<comment><USER18> If you want to use any language, what makes the JVM important? Just use whatever that tech stack uses. Node uses v8, for example.

<comment><USER19> The ecosystem of supporting libraries for Java is bigger than any other ecosystem. There's a mature library for every concept in existence. The Node ecosystem has a lot, but for server-side libs it still doesn't reach the coverage of Java.

Apache, for example, supports a ton of Java libraries for which there's little competition, certainly not well distributed across language ecosystems. PDFBox, Lucene, etc.

When you're in the nitty gritty of automating business processes, that sort of thing is invaluable. For CRUD-style web services, any language will do the trick.

(I say this as not a big fan of Java the language)

Python also has a similarly wide ecosystem, and does better specifically in some regions than any other language, like ML, but a different set of focus areas. It's probably the other top contender for business-process automation, but big enterprises prefer OOP/static typing for typical work.

C# probably comes close in many areas, but there's still a split between the .net core and not-core ecosystems for the long tail of libraries, and no open- source powerhouse quite like Apache in the mix.

(C/C++ might fall here somewhere too, but I don't know nearly enough about those language ecosystems to comment)

<comment><USER20> > There's a mature library for every concept in existence

If you'll forgive a light trolling: how about ahead-of-time compilation, allocating small objects on the stack, UTF-8, compile-time asserts, or SIMD support?

(Was going to include await/async, but then I remembered EA Async.)

I realise this is a little off topic, but the JVM isn't without limitations. (Or perhaps all my examples are wrong - disproof welcome!)

<comment><USER21> You can get AOT compilation with GraalVM today, allocating small objects on the stack is being worked on in Project Valhalla, compile time asserts can be implemented with annotations if you care (see @NotNull), utf-8 is available in the standard library in the StandardCharsets class.

For Async/await, I believe a much better approach is available with Quasar today or with Project Loom soon.

SIMD is an issue though if you need that.

<comment><USER22> AOT was available for over a DECADE with the GNU Compiler for Java before it was removed.

<comment><USER20> It's also long been possible with lesser-known proprietary solutions like Excelsior JET, so I suppose Java can claim to have a mature solution to that feature, just not a mature mainstream FOSS solution (not counting Graal).

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> It seems strange to embed content in code in this way. You lose syntax formatting if it's structured content (HTML, JSON, etc) and also require recompiling if the content changes. I understand doing it if you're prototyping/hacking things together but it seems like a lot of effort was put into building this feature.

<comment><USER24> IntelliJ not only handles syntax formatting of code in string literals, but validates SQL against the db schema and performs identifier completion.

It's more convenient and safer to put SQL (or other text) inline next to the code that uses it rather than "some other file" that can fall out of sync.

<comment><USER23> I guess I don't have this problem because I don't work on CRUD apps.

</comment></comment></comment><comment><USER25> ...this is what Java gets instead of smth actually useful like structs/records/dataclasses with _pass-by-value semantics_?

<comment><USER3> Java is getting other things, text blocks don't have to be excluded due to those

1\. Records are already there AFAIK

2\. Structs (Value types) will come as part of Valhalla

3\. Records are the impl of dataclasses

4\. Pass by value is already there for primitive types. Valhalla might bring that to structs also.

Java is also getting a lot of good stuff like coroutines(Loom), and Panama(seamless FFI).

<comment><USER26> Records are still a preview feature in Java 14 (Apr 2020). Java 15 (Fall 2020) contains a second preview. They're usable, but you have to pass a flag to the compiler to enable them, and you run some small risk that the syntax will change (it's pretty simple, so I'd guess that won't happen).

I'm guessing that they'll land in Spring or Fall 2021, but that's just an outsider's guess. The really important cutoff is Spring 2022, when Java 18 is intended to be an LTS version.

<comment> J-Kuhn You have to pass `--enable-preview` to BOTH compiler and runtime.

If you think about it - the feature may change significantly or be even removed - it makes sense to only support a preview features in one java version.

Providing backward compatibility for preview features is simply not intended.

</comment></comment></comment></comment><comment><USER27> I don't hate Java. It was my 2nd or 3rd language, and the one I first used professionally. But O-M-G, this feature exists in most mainstream language and has for the past decade _at least_.

This is nuts to me how behind Java is. Is it only due to the backward compatibility? Or is there some crazy red tapping every time something is added?

<comment><USER28> It's a combination of things. Java is slow moving by the very nature of the contributors to the language and runtime favouring slow methodical advancement.

Additionally Java has a longer history than most of backwards compatible software that contributes to a higher burden of testing before making changes to the core language.

Finally there is the community itself which favours high performance and reliability and prefers where possible to make use of libraries rather than change the language or runtime itself.

That isn't to say Java isn't evolving or that the JVM itself is stagnant.

The introduction of the Java module system allowed the JRE itself to become a much lighter dependency. Things like Project Loom seek to bring Erlang-like fiber/green thread support to the JVM and will probably land in a release soon.

Also the release cadence has been changed so new releases are now landing much more frequently which is increasing the pace of development.

<comment><USER29> I think at this moment it is fair to say, that Java WAS a slow moving language. Now it is catching up quickly.

<comment><USER28> Yeah I probably should have lead with that.</comment></comment></comment></comment>


The Errors of TeX (1978-2014) [pdf] - <AUTHOR> http://texdoc.net/texmf-dist/doc/generic/knuth/errata/errorlog.pdf <comment><USER2> Note that this is the "raw" log — to put it in context and make sense of the abbreviations, you need to read the _actual_ paper named _The Errors of TeX_ (1989, also reprinted in the book _Literate Programming_ ). The paper has DOI 10.1002/spe.4380190702 and Google search finds a copy here: [https://yurichev.com/mirrors/knuth1989.pdf](https://yurichev.com/mirrors/knuth1989.pdf)

At minimum, the abbreviations are also given in [https://www.tug.org/TUGboat/tb10-4/tb26knut.pdf](https://www.tug.org/TUGboat/tb10-4/tb26knut.pdf) but the paper is much more. (Rehashing my comment from earlier: [https://news.ycombinator.com/item?id=18177962](https://news.ycombinator.com/item?id=18177962))

Incidentally, some archives of the old TeX source code are available online... it might be an interesting project to combine the two, but I'm not finding the time to do it. If anyone is interested in helping / doing it, let me know. :-)

</comment><comment><USER3> Here's the entry for 14 March 1978:

> Came in evening after sleeping most of day, to get computer at better time.

> Some day we will have personal computers and will live more normally.

<comment><USER4> Yes I suffered this too. In the 1980's it was all about terminal time. My undergrad college had thousands of terminals for 20,000 students - easy to get time. Grad school had 200 terminals for 20,000 students, with an elaborate electronic signup scheme and rationing. And that was Stanford! In Silicon Valley itself! I was vastly disappointed.

</comment></comment><comment><USER5> In case you didn't know, the source code of TeX itself is Pascal and published as a 500 pages literate programming tool which clearly is rendered with TeX, available at [http://texdoc.net/texmf- dist/doc/generic/knuth/tex/tex.pdf#6...](http://texdoc.net/texmf- dist/doc/generic/knuth/tex/tex.pdf#625)

If this was machine readable, then TeX could compile TeX ;-)

</comment><comment><USER6> Why is this dated 1989, it starts in the 70s and through to this century.

Even as Svat says, you need a 1989 paper to make sense of it.

</comment><comment><USER7> Reads like well written git commit messages.

<comment><USER8> If only you could write git messages like that... A lot of those messages would have to be shortened considerably to fit the 50 character summary.

It's annoying how frequently the shortest and best summary I can think of ends up at ~55 characters, and I have to omit important cotext or detail and include that in the body instead.

<comment><USER9> Why not just leave it at ~55 characters? 50 characters is not a hard limit. See the Linux commits, for example: [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/)

</comment></comment></comment><comment><USER10> It's about TeX (not Tex). The post title should be corrected.

It's a widely accepted spelling and is unambiguous in describing the topic.</comment>


Meteorite or Meteorwrong? - <AUTHOR> http://meteorites.wustl.edu/check-list.htm <comment><USER2> Excellent flow chart. It reminds me of the fun we had dragging a magnet around the desert outside of Las Vegas in search of meteorites and fragments. The coolest thing we found was probably (we didn't get a positive ID) part of a single action revolver's receiver.

</comment><comment><USER3> This is kind of confusing. There are two boxes about a dark, thin crust, and one of the boxes can't lead to "SEND ME A PHOTO", but still has questions coming off of it.

<comment><USER4> Also "Did someone see it fall?" unconditionally leads to "Not a meteorite."

<comment><USER5> Even at terminal velocity it is unlikely that one would "see" it fall. One moment it's not there, the next blink of an eye and it's already on/into the ground.

<comment><USER6> Couldn't it still leave a path of illuminated vaporized gas for hundreds of kilometers?

Of course the likelihood of having a meteorite fall near enough that you would try searching for it but also being able to actually find the meteorite is extremely small.</comment></comment></comment></comment>


U.S. government removes detailed pollution map from internet - <AUTHOR> https://www.popsci.com/story/environment/toxmap-removed-federal-government/ <comment><USER3> There was some significant discussion around this and the data sources that feed it on Reddit: [https://www.reddit.com/r/DataHoarder/comments/ea0wx2/urgent_...](https://www.reddit.com/r/DataHoarder/comments/ea0wx2/urgent_request_federal_databases_disappearing/)

It seemed from the comments that the Toxmap is going away, but most/all of the data 5hat feeds it is still available. There are several other related datasets that were "retired" around the same time, and those seem to be truly gone.

<comment><USER4> > _There are several other related datasets that were "retired" around the > same time, and those seem to be truly gone. _

This is bad. Another reason that we need to demand that all public data should be available in a machine-readable raw format, not just a web frontend for access, and that we need to systematically upload datasets to archive.org.

</comment></comment><comment><USER5> Before jumping to conclusions, I have some questions that the article didn't answer.

Is there any information available about how widely this was used beyond the anecdotes provided in the article? How costly was this to maintain? Is there an alternative that makes this redundant? Are there plans to replace it which simply haven't been published yet?

It sounds like the data sources used by Toxmap are still accessible. Was the visualization provided by Toxmap _useful_ or was it just novel? Judging by the screenshots, the visualization doesn't seem to provide any insights that couldn't be easily inferred by simply looking at a population heat map. Did many people even know what Toxmap was before reading the article?

If this _is_ a politically-motivated play, it's not a smart one. It's very on- the-nose and will probably do more harm than good to "anti-green political movement" (for lack of a better term).

</comment><comment><USER6> > White House officials are working on an executive order that would ... > require that publicly funded science be obtainable for free immediately [1]

It would be great if that could be extended from science to also include regulatory agencies. That would include Toxmap source data. Better than an executive order would be a federal statute. It's even worth a constitutional amendment.

[1] [https://www.eenews.net/stories/1061836761](https://www.eenews.net/stories/1061836761)

</comment><comment><USER7> This looks like an opportunity for some aspiring web developer to put together their own map. I'm sure there's a nonprofit that would be willing to host it.

<comment><USER8> Im sure that a bunch of nerds (me included) would be able to add whatever sensors needed to upgrade their diy weather stations and upload the feeds somewhere

</comment></comment><comment><USER9> The leaders of the govt have at least basic rights to retract lots of things that are public, unless there some specific rule requiring something to be out there. This seems pretty clearly to be bad, is there any defense of this? My older relatives insist the current us govt 'changes' with Trump are what we need to succeed in the future. They aren't aware of things like this, but is there any defense of actions like this? My dad would probably say increasing business activity is the central goal of the govt, so it's okay not to cause trouble by pointing out all these pollution sources. But I can't see any good for this kind of stuff.

<comment><USER10> The people in most governments are quite cheap,so no surprise here. However,what I don't get is that same people forget that they live in the same country, breathe the same air and their kids will continue to do so. It's like trying to burn neighbor's house without impacting your help own,even though they are both connected...

<comment><USER11> > The people in most governments are quite cheap...

Have you seen our budget? <wink>

</comment></comment></comment><comment><USER12> So long as the underlying data sets are still available, this sounds like something that could be taken up by an NGO or advocacy group such as the Sierra Club. If anything it could benefit from better exposure and more funding.

<comment><USER13> It appears based on other comments several related datasets are also gone.

</comment></comment><comment><USER14> Could'nt netizens add this kind of data as a layer on OpenStreetMaps? Over time, it could be comprehensive?

</comment><comment><USER15> All inconvenient truths shall be wiped under the carpet. Capitalism is a great thing and has brought us very far but you have to wonder if at some point it isn't going to undo all of that progress and put us back where we started or worse.

<comment><USER16> "All inconvenient truths shall be wiped under the carpet. "

That's more about the motives of people, all people, rather than a commentary on capitalism or anything else.

<comment><USER15> I don't think so. Capitalism is what drives politics in the United States, the degree to which big businesses dictate the course the country charts is unparalleled. Everything revolves around the large companies that pollute and externalize where ever they can, all in the name of profits.

Essentially the United States just removed a bunch of stuff that is embarrassing to corporate interests, in order to allow them to pollute some more but this time without any accountability.

<comment><USER17> Interesting. Why wouldn't there be an opposite corporate side that would make money off the stuff being removed. For example, there are a LOT of companies in the U.S. making money from environmental and alternative energy that might benefit from information the corporate interests had removed.

Maybe that _does_ boil down to just the political parties in charge at the time. If so then does politics trump capitalism?

<comment><USER15> That's because resource extraction from the planet is - for now - <USER2> cheaper than doing it in a sustainable way. At some point that will flip but by then it may well be too late, the 'mines of tomorrow are the garbage dumps of today' was recognized long ago.

Just think of all the copper in landfills.

</comment></comment></comment></comment></comment><comment><USER18> You dont have to burn the books, you just remove them.</comment>


REST APIs must be hypertext-driven (2008) - <AUTHOR> https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven <comment><USER2> Most of the APIs I use and build are best suited as RPC systems rather than hypermedia networks, so implementing the entire REST idea has never been immediately useful. Broadly the real consumers of RESTful APIs are not generic hypermedia clients (generalisation of browsers) which are able to traverse your flavour of hypermedia, but the things operating those clients. Most of the time, those "things" are dumb business logic applications that can't explore the hypermedia to discover new functionality and furthermore are not designed to do anything with it anyway.

If it is a human traversing the hypermedia however, they're able to derive a lot of understanding about the API and its features, as if the API is self documenting, but that generally only occurs during the development and debugging stages. After that the hypermedia is useless to the dumb business logic. Also I'm sure most humans prefer to browse the documentation on the alternative World Wide Web hypermedia network, as any good API would have documentation published there.

All in all hypermedia is mostly useful for intelligent consumers, so if that is not the consumer of your API and you suspect instead the consumer will be static business logic (the vast majority of cases) then REST will not be particularly useful. As I mentioned an interesting use case would be bundling up documentation into the API itself and hyperlinking between that and related URLs, however the overhead is generally not worth it since you're likely to do it better with documentation site.

<comment><USER3> > Most of the time, those "things" are dumb business logic applications that > can't explore the hypermedia to discover new functionality and furthermore > are not designed to do anything with it anyway.

Dumb business logic is not the point. One of the benefits of HATEOAS is that it allows REST clients to be loosely coupled with REST services, in a way that APIs can change freely change (i.e., change endpoints around, break away functionalities into other services, etc.) without requiring clients to be updated under the penalty of breaking compatibility.

The main reason why no one does REST and everyone does RPC-over-HTTP is that while REST clients require tracking and updating state to support service discovery, RPC-over-HTTP just requires a single HTTP request to achieve the same purpose, albeit without the resilience and future-proof.

<comment><USER2> > One of the benefits of HATEOAS is that it allows REST clients to be loosely > coupled with REST services, in a way that APIs can change freely change

My point is that even though they're loosely coupled, the API actually cannot change freely because the actual consumer of the API, the business logic, is still tied to the API through the client. If your API changes and the client/browser is still able to traverse it fine, but your business logic breaks, does that _actually_ mean that the API is free to change? I don't believe so.

<comment><USER3> > My point is that even though they're loosely coupled, the API actually > cannot change freely because the actual consumer of the API, the business > logic, is still tied to the API through the client.

The main promise of REST is that following that particular application style does indeed allow the API to freely change without breaking backwards compatibility.

The main drawback of REST is that no one actually follows those principles.

With REST, the client is not tied to an API. The client seeks resources, and relies on content discovery processes to determine how to access those resources. The only endpoint that may be hard coded is a home/root endpoint, and all other resources are accessible through it by following hypermedia. With REST you care about the what, not the where.

> If your API changes and the client/browser is still able to traverse it > fine, but your business logic breaks

This is where you're getting it wrong. REST is all about the interface. The interface has zero to do with the business logic. If you have an interface that allows you to access the same data but for some reason your business logic breaks due to non-opersrional reasons (i.e. extra latency from the content discovery process) you need to have a talk with whoever screwed that up.

</comment></comment></comment></comment><comment><USER4> There was a great article about the common misconceptions about REST recently: [https://twobithistory.org/2020/06/28/rest.html](https://twobithistory.org/2020/06/28/rest.html)

The longer I think about it, the more I come to the conclusion that REST is simply not useful for application development in general. It is no accident that most APIs called "RESTful" by their creators are violating basic REST principles. But REST has some useful attributes even if not used strictly - caching comes to mind.

The question is: should we have another "standard" for web application development? Something more like RPC? There are some approaches, but nothing that I would call a broadly accepted standard. How should such a standard look like?

<comment><USER5> Yes we should. We should have a standard which is actually a standard and actually makes sense for what people are actually writing APIs to do.

gRPC would be a candidate, but the need for dev-side tooling to turn proto files into code is a bit of a downer.

</comment></comment><comment><USER6> Does JSON API ([https://jsonapi.org/](https://jsonapi.org/)) follow all this rules? If not what rules is not followeb and why in your opinion?

</comment><comment><USER7> I've never really seen a good explanation of why REST is a meaningful concept. Why REST? Why these requirements? What do you mean stateless? What is bad about deviating?

<comment><AUTHOR> I would suggest taking a skim through Chapter 5 of Roy Fielding's dissertation[0] (where REST came from) to answer some of your questions.

As for "What do you mean stateless?", read this quote from the posted article:

> ...if the engine of application state (and hence the API) is not being > driven by hypertext, then it cannot be RESTful and cannot be a REST API.

Why does he say this? Well, he was explicit about state in his dissertation[1]:

> ...each request from client to server must contain all of the information > necessary to understand the request, and cannot take advantage of any stored > context on the server. Session state is therefore kept entirely on the > client

[0]: [https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)

[1]: From Section 5.1.3 [https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_3)

<comment><USER8> This doesn't answer the question as to _why_ this is a good idea.

<comment><AUTHOR> That's fair. I don't have a decent explanation supporting why REST is a meaningful concept. Rather, I focused on the other questions that could be answered by the dissertation.

The choice to create an API in this fashion, without RPC and other things mixed in, is up to the developer. Others have commented on this with their arguments.

</comment></comment></comment></comment><comment><USER9> This is equivalent to complaining that rap isn't music. The meanings of words change, sometimes in ways we consider irrational or inconvenient in various ways. Complaining about it never seems to help.

I long ago stopped complaining to people in this forum about the difference between "it's" and "its". In response, please stop trying to reclaim the term REST. It's long gone.

<comment><USER10> This is an article from 2008 by the person who invented REST.</comment></comment>


Don't Get Bored at Demo Day - <AUTHOR> http://www.thedailymuse.com/entrepreneurship/onstartups/dont-get-bored-at-demo-day-2/

<comment><USER2> These people are in for a surprise. This time every start-up has hard figures on their graphs. It doesn't make them any less impressive.

<comment><USER3> Hard figures make them look more honest, which is nice. Then you can actually trust them when one or two of the figures actually are impressive.

</comment></comment><comment><USER4> "What hasn't? Graphs without labels on the Y axis." +1

<comment><USER5> Our pitch deck had a timeline slide where there was a horizontal line annotated with months. I jokingly suggested to our CEO/Designer that it should go up and to the right. He chuckled and asked "What should be on the Y axis?" We decided on "Awesomeness" with a scale from High to Higher. Got some good good laughs out of investors.

</comment></comment><comment><USER6> Looking over my YC! application I think I got 5 of these squares but thankfully, no bingo. ;) Still time to edit before submission. :)

</comment><comment><USER7> I thought all YC start-ups were required to report on week-on-week growth!

</comment><comment><USER8> You forgot to allow themuse.com as an acceptable word in PowerPoint's spell check.

<comment><USER9> Ha! Ok, fixing now - thanks :)

</comment></comment><comment><USER10> Hilarious.</comment>


I Lost Faith in the Industry, Burned Out, but the Cult of the Tool Saved Me - <AUTHOR> https://m.habr.com/en/post/440914/ <comment><USER2> has a good point, would communicate it better if they cut the length in half.</comment>


How Alphazero defeated Stockfish with much less computational power and 0 training - <AUTHOR> https://en.chessbase.com/post/the-future-is-here-alphazero-learns-chess <comment> nevi-me The 10 games that are published as part of the paper are at the bottom of the page. It's like watching an alien playing chess, it seems so ... foreign.

I've only gone through a few of the games, but on the 3rd one I was wondering things like "surely AG wins this piece, or a few pawns" yet it chose not to take. Obviously knowing that SF is ELO 3200+, makes one concede that it might be a poisoned carrot, but for a program that was only fed rules to be able to decide that, is crazy.

It makes for very entertaining chess, and I think the wonderful people who work on tuning SF and other engines will have a lot to think about.

What's the highest theoretic ELO rating that a computer can get?

A few people mentioned that it'd be interesting to see how AG performs on a home computer. Maybe that'll be the differentiating factor. AG that's handicapped by input resources.

Lastly, does AG constantly learn as it plays? i.e. once a chess model is created, does it get updated with new info on the fly, or would it require more training?

</comment><comment> nevi-me "0 training", isn't that incorrect? The article doesn't mention that. Playing against oneself is still training.</comment>


Alex Stamos: Working on Security and Safety with Zoom - <AUTHOR> https://medium.com/@alexstamos/working-on-security-and-safety-with-zoom-2f61f197cb34 <comment><USER2> Also related Twitter thread: [https://twitter.com/alexstamos/status/1247866073682030592](https://twitter.com/alexstamos/status/1247866073682030592)</comment>


Show HN: Monitor Your Competitor's A/B Tests - <AUTHOR> http://cromonitor.com/#hn

<comment><USER2> What's the benefit of knowing what your competitor is A/B testing?</comment>