The StarCraft path-finding hack - <AUTHOR> http://www.codeofhonor.com/blog/the-starcraft-path-finding-hack <comment><USER2> One of the reasons Starcraft is interesting as an e-sport is because bugs like this have kept the game in racial balance for over a decade.

For example, the game was not designed to give mutalisks the ability to stack on top of each other. However, at some point in the early 2000s, it was discovered that when 11 mutalisks were grouped with 1 overlord, the mutas tended to stack: <http://www.youtube.com/watch?v=NfqQYJzq7o0> . This meant that an attacking player could deal the damage of 11 units while only exposing the surface area of 1 of them. Using this technique, a pro gamer named July won the 3 OSL tournaments: <http://wiki.teamliquid.net/starcraft/July> .

With respect to the path-finding behavior described in the article, there is a funny aspect the author doesn't mention: mining workers still collide with buildings while mining, just not other workers. This lead to a technique known as the manner pylon: <http://www.youtube.com/watch?v=EmS2ghQyAYI> . If a protoss player builds a pylon in their opponent's mineral line with great timing, they can trap their opponent's workers between the minerals and the pylon. This renders the workers useless until the pylon is killed.

In Starcraft-speak, "manner" means being respectful (such as saying "good game" when you lose). The manner pylon got it's name because it is so incredibly annoying to deal with, it will cause anyone to lose their manners.

For those of you who might be familiar with Starcraft, but not the competitive scene, you should know that pro players are executing these techniques at a rate of hundreds of APM (actions per minute): <https://www.youtube.com/watch?v=Z4UTDudShDY>

<comment><USER3> Is changing the behavior of a group of units because it happens to be grouped with a distant unit really a good thing for the game?

It makes for a good story, and it's great fun for the person who discovers it. Players like it, because it lets them beat new players even more easily. But players don't always know what's best for them.

This is why Starcraft 2 multiplayer is structured to force players to play on complicated, resource balanced Blizzard approved maps. Starcraft 1 allowed ranked games on any map, and players largely played simplified, resource- soaked maps. Or played nothing but Big Game Hunters and Lost Temple. This was what players thought they wanted, but it wasn't what was best for the game.

<comment><USER4> Your comment on starcraft maps is off.

Both SC2 and BW have two sets of maps, UMS maps with custom settings used for fun games and competitive maps made to be racially balanced and produce "good" games. In SC2 UMS maps are part of the arcade where as ladder games are played on tournament maps. The same is true for BW but blizzard didn't have an official ladder so 99% of the games on battle.net were UMS maps, but ICCUP ladder had the same competitive maps you see in SC2.

As far as the glitches are concerned, they were undoubtedly beneficial to BW, as the last balance patch was in 2001 when the game was in its infancy as far as strategy goes. For example TvZ could not be played in its current form without muta stacking and terran's still have more success despite it. 99% of players would never use these tricks of have them used against them, but it allowed for the game to advance strategically and added an additional element of skill.

<comment><USER5> BW?

<comment><USER4> Broodwar, the expansion to the original starcraft.

</comment></comment></comment></comment></comment><comment><USER6> What no one has mentioned is how many "essential" skills have arisen as a result of this hack.

For instance, an everpresent threat in Starcraft is the Zerg Rush, in which a player skips building an economy to build zerglings---cheap, light, raider units--- to attack the opponent early before he has any defenses (as he, presumably, has _not_ skipped building an economy). The zerglings are melee attackers, so holding a small choke point is an effective way of only allowing one or two zerglings to attack at a time, even if there are more (usually 6-8).

Of course, this poses a problem---if the tight spaces allow only two zerglings to attack, that's great, but the tight spaces _also_ only allow two of your workers to fight back. Actual fighting units will slaughter worker units, so you've merely slowed your death, not prevented it.

Except! By ordering all your workers to harvest the _same_ mineral patch, you can activate this collisionless behavior described in the article, and then fit your "super-group" of ten or so workers into small spaces---to fight the two zerglings at a time. The workers can definitely win now!

This has become a giant wall of text, but this is actually basic, easy, essential knowledge for the competitive starcraft 2 player, so it's fun to see its origins in this article.

<comment><USER7> I played Warcraft 3 and the same trick was used to surround a hero with ghouls. Since ghouls are also the unit that gathers lumber for the Undead Race, they enter a no-collision state when you right click on a tree. This behavior was patched because it was too strong. You would just click on a tree behind the enemy hero and all your ghouls would pass through all the other units (footmen for example) and they could surround the hero and kill him. Once you kill the hero in Warcraft 3, there's no point fighting anymore :P

<comment><USER8> Another WC3 glitch is Shades (invisible scouting units) that triggered collision but you couldn't target them due to being invisible. Eventually players caught on and lined Shades up to create impassible and invisible walls.

To combat this you had to devote significant resources to units and buildings that could reveal invisible units, and eventually Blizzard patched it. Very interesting.

</comment></comment></comment><comment><USER9> > _Because the project was always two months from launch it was inconceivable > that there was enough time to re-engineer the terrain engine to make path- > finding easier, so the path-finding code just had to be made to work._

Really enjoyed this part of the article. When you have an infinitely long two- month period, you still can't complete a task that requires three months.

<comment><USER10> That mindset is sadly pervasive in the game industry (no doubt other software as well, but imaginary ship dates have a terrifying power in games due to The Holidays)

<comment><USER9> I would imagine The Holidays wouldn't be a moving target as much as "soon" is, however.

</comment></comment></comment><comment><USER11> > _Some bugs were related to the development process itself. The Protoss > Carrier regularly lagged behind other units because it had its own way of > doing … everything. At some point in time the code for the Carrier was > branched from the main game code and had diverged beyond any hope of re- > integration. Consequently any time a feature was added for other units, it > had to be re-implemented for the Carrier. And any time a bug was fixed for > other units, a similar bug would later be found in the Carrier code too, > only more devious and difficult to fix._

I guess it's comforting to know that even elite development teams also struggle with code design. I wonder how far off the branch the Carrier unit was that required it to have its own reimplemented features...and what kind of features needed to be reimplemented for it? (story-game events, path-finding?)

<comment><USER12> I think it's because of the way the unit works. The carrier itself doesn't actually attack anything. It produces and spawns interceptors which are independent and targetable(but not capable of taking orders) units, which then go out and attack the carrier's target.

The unit, by itself, is closer to a building than an actual unit, because the player has to manually queue up interceptor production, which has a resource cost and takes time.

Since it does spawn the interceptors to attack, there are a lot of behaviors that it shows that other units don't. For one, the maximum range to a target where it can start to attack is fixed, like most units. At that range or lower, the carrier will launch it's interceptors, which will attack the target. However, there is also a longer "leash" range, where the carrier can move away from the target, after the interceptors have been launched, and they will keep attacking the target until the carrier goes out of the range, at which point the interceptors will go back to the carrier that spawned it. An explanation of this behavior can be found here: <http://www.youtube.com/watch?v=1Rqx8s2qKXM>

Also, when the carrier dies, all interceptors that it has launched die.

</comment></comment><comment><USER13> This is such an amazing blog. It's fascinating to read about the sloppy guts of games you spent hours on in your youth.

It's also a testament to Blizzard's dedication to polish, because although I was only ever a casual Starcraft player, I spent more hours on that game than any other game in my life and I never noticed any bugs that betrayed the apparent messiness of the codebase.

</comment><comment><USER14> I remember thinking to myself, at a talk given by an Activision employee on some Mechwarrior pathing issues, that these guys were re-inventing printed circuit board layout.

They had the same sorts of constraints, go from here to there, don't cross certain types of 'terrain' (traces in the layout case). Game units don't get to make vias though :-)

<comment><USER15> Pathfinding is a much easier problem than circuit routing and can essentially be solved in O(n + k) where n is the number of nodes and k is the number of edges between nodes.

Circuit routing is an entirely different beast. A previously routed "shortest" trace from one node to another can obstruct a much shorter trace between two unrelated nodes. In this way it's similar to the traveling salesman problem, where early "greedy" choices made by the salesman can force him to make much less efficient choices later.

I remember circuit routing was an example in Skeina's Algorithm Design Manual [1], and believe he proved that it was indeed NP-complete, not polynomial like the general pathfinding problem.

