Basho arms would-be Amazon killers with AWS-compatible storage - <AUTHOR> http://gigaom.com/cloud/basho-arms-would-be-amazon-killers-with-aws-compatible-storage/

<comment><USER2> The OpenStack Object Storage project has provided exactly this for quite some time.

<http://openstack.org/projects/storage/></comment>


Simplicity – newly designed and available on GitHub - <AUTHOR> http://www.rohit.io/index.html

<comment><USER2> It's great that you redesigned your blog and all, but maybe don't just use HN as a blatant self-promotion platform?

</comment><comment><USER3> I don't mean to seem rude, but what am I looking at? Is this a content management system?</comment>


Is the iconic Parisian bistro dying? - <AUTHOR> http://www.bbc.com/travel/story/20180709-is-the-iconic-parisian-bistro-dying <comment><USER2> As a nearly lifelong Parisian, bistros are often seen by locals as overpriced (for the quality you get) low-effort joints where you regularly get frozen microwaved food (which led to a huge backlash in recent years) that tastes like shit, burnt cardboard-tasting espresso, and house wine that — while cheap — is closer to vinegar than a halfway decent red. There are of course a few exceptions to this rule in each neighborhood in Paris but they're incredibly hard to distinguish if you're not from here, which is probably what gives most bistros a bad reputation.

The iconic Parisian bistro isn't dying, it's being thankfully renewed by younger chefs who don't take their customers for granted, are more welcoming to non-French-speaking tourists, and who showcase better and more seasonal products at a fairly reasonable price.

Check out David Lebovitz' review of Bouillon Pigale as a prime example of affordable quality joints we'll thankfully get more of in the years to come as old and busted bistros fade away: [https://www.davidlebovitz.com/bouillon- pigalle-paris-restaur...](https://www.davidlebovitz.com/bouillon-pigalle- paris-restaurant-bistro/)

<comment><USER3> >"The iconic Parisian bistro isn't dying, it's being thankfully renewed by younger chefs who don't take their customers for granted, are more welcoming to non-French-speaking tourists, and who showcase better and more seasonal products at a fairly reasonable price."

Would you say this is also true of the brasserie?

<comment><USER2> Sorry for the late reply, but in a way yes. I'm sort of feeling that movement. The problem is that Brasseries are huge operations and even the terrible ones must be fairly profitable. Evolving them must be seen as even more risky but I'm confident that some adventuring restaurateur and/or their investors will one day realize that a high quality brasserie with seasonal ingredients prepared in-house would have huge appeal both to tourists passing through Paris and locals, especially during off seasons — which are admittedly rare in Paris.

</comment></comment></comment><comment><USER4> While not Paris, there may be a general market factor at play that doesn't make for punchy headlines. Things don't "disappear," they economically polarize to normal and inferior states.

These bistros (as culture) are like newspapers and media in general, where a high quality middle ground is no longer viable, so only the very cheap, and the very expensive survive, and the middle is hollowed out.

Arguably, a quality middle is the effect of a temporary distortion or disequllibrium, where for whatever reason, quality has not been optimized out of an attractive price point. A good middle quality bistro doesn't compete on marginal price, it seeks to differentiate itself on features.

Customers become indifferent to the feature quality, select for price, and good places fail. When you add tourism, you add feature-indifferent customers who select on price - which is why locals hate them, as this indifference upsets the local equilibrium that made a good middle possible, and that hollows out their quality of life.

The same quality is available, but it costs more to sustain because it has lost the price selecting customers, and must survive on a smaller population who values them.

This was the big "race to the bottom" criticism of globalization in the 90s, where global competition ostensibly ended local ways of life by flooding markets with indifferent consumers of goods optimized for generic global markets.

Polarization happens, and it's usually costly regulation that staves it off. France led the way with designation of origin (controlee?) trade rules, and banning the McDonald-ification of their cafes probably has precedent.

Rents and real estate prices are the other key factor, where the risk/reward for anything but a proven franchise model is not a viable investment. San Francisco is a great example of that. It's not gentrified, it's globalized.

<comment><USER5> _Things don 't "disappear," they economically polarize to normal and inferior states._

I was just coming here to say this, just in less precise terms. I have a history of frequenting cafes as a regular, only to become disillusioned over time. A cafe has become either something which can be established for very little money and a modicum of knowledge or something which takes a certain level of fit and finish to appeal to a well heeled subgroup.

 _Arguably, a quality middle is the effect of a temporary distortion or disequllibrium, where for whatever reason, quality has not been optimized out of an attractive price point. A good middle quality bistro doesn 't compete on marginal price, it seeks to differentiate itself on features._

So entrepreneurs should be on the lookout for the "quality middle" as a temporary market opportunity? Maybe this applies to some large fraction of all startups? It could be stated thus, "A shift in technology creates a new market opportunity for a 'quality middle' which hadn't existed before."

<comment><USER4> The distortion is often a quirk of geography, or taboo. There was a famous graffiti statement in a condo construction barrier growing up that was, "artists are the stormtroopers of gentrification."

To take this further, that quality-middle is risk. It's possible that the sort of sick and uncanny aesthetics of corporate franchises are our reaction to the a disequllibrium of risk. Reacting to something that lacks skin in the game as a trap seems like a reasonable instinct. It's a representation or a simulacrum, something we recognize in nature as bait.

The things we romanticize, like old cafes, are expressions of risks taken. Where there is little risk, perhaps on some animal level we expect scavengers and death.

Gentrification is de-risking, as is franchising, and imho some portfolio management as well.

There is probably an underlying aesthetics of risk theory in there, however, we should leave that one for Nassim Taleb.

</comment></comment></comment><comment><USER6> > [E]very customer who crosses the threshold is greeted with a bright and > cheerful 'bonjour'

I have been to many bistros since moving to Paris in March. This bistro must be very, very different from others - unless the author is saying this just to reinforce their narrative and image of the bistro. Parisian waiters are notorious for being busy and hard to catch.

That being said, it's still a very nice and iconic part of Paris and a good place to socialize. With all the tourism I doubt that we'll see a mass-closing of bistros. Changes in society, consumer habits and demography will of course drive change, though.

<comment><USER7> Interesting. Where are you from? I just got back from a tour around France, Germany, the UK, Belgium, and the Netherlands. While all European waiters are far less solicitous than the ones in the US, we found Paris to be the most welcoming and the restaurants there were the easiest to get the attention of the service staff in.

<comment><USER8> Interesting. Where did you have your worst experience?

<comment><USER9> I've never had worse waiters than in Croatia. It's as if the servers hate the very plates they are holding. Or maybe they were all just badly hungover? The only good servers were in very small restaurants with a limited number of staff.

<comment><USER10> For me, Bulgaria. It was even hard just trying to get their attention to actually pay.

</comment></comment></comment></comment></comment><comment><USER11> > serves French comfort foods at moderate prices,

I don't know, when I first visited Paris while still in school I somehow didn't find a single one of those, and lived a few days off of ham baguettes, spring rolls from Asian takeaways and McDonald's - everything going for "normal food" was very, very expensive.

Yes, this was a few years before mobile internet, and maybe it works if you live there not straight in the city center where the tourist attractions are ;) When I visited again last year I had no problem to find affordable food, but of course my viewpoint probably changed a bit.

<comment><USER12> > everything going for "normal food" was very, very expensive

Almost anywhere in Paris you will find places where locals go for lunch, and they are not considered so expensive for middle-class workers. Locals are often paid Ticket Restaurant vouchers in addition to their salaries, and to retain these loyal customers these eateries keep the price of their daily set lunches fixed to the value of one voucher.

