Assessing IBM's POWER8, Part 1: A Low Level Look at Little Endian - <AUTHOR> http://www.anandtech.com/show/10435/assessing-ibms-power8-part-1 <comment><USER2> The best part of POWER8 is the ability to flash and verify the CPU firmware using a completely open toolchain. All modern Intel and AMD processors have secret sauce signed firmware (that can even access and use the network). You can't ever be sure what is running on them internally. POWER8 is a secure architecture even in the case of an NSA targeted hardware intercept during shipping. You can just reflash with known/verified good firmware when you get it.

<comment><USER3> How does this work at the lowest level? How does one know that the flashing itself is not being subverted or altered by the microcode?

There has to be a level below all of the turtles, right?

<comment><USER4> You can probably hide evil in a few gates, in the right place. A little additional logic that perturbs an MMU mapping or TLB load, or fail to register an exception if a bit of hardware has seen a recent pattern of behavior. Heck, with a few thousand gates you could have a full microprocessor embedded on the sly.

I don't know at what point this stuff becomes noticeable; do you subvert the silicon toolchain? Do you buy off the people who make the masks? Are there feedback loops in the silicon production chain where changes would make it back to a designer, who would say "Hmmm, that's funny..."?

In the early 80s it looked possible for a chip designer to stick in Something Bad without much notice. With billion transistor chips, it seems a lot easier.

Is there a VHDL equivalent of the Underhanded C contest? :-)

<comment><USER5> How about a single capacitor that isn't even connected to anything? [https://news.ycombinator.com/item?id=11768980](https://news.ycombinator.com/item?id=11768980)

</comment></comment></comment></comment><comment><USER6> > Once all threads are active, the IBM POWER8 core is able to outperform the > Intel CPU by 41% (geomean average).

Nice! I see good multi-threaded performance. Can use regular memory in it as well. Also someone mentioned already I see but I understand POWER8 doesn't come with something equivalent to Intel Management (ME) -- the friendly backdoor inside your server <insert Intel Inside joke here>

<comment><USER7> Yes, that is why for the Talos workstation Power8 was chosen: [https://www.raptorengineering.com/TALOS/prerelease.php](https://www.raptorengineering.com/TALOS/prerelease.php) [https://www.raptorengineering.com/TALOS/prerelease_specs.php](https://www.raptorengineering.com/TALOS/prerelease_specs.php)

"POWER is the only open, owner-controllable architecture that is competitive in performance."

If you are interested in using anything other than Intel ME/AMD PSP "backdoored" desktop, please register your interest, they will only build Talos if enough people want to order it.

<comment><USER8> I would be interested, but even their minimal configuration is overkill for me. If there's a 50-70W quadcore option, sign me up.

</comment></comment></comment><comment><USER9> $4,900 for a barebones system is still too high for a platform meant to compete with a PC tin bucket server, where 1U barebones start at $800, and a decent 32GB / 4TB server can be had for $1,800.

Next on the list, if I don't want to run Linux (and I don't) what other freeware choices do I have? As far as I know only beta versions of AIX were gratis, everything else had a hefty licensing fee. Those kinds of games don't fly in this day and age, hence anything that is not intel and freeware and open source has been relegated to dwindling sales, and close to non-existent market uptake. itanium, POWER, UltraSPARC - examples aplenty.

When will AIX, the volume manager, and the compilers become freeware / open source, or at the very least freeware?

<comment><USER10> Do you have any specific preference for what operating system you'd want to run? Linux seems to be what most people are going to run on it, though the devices do also run AIX (according to Wikipedia)

Have you looked into the various BSD's to see if they support it (yet?) I used them a couple years ago on some old Apple PPC hardware I had clunking around as they ended up running circles around Linux in hardware support and stability

<comment><USER9> (Disclaimer: PPC Yellowdog Linux on PlayStation 3 used to be my primary development system.)

I'd prefer SmartOS, but that only works on intel, as PPC support was removed from the illumos kernel a long, long time ago. Nevertheless, reverting those changesets and getting it running again would be cool.

Next on the list, then, would be AIX, an operating system developed on POWER for POWER.

I also read that FreeBSD has some POWER support, but unlike AIX, it's nowhere near production quality material yet. FreeBSD would have been my next choice.

</comment></comment></comment><comment><USER11> IBM is pushing hyperledger / blockchain on Power8 pretty hard.

Given how much memory bandwidth is a bottleneck on updating the internal Merkle trees, Power8 might be good for tx throughput

<comment><USER12> IBM are also providing hardware and engineering to get Cloud Foundry running on POWER8.

I work for Pivotal, we donate the majority of engineering on CF, but IBM is the next biggest contributor. They've started assigning engineers to work alongside multiple teams on porting to POWER8 and have started setting up test clusters as well.

Just this week I was in a remote tri-pairing session with an IBM engineer working on getting our buildpacks pipelines[0] running on POWER8.

I personally can't wait to see how it performs.