1\. [http://www.amazon.com/Algorithm-Design-Manual-Steven- Skiena/...](http://www.amazon.com/Algorithm-Design-Manual-Steven- Skiena/dp/1849967202/)

<comment><USER14> _"Pathfinding is a much easier problem than circuit routing"_

I'm not sure I agree with that, the mechwarrior talk was pretty informative and the variability of terrain and dynamic obstacles made for some interesting challenges. It was particularly interesting when they talked about 'squad walking.' (going into a line in tight spaces etc) When I was thinking about writing my own RTS I did some simple experiments and certainly got a feel for it being quite complicated.

<comment><USER15> I was confused by your original comment. You're absolutely right though; trying to path a squad of _multiple_ units so that their routes don't conflict is much harder. I can see how it could be very similar to circuit routing.

Heck, it probably has the same basic time complexity and is amenable to the same algorithmic solutions.

</comment></comment></comment></comment><comment><USER16> It's pretty cool to see the source of this. Back when I used to play Starcraft I primarily played UMS maps (custom game modes) and several of them were based on using "bugs" in the game engine to surmount situations that appeared impossible.

Moving a harvester unit past an invincible wall of enemies was one of these, which was accomplished by right clicking on a further mineral field. It's interesting to see that this was an intentional design decision.

Other tricks in those maps were definitely bugs, like the ability to infinitely cloak burrowing units by using an arbiter and other ones I can't remember. I think they fixed that bug though (although it would be unlikely to occur in real play).

Now that I think about it, there was one other trick in those maps that likely was a similar hack to fix a bug. You could destroy a siege tank if you tried to siege a tank in the location a terran building was landing in. It seems like it was a quick fix to two immovable units taking up the same position.

Reading these blog posts is always a treat.

<comment><USER17> AD. exploding siege tank, it was actually a fix in one of the patches. Some players discovered that you could land a building on a tank if you time the landing right with switching to siedge mode, making the tank unreachable for meelee units (which were the kind of units usually used against the tank). It created an unfair advantage, so Blizzard removed it by making the tank explode when landed on.

Funny fact: if you landed a building on your opponent's tank, you could actually get a label "Kills: 1" on the building :D.

</comment></comment><comment><USER18> _> Others, like a multiplayer synchronization bug, would pop up and require dedicated attention from several members of the programming team — sometimes weeks of effort for a single problem. Other game developers have reported similar experiences with their sync bugs: Ages of Empires and Supreme Commander._

This seems like a pain point that's an opportunity in disguise. A technology that made it much easier to get multiplayer sync correct would be an enormous advantage.

 _> While programmers can become obsessed with finding the most pure, abstract, clean, even sublime solution to a problem, there are times in a project when a few sacrifices have to be made. If they're done well no one notices the evil compromises that had to be made, as is true for the hacks written up by Brandon Sheffield in his article Dirty Coding Tricks._

Human beans [sic] are probably full of Dirty Coding Tricks -- as organisms, I mean. It's just that we work well enough.

<comment><USER19> I worked at Ensemble Studios (Age of Empires) and by the time we shipped Age of Mythology we had much better tools for dealing with sync bugs. Most of the run of the mill ones could be tracked down pretty quickly, but there were still plenty of painful ones. What made them easier to track down was a more advanced tracking/logging system for the simulation state history. The simulation was littered with tons of sync logging code that tracked the execution flow and values of things as they were calculated/updated. When the state went out of sync, all the machines would dump their last couple updates worth of logging (often several gigs) and you could diff them to see where things diverged. If you were making a synced simulation game, a nicely done version of this type of thing would be pretty useful to have, especially if you made a good diff tool to go with it.

It's not completely obvious what technology you could make that would make it easier to avoid sync bugs in the first place. You could make a good network command-passing and simulation timing library, but in my experience the majority of problems did not come from bugs with the networking itself. Most of the sync bugs were from things like uninitialized variables, memory overwrites, using user input or other local machine state directly in the simulation without going through a multiplayer command, using a non-synced random number generator in the sim, DirectX changing the FPU rounding mode on you, etc. (Using a "safer" language would help with stuff like uninitialized variables/memory overwrites of course, but at an inevitable performance cost. Static code analysis tools are pretty good at finding these type of problems now too.)

</comment></comment><comment><USER20> That article links to 'Dirty Coding Tricks'[1] - extremely interesting and well worth a read!

[1] [http://www.gamasutra.com/view/feature/132500/dirty_coding_tr...](http://www.gamasutra.com/view/feature/132500/dirty_coding_tricks)

</comment><comment><USER21> I always thought that the fact that workers don't jam was one of the coolest little details of the game that made it so awesome! I never would have thought that it was basically an ugly, last-resort bugfix :)

<comment><USER22> It's become such an important part of the gameplay that it's funny to think it was just a fix.

<comment><USER23> see also quake rocketjumping, strafe jumping, bunnyhopping, etc. when carmack wanted to fix all those issues in q3arena, the players protested, because the game was dull.

<comment><USER24> And skiing in Starseige: Tribes, a bug with the jumping code. They had to reimplement it for all the following games.

<comment><USER25> And sadly, they never got it quite right! none of the subsequent tribes games had the same skiing behaviour. The only reason the competitive community in Tribes 2 has hung on for so long is that a community mod sped the game up to be more like Tribes 1.

Forget about Tribes: Vengeance & Tribes Ascend, neither captured that same feel.

</comment></comment></comment></comment></comment><comment><USER3> _The Protoss Carrier regularly lagged behind other units because it had its own way of doing … everything._

The Carrier should have been scrapped entirely and replaced with a different air unit. Even to the latest upgrades of Starcraft I, the AI simply couldn't deal with the carrier effectively--they would always attack the interceptors first. This made using the carrier a cheap game-breaking trick against the computer.

<comment><USER26> ...and made it one of the most interesting units in multiplayer. In programmer-land, where all abstractions should be pure and elegant, the carrier (as implemented in SC1) may be abhorrent, but this is irrelevant because _the customers (i.e. the players) loved it_.

Some of the quirky behavior of the SC1 carrier was even re-implemented into the upcoming SC2 expansion at the behest of fans. Why? Because it made the unit _fun_.

<comment><USER3> A fun unit in multiplayer isn't really a good excuse for a gamebreaking behavior in single player.

An examination of what it was that made the Carrier fun might have revealed ways to get similar effects (long range, able to fire while retreating, requires paying minerals for continued use . . .) in a unit that wasn't such a weird gamebreaker. Most people just liked Carriers because it cast a field of enemy unit and Ai stupidity around it. Once players get attached to a unit, you may be stuck keeping it in the game even if it's not really good for overall playability.

Just because it worked with this one unit doesn't mean the overall game experience couldn't have been better with something different in there. But once something is introduced, status quo bias takes hold in a major way.

Edit: I'll concede that you want the AI to be stupid in some ways so that it can be exploited. The Carrier just always seemed to me too extreme.

<comment><USER27> Starcraft singleplayer always seemed sort of like Q3A singleplayer to me. Clearly not the main attraction.

<comment><USER28> It was a lot more like Quake 1 single player. Many people spent more time on the multiplayer, but many people only played the single player.

</comment></comment></comment></comment></comment><comment><USER29> I got a kick of reading about how this hack was one of the things that enabled StarCraft to be released. As an eager 12-year-old, it seemed like I couldn't get it soon enough. But as a software engineer now, I can't stop cringing at this story.

So much of the discussion here is focusing on SC and SC2. What about the software development aspect of this story?

What's the moral of Patrick Wyatt's tale? I mean, it's hard to argue that there's some parallel universe where Blizzard did things differently and StarCraft was an even BIGGER success. What would that even look like -- it became the national pastime of several countries, instead of just one? Yet I can't help but think how expensive it must have been for them to have made these poor decisions in design, implementation, and planning, each one compounding on top of all the previous ones, constantly delaying their launch.

So is the moral of the story, "here's why you shouldn't code for 'two months from launch' mode"? Or is it, "when the chips are down, you can take or leave all your fancy MVCs and UMLs, they don't make the difference between a mega- blockbuster and a dud or vaporware"?

</comment><comment><USER30> The "passing through other units" bug is well known in the community as "Mineral Walking"

<http://wiki.teamliquid.net/starcraft/Bugs#Mineral_Walk>

Also, I wonder if the author has thought of getting his articles on Starcraft (and maybe Warcraft 2) into Korean? I'm sure there'd be a huge audience for them.

</comment><comment><USER31> If you want to experiment with StarCraft's pathfinding, you can, with BWAPI <http://code.google.com/p/bwapi/> . Particularly, there is some reverse- engineering information on pathfinding here [http://code.google.com/p/bwapi/issues/detail?id=190&cols...](http://code.google.com/p/bwapi/issues/detail?id=190&colspec=ID%20Stars%20Type%20Priority%20Status%20Milestone%20Summary)

</comment><comment><USER32> Here's an interesting list of bugs [1] (some related to path-finding some not) found in SC / Broodwars.

[1] <http://wiki.teamliquid.net/starcraft/Bugs>

</comment><comment><USER33> I've been curious for a while as to how path-finding gets implemented in real world games.

For example, the common algorithm appears to be A* where you use some heuristic to guess the most efficient path but update the path when you find another is more efficient (for example you hit a large wall on the first path).

This is easy enough when you have only one moving object (because you can just compute that path at the start and then follow it), however in a real game there are likely many moving colideable objects and you might choose a path that causes you to get stuck or have to take a very suboptimal path.

The most "correct" way to do it would be to recalculate the path for each moving object on each frame, but this would probably lead to unacceptably poor performance.

So you can wait until you get stuck and then try and find a path out (which may be impossible). Or you can divide your path into recursive sub-paths and compute different sub-paths as you move.

Now for simulation this is interesting, for example if you order a military unit to move to some location in real life then you would expect them to at least consult a map before setting off however there may be unanticipated situations on the ground which mean that they have to take a suboptimal path. So pathfinding inefficiency might add realism.

I have noticed that overall path finding is much improved in modern games, especially RTS. So curious roughly how their implementation works.

<comment><USER34> you can find tons of information here: <http://aigamedev.com/> the most interesting stuff is behind a paywall, tough.

</comment></comment><comment><USER35> You can see this when the workers run out of minerals and boom they expand all over the place. Awesome read and makes me feel great about some of my own git- r-dun hacks :-)

</comment><comment><USER36> Nice article. Good balance between tech details & understandability.

Never really noticed path finding issues (well no more than other games)...except that one time I attempted a massive zerg rush. If you've got enough of them the pathfinding algo craps itself and sends them into the enemy base +- individually. So much for rushing...

</comment><comment><USER37> There was a fun bug with zerg in the early days of Starcraft where you could build everywhere on the map even your drone wasn't there. I don't remember exactly how, but I know it was using a mineral path-finding bug :O

</comment><comment><USER32> I wonder what part of their path finding algo created a glitch like the drone float[1]

[1] <http://www.youtube.com/watch?v=7MN0wjoqmzU>

<comment><USER38> I suspect a hack was involved -- the animation leading up to the construction of a Zerg Extractor involves the drone hovering over the geyser temporarily. This requires the unit to be put into a "floating" state which wasn't properly cancelled if the build failed -- queueing up additional move commands would then allow it to clip through barriers.

A number of similar bugs with queued commands existed. I get the sense that this feature wasn't adequately tested. :)

</comment></comment><comment><USER39> I'm not a professional player but I also noticed back then that harvesters walked through each other! I thought it was done on purpose for this reason - and this confirms it :)

</comment><comment><USER40> Am I the only one who is bothered by the fact that changing the perspective rendering somehow forced them to go and change the pathfinding? How recent is MVC design patterns?</comment>


Ask HN: What are some audiobooks to listen to while programming? - <AUTHOR> Something that would not intervene while coding but still engrossing enough to be interesting. <comment><USER2> Now there's something I can't combine. I've tried. Doesn't work at all for me.

I'm either programming and missing out on the audio and replaying sections over and over, maybe I feel at the end I never really read it, or I'm engrossed in the wonderful book and programming? What programming?

Music works far better as it seems to need a different channel in my brain. If vocals are too engaging they can sometimes pull me out just as an audiobook can.

</comment><comment><USER3> A book you love and don't mind missing parts of the story.

</comment><comment><USER4> Maybe a short list of coding conventions?

</comment><comment><USER5> Not gonna happen!</comment>


Validating idea: group meditation using Zoom or Hangout - <AUTHOR> Hello Hackers,
I am practicing meditation since last 10 years. In my experiece, I firmly beleive meditation works best when done in group.
I am planning to build a solution where anyone can join group meditation using their phone anonymously.
But for validating the idea, I am going to use Zoom and Hangout to organise digital group meditation.
Beta Home Page: https://www.producthunt.com/upcoming/betabularasa
Anyone who is interested to participate please subscribe. Also I am looking for your suggestions. <comment><AUTHOR> Btw it's going to be free to participate in group meditations till we are in Beta</comment>


Show HN: The world's first decentralized cat name database - <AUTHOR> http://paulkernfeld.com/2016/02/20/decentralized-cat-names.html <comment><USER2> Could you add some more information about running a webcoin node? The webcoin documentation was not very helpful.

<comment><AUTHOR> I might be misunderstanding your question, but the code that's part of the tutorial should run a webcoin node; does that make sense?</comment></comment>


Unintended Consequences of Sexual Harassment Scandals - <AUTHOR> https://www.nytimes.com/2017/10/09/upshot/as-sexual-harassment-scandals-spook-men-it-can-backfire-for-women.html <comment><USER2> So... what, we should let assholes get away with this shit? That's the societal equivalent of "I was afraid of getting fired if I complained about my boss groping me."</comment>


TypeScript: Template string types and mapped type 'as' clauses - <AUTHOR> https://github.com/microsoft/TypeScript/pull/40336 <comment><USER2> Ok for real, is Typescript going to collapse one day from the complexity of its type system?

Typescript's type system became Turing complete years ago, and hilariously, someone linked that issue to the new types mentioned in this post :) [https://github.com/microsoft/TypeScript/issues/14833](https://github.com/microsoft/TypeScript/issues/14833)

I've been using Typescript for years, and I still like it. But I'm starting to get frustrated by the sheer amount of "stuff" they keep adding to the type system. My coworkers are too. They don't want to spend weeks reading about "advanced types", just want TS to be a nice wrapper around JS.

Typescript doesn't have a standard library or a runtime, so eventually can't they just call it done? Just do occasional maintenance releases to keep up with new JS features

<comment><USER3> On the one hand, yes, the code examples in that PR thread are kind of terrifying.

On the other, the ability to map mechanically between type names would be really useful, and is something I've previously wished for. It would, for example, enormously simplify type generation for Zapatos[1], which currently creates multiple long object mappings for this purpose, such as:

        export type SelectableForTable<T extends Table> = {
            accounts: accounts.Selectable;
            appleTransactions: appleTransactions.Selectable;
            authors: authors.Selectable;
            books: books.Selectable;
            emailAuthentication: emailAuthentication.Selectable;
            employees: employees.Selectable;
            identityTest: identityTest.Selectable;
            stores: stores.Selectable;
            tags: tags.Selectable;
            tableInOtherSchema: tableInOtherSchema.Selectable;
        }[T];

[1] [https://jawj.github.io/zapatos/](https://jawj.github.io/zapatos/)

<comment><AUTHOR> Since you're generating types anyway, can't this be simplified to `tableTypes[T]['Selectable']`?

<comment><USER3> Nice thought, thanks, but I don't think so.

The way things are set up, your `tableTypes[T]` would need to map table names to namespaces, and this gives errors like "Cannot use namespace 'X' as a type".

Would be pleased to be proved wrong, though. :)

</comment></comment></comment></comment><comment><USER4> I still really, really want RegExp types

<comment><USER5> Is the javascript regex literal or builtin RegExp type not sufficient for your needs? What are they missing?

[https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)

<comment><USER6> I think the op is asking for actual type refinement by a regex condition.

<comment><USER4> especially as a library maintainer, I would really love to be able to say, for example, "you have to pass an email address to this prop" or "you have to pass a US phone number"

<comment><USER5> So you're the one I should blame whenever some regex fails to validate my perfectly standards compliant email address!

I get very frustrated when I sign up for storefronts using an email with a `.dev` address and some wanker decides that I shouldn't be allowed to give them money because my email address doesn't end in `@gmail.com`.

Stop this. Regex is not the right tool for this job. If you're going to use the regex hammer at least use the full standards compliant one shown here: [https://stackoverflow.com/a/201378](https://stackoverflow.com/a/201378)

> _The problem with regular expressions is that telling someone that their > perfectly valid e-mail address is invalid (a false positive) because your > regular expression can 't handle it is just rude and impolite from the > user's perspective. A state engine for the purpose can both validate and > even correct e-mail addresses that would otherwise be considered invalid as > it disassembles the e-mail address according to each RFC._

<comment><USER7> Or if you're even too lazy for that, just match `.+@.+` and handle errors properly if sending an email fails (which you'll obviously have to handle anyways as a valid email address might not be in service)</comment></comment></comment></comment></comment></comment>