<comment><USER13> This is why healthcare is so expensive btw. (I can't help but notice the similarities)

Insurance hands out "tickets" that get redeemed by doctors. And as you rightly point out, everything gets warped and twisted based on what the payer (not necessarily the customer) wants.

<comment><USER9> What are you even rambling on about?

<comment><USER14> I understand the parent's idea. An employer gives his employees Tickets Resto. It's a 'social advantage' that may cost the employer less than simply paying the employees more because exempt from certain social charges. As a result, there are more of these scriptural Tickets Resto floating about than real money that people want to spend on restaurant meals. Which could lead to an inflation of restaurant prices in a fashion not so different to the inflation of the prices of medical prestations paid by private insurance.

<comment><USER13> Inflation is only one symptom. The bigger problem is that the providers (health or restaurants) start catering to what the PAYERS -- insurance, or the company handing out restaurant tickets -- want, not what's good or helpful for the customers.

The entire thing becomes a giant game of "what you can bill", which pretty much sums up healthcare today. There is no emphasis on outcome, quality, or cost, just whether something is "reimburseable". Will it be covered by the ticket?

<comment><USER14> Good explanation and I've read a number of articles about private health insurance under this angle. It's not an imaginary phenomenon.

I'm curious to know if a study has been done about the similar effects of restaurant tickets. The idea seems quite plausible, would go a long way towards explaining the doubtful quality of many parisian restaurants and, anecdotally, I remember a lot of use of restaurant tickets and incentives based on them when I was in the city of lights.

<comment><USER13> I'm not sure specifically for restaurants. A lot of my ideas on health come from "Catastrophic Care", where they talk about "the surrogates" who stand in, for the role customers would pay in an ordinary cash transaction.

P.S. Bisto food sucks. I went to Paris on my honeymoon last year, I live in SF and our food is better and way more innovate to boot.

<comment><USER14> I'll check the book. I'm relatively interested in health insurance and the financing thereof because I haven't quite identified the system that works the best and even the most successful countries need to tighten their game given the imminent demographic challenges.

As to bistros, well I've been to a hundred different restaurants in Paris, they don't all have 'bistro' written on the window but I'm sure that some were. For the money that I was willing to spend at the time, nothing stood out so much. The Bouillon Chartier was great since I'm a fan of the Lyon-style bouchon and I find them comparable. Generally, I wouldn't go to Paris for affordable and good food. I'm not particularly looking for innovation either, just some intelligence in the menu and ingredients.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> The bistros set up for tourists with low quality food, often not made in- house, are doing way more damage than these other factors.

</comment><comment><USER16> Parisian bistros aren't dying, they're just changing. Nowadays the bistros that Parisians actually frequent look more like a restaurant in Brooklyn or Portland, serving modern food for a decent price. The 'iconic' bistro is just a tourist trap serving shit food to unsuspecting tourists.

</comment><comment><USER17> They already disappeared save a few ones. As a lifelong Parisian as well I will tell you that most of the bistros are not bistros anymore.

The quintessential experience that you can have in a parisian bistrot can only be lived in a very few places and to some people it will look like pedant.

One example of a real parisian bistrot would be La Rotonde in Montparnasse, waiters are coming from schools where they learn their art (they re not some tatooed hipsters with man buns serving natural wines), real chiefs are cooking the food and the pastries, prices are still affordable for the middle class. this is for me the real parisian experience.

</comment><comment><USER18> Haha...I'm reading this on my third day in Paris. Seems like bistros are still everywhere, but perhaps appealing to tourists now. I honestly haven't had a good meal at a bistro while I've been here...they all are basically indistinguishable and the menus basically the same. Extremely mediocre for the price (at least 25-30 euros for one entree and one glass of bad house wine). At that price I could have a much much better meal in SF or NYC!

</comment><comment><USER19> That's funny--my impression is that it's a popular concept in America, and growing increasingly so, especially with the new-style Main St. (parodied on South Park and probably elsewhere).

That may be more true in have versus have-not cities, though.

<comment><USER20> 'Bistro' here just means a tiny restaurant with $9 sliders and red wine.</comment></comment>


Food Classification with Deep Learning in Keras / Tensorflow - <AUTHOR> http://blog.stratospark.com/deep-learning-applied-food-classification-deep-learning-keras.html <comment><AUTHOR> code for training in a Python Jupyter Notebook, plus the web UI in React and Keras.js is available here: [https://github.com/stratospark/food-101-keras](https://github.com/stratospark/food-101-keras)</comment>


My in-depth OS X 10.9 wishlist - <AUTHOR> http://joshparnham.com/2012/09/my-os-x-10-dot-9-wishlist/

<comment><USER2> I would already be happy if they allowed me to cut-and-paste in Finder and allowed to turn off my MacBooks internal display when an external display is attached.

<comment><USER3> Just keep your MacBook closed when plugging in the external display (or wake it up with an external mouse or keyboard), and the internal display will stay off when you open it later (if you need to use the internal keyboard).

<comment><USER2> This doesn't work anymore under Lion. I now have to use a small magnet to trick the lid-closed sensor.

</comment></comment></comment><comment><USER4> Don't forget to include the request that OS X 10.9 supports your current computer.

<comment><USER5> Apple has generally been pretty good on this front.

For example, the last PowerPC mac was _discontinued_ August 2006, and the first incompatible OS (10.6) was introduced August 2009. That's three years.

Similarly, the last 32 bit x86 Mac was _discontinued_ August 2007 (Mac mini) and the first incompatible OS (10.7) was introduced October 2010.

And that's the most pessimistic view possible. Looking at typical purchaser lifespans, it seems you can look forward to around three major upgrades to Mac OS X over the life of a particular machine.

<comment><USER6> Three to four years is an absolutely terrible window. Applecare lasts 3 years and they're introducing OS updates that make the devices obsolete just outside of that window?

Compared to both Windows and Linux, Apple is the absolute worst on this front. They break backwards compatibility and leave old devices in the dust all the time. It gives them the advantage of almost forcing upgrades upon people, and allows them to keep advancing at a fast pace because they don't have to maintain legacy systems. It comes at the cost of early 2008 macbooks with no problems becoming significantly less valuable since they will not longer receive software updates.

<comment><USER7> What's wrong with it? It keeps system with less cruft, allows the vendor to focus on current attack surface only, and makes everyone stay more-or-less up to date.

Just look at how quickly, relatively, the whole Flashback outbreak simply... died out.

Apple issued critical updates going back as far as Tiger, which is ANCIENT, and barely has 1% of the market.

A 2008 MacBook would easily run 10.6 and 10.7, both of which receive updates just fine.

</comment></comment></comment></comment><comment><USER8> I am actually completely and almost 100% happy with iTunes. I wish I could stuff _more_ into it. I can basically drag whatever media I want on it and it only takes up one dock icon.

What does absolutely suck in the Appleverse is photo syncing - the _one_ thing Apple has not left to iTunes. You can either use iPhoto or a directory tree on the Mac, and you have the option to build a parallel photo library on your iOS devices with iOS iPhoto. Why can't I delete photos on my iPad and have it synced back to the desktop? Why is the Photo Stream still limited to one device? (iCloud often makes a lot of sense once you start sharing your account with other people).

</comment><comment><USER9> As far as I understand, the versioning implementation in OS X is built on top of SQLite, which has one-reader/writer-at-a-time-only transaction semantics. I wonder how much this contributes to the beach balls.

Save As must come back.

iCloud syncing of Notes is broken. Notes which are supposed to be in iCloud often get branched to On My Mac without me noticing, where I continue editing them, only to create conflicts.

TextEdit list view should stay open if you want it.

Notes and TextEdit need to be merged. I like the note browser view, but prefer TextEdit's white background.

A package manager as good as apt-get would be great.

<comment><AUTHOR> I'm not sure what causes the beachballs, I've been meaning to crack open lldb one of these days and try and find out.

As for Notes syncing - I've been making fairly heavy use of it recently and never had a single issue, hopefully that will simply come down to teething problems and be addressed in a 10.8.x update.

Your suggestion about merging Notes and TextEdit is really thought-provoking, probably not entirely possible now - but I can really see Apple doing that down the road.

I agree about apt-get, Homebrew's great and all, but it it's not fantastic. I can't _ever_ see Apple doing this though.

<comment><USER9> Thinking more about apt-get,

With more care, Apple could make OS X great not just for users but also for developers. Xcode must be installed by default, along with command line tools. A package manager as good as apt-get is something Apple should take as seriously as it does iTunes and the AppStore.

</comment></comment></comment><comment><USER10> I too would welcome if iTunes could return to be a music player. It must be a huge pain even for Apple to work on such beastly monolithic app that does almost everything except the laundry.

<comment><USER11> iTunes has become Apple's MS Office: it does too much and it's established it's roots so deep a rewrite would be close to impossible without breaking things.

<comment><USER12> But Apple users have shown time and time again that they're perfectly willing to live with things breaking for the sake of what they consider progress.

<comment><USER11> Except iTunes contains two bits of functionality Apple can't afford to break:

\- iPod/iOS sync

\- iTunes Store

Break the primary route to a user's wallet/content, and the Apple experience starts to fall apart.

</comment></comment></comment></comment><comment><USER13> Well we needed to define what bloated means. While we have always point to its size. Most of the time it is including too many things we dont need and want while the whole thing is slow and large in size.

If the app with 10GB can open in less then a seconds then i dont think many would have complained. The problem is all these apps are getting slower, even with the Hardware performance improvement, and they take up valuable SSD space.

iTunes is one hell of bloat. Because you simply dont use your Music Player to manage your iPhone! It simply does not make any sense. And telling casual users to install itunes is just making the problem even worst. The Sync Apps should be linked with your Media Player Library or Playlist. But it should not be the same app. As a matter of fact, get rid of Sync with iTunes and use iCloud instead.

There are lots of bits and pieces in OSX that is showing its age. It wasn't much of a problem when Microsoft fail to make decent OS, and Google wasn't doing Android. Now Windows 8 has a shit UI but brilliant Internals, and Android is basically a Linux with cooperate backing. Apple seems to lack enough Software Engineers for an OS internal development.

</comment><comment><USER14> I'd say relabel iTunes as iSync, remove the media player from it and build one from scratch, something that's snappy as hell and more modern.

</comment><comment><USER15> Uhh, I was just going to say "Ruby 1.9 by default" but ok.

<comment><AUTHOR> Adding to this, shipping with modern UNIX utilities. I understand they might face issues with GPL3 but it's annoying that the OS is shipping with UNIX software that's _years_ out of date.

</comment></comment><comment><USER16> I've given some thought to the iTunes problem. I think the best solution _is_ to break it up into smaller apps. The tricky part is no one wants to have a dozen different apps installed separately so iTunes would have to still be distributed as one big monolithic application. So instead of trying to cram everything into one window I would suggest something like a Springboard style UI to greet the user when iTunes is launched. From there the individual apps would be more like their iPad counterparts. Simple and to the point. Library management could be broken out into its own separate app to avoid a lot of UI clutter in the Music app itself. Going forward this would let Apple easily add or remove things from iTunes.

<comment><USER17> A springboard on top of a springboard?

Look, it doesn't actually have to be so many apps. I'd split it into "Music", "Videos" and "Devices" for the synched data.

</comment></comment><comment><USER18> The biggest problem for iTunes is actually Windows. Imagine telling a new, novice user to download and install ten different applications in order to sync their media to their phone, one for their music, another one for their photos, another one for their podcasts and so on. That would be suicide.

iTunes is just bad[1] software.

I personally love it on the mac, but it's gotten bloated with the years. I avoid this problem by mainly using it for music, nothing else, plus I hear on windows is painfully slow. It needs to be rewritten and it's architecture rethought.

[1]bad in the sense that it may be overkill, because it hasn't crashed for me in years. Despite all it flaws, it always works.

<comment><USER19> They could break up iTunes under the covers and maintain a legacy 'unity' interface for a cycle or two.

And the sync problem is solving itself as iOS devices continue to migrate away from iTunes as the repository manager.

<comment><USER18> That's what I think they would do. They are going to rewrite iTunes, but nothing radical, and just wait for iCloud to replace it.

</comment></comment></comment><comment><USER20> My only request:

\- Add a wheelbarrow icon to the menu bar.

What for? To drag and drop stuff so I can move them around.

* More explicit: to easily move/copy files from one folder to another. From one app to another. Drag files to the wheelbarrow icon, a red circle shows how many files you're holding. Open an app or a finder instance, then drag from the wheelbarrow to the folder. No need to hold the command key while waiting for a finder instance to open and navigate to the folder I want. There is an app somebody showed some time ago that did exactly that. Something like that but part of the OS.

<comment><USER21> Draw wheelbarrow icon on your command / apple key. Hold down said key, drag menu bar icons to desired position.

</comment></comment><comment><USER22> Can you imagine the pain caused by transitioning away from HFS+? Is there something so fundamentally wrong with it to justify all the compatibility headaches of a new filesystem?

Under the hood, there's some low-hanging fruit that I'm surprised Apple hasn't gone for yet:

* Turn off the writing of ALL memory to disk every time a laptop is put to sleep. Got an SSD MacBook Pro with 16GB? Every time you close the lid, sixteen gigabytes get written. Every time.

* Disable file access times so every file that gets opened doesn't need to have the timestamp updated.

<comment><USER23> Leave both alone. Sorting by last access time is really useful. Saving the memory dump means there's space for recovery when batteries run out while asleep – it just takes a bit longer.

</comment></comment><comment><USER24> > does a photo manager have to be 707 MB?

iPhoto 9.3.2 is 1.46GB.

<comment><AUTHOR> Good god, really? My copy of 9.3.2 appears to only be 707 - <http://cl.ly/JO6T>

<comment><USER24> I've asked around the office and on all but mine it's 707, I need to figure out why! Mine is a copy from the App Store, not preinstalled, which seems to be the difference…

<comment><AUTHOR> Interesting - Mine is preinstalled too, have you had a look around the App bundle to determine where the majority of the space lies? For me, ./Contents/Frameworks/ & ./Contents/Resources/ are equally about ~330 MB (about half of the total bundle size)

</comment></comment></comment></comment><comment><USER25> > _Return Apple to its roots with minimalism - does a photo manager have to be > 707 MB? Does a music player have to be 270 MB? If something's not needed, > get rid of it_

That!

</comment><comment><USER26>
       git checkout -b dev-10.9 release-10.4

</comment><comment><USER27> He wants to get rid of Stickies! The only justified response to this is to turn up on his doorstep with a torch-wielding mob.

</comment><comment><USER28> Some things one agrees with and some that sound like typical non-programmer (and sadly, some-programmer) lists.

E.g "Return Apple to its roots with minimalism - does a photo manager have to be 707 MB?"

Yes it has. People think the binary is "bloated", while in actuality it's mostly templates for photo books and such, that doesn't get loaded or impact performance at all if you don't use them.

> _Unix package manager - basically an official version of > Homebrew/Macports/Fink._

And what good would that do? Do you really want to wait for Apple to release new versions of third party programs?

> _Replace AppKit with UIKit._

Does not even make sense.

> _[re: iTunes] Apple, this needs to stop. Even if the segregation of all of > these components into separate, modern apps was the only new feature in > 10.9, I would gladly pay my money and walk away a satisfied customer._

Really? People keep saying that, to sound smart (in how they condemn "bloat"), but I think it's wrong. You know what is worse than using one app to handle 15 tasks related to your media/app collection? Using 15 apps to do the same. How would that work? At best they can break it down to 2-3 apps --which you would still have to use every time you want to sync your phone.

> _We all know the Mac needs a new, modern file system to ditch the ancient > HFS/HFS+._

I for one do not know that. What's the problem with HFS+ again? I mean the actual problem that matters for the common user and that ZFS is supposed to solve in a desktop/laptop machine.

Does this guy even know how ZFS works? In a space constrained SSD disk it would be a disaster. And managing logical volumes and consistency with 1-2 drives is not exactly it's core strength. It's design is all about the enterprise and the server space.

<comment><USER19> > _"You know what is worse than using one app to handle 15 tasks related to > your media/app collection? Using 15 apps to do the same."_

Funny, it works out just fine from the iOS side. And that's even when I consider additionally managing podcasts in downcast, comics in comixology and reference PDFs in goodreader.

<comment><USER28> Because you don't manage them there, you mostly consume them, and one at a time at that. In any case, you do it at your leisure, while delving into them. Consuming them, and mostly one at a time is the main reason for having the iPhone/iPad.

On the contrary, when you want to sync/manage/backup your collections from your desktop to your iDevices, it would feel like madness to have to use 15 or even 8 different apps. You want to be able to backup/sync everything with 1-2 clicks, drag new songs (and maybe some movies), etc.

<comment><USER19> There's nothing that says an iTunes rewrite would necessitate opening X programs to sync content. It's trivial to envision an architecture where a sync service is aware of and can pull from those X repositories.

In fact, iTunes already works like that with regards to contact sync'ing (from Mail) and the optional iPhoto/Aperture photo sync'ing.

And the only time someone need open those individual apps is when they want to consume or manage _that_ content.

</comment></comment></comment></comment><comment><USER29> Just a couple of points.

1) .DS_Store is necessary for compatibility with UNIX/Windows who do not support the HFS+ resource fork/Finder metadata. There is no way around it and they are optional. Perhaps just add it to your .gitignore like everyone else does.