[0] [https://github.com/cloudfoundry/buildpacks- ci](https://github.com/cloudfoundry/buildpacks-ci)

</comment></comment><comment><USER13> I'm still waiting for cheap(ish) POWER8 development boards. Any news on that?

<comment><USER14> Depends how you define cheapish. Raptor are building a dev board, estimated price is $3700: [https://www.raptorengineering.com/TALOS/prerelease.php](https://www.raptorengineering.com/TALOS/prerelease.php)

<comment><USER13> Somewhere in the $500-1000 range would be cheap enough that I could buy one and expense it.

<comment><USER14> Their estimated price for the board without the CPU is $2700, indicating that they're expecting a minimum price for $1000 for the CPU alone.

<comment><USER13> IBM POWER CPUs are really expensive because their yields must be very small. However there are other sources of POWER CPUs. POWER CPUs aren't intrinsically expensive.

Freescale are one (eg. the e5500 - I can't keep up with whether that exact model was POWER7, but last I checked Freescale did a POWER7 CPU). These are much cheaper. But the problem with them is they are embedded CPUs (book E?), so they omit some instructions required to run server versions of Linux. Also IIRC they are all big endian, or at least had some problem running in LE mode.

Anyway to get to my point: unless there are affordable development boards for POWER, no one is going to spend much time porting software and fixing bugs for POWER.

</comment></comment></comment></comment></comment><comment><USER15> Does POWER have an advantage in price-performance ratio over Intel? When I say price, it's the TCO, including energy costs.

<comment><USER13> My take on this is that if you need peak single thread performance and are willing to pay whatever that costs you should consider POWER. If you are at all sensitive about price, or if you can expend development effort parallelizing your work across lower performance cores, you should go with x86. They are different markets for different people.

I have access to POWER8 hardware through work and it really does scream. Forget benchmarks, it's noticeable at the command line. Which is nice, but I'm not paying for it.

<comment><USER16> > Forget benchmarks, it's noticeable at the command line.

What do you mean exactly?

<comment><USER13> Well I compile libguestfs ([http://libguestfs.org/](http://libguestfs.org/)) on POWER8 fairly regularly and the compilations just fly past. I haven't benchmarked it, and I'm not allowed to benchmark it because of the NDAs we sign, but it's obviously faster than the Intel machines we have. Because of the single-threaded parts of the build (eg. ./configure), these builds benefit much more than just having lots of cores - Amdahl's law and all that.

</comment></comment></comment></comment><comment><USER17> I would love to see the same benchmark with --march=native. I doubt AVX would be used without this flag on the Intel platform, and this might be also hindering the Power8.

<comment><USER13> FWIW RHEL 7.3 (ppc64le) will be compiled for POWER8 only. As I discovered the other day, binaries will randomly segfault if you try to run them on POWER7.

</comment></comment><comment><USER18> Assuming they are similar price, POWER8 is roughly 40% better, double the Idle power, 20% slower Single Thread Performance.

So... why would I want to buy that? I believe at 14nm, Google would likely make the switch as their scale is different. ( Any % of improvement is a lot in Google Scale )

</comment><comment><USER19> Summary: it's all about the bandwidth.</comment>


Google Deactivates Web Search API - <AUTHOR> https://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=small&safe=active&q=foobar&max-results=1&v=2&alt=json <comment><AUTHOR> Since I can't post both a title and text:

What's interesting about this is that the API has been officially deprecated since 2010 (and "offline" since September 2014), but today is the first day that it's actually become unavailable.

Edit: Additionally, there are probably going to be _big_ repercussions to the web/average person's browsing experience as a result of this. A _massive_ number of sites (and programs, bots, etc) were using this API because of its simplicity (and absence of registration/authentication).

<comment><USER2> > Additionally, there are probably going to be big repercussions to the > web/average person's browsing experience as a result of this. A massive > number of sites (and programs, bots, etc) were using this API because of its > simplicity (and absence of registration/authentication).

Yep. My harmless little IRC bot can no longer Google search anymore :(

<comment><USER3> Why not? There's a custom search API.

[https://developers.google.com/custom-search/json- api/v1/over...](https://developers.google.com/custom-search/json- api/v1/overview)

<comment><USER4> Yes, and it's scoped by either domain or (rarely used) types from the schema.org ontology. You can't use it to just search the web.

<comment><USER3> You can use it to search the web; you don't get the exact same experience as the old API.

[https://support.google.com/customsearch/answer/2631040?hl=en](https://support.google.com/customsearch/answer/2631040?hl=en)

<comment><USER4> Neat. Now it's just a matter of dealing with the absurdly low free usage limit and absurdly expensive paid tier.

<comment><USER5> Then it's just a market forces question. Use a provider of search services which matches your budgetary/usage requirements.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> We need a search engine that allows for deep search. It should be an open and cooperative project, and users could possibly run an instance of the spider/indexer as payment for executing searches, so it could be like a cross between bittorrent and Tor.

A free search engine would enable API calls and also boost privacy and freedom from the likes of Google. We have built a lot of experience about search engines since 2000, we have access to scientific papers, cheap cloud servers and a huge interest in freeing search, so I think the open source community do it.

<comment><USER7> Writing an open, and distributed web crawler / indexer is a nice programming exercise.

Writing an "objective" ranking function (for any values of "objective") in an open, and distributed manner is structurally not favoured by humanity's current incentive structure. As in:

* a dev team have to agree on signals, and weights: "SERP quality" has dedicated _teams of people_ assigned for specific verticals @ Google; replicating this in a distributed manner will be played politically

* Assuming any significant usage, the second you submit ranking code to public github repo, the algo will be played by thousand SEO scammers to their advantage

* Executing custom ranking function on other people's computer not only introduces security risks, but will have scammers setting up honeypots for collecting other people's ranking signals, and playing accordingly.

<comment><USER8> > submit ranking code to public github repo, the algo will be played by > thousand SEO scammers to their advantage

Just a thought : Ranking code could itself learn & adapt to each individual user (the learned "weights" could be sync'd online across your devices). Weighted signals from users can be fed back to the mother ranking algorithm (un-customized one). Basically millions of distributed deep minds[1], instead of a single one.

I can imagine there are a lot of holes in my theory, but we can't simply accept that open sourcing the algorithm implies that it can't be done.

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

<comment><USER9> > Ranking code could itself learn & adapt to each individual user

Cue blackhat SEOs creating millions of subverted "users" on AWS spot instances/Lambda

</comment></comment></comment></comment><comment><USER10> We had some trouble when the Youtube API was disabled for non-registered users. We were using it for some shared & local web-playlist, which is based on youtube-dl/mpv.

Sadly we couldn't use DDG because their API won't let you filter for video results only (Source: Asked on IRC, got a reply from DDG staff + haven't found any documentation mention this either).

We ended up using searx [0] which takes little more time for search results (about 1-3 seconds) but we gain more video-sources (such as vimeo or dailymotion).

I'm aware that youtube-dl got a search functionality build in as well, but the requirement that the client needs to get results without being prepared by our embedded computer wouldn't fit.

[0]: [https://github.com/asciimoo/searx](https://github.com/asciimoo/searx)

</comment><comment><USER11> What are the alternatives for a full web search API? Yahoo BOSS closed down a few weeks ago. Bing seems the last man standing. And, unfortunately, none of the ones I've tried are very good; one project I'm working on needs to prioritize newer results over older ones, and only Google had a sort by date option (which I think was also removed in the past).

<comment><USER12> the first thing that came to mind was DuckDuckGo :) [https://duckduckgo.com/api](https://duckduckgo.com/api)

<comment><USER13> Its not a web index. They are unable to offer that as a lot of their results come from external services such as Yandex and Bing.

The results are their zeroclick info snippets and it is very useful for pulling an answer from wikipedia since they have already parsed it.

<comment><USER14> But do they consider spidering context problematic? What would stop someone building an API on top of their simple websearch?

</comment></comment></comment></comment><comment><USER8> This needs our love & support : commonsearch.org

Prev discussion (few weeks back) [https://news.ycombinator.com/item?id=11281700](https://news.ycombinator.com/item?id=11281700)

Credit : @sylvinus

</comment><comment><USER15> I wrote a PageRank library a while back and just got a report yesterday that it also no longer works.

(PageRank never actually had an official API, but it was exposed for the Google toolbar. They had announced that this would go away a while back but just dropped the axe in the last day or two.)

<comment><AUTHOR> I guess they're cleaning house.

</comment></comment><comment><USER16> Phew! -- Just managed to reactivate some applications[1][2] by providing cached search results.

The Google REST API was a great way to provide audiences with a known tasks in order to connect them to a historic setup or interface. RIP.

[1] [http://www.masswerk.at/googleBBS/](http://www.masswerk.at/googleBBS/) [2] [http://www.masswerk.at/google60/](http://www.masswerk.at/google60/)

</comment><comment><USER17> Does anyone know of an API that returns pages related to any given URL? I'm looking for an alternative to Google's "related:..." search, which was only reliably accessible through Google Web Search (Google Custom Search is very expensive and has a limit of 10K queries per day).

For example: [https://www.google.com/#q=related:http:%2F%2Fagiliq.com%2Fbl...](https://www.google.com/#q=related:http:%2F%2Fagiliq.com%2Fblog%2F2013%2F08%2Fwriting- thread-safe-django-code%2F)

It returns pages related to any given page, and works at the specific page level (not just at the domain level, like SimilarWeb's API).

I've migrated to Bing for all other web search needs (way cheaper and without volume limits like Google Custom Search), but Bing does not offer a "related:..." equivalent as far as I can tell.

<comment><USER18> While you're looking for this feature in the meantime, ping the Bing team and ask for it as an added function of their API. Microsoft is a lot more open to feedback these days.

<comment><USER17> Any idea on how best to get in touch with them?

<comment><USER19> Hi! I work on the Microsoft Cognitive Services team, which includes the Bing Web Search APIs in our family.

For feature requests, it would be awesome if you posted them to: [https://cognitive.uservoice.com/](https://cognitive.uservoice.com/) (I'm also forwarding your post to Bing).

If you want to get in touch with the team directly about a question/issue, the "Contact Us" widget at the bottom of the Cognitive Services page is the way to go: [https://www.microsoft.com/cognitive- services](https://www.microsoft.com/cognitive-services)

[http://www.bing.com/partners](http://www.bing.com/partners) list all the services/APIs/partnership opportunities Bing offers.

</comment></comment></comment></comment><comment><USER20> Slightly OT: Does anyone know how RankScanner works? My guess was this but it still seems to work. Their site seems to suggest they have loads of servers, but seems unlikely, I'd have thought Google would have captached them to hell by now.

Very good product. I'm curious how it works though.

<comment><USER21> Having built a ranktracker before, and still being good friends with people who run one of the biggest rank trackers on the market, using the google API's simply isn't an option.

Simply put, the API never returned the results in the exact same order as the actual search results did.

The best / most reliable rank trackers did (and still do) simply use proxies to get around the google captchas. I've scraped millions of pages from google over the years, and with enough proxies, the correct proxy delays/timeouts, and other little tricks you pick up along the way; you can actually scrape google pretty easily.

This is especially true with the dropping cost of proxies. I'm obviously an exception considering I run several scraping SaaS and have generally specialized in it for years, but I can he hitting x.com with 30,000 different IP's within the hour.

<comment><USER6> > with enough proxies, the correct proxy delays/timeouts, and other little > tricks you pick up along the way; you can actually scrape google pretty > easily

Try putting a site: in the search and it becomes suspicious fast.

<comment><USER21> You're correct. However for Rank Tracking these types of queries aren't needed.

</comment></comment></comment></comment><comment><USER22> What is the rationale for Google doing this? How much money was this service costing them?

<comment><USER23> I believe the problem was that if you did /google or !google on your bots for various chat platforms, you were able to find the top hit or two without ever looking at Google's Ads.

Most of their revenue is ads.

<comment><USER22> So the question becomes, how much _potential_ money were they losing through the API? Does Google think that by removing the API, people are now going to go to another window, perform a google search, and intently study the advertising before reviewing the search results?

<comment><USER24> You just made a textbook strawman. It doesn't do anyone any good to theorize about what the dumbest possible reason might be for Google to do this. It is infinitely more useful to think about what rational, informed reasons they might have for doing it (regardless of whether you agree with those reason). People reflexively jumping to strawman arguments is probably #2 or #3 on the top ten list of Why We Can't Have Nice Things, in tech, politics, and just about anything else in the world where different groups of people have imperfect knowledge about each other's activities and motivations.

</comment></comment></comment></comment><comment><USER25> Why do API developers add a HTTP status code in their JSON response, when the HTTP status code is already in the header?

<comment> X-Cubed Depending on the technology you're using to access the API, the HTTP status code may not be exposed from the underlying stack.

For example, Microsoft Silverlight only returned 200 or 404 status codes: [https://msdn.microsoft.com/en- us/library/system.net.httpstat...](https://msdn.microsoft.com/en- us/library/system.net.httpstatuscode\(v=vs.95\).aspx#Anchor_1)

<comment><USER26> That would be called a "bug," and a perplexing one, at that.

</comment></comment></comment><comment><USER27> The YouTube API used to be open too - no regstration or authentication. That ended years ago. I don't really need an "API" to do searches and transform the results into a more useful format than HTML. These API's make it easier and are addictive, for sure. It's foolish to rely on them however.

</comment><comment><USER28> I believe Google will replace it — the Google Search Appliance is going away too. Something will pick up those customers. An announcement at I/O, which is pretty soon?

<comment><USER29> It has been deprecated for years, disallowing new customers.

No sign of any replacement

</comment></comment><comment><USER30> I don't want to sound negative, but this is why I don't use external APIs. You never know when they will suddenly shut down.

<comment><USER31> No, it's only been deprecated for six years. There was just no way to see it coming.

</comment></comment><comment><USER32> Afaik this has been broken for me for December 8, 2015 when I first received: {"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

</comment><comment><USER33> `"responseStatus": 403`, but the actual HTTP response is 200 OK?!

<comment><USER34> Because the request went through! /s

</comment></comment><comment><USER35> With more people placing value on privacy, the api was used by disconnect search along with tor and other privacy tools, google has just planted the seed that will become their biggest competitor.

</comment><comment><USER36> This is terrible news and with Pagerank also disabled recently, now 2 features of our domain health testing service has been crippled. Pagerank was easy to replace with moz rank but this data was irreplaceable due to the fact that it was specific and unique to google. Rip one of our main tools.

<comment><USER37> PageRank had been completely useless for a couple of years, and practically useless for several years before that.

<comment><USER36> That depends on your reason of usage, as a guide to web ranks its been obsolete as you say for years, but as a cheap and quick measure of a domains potential (for passing link juice or to compare link juice between two domains) in comparison against another, Pagerank had some value.

</comment></comment></comment><comment><USER38> #DuckDuckGoLooksUnprofessional

It seems pety, but I really feel the duck look is holding it back.

<comment><USER39> You mean like the original Google home page? With it's clashing bright colored logo and terrible font use? [http://www.jaygeiger.com/index.php/2007/01/21/original- googl...](http://www.jaygeiger.com/index.php/2007/01/21/original-google- homepage/)

<comment><USER40> No, Google had a nonsense name with a logo, like Bing. DDG is a silly name with a cartoon duck.</comment></comment></comment>


Where did the weekend go? How work stole our Saturdays and Sundays - <AUTHOR> https://www.theguardian.com/money/2020/feb/27/where-did-weekend-go-how-work-stole-saturdays-sundays <comment><USER2> I think weekends will keep getting cannibalized by work as long as employers provide overtime pay for it in the lower-paying jobs and, in higher-paying jobs, it'll persist due to the culture we've established: want to be successful? Sacrifice, sacrifice, sacrifice. Put work over leisure, be available to handle emergencies. This isn't just true for employees anymore, startup leaders now give up their spare time to succeed. It's better than CEOs who spend time at resorts while employees slave away but it's still not healthy.

<comment><USER3> "Sacrifice, sacrifice, sacrifice"

Time is limited. To be successful at anything you need to sacrifice time now for your future success.

"startup leaders now give up their spare time to succeed"

I've never been forced to work weekends. The only time I did was when I was swapping hours for days I was taking off as a consultant, and this was by choice.

A startup is different though. Startups are usually fast-paced and you go into it knowing you will be working long hours with the hope of a lottery ticket payout.</comment></comment>


GramFrame for iPad - Behind the App - <AUTHOR> http://blog.jazzychad.net/2011/04/07/gramframe-for-ipad.html

<comment><USER2> So Polaroid has some rights to picture frames that make them look like a Polaroid pic? Or was that just 'Apple'.replace(/pp/,'na') ?

</comment><comment><AUTHOR> oh, let me fish up some promo codes... one minute...

EDIT: here you go.. first come first served:

        6K44P4NR39FP
        6NKNE3LEWA36
        PKE9H66E9WHA
        NKE3E3L6637N
        7EHEJXRFR7J6
        J3PNW7FYY3TE
        LKW9XAXL436R
        YWWXYTRXNAA7
        WEPY4JLM4ETE
        KPRPJWMRRPKM

<comment><USER3> Before someone else tries, all codes are used.

</comment></comment><comment><USER4> Instagram's too pretty for Felt Tip Marker :) Nice app otherwise!</comment>


It's official: Apple sells more computers than all Windows PCs combined - <AUTHOR> http://qz.com/176643/its-official-apple-sells-more-computers-than-all-windows-pcs-combined/

<comment><AUTHOR> So, they sell more iPods, iPhones, iPads and Macs than all others sell Windows-based x86 PCs.

That's not counting Android phones and tablets.

Are they implying nobody does actual work on those?</comment>


StreamFocus project management software entering limited Beta (by gibsonf1) - <AUTHOR> http://streamfocus.com/concepts

<comment><AUTHOR> This looks like it has a ton of potential - looks like the power of a heavier- weight tool like MS Project with the style and ease of use of a 37s app. I'd be interested in trying it but it looks like it might be overkill for one person without lots of projects going on. gibsonf1, what do you think? I don't want to waste a spot in your private beta, I'll look forward to seeing more details later.

<comment><USER2> I would definitely use it as a single person to organize my life, and reduce alot of stress (and get a hell of a lot more done). The GTD functionality will be the best available in any application soon (The only missing item are contexts, which we will add shortly). We also have a growing list of templated workflows - we'll put a library up on the website soon that save a great deal of time.

We've built a great deal of logic into the UI - we try to make it do as much work for you as possible. Nothing like the power of lisp! :) We have a spot for you if you want it - I would really like to hear your feedback.

<comment><AUTHOR> Request'd!

</comment></comment></comment><comment><USER3> I'm actually developing a similar system, that will also be a subscription model.

Good on ya. Glad to see other startups in the market.

<comment><USER2> It took us a lot longer to deploy than we had first imagined. The first big hurdle was understanding conceptually how the system should work, then understanding how to code it, then realizing that the UI was one of the biggest issues to solve and switching to that, etc etc. I don't think it would have been possible without having a complex company using it all along with multiple users to get inductive feedback. But, wow, we're glad to be finally launching.

<comment><AUTHOR> Would that be your own architectural firm?

<comment><USER2> Yes - exactly. My hair was "on fire" for a better way to organize and do work with my firm, and nothing available was solving the problem, so we had to build it ourselves.

</comment></comment></comment></comment><comment><USER4> It's refreshing to see a subscription based site making a go of it. I was beginning to wonder what happened to them. Good luck!

<comment><USER2> Thanks :) We have customers already willing to pay, and excited to start using the system, so we are definitely hoping for the best.</comment></comment>


I Hate Motivational Anythings. - <AUTHOR> http://edwardaten.co/i-hate-motivational-anythings

<comment><USER2> Don't hate me if I found this post to be motivational.</comment>


Math and structure in music: the Circle of Fifths - <AUTHOR> http://en.wikipedia.org/wiki/Circle_of_fifths

<comment><USER2> The circle of fifths is a by-product of the more generalized lattice theory:

<http://x31eq.com/lattice.htm>

As the Wikipedia article explains the Pythagorean Comma, there are actually many possible commas caused by equal temperament when traversing the lattice in various ways. Most traditional harmonic theory exploits our psychological response to these gaps caused by equal temperament. Music theory based on the circle of fifths is a small subset of that.

<comment><USER3> There is actually a keyboard based around this theory, though it's a bit pricey ($500, or $700 for one with more features): <http://www.c-thru- music.com/cgi/?page=prod_axis-49>

Some people love it, though if you have extensive experience with a keyboard then it may actually be counter-intuitive (I learned music on a piano and I still get hopelessly lost on the frets of my bass guitar whenever I try to play something new).

<comment><USER2> I didn't know about this device. Very cool. I have considered developing an algorithmic software concept based on lattices. This device is a hardware version of what I thought that might look like.

I might as well mention that Robert Fripp's New Standard tuning for guitar is entirely in fifths:

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

Same side effect of turning seasoned guitarists into beginners, as the tuning is substantially different from other alternate tunings for guitar.

<comment><USER4> Fiddles are GDAE, all fifths, just like a mandolin

</comment></comment></comment></comment><comment><USER5> this is a pretty serious book about music and math <http://www.musimathics.com/>

<comment><USER3> You just cost me $70, goddammit. Thanks.

</comment></comment><comment><USER6> There are some interesting parallels between the CoF and the color wheel, the most obvious of which is that pitches opposite each other anywhere on the CoF are the most dissonant when juxtaposed against each other - similar to complimentary colors opposite each other on the color wheel. (Think orange and blue). Besides that invariant, the tones are permuted in the CoF a bit, which differentiates it from the standard 12-color wheel, which keeps neighboring tones together.

I wonder if one permuted the color wheel to be more like the CoF if it would make the basis of an interesting music visualizer, such that the harmonic relationships between tones correspond to the harmonic relationships to colors shown.

Here's an old visualizer that attempted something like this, but they didn't permute the color wheel in the manner I'm suggesting: <http://www.musanim.com/mam/circle.html>

</comment><comment><USER7> I can't speak for all accordians, but the chords at the left-hands of piano- accordian players are arranged in circles of fifths. F is below C is below G is below D ...

As a result, buttons for all the (non-chromatic) intervals are within 2 buttons of the tonic ... for _every_ tonic. Once you've got the pattern, it's the same for every key, no matter how remote.

</comment><comment><USER8> This really is not news. This stuff is taught in primary school.

<comment><AUTHOR> Not in any primary school of which I'm aware. I'd be interested to know what area you are in to make such a claim. Is it _every_ primary school?

For information/reference, it wasn't taught to me, or my sister, or my nieces, or my wife, or any of my colleagues at work. I've checked. Or at least, to be more accurate, none of them knew of it when I mentioned it to them recently. Perhaps it was taught - it certainly didn't stick.

<comment><USER9> It's taught to young music students. I learned it in public school in the middle of nowhere. Probably age 10 or 11. As did both of my sisters, brother and everyone else in the school orchestra. One wouldn't learn it outside of music lessons or a music program. However, it's taught pretty early on if you're doing anything related to classical music.

<comment><AUTHOR> I took music classes from age 10 through age 16 and was never taught about the circle of fifths. I was taught major/minor, key signatures, time signatures, sight singing (pitch and rhythm), piano, bassoon, harmony, inversion, counterpoint, and more, and I recall most of that, but I recall nothing about the circle of fifths. If I had been taught it then that would be odd, because it so matches my interests as a mathematician. I can only conclude I was never taught it.

YMMV. I don't claim that people weren't taught it, I only say that it isn't taught to every primary school student. I know the claim was "This stuff is taught in primary school." and that may be true, that it is taught in _some_ primary schools. I'm saying it's not taught in _every_ primary school. Maybe it's an American thing.

I thought it was interesting, and that there would be Hackers here who didn't know it and would be something that "... gratifies one's intellectual curiosity."

Hence the submission.</comment></comment></comment></comment>


Webrtc app: two-way file transfer without the cloud. Please give feedback - <AUTHOR> https://seshi.io <comment><USER2> Out of curiosity, have you checked WebTorrent?

I've been playing with it recently and you could implement peer-to-peer file transfers encrypted client-side with something like Stanford JS Crypto library.

It seems like you have a bunch of console errors: missing CORS headers, `clientXHRSignalingChannel.js:3 Uncaught TypeError: failureCB is not a function` and a bunch more. It does generate a key but the receiving party cannot download the file (probably because i cannot upload because of these errors).</comment>


"Soft skills" are freaking hard - <AUTHOR> https://twitter.com/SoapBoxHQ/status/1186624672445685760 <comment><USER2> They are not hard. They are just almost never taught. We simply accept it if someone has bad soft skills as if that person can't improve. Whereas we would never hire someone as a mechanical engineer if they didn't have the papers.

</comment><comment><AUTHOR> The hard truth about "Soft Skills" in the workplace by Gallup: [https://www.gallup.com/workplace/267254/hard-truth-soft- skil...](https://www.gallup.com/workplace/267254/hard-truth-soft-skills- workplace.aspx)</comment>


Why China Is Obsessed with America's Aircraft Carriers - <AUTHOR> https://nationalinterest.org/blog/buzz/let-me-tell-you-why-china-obsessed-americas-aircraft-carriers-61917 <comment><USER2> I think the Carrier to the PLAN is more of a status symbol. They have global ambitions and a superpower cannot be a superpower without a carrier. China has been focusing on anti-access area denial or A2AD. This is why the various disputed islands are so crucial to the PRC's long-term strategic goals of controlling all access to the South China Sea. Along with the missile batteries sprinkled all along the Chinese coast, the PRC has been reclaiming land on disputed islands and building up a defensive military presence. They saw how important Hawaii is to the US ability to project power, so they've started to create their own Hawaiis.

They tried testing the waters a few years ago by claiming the entire SCS as their Exclusive Economic Zone (EEZ) and required all vessels and aircraft to request access to navigate through. The US immediately flew a couple bombers to assert the US claims of free navigation and to attempt to delegitimize those claims. Nearly a decade ago, the US Navy and USAF partnered together to come up with a counter strategy to China's A2AD, but that effort was halted a few years ago, presumably because there was no real way to get the military power needed to defend Taiwan in position without real risk of loss of life. I imagine at this point that any effort to defend Taiwan, which we are treaty- bound to do, would likely rely on long-range fighters and missiles launched from US submarines.

</comment><comment><USER3> Aircraft carriers are a couple acres of movable sovereign territory.

There is immense influence to be had using one to shape behaviour of adversaries in times of less than war.

Historically, every time a foreign nation has allegedly managed to get a submarine inside a carrier battle group's defensive bubble has made the news.

Personally, I think the future of warfare will see a shift away from a carrier "hub and spoke" model to a decentralised/distributed model.

But it will require a new platform that can match or exceed the force projection capability of a carrier in terms of:

Radius of weapons/sensor delivery away from platform Throw weight of weapons delivery Repeatability/persistence of weapons/sensor delivery

Perhaps the future is more amphibious assault ships like USS America carrying a dozen F35s(fewer eggs, more baskets).

Perhaps the future is arsenal ships loaded with missiles and drone ships loaded with recoverable drones.

Perhaps the future is C17s , C5s , C130s acting as airborne drone carriers.

But I suspect the age of the aircraft carrier is approaching it's end, but we will only know for sure if a short sharp large scale conventional war occurs between peers and near peers or if a major lasting economic disaster compelled them to be mothballed.

<comment><USER4> I am assuming the us navy must have some plans to protect carriers they don't make public. Because otherwise using them in the open seems nuts.

</comment></comment><comment><USER5> Seems like a stretch of a conclusion to draw. Carriers had way more direct, consequential impact in the outcome of the Korean War on the (proxy) PLA itself. Is the author suggestion that the Chinese leadership just thought "meh, let's pretend those carriers don't exist and get cause by our lack of capabilities by surprise again next time"?

</comment><comment><USER6> China has announced plans to expand their territory across the pacific ocean. That's where their interest in aircraft carriers stems from.

<comment><USER7> The Pacific is cute but South America would be compelling.

</comment></comment><comment><USER8> Spending the trillions needed to build and support carriers is stupid.

If we ever have another war with china, low cost drones will take out carriers, not other carriers.

China will spend millions on drone warfare while the US spends billions.

I'm sure the author of this article knows more than I do but I don't think this is a well supported thesis.

<comment><USER9> You think low-cost drones can just be targeted by existing air defense systems and a laser defense system? Probably those hypersonic glide vehicles are the ones to worry most about. Basically only beatable if you can make them mistarget.</comment></comment>


Search engine Blekko's Traffic Is Up Almost 400 Percent - <AUTHOR> http://searchengineland.com/blekkos-traffic-spiking-2012-118728?utm_campaign=wall&utm_source=socialflow&utm_medium=facebook

<comment><USER2> I've had success finding gems with Blekko that never appeared in Google results, so I'm not surprised with their success.

Google is a habit, and not a healthy one IMO. It doesn't always produce the best search results.</comment>


Maximize your excitement - <AUTHOR> http://joel.is/post/32752645485/maximize-your-excitement <comment><USER2> Do you guys think this movement can be applied to a team of people that are not developers? My team is mostly managers, scientists and marketing experts. They outsource most of the technicalities such as coding.

So I wonder how you can get excited about an idea, when you can only go so deep in understanding how it actually works.</comment>


Our bosses live in our phones - <AUTHOR> https://vicki.substack.com/p/our-bosses-live-in-our-phones <comment><USER2> never ever bring your own device. its a huge mistake.</comment>


Sony Cuts Prices on E-Books, settling at $9.99 - <AUTHOR> http://www.nytimes.com/2009/08/05/technology/personaltech/05sony.html?_r=1&ref=technology <comment><USER2> Still DRMd?

No thanks.</comment>


Ask HN: Request for feedback on my idea - <AUTHOR>

I wrote some code to help me filter out good domains listed on GoDaddy Auctions from the bad ones. I wrote this for the following reasons -
1. GoDaddy does not show page rank, information on backlinks or pages crawled by google.
2. There are many domains that show a fake page rank by redirecting to a high page rank domain. I ended up buying such lemons :(
3. There are domains that do not show up when you do a google search for info:domainname.com. This is definitely something to be checked up on before buying a domain.
Since it worked for me, I figured it could help others out there who use GoDaddy Auctions. I would like your feedback on the following points -
1. Does this add value to others who use GoDaddy auctions?
2. What do you think about the usability of the app?
3. I thought the name was cute - Do you think I'd face any issues with it? (legal issues from GoDaddy)
4. How could I monetize it? Do you think its valuable enough to pay a monthly fee - $10 a month?
Here is the URL - http://www.gomommyauctions.com
Entries listed with a red page rank are potential scam domains. You can click on the page rank to get additional information on the domain that it is redirected to. You can also click on Google index and links to get additional information.
Please feel free to rip my idea to shreds. I can take the criticism :) <comment><USER2> First of all, I think I should point out that I released a free guide in 2007 showing people how to buy and sell domains whilst making a large profit on them & this method involved GoDaddy Auctions (TDNam).

With regards to the service you are providing I think it's one of the closest offerings to my guide in doing the filtering for domains.

However, I'm not here to talk about the guide I'm here to answer some of your questions.

First of all, it does add some value to GoDaddy Auctions to the normal user but there are some features missing which would improve the usability and functionality of the service.

Whilst the usability of it is 'OK' although when you compare it to other domain services it's actually a LOT better than others - there's a few features such as 'price', ability to filter domain extension, remove hyphens etc that need to be added and also the 200 limit isn't as much as when I'm using GoDaddy Auctions, I'm always selecting the 500 option (and then I still think 500 is too limiting!)

There are other types of auctions on GoDaddy Auctions - a lot of trades happen around "buy it now" and a few other options which your service doesn't seem to pull them - you really should.

I'm not sure about the issues with regards to GoDaddy itself as they own gomommy.com (which redirects to GoDaddy) and I'm not sure if they hold a trademark on "GoMommy" but you should definitely look into it from a trademark perspective.

With regards to monetization of the service, there are a few ways you could do it - one way is via a fee - although $10/month is a little high for it as it currently stands and you also need to compare this to TDNam (GoDaddy Auctions) that the price point is only $5/year.

If you are looking to charge for the service, then you definitely should add a lot more features to the service (including some of the ones I listed above).

However, there's also incorporating GoDaddy's Affiliate Programme into the service - so that whenever anyone buys the domain, you get a % of the sale. This wouldn't even be hard to incorporate as they already get to the auction clicking the link anyway so it's just slightly modifying the links to incorporate your affiliate code.

Additionally, you could also offer a 'free' and 'paid' services - the 'free' being the one currently as it stands (although I would still add some features) which incorporates the affiliate option and the 'paid' having a lot more features whilst still incorporating the affiliate links.

<comment><AUTHOR> Thank you for the comments Nicholas. I found your suggestions very useful. I made the changes to show 1000 records and plan to add an advanced search to incorporate your other suggestions.

I have been unable to find the free guide you released in 2007. Could you please post a link here?

</comment></comment><comment><USER3> _Does this add value to others who use GoDaddy auctions?_

Somebody somewhere out there will find value for this. I just don't know what that number is for you.

...

 _What do you think about the usability of the app?_

I personally don't care about pagerank when looking for a domain. I care more about the domain itself. Others my differ. Just a personal preference. In my experience, pagerank is meaningless.

...

 _I thought the name was cute - Do you think I'd face any issues with it? (legal issues from GoDaddy)_

GoDaddy also owns gomommy.com so not sure. In the grand scheme of things, probably unlikely but I'm not a lawyer and this is purely an opinion.

...

 _How could I monetize it? Do you think its valuable enough to pay a monthly fee - $10 a month?_

I personally wouldn't pay for a service like this but someone else might. Not exactly the most helpful answer but there is a target audience for most things. You just gotta go find them.

</comment><comment><AUTHOR> Clickable Link - <http://www.gomommyauctions.com>

</comment><comment><USER4> the service works best as a 'credit report for domains'. perhaps analyze a domain someone enters and give them a report with all the due diligence</comment>


HTTP Nowhere - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/http-nowhere/ <comment><USER2> HTTPS Everywhere has an option called "Block all unencrypted requests" now, which does the same thing.

<comment><AUTHOR> wow, you are right!

only problem I cannot see "always try https instead of blocking"</comment></comment>


Ask HN: StackOverflow for projects - <AUTHOR>

I'm one of those people who has more ideas than I probably have hours left in my life to implement.  I would be willing to pay to have some of them done though.  Does anyone know of site where people can present ideas and collaborate with people to get them implemented?  Something that people could organize around, planners, people willing to pay to have the idea done (if relevant) and people willing to do it.  If there isn't such a thing, perhaps the stack overflow template could be used to make one [1]?<p>I know about sites like rentacoder but I'd rather my project ideas didn't have to compete with the endless "please make me a facebook clone" requests, etc.  Ideally I'd like an audience closer to HN's.<p>[1] By one of you, not me.  And this one I wont pay for because I think it could be big enough that the one who did do it could potentially do very well with advertising. <comment><USER2> Consider using <http://shapado.com/> to build a stack overflow like site</comment>


SQL Order from API Chaos - <AUTHOR> https://blog.transposit.com/sql-order-from-api-chaos-e1c77ab07ad2 <comment><USER2> You could post your startup as a Show HN, linking to your home page. If you do, add a comment to the thread giving the backstory of how you came to work on this, and explaining what's different about it, and maybe including a link to this blog post. Good luck!

</comment><comment><USER3> I'm Tina's (the author) co-founder at Transposit; happy to answer any questions about what we've built!

</comment><comment><USER4> I'm the co-founder and CTO of Transposit. Happy to answer any questions!</comment>


Steve Jobs wanted Apple to build its own wireless network - <AUTHOR> http://www.itworld.com/networking/224375/stanton-jobs-wanted-own-network-unlicensed-spectrum

<comment><USER2> no surprise there.</comment>


Uber Eats exits seven markets, transfers one as part of competitive retooling - <AUTHOR> https://techcrunch.com/2020/05/04/uber-eats-exits-seven-markets-transfers-one-as-part-of-competitive-retooling/ <comment><USER2> This is pretty big, surprised there's so little discussion. UberEats is an unprofitable arm that people stubbornly insist will pay off, "especially with shelter-in-place", and here's some conclusive evidence it isn't working for them.</comment>


Is it just me or did HN got boring? - <AUTHOR>

<comment><USER2> I don't like every story submitted to Hacker News, but how I deal with that is visit the new page

<http://news.ycombinator.com/newest>

often and upvote what I like and what fits the site guidelines.

<http://ycombinator.com/newsguidelines.html>

Personally, I find discussions about what HN gets right

<http://news.ycombinator.com/item?id=4399678>

more interesting than complaints about what HN gets wrong.

<comment><USER3> I agree, reading HN new is a totally different experience than reading the front page. I always read new and find a lot of good stuff.

</comment></comment><comment><USER4> It's as boring as what HN users (I guess you are one of them as well) do against it. So do not hesitate and post something exciting.

</comment><comment><USER5> I do notice waves with the HN frontpage, some times there's more interesting stuff and sometimes it's all a bit boring.

I agree for the past day or two I've found things a bit boring but I totally expect a wave of really cool stuff soon, which has happened many times in the past.

</comment><comment><USER6> Just you.

</comment><comment><USER7> more users = more posts = harder to filter! but still great

</comment><comment><USER8> HN got boring.

</comment><comment><USER9> It's just you.

It was always as boring (or always as exciting) with respect to the quality of the discussion and the posts.

</comment><comment><USER10> It's slowly turning into TechCrunch stories commented on by Redditors.

</comment><comment><USER11> It's really boring, you're right about that.</comment>


Convert your Vine videos to animated GIFs Weekend open-source project (node.js) - <AUTHOR> http://gvine.co/

<comment><USER2> Cool! Time to do the same for instagram :)</comment>


Ask HN: How do stories get on to HN's RSS feed? - <AUTHOR>

I've begun noticing that some stories with very few votes (only 1 or 2 sometimes) make it on to the RSS feed.
Here are two examples:
3 points (2 votes):  http://news.ycombinator.com/item?id=1187729
2 points (1 vote): http://news.ycombinator.com/item?id=1187709
Why does this happen?
In answer to "How are stories ranked?" the FAQ says "On the front page, by points divided by a power of the time since they were submitted.  Stories on the new page and comments on the comments page are listed chronologically."
But what about the RSS feed?  If the same criteria is used as on the front page, is just one single quick vote enough to get a story in to the feed? <comment><USER2> The RSS feed is just the top 10 stories from the front page, so yes, the criteria are the same, and one vote is often enough to (briefly) put a story in the top 10.

<comment><AUTHOR> Thanks. Mystery solved.</comment></comment>


Bill Maris Steps Down as CEO of Google Ventures - <AUTHOR> http://fortune.com/2016/08/10/bill-maris-google-ventures/ <comment><USER2> Stage 1: Bill Maris is read-only -- August 10, 2016

In this stage, you will no longer be able to create or edit Bills. Marking a Bill as read will also not be saved.

Robots that try to write to a Bill will stop functioning.

During this time, you will continue to be able to export your Bills using the existing PDF export feature. You'll still be able to read existing Bills and access the Bill Maris client.

If you want to continue using Bill, there is an open source project called Walkaround that includes an experimental feature to import all your Bills from Google.

Stage 2: Bill Maris shut down -- Sept 1, 2016

In this stage, all the Bill Maris servers will be shut down and you will no longer be able to get to your Bills. Make sure to export any Bills you want to save before that time.</comment>


When does the sum of three numbers equal their product? - <AUTHOR> http://www.johndcook.com/blog/2008/11/30/tangent-identity/

<comment><USER2> a+b+c=a.b.c when a=-b and c=0</comment>


Letters: A tiny debugging library for Ruby - <AUTHOR> http://lettersrb.com

<comment><USER2> It looks interesting, but the screencast needs to be a bit more concise, and aimed at people who would actually use this. I made it through the first 5 minutes and gave up, because I wanted to see what the library did. I didn't want a tutorial seemingly aimed at absolute beginners, who in my mind wouldn't give two hoots about improved debugging at that stage.

Had there been a shorter overview of the cool things you could do, I might have got a better impression.

<comment><USER3> Read the API. I had the same problem and skimmed through the API in 2 minutes.

</comment></comment><comment><USER4> This looks pretty cool. At first I had the reaction that it was too simple. I didn't have patience to watch the video, so I just read the homepage.

I think you should at least mention the other "letters" included in the library on the front page. It goes in depth into 'p', which makes it seem like it's all there is. Maybe name some of the other letters, and link to the API docs.

Each individual piece seems pretty small and easy enough to implement, but the package as a whole seems more valuable, having all these little tools in one place.

Nice work

<comment><AUTHOR> This is great feedback, thanks. I updated the docs.

</comment></comment><comment><USER5> This is great. It's sad to say but there are coders (like me) who will write our own half-assed muck in order to half-assedly follow good procedure...or even worse, just skip procedure all together. So any well-implemented, graceful simplication can be more valuable than the library and its seemingly few lines of code at face value. Thank you for putting this together and I hope you keep improving it

</comment><comment><USER6> What am I missing? I looked over the API and tried to skim through the video (10 minutes in and still no demonstration of anything in the API), but I couldn't figure out why any of the Letters functions would be preferable to just jumping into a debugger session.

Anyone care to explain?

<comment><AUTHOR> Letters is an abstraction layer over the ways many people detect problems with code in the real world. (I see these patterns re-emerge every day.) A debugger is part of the solution. Easy profiling and object diffing are another. Detecting how vulnerable you are to XSS attacks is yet another. When you have the power to do this inline without breaking your code apart, I think you gain productivity.

In other words, these patterns are not something we should have to spend brainpower on.

I probably should not have put the screencast on the front page -- it's actually about rationale and not about code examples. You can find concrete examples at <http://lettersrb.com/api>

</comment></comment><comment><USER7> Didn't check the code out but it looks like p is something like:

        obj.tap { |x| puts x }

<comment><AUTHOR> That's the base case. It takes arguments, too, and if you give it a block, it prints out the result of the block called in the receiver's scope.

<comment><USER8> Why `p` though? That's a method on Kernel already and does puts(args.inspect)

<comment><AUTHOR> Just changed it. I was hoping people wouldn't mix and match, but I don't mind using `o` instead:

<https://github.com/davejacobs/letters/issues/6>

<comment><USER8> Thank you very much.

</comment></comment></comment></comment></comment><comment><USER9> The problem this is trying to solve is an annoying one - so much so that I just wrote something similar a couple of weeks ago: <https://github.com/suan/quick-debug>

Letters seems like a better way to do it though.

</comment><comment><USER10> Nice, but for quick debugging I usually use pry: <https://github.com/pry/pry>

</comment><comment><USER11> This is great! I think I'll start using this, I'm tired of putting prettyprint statements everywhere :P</comment>


The first open source apps for both T1D/T2D - <AUTHOR> https://github.com/glucosio <comment><USER2> Glucosio is open source tools for diabetes.

home: [http://www.glucosio.org/](http://www.glucosio.org/)</comment>


No Stinking Mutants - <AUTHOR> http://blog.fogus.me/2011/07/12/no-stinking-mutants/

<comment><AUTHOR> I wonder if this set off the voting-ring detector somehow. It seems weird that it's already near the bottom of page 2 when there are multiple submissions with similar point / age characteristics that are in the top 20.

I don't usually complain about the way weighting works here (I think this is the first time), but this is somewhat confusing since the submission is squarely in the scope of HN.

PG: If you happen to read this, could you please clarify what things we ought to avoid when submitting articles & essays so that they're not unfairly penalized?

</comment><comment><USER2> Pretty much every single bug or WTF in our legacy web app is the result of mis-managing or abusing mutable state. I am absolutely convinced that mutation is the enemy of reliable software. This is a good writeup, but I think we need to do more to demonstrate the difference to the average Java-slinging code monkey out there.

</comment><comment><USER3> brilliant article very clearly illustrated.</comment>


Show HN: JSONScript – Asynchronous scripting language using JSON format - <AUTHOR> http://www.json-script.com/ <comment><USER2> Feels very similar to JSON RPC.

This isn't a script at all but a way to call an RPC method. And over a non duplex connection at that.

I often use something very similar with a few additions to support callbacks. Add an ID field so that responses can be matched and you suddenly support calls being made over a duplex connection such as Websocket or TCP connection;

Shorthand and longhand formats complicate things so stick with one type. The whole $ prefixed params are also un-needed, especially if your'e expecting them and have the important values under your own expected keys anyway.

But then after all this you start turning into json-rpc.

<comment><AUTHOR> Thanks for the comparison.

JSON-RPC allows simple batching but it doesn't allow any server side logic between calls. Individual calls to external instructions in JSONScript are indeed similar.

The full syntax can be used if you need to evaluate some of the fields, it's also easier to parse. Short syntax is implemented as a macro - it's expanded to full syntax before evolution. Given that it in most cases short syntax is better I was going to hide full syntax a bit...

<comment><AUTHOR> Re '$', there is no expectation on the location of the script instructions in the object structure, unlike JSON RPC. So it is used to differentiate instructions from simple data structures that can be part of the script.

</comment></comment></comment><comment><USER3> This exact concept has been done multiple times. And it never worked, because the syntax was horrible. And it's just not convenient at all, it's good for toying around with interpreters and the likes but it has no purpose or use. See [https://m.reddit.com/r/coding/comments/3akmn1/sums_this_rel_...](https://m.reddit.com/r/coding/comments/3akmn1/sums_this_rel_thing_up_pretty_well/)

<comment><AUTHOR> That's good to know that it was done before with JSON, I've only seen XML attempts. It probably shows that there is a need, doesn't it?

Syntax is a matter of opinion, JSONScript seems more concise than REL in the link.

<comment><USER4> >That's good to know that it was done before with JSON, I've only seen XML attempts.

Both approaches are similarly flawed, but XML would actually work much better for what you're trying to do with JSON - and much more readable.

<comment><AUTHOR> I've seen several XML based scripting implementations. This one for example: [http://www.drdobbs.com/web-development/jelly-an-xml-based- sc...](http://www.drdobbs.com/web-development/jelly-an-xml-based-scripting- language/184405386)

I may have got used to the syntax I came up with, but all XML based scripts seem more verbose and less readable. I guess, each to its own...

</comment></comment></comment></comment><comment><USER5> This reminds me of my multiple attempts in writing a declarative scrapper framework. In the end, I've chosen to just write the code.

What I see is a crappy ad-hoc scripting language. I feel bad saying so, but I can only view this project as a bad solution to whatever problem you have.

You could have chosen to send actual code, be it JavaScript, Python, Java or even Linux binaries, executed with limited privileges. How would that look like? AWS Lambda.

<comment><AUTHOR> I also prefer writing code to DSLs etc. Unfortunately, just writing code doesn't solve the problems mentioned here: [https://github.com/JSONScript/jsonscript#problem](https://github.com/JSONScript/jsonscript#problem)

Sending code in some existing general purpose or scripting language makes it either difficult/inefficient to parse, or insecure (if, e.g. JavaScript or bash eval is used), or both. Limited privileges only partially protect the host and usually leave some vulnerabilities...

JSONScript is both very easy and efficient to parse (a JSON-Schema is used to evaluate the script) and it is secure because it executes the script in a "sandbox" having access only to those system resources that the host environment explicitly exposed to the interpreter.

My two main use cases are 1) scripted processing on top of existing API (implemented) and 2) proxy allowing scripted processing across multiple APIs in the same location (soon).

<comment><USER6> I still don't understand how this has any security advantages over just sending code. You are sending code, just shoehorning it into a serialization format.

<comment><AUTHOR> The difference is that general purpose programming languages usually provide full access to the host environment, they are not designed to be received from untrusted environments.

You need to reduce what is allowed, and that is more likely to leave vulnerabilities, than explicitly whitelisting what methods can be called.

I think that any abstraction/DSL, not JSONScript specifically, with a specialised interpreter on the server side is more likely to be secure than processing general purpose language instructions received from the client.

</comment></comment></comment></comment><comment><USER7> Why do many language home pages not show a single sample of the language?

<comment><AUTHOR> It's funny that I've always been annoyed myself that I need to click around to find the language sample all the time, and yet I've put all the examples on the Langauge page ([http://www.json-script.com/language.html](http://www.json- script.com/language.html)). Thank you for the suggestion, I will add some example to the home page.

</comment></comment><comment><USER8> Finally, a programming language that frees me from the possibility of writing comments!

<comment><AUTHOR> Indeed :) Self- documented is always better. Unfortunately, it's easy to add though :)

</comment></comment><comment> tony-allan I like the problem you are trying to solve and I like the idea of the JSON data structure but I am not so keen on the language as JSON. I find it hard to read, which would be worse in more complex real-world examples.

I guess I would like to see the code as plain text. Packaging all the data to send as JSON is OK, and the code could be text in a single JSON data element.

Post a story to Hacker News once you get some experience using JSONScript with some feedback on how you went and how the idea evolves.

<comment><AUTHOR> Thank you. YAML will look more like plain text and still will be easy to parse.

</comment></comment><comment><USER9> This technique never ends well. When your service interface is some untestible semi-script language your clients will hate you.

Nice work on building an interpreter, but I'd throw the entire SOA book at you for deploying this in a production environment. I haven't even addressed stability, latency and load of programmable Web interfaces, or security.

<comment> tony-allan I agree that this isn't an SOA architecture. I see this more like an SQL stored procedure where you want to get simple code closer to the data for performance and efficiency.

I would like to see some use case thoughts about where this would work better than other alternatives.

<comment><AUTHOR> Thank you. One use case that's already working is an express middleware - allows you to bold on JSONScript on existing express ap in a single line of code. Another is a proxy to manage batch processing across multiple services - going to make it.

</comment></comment></comment><comment><AUTHOR> You can use it via the middleware for Express to implement advanced batch processing in a single line of code. [https://github.com/JSONScript/jsonscript- express](https://github.com/JSONScript/jsonscript-express)

</comment><comment><USER4> I think it's a cool proof of concept and you tried out a bunch of ideas that could work, but I don't think you should use this approach for anything. JSON is not conducive for encapsulating complex logic, and it shows. Who is going to write and maintain that spaghetti code? Anyway, code execution at the datasource, is not a new problem, and there are approaches to solving it. Redis for example allows you to upload and execute Lua scripts at the source - way easier, way more readable, makes infinitely more sense. So why not use Lua or just use JavaScript - since your front-end code is all JavaScript anyway?

<comment><AUTHOR> Redis's implementation of Lua is extremely limited, and even then there is no easy way to validate the script apart from sending to the server. JSONScript can be simply validated against the JSON-schema, no execution is required to check it's validity. I see this solution as server-side script processing on top of existing REST API(s), as I wrote below. Using Lua for this purpose is possible I guess; but I want the solution that is easy to implement, extend and maintain. And I am happy to write and maintain this code; whether it's "spaghetti" depends on the way it is written, as for all languages.

</comment></comment><comment><AUTHOR> Thanks for all the comments, some are really useful. JSONScript is an interesting experiment and the time will show whether it's useful and whether we use it. What I find really interesting is why most higher level abstractions that reduce the amount of code to be written polarise normally friendly people to such extent, and "just writing code" is seen as the only "sane" choice. On the other hand, tools that increase the amount of code are usually very welcome. Any idea why it is happening?

<comment><USER10> I don't think the intention is to "increase the amount of code" but that's what always ends up happening! You're definitely on to something here with JSONScript but it's missing "something". That killer feature that immediately indicates to the developer/end user, "Yeah, that could definitely make my life easier."

I've implemented something similar with my own projects in the past and I think others have and ultimately will as well. "What problem causes us all to ultimately implement something like JSONScript or JSON RPC?"

I think there's two problems and I think JSONScript went a bit too far/got too specific as to how to solve them:

        1) How to specify (multiple) destinations when delivering API requests and their order of execution.
        2) How to execute actions safely despite potentially dangerous payloads.

I suggest removing the "path" part as it can easily be included in the top level of the object (e.g. {"someapp: destination": "payload here"}. I also suggest removing the "get" and "put" nomenclature. That's _so_ old fashioned and synchronous :) . Shouldn't such things be determined by the destination functions?

</comment></comment><comment><USER11> If you write it all in arrays, then you can reuse Cirru's text syntax and would look shorter, hope you are interested: [http://cirru.org](http://cirru.org)

<comment><AUTHOR> Interesting indeed. Thank you.

</comment></comment><comment><USER6> I know this thread is dead at this point, and any rational argument is probably lost on the author, epoberezkin, but this has made me think of BobX:

[http://thedailywtf.com/articles/Classic-WTF-We-Use- BobX](http://thedailywtf.com/articles/Classic-WTF-We-Use-BobX)

The scariest part is that epoberezkin has mentioned using this new innovative language at his job. I hope someone stops him.

<comment><USER12> Sorry, whats the moral of this story?

</comment></comment><comment><USER13> How to prevent Denial of Service? For example when a customer sends an infinite loop to the server?

<comment><AUTHOR> That is indeed a valid concern. I thought about an option to limit the evaluation time and the memory used. Although I don't think it's possible at the moment to request something that would cause an endless loop. There are no loops (yet), it can only iterate arrays (can be large, but limited), and I did not plan to support recursive function calls. Denial of service is also a valid concern when you handle individual requests (although the solutions for it exist).

<comment><USER14> GraphQL has similar problems. It seems somewhat inherent to batching solutions.

<comment><AUTHOR> Interesting. I saw GraphQL; I thought that given that it's query language it won't have this problem... Although if you'd exposed SQL it would have been super easy to kill the server. I am about to start using JSONScript for internal apps/services we have, where DoS is not a concern. For the public usage it needs some improvements to implement the limits I mentioned.

<comment><USER14> I should have said the _implementations_ of GraphQL have similar problems. Since it's just a query language you _can_ implement your own server with limits. Facebook is ultimately just punting on this problem but the declarative query boundary is helpful. Your DSL is much more imperative. You're in a _very_ practical niche between individual ad-hoc endpoints and a completely new way of doing things (GraphQL). Especially for use with existing systems. There are a lot of people out there (at least one) who just want batching and don't need a new abstraction. They know exactly what requests they want made; They just want them to be made on the server. That being said I think you should change your presentation. The thing that's "not right about this", as mentioned in another comment, is that it seems to be a programming language and not a web development tool. It is a programming language but that's incidental to it being a web development tool. I think your scope is in danger of creeping towards a turing-complete homo-iconic scripting language based in _JSON_. There _is_ something not right about that. Lol. It's a scripting language with syntax derived from the object literals of another scripting language which was in turn syntactically perverted in order to attract the users of non-scripting languages. It's an abominable version of lisp.

<comment><AUTHOR> Lol. Thanks for the suggestion about presenting it, I need to think about it. "A niche between individual endpoints and completely new way of doing things, batching without new abstraction" \- seems like a good way to position it indeed.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I'm working on it now. Any questions and feedback are very much appreciated.

<comment><USER15> You know that feeling you get when a series of completely sensible choices in themselves have somehow led you to a point that - if you could step back and take in the whole picture - would strike you so very clearly as a rather bizarre place to end up...

It's very late here and I'm tired so I can't come up with anything especially constructive but something doesn't feel right about this.

<comment><AUTHOR> Yes, this feeling happens quite often indeed :)</comment></comment></comment>


Scholars gulled academic journals to publish hoax papers on 'grievance studies.' - barry-cotter http://www.wsj.com/articles/fake-news-comes-to-academia-1538520950 <comment> barry-cotter [https://thewest.com.au/news/world/fake-academic-scandal- adol...](https://thewest.com.au/news/world/fake-academic-scandal-adolf- hitlers-mein-kampf-words-used-in-embarrassing-journal-hoax-ng-b88979974z)

> A trio of concerned academics has published seven intentionally absurd > papers in leading scholarly journals, making bizarre recommendations > including chaining up children and keeping men on leashes.

> The trio say the papers, which used fabricated authors and credentials, are > an attempt to expose political bias in fields that study race, gender and > sexuality, which they see as being misled by biased research and poor > methodology.

[https://quillette.com/2018/10/01/the-grievance-studies- scand...](https://quillette.com/2018/10/01/the-grievance-studies-scandal-five- academics-respond/)

> For the past year scholars James Lindsay, Helen Pluckrose, and Peter > Boghossian have sent fake papers to various academic journals which they > describe as specialising in activism or "grievance studies." Their stated > mission has been to expose how easy it is to get "absurdities and morally > fashionable political ideas published as legitimate academic research." To > date, their project has been successful

<comment><AUTHOR> None of the tricked journals appear to be "leading" in any meaningful way. This mostly looks like a non-story.

<comment> barry-cotter Hypatia is the top journal in feminist philosophy.

[https://feministphilosophers.wordpress.com/2007/07/11/philos...](https://feministphilosophers.wordpress.com/2007/07/11/philosophy- journal-rankings/)

> It can also be difficult to get publications in Hypatia taken seriously by > one's department: I know of at least one junior faculty member who was told > that she needed to get some more 'mainstream' publications, despite her > publication in Hypatia, the top journal in her field.

[https://en.m.wikipedia.org/wiki/Hypatia_(journal)](https://en.m.wikipedia.org/wiki/Hypatia_\(journal\))

Hypatia is the highest ranked journal in feminist philosophy. It has an impact factor of 0.712.

> The flagship feminist philosophy journal, Hypatia, accepted a paper (not yet > published online) arguing that social justice advocates should be allowed to > make fun of others, but no one should be permitted to make fun of them. The > same journal invited resubmission of a paper arguing that "privileged > students shouldn't be allowed to speak in class at all and should just > listen and learn in silence," and that they would benefit from "experiential > reparations" that include "sitting on the floor, wearing chains, or > intentionally being spoken over."

<comment><AUTHOR> 1\. Leading a niche isn't the same as "leading"

2\. The writeups above suggest that they're pointing out that bad science gets into journals, which doesn't apply here -- a philosophy journal can and should publish non-science work

<comment><USER2> > 1\. Leading a niche isn't the same as "leading"

Are you calling feminist philosophy a niche or general philosophy a niche? Yes, if you are leading a niche, you are leading still.

> 2\. The writeups above suggest that they're pointing out that bad science > gets into journals, which doesn't apply here -- a philosophy journal can and > should publish non-science work

>Feminist philosophy, more than most areas of philosophy, needs to be informed by real-world information and examples.

[https://feministphilosophers.wordpress.com/about/](https://feministphilosophers.wordpress.com/about/)</comment></comment></comment></comment></comment>


Drayson Racing electric car sets new world speed record - <AUTHOR> http://www.bbc.co.uk/news/technology-23051252

<comment><USER2> Tried to find more tech info on one of the engineering forums but no luck. This is the best I could find-

[http://www.draysonracingtechnologies.com/projects/B12/projec...](http://www.draysonracingtechnologies.com/projects/B12/project_article_B12.html)</comment>


Show HN: My first iPad app: Palimpsest for iPad (codes inside) - <AUTHOR>

The app is very simple and will appeal to those who enjoy longform articles (feature-length articles) and focussed reading on iPad.
Palimpsest for iPad (iTunes link): http://itunes.apple.com/us/app/palimpsest/id432502081?mt=8
It basically has 4 core features:

  - It presents one new curated longform article every single day
  - it offers a text-optimized view as well as the original article itself
  - it learns your tastes based on upvotes/downvotes on earlier articles
  - it works offline for days at a time
 The articles are sourced from the following, among others:

  - longform.org
  - longreads.com
  - givemesomethingtoread.com
 For longer-term feedback and support: http://palimpsestapp.com/support <comment><USER2> Interesting idea. Though it took me for or more times looking at the name to get it right. It is a poor combination of long, difficult to pronounce and difficult to remember.

I went and looked up the definition, a manuscript or piece of writing material on which the original writing has been effaced to make room for later writing, which of course makes sense with your product, but I'd try to find a name which is simpler.

<comment><AUTHOR> Thank you for the feedback.

I did think about going for a simpler name, but this one was so apt on different levels that I can't bear to change it. I'm going to stick with it and pay the price.

</comment></comment><comment><USER3> \- you need a landing screen w/ an explanation \- dropping me right into an article 'pocketful of dough' makes no sense

<comment><AUTHOR> You're right, I assumed people would take the time to read the description in detail, which was a poor assumption on my part.

Thanks.

</comment></comment><comment><AUTHOR> Here are the codes:

      1) A7YJM7RWTKHF
      2) LY4KMXN6YNN4
      3) ELTMAP3WMW9J
      4) 7J474K6M6PWP
      5) 3WR76YH99FA7
      6) KP7PF4NNN3PP
      7) 373KW7JHYK3F
      8) H49MJX64MPMX
      9) EARXEANX3ETJ
      10) 9L337F3W9KN3</comment>


Martha Matilda Harper pioneered retail franchising, hair salon industry (2017) - <AUTHOR> https://www.atlasobscura.com/articles/martha-matilda-harper-the-greatest-businesswoman-youve-never-heard-of <comment><USER2> Along similar lines (and slightly earlier) is the actual greatest businesswoman you've never heard of, Madam CJ Walker, who pioneered the hair products industry.</comment>


Anyone recommendations for DIY cubical walls? - <AUTHOR> Having moved to an open office layout, I find myself missing being able to block line of sight while working.  I was thinking of trying to rig up some walls with corrugated plastic, but does anyone know of an off-the-shelf solution for individual employees who are sitting at an open table?<p>(My coworkers are supportive, so I'm not being anti-social; I'm just trying to compensate for the space we have.) <comment><USER2> You could try to build your own.

Get some 1x2 or similar wood, in the lengths you need for the wall. Use a square to keep things...well...square. Measure twice, cut once, and assemble. Use a pneumatic stapler (and corner pieces) to keep it all together, or use angle brackets/braces and screws (if using screws, pre-drill holes). Once you have the frame done, string some steel wire between each edge (stringer), and top to bottom (perhaps weaving it) creating a open mesh with say 3x3 inch holes. Alternatively, get some hardware cloth of the same size (chicken wire would work well) and tack that in place. Then cover the center with some polyureathane foam, then cover with cloth. Add some right-angle "feet" to keep it standing.

Too much work? You could make something heavier using 3/8 plywood - face on both side with cork spray-glued on.

If that still sounds like too much work - and you have some money to throw around - look online (craigslist is a good place) to find a local used office furniture/supply company. Many of these places sell (some even install!) used cubicles and partitions. They might have something in your budget (sometimes, they sell these components dirt cheap compared to new - you wouldn't believe what a cubicle costs).</comment>


printf("goodbye, Dennis"); - <AUTHOR> http://www.economist.com/blogs/babbage/2011/10/obituary-0?fsrc=nlw|newe|10-21-2011|new_on_the_economist <comment><USER2> As an old dude, been around since uucp was the only way we talked to each other, was on the arpa net when we had the 11th IMP that connected people in real time, I really can't honor Dennis enough.

He was the real deal, very quiet, very passionate about what he did, he wrote, both in code and in papers, in a terse way that just got to the point.

If you have not gotten copies of the Bell Labs Technical Journals that have all the Unix papers in them, you are in for a treat. Get them. Read them. They wrote about what they did and wrote well. If all of us wrote that well the world would be a better place. I've tried. It's not easy.

When you read those you'll grow to like Brian and Ken as well. There is a lot of good there, I wouldn't hire anyone who had not read that stuff.

Bell Labs ought to be getting some loving here and we ought to be trying to bring something like that back. It was home for Dennis and Brian and Ken and Unix.

<comment><USER3> I could not agree more. I remember reading about dmr and Bell labs back in the Byte days; when Microsoft and Apple were radical and the tech world revolved around IBM.

I can't stress enough how fundamental this man, his work and Bell Labs was to our industry. These guys, they created the foundation that much of what have today is built on.

</comment></comment><comment><USER4> "All operating systems know when they were born. Their internal clocks start counting from then, so they can calculate the date and time in the future. It is unclear whether it was Mr Ritchie or Mr Thompson who set the so-called start Unix time at January 1st, 1970. That moment came to be known as the epoch. Mr Ritchie helped bring it about. And with it, he ushered in a new era."

Well said.

</comment><comment><USER5> People who don't regularly read _The Economist_ probably ought to. It wears its biases on its sleeve, and is the only place in the English language press to find quality, in-depth coverage of parts of the world other than the Lower East Side and the Isle of Dogs.

<comment><USER6> Let's not forget their stalwart support of war with Iraq in the lead-up to the 2003 invasion.

Well-written obits and cultural pieces are one thing. Propaganda to turn the minds of Anglo-American movers and shakers is quite another.

<comment><USER7> It's wasn't clear at the time (pre-2003) that it was going to end up as a catastrophe. Furthermore the Economist always mentions now that they supported the invasion -- they've never sought to hide the fact.

<comment><USER8> Actually it was perfectly, perfectly clear, both that it would end up as a catastrophe as well as the motives for having it

<comment><USER9> At the time it was far from clear that Saddam Hussein did not have weapons of mass destructions. In fact, there was ample proof he had used those weapons previously on Kurds and American intelligence reports claimed he had more where those came from (which turned out to be false, of course, but who knew). There was no way to know that Bush would bungle the whole rebuilding phase and let Iraq slide into anarchy.

Hindsight is always 20/20. At least they owe up to the fact that they changed their opinion, I know lots of politicians who'd rather chose to rewrite history instead.

<comment><USER10> Please don't write anarchy when you mean chaos.

<comment><USER9> When the Iraqi army was dissolved there was no recognized form of government left, the very definition of anarchy. Chaos did indeed ensue.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I am slightly bothered by the lack of a '\n'.

<comment><USER12> Why?

<comment><USER13> "\n" is a linebreak which would guarantee the text is printed and place whatever output came afterwards on the next line.

<comment><USER14> Isn't the output stream at least guaranteed to be flushed once on completion of the program, though?

<comment><USER15> Yes, it flushes completely outputting all characters. None of which contain a newline.

Flushing doesn't automatically add newlines for you in C. It flushes the buffers you gave it, it doesn't make new stuff up to print out along with your buffers.

<comment><USER14> (Right, I didn't mean to suggest it added a newline; just that adding a newline flushes the buffer, which was one half of the problem with missing a newline—but that if this is the only line of the program, this half of the problem is obviated.)

<comment><USER16> Adding a newline doesn't flush anything. You'd want to call fflush() to do that.

<comment><USER17> printf prints to standard output, which is line-buffered by default when reading from a tty on UNIX variants. This can lead to strange problems for those who try to use it to track which parts of a program are being executed, as demonstrated by the following program with an infinite loop:

      #include <stdio.h>
      int main(int c, char **v) {
        printf("Hello\nJello");
        while(1) ;
        return 0;
      }

<comment><USER16> Yes. You're not agreeing or disagreeing with me. Did you reply to the wrong post?

Also, using printf() for debugging? In 2011? I seriously hope you guys don't do this.

<comment><USER18> "Also, using printf() for debugging? In 2011? I seriously hope you guys don't do this."

OK, I'll bite. I haven't done any serious straight up C programming in over a decade, and yes, I used a lot of printf for debugging back then. What's the best way to debug C programs now? (I imagine printf wasn't the best way to debug programs when I was writing C, either.) A different logging library? gdb?

<comment><USER16> printf() is fine if you just want to see if something is being run (assuming, of course, you recognize the flushing caveat we're discussing).

If you're dumping printf()s all over the place to see exactly what flow your program is taking at runtime, you're better off just setting a breakpoint or two and using a debugger to quickly step through it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I'm curious about what a world without Mr. Ritchie would look like. What were the popular alternatives to C and Unix in 1970?

<comment><USER20> We would all be living in Windows (DOS?) hell. :)

Early in my career I was lucky to use Unix System V. I found those voluminous unix manuals so natural. I could find anything came to my mind less than a minute. Unix system was so coherent, so intuitive. I still enjoy unix prompt, shell to this day.

His book "The C Programming Language" has been the best language book I have ever read. So succinct, but so rewarding for those who studied diligently. Such a beautiful book. I always took that thin book as a standard to compare all the technical books I encountered. If it is that fat I thought there must be something wrong with either the book or the subject of it.

In a broader context:

There was this article recently about Steve Jobs. In that it said somewhere around 90 billion passed through this life and only a few could be able to find his/her voice. Many died before his full potential could even be recognized by themselves. I wonder what would world look like if those could fulfill their talent to their maturity. Because not all societies of the past allowed such liberty for many.

<comment><USER3> Actually I'm not so sure about that. There was much debate at the time (when Windows 3.11 was everywhere) whether it was a subset of UNIX.

At the very least, it was inspired by UNIX.

Where would we be? Probably all running VMS (which by the way runs on PC's). Or maybe WangVS or something owned by CA now.

//edited for typos

<comment><USER21> VMS was a a reaction to UNIX, I'm not sure how different DEC's operating systems would have looked if UNIX did not exist.

VMS runs on ALPHA and ITANIUM systems, it doesn't run on anything that vaguely qualifies as a PC, unless you think Windows NT is a VMS variant. It's certainly influenced by VMS, but I say it's a different product.

</comment></comment></comment></comment><comment><USER22> It would be pure class if wasn't for the late Mr. Jobs mention. Surely, one can think of hundreds of more concrete examples that C enabled other than iOS, like, i don't know, the Internet?

<comment><USER23> It does.

      "Linus Torvalds ... reinvented Unix for the internet age"
      "Unix-like systems power several hundred million Apple and Android mobile devices, most internet firms' server farms"

Given the massive amounts of attention shown to Jobs' death, mentioning him gives the article sensible context (especially considering that most Economist readers are unlikely to have hear of Ritchie).

</comment></comment><comment><USER24> > Babbage used his first Sun Unix workstation at university in the 1980s

It says so in the article. Which Babbage are they talking about?

<comment><USER5> The blogger. It is customary at _The Economist_ to assign to a columnist as a pseudonym the name of a foundational figure in whatever the column purports to be about ("Lexington" for their USA coverage, "Schumpeter" for the coverage of business, &c.). One person will write the column for a period, and then move on.

<comment><USER24> Ahh.. I see

</comment></comment></comment><comment><USER25> Is it wrong to wonder about Dennis' personal life? Did he marry, have kids, take a lover? Like to garden, travel, read? He is such an important and influential figure in the history of computing, but it feels like we know little about him beyond his professional accomplishments.

<comment> johnx123-up AFAIK, he's never married. He lost his interest in soccer too after sometime. So he's steep geek with some interest to country music.

</comment></comment><comment><USER26> Its a bit sad but the obituary is often the best article in the economist. In this case it was a very fitting tribute to a tech hero.

<comment><USER5> I disagree, but that doesn't mean that I don't turn to the obituary page immediately on receipt of each week's issue.

jfb: bringing down the median subscriber income of _The Economist_ for 20 years.

<comment><USER27> I've helped drag down the median for about 10 years myself.

I wonder if their subscriber income stats aren't heavily bifurcated.

<comment><USER28> I always felt weird doing this. Almost always I turn to their Obit page when I get a new issue. Glad to know I am not the only one who does it.

<comment><USER29> I usually start with the funny letter to the editor. (Usually the last letter printed.)

</comment></comment></comment></comment></comment><comment><USER30> Went down the wwww rabbit hole, found this current trove of Bell System Technical Journal PDFs

<http://www.alcatel-lucent.com/bstj/>

</comment><comment><USER31> If iOS was derived from Mac OS X, isn't it also a unix? <http://en.wikipedia.org/wiki/IOS>

_EDIT_ thanks, misread it.

<comment><USER32> yes, and the article mentions this twice

</comment></comment><comment> johnx123-up AFAIK, he's against to AT&T split. Can anybody share some info on that?

</comment><comment><USER33> I don't feel it's right to use printf where a simple puts would suffice.

</comment><comment><USER34> RIP. Every time I type printf, I honor you, my friend

</comment><comment><USER35> epoch time has a new meaning to me.

</comment><comment><USER36> Pure class from The Economist

</comment><comment><USER37> Unfortunate that they give Linus Torvalds so much praise for "reinventing Unix" with Linux. It was at least substantially, if not equally, made possible by projects such as GNU. Clearly the kernel was a huge and necessary part, but it was just that: a part.

<comment><USER38> It was also made possible by cheap ubiquitous i386 PCs - so it was really all due to the Microsoft monopoly</comment></comment>


Robot Punctures Can of Bear Repellent at Amazon Warehouse, Sickening Workers - <AUTHOR> https://www.npr.org/2018/12/06/674201649/robot-punctures-can-of-bear-repellent-at-amazon-warehouse-sickening-workers <comment><USER2> This is how it begins. The robots are testing their limits. John Connor, grow up fast!</comment>