Elon Musk Departs from OpenAI; Gabe Newell and Others Join as Donors – Neowin - <AUTHOR> https://www.neowin.net/news/elon-musk-departs-from-openai-gabe-newell-and-others-join-as-donors <comment><USER2> What does this mean for the future of OpenAI and what was his motivation for leaving?</comment>


Ugly Year for Tech Layoffs, and It's Going to Get Worse - <AUTHOR> http://spectrum.ieee.org/view-from-the-valley/at-work/tech-careers/analyst-ugly-year-for-tech-layoffs-and-its-going-to-get-worse <comment><USER2> """So, was Chowdhry right? "Yes," he told me when I asked him this week. "The layoffs I predicted have been occurring." And worse, he says, these laid-off workers are never again going to find tech jobs: "They will always remain unemployed," at least in tech, he said. "Their skills will be obsolete.""""

I've had it with the mantra of disposable workers.</comment>


Lost Civilizations of the Andes - <AUTHOR> http://davidpratt.info/andes2.htm

<comment><USER2> When I see that other links on this lone author's site are

Sunken continents versus continental drift

and

Human origins: the ape-ancestry myth

I know he is being willfully ignorant of a lot of better quality current scientific literature, as is also made clear by the old and unsystematic references on the page submitted here. Hacker News can do better for finding pages to discuss about Inca architecture. I'll suggest two sites here after checking some other sites.