2) ZFS is unnecessary. Most of the use cases that haven't already been solved elsewhere e.g. Time Machine/Versions are only for super-advanced users. In which case they can download ZFS from a third party. Not to mention that the trend is overwhelmingly towards cloud storage.

3) Splitting iTunes into its parts is not necessarily the best answer. How do you handle syncing ? System wide syncing e.g. iSync was a colossal mess and confused the daylights out of people. Also how do you handle the store ? Separate stores in each app doesn't sound fun.

<comment><USER30> It's a list of feature requestes; none of this is _necessary_. But ZFS would be very nice to have.

<comment><USER28> Why? Do you have half a SSD to spare for checksums and additional metadata? Or does the common OS X user have several disks that he wants to see as a logical volume, while also understanding the risks after one of the dies? Do they even have the storage redundancy needed?

<comment><USER30> Do I want the option to trade disk space for greatly increased reliability? You betcha. Also, snapshotting.

<comment><USER28> Single drive reliability means nothing. In a SSD, doubly so.

ZFS won't kill the need for external backups, even in the least.

<comment><USER30> Who said anything about replacing external backups?

<comment><USER28> You wrote about "greatly increased reliability".

Which you don't get at all out of your 1-disk laptop/iMac with ZFS.

For this use case, both filesystems as just as (un)reliable: a simple disk failure and you're out. So, all reliability comes, as before, from backups, not from anything fs inherent.

You only get to see the ZFS advantage in a much larger, multi-disk setup.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> Bring back the Snow Leopard mouse acceleration curve

Bring back the Lion touch scroll acceleration curve

> requiring it to be enabled in WebViews and then only working in Apple's core > apps.

Not true, works in any cocoa app</comment>


Software predicts criminal behavior - <AUTHOR> http://www.msnbc.msn.com/id/38723688/ns/technology_and_science-science/

<comment><USER2> demolition man baby :)</comment>


Sponsored Links in (Delicious) RSS Feeds - <AUTHOR> http://blog.delicious.com/2016/02/sponsored-links-in-rss-feeds/ <comment><AUTHOR> This finally pushed me to move from Delicious to Pinboard.

And I'm very happy to have moved somewhere that actually makes money directly from their users.</comment>


Will employer sue a competitive spare time opensource project? - <AUTHOR>

My company runs a full opensource project under Apache 2 license. Unsatisfying its quality, I create a similar project in my spare time and plan to opensource after quitting current work. Will this cause my company sue me if someday I build some commercial version based on my spare time opensource project? The project is created all on my own time and own equipment, but it does compete to current company's opensource project. <comment><USER2> If your project ever makes any money or gains any recognition, then your (ex)employer is very likely to sue.

Most employment contracts include a clause saying that "all" work you perform during your employment is owned by them. Unrelated hobby work is generally Ok. But from what you describe, under most jurisdictions your work will be deemed to be owned by your employer.

Will be very interesting to see what others suggest. But my advice is: "Don't go there!".

<comment><AUTHOR> even if it won't make money but gains recognition, the ex-employer will sue you? Then what will they get? The copyright? As an opensource project, everybody can fork their own copy and make money on that.

<comment><USER3> Sure, recognition can be traded for money. It has value. I would wait for them to fold or for a significant number of years to pass (basically for plausible deniability and any no compete to pass).

But really, why work on the same thing twice? Pick a side project that steps on someone who isn't your employer's toes.</comment></comment></comment>


3D Video Capture with Three Kinects - <AUTHOR> http://doc-ok.org/?p=965 <comment><USER2> Apparently you can shake a Kinect to make its field of view overlap with other kinects. More kinetics would make this already mind-blowing demo even more mind blowing, and allow more people in the room (and perhaps open up cross calibration)

[http://www.precisionmicrodrives.com/tech- blog/2012/08/28/usi...](http://www.precisionmicrodrives.com/tech- blog/2012/08/28/using-vibration-motors-with-microsoft-kinect)

<comment><USER3> Thats for the generation 1 Kinects though, which project a dot pattern and calculate distances from the dot offset. Since the camera and projector are in the same housing, they will shake synchronously, and only the dot pattern that is projected by that kinect will show up clearly on it's camera image.

As far as i know the new kinects use Time of Flight technology though (which is the reason they bought PrimeSense), which sends out short pulses of light, and times when they arrive back. Since there is no dot pattern to blur, the shaking technique won't work to my knowledge.

<comment><USER4> >which is the reason they bought PrimeSense

Nope. MS licensed first gen Kinect technology from PrimeSense. Apple is the company acquired it.

The ToF Kinect was developed fully in house. Here's the published paper on the depth sensor in ISSCC2013:

[A 512×424 CMOS 3D Time-of-Flight image sensor with multi-frequency photo- demodulation up to 130MHz and 2GS/s ADC]

[http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=675737...](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6757370&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel7%2F6747109%2F6757318%2F06757370.pdf%3Farnumber%3D6757370)

<comment><USER3> Oops, thanks for correcting me on that point. I only remembered that there was some kind of Kinect related aquisition (i think the was an article a couple of months back), but it was late at night yesterday, and I was way to tired to look up the article.

</comment></comment></comment></comment><comment><USER5> I'm struck by the vignette involving the table leg, in which Oliver describes it as feeling "unnatural" to pass his kinect-sensed leg through the virtual table leg, even though there was no obstruction in "real life." I believe this is a demonstration of fully-convincing immersion, and Oliver is sure to point out its implications for the uncanny valley. This is so exciting from the perspective of social/cognitive science, too. I'm floored.

</comment><comment><USER6> Looks good, kudos :) Although it painfully reminds me that we did something similar some years ago[1]; it even was a fight to convince the project's official contractor (aka my client, although after 8 years on-site fulltime, I guess I'm more the second longest employee by now, lol) that we can do such a proof of concept, and furthermore to use Kinect to make it given that was started back when only the OpenNI driver without audio was available, no official SDK from Microsoft.