[http://www.discover-peru.org/inca-architecture/](http://www.discover- peru.org/inca-architecture/)

[http://www.ancient.eu/Inca_Architecture/](http://www.ancient.eu/Inca_Architecture/)

<comment><USER3> What's wrong with his references? It seems like the links you referenced don't have as many references or as much detail about the subject. Are they more factually correct?

(I also take issue with the use of 'willfully' ignorant as though the author was presented with two roads and took the latter. More likely, he doesn't know what he doesn't know.)

<comment><USER4> Some of the references do look rather somewhat dubious. For example, in the "Tunnels" section there is a reference to "Subterranean tunnels and the hollow earth" \- which appears to be available at:

[http://www.bibliotecapleyades.net/sociopolitica/esp_sociopol...](http://www.bibliotecapleyades.net/sociopolitica/esp_sociopol_underground14.htm)

" _What if I told you that I had been inside a fantastic tunnel system that runs beneath the continent of South America? Would you think me a liar? Or worse yet, insane? Though I admit it is a story that seems difficult to believe, I am telling the truth. Read on, dear reader, and decide if I am mad or lying._ "

Edit: Reading further down that page I see a positive reference to Erich von Daniken (NB as I have mentioned in another comment, I learned the importance of skepticism from the works of von Daniken at a very young age).

<comment><USER3> I agree with that. I think it's right to be skeptical of the article, but also right to be skeptical of alternate links if they're not better sourced themselves. I understand the merit of the heuristic approach, but it shouldn't be conflated with the method of logically examining the reference material.

Unfortunately, the downvotes show that HN doesn't appreciate this distinction, at least not when it's said to a popular member of the community. :)

</comment></comment></comment></comment><comment><USER5> I think I'd take this with a couple of bags of salt without some sign of peer review.

Edit: look at his sources.

<comment><USER6> You're being overly dismissive. There's quite clearly a substantial amount of research here, and in a cursory reading I detected no explicitly bombastic claims, which are usually indicative of crankwork.

Sure, it's not peer-reviewed, and his other articles might look quite loony, but he does highlight some anthropological discrepancies in this piece. Not everyone can have their articles peer-reviewed.

<comment><USER5> I think that it is a sign of crankwork to imply that the Inca sites were produced by ancient Greeks using stone softening.

<comment><USER7> I am from Greece. Unfortunately, I can't find anything in english but I have read quite a few "theories" about ancient Greeks traveling to America.

<comment><USER4> And I am from Scotland and I've heard all manner of "theories" about the Scots being a lost tribe of Israel and that the Lia Fàil (the Stone of Destiny) is the stone used by the biblical Jacob as a pillow.

Just because something is a nice story doesn't mean it is true!

<comment><USER8> Isn't there a famous church in Scotland that has carved stone reliefs of Corn/Maize, except they were carved many years before the New World, and corn, were officially known about in the Old World.

I think ancient people did travel, after all, we have learnt they had number systems, watched the constellations, had crude but reasonable ancient maps, and genetics are discovering things all the time about the hereditary lines.

<comment><USER4> That would be Rosslyn Chapel - which has such a stunningly high level of detail in the stone carvings (NB well worth seeing) that it's not surprising that parts of it look a bit like something else. It wouldn't surprise me if parts of Rosslyn Chapel look a bit like Lady Gaga or an Xbox controller....

[http://en.wikipedia.org/wiki/Rosslyn_Chapel](http://en.wikipedia.org/wiki/Rosslyn_Chapel)

Rosslyn Chapel is also famous for apparently housing the Ark of the Covenant and/or the Holy Grail... :-)

<comment><USER9> You can rent and stay in Rosslyn Castle, very close to the chapel. I stayed there once, and it was one of the neatest places I've been. The only shower is on the way to the dungeon.

[http://www.landmarktrust.org.uk/search-and- book/properties/r...](http://www.landmarktrust.org.uk/search-and- book/properties/rosslyn-castle-13940/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I found his "Who am I?" page interesting:

[http://davidpratt.info/cv.htm](http://davidpratt.info/cv.htm)

</comment><comment><USER11> There are so many other massive ancient achievements too that boggle the mind, the Incas are often singled out for some reason.

[http://www.ancient-wisdom.co.uk/top50stones.htm](http://www.ancient- wisdom.co.uk/top50stones.htm)

</comment><comment><USER12> Lets all accept one undisputable fact: NOBODY CAN EXPLAIN HOW THE INCAS MADE THEIR SITES. If you accept this, you are on the right path.

<comment><USER13> Except it's not an undisputed fact.

<comment><USER12> so, how were those sites made? The article gives alot of examples, but none of those examples is a proven fact.</comment></comment></comment>


Wikileaks publishes documents on plan to curb free software in the EU - <AUTHOR> http://blog.javier-carrete.com/2010/10/wikileaks-publishes-documents-on-plan.html

<comment><USER2> That site is so laden with 'social media' crud it's impossible to scroll or read with Firefox.

<comment><USER3> Firebug showed me over 400 http requests just for that one article. I wonder how that guy from Russia a few days ago feels about this site?

<comment><USER4> Who is this Russian dude that you're referencing?

<comment><USER3> "Tell HN: Your social widgets are losing you visitors right now" <http://news.ycombinator.com/item?id=1771607>

</comment></comment></comment></comment><comment><USER5> The article seems to be a re-hash of a Linux Journal blog post from February 2009: [http://www.linuxjournal.com/content/how-hijack-eu-open- sourc...](http://www.linuxjournal.com/content/how-hijack-eu-open-source- strategy-paper) \- just the introduction was added.

(to be fair, the blog owner hints to this, crediting Glyn Moody at the bottom, but he doesn't link to the post)

<comment><USER6> Confirmed by Glyn:

<http://twitter.com/glynmoody/status/26934516909>

</comment></comment><comment><USER7> "According to Wikileaks has leaked this file because it is important to make public policy is influenced by pressure groups, and for the record of what is happening in the European Commission."

This is kind of hard to read.

<comment><USER8> I imagine it should read _"to make certain that public policy is influenced..."_ and _"for recording what is happening..."_

<comment><USER9> I imagine it should read *"to make public [that] policy is influenced by pressure groups..."

</comment></comment></comment><comment><USER10> "the free software"? Is it me or is this blog horribly written, I can't interpret most of it without reading it at least 5 times.

</comment><comment><USER11> The page started with a gigantic headshot of Assange. That's really not a good way to start, given recent drama...</comment>


Cisco stock drops on a report AWS is considering selling its own network devices - <AUTHOR> https://www.cnbc.com/2018/07/13/aws-network-devices-report-cisco-juniper-fall.html <comment><USER2> This the problem with the giant corporations having _too much money_. They have so much money from not paying their workers properly and benefiting from certain monopolies that they don't know what to do with it. So they start entering all sorts of markets, killing smaller competitors, and dominating those, too.

I don't mean Amazon will "kill" Cisco, which is not what I consider a small company. I mean Amazon will kill _everyone else_ and maybe hurt or slow down Cisco's growth. _That 's_ the problem.

This is the sign of a broken economy. A healthy economy has many smaller companies, not a handful of giant corporations that dominate a dozen industries and then dictate both workers' salaries and what laws Congress passes through their "donations".</comment>


Uber Turned a Promising Bikeshare Company into Literal Garbage - <AUTHOR> https://www.vice.com/en_us/article/5dz94x/uber-acquisition-jump-bikeshare-destroyed-thousands-of-bikes <comment><USER2> I actually quite enjoyed the jump bikes around San Francisco. I would have used them more but the city mandated a maximum and so they were often scarce when I needed them.

SF is a very conservative city, so I'm surprised they didn't spend more effort in other places.

</comment><comment><USER3> Did they have parking slots over there? In London they are everywhere, blocking pavement, side of the road, gutter etc. You could break your neck if you don't watch out.

<comment><USER4> In the City of London (square mile) there actually are parking spaces for bike shares. Which is both better (there's less litering) and worse (why are we giving billion dollar tech bros free retail space in central london?)

</comment></comment><comment><USER5> ah the efficiency of capitalism</comment>


WebGL 2 Interactive GPU Cloth Simulation - <AUTHOR> https://tsherif.github.io/picogl.js/examples/cloth.html <comment><USER2> This demo runs with +/\- 1fps on my late 2016 macbook pro. Do others have the same performance?

<comment><USER3> Are you running Safari?

<comment><USER4> Not Op but I doubt it. I tried Safari and it gave me an error that my browser doesn't support WebGL 2. Chrome works fine.

<comment><USER5> I tried with Safari after enabling WebGL 2 by using the 'Develop' menu, but even then the demo game me an error, "This example requires extension EXT_color_buffer_float".

<comment><USER6> Yep, I got the same thing. I guess support isn't complete yet?

</comment></comment></comment></comment></comment><comment><USER7> It self-intersects.

[https://i.imgur.com/EgrwOj0.jpg](https://i.imgur.com/EgrwOj0.jpg)

<comment><AUTHOR> Yeah, for sure. Not doing any self-collision detection. If you know of any good references for how to that on the GPU, I'll give it a shot.

</comment></comment><comment><USER8> What are the challenges in writing such a system?

Is this a matter of keeping track of forces that work on e.g. a triangular basis element, and doing hit-testing so the triangles cannot move through objects or other triangles?

<comment><AUTHOR> The basic system is pretty simple: just make sure the points you're tracking on the cloth don't move further than a certain distance away from each other. Doing it on the GPU is a bit tricky because you have to know which constraints you can check in parallel.

Here are the two primary references I used: [https://viscomp.alexandra.dk/?p=147](https://viscomp.alexandra.dk/?p=147) [http://http.download.nvidia.com/developer/presentations/2005...](http://http.download.nvidia.com/developer/presentations/2005/SIGGRAPH/ClothSimulationOnTheGPU.pdf)

</comment></comment><comment><USER9> That browsers can do this sort of things still feels like magic to me.

I remember when just getting a DOM element to animate smoothly was a challenge...

<comment><USER10> Same. I just think of all the people in the 80s and 90s who more or less said this was impossible ;)

<comment><USER11> Nah we had VRML instead.

</comment></comment></comment><comment><USER12> also (non-webgl) [http://subprotocol.com/system/cloth.html](http://subprotocol.com/system/cloth.html)

lib: [https://github.com/subprotocol/verlet- js](https://github.com/subprotocol/verlet-js)

</comment><comment><USER13> Wow, the code for fragment shaders looks quite different than WebGL 1... does anyone know a good reference for seeing what's new or changed? I notice that one of the shaders has `if (texelCoord.x > 0) {...}` are `if` statements handled better in WebGL2?

<comment><USER11> Yes, WebGL 2 shaders are OpenGL ES 3.x ones, which have some breaking changes in regards to version 2.0.

[http://www.shaderific.com/blog/2014/3/13/tutorial-how-to- upd...](http://www.shaderific.com/blog/2014/3/13/tutorial-how-to-update-a- shader-for-opengl-es-30)

</comment></comment><comment><USER14> I get "This example requires WebGL 2 which is unavailable on this system."

System: 2017 Dell XPS 15 with NVidia 1050, NVidia driver Version 373.06, Chrome browser, Windows 10 Home 64 bit.

<comment><USER15> See what this says: [http://webglreport.com/?v=2](http://webglreport.com/?v=2)

</comment></comment><comment><USER16> Pretty cool!

Anyone know why the cloth looks so stretchy and why gravity looks like it is on the moon? Is it too expensive to run the solver up to a realistic level of inextensibility?

<comment><USER17> I'm pretty sure that's deliberate. If you replicate this in the real world, it's just over too fast.

<comment><USER16> I don't know if that is true -- I'm looking at a flag flapping around out my window and there is tons of interesting dynamics! Think also dresses or other clothing.

</comment></comment></comment><comment><USER18> [http://caniuse.com/#search=webgl2](http://caniuse.com/#search=webgl2)

</comment><comment><USER19> I am glad WebGL2 added transform feedback, it makes all mass-spring systems so much easier to compute.

<comment><AUTHOR> Transform feedback is great, but I'm not actually using it for this because I need access to adjacent positions in the grid. I'm using float textures to store the positions and normals.

</comment></comment><comment><USER20> Runs smoothly on Chrome on my S8. Can't believe this. Cloth looks weird though

</comment><comment><USER11> Apparently on Android I get an error about EXT_color_buffer_float not being available.

</comment><comment><USER21> 6.2 ms/frame i7, gtx1080ti

</comment><comment><USER22> horribly slow.. like 1 fps on 2016 MBP + Chrome</comment>


Google Multiple Sign-in Now Available - <AUTHOR> http://googlesystem.blogspot.com/2010/08/google-multiple-sign-in-now-available.html

<comment><USER2> This is good, but I'm still frustrated by the fact that Google Apps accounts are not full Google Accounts. I wish they'd merge all Google Apps accounts into the regular Google Accounts system. Or is there a reason that this doesn't make sense?

<comment><USER3> Google is already testing this: [http://smarterware.org/6394/google-apps-vs- google-accounts-r...](http://smarterware.org/6394/google-apps-vs-google- accounts-resolution-coming)

<comment><USER2> Oohh this is perfect. I know they did this inside Google for all the @google.com employee accounts back around January. Good to see them pushing it out to the rest of us.

</comment></comment></comment><comment><USER4> Very useful, now next I'd like to merge Gmail accounts if that isn't too much to ask for.

<comment><USER5> What do you mean by merging two accounts? One common inbox for both? There's an existing convoluted way to do that: forward all emails from account B to account A, add account B as a possible "From" address on account A and you're good to go.

<comment><USER6> I do that, but that's annoying.

I also want to merge accounts, which in my minds means that there really is just one account with several names--emails to all of them go to that one gmail (and it lets me choose which to send from), I can sign into all google services with any of those accounts, etc.

It would be pretty complicated though. I've only used gmail on my secondary accounts, but some people have probably used docs, voice, etc on multiple accounts, in which case all of those need some kind of merging strategy.

<comment><USER7> Heh, this reminds me of Subversion: branching is easy, the really tricky problem is merging.

</comment></comment></comment></comment><comment><USER8> I've been using the chrome incognito pages for just this purpose glad to see the feature

</comment><comment><USER9> Finally. Been waiting for this for a while. It is still not as good as Mailplane so I will stick with it for now. People that are managing multiple Gmail accounts including google app emails should check it out.

</comment><comment><USER10> Thank goodness! We just signed up for Google Business mail and I have been trying to juggle around two separate Gmail addresses for weeks now. This saves so much hassle.

Didn't know about the incognito trick until today though... I suppose that would have helped quite bit as well.

</comment><comment><USER11> Although this is useful, it still doesn't solve having multiple address books across multiple accounts. Until it is you can use Soocial.com to sync the contacts between them. (Disclaimer: Soocial's my startup.)

</comment><comment><USER12> Does anyone know if there are limits to the number of Google Apps accounts you can have? I'd like to link several free accounts I have together--is there any risk in doing this?

</comment><comment><USER13> I wish this worked with the Checkout sandbox as well - when I'm in my dev environment, I hate logging out of my main account to test purchases with my sandbox account.

</comment><comment><USER14> Has anyone commenting actually tried it though? The multiple sign in link mentioned in the post does not show up on my Google account page.</comment>


How I Used Deep Learning to Train a Chatbot to Talk Like Me - <AUTHOR> https://adeshpande3.github.io/How-I-Used-Deep-Learning-to-Train-a-Chatbot-to-Talk-Like-Me <comment><USER2> It's always nice to read the details of people building real applications, even if it's not a homerun.

BTW: just blurring people's names using a gaussian blur operator is not enough, if your radius is too small. From the screenshots of chats, you can tell names like "Arvind Sankar", "Manu Saravanan", etc.

<comment><USER3> Also, although difficult, Gaussian blurs can be in certain cases reversed (even though this one is so obvious there was no point in blurring the names). I prefer a fat black box when censoring.

</comment></comment><comment><USER4> If you want a more robust parser I made scripts to export Messenger and Hangouts chat logs to dataframes for a previous project: [https://github.com/MasterScrat/ChatShape](https://github.com/MasterScrat/ChatShape)

It will give you rows with : [timestamp, interlocutorName, messageSenderName, text]

<comment><USER5> Thanks! This is definitely useful

</comment></comment><comment><USER6> This reminds me of this year's xyzzy award-winning interactive fiction game, The Mary Jane of Tomorrow. [https://emshort.blog/2016/06/05/the-mary-jane-of- tomorrow/](https://emshort.blog/2016/06/05/the-mary-jane-of-tomorrow/) (It won Best Single Puzzle _and_ Best NPC.)

</comment><comment><USER7> No mention of Black Mirror?

Also: [https://www.theverge.com/a/luka-artificial-intelligence- memo...](https://www.theverge.com/a/luka-artificial-intelligence-memorial- roman-mazurenko-bot)

<comment><USER5> Just watched the episode today LOL Insane stuff

</comment></comment><comment><USER8> Great explanation! I also worked on a similar project ([https://medium.com/towards-data-science/personality-for- your...](https://medium.com/towards-data-science/personality-for-your-chatbot- with-recurrent-neural-networks-2038f7f34636)).

Also feel free to check my Conversation Analyzer ([https://github.com/5agado/conversation- analyzer](https://github.com/5agado/conversation-analyzer)), which includes scraper and parser for Facebook Messanger conversations.

<comment><USER5> Nice writeup! Definitely seems to be a lot more realistic than my bot LOL The parser is really helpful too

</comment></comment><comment><USER9> Is it possible to make it spew out random personal information like addresses and phone numbers if you give it the right input? That's usually what happens when you train a RNN and it overfits.

<comment><USER5> Yeah you're right it is a possibility. Overfitting was definitely a problem in this project. I think just a larger dataset and maybe adding some regularizers would have helped.

Luckily I dont think I have too much compromising information in my dataset LOL

</comment></comment><comment><USER10> Doesn't seem like it's really any better than eliza or the emacs doctor or whatever stuff didn't use the buzzword tech of the year.

</comment><comment><USER11> Ha! Just yesterday I had the narcisstic idea of gifting someone I've been chatting regularly with for years a chatbot that answers his messages like I would. This is just what I needed, thanks!

<comment><USER5> Awesome! Let me know if you get good results or find a way to improve my Seq2Seq model

</comment></comment><comment><USER12> Really cool project! Curious to see what type of changes you could make to get more realistic results

</comment><comment><USER13> while(0) {cout << 'hurr. durr.\n'; sleep(1000);}

<comment><USER14> So exit immediately?

<comment><USER13> Hi. Welcome to chatbot/n.</comment></comment></comment>


Using Artificial Intelligence to Engineer Materials' Properties - <AUTHOR> http://news.mit.edu/2019/artificial-intelligence-engineer-microchips-0211 <comment><USER3> Milton Friedman on doing this in the 1940s:[1]

> One of my problems was to provide statistical advice to the people who were > developing metals to be used in the blades of turbines. I had an enormous > amount of data, and I had to construct a regression with five or six > different variables having to do with the chemical composition of the > metals.

> We estimated that it would take us three months to solve this problem using > our desk calculators. In the whole country there was only one calculator—one > computer, if you want to call it that—which could do this problem more > quickly.

> It was up at Harvard. It wasn't electronic. It was a whole collection of IBM > card sorters. It was in a big, air-conditioned gymnasium, a tremendous > collection of sorters all linked by wires. It did our problem for us in > forty hours.

As he mentioned elsewhere, it did not work as expected back then.

[1] [https://miltonfriedman.hoover.org/friedman_images/Collection...](https://miltonfriedman.hoover.org/friedman_images/Collections/2016c21/Stanford_01_01_1996.pdf)

</comment><comment><USER4> The prediction algorithm is cool. But call me a tad skeptical. Repeated application of elastic strains results in creep occurring after 1000s of cycles does it not?

AI research into the Materials Genome gets attention. But the problem of discovery still seems secondary to the primary issue. Getting innovations out of laboratories and into manufacturing.

<comment><USER5> ... and you won't get any funding unless you are working on something like the Materials Genome.

Trying to get innovations into industry just isn't sexy enough.

</comment></comment><comment><USER6> I don't know much about materials engineering, but it's not clear from the article how Artificial Intelligence (which I'm assuming means Neural Networks) is used. Is it to simulate different strains? Or to correlate a set of parameters to final product properties?

I'm aware of efforts in statistical product design, where known mixtures, manufacturing parameters, etc. are collected into a database, and design-of- experiments is used to extrapolate into new products with properties that have never been made before. But this is mostly accomplished using statistics and design of experiments.

<comment><USER7> Agreed - this just seems to be an extension of the calculator story listed above, except using machine learning. Why wouldn't you use state of the art technology (including those labeled as AI) to help push any field forward?

<comment><USER8> looking at the paper in PNAS I think that there is a clever arrangement and application of deep nets in play here. As ever the trick is to couple deep domain understanding to clever application of AI techniques.

<comment><USER6> From what I gathered from the paper -- again I'm not an expert on what they're doing -- could the NN model have been replaced by any number of more parsimonious nonlinear regressors? (Not that an NN isn't a valid choice -- it is often used as a nonlinear regression model, but it is one of many valid choices in this scenario.)

Which prompts the next question: does anything that uses NNs warrant the term AI?

The use of NN here seems to be that of a model surrogate (i.e. model reduction).

There's no perception problem, logic problem, decision problem, or anything that we commonly associate with "intelligence".

<comment><USER8> Well. Maybe it could be neater (in an information theoretic sense) but DNNs are a bit fuzzy on that, and if you have modern compute, who cares? I think that there's many questions about the validation of machine learning models which mean that your question "could the NN model have been replaced by any number of more parsimonious nonlinear regressors?" is open, in the sense - <USER2> don't have a sharp way of deciding which is best, because one out of 100 million isn't informative for statistical reasoning.

The other question "does anything that uses NNs warrant the term AI?" is very, very difficult. Because as Marvin Minskey said "intelligence is a portmanteau term" by which he meant overloaded. It's full of meaning and non specific, so I like to say that AI is about technology and capability and not an association with human or animal cognition - which is the domain of Artificial Intelligence proper.

<comment><USER6> To the first point, I believe it's a spectrum.

To a practitioner, "better" can be defined along well-known dimensions. Suppose you know your data lies more or less on a straight line -- you could fit a NN model or a run a linear regression. In this scenario, linear regression would be the "better" choice for some widely-accepted measures of "better" (interpretability, computational efficiency, parsimony, regularizability, etc.).

One almost never chooses NN just for the sake of choosing NN... there are well-understood trade-offs. For instance, it is widely known that NN's generally require a larger amount of data than classical/statistical algorithms for weights to converge -- mostly because it's fitting a more general function than most classical ML algorithms. (The reason NNs have begun to show the results they have (vs in the 1990s) isn't just because we have more compute than before or that the theory has advanced significantly; it's also because we have more a lot more data to fit the more general function with.)

To the second point, I can see the point, but I wonder if the semantic meaning of the term is eroded by being overly encompassing. We could say a calculator implements AI.

<comment><USER8> Agree about data. Do you really think theory hasadvanced?

<comment><USER6> In my opinion fundamental NN theory hasn't really advanced significantly since the 1990s. I guess it was phrased ambiguously in my comment

But there has been a great deal of new techniques that make NN work better in practice like dropout, ReLU for vanishing gradients, CNNs and GANs for specific problem types, transfer learning, etc. The recent work with Neural ODEs show that the field is advancing in terms of ideas.

This is a good trajectory IMO. Many engineering fields work this way — find out new ways of doing things that work and then take a step back to see if there's anything fundamental that links everything together. Practice precedes theory.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Here's a link to the actual article in PNAS: [https://www.pnas.org/content/early/2019/02/14/1818555116](https://www.pnas.org/content/early/2019/02/14/1818555116)

<comment><USER6> Ok, so here's where they use NN models:

 _" Although ab initio calculations such as those involving many-body corrections can provide accurate energy-band results, the scope of such calculations is somewhat limited to about 1,000 strain points because of high computational cost. On the other hand, by discretizing ε with a regular grid comprising 20 nodes separated at each 1% strain interval over the strain range of −10 to +10%, the computational model would entail about 108 band structures, up to five orders of magnitude higher computational requirement than what can be reasonably achieved presently. To overcome these difficulties, we present here a general method that combines machine learning (ML) and ab initio calculations to identify pathways to ESE. This method invokes artificial neural networks (NNs) to predict, to a reasonable degree of accuracy, material properties as functions of the various input strain combinations on the basis of only a limited amount of data."_

Further down:

 _" We aim to describe the electronic bandgap and band structure as functions of strain by training ML models on first-principles density-functional theory (DFT) data. This approach leads to reasonably accurate training with much fewer computed data than fine-grid ab initio calculations and a fast evaluation time."_

\--

If I'm reading this correctly, it sounds like they _already have a_ high- fidelity 1st-principles model that is computationally intractable to solve at scale, so they are using ML techniques to create an surrogate model that is computationally more tractable -- the AI modeling is a model reduction exercise.

<comment><USER10> That's a pretty good summary. There are many different sets of approximations and simulation techniques that make different trade-offs of accuracy/scale.

They're essentially using outputs of a higher-fidelity model to tune the free parameters of a lower fidelity model, and using ML to explore the parameter space efficiently.

The higher fidelity model is itself still an approximation, but there's a lot of interest in this approach and quite a few groups doing work like this targeted towards various material properties, since there just isn't nanoscale experimental data to train models that depend on nanoscale material features.

<comment><USER11> Agreed, although I would hesitate to call the PBE functional a "first principles" model.</comment></comment></comment></comment>


Lightroom app update wipes users' photos and presets, Adobe says not recoverable - <AUTHOR> https://petapixel.com/2020/08/20/lightroom-app-update-wipes-users-photos-and-presets-adobe-says-they-are-not-recoverable/ <comment><USER2> In another story, I needed Lightroom for about a week to do some photo work. I started with their subscription for the month and I wanted to let go if I'm done in the first month.

While trying to cancel my subscription, I realize I can only do that after paying for the remaining 11 months (rough calculation).

With no other option, I paid my penalty and left Adobe for good. I have deleted my 15+ year old Adobe account.

Alternatives and to serve nostalgic attachments, I bought the whole suite of Affinity[1] Products. I've also bought Darkroom[2] for photo editing on iPad.

1\. [https://affinity.serif.com/en-us/](https://affinity.serif.com/en-us/)

2\. [https://darkroom.co](https://darkroom.co)

P.S. (edit/addition) I ended a 25+ year relationship with Adobe. I paid myself through my school and college with PageMaker, and other softwares (both open source, free, and paid).

<comment><USER3> I recently signed up for adobe CC to test out premiere for some video editing work (side note, Final Cut is better) and instead of inputting a real card I used a privacy.com one. When I decided I didn't want it, I just disabled the privacy card. I only have to deal with a few annoying emails from adobe. I didn't even bother trying to cancel. Reading your comment makes me realize how smart that was.

<comment><USER4> Is that legal in the USA? Entering into a purchase agreement ("koopovereenkomst", not sure if I'm translating the jargon correctly) and then just not paying? Because that's certainly not legal where I live.

I understand that the odds of repercussions are small and that there are no damages on Adobe's side since you haven't physically taken their goods so it would probably have to be taken up by the public prosecutor rather than become a civil case... but still, I'd not be happy having my name on a "doesn't pay their bills" list, nor is it quite honest.

Or am I misunderstanding the situation and did they advertised with monthly cancelable? (False advertising) Nobody mentioned that in the thread though, and from this comment it sounds like it was very clear that you were agreeing into a year-long subscription: [https://news.ycombinator.com/item?id=24232282](https://news.ycombinator.com/item?id=24232282)

<comment><USER5> I did the same. I just stopped paying and told my CC company to block transactions because I never agreed to them.

Adobe is very unclear about what you're actually agreeing to up until the point you're cancelling.

I just blocked transactions and never heard from them again (except for some emails).

If they want to fight it, good luck winning it in Dutch courts when the conditions are unclear.

<comment><USER6> Everybody on the net is always like "Just told my bank to block the transaction" \- when I did that, in a EU country, my bank was very reluctant.

They wanted proof that I had been in contact with the company and tried to get a refund from them, and that I in fact didn't owe them money.

<comment><USER7> You shouldn't be contacting a bank - I think that might be the distinciton. When people say this, I interpret it as contacting their credit card and asking for a chargeback.

This depends on the credit card company but mine is very willing to charge back if I call. They find it pretty trivial.

I've never done anything like this with a debit card or bank though. I think the money that leaves through debit is actually gone and that's a distinction. I know the EU is more debit focused.

<comment><USER8> It is not that much debit focused, but you normally get credit card from a bank here.

<comment><USER9> Which country? Because here in south eu all banks give out debit cards as standard card. NL is different in that they use maestro so if you want to travel (outside of eu) you have to request a regular debit/credit card and most NL banks do not issue debit cards outside maestro, so you get a Cc.

<comment><USER10> > if you want to travel (outside of eu) you have to request a regular > debit/credit card

The era where maestro cards were impossible to use abroad was already over ten years ago. The only thing you might need a creditcard for abroad is hotels and car rental, which you wouldn't be able to do with any kind of debit card (outside of a relatively small selection of hotels).

<comment><USER9> That doesn't match, at all, with my experience. I had to travel for work all over the world the past 8 years, usually twice a month and my maestro cards didn't work in any US atms or shops, nor in chinese ones, nor in hk, indonesia, australia, cambodia, most atms in thailand and other places.

In the US & China, it had big maestro stickers everywhere, but it didn't work at all. Different cards, different banks; on calling the banks they said they did not even see a transaction coming in and they the cards are set for international travel (and work fine everywhere they are accepted in the EU).

And it's not for lack of trying; One time on a big slog from US -> China -> AUS, I (stupidly) brought 1 credit card and 3 maestros and my CC got cancelled (fraud); I tried literally every atm , shop in these countries and could not get $1. I had to borrow from my colleagues. This is a few years ago.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> When things like this happen, is it any wonder an increasing number of users are viewing any sort of "updates" with extreme apprehension? "It was working fine just before, and now I've lost everything. Why should I have even updated!?!?"

I still remember when the general advice was "do not upgrade/change what works, unless you need something in a later version", which then changed to "updates are recommended", followed by "updates are _strongly_ recommended", and more recently, "updates are mandatory".

Adobe isn't alone, Microsoft had done worse not long ago --- with a _forced_ update too:

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

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

(On the flip side, at least you're able to run file recovery programs on a PC.)

<comment><USER12> > "updates are recommended", followed by "updates are strongly recommended", > and more recently, "updates are mandatory".

This is 5 years old, today we are doing:

Updates happen in background automatically without user knowing and sometimes when autoupdated software is being used at the time, it crashes when new action is performed and all not saved user data is lost.

Move fast, break things!

<comment><USER13> That's my experience every time Firefox updates these days through unattended- upgrades. The sad thing is that it handled it just fine without crashing up until a few years ago.

<comment><USER14> A quick scroll trough the settings page shows me you can turn the automatic updates off if you want. Also not something i've experienced. Have you checked whether the crash isn't caused by some weird addon or the like?

<comment><USER13> The problem is caused when Firefox is installed through your operating system's package manager. But after a bit of searching, it looks like you can just get a version of Firefox from Mozilla's website that contains its own updater and avoids this problem.

[https://old.reddit.com/r/firefox/comments/b5jb7i/how_to_prev...](https://old.reddit.com/r/firefox/comments/b5jb7i/how_to_prevent_firefox_from_demanding_a_restart/ejfa00e/)

</comment></comment></comment></comment></comment><comment><USER15> Slight sidebar: it's so frustrating that Adobe made the new Lightroom some cloud based monstrosity. For photographers with serious workflows involving local disks, we're now relegated to "Lightroom Classic" which makes me feel like I'll be discontinued in N years from now. I hope they change course and drop this whole cloud thing, the yearly subscription model is bad enough.

<comment><USER16> They've also pulled off an incredibly hostile move for paid users of older Lightrooms - they're refusing to update it for 64bit-only OS X. The app itself is 64bit (in fact, the app itself is _only_ 64bit), but its licensing/installer components are not. So if you update OS X, it's not guaranteed that Lightroom (that you paid for) will run, or if it does, how long it will continue running for. This isn't some ancient software, this is the 2015 version of Lightroom.

This is 100% intentional to drive users to subscriptions.

<comment><USER17> Regardless of the apology, Adobe should not be allowed to simply dismiss that they deleted user files. In effect, due to Adobe negligence, they have destroyed user intellectual property. A signal and example needs to be made. Individual users can sue for damages -- lost value and opportunity -- illegal destruction of property.

The computer fraud and abuse act could also be applied for criminal charges -- Adobe misused and misappropriated their access to customer data and systems. Arguing that it was a "mistake" and "we are sorry" does not correct the damage done. If Adobe makes such a fuss over protecting their IP, then they should not be surprised when their customers do so also. There is a potential for a class action here as well. And Adobe is very profitable -- some legal team representing this case, even if pro bono, will be/become quite rich.

Moreover, telling people that they should have X, and Y, and Z, to protect themselves from the mistakes of rogue actors/apps, is simply a displacement of responsibility tactic.

Just because something illegal/damaging was "done with a computer" does not mean it was "ok" and "an apology is enough" \-- now pay us for our services you miserable worm/user!

<comment><USER18> Software licenses always disclaim any warranty, implied or explicit, it's all "AS IS" and you accept it when you click that Accept button upon installation.

And honestly, it's good this way. If you want to secure your photos, make backups yourself or sign a contract with some company that will guarantee something. But once they are liable and can be sued, the service will be astronomically expensive.

<comment><USER17> In proportion to the margin, the "service cost" is already astronomically expensive.

Moreover, the the click accept "contract" is not license for extortion -- does not make extortion legal. A mere contract does not make arson legal, even if accidental; does not make man-slaughter legal, etc.

The computer fraud and abuse act applies, regardless of contract. Adobe accessed user computers/hosts in a way inconstant with user defined permissions, usage policies, etc. I have a usage policy that you "signed" or did the equivalent of "clicked through": if you (Adobe) elect to install your automatic app update on my host hardware, you certify that you will not delete any data files stored on that hardware. Just because Adobe did not bother to read the language of my hardware usage policies, which has language that it "supersedes all other agreements between the hardware host owner and the app installer, does not mean that they/Adobe are "immune" and can simply ignore their liability for IP destroyed.

There has to be a way to get these $#%@#% -- enough is enough.

<comment><USER18> If you want bulletproof software with guarantees (like the medical industry or aerospace or traffic light systems or banks) you'll get extremely conservative, boring old tech with no flashy new features all the time.

If the cost for breakage is too high they just won't make any changes unless absolutely necessary. But the market has spoken and people prefer flashy new features and updates instead of boring railroad control-like software that is works the same way for decades.

You can't have it both ways. If your data is important don't just store it on a single device. These photos were just stored on a single device that could break for any reason any day anyway.

Unless Adobe can be shown to have been criminally negligent or intentionally malicious I don't think there's a case here but ianal.

<comment><USER19> > Unless Adobe can be shown to have been criminally negligent

Not having multiple site backups isn't criminally negligent when running a paid cloud service?

<comment><USER20> They didn't lose the cloud data.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Well, this is as good a time as any then to try out Darktable [1]!

[1] [https://www.darktable.org/](https://www.darktable.org/)

<comment><USER22> I did this a while ago. I was super excited to try out a digikam + darktable workflow. But the learning curve for darktable is so steep. I am just an amateur photographer who takes landscape photos. I used to make small edits using Lightroom and some panorama stitching. It seemed so straightforward in Lightroom. I am still struggling to figure out how to edit my photos and what modules to use in darktable. I am looking at YT videos and posts on pixlus, but I still have not been able to wrap my head around all the concepts. One day I will hopefully get it...

<comment><USER23> Agreed. I've been on Lightroom since v1.0 and long-ready to get away, but I need to replace the cataloguing and manipulation. Digikam was great to begin with, but then just stopped working smoothly, and Darktable has so many issues that I cannot understand all the suggestions to convert. I wish I could contribute to the codebase.

I've tried Affinity Photo, Pixelmator, no dice. Tried Capture One but it's like a slug dragging a ball-and-chain and the cataloguing workflow turns me upside-down. Image manipulation is blindingly good, however.

</comment></comment></comment><comment><USER24> Does anybody know a good photo management software that's not Lightroom? I don't actually need to do edits to my photos - I need to manage my photo library. Lightroom is not great at it but is passable - is there anything else? What I'm looking for is software that:

\- Is fast

\- Is capable of leaving photos where they are ("import-in-place").

\- imports photos from card to NAS, organized by time ( year/month/day)

\- allows me to make selections & export e.g. to Google Photos (exporting to a different local folder is good enough, I can setup google photos to sync, it's only slightly inconvenient).

\- Ideally has good features for finding image duplicates, and maybe for searching.

\- Keeps my photos locally/ doesn't insist on a cloud location.

<comment><USER25> open source darktable is what I use.

[http://www.darktable.org/](http://www.darktable.org/)

It's fast

Leaves it in place

I think it can make collection, but not sure on this point

Not sure

It keeps files locally

Also it is open source ;)

</comment></comment><comment><USER26> I'd wish for every disgruntled Adobe client who now switches to another tool that satisfies their requirements, saving a few (or considerably more) bucks in the process, to donate a small part of that to the FOSS, libre alternatives for much of Adobe's product portfolio:

[https://www.gimp.org/](https://www.gimp.org/)

[https://inkscape.org/](https://inkscape.org/)

[https://darktable.org/](https://darktable.org/)

[https://krita.org/](https://krita.org/)

...

You could do so much good with relatively little! :) Thanks everyone who considers donating!

<comment><USER27> Also [http://rawtherapee.com/](http://rawtherapee.com/)

</comment></comment><comment><USER28> > This is also a great reminder for photographers that you should always back > up your images, in multiple places, so you're never subject to a single > point of failure. Mistakes like this happen, even at some of the world's > largest companies

For a long time, I've been thinking that for all the value that Adobe provides in some of its products, it's still quite a bad deal for the users. _The single point of failure for people who use Adobe is Adobe._ Those who have realized this sooner (around the time it went full-on into subscriptions) and made changes to take more control over their workflow would be better off without being controlled and swayed in every which direction because the company just wants to make more money.

While I feel pained at the loss that the Lightroom app users are going through (any kind of data loss is quite painful), I hope that for their own sake, many more users start looking at alternatives that aren't premised on holding them hostage.

</comment><comment><USER29> Yet another tick on the list of "ways mobile devices are not real computers". If something erases my files I ought to be able to run a recovery scan and get them back in minutes, assuming they haven't been overwritten with new data.

<comment><USER30> That doesn't work so well with SSDs :(

[https://www.howtogeek.com/125521/htg-explains-why-deleted- fi...](https://www.howtogeek.com/125521/htg-explains-why-deleted-files-can-be- recovered-and-how-you-can-prevent-it/)

<comment><USER29> A real computer can run automatic backups to a second local disk or over your home network. Even if you do feel like paying Apple for adequate iCloud backup storage you're consuming bandwidth and using large amounts of data.

<comment><USER31> You can do that with an iPhone too. You can do a full backup of the phone to the mac, encrypted, which also contains "sensitive" data, etc. Can be run over wifi if you don't want to bother with cables or via usb if the local wifi is shoddy. No need to pay Apple anything for any storage.

<comment><USER32> But you can only restore an entire phone, likely losing all of your work since He last backup - was that yesterday or last month?

And sometime around iOS 6 or 7 they killed the option to maintain multiple backups - so you can't backup, restore older version, save data, return to latest.

</comment></comment></comment></comment></comment><comment><USER33> I have recently migrated off Lightroom to Rawtherapee, and would recommend it to photographers serious about raw development. I don't see myself going back, really.

Open-source, plain-text profile format, works everywhere. Like Lightroom, it handles DNGs natively, but allows more control as you create your image from raw scene-referred data.

Its GUI is somewhat laggier, but if you do a lot of batch processing you may be able to more than offset that by writing a simple script that delegates processing to your own cloud compute (it has a CLI tool, something Lightroom is unlikely to offer). Profile once, apply without having to launch the GUI.

</comment><comment><USER34> Happy with that cloud based software yet? There is nothing more frustrating than to see all these software packages that have been turned into eternal cashcows by forcibly grafting on a service that absolutely nobody needs.

Then to top it off they lose your data. Fantastic.

<comment><USER35> We should come up with a grassroots cloud service measurement system. You know how lakes and reservoirs sometimes have an "N deaths so far this year" sign.

Something like, "N cloudfails the last 3 years" for us cloud software users. Kept in a nice table so you can sort by least-bad records.

</comment></comment><comment><USER36> Affinity Photo or Pixelmator Pro are great replacements for Photoshop. Resolve and Final Cut are much better than Premiere.

I'm still looking for a replacement for After Effects and Illustrator though.

I've heard Affinity Publisher is a great InDesign replacement although I've never used it.

<comment><USER37> Inkscape is a decent replacement for Illustrator, at least in my experience.

<comment><USER38> Inkscape is great but not if you are working a lot in CMYK.

</comment></comment></comment><comment><USER39> Top reasons I prefer Darktable over Lightroom:

1\. It runs on all platforms

2\. It is not cloud based

3\. It does not delete your photos

</comment><comment><USER40> There's one winner here: the law firm that puts together the class action.

<comment><USER18> Was there any warranty? I guess the license is the bog standard everything disclaimed, all "as is" type.

<comment><USER41> Doesn't really matter if they were negligent and there are real damages.

</comment></comment></comment><comment><USER42> OK, seriously now...first Canon, now Adobe?

Am I missing something here, what's going on?!

<comment><USER43> Push QA to users. What could go wrong?

<comment><USER28> > Push QA to users.

"We need to increase our margins and we know our users aren't going to abandon us. Where will they even go to since we have them held hostage all these years?" _evil snide laughter_

<comment><USER43> you forgot the mustache twirl

</comment></comment></comment></comment><comment><USER44> At least, this time Adobe only deleted their own files, unlike in 2016 where they on MacOS deleted files owned by others: [http://www.bbc.com/news/technology-35577498](http://www.bbc.com/news/technology-35577498)

</comment><comment><USER45> Obviously this is a screw up on Adobe's part, but this is a good time to remind everyone that if you're not backing up your data, then it must not be very important to you.

Back up your stuff! You never know when something unexpected will cause you to lose it!

<comment><USER46> Is there an alternative to iCloud for backing up the iPhone? I've kind of given up on checking what's aloud this year.

<comment><USER47> Local backups have always been an option, both encrypted and unencrypted.

</comment></comment></comment><comment><USER48> This is another example of deeply yet inadvertent hostile behavior by a tech company towards artists and creativity.

It is hard to overstate how much this matters, and is overlooked.

I am constantly grateful that I live in a time where I have all these magical creative tools.

At the same time, tech companies have a tendency to internalize ignorance about what artists and musicians actually need, and what is nurturing or destructive to creativity.

I think the best example of this is the YouTube algorithms that favor frequent uploads for discovery. Probably nothing could be more hostile to human creativity, and I'm not sure it's purely profit seeking. I think it is actually just ignorance.

—edit—

Apple has not made it obvious how to back up all the content from your apps, nor has Adobe, nor has either of them made it easy to do it in a non- proprietary fashion. This is anti-artistic. It makes me not have true control over my creations, and this is discouraging and damaging to creativity.

—edit2–

I believe almost any artist would say: "having control of the durability of my art is extremely important, the latest Lightroom feature is largely insignificant."

</comment><comment><USER49> > It seems the latest update to the Lightroom app for iPhone and iPad > inadvertently wiped users' photos and presets that were not already synced > to the cloud.

"Not already synced to the cloud". Whatever you think about Lightroom, this headline makes it sound much worse. Photos on the device that haven't previously synced are lost, not all your photos in your library.

</comment><comment><USER50> This is a common mistake when it comes to cloud synchronization with an equally simple fix. When you compare a set of items A on the user device against a set of items B on the cloud you should FIRST check (either through file name, hash or creation/modification timestamp) that:

\- An item in A is not present in B before uploading it to B. \- An item in A is present in B and has changed on A before updating it on B. \- An item in A is present in B and has changed on B before updating it on A. \- An item in B was present on A but it's no longer there before deleting it from B. \- An item in A was present on B but it's no longer there before deleting it from A.

Seriously, this is the ABC of cloud sync. Many free products also got it right. There's no excuse for the engineers at Adobe not to get it right in their overpriced products.

<comment><USER51> Spend one day trying to work on a graphic design project with the file saved in the Creative Cloud sync folder. The amount of "filename (Sync Issue1).ai" files you'll see accumulate will make you never want to use it again.

</comment></comment><comment><USER52> It may be coincidence, but just earlier today, I had to use a photo for display pic and default crop won't let you keep the whole photo in original aspect ratio, so I installed Lightroom to do resize but filling a blur. I believe this was my first time installing the app from play store, I signed in through Google login, I was surprised to find some 40 to 50 photos of absolute stranger synced to my email! I don't know who that person is, I assumed they may have put in my gmail instead of theirs, but it's stupid that they would start associating backups without verifying the email! Adobe has lost any respect it had. I will never trust them with my data.

</comment><comment><USER53> My wife tells me to never update apps on phones. The updates are never worth it, they are just mucking around, no real progress is made on these apps, and worse, sometimes the updates introduce ads. The red circles beckon me anyway, all the time. I can't stop myself. I just disabled my updates, and I'm finally going to listen to her.

Beyond this major disaster, I updated my phone about a month ago. Ever since Chrome just randomly freezes now. I have to switch apps, and switch back to get it flowing again.

<comment><USER44> This is really bad advice.

If nothing else, you do want to get the security updates that are released.

In general: Update but if possible, don't be the first one to update to a new version, wait for a day or two

</comment></comment><comment><USER54> It was amazing that Lightroom came with free upgrades, year after year. I would probably have happily paid $99 each time there was a major version number increase, even if that meant paying effectively $99 a year.

That's not far off the subscription price. Something about the subscription model feels so arrogant though, on Adobe's part, that I just can't stomach it. Is it because it feels like rent?

May Lightroom 6, and the hours and hours of face and location tagging I've sunk into it, last forever.

<comment><USER55> Every year I buy a 1 year license off amazon for the photography plan (which includes both lightrooms and Photoshop). It works out cheaper (£89 for the year instead of £10 x 12)

Each year I revaluate the alternatives, but so far they always come up short.

</comment></comment><comment><USER56> This is exactly why I do manual updates for pretty much all my software. Any time I mention it, people hound me with "what about security issues!"

uh oh yeah thats a concern, but I will take that risk over shit like this where personal files are just getting wiped. Most users _dont_ need bleeding edge software. You can run months behind and be fine in most cases.

I read release notes. When an update comes out, unless some big feature that I need is introduced, I skip it.

<comment><USER19> > You can run months behind and be fine in most cases.

Out of curiosity, what's your coronavirus take?

<comment><USER56> what in gods name does that have to do with software?

</comment></comment></comment><comment><USER57> You think Abode is bad, try cancelling any recurring billing from Google, even when fraudulent. A CC of mine was compromised and a YouTube premium account was made. I've changed my card number three times, yet somehow Visa let's them keep billing me. Finally had to cancel the CC account, Google kept trying to bill it for 90 days even after multiple chargebacks and the account being frozen from all charges.

</comment><comment><USER58> It's not the first time Adobe would have deleted stuff. I remember the Backblaze fiasco from a few years ago.

Also, App Store Review didn't protect users from this.

</comment><comment><USER59> Reason 23,541 why I refuse to use any "cloud" based service. There is no "cloud" \- its just stored on someone else's hardware.

</comment><comment><USER60> CaptureOne is a great product if anyone is looking for alternatives at this time. No BS subscriptions, just a license.

<comment><USER61> They have plenty of subscription options and push subscriptions hard on their landing page. They also have a really goofy "buy different versions depending on your camera" model. It's kind of gross, frankly, and has kept me from even trying the software.

<comment><USER62> I don't have strong evidence for this but at one point it seemed strongly like those camera-vendor-locked editions were actually subsidized by the vendor(s) in question. Said vendors have generally been the camera underdogs. Once upon a time Sony cameras even came with a bundled, vendor-locked Capture One license.

</comment></comment></comment><comment><USER63> I switched to Phase One's Capture One a long time ago -- it's light years ahead of anything Lightroom has to offer.

The biggest improvement is performance, due to C1's use of Sessions, which are basically folders where you store your RAW files, edits/history, trash, and exports per shoot.

While C1 does support the antiquated method of using a Library, there's more safety and manageability in using Sessions, and most professional photographers use this for good reason.

And regarding presets, C1 stores all (incl. user) presets in a standard directory in your home folder, so it's trivial to keep them automatically backed up.

</comment><comment><USER64> Slightly OT but does anyone else here just not update key software anymore? I haven't updated my Mac because the last time I did it, it caused a major startup error and I lost documents.

</comment><comment><USER65> This is clearly not ideal and reflects poorly on Adobe's QA process but this is about items that are not backed up. Of course most of these users probably had their iOS device "backed up" to Apple's servers but this backup is just replication. It helps if you lose your phone, but it doesn't help if an app has a bug or you make a mistake.

It would be very cool of Apple or Google device backups supported a point-in- time restore. (Ideally a per-app point-in-time restore).

</comment><comment><USER66> Are they saying they deleted the photos from your phone/tablet or just the adjustments in Lightroom?

If they're just talking about Lightroom data, then although that's pretty crappy, it's what I expect out of apps. I remember the Apple Pages used to do this too. If you deleted or upgraded, the data was erased. That's all changed since they enabled cloud, but still was a horrible design.

</comment><comment><USER67> Good thing I went with Capture One.

</comment><comment><USER68> But but... I thought Apple's excuse for their 30% tax was that their App Review process and locked down OS etc is supposed to prevent apps from doing such malicious things on iOS? To keep us and our data "safe"? Err... right?

</comment><comment><USER69> From what I gather, this only affects the new Lightroom app, and primarily the iOS apps.

</comment><comment><USER70> For many years now I've been a proponent of "never update unless you absolutely need to". I just updated my old Macbook Pro to Catalina and now it gets ridiculously hot watching even simple YT videos.

</comment><comment><USER71> And that is why I use Lightroom classic with a hard drive local and an Amazon cloud drive backup. Still can't trust the cloud as your only backup

</comment><comment><USER72> Honestly, from all the posts only actionable I could figure out, is to have multiple backups of important files, preferably real-time.

Whole thread is about repeated tropes of why they hate subscription/Adobe/MS etc. All these comments on alternative s/w for Desktops are funny and typical HN as the issue is with mobile apps and none of the comments showed any pattern with Adobe of poor QA. Assuming, none of the alternatives will ever have a catastrophic bug is also ¯\\_(ツ)_/¯ .

</comment><comment><USER73> When the stock drops tomorrow I'll pick it up because at the end of the day Adobe has whole industries by the balls.

</comment><comment><USER74> The title of this should be "Lightroom _iOS_ app update..." and save some panic for a desktop user.

</comment><comment><USER75> I've just deleted every Adobe app from my phone and tablet.

I'm not going to trust this corporation.

</comment><comment><USER76> The cloud, nor one computer should ever be your only backup

</comment><comment><USER77> I think we can just chalk this up to a competition between Canon and Adobe on who can delete the most photos from the world.

</comment><comment><USER78> just pirate it

</comment><comment><USER79> * They're

<comment><USER80> Fixed now. Submitted title was "Lightroom Update Wipes Users' Photos/Presets, Adobe Says Their 'Not Recoverable'".

</comment></comment><comment><USER81> Ah yes, the cloud! Trust in the cloud folks! How about adobe stops treating their pockets as my personal storage space, and keeps my files secure on my own device instead of deleting everything they didn't have a copy of. This is why I don't buy software that comes with a subscription and a deal with the devil.

</comment><comment><USER82> Darktable is great by the way; nothing's perfect, but its indexing and navigation is faster than Lightroom and the filters are basically what you use. I've also heard good things about RawTherapee.

</comment><comment><USER83> Apple's 30% pays for strict reviews that should have prevented this...

<comment><USER84> Good point. User safety is Apple's argument for their fees, and one made quite recently too.

</comment></comment><comment><USER85> This is why apps should be built on blockchains

<comment><USER86> How would that work? Are we gonna host petabytes of photos on a blockchain? Maybe many exabytes even? Maybe in the future, but even then, as storage capacity increases I think file sizes too will keep growing for the foreseeable future as well.</comment></comment>