Sadly we never got the funding to go further to do multi-cameras and I had to move on to other urgent things, so I'm glad to see others might get to solve it: imho there are many applications, even simple things like making better video conferencing using 3d capture viewed in the oculus :)

One suggestion however: the "fat points" pointcloud rendering of potree[2] might improve the appearance of the generated model instead of using meshes, could be worth a try.

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

[1] [http://ivn.net/demo.html](http://ivn.net/demo.html) (you can skip the cheesy first minute of the video)

[2] [http://potree.org](http://potree.org)

</comment><comment><USER7> Too bad they don't make Kinects with different IR wavelengths. It would solve a lot of the problems with colliding data, and allow you to use more Kinects. I don't imagine it is simple though, because if I understand how diffraction gratings work (that's what produces the IR dot pattern), they're designed to work for specific wavelengths. If you send another wavelength through it, you're not going to get the original pattern. And since the depth-sensing algorithm is hard-coded in the hardware, you wouldn't be able to use this new pattern to detect depth.

<comment><USER8> The new ones shouldn't have this problem since the time-of-flight method isn't as vulnerable to interference... I think.

<comment><USER9> it is, it sends modulated IR at you, so two kinect 2s will interfere

<comment><USER8> It's very directional though, isn't it? I'd think there won't be nearly as much scatter as with dot tracking like the kinect 1.

</comment></comment></comment></comment><comment><USER10> There really is something amazing about this setup that neatly bypasses the uncanny valley.

Toward the last quarter of the film, at one point he clips through the table, and it was shocking to see, but even after seeing it, when he moved back out, it still felt like a "person" more than a "CGI Ghost".

<comment><USER11> Right. An excellent way to avoid the uncanny valley is to not even attempt to cross it.

</comment></comment><comment><USER8> This is cool, but I have to say I'm basically holding off on getting excited about Kinect stuff until the Kinect 2 gets out there to this same researchers and hackers. They are going to have a goddamn _field day_. The Kinect 2 is a straight up future toy. It's going to make these fabulous Kinect experiments look like 64K scene demos. I can't wait.

<comment><USER12> Except for the fact that Kinect2 4 Windows only supports Windows 8...I don't know of any good hackers or developers who use Windows 8 yet.

<comment><USER13> My recollection is that part of the uptake of the Kinect for this sort of hacking corresponded with the developement of an open source driver [0]. I imagine something similar will happen for the Kinect2, rendering the Win8 support issue moot.

[0] [https://en.wikipedia.org/wiki/Kinect#Open_source_drivers](https://en.wikipedia.org/wiki/Kinect#Open_source_drivers)

<comment><USER14> Yep!

[https://twitter.com/theowatson/status/444573423088320512](https://twitter.com/theowatson/status/444573423088320512) [https://twitter.com/theowatson/status/444578281200058368](https://twitter.com/theowatson/status/444578281200058368)

</comment></comment></comment></comment><comment><USER9> One way of improving original Kinect would be swappinch visible light camera module for something that does fullHD, there should be plenty of space inside kinect to do that mod.

There is enough 3D data in kinect stream, but 640x480 video is just pathetic.

</comment><comment><USER15> So I'm thinking 5 Kinect-IIs, a common wooden table, some hardware, and you could have a team room/meeting room in virtual 3-D with folks from all over the world?

Once you made something like this, then you'd start writing apps for it -- I would imagine you'd start off with virtual "pictures" for the walls that could have a web browser, spreadsheet, etc. built in. Then you could work up to truly interactive 3-D tools, but I'm not sure users could easily grasp moving to holographic toolsets right off the bat. It's an interesting marketing question.

</comment><comment><USER16> I've been wondering whether voxels or light fields will win the 3d video war. This is the first cheap voxel capture I've seen working well.

Voxels are nice because they are well understood by most 3d developers, and have the same spatial resolution characteristics as we are used to on 2D formats.

Light fields on the other hand have easier capture going for them, don't change transmission formats (a light field can be transmitted in a 2d video or image), and don't suffer from interference problems.

I'm excited to see what happens.

</comment><comment><USER17> A bit offtopic:

Does someone know a DIY Lidar project or a cheap Lidar?

(Lidar are usually _very_ expensive, e.g. the Lidar that Google uses for its autonomous cars cost 78k dollar.)

<comment><USER3> I guess that might float your boat? [http://hackaday.com/2014/01/23/lidar- with-leds-for-under-100...](http://hackaday.com/2014/01/23/lidar-with-leds- for-under-100/)

</comment></comment><comment><USER18> Alright Google, listen up. I think it is time to attach a bunch of kinects or kinect like devices to drones and have them 3D map the country or at least major cities. Then let me attach an VR headset that isn't the Occulus Rift to my computer and take virtual tours of cities and navigate with a game controller. Call it "World View" or "Street View++".

</comment><comment><USER19> This may just be my thought pattern, but I could see this being rather useful to the porn/webcam industry.

</comment><comment><USER20> This needs multiplayer so badly. Even locally so you can stand next to someone and interact with them.

<comment><USER21> I wonder how much bandwidth is needed for even one user broadcasting this setup across the Internet.

<comment><USER22> Surprisingly, not a lot more than 1080p video!

There's no reason the color and depth data produced by the Kinects can't be encoded and compressed in a "regular" video stream.

A very naive approach (where you simply stitch the images side by side in a larger video stream) would require you to transmit 6 separate 640x480 video streams.

640 x 480 = 307,200 pixels

A 1080p video stream, that can now be easily broadcasted to any decent household internet connection, has 1920 x 1080 pixels.

1920 x 1080 = 2,073,600

2,073,600 / 307,200 = 6.75

So the 6 separate video streams would fit just right into it!

I'm not taking into account some factors, like:

* The effect of existing video compression algorithms on depth maps (might cause some severe artifacts, since they're tuned for color vision perception)

* The fact that the depth map has a single color channel, and can probably be represented more efficiently than a full color RGB 640x480 image.

* Framerate (60 fps is probably needed for a more immersive feel)

But I do think it's very feasible to stream this type of 3D video in real time with current Internet speeds.

<comment><USER23> Wouldn't it be more similar to the kinds of streams used in 3D online multiplayer games?

<comment><USER24> Not in this case, because the raw scanner data of the person has to be compressed and transmitted, while 3D multiplayer games only have to transmit the positions and actions of models that all the computers already have.

</comment></comment></comment></comment></comment><comment><USER25> This blew my mind! amazing!

</comment><comment><USER26> glad to see the matrix is coming online smoothly

<comment><USER27> More like cyberspace as cyberpunk predicted. Now we only need cybernetic limbs and 80s fashion to return.</comment></comment>


At Least 70 Countries Have Had Disinformation Campaigns, Study Finds - <AUTHOR> https://www.nytimes.com/2019/09/26/technology/government-disinformation-cyber-troops.html <comment><USER2> I recommend Hannah Arendt's essay Lying in Politics. Summary:

1\. Lying has always been considered a valid political tool. It isn't really clear how a government can operate without lying.

2\. Lying is deeply related to the human ability to act. Acting involves imagining the world as it does not exist and trying to bring it into existence. Imagining the world as it does not exist is very close to lying (if only to yourself).

3\. Lies are often more plausible than reality because the liar knows what his audience wants to hear.

4\. History is not composed of facts; it is about collective memory and consensus. Facts exist but history always contains a buried political philosophy that constrains the facts.

5\. A significant amount of lying involves fitting reality into overly simplified models.

6\. Almost all liars start with self-deception. They often don't know they're lying.

7\. Ironically, the people with the most access to information are often in the worst place to determine the truth. Overclassification leads to a situation where cleared officials have far too much information to wade through. The president selects officials who filter information though their own overly simplified models before it reaches him.

8\. Lying in order to hide the truth implies a truth, which means that the truth can often be deduced from the lie.

9\. We should be extremely wary of highly educated technocrats who attempt to impose a "scientific" viewpoint on political events, always fail, and yet remain utterly convinced by their oversimplified models.

<comment><USER3> > 1\. Lying has always been considered a valid political tool. It isn't really > clear how a government can operate without lying. Could you expand on this? > Why could the government not operate without lying, except for extreme > situations like war?

<comment><USER2> It's been a while since I read the essay and I don't exactly remember the distinctions drawn. I'll venture my own opinions:

Lying is necessary when trying to move through the world. Governments lie for the same reason people lie. Governments restrict information just like people have internal opinions and thoughts we keep hidden.

Governments need to act, which involves imagining the world as it doesn't exist and spreading that imaginary world in order to create a consensus. This is very similar to lying and the boundaries aren't obvious.

People don't want a government that tells the truth and will not vote for a candidate who tells the truth. See McGovern vs. Nixon.

<comment><USER4> > _Governments need to act, which involves imagining the world as it doesn 't > exist and spreading that imaginary world in order to create a consensus. > This is very similar to lying and the boundaries aren't obvious._

I think that's a very stretched analogy.

Governments lie in much more obvious, and less noble, ways than "imagining a future world and spreading it"...

<comment><USER5> I think the reconciliation here might be that "imagining a future world and spreading it" isn't necessarily noble or different from blatant lying.

An example: the UK government has been playing chicken with the EU over a Brexit deal. As Johnson tells it, the goal is to prepare for and commit to a successful no-deal Brexit in order to gain leverage for a better deal. (There's some debate about whether a deal is actually being pursued, but let's assume it is.) The UK government, then, is imagining a world where it can pass and succeed at no-deal Brexit, and is consequently able to negotiate a good deal. If the real state of affairs is "it'll be a disaster and so our MPs won't let us"... well, spreading that imaginary world would require lying in a very mundane, "knowingly making false statements" manner. A move like releasing the Operation Yellowhammer documents would interfere with that consensus-building.

Of course, that's far from the _only_ reason governments lie. Continuing the example, the Brexit process has been absolutely full of lying that was not even slightly in the public interest. But the point is that governments lie for selfish reasons by invoking the arguments and mechanisms they justify with public-interest lying. It's fundamentally the same problem as government secrecy: the intent of the system is compromised by scrutiny, so it becomes an obvious channel for abuses of power.

It's possible, I suppose, that a government could solve this by simply _not ever lying_. A crisis like Brexit was self-inflicted by committing to the outcome before doing the planning, and you can just _not_ do that. But it becomes a much stickier issue with questions like "should we lie about our military readiness, or admit what we're unable to resist to our hostile neighbors?" (And saying "only lie about military stuff" still leaves you with politicians lying about war to get elected, pass kickbacks, and so on.) At the very least, it seems like you'd need military security and relative economic stability _before_ you could try to demand total honesty.

(None of this is an endorsement of governments lying, though. To me it's mostly a justification for extremely constrained state power to minimize the threat of those lies.)

</comment></comment></comment></comment></comment><comment><USER6> At least 70 dogs have engaged in barking. Jury still out on if water is wet.

Seriously though, who doesn't expect that their government will attempt to cast itself in the best light and smear its enemies? Propaganda has been around since before the dawn of mass media. There is always a cultural myth of our group being the chosen people and having the correct answers to how life should be lived and resources allocated. This isn't necessarily a bad thing, it inspires people and creates stronger bonds between otherwise unrelated individuals. We just need to reign in the negative shit-talking is all. Focus on the positive aspects. Healthy competition between countries as with people is generally positive.

<comment><USER7> _Propaganda has been around since before the dawn of mass media_

True, but what is different this time is the cost and reach of propaganda. It is a lot cheaper, easier and faster to send emails, post on FB/Twitter, throw a website up... etc compared to 40-50 years (or even 30) ago when you had to use newspapers and television. What is even more horrific is you can _tailor_ these message down to a individual person

<comment><USER8> In my opinion this is one of the best developments of recent decades. People with formerly no voice are at least able to exchange themselves with others and find like-minded individuals.

I am very skeptical of people that advocate for a more top down approach to information exchange.

<comment><USER9> As am I.

Plenty of legitimate voices advocating for public good, let's say as an example, get swept up in these attempts to better centralize and manage information.

That's not a good thing.

</comment></comment></comment></comment><comment><USER10> I remember Jared Kushner was asked about the Russians ads, he said something along the lines of "that's what the GOP spends in advertising in 3 hours". I don't think 99.99% of people understand the scale to which propaganda and establishment bias penetrates into their lives and daily functioning.

"Hate Speech", defined essentially as any form of discrimination whatsoever, has been made illegal in Europe following the growth of the anti-immigration far right. Is this fair towards these parties? Imagine making climate change speech illegal because it hurts the feelings of people who drive cars or eat meat. Would green parties not be discriminated against? How about making speech illegal that suggests increasing taxes on corporations? Where do we stop?

There is always an ongoing political battle to steer our thinking. The world is a political place down to the air we breathe, what we eat, what we wear, how we to talk to each other and increasingly even what people we find in our community.

<comment><USER11> >"Hate Speech", defined essentially as any form of discrimination whatsoever, has been made illegal in Europe following the growth of the anti-immigration far right.

Source? This is not true in my experience.

<comment><USER12> In many countries "hate speech" is illegal, the US is one of the few with truly free speech. Pro Nazi and racial incitement speech is illegal in France, Germany and Austria AFAIK. Here in South Africa too. Even though I'm for free speech, I feel this is understandable and defendable.

<comment><USER11> I know there are quite a few European countries with laws against hate speech, I was mostly referring to the following two parts:

>defined essentially as any form of discrimination whatsoever

>has been made illegal in Europe following the growth of the anti-immigration far right.

</comment></comment></comment></comment><comment><USER13> > Governments are spreading disinformation to discredit political opponents, > bury opposing views and interfere in foreign affairs.

A funny point of view coming from the NYT. Arent they guilty of doing the exact same thing? They are hardly a neutral outlet.

<comment><USER14> Given their leaked transcripts wherein their editor states their one purpose was to takedown Trump, they're clearly a propaganda outlet.

It is very much a pot / kettle situation.

<comment><USER15> Wow, so I just decided to do some digging because I hadn't heard about this and I wanted to educate myself.

Literally the only thing I can find that paints that transcript in remotely the light you're implying is an absolutely garbage Fox News article referencing a Slate article. That Fox article is 18 sentences long, and is mostly a bunch of op-ed ranting sprinkled with some absolutely mutilated quotes.

Ironically, the content of the Slate article paints a picture of the NYT dealing with its readership complaining that they're _not tough enough_ on the administration, and their vigilance and ongoing struggle with remaining as neutral as possible.

</comment></comment></comment><comment><USER16> What is being called "Disinformation Campaign" is simply one of the tools of politics since time immemorial.

<comment><USER17> Yes and no. The "tool" here is the internet, effectively the most immediate form of mass communication we've ever known.

The ease and efficacy of swaying opinion via this tool incites agents to utilize it more and more often. It has wider reach than, say, propaganda in film or distributed leaflets.

<comment><USER18> > the internet, effectively the most immediate form of mass communication > we've ever known

It's a multi-to-multi communication tool though, where a unidirectional medium like radio or TV allowed you to get the message out (while controlling that no other message went out), the internet is messy, there are competing messages and they aren't easily censored, you can't be sure to reach the intended recipient (back in the TV days, most people watched TV and there were only a limited amount of channels; even if you had the power to make the big media companies broadcast your message on the web, tons of people will not visit any of their sites in any given day), and you compete with cat pictures.

It's communication by masses, not to masses. Traditionally, "mass communication" meant one-way-media usage to communicate _to_ large parts of the audience.

</comment></comment></comment><comment><USER19> "Reply All" had an episode that touched on an interesting variation of this:

[https://gimletmedia.com/shows/reply-all/j4hl36/112-the- proph...](https://gimletmedia.com/shows/reply-all/j4hl36/112-the-prophet)

</comment><comment><USER12> From The NY Times. The newspaper which has cheerleaded every single US war

<comment><USER20> So does this mean it is self aware now?

<comment><USER19> TFA doesn't seem to include a _mea culpa_...

</comment></comment></comment><comment><USER21> In the age of information - disinformation is a potent weapon. I would be remiss if powerful entities including states and corporations did not use it.

</comment><comment><USER22> Apparently New Zealand is so pure they don't even bother to draw it in on their corruption map[1].

[1] [https://comprop.oii.ox.ac.uk/wp- content/uploads/sites/93/201...](https://comprop.oii.ox.ac.uk/wp- content/uploads/sites/93/2019/09/CyberTroop-Report19.pdf)

<comment><USER23> Excluding NZ from world maps is a rather frequent mishap, and it has even become a meme. See [https://www.reddit.com/r/MapsWithoutNZ/](https://www.reddit.com/r/MapsWithoutNZ/)

<comment><USER24> It's because they want to hide it for when there all the elites escape their during global nuclear war/ pandemic / zombie apocalypse

</comment></comment></comment><comment><USER25> Only 70? This has been done since since old-testament era politics

</comment><comment><USER26> Idk if the NYT is in a great position to be throwing rocks at other glass houses given their recent record.

</comment><comment><USER27> Walter Duranty could not be reached for comment.

</comment><comment><USER28> amazon also does this and i'm sure other corporates too. that is a much bigger problem imo</comment>


ICE says international students must take in-person classes to remain in the US - <AUTHOR> https://www.theverge.com/2020/7/6/21315168/ice-immigration-international-students-universities-deportation <comment><USER3> Bye to some of the 40 odd Billion dollars which flows into the economy from these students. While the US closes their borders, other countries will be willing to take these students in.

<comment><USER4> The universities are doing more economic damage to our youth than they are bringing in to our current account. The universities need major reform, we should possibly be confiscating their endowments. Demand from wealthy international students abroad is one factor driving up tuition, which puts our middle class deeper and deeper in debt.

</comment></comment><comment><USER5> This doesn't help. Not everyone has access to the same infrastructure in their home town/country. Let alone the fact that a class at $X AM/PM in the US may be in the late evenings, late nights in their home country.

<comment><USER6> I think we'll have to consider the possibility that ICE are not out to help _anyone_ really.

<comment><USER7> Correct.

</comment></comment></comment><comment><USER8> Duplicate of [https://news.ycombinator.com/item?id=23751931](https://news.ycombinator.com/item?id=23751931)

@dang can you merge this?

</comment><comment><USER9> Expect universities to fight this hard. Fees from international students make up a huge portion of their budget.

<comment><USER10> How will they fight this? Republicans in Congress are against legal immigration so nothing will pass Congress. The right wing hates colleges and universities because they're primarily made up of liberals, look at any Fox News and Brietbart articles.

<comment><USER11> Saying that Republicans in Congress are against legal immigration is a lie.

<comment><USER12> Are you familiar with all the immigration bans though, and what republicans say and do?

They're pretty thoroughly against legal immigration.

<comment><USER13> Believe me, Democrats give zero shits about legal immigration too.

</comment></comment></comment></comment></comment><comment><USER14> If the reason for the Visa in the first place is to allow students to attend classes, and there are no classes to attend, what is the problem with this?

Seems if a University has no in person classes, most all students will stay home, avoid high priced dorms, dining plans, etc., and campus will be empty anyway.

<comment><USER15> > If the reason for the Visa in the first place is to allow students to attend > classes, and there are no classes to attend, what is the problem with this?

If this had been announced in March, I'd feel very differently. College usually starts in September, about two months away.

Sure, two months isn't an unreasonable time for finding new housing - <USER2> usually when you're moving you've got a lot more warning than that.

Add the complication that they need to relocate to another country, which will include international airfare. If any of them own anything that doesn't fit in a carry-on, they now have to look in to international shipping or replacing it.

And, again, they only have two months to do this. I usually start planning international travel 3-6 months in advance so that I can get a good price on tickets.

<comment><USER16> With airline ticket prices dropping, they shouldn't be hit as hard.

</comment></comment></comment><comment><USER17> Note that this FORCES Int students to come back to the US and attend at least some in person classes. Having your student visa revoked doesn't just mean you can't be in the US, you just can't be a student at a US institution without that visa.

So it's more than just bad time zones.

<comment><USER18> I not sure I follow? They have to come back or else they lose their visa, that they don't need because they aren't coming back?

They don't need a visa to take online classes from overseas.

<comment><USER10> Article says this:

>Meanwhile, international students who remain in their home countries will only be permitted to maintain their "Active status" and take an online courseload remotely if their school is online-only.

<comment><USER18> Meaning they lose the visa which they don't need because they aren't in the country?

I suppose there may be some delays in getting a new visa later due to the backlog, but I wouldn't say the danger of such a hassle equates to being forced to return to a country undergoing a pandemic. In fact one big reason we are doing online and hybrid online/in-person courses in the fall is because we expect delays international students getting visas to come/return.

<comment><USER19> > Meaning they lose the visa which they don't need because they aren't in the > country?

No, they still need the visa even if they are out of the country taking online-only classes. However, they can't _keep_ the visa unless the _university_ is online-only (including classes they aren't enrolled in).

</comment></comment></comment></comment></comment><comment><USER20> What about students that want to avoid crowded lecture halls but have in person study groups with a few friends? This authoritarian action is extremely heavy handed and forecloses the possibilities that genuine students might have to protect themselves, educate themselves and others, and help protect society.

<comment><USER21> Those people can stay at the US for their non-online only education, as long as the study groups are sanctioned by the school.

<comment><USER20> I don't know what your college experience was like, but for me often the informal aspects and hitting the books was more useful than formal lecture classes (labs are a different story ofc). Tutoring by grad students / teaching assistants was good too. University sanction is a high bar for something that is organic.

The reason for this is somewhat obvious: people don't retain and model complex information easily from just listening. They have to process it, interact with problems, and talk about it with people.

</comment></comment></comment><comment><USER22> So in other words, universities will end up adding a classroom that students visit once or twice to cover ICE requirements?

</comment><comment><USER23> We will welcome these students in our Canadian universities.

<comment><USER24> From what I heard Canada is one of the countries, where it is difficult to immigrate. I heard, that you need to prove, that you are doing a job, which could not be done by a Canadian, who is seeking a job, for example.

Is any of that true? How is it for students? Can they simply go to Canada without such requirements?

<comment><USER25> Not at all. Canada is very welcoming to people and particularly values the following attributes: young, well-educated especially in hot disciplines such as software, fluent in English or French (bonus for both), Canada-educated, previously worked in Canada. The requirements are straightforward and the process is transparent. You can find out where you might stand right here: [https://www.cic.gc.ca/english/immigrate/skilled/crs- tool.asp](https://www.cic.gc.ca/english/immigrate/skilled/crs-tool.asp)

Edit: That's a weird thing to be downvoted over.

<comment><USER13> You're trying to portray these requirements as transparent and easy but they are incredibly hard to be met by most people yeah, especially compared to the requirements for American Immigration system.

The only reason why America is hard to immigrate to is because far too many people in line ahead of you. You can immigrate to America without being educated, be able to speak English, to have ever worked anywhere.

I know a Canadian girl who wanted her American boyfriend to move to Canada but it was incredibly hard because of Canadian immigration process requirements, so instead she moved to the US.

The Canadian job requirement is essentially a prerequisite for anyone to be able to hire you in Canada because Canadians are very risk-averse (what other Canadians told me), there are stories and stories on quora about Indian immigrants getting 4-5 interviews in a day, the day they qualify for the tn1 Visa as opposed to essentially being unemployed during the time they were in Canada.

All the things your listing are paper requirements, but they don't match the reality, as I'm experiencing with trying to get my own brother to Canada.

<comment><USER26> I don't know if you have had experiences with the US immigration system, but let me tell you, mine don't match what you said.

I'm an EU citizen who came to the US five years ago.

Not only I had to prove _several times_ that I have a bachelor's degree, but each time I had to apply, either for a visa, the renewal of such visa, or any other USCIS related process, I had to submit:

1\. Updated documents about my marriage, my children, and my criminal, work, and financial records from my home country. These haven't changed in the past five years, yet I still have to provide them.

2\. Several, lawyer-approved, questionnaires, both filled by myself and my company.

3\. My company has to pay a hefty processing fee. Once I get to deposit the documents in person, I have to pay a non refundable "fraud prevention" fee of ~$500, on top of the $120 fee _per person_, just to hand my documents to the consulate official. This happens every two to three years.

Nothing had to do with people "ahead" of me.

Obviously, no chance to immigrate if you don't have a job lined up in the US already. Failure to fulfill any of these requirements would void the application, which takes ~4 months.

Seasonal and agricultural workers _may_ be able to immigrate to the US for a few months, usually six to twelve. Other than that, unless you are a celebrity, or a Nobel prize recipient, or an Olympic athlete, or are willing to invest $500,000 to create who knows how many jobs in the US, I can't think of any other way to immigrate that is not job or study related.

From what I understand, Canada does have a more transparent process, where the requirements are closer to "are you professionally qualified to work on these jobs?" and "would you be able to integrate?". The US system is designed mostly to filter out people who cannot afford it, and both the multiple processes, and volatile nature of the USCIS, derive in many qualified immigrants getting kicked out of the country just because something changes at the worst possible moment.

<comment><USER13> I have been through multiple H1B applications, a Green Card application, and right now going through Naturalization process, on the other end, I am getting my brother through Canadian process.

Regarding the points you made, all these things are applicable for Canadian process too (my brother is stuck trying to prove the documents and degree because of the lockdown), its' just that in American system there are far too many people ahead of you this is why it takes much longer.

You're lucky that you have the skillset (and age) Canada values, otherwise it would be extremely difficult for you to migrate to Canada (whereas it isn't that much of a problem for US, unless you are in the unlucky line, i.e. China, India or Mexico).

<comment><USER26> > its' just that in American system there are far too many people ahead of you > this is why it takes much longer

Again, not entirely correct. In fact, there are several steps during these processes where applicants have to literally just wait for months, e.g. prevailing wage while applying for a green card.

> whereas it isn't that much of a problem for US, unless you are in the > unlucky line, i.e. China, India or Mexico

There are only three groups of people who have it relatively easy, nowadays, to get a long term visa in the US: the O group (individuals with an extraordinary ability), the E-1 and E-2 groups (traders, investors), and the R group (religious workers). Anyone outside those is either currently banned from enter the country, e.g. H1-B visa holders without an entry stamp in their passports, or are subjected to extremely long waits to get their visas. And while there is a factor about nationality, that only applies to green cards, as L visas are per company percentage based, and H visas run through a lottery.

So, again, from what I understand, it is way easier to immigrate to Canada than the US, as the USCIS is purposely curbing visa applications.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> To be clear even before Trump students have not been eligible for a visa for online study.

Not an opinion on if students who were going to study in person the fall should get to come/stay just a clarification.

Online school some students will mean having to sleep in day and do school at night, though for some it will mean vastly cheaper living costs. Painful for some, maybe sorta of beneficial for others.

In the US, in college areas, bad for those renting out apartments, good for renters who will now see a reduction in rent.

<comment><USER28> > To be clear even before Trump students have not been eligible for a visa for > online study.

There have been concessions made throughout the pandemic, to alleviate its impact on citizens and businesses. It's true that this was forbidden before, but there's a choice made in every enforcement action.

International students are a boon to the country. It costs good money to provide their education, and keeping them around afterward brings value not just in rent, but their very contributions to our society.

</comment></comment><comment><USER29> That is not what the ICE doc says. If school opens 100%, students have to go. If not, students can take more online classes than usual.

[https://www.ice.gov/doclib/sevis/pdf/bcm2007-01.pdf](https://www.ice.gov/doclib/sevis/pdf/bcm2007-01.pdf)

<comment><USER17> They must still take an in person class, and risk having their visa revoked if not. That's just not about being in the US, you can't be a foreign student at a US university without a visa. You'd have to take academic leave until you can have it reapproved.

</comment></comment><comment><USER30> So imagine a monkey is driving a truck, and it's headed straight for you. You're like, "What fools would let a monkey drive a truck??". The crowd scatters, cursing the stupid monkey, and those who would let it drive the truck. Someone eventually jumps on the truck and tosses the monkey out of the driver's seat. Or maybe the monkey bails out.

You put a sensible obedient human driving the truck, and say "Thank goodness we're safe again.", and go back to your business. The weird thing is, it seems like a common problem that has been happening for years, this monkeys getting into trucks and careening into the human population in various places around the world.

Of course it's not the monkey. Monkey's can't even drive trucks. The truck was being operated by remote control. The monkey is just a ruse to hide the truth. And when you carefully observe this pattern of monkeys and trucks, you can discern that it is some complex pattern of herding humans or human effects around the earth.

One could say the monkey was put there by "nationalists" but that's just a label of psychological manipulation, since everyone wants to have pride in their nation and wants their nation to prosper. You could say those secretly herding people with trucks are "globalists", but that doesn't adequately describe the situation, since who wouldn't want the world acting together solving problems with harmonious purposes?

If you think there may be some truth to this, I suggest we start by making darn sure trucks don't have remote controls in them. Of course this is figuratively and literally exactly the opposite of what many, perhaps unsuspecting, people are working towards. Also better for the long term, find those operating the trucks (which isn't exactly people, given the trans- generational nature) and figure out what's going on, and have them realize that such artificial systems of control are not beneficial and are doomed to failure.</comment>


HTML5 webcam support now in Opera Labs - <AUTHOR> http://labs.opera.com/news/2011/10/19/

<comment><USER2> Honestly, out of all the HTML5 > Flash rhetoric, this probably represents the greatest leap forward when comparing the two. It was really the ability to capture webcam data that made YouTube a success in the beginning. People who look at the YouTube HTML5 player and say, "Flash is dead!" seem to forget this valuable point.

<comment><USER3> So true. With both sides of the remote-face-delivery-portal implemented in HTML5, will the Flash (finally) end open up the internet for real creativity and minimal-capital moving content distribution?

</comment></comment><comment><AUTHOR> More here: [http://dev.opera.com/articles/view/playing-with- html5-video-...](http://dev.opera.com/articles/view/playing-with-html5-video- and-getusermedia-support/)

And the cool "explode your face with HTML5" demo is here: <http://bit.ly/democam></comment>


Reference Capabilities for Safe Parallel Array Programming - <AUTHOR> https://programming-journal.org/2020/4/1/ <comment><USER2> This is a very nice Journal! [https://programming- journal.org/](https://programming-journal.org/)

> Diamond open access, free-of-charge to authors. The articles are accessible > to everyone, forever, and the authors don't need to pay any fee.

> All articles are published under a Creative Commons license.

> The journal is an overlay on arXiv, meaning that we upload all articles to > arXiv as a long-term storage system.

Just as it should be. If I write a relevant publication, this will be on the top of my list. At this point, publishing with folks like Elsivier should be considered hostile and anti-science e.g. [1].

[1] [http://heinrichhartmann.com/blog/2013/01/17/Why-Openness- ben...](http://heinrichhartmann.com/blog/2013/01/17/Why-Openness-benefitts- research.html)

</comment><comment><USER3> Check out the Pony tutorial for a good introduction to reference capabilities

[https://tutorial.ponylang.io/reference- capabilities.html](https://tutorial.ponylang.io/reference-capabilities.html)

They can be tricky to wrap your head around at first, but the idea (combined with object capabilities) is very powerful IMO.

<comment><USER4> > There aren't currently any mainstream programming languages that feature > reference capabilities.

Does Rust not have something similar built into the borrow checker?

<comment><USER5> I don't think you can hold multiple mutable non-overlapping slices though, which this would appear to allow.

Edit: I see you're talking about pony, not the op. It would seem your comment is correct. Although, pony seems to have a slightly different perspective on it.

<comment><USER6> Rust allows multiple mutable non-overlapping slices. They cannot be constructed by direct array[i..j] slicing, but there is a variety of convenience functions for it.

Sequential: [https://doc.rust- lang.org/std/primitive.slice.html#method.sp...](https://doc.rust- lang.org/std/primitive.slice.html#method.split_at_mut) [https://doc.rust- lang.org/std/primitive.slice.html#method.sp...](https://doc.rust- lang.org/std/primitive.slice.html#method.split_at_mut)

Parallel: [https://docs.rs/rayon/1.2.0/rayon/slice/trait.ParallelSliceM...](https://docs.rs/rayon/1.2.0/rayon/slice/trait.ParallelSliceMut.html#method.par_chunks_mut)

<comment><USER7> And rust ndarray implements strided mutable "slices" too, interleaved.

</comment></comment></comment></comment></comment><comment><USER8> Here's a common GPU / SIMD trick for parallel programming, which also happens to be my favorite array trick I've ever learned about. Since SIMD is implemented on Intel x86, AMD x86, ARM, and POWER9... as well as NVidia GPUs and AMD GPUs... I think anyone who is into parallel processing of arrays should learn the SIMD trick. This is truly universal on modern hardware (although the precise instructions are different).

First, a helper function called "active_lane":

        active_lane():
           exclusive_parallel_prefix_sum(current_lane_is_active);

This "parallel_prefix_sum" operation is a GPU-intrinsic. On AMD, it is "__ockl_activelane_u32()", which compiles into 2-assembly language statements with throughput 1-instruction per clocktick. I assume NVidia's __active_lane() function is similarly very efficient

AVX can implement active_lane by performing parallel-prefix-sum over the execution mask: [https://en.wikipedia.org/wiki/Prefix_sum](https://en.wikipedia.org/wiki/Prefix_sum)

Imagine the following execution mask in AVX: 0 1 0 1 0 1 1 1. The exclusive parallel prefix sum is 0 0 1 1 2 2 3 4. Thread#1 gets index0. Thread#3 gets index1. Thread#7 gets index4.

Intel 128-bit SIMD can implement this for 8-bit ints as follows:

        ; Conceptual purposes only, untested. Using AVX-style "dest, src0, src1..." methodology here
        ; Assume xmm0 is the execution-mask / input
        psrldq xmm1, xmm0, 1 ; Byteshift right 1-byte
        paddb xmm0, xmm1, xmm0 ; 8-bit integer add
        psrldq xmm1, xmm0, 2 ; 2-byte shift
        paddb xmm0, xmm1, xmm0
        psrldq xmm1, xmm0, 4 ; 4-byte shift
        paddb xmm0, xmm1, xmm0
        psrldq xmm1, xmm0, 8 ; 8-byte shift
        paddb xmm0, xmm1, xmm0
        ; xmm0 contains prefix-sum

Extending it beyond 128-bits requires vpbroadcastd due to the AVX2 128 "lane" split, but otherwise continues to follow the pattern. In any case, "active lane" is still a very efficient operation in AVX, as it doesn't even touch L1 cache (register space only).

\</comment><comment>

Once Active-lane is figured out, treating an array as a 16-way parallel SIMD- stack (or bigger) is actually quite simple:

        SIMD-Push(X)
            array[tail + __active_lane()] = X
            toAdd = popcount(exec_mask);
            if(__active_lane() == 0){ // Tail is shared. Only have one lane update "tail".
                tail += toAdd;
            }

        SIMD-Pop()
            toRemove = popcount(exec_mask);
            if(__active_lane() == 0){
                tail -= toRemove;
            }
            return array[tail + 1 + __active_lane()];

The above is GPU-style (ipsc, ROCm, OpenCL, or CUDA). While all threads read "tail" together you only want one thread updating the "tail" variable at a time.

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

With that being said: the work in the paper is interesting. "Split" and "Merge" (especially "interleaved" forms) are an interesting way to formally specify Array of Structs / Structure of Arrays, which is one of the problems you will commonly deal with in SIMD or parallel-compute.

The "split" and "merge" primitives were also used as a cute mergesort implementation at the end.

Arrays are surprisingly efficient and effective data-structures today, even more so now that CPUs rely upon pre-fetchers to fill cache fast enough.

<comment><USER9> Can you summarize what does this do for you?

<comment><USER8> Hmmm... perhaps an example would be best? I wrote myself FizzBuzz a few days ago as a proof-of-concept.

        // AMD cards are 64 SIMD-lanes
        // Untested, but I think you can understand the concept from this.
        for(int i=0; i<10000; i+=64){
            int myIdx = i + hipThreadIdx_x;
            bool fizz = myIdx % 3 == 0;
            bool buzz = myIdx % 5 == 0;
            if(fizz){
                fizzTable[fizzTail + active_lane()] = myIdx;
            }
            if(buzz){
                buzzTable[buzzTail + active_lane()] = myIdx;
            }

            fizzNum = popcnt(ballot(fizz));
            buzzNum = popcnt(ballot(buzz));
            if(active_lane() == 0){
                fizzTail += fizzNum;
                buzzTail += buzzNum;
            }
            __syncthreads(); // Thread barrier, this is the only synchronization needed.
        }

The above implements parallel fizzbuzz with 100% utilization and only one synchronization primitive. The syncthreads(); call is extremely efficient for SIMD programming: if you have a workgroup of size 64 on AMD platforms, it is nearly a no-op (aside from a relatively cheap L1 memory-barrier to ensure all threads are reading the same value).

In practice, the above methodology scales to +1024 threads at a time on AMD and NVidia GPUs if you increase the work-item or CUDA-block size to the max.

If you tried to write 64-way parallel fizzBuzz, what would it look like? I think the above implementation, using active_lane(), is pretty elegant.

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

I read this pattern off of Github with some high-speed GPU-raytracing code. It seems that a lot of GPU-programmers know this pattern already, and use it to increase utilization of the SIMD-cores.</comment>


The $3.2B Reason Why Apple is Buying Beats - <AUTHOR> https://medium.com/p/c0bd3e89f1a7

<comment><USER2> I just want to go on record with an entirely different idea as to why Apple is buying beats. They're going to make a label.

Why Apple doesn't do streaming: Apple hates committing to something unless it's absolutely perfect. There are numerous examples, but NFC technology is a good one that comes to mind. Granted, they've made mistakes, like Mobile Me, but that was due to poor implementation, rather than immature technology and infrastructure.

A similar problem has been in their way as far music streaming goes. The obstacle in their path to connecting consumers to content are labels (the same applies to cable companies and iTV, but that's a different story). Labels are greedy, difficult to deal with, and a general nuisance who provide little or no value. Meanwhile, the actual content providers, i.e. songwriters and performers, view labels as a necessary evil, but no one believes for a second that needing them is ideal.

The vision: The idea is that Apple is looking to buy Beats to start their own label so they can cut out the label, who is an unnecessary middleman. My reasoning behind this is that Beats is a very strong brand, mainly because it's been run by two very savvy music industry veterans who know how to "produce", in every sense of the word. They're more of a household name than any other headphone maker can claim. If any company had the power, skill, and recognition to pull off disrupting the record industry, it would be beats. The only problem is they don't have enough money, do you know who does? Boom. It's as simple as that.

Just take a look at this [http://cdn.macrumors.com/article-new/2014/05/beats- royalty-s...](http://cdn.macrumors.com/article-new/2014/05/beats-royalty- sheet.jpg) and tell me, from Apple's perspective, what the problem is with a music streaming service? The labels get all the money and the artists get none. All Beats has to do is say, "Boom, we're starting a label and we own the streaming service, so you can have a 30% cut per play and we'll keep 70%". If you were an artist and you could literally improve your earnings by 10x wouldn't you? $248K vs $22K is criminal.

Just imagine, from Apple's perspective, what this would open up? Essentially, it's total vertical integration, a pipe from artist to audience, unadulterated by stupid bullshit. For example they could have complete coordination of everything from the original recording quality of an album to specialized super high end digital to analog converters in the hardware - from lossless media formats that were recorded especially for that format to headphones that are tuned to provide optimal performance.

This is a complete bargain and no ones talking about it. It will serve as a prototype for what Apple would love to do to the television industry (think Apple acquires HBO, a win win for both), and they're doing right under everyone's noses because no one can think big enough. Apple would never, in a million years, purchase a company like that for so much money if they didn't have a very good idea of how it would pay off 10x.

And remember, this is the same company that seriously considered becoming a carrier, in order to launch the iPhone.</comment>


GraphQL Query Rewriter - <AUTHOR> https://github.com/ef-eng/graphql-query-rewriter <comment><USER2> I would personally caution against using an implicit rewriter like this. It is implicit in the sense once you change your schema, there's no documentation about the deprecated queries that are still supported. Yes, old queries will still work, but people who stumble up on them will be very confused as to why they are working, since the schema will say otherwise. Tools like IDE auto- completion for queries[1] or the graphical interface GraphiQL[2] will also ignore these rewrite capabilities and so will not help with writing, editing or running the old-but-still-supported rewritten queries.

Instead of that, i'd personally recommend either sticking with your old schema if the change is as superfluous as the one mentioned on the project's README (changing the type of the `userById(id)` field parameter from `String!` to `ID!`), or shamelessly embracing versioning your fields. In the case example case mentioned on the README, that could mean adding a @deprecated directive on the `userById(id: String!)` field, and then adding a new `userByIdV2(id: ID!)`. Users of the new field can alias it on to a friendlier versionless name, like:

      query {
        user: userByIdV2(id: 123) {
          ...
        }
      }

This way, the changes on the schema are much more explicit: users can still use tools like GraphiQL or schema-aware text editor plugins to write their queries, while receiving feedback about their use of deprecated fields, and what they can do about them :)

[1] Like Intellij IDEA's graphql plugin [https://plugins.jetbrains.com/plugin/8097-js- graphql](https://plugins.jetbrains.com/plugin/8097-js-graphql) [2] [https://github.com/graphql/graphiql](https://github.com/graphql/graphiql)

<comment><AUTHOR> I wouldn't necessarily recommend using query rewriting for public graphql apis, but for internal apis or private apis to power mobile apps or web apps it should be fine. Just make sure you add tests for the old queries to ensure they keep working. Once you see the deprecated queries stop being used as users update their clients you can drop the rewriting entirely too.

<comment><USER2> That seems like a good approach for those cases, yeah :)

I guess the difference then boils down to whether you're OK with having a bunch of deprecates stuff in your schema (you can also remove those fields once they are not used anymore) and some "V2", "V3", etc in your field names, or your prefer having a more pristine schema but paying some price of discoverability and tooling support for those deprecated features.

</comment></comment></comment><comment><USER3> What i don't like about Graphql is that it enable stringly type query. Why not enforcing JSON instead ?

Stringly type is too hard to be manipulated.

<comment><USER4> > Stringly type is too hard to be manipulated.

With param and fragments, the json would be too verbose, so you'd end up by always building your queries programmatically, so sharing queries between GraphQL implementations and/or runtimes/languages would be harder.

GraphQL language for queries and schema adds a layer that describe what your runtime and/or compile time has to conform with, which is incredibly helpful for stacks with heterogeneous environment.

In the end, you can always parse and generate those full text documents and manipulate them programmatically, as much as you want (just be cautious with perfs). So the apparent fragility has many ways to be addressed, with a huge advantage of having common ground on all stacks.

<comment><USER3> With JSON, you have many benefit, such as syntax error for JSON. It's impossible with stringly type.

With dynamically generation of query, JSON parsing is easier than stringly type. You don't need a library like graphql-tag to do that.

Instead of posting a string body request, you post a JSON request, which is the standard way for long time.

In general, stringly type graphql query is not a fine choice to me.

</comment></comment></comment><comment><USER5> I was originally skeptical as GraphQL already comes with the `deprecated` directive for this use case and it's recommended for API evolution. Was actually delighted to see that this can let you make changes to your schema transparently without breaking clients!

<comment><USER6> Query rewriting is always scary to make use of, because it only takes like 2 rounds of rewrites (original | rewriter1 | rewriter2 | db) before all hope is lost

If you end up using query rewriting to upgrade client queries, you'll end up very quickly with divergent SQL-schemas spread across many clients with little proper way to identify (client A module B was written targeting DB v0.1, but module C was looking at DB v0.2, and client B was only written when v1.0 released; A was upgraded by query rewriting from v0.1/0.2 to v0.5 and then v1.0, so the codebase still features ancient references, and applies two rounds of rewrites to find the final query output)

<comment><USER7> Basically you would have to prove that your rewrites are confluent in the sense of a term-rewriting system[1]. I'm not sure if the project here gives you any help in doing that, but it would be pretty cool if you could somehow prove the rewrites are confluent.

[1][https://en.wikipedia.org/wiki/Confluence_(abstract_rewriting...](https://en.wikipedia.org/wiki/Confluence_\(abstract_rewriting\))

<comment><USER6> That only half-helps though doesn't it? It saves you from rewrite-order dependence, but doesn't the requirement that one has to follow ten rewrite (patches?) to figure out what was actually expressed by a query in the codebase. Which takes it down from hell-mode to hard-mode difficulty

<comment><USER7> Yeah that's true, and now that you mention it, maybe patch theory could help (in the sense of Pijul, Darcs, etc)

Though I don't know how much effort I would spend on trying to make this work.

<comment><USER6> The problem I think is that at least with patching, its a run-once situation; once its updated, you never have to see that code/binary again.

With query rewriting, its a continual patch, which applies both against the old queries.., and _when the old queries are modified_ ; that is, two divergent codebases now exist, referring to different schemas, but unknowingly one codebase gets warped into a different universe where its query somehow works.

Both codebases continue to exist, and continue to be worked on. Divergent, yet somehow converging. Every client hit by query rewriting is another divergence.

The issue is that the codebase's query in fact needs to be rewritten.. once, and finally! If you only modify it in-stream... then the rewrite rule must exist until the end of time, or the codebase is updated manually.

So really you want a way to patch codebases you probably don't control.. but I think if you can solve that, you've solved APIs everywhere

<comment><USER7> So maybe what's really needed is an editor plugin for GraphQL that lets you auto-rewrite queries, or if the queries are generated by a library, then that library should do it.

<comment><USER6> The thing though is that you don't actually want to rewrite at runtime; thats the hacky solution which ends up as layers of rewrites.

You want to rewrite at compile-time, rewriting the codebase itself, and save the changes to version control. As if a human were updating to a new schema. You don't want to allow stale, unversioned schema-references littered around the codebase itself; being valid by the time it executes is fine and well functionally, but hell to follow</comment></comment></comment></comment></comment></comment></comment></comment>


Nginx v1.11.5 Released - <AUTHOR> http://nginx.org/en/CHANGES <comment><AUTHOR>
        * Change: the --with-ipv6 configure option was removed, now IPv6
          support is configured automatically.

        * Change: now if there are no available servers in an upstream, nginx
          will not reset number of failures of all servers as it previously
          did, but will wait for fail_timeout to expire.

        * Feature: the ngx_stream_ssl_preread_module.

        * Feature: the "server" directive in the "upstream" context supports
          the "max_conns" parameter.

        * Feature: the --with-compat configure option.

        * Feature: "manager_files", "manager_threshold", and "manager_sleep"
          parameters of the "proxy_cache_path", "fastcgi_cache_path",
          "scgi_cache_path", and "uwsgi_cache_path" directives.

        * Bugfix: flags passed by the --with-ld-opt configure option were not
          used while building perl module.

        * Bugfix: in the "add_after_body" directive when used with the
          "sub_filter" directive.

        * Bugfix: in the $realip_remote_addr variable.

        * Bugfix: the "dav_access", "proxy_store_access",
          "fastcgi_store_access", "scgi_store_access", and "uwsgi_store_access"
          directives ignored permissions specified for user.

        * Bugfix: unix domain listen sockets might not be inherited during
          binary upgrade on Linux.

        * Bugfix: nginx returned the 400 response on requests with the "-"
          character in the HTTP method.

</comment><comment><USER2> Is this the resolution we've all been waiting for regaring a longstanding issue many on HN have had with how nginx handles PUT/POST/DELETE on timeout?

        *) Change: now if there are no available servers in an upstream, nginx
           will not reset number of failures of all servers as it previously
           did, but will wait for fail_timeout to expire.

Reference to the huge HN post on the original issue: [https://news.ycombinator.com/item?id=11217477](https://news.ycombinator.com/item?id=11217477)

<comment><USER3> That was fixed 7 months ago.

[https://trac.nginx.org/nginx/ticket/488#comment:4](https://trac.nginx.org/nginx/ticket/488#comment:4)

(yes I realize this will be dead)

</comment></comment><comment><USER4> Checked out ngx_stream_ssl_preread_module but not sure about the use case.

Anyone?

<comment><USER5> It exposes a variable with the TLS SNI extension value for you to do stuff with in config:

[http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_modul...](http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html)

It's not clear from config whether you had to have already presented a valid certificate at that phase, though, or if it's just something you can use to check if it agrees with the Host header.

<comment><USER6> this is spot on

nginx is able to forward tcp streams without negotiating https or expecting http, from the docs it looks like this is for tcp streams only.

<comment><USER7> It has to be for TCP only because it can't do L7 balancing without terminating TLS.

</comment></comment></comment></comment><comment><USER8> Honest question, is there still a reason to use Nginx over HAProxy?

<comment><USER9> Nginx really is more of a swiss army knife web tool. It does a lot besides just load balancing and reverse proxying, and those things it definitely does better than HAProxy. AFAIK, you can't serve static assets with HAProxy, and HAProxy doesn't have any kind of caching built in, in addition to dozens of other features of Nginx that most people probably don't even know about.

In the HA load balancer category I think HAProxy is clearly a more capable tool since that's all it's supposed to do, but there's not really a simple answer to your question.</comment></comment>


Sign up to receive an email when a movie is released - <AUTHOR> http://eepurl.com/uxaBD

<comment><AUTHOR> One of the most requested features for my side project, Movie Cron, was an email list to get notified when a major movie is released without having to set each notification. This is a sign up form to get added to that list while I work on a sign up form that is integrated with the site.</comment>