Logicly - the digital logic simulator - <AUTHOR> http://logic.ly/ <comment><USER2> This. Is. Awesome.

I was a CS student, but we had to take some intro Computer Engineering/circuit logic theory classes. I loved it, but we only did things on paper (and I didn't want to buy a whole breadboard kit just to play with simple logic circuits, etc...). I wish this was around when I was learning because I really wanted to play with making more complicated setups than we did in class.

This is like the Balsamiq of Circuits with the added bonus of running the stuff. Yes, being able to snap wires to a grid would be nice, but I'm having a blast with this right now.

<comment><USER3> We had some software at UT for EE 316, it was made back in the 90's though. It basically showed 1/0 states, let you probe areas in the logic, and had some ways to represent the logic as equations.

<comment><USER4> Does LogicAid ring a bell? I dreaded that class, but it really showed you how to pace yourself. This is a great modernization!

</comment></comment></comment><comment><USER5> This looks like a neat piece of software to put on the web. It is, however, lacking usability. As a student learning digital design, you want circuit diagrams to be clear and results to be easily and quickly visible.

Wires between nodes are laid out automatically and can not be routed on a grid. In a big design (not that this is meant for that) things will get messy quickly.

You have to click simulate to see the results of your circuit. This is annoying. These circuits are simple and the output can easily be detected whenever a change is made.

Another useful feature is the have keys (0-9) mapped to switches. Testing, for instance, a four bit multiplier would be much easier if you don't have to operate the mouse so much.

I hate to recommend another piece of software, but I think the authors can learn a lot from it's features. Atanua (<http://sol.gfxile.net/atanua/>) is a cross-platform logic simulator that has all of the above features. It was a great tool when I needed to quickly prototype something for a class, and I still recommend it to students in a class I TA. It hasn't been updated in a while, the OSX version has to be run through Rosetta, but I can't see any glaring omissions the author made that would make it unusable.

Finally, it's 2010, this would make an awesome HTML5 app instead of being written in Flash.

<comment><USER6> Can someone explain why Flash 10.1 is required to display ones and zeroes?

I'm done installing any future versions of Flash, especially with all the crap they've started bundling it. I fully expect that Flash 10.2 will include anti- virus software, toolbars, and something that periodically reminds you that you're ugly.

<comment><USER7> I'm simultaneously testing a beta version of the Flex framework that will require Flash Player 10.1. I would recommend upgrading regardless. 10.1 has some excellent performance improvements thanks to Adobe's recent efforts getting it running on mobile.

</comment></comment></comment><comment><USER8> It asked me to update flash, and restart my browser. After that, I just get a grey screen. Edit: Safari 5.0.2, Snow Leopard, Click-to-flash installed, but with logic.ly whitelisted.

<comment><USER9> Same problem here.

</comment></comment><comment><USER10> Reminds me of a slightly less-functional version of this (source available): <http://www.falstad.com/circuit/>

<comment><USER11> One of my favorite simulator websites! The electronic circuits alone: <http://www.falstad.com/circuit/e-index.html>

Awesome!

</comment></comment><comment><USER12> First impression from a few minutes messing around: this is really beautifully made.

One suggestion: I have no idea who/what this is for. The front page certainly tells me what this _is_ , but I don't have any use case. There's a big difference if this is just for fun, or if this is a serious tool for actually designing things, and you'd better let people know asap which this is.

<comment><USER7> The main audience I'm going for, at least for now, is education. I had an earlier demo on my blog for a couple years, and instructors and students frequently emailed me to say thanks, and ask for more features. It's been well-received for classroom demos and stuff like that.

<comment><USER12> Excellent - it seems very well suited for that. I'd have been happy to have this when I was teaching this kind of theory to young programmers.

Like I said, I would make this very obvious on the front page. Maybe even have some ideas on how to teach using this tool (classroom material, etc.)

<comment><USER7> Thanks for the suggestions. I'm definitely planning to improve the front page over time.

</comment></comment></comment></comment><comment><USER13> Very impressive as a _demo_ , but it needs more before it can be really _used_. It's a bit slow, there are nowhere _near_ enough units, and I see no way to save / load sub-circuits. And try the counter: there's an interesting one-digit-ahead flicker prior to some numbers (haven't looked closely at why) that probably shouldn't be there.

edit: one more thing occurred to me: while stepping through the animation, indicators as to what wires are currently being checked would be helpful. Otherwise you just see blue-blue-nothing.....-blue-blue-light.

<comment><USER7> Yes, it is a demo. Save/load will be available when it is released as a desktop app. As for the counter, it's working properly. Ripple counters simply aren't stable during transitions, but they make a good sample because they're simpler than other types of counters.

<comment><USER13> In that case, it's kind of cool that this preserves that behavior.

Suggestion for optimizing, especially for larger multi-part circuits: allow a sub-circuit to be expanded / collapsed. When expanded, show the full animation & whatnot. When collapsed, run an optimized chunk of code which has the same behavior, and just output the results at the proper times. When it's collapsed it's a "black box" anyway, might as well take advantage of that.

This way, if someone builds some massively complicated integrated circuit, you can run it as fast as possible when it's not being animated.

<comment><USER7> The flip-flops are implemented like that. They're mostly a bunch of NAND gates behind the scenes. In the future, I plan to let anyone create a sub-circuit, but that has some challenges that I think I'd rather face after I make the first desktop release.

The biggest slow-down is intentional, though. Since the wires are colored, propagation is currently limited to the frame rate so that all changes can be seen. Some circuits, like the oscillator sample, look pretty strange when propagation isn't tied to the frame rate. I plan to add a setting to turn off wire colors, and then I'll probably make the propagation adjustable too.

</comment></comment></comment></comment><comment><USER14> If this looks familiar to you, it was previously at <http://joshblog.net/projects/logic-gate-simulator/>, announced on [http://joshblog.net/2008/11/03/logicly-a-logic-gate- simulato...](http://joshblog.net/2008/11/03/logicly-a-logic-gate-simulator- built-in-flex/), as a demo for a user interface library called flexwires.

<comment><USER7> Yep. After receiving email after email for a couple of years, from folks who enjoyed the app and wanted to see more, I decided to try to take it to the next level.

</comment></comment><comment><USER15> Before clicking the link I thought "Meh, another lame .ly startup" ...

But, that's seriously cool. It reminds me of Rocky's Boots for the Apple ][

<comment><USER16> writing a Rocky's Boots clone has been on my TODO list for like 10 years, among other things. note to anybody else thinking of making it: I'd buy a copy!

</comment></comment><comment><USER17> It might be educationally useful to be able to show propagation delay for the gates graphically -- actually show the signal "flowing" through the circuit. It would make it easy to demonstrate where glitches in a clocked circuit come from, which is hard to internalize by just staring at a diagram.

</comment><comment><USER18> Ah yes, I remember Logic.ly :) It was the inspiration for my object oriented design class project. I had to implement a logic gate simulator in .NET last semester and I stumbled upon it while doing research on the Internet. Very well made, kudos to whoever made it!

</comment><comment><USER19> Very nicely done! I think the separation of simulation is makes it more sensible.

We did something similar in the earlier days of Creately, but ended up focusing on more diagramming and less simulation as time went by.

I think use cases like this belong purpose built apps like Logic.ly - a lot more UX optimization can be done.

You can play with an example of a Multiplexor with simulation if you are interested - <https://creately.com/creately-start?tempid=fvtdhokh2>

Nothing fancy really. Use the "Properties" panel to change signals of inputs. The UX can be better - bringing me to the point of purpose built apps. :)

</comment><comment><USER20> Interestingly enough, I was thinking about this very domain name for a very similar application. I've written a logic simulator (of sorts) in C with a Qt frontend that supports multiple data types on wires, designed for home automation.

</comment><comment><USER21> If you like this, you might like <http://quickfuseapps.com> , which is basically logic circuits for voice apps. Demo calls are free.

Also, QuickFuse doesn't use Flash, it's pure JavaScript and canvas, so in my experience it's a bit more performant. (Full disclosure: I wrote code for QuickFuse.)

Incidentally, is it just me or are circuit-based apps becoming more popular? It seems like it is becoming a more accessible paradigm to more people, and the web (well, ignoring Flash) is now able to robustly provide such UI's.

<comment><USER7> While JavaScript is now a bit faster than ActionScript in some browsers, I think most benchmarks are still showing that Flash Player renders graphics faster than Canvas.

Is there any part of Logicly in particular that felt slow to you? Please note that signal propagation does intentionally limit the speed of the simulation at the moment. However, dragging objects around on the design canvas felt exactly the same to me when I tried it in both Logicly and QuickFuse in Flash Player 10.1 and Chrome 6 respectively.

</comment></comment><comment><USER22> Is there a tutorial, for those not so familiar with electrical engineering? Also I would like to know how exactly DRAM or SRAM works, is it possible to illustrate using this simulator?

</comment><comment><USER23> It took me far longer than it should have to get started. After clicking on the oscillator circuit I kept trying to flip the switch like your instructions say but what I didn't realise was that I had to be in simulate mode to do this. The button that makes this obvious is tucked away in the bottom left had corner - the last place I ended up looking.

Once I figured that out though I enjoyed using it.

<comment><USER7> Thanks for the feedback. I'm probably going to play around a bit more with the UX for the simulation, and this info helps.

</comment></comment><comment><USER24> If I were using this in a computer architecture class I would probably want to have subdesigns and a great deal more components. The things you can do with this are sort of limited without these features. Also, I would need to have waveforms. It looks pretty good though.

</comment><comment><USER25> there needs to be a time-series view.

</comment><comment><USER26> it would be great if you could let users select these symbols: [http://de.wikipedia.org/wiki/Logikgatter#Typen_von_Logikgatt...](http://de.wikipedia.org/wiki/Logikgatter#Typen_von_Logikgattern_und_Symbolik)

<comment><USER7> I've had a couple requests for alternate symbols. I'll certainly keep it in mind.</comment></comment>


In Defense of Eye Candy - <AUTHOR> http://www.alistapart.com/articles/indefenseofeyecandy <comment><USER2> Of course, we all know --

      Beautiful is better than ugly

but sometimes people forget --

      Useful is even better than beautiful

<comment><USER3> But strangely, so many things in the tech world are ugly and useless. They often seem to go hand in hand, in fact.

<comment><USER4> They can be useful (capable of doing useful things), but very poor at communicating their abilities (poorly designed interfaces). Part of the gut feeling that a design is beautiful comes from it communicating well, not sending a cluttered or confusing impression. What does the feeling that a design is ugly tell you?

A lot of programmers spend so much time dealing with problems in the "plumbing" (functional) level that they neglect interface, so in effect, using the program is like plugging together wires and hoses in a box full of moving gears and grease. Unix pipes are _great_ for getting stuff done, but a lot of people don't want to deal with things at that level.

<comment><USER5> I don't think it's programmers per se. Companies just don't think of design as part of the solution package. I've worked at many companies where you have new web projects and applications and we spend so much time architecting the solution and implementing it. When it comes to the design, - oh just slap on a nice stylesheet or have a visual/graphic designer polish it up.

Good design is more than just pretty graphics, but companies don't see it that way. And more often than not, programmers, who have no visual or usability training are put in a position where they must come up with a good interface and interaction design themselves.

For many companies that is the reality.

<comment><USER4> Yes, it's definitely not just programmers, but I'm expecting there are more programmers reading here than (say) architects or urban planners, who have their own design dilemmas.

> And more often than not, programmers, who have no visual or usability > training...

It's not just that; the elements that affect usability _during development, debugging, etc._ are often completely unrelated to elements affecting usability for end users, so you get interfaces like this: <http://www.ok- cancel.com/comic/4.html> That's a great interface for ... figuring out if endian-ness is affecting a music player. Or something. Certainly not for using it to play music.

</comment></comment></comment></comment></comment><comment><USER6> I believe the point of the article is that usefulness extends beyond the merely functional. Beautiful isn't cognitive eye candy, but rather a necessary component of empathy.

</comment><comment><USER7> I found correlations in this to the process of moving (kicking and screaming) from a technical to business development role. No user cares (and no user should care) about the deep underlying "how" something works. They care about what it does for them, and like the article said good aesthetic design is more than just beautiful.

</comment><comment><USER8> Studies have shown people find software to be more useful if it is aesthetically pleasing. Beauty is functional.</comment>


Recent Immigrants Turned Virginia from Deep Red to Solid Blue – NYT - <AUTHOR> https://www.nytimes.com/2019/11/09/us/politics/virginia-elections-democrats-republicans.html <comment><USER2> > In 1990, the census tracts that make up Mr. Katkuri's Senate district were > home to about 35,000 people — 91 percent of them white. Today, its > population of 225,000 is just 64 percent white.

A very rapid demographic change - but not that much faster than the US average. Just change 1990 to 1960, and it's describing the US. I suppose the shrinking majority is upset at losing political power.</comment>


Searching on Instagram and Flickr by geotag - <AUTHOR> http://current-location.com?r=yc

<comment><USER2> stalking on strangers near you newer been easier :D</comment>


If Facebook is about transparency, Google+ is about organising information. - <AUTHOR> http://www.firstpost.com/sd.php?id=35790&cat_id=548

<comment><USER2> Link didn't work for me, but [http://www.firstpost.com/blogs/if-facebook-is- about-transpar...](http://www.firstpost.com/blogs/if-facebook-is-about- transparency-google-is-about-organising-information-35790.html) did work.</comment>


A list of resources for finding Product Market Fit - <AUTHOR> https://www.jooseph.com/ <comment><AUTHOR> Hello Everyone I just curated a list of resources for help you to find Product Market. A lot of us having hard times to understand the concept and there are a lot of buzz around. So, I thought, a list for really great resources to product market fit can be helpful. You can find the list after sign-up

Also, I am still gathering resources for a lot of topics such as Covid-19, Go language, UX Design and more. So if you wanted learn something but never found the time for searching resources, it might be good time to start for it. I can curate a list for that, just leave a comment about topic you want to learn. I hope it helps.

Thanks and Stay at home :)v</comment>


Ask HN: How do you promote yourself? - <AUTHOR>

Though my work featured in Indian/UK/German magazines [1], I have a hard time promoting myself because it feels too much like bragging. How do you do that?<p>[1] http://giis.co.in/LFY.png
    http://giis.co.in/giis_LXF.jpg
    http://giis.co.in/ct_pg2_Jan_2014.jpg <comment><USER2> What do you mean by promoting yourself exactly?

That gives me the idea that you expect people to find you for work/jobs/thenextbigthing -- much like an actor might want to be promoted. That's not usually what you're doing as a developer.

If you mean promoted just by having an online presence that you can share with potential clients/employers/businesspartners, I suggest a few things:

1) Have a simple, clean website that talks about you and your work. It doesn't have to be bragging -- just present the facts. Even though as developers we aren't always concerned about the look of things, I suggest buying a good, "pretty" template and using it. Or getting a designer friend to help you. [http://giis.co.in/](http://giis.co.in/) for instance isn't what I'd go for.

Speaking of your current site if you're looking to promote yourself, you might want to actually put content in your About Me page instead of just this: [http://giis.co.in/readme.html](http://giis.co.in/readme.html)

2) Are you on Twitter? Make sure your tweets reflect who you are / who you want to work with / what you're interested in / what you work on. Link to this from your site, and vice versa.

3) Have a good LinkedIn profile set up as well. Don't just list where you've worked and what dates, but explain the projects you've worked on. There are multiple ways to link out to those articles you posted pictures of. Even better if you can find online articles to link to instead of just pictures of print magazines.

4) Much to my own chagrin, GitHub IS your presence online to other devs / clients / etc. Is GIIS there? If not, could it be? That could certainly help get attention on your project and you as a dev.

Again, let us know exactly what you mean by promote and I'm sure there will be more advice given.

<comment><AUTHOR> thanks for the response. promoting myself so that I can establish contact with recruiters/start-up founders/investors or businesspartners:

\- recruiters/managers/investors most often doesn't even bother about CV/articles you shared.

\- I agree on (1) will make necessary changes.

\- I do have linkedin/twitter/github pages but they are not linked from personal site and also they are missing most of the things you listed.for ex, linkedin just list of companies, no projects listed.

<comment><USER2> Still seems like you're trying to get them to find YOU, instead of you finding them.

Find those people you're talking about. Tweet them, email them, look at their sites and job postings. Apply.

They're not looking for you, or anyone else, specifically.

And yes on LinkedIn you can most definitely list projects. Attached to a company, but you can even put your freelance as a company you worked for. Then attach said projects to that. Even allows for screenshots to be attached, links to external sources, etc.

<comment><USER3> Exactly. If you want visibility in any community you need to engage with the people there.</comment></comment></comment></comment>


An Analysis of vgo - <AUTHOR> https://sdboyer.io/vgo/intro/ <comment><USER3> I think the current approach of announcing the death of `dep` before even having a stable alternative (`vgo`) is deeply flawed. With `dep` the ecosystem finally had something most of the developers agreed on, despite whatever shortcomings it had. The model was working. They could have adopted dep and improved on it. The packaging story for Golang has gone from worse to OK to worse again.

After all this progress, we still don't have a stable alternative and no clear date as to when it might be ready or even worse, the community is still not sure vgo will be the final one. Golang should be about pragmatic, practical decisions. The packaging situation is just the opposite.

<comment><USER4> I don't disagree — dep has been a huge improvement on Go's package management story. Until dep was stable, we were using Glide, which is extremely buggy.

That said, if you ignore the doubts and arguments about the sanity of its dependency resolution algorithm, I think vgo's introduction of modules is its real contribution.

Go packages have been problematic since the start since their design, naively, conflates a bunch of concepts that most developers keep separate: File location, file structure and source repository. That is, when you do 'import "github.com/foo/bar"', there's a whole bunch of conventions at play that dictate where it can be fetched from and where it should be in the file system. Aside from the fact that the $GOPATH convention is maddeningly annoying to many developers, the design has several issues, such as that an entire git repository has to be fetched in order to use a nested package, or that a package can have multiple import paths. But getting rid of $GOPATH is in itself a huge deal.

I'm personally less concerned with the new MVS algorithm (though I personally prefer the more traditional lock file approach such as that used by dep, Cargo, Bundler, NPM, etc.), as long as I can get modules. While getting modules retrofitted into depwithout all the other stuff in the proposal would be lovely, I don't know if the module design is too dependent (heh) on the rest of vgo's versioning thesis to be separated out.

<comment><USER5> All of this feels like a classic case of "the perfect is the enemy of the good". Package and dependency management in Go is honestly a total mess today and with vgo challenging all current assumptions about how to generally approach packagement, it brings complete paralysis to the simple question of "how should I organize my dependencies _right now_ ".

As much as I loathe JavaScript or Ruby these days for their language, using npm or bundler simply feels sane despite all of their warts. Yes, `left-pad`. Yes, they do have their issues. But seriously, they just work and all open source packages comply to their specifications. And they can and do evolve gradually, like yarn shows.

It's just so funny how careful the Go community seems to tread about not breaking their language with all these Go 2 proposals and general resistance to new features — and then completely ignore this spirit to "move fast and break things" when it comes to package management.

<comment><USER6> > using npm or bundler simply feels sane

I feel the opposite. Lock files are awesome when your developing a package, but after you release it, you are at the mercy of all your dependencies in making sure that they don't break semvar. Each "npm install" will ignore any lock file your package was using during development.

It would be awesome if I could distribute a package-json.lock file with my npm package and have yarn/npm use it when resolving packages on fresh installations.

Yeah, this would mean that there may be duplicated libraries in your node_modules tree, each with a slightly different version, even if semver compat. However, people break semver to often anyway.

I want to deploy a package to npm and be sure that it will _never_ break, _ever_.

<comment><USER7> Can't you do this right now by specifying exact dependency versions in package.json? Lock files should be for applications, not libraries.

<comment><USER6> Yes, but "npm install" will by default add a semver-compat package version. The vast majority of packages out there use what "npm install" gives you be default.

Furthermore, even if I use exact versions in my package.json, that doesn't stop my referenced packages from internally referencing semver-compat versions.

At the very least, you should reference exact versions at the top level. It is better than nothing.

</comment></comment></comment></comment></comment></comment><comment><USER8> Though this is well written and I'm sure Sam is trying to set a tone of respect and appreciation of what is good in vgo so as to start on the right foot, he is also "burying the lead" in that he never gets to the point.

I think Russ did an unusually good job of explaining the ideas around vgo, grounded by using real world examples. He set a high bar there, but hopefully Sam adopts some of the same methods of very concrete examples to explain his criticisms.

As it stands this is an interesting piece of reading but is too high level and abstract in its criticism to be effective. Looking forward to future installments that hopefully that will make Sam's criticisms clear.

From what I can tell one piece of criticism is the inability of vgo to define incompatibilities. That is that if you know these versions won't work, you can say never allow that version in your dependency graph. I'd love to hear more examples of this in the real world. Since vgo dependencies are basically always "pinned" this seems like that not big a deal to me, but maybe I'm missing something. Perhaps this is something that occurs with having two of your dependencies having different dependencies on a third package and one of those works only with firstname.lastname@example.com and the other only works with email@example.com or somesuch.

Maybe there are ways around that or maybe that's not the actual problem (again, hope Sam explains more in the future). I think there is a really interesting element to MSV that will actually drive Go culture though (and I'm a big believer in the importance of the culture of a language) which I think may minimize the problems that Sam is talking about and for the betterment of the community.

As others have noted, I hope that Sam comes out with the rest of this series quickly so that the go community can commit do a direction sooner rather than later and move on to actually building this new ecosystem.

<comment><USER9> > he is also "burying the lead"

The expression is burying the lede, not lead.

<comment><USER8> Hah, thanks, learn something every day! [https://www.merriam- webster.com/words-at-play/bury-the-lede-...](https://www.merriam- webster.com/words-at-play/bury-the-lede-versus-lead)

</comment></comment></comment><comment><USER10> The basic upshot of all this is that vgo's attempt to avoid NP-completeness in the dependency resolution algorithm is solving a problem that doesn't matter in practice, and is simultaneously creating downsides that _do_ matter in practice.

This is consistent with what I've seen with systems like Cargo. If I had to make a list of top 10 issues I run into with Cargo, theoretical scalability of the core dependency resolution algorithm wouldn't make the cut.

<comment><USER11> On the other hand, git became successful by being fast and by not solving certain of the hard theoretical problems that specialists were obsessed with solving. It's hard to know before hand what the healthy compromise might be.

<comment><USER12> This rings as a wrong interpretation of history.

When git became successful, there were scant few other options with a comparable feature-set regardless of speed.

Its distributed nature, ability to easily merge and rebase sets of changes, etc, were all wonderful solutions to real problems.

I'm unconvinced that its success was because it solved fewer problems than the state of the art, but rather that it solved more. This is a stark contrast to vgo which is intentionally solving fewer problems than other modern dependency management tools.

In addition, git must be performant enough to handle a git repo (namely the linux kernel, its original usecase). Beyond that, I think there's no evidence it intentionally cut features or complexity to be faster.

In the case of vgo, it cuts additional user-facing features in order to be faster, but there's 0 evidence that the speed matters, that there are any go projects in the world that cannot be solved quickly enough with an approximation of a sat solver.

<comment><USER13> Mercurial was pretty close to contemporaneus. And when git was first launched it was extremely bare bones and even more incredibly hard to use than it is now. Darcs, Monotone, and Arch were slower and I think predated git. Darcs in particular blew the doors off of git as far as ease of use given the problem domain.

Git won almost entirely due to two factors.

1\. The linux kernel used it so that brought some prestige.

2\. Github made git hosting easy and free for a lot of people and had the cultural cachet to drive adoption.

Git has a very solid underpinning. But it's user interface and lack of guard rails has always made it painful. People endure the pain because if they don't they won't be able to use the tool that their industry has chosen. But some of us wish a different choice had been made in the dvcs arena.

<comment><USER14> It's also important to remember just how far Git was ahead of most competitors in performance. I was using monotone quite a bit around this time, and while its UI was frankly not much better than git's, it at least worked acceptably quickly. Darcs was mostly defined in the public eye by the exponential merge issue. Hg was fine, for some definition of fine, but it was enough slower than git to be annoying -- maybe not deal-breaking, but noticeable on pretty much any task.

I remember installing cogito to act as a front-end for git because very early on it seemed obvious that (a) git was going to win, and (b) it was going to win in spite of its UI, which was saying something.

</comment></comment></comment></comment></comment><comment><USER15> > If there are two algorithms that satisfy the same requirements, and only one > is NP-complete, you pick the other one.

Problems can be NP-complete. Algorithms cannot - they can be exponential time (and if your choice is between exponential and double exponential, you pick the former!)

In practice, and especially for SAT solving, as far as I understand the state of the art is that the general case is NP-hard but we have tools that work surprisingly well in those cases that reality tends to produce. In some more academic cases, we even have heuristic solvers that are not even guaranteed to terminate, but usually do so within a couple of seconds, so you can get away with the "beginner's solution to the halting problem".

<comment><USER16> _> In practice, and especially for SAT solving, as far as I understand the state of the art is that the general case is NP-hard but we have tools that work surprisingly well in those cases that reality tends to produce._

You're correct. Modern version solvers need _fairly_ sophisticated algorithms, but it's not rocket science. It's mostly a non-problem for most users of most package managers most of the time.

<comment><USER17> The thing that worries me about this line of thinking is that as far as I know, we don't know much about why SAT solvers tend to work well in practice. So if I ever happen to hit a problem that the solver cannot solve, all we can say is "well bad luck". If the algorithm fails, I won't have any way to know why. This strikes me as a bad situation to be in.

</comment></comment></comment><comment><USER18> Could anyone distill this down for the casual reader? The author has a fairly laborious style and seems to be writing for an audience that is intimately familiar with the internals of dep and vgo.

<comment><USER4> The article is about vgo, a proposal (with working prototype) to build package management into Go itself.

vgo bundles several improvements, a major one being the introduction of "modules", which are versioned collections of packages. Modules, among other features, will let us decouple the import path from the file system structure and source repository, making the awkward and much-maligned $GOPATH finally obsolete.

vgo also introduces a new dependency resolution algorithm, minimal version selection (MVS), which is different from traditional dependency resolution algorithms in that it will at any time choose the _oldest_ allowed version that satisfy the minimum version constraints specified in the list of imported packages, where other systems will choose the _newest_. As MVS does not require (as with dep) a complex boolean SAT solver with potentially pathological, NP-complete cases, it is much simpler and faster to compute. However, it also has downsides. (Edited, thanks to pa7ch for correction.)

The author likes pretty much everything about vgo except the MVS algorithm, which has been deeply controversial since the proposal was first published. The author goes into explanations of why he thinks MVS is a bad fit, but this is a complicated topic, so you really have read both the vgo proposal and this rebuttal to understand what it's all about.

The article was written by Sam Boyer, one of the designers/authors of dep. While he has been courteous about it, there are obviously emotions at play; during its development, dep seemed to have the blessing of the official Go team, and this proposal came out of the blue and probably felt like an ambush.

<comment><USER19> Minor correction: MVS requires modules to specify the minimum version to use of a module. The algorithm will then select the _newest_ among those based on the idea that semver is forward compatible among minor versions. The name minimal version selection throws people off.

Other algorithms would select the newest release within a major version even if no module has ever tested it and it was released 5 seconds ago.

When authors do make incompatible changes and MVS selects a broken dependency, as expected, there are manual escape hatches. More complicated NP complete algo's would have more of an automated answer here by allowing dependencies to have boolean constraints (greater then X, less then Y, not Z etc.) on version so that there is this collaborative summation of constraints to work around authors violating semver or bugs. To summerize poorly: It seems Sam Boyer regrets that dep didn't do what vgo does by default, but believes that a SAT solver could kinda do MVS for the happy path but still solve against the introduction of boolean constraints.

Personally, I'd like to let vgo play out a bit, I'm not convinced boolean constraints are something I really want imposed on me by my dependencies.

More info for those who are looking for more context: [https://research.swtch.com/vgo](https://research.swtch.com/vgo) [https://github.com/golang/go/issues/24301](https://github.com/golang/go/issues/24301)

Whether you agree or disagree, its novel research in this field and excellent technical writing worth reading in its entirety over a cup of coffee.

<comment><USER4> Thanks for the correction; I worded that unclearly. My point is that with MVS, the solver will favour the oldest package that is allowed by the semver version constraint; given transitive dependencies on multiple packages, it will conservatively pick the oldest that satisfies all the constraint. You can bump the version you want by updating the version constraint, but unlike other tools (e.g. Cargo [1]), it will always favour the oldest allowed version.

[1] [https://research.swtch.com/cargo- newest.html](https://research.swtch.com/cargo-newest.html)

<comment><USER20> Well, sort of. It's more like it has implicit versioning based on a lock file.

In other systems like Cargo and NPM you have a "lock" file which specifies the exact current version of dependencies to use, e.g. if you say you depend on "foo >=1.0" and when you build your project it actually downloads "foo 1.4", this will be written to the lock file. When foo 1.5 is released, it won't be automatically upgraded even though you said it should be fine.

vgo is exactly the same. When you first add foo1 it will implicitly (via semver) assume you meant "foo >=1.0" and download the latest version - <USER2> 1.5. That version will be written to the lock file (go.mod) and when foo 1.6 is released it won't be automatically used. Exactly the same as NPM and Cargo.

And just like NPM and Cargo you can trivially update to the latest compatible versions of your dependencies with `vgo get -u` (like `cargo update`).

It's not that different. The main differences are you can't specify maximum versions, and different major versions are treated as different packages so you can easily have them both.

</comment></comment></comment></comment></comment><comment><USER21> For an introduction to vgo and to see the other side of argument, watch the presentation from Russ Cox: [https://www.youtube.com/watch?v=F8nrpe0XWRg](https://www.youtube.com/watch?v=F8nrpe0XWRg)

I was sceptical but now kind of sold on the idea after wathing the presentation.

</comment><comment><USER22> Anyone have a bullet-pointed summary of the "crux" of what the author dislikes about MVS?

I find MVS to be a very natural and simple solution to versioning - I feel like it's much closer to how people actually manage their dependencies in practice.

After an admittedly low-effort skim of this article, most of the arguments seem to be that the author doesn't think it "feels right". Is there something more concrete hidden in here?

<comment><USER23> Its a long post, but I don't think he actually gives the reasons, rather he intends to write several additional posts that will.

<comment><USER24> Honestly, Russ Cox published his first post about vgo on February 20 ([https://research.swtch.com/vgo](https://research.swtch.com/vgo)). It's been almost 3 months then. It's not fair to ask the community to wait any longer. If Sam Boyer has good reasons to oppose vgo, then he should publish them now.

<comment><USER25> Russ waited over a year and a half before engaging meaningfully with the community on package management, and waited another nine months before coming up with this greenfield proposal. There's no reason to rush things now.

<comment><USER26> > _There 's no reason to rush things now._

Golang is hurting right now because of this issue. In fact this and the lack of a canonical GUI approach are the only two caveats I have when suggesting the use of Go.

I'm not saying to rush, but the constant churn in this space needs to end as soon as it can. For a language with as much of a focus on simplicity and stability as Go, it's embarrassing that this has been an issue for so long.

I have been using Go professionally[0] starting sometime between 1.1 and 1.4 and in that time I have something like 4-5 different ways of handling dependencies in my repositories based on when those projects were started and/or last overhauled. Each time I changed my approach I was following the current best practices, or so I believed. It's madness, and it has to end sometime.

[0]: Started playing with it in 2009, in fun projects I'll use whatever works and/or is fun and/or gets the job done soonest. In professional projects I'm much slower to adopt new tools.

<comment><USER25> > Golang is hurting right now because of this issue.

Go was hurting _three years ago_ because of this issue. The pain was tractable and critical. The community made a thorough and good-faith attempt to end the churn with `dep` -- which was summarily dismissed, ignored in part and whole.

I don't see why `vgo` should get the fast track now, when the core team has been dragging their feet on the issue for years.

<comment><USER26> > _The community made a thorough and good-faith attempt to end the churn with > `dep` -- which was summarily dismissed, ignored in part and whole._

I've used `dep` on a few projects and I don't mind it. If that's what we use that's fine with me.

> _I don 't see why `vgo` should get the fast track now, when the core team > has been dragging their feet on the issue for years._

I think you misunderstand my point. I'm not throwing my weight behind `vgo`, I'm throwing my weight behind _making a long term decision of any kind_.

I get that it's important to take your time and get things right. That way you can avoid starting down one path and wasting everyone's time, then switching and declaring that everyone follow you down this one, and so on, and so on...

Oh wait - that happened anyway.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> i think one fundamental problem is that for most ecosystems, versioning is almost entirely arbitrary, manual and dissociated from language semantics.

the elm package manager seems to take a step in the right direction where changing a function signature will force a version bump if you want to publish the update. (iirc)

are there other languages/ecosystems that do something interesting with versioning?

<comment><USER28> We're working on similar tooling to that in Rust [https://github.com/rust- lang-nursery/rust-semverver](https://github.com/rust-lang-nursery/rust- semverver)

</comment></comment><comment><USER20> This badly needs a TL;DR. If there's something seriously wrong with vgo's dependency versioning then it should be possible to explain it in less than 100k words.

<comment><USER12> > If there's something seriously wrong with vgo's dependency versioning then > it should be possible to explain it in less than 100k words.

That is a very lazy argument.

It's perfectly reasonable to claim something is flawed for numerous complex reasons. It's equally reasonable to claim that a complex flaw may be difficult to explain concisely.

Most importantly though, I don't think Sam is claiming that there's an obvious fatal flaw in vgo, but rather that it is not the ideal choice given the problem space.

To make that more subtle argument, it is necessary to fully define the alternatives and problem space, which is what a lot of the words are attempting to do.

The tl;dr would be along the lines of "vgo knowingly makes a set of tradeoffs which I think are worse than the tradeoffs that are possible with another hypothetical option, which I am also proposing"... but that tl;dr is not really a very useful one, and attempting to condense a more meaningful one will lose a bit too much nuance I think.

<comment><USER29> The post could stand to have an introduction that lays out its arguments at a high level, as is hammered into students at every level of English class.</comment></comment></comment>


Apple Just Gave 1.4B iPad, iPhone Users a Reason to Leave - <AUTHOR> https://www.forbes.com/sites/gordonkelly/2019/08/24/apple-iphone-ipad-privacy-siri-recordings-ios-upgrade-iphone-xs-max-xr-update/ <comment><USER2> We, the ones who fully understans how technology works, must stand in favor of the ones who don't and can't make a truly informed decision when using technology. Tech companies must stop the dark patterns, information obfuscation and misleading and start informing all it's users in a exhaustively, clear and transparent manner.

</comment><comment><USER3> One key difference here is that Apple was apparently actively trying to minimize any personal or sensitive information that leaked through to the "graders", whereas I don't think any other company gave a damn.

I certainly understand why ML systems need to be trained and once in production, they need ongoing training and tweaking at all levels.

On the whole, I don't think Apple did anything wrong here, with the exception of running this service and not telling their users it was being done. They should have been more open about the need for ongoing training, and the extent to which they would go to anonymize the information being gathered.

I still would have opted out, just like I've opted out of all voice recognition/assistant systems from all other sources. But at least then Apple would have had a decent chance of keeping this service in operation.

</comment><comment><USER4> How is it even humanly possible to listen to a 1000 recordings a shift?

</comment><comment><USER5> One whistleblower cost 300 people their jobs.</comment>


iOS 13 bug grants third-party keyboards full access to iPhones - <AUTHOR> https://9to5mac.com/2019/09/24/ios-13-bug-grants-third-party-keyboards-full-access-to-iphones-even-when-users-have-it-turned-off/ <comment><USER2> I know your title is from the title of the article, but it's pretty misleading.

Just to clear things up, it seems like the bug grants the "Full Access" permission to 3rd party keyboards which allows them to make network requests (phone home) based on what you are typing while you have that specific keyboard opened. It doesn't grant the keyboards full access to anything on your iPhone, which is what the title makes it sound like.

edit: Here is a link to the Apple support article, which is a little clearer: [https://support.apple.com/en-us/HT210613](https://support.apple.com/en- us/HT210613)

<comment><USER3> This article title is the IT equivalent of click bait.

<comment><USER4> If you think IT articles didn't have clickbait titles until now... oh boy.

</comment></comment></comment><comment><USER5> The stock iOS 13 keyboard has swipe now, which means that I don't need a third party keyboard anymore, which I assume was sending everything I typed to some server for advertising purposes.

<comment><USER6> Unfortunately, QuickPath is available only for English keyboards.

Edit: my bad, this is not true, thanks for correcting. Still, only available for a few languages, so doesn't fully replace Gboard for all situations.

<comment><USER7> Interestingly, my keyboard switches between English and Spanish when using QuickPath, and I don't know how to turn it off!

<comment><USER8> You have to delete Spanish as a secondary language from your iPhone. (I had to do the same with Portuguese.)

Turns out it's not under Keyboard settings, it's under the language settings for your phone itself.

</comment></comment></comment></comment><comment><USER9> Thankfully, I was finally able to uninstall gboard (google's swipe keyboard). Don't know why it took Apple so long to implement swipe keyboard feature.

<comment><USER10> Agreed on 'what took them so long' but I am still using SwiftKey for now, because I find the Apple swype implementation isn't as reliable for me. And for some reason the Apple keyboard doesn't always have a backspace key. Which is weird and when it happens pretty frustrating.

</comment></comment><comment><USER11> I will admit to not actually looking at how third-party keyboards are implemented (specifically, how are security risks mitigated), but have always stayed away from them on instinct. For me, the potential value just doesn't outweigh risk.

<comment><USER12> Without "full access," the API surface is basically nil and the keyboard is just a dumb app. With full access, the keyboard can phone home with everything you're typing. Kudos to Apple for calling it "Allow Full Access" to make people sufficiently wary of it.

</comment></comment><comment><USER13> Can anyone recommend some great third-party keyboards that do not depend on the "full access" ability to phone home?

<comment><USER14> MessagEase.

When I switched to it I felt so liberated from the tyranny of autocorrect mistakes.

<comment><USER15> You can turn of auto correct and all the gimmicks like spell checking, predictive typing, smart punctuation and auto capitalisation for the stock keyboard by going to Settings > General > Keyboards

<comment><USER14> Yes, but a QWERTY touchscreen keyboard needs some smarts to be usable. MessagEase doesn't.

</comment></comment></comment></comment><comment><USER16> First we have a security issue in iOS 13.0 — a lock screen bypass vulnerability which isn't easy to exploit — that should've been fixed before mass release. But Apple wanted iOS 13 to be out for all iOS users for the launch of the new iPhones 11. So we get iOS 13.1 in a week (Sep 24) from iOS 13.0.

Now we find that a much more severe issue with unexpectedly granting third party keyboards Full Access is yet to be fixed. Shouldn't this issue take higher priority (not implying that the same teams work on all security issues)? This seems like a betrayal of trust. Nobody would expect a third party keyboard to get Full Access and transmit all keystrokes over the network unless they granted that permission.

Is Apple now planning to release iOS 13.1.1 or iOS 13.2 by September 30 with the fix for this and some more fixes for stability?

It seems like the beta testing cycle still going on for iOS 13.0.

Apple has focused on better performance over the last two years and shown good results (older devices don't slow down as much with newer iOS releases as in the distant past), but stability and security both seem to have taken a hit within Apple's technical abilities and processes, as is evident from the revelations, from Google's Project Zero and others, in the last few months or so.

<comment><USER17> This isn't "keyboard has access to everything" it's "keyboard can make network requests" - now we can argue over whether that's good or not (a lot of predictive keyboards use network requests to update for current events etc), but this seems by design whereas the seeing your contacts thing is clearly a bug.

I'm still unclear why the contacts DB isn't class A data (eg wrapped by a key that is only available when the device is actually unlocked), I _assume_ it's perf related.

Anyway, feel free to say "accessing contacts from lock screen is a bug", but for the keyboard stuff you need to compare to the android equivalents, which IIRC are even worse :-/

<comment><USER18> > I'm still unclear why the contacts DB isn't class A data (eg wrapped by a > key that is only available when the device is actually unlocked), I assume > it's perf related.

It probably has to do with the actual phone part of the device. When you receive a call while locked, you can't show the contact name associated with that number if the contacts are locked behind the lock screen.

<comment><USER19> A good case for Face ID - I know an option allows it to hide notifications when it's locked, but I don't believe there's one to hide the contact's name.</comment></comment></comment></comment>


Apple refunding all purchases of Peace - <AUTHOR> http://www.marco.org/2015/09/21/peace-refund <comment><USER2> Apparently Marco Arment made an ad-blocking app for iOS called Peace, then after 2 days decided that he didn't want to be in the ad blocking business for ethical reasons and so pulled the app. He explains his reasoning here:

[http://www.marco.org/2015/09/18/just-doesnt-feel- good](http://www.marco.org/2015/09/18/just-doesnt-feel-good)

In this update, Apple has made the (apparently unprecedented) decision to proactively refund all purchases of the app, rather than requiring users to request refunds individually.

<comment><USER3> There really needs to be some way to pin these "necessary context for understanding the post" comments to the top of the thread. (Other than just upvoting, which as of right now hasn't yet achieved that.)

<comment><USER4> Additional context needed: is there something new in iOS 9 that makes ad blocking possible?

<comment><USER5> Yes, iOS 9 introduces a new content blocking API making ad blockers in Safari possible:

[https://developer.apple.com/library/prerelease/ios/releaseno...](https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html)

</comment></comment></comment></comment><comment><USER6> Translation: "Ad blocking is turning out to be way more popular than we expected, and it's making some rich friends of mine very scared."

Even I'm surprised at how popular ad blocking is becoming. I would not have expected the general public to be willing to actually _pay money_ to block ads.

Of course, when you have ads that try to take over my browser (Android), won't go away when you hit the "go away" button (iOS), or ads that suddenly play loud audio (both), I guess it's no surprise that even the general public now regards online ads as a nuisance to be blocked.

I have to admit, I have uninstalled quite a few apps recently because of offensively-intrusive advertising.

<comment><USER7> Welcome to the Streisand effect.

While it was extensions for browsers etc, it was one thing. But now Apple (take note) has built it into their most talked about product.

And given how the media production and apple products are intertwined, suddenly the media people sit up, take notes, and start talking/writing about it.

<comment><USER8> That doesn't sound like the Streisand effect. The Streisand effect would apply if ad networks actively suppressed information about ad blocking technology, sending DMCA takedown requests and threatening providers who host this type of software, which creates such a media buzz that people start picking it up, more because of the suppression than if the ad networks had just ignored it in the first place.

<comment><USER7> The media depend on ads for their revenue, and making noise about how bad it is has made people more aware that they can block ads...

<comment><USER8> Eh, I see the relation but it's not exactly it.

> The Streisand effect is the phenomenon whereby an attempt to hide, remove, > or censor a piece of information has the unintended consequence of > publicizing the information more widely, usually facilitated by the Internet > [wiki]

The streisand effect is about censorship, not about propaganda. If the current coverage is negative, it's a smear campaign at best. Censorship would be refusing to publish any articles on ad blocking entirely and somehow trying to get the apps taken down from the app store.

</comment></comment></comment></comment></comment><comment><USER9> Wow. That's a real example of putting money where the mouth is.

I always felt that he is an opinionated, stand up guy but this move actually proves that he means what he says and he was sincere about his feelings on ad blockers [1]. Much respect.

[1] [http://www.marco.org/2015/09/18/just-doesnt-feel- good](http://www.marco.org/2015/09/18/just-doesnt-feel-good)

<comment><USER10> In the submitted post he says Apple made the decision without consulting him.

<comment><USER11> This makes sense. The App Store is a store and Marco is a wholesaler to the store -- the customer's relationship is with Apple. Stores refund purchases all of the time without talking to their suppliers (or asking permission).

Peace uses a block-list that was kept up-to-date on a server -- without it, the app is useless (defective). Apple would be negligent not to refund it immediately.

</comment></comment></comment><comment><USER12> About this guilt for ad-blocking thing: wasn't Marco's entire fortune (pre Tumblr buyout) made by selling a service used to bypass content owners entirely and read their articles without ads, in one page, and in his own templates?

<comment><USER13> Not really. Instapaper's design was such that you had to look at the site — with all the ads — at least once to save the page to it. This was by design. Instapaper users wouldn't see ads on subsequent pages or on subsequent viewings, though.

<comment><USER12> Yeah, but just once though, and not to read the article there (obviously). You just saved it to "read it later".

So you didn't spend much time in the site, didn't see all the article pages (when they break it in multiple pages), and you sure didn't click any ads.

</comment></comment></comment><comment><USER14> Surreal. What's wrong with ad blocking? Maybe it would have created a market for micropayments which maybe it's far superior to ads? I know on my MIFI which charges insane amounts for wifi, anything that blocks popup videos or images while maintaining text and formatting is definitely loved by me.

<comment><USER15> There was another post he wrote about Peace a few days ago:

>I don't feel good making one and being the arbiter of what's blocked.

He doesn't have a problem with ad blocking, but doesn't want to be the one deciding what's blocked and what isn't

[http://www.marco.org/2015/09/18/just-doesnt-feel- good](http://www.marco.org/2015/09/18/just-doesnt-feel-good)

<comment><USER14> I don't buy this at all! Sell the App to someone who is prepared to fight the war .. marco has sold things before and knows how easy it is. (I have sold many apps, etc. Trust me.. it is very very easy)

My little hunch-o-maker tells me there is an untold part to this story and he's just trying to distract us from his real reasons.

If I were to guess, it was his tumblr/yahoo connections that reached out to him and asked him not do this. If he made a lot of money off of tumblr as a founder, than yeah, it'd be pretty sucky to build something that would hurt that product.

<comment><USER16> If it's an issue where he simply doesn't enjoy the feeling of creating Peace, as he says, selling it isn't a solution for that problem.

</comment></comment></comment></comment><comment><USER17> It must have been annoying for them to deal with thousands of refund requests by hand. I was expecting Apple would just bulk-approve refunds for this app, but it's great that they've gone one step further.

<comment><USER18> Apple handles the refund processes completely.

<comment><USER19> He did not imply anything else.

</comment></comment></comment><comment><USER20> What this is refering to: [http://www.marco.org/2015/09/18/just-doesnt-feel- good](http://www.marco.org/2015/09/18/just-doesnt-feel-good)

</comment><comment><USER21> Here is what it Apple said regarding my my refund.

[http://pastebin.com/2zgmekPi](http://pastebin.com/2zgmekPi)

<comment><USER22> Weird. I'm in the UK, and just chose the 'I want to cancel the order' option.

The email confirming my request and the email confirming the refund had been accepted literally arrived in the same minute.

<comment><USER23> The "I want to cancel the order" option is only available in the EU and a few other countries (like Taiwan) for up to 14 days after your purchase, but not in the US.

</comment></comment></comment><comment><USER24> Other things he could've considered:

      - changing Peace into a more responsible content-blocker, if that was his concern
      - giving the proceeds to charity
      - putting the proceeds towards a new type of ad company, or a new type of new/media business
      - funding scholarships for journalists

<comment><USER25> 1 is explained in his previous article: he doesn't want to be the arbiter of what is blocked and what is permissible

2 he addresses in the linked piece: which charity?

3: he tried this already with The Magazine and learned that he does not like those challenges

4: this is a bad solution and I'm assuming you offered it as a joke

</comment></comment><comment><USER26> Are they removing the app from peoples' phones too?

<comment><USER27> If you've already bought the app you can use it, not sure if you'll be able to redownload it in future.

</comment></comment><comment><USER28> (In general "which charity" has a simple answer: any. In general donating proceeds immediately solves accusations of self-interest, except perhaps for the component that it's reactionary rather than being announced ahead of time.)

<comment><USER12> > _In general donating proceeds immediately solves accusations of self- > interest_

Well, you still get the tax deducations, don't you?

Plus the goodwill ("here I gave all those to charity") bought with other people's money.

<comment><USER29> The tax deduction just cancels out the tax liability from receiving that money.

</comment></comment></comment><comment><USER30> The notoriety that this concept has managed to garner in the past 36 hours only secures the fact that a clone app (and however many more) will be made in a short period of time.

How much of an effect is removing the app really going to have?

</comment><comment><USER31> Do we have any ethical add blocker around. I would love to have an add blocker that disables tracking but allows ads by default, and I as a user should have option to block ads in some sites or block certain ad network i find offensive/creepy/...</comment>


Our Plan to Rebuild: The UK Government's Covid-19 recovery strategy [pdf] - <AUTHOR> https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/884171/FINAL_6.6637_CO_HMG_C19_Recovery_FINAL_110520_v2_WEB__1_.pdf <comment><AUTHOR> This includes new advice about face coverings:

> If you can, wear a face covering in an enclosed space where social > distancing isn't possible and where you will come into contact with people > you do not normally meet. This is most relevant for short periods indoors in > crowded areas, for example on public transport or in some shops. The > evidence suggests that wearing a face covering does not protect you, but it > may protect others if you are infected but have not developed symptoms. If > you have symptoms of COVID-19 (cough and/or high temperature) you and your > household should isolate at home: wearing a face covering does not change > this. A face covering is not the same as the surgical masks or respirators > used as part of personal protective equipment by healthcare and other > workers; these supplies should continue to be reserved for those who need > them to protect against risks in their workplace, such as health and care > workers and those in industrial settings like those exposed to dust hazards. > Face coverings should not be used by children under the age of 2 or those > who may find it difficult to manage them correctly, for example primary > school age children unassisted, or those with respiratory conditions.It is > important to use face coverings properly and wash your hands before putting > them on and taking them off. You can make face coverings at home; the key > thing is it should cover your mouth and nose. You can find guidance on how > to do this on GOV.UK.

(Frustratingly the link to "guidance on how to do this" just links to the main gov.uk website, it doesn't link to any guidance on how to make or wear face coverings.)

They also don't link to any evidence they've used to come to this conclusion.</comment>


YC W18 invitations/rejections - <AUTHOR> Did anyone hear anything? <comment><USER2> Got my 10th rejection late last night. Looked through my demo logs and it didn't seem like anyone even bothered to look at my demo. Then I went back and looked at my application form submission and realized I put the wrong link to my demo.. I spent months preparing for this and I put the wrong link!!?? lol.... Oh well, I can only move forward and continue with our plan. I have a feeling that the 11th time is the charm!

</comment><comment><USER3> So safe to say if we haven't received an email then we didn't get an interview for W18?

<comment><USER2> That's my assumption based on what I've read between here and Twitter. Disappointing but also motivating in the long run.

<comment><USER4> You will get an email regardless of if you are accepted or rejected.

</comment></comment></comment><comment><USER5> Is it just acceptance invites or rejection notification via email too?

<comment><USER6> They send both. Seems like the invites for interview are sent first.

<comment><USER5> Best wishes to all and let's change the world and give people what they want:P

<comment><USER5> Just got the rejection email. Next batch it is. Best of luck to the others

</comment></comment></comment></comment><comment> srb- Nothing here yet, but saw a couple invites celebrated on Twitter.

<comment><USER7> it's supposed to be at 10 Pm to give results no?

<comment><AUTHOR> I just checked twitter. Looks like acceptance invites are being sent out first.

</comment></comment></comment><comment><USER8> No emails yet. Does this mean a rejection?

</comment><comment><USER9> Yep, got an email an ~hour ago.

<comment><USER10> invite?</comment></comment>


Show HN: No-swears – remove swear words from JavaScript strings - <AUTHOR> https://github.com/gmemstr/no-swears <comment><USER2> Looks like it doesn't handle the Scunthorpe Problem - [http://tvtropes.org/pmwiki/pmwiki.php/Main/ScunthorpeProblem](http://tvtropes.org/pmwiki/pmwiki.php/Main/ScunthorpeProblem) .

<comment><AUTHOR> Totally open for suggestion on how to fix this - right now I'm using regex and a list of "profane" words, so nothing too fancy. But I'm interested in looking into solutions for this problem.

<comment><USER2> There is no easy solution. Look at that TVTropes page for a long list of failure cases.

This approach is at least 20 years old. Others have worked on it. Try investigating one or more of [https://github.com/topics/profanity](https://github.com/topics/profanity) .

</comment></comment></comment><comment><USER3> Could be interesting to include an optional argument callback that would receive the part of the string that's being censored and returns a string to replace that part of the word with - so that you can conditionally prevent censorship or censor it with something else than __*.

<comment><USER4> You mean change it to a less offensive word? That would actually be interesting.

</comment></comment><comment><USER5> So if I write BbitchIbitchTbitchCbitchHbitch, it would give me B ____* I __ __* T __ __* C __ __* H ?</comment>


New type of plastic is a recycling dream - <AUTHOR> https://arstechnica.com/science/2019/04/new-type-of-plastic-is-a-recycling-dream/ <comment><USER2> A good time to plug aluminum and glass, two materials which are infinitely recyclable.

Both Aluminum and Glass are chopped up into tiny pieces, then melted into a "slag". The high temperature and chemistry allows both Aluminum and Glass to be 100% as effective as their originals. Its a true, infinite recycling process.

In contrast: Plastics and paper are "downcycled". High-quality printer paper gets turned into newspaper, then newspaper gets turned into cardboard. Each step, the recycled paper loses value due to contamination. In effect, paper and plastic cannot be "purified" like Aluminum or Glass.

IIRC, Type6 Plastic can only be turned into the foam for carpeting, for example. Some plastics, like HDPE or Type5 (Polypropylene) are highly- recyclable... but no plastic is as good as aluminum or glass. All plastics undergo some degree of "downcycling", where each recycling iteration loses value.

<comment><AUTHOR> _The researchers also tested the physical properties of their "fresh" plastics by remaking them with recycled monomers. The results were good, with no change in their function._

The article claims that this process makes these plastics infinitely reusable with no degradation in quality. It can also create plastics of different types from the same recycled materials. The process also requires less energy than traditional heat methods

<comment><USER2> Oh yeah, I mean to give context why this new plastic is cool.

Mainstream plastic, like PETE, HDPE, PP, PS, etc. etc. are all "downcycled", never truly "recycled". Just like paper, they lose value each time you send them to the recycling plant.

This new plastic has a mechanism that might work for true recycling. But... maybe not. Its one thing to prove a few tricks, but in practice... won't contaminants also be dissolved in that acid bath?

Ex: a lot of plastic containers are used in the food industry. Many (american)-Chinese food businesses use plastic for their delivery service. Can the food contamination be effectively cleansed off perfectly?

Because Aluminum / Glass definitely burns off any food contaminants as it reaches 1221F (Aluminum Melting point) or 2552F (Glass melting point). And IIRC, the various contaminants either float to the top, or sink to the bottom of the liquid-mix at that temperature. Which is why the purification process is relatively easy.

</comment></comment></comment><comment><USER3> So what if a little peanut butter gets mixed in?</comment>


Ask HN: Best educational apps? - <AUTHOR> I generally use workbooks, but on a car ride, I sometimes let my Child use a learning app.  I have come across a number of great education apps for kids 3-6 such as Endless Reader by Originator, Quick Math Jr and Quick Math, Litebot.<p>I am looking for some other math and reading comprehension apps.  What apps have you come across that you thought were fantastic? <comment><USER2> For young children: [https://www.khanacademy.org/kids](https://www.khanacademy.org/kids) For older children and adults: [https://itunes.apple.com/us/app/khan- academy/id469863705?mt=...](https://itunes.apple.com/us/app/khan- academy/id469863705?mt=8)

</comment><comment><USER3> Here is a good list for Math games - [https://games.pcmac.download/search/math](https://games.pcmac.download/search/math) . It's for the iPhone. Ignore the Pc tutorials that teaches how to play each game in your iPhone. If you see An app you like, search for it on the AppStore on your device.

</comment><comment><USER4> I plan to develop a kids version of halfchess (see halfchess.com). One of my users recommended me to do that. Perhaps you could give it a try and send me any suggestions from the feedback button in about us page.

</comment><comment><USER5> I liked the Dragon Box Algebra apps for my kids at the time , and I see now they have one configured for age 5+, but I am not sure how well it sticks at that age.

<comment><AUTHOR> This looks great, I am going to see how it goes

</comment></comment><comment><USER6> Starfall: Learn letters, phonics, reading.</comment>


Code a Wiki, win a BeagleBone - <AUTHOR> http://nodebits.org/wiki-challenge

<comment><USER2> Probably a bit off topic: why all contest organizers want the project to be tweeted. There is one more contest (<http://news.ycombinator.com/item?id=3501355>) posted today. I understand that the organizer gets visibility, but any other advantages?

</comment><comment><USER3> Pity they don't allow time over the weekend, too.

<comment><AUTHOR> Great point! We've extended the deadline to include the weekend as well.</comment></comment>


Livehoods: Understanding cities with machine learning and social media - <AUTHOR> http://livehoods.org/ Livehoods is a research project from Carnegie Mellon that uses machine learning and social media to understand the structure and patterns of a city. <comment><AUTHOR> See <http://livehoods.org/maps/nyc> for a map of New York.</comment>


Bitcoin not money, judge rules in victory for backers - <AUTHOR> http://phys.org/news/2016-08-bitcoin-money-victory-backers.html <comment><USER2> Previously: [https://news.ycombinator.com/item?id=12164694](https://news.ycombinator.com/item?id=12164694)

</comment><comment><USER3> I thought a while back they had decided to treat bitcoin like an asset? IIRC: [http://www.marketplace.org/2014/03/25/economy/irs-labels- bit...](http://www.marketplace.org/2014/03/25/economy/irs-labels-bitcoin- asset)

<comment><USER4> "they" is not uniform. You're referring to a portion of the US executive branch, this is a state judicial entity. The ruling is in the context of this specific criminal case.

</comment></comment><comment><USER5> But that means whenever you buy or sell it, the government can tax the shit out of it.

The government always comes for its vig.

<comment><USER6> They can try. Seems more and more like they're moving too slowly to keep up, though.

</comment></comment><comment><USER7> The Feds are probably furious. Replacing the U.S. currency is seen as a threat; any and all alternative types of 'medium of exchange' have been ruthlessly attacked/shut down by the Feds. They could step in and appeal this judge's ruling in the Federal courts to either overrule this Florida judge, or to extremely limit the application of her ruling.

The Feds one year ago sought to take down coin.mx and they will not likely want this Florida judge's ruling to confuse the legality of transferring bitcoin between parties.

[https://www.fbi.gov/contact-us/field- offices/newyork/news/pr...](https://www.fbi.gov/contact-us/field- offices/newyork/news/press-releases/manhattan-u.s.-attorney-announces-charges- against-two-florida-men-for-operating-an-underground-bitcoin-exchange)

<comment><USER8> Why would they worry? You still need to pay your taxes in USD, and that's not likely to change. Coin.mx didn't report suspicious activity, not because they were at risk of replacing USD</comment></comment>


Ask HN: map temporary subdomain? - <AUTHOR>

Is there a service which allows me to map a temporary domain to a static IP, heroku-style, i.e. temp123.app.com? I want to host something without registering a name. I guess I'm looking for a bitly with names. <comment><USER2> It's been a long time since I've used the service, but I'm pretty sure you can use no-ip to get what you're looking for done: [https://www.noip.com](https://www.noip.com)

</comment><comment><USER3> There's xip.io, but you will have to hardcode your IP in there. e.g.,

subdomain.myapp.com.126.96.36.199.xip.io</comment>


Show HN: My Startup - Tweeplayer Launches Open Beta - <AUTHOR> http://blog.tweeplayer.com/tweeplayer-launches-open-beta

<comment><USER2> Interesting idea - if I read it correctly: you track live events and what not and synchronize the conversations that happen during those events ABOUT those events.

Right? If so, would there be licensing issues with the live sporting events and television shows?

<comment><AUTHOR> The Tweets are sent out to twitter for anyone to read. These are public timeline tweets. We are just a twitter client that shows those tweets like any other twitter client, but delayed and using search to figure out what the best tweets to show would be.

When someone Tweets within Tweeplayer during when they are watching it on their DVR at home we are still just sending those tweets out regardless of content, and linking the moment they tweet with the moment they are watching.

We only plan on incorporating public domain or licensed media directly on the site for any full conversation.</comment></comment>


Apple says Epic is 'putting the entire App Store model at risk' - <AUTHOR> https://www.theverge.com/2020/8/21/21377660/apple-fortnite-epic-antitrust-lawsuit-in-app-purchases-special-deal <comment><USER3> The underlying story (Apple's response to Epic's lawsuit) was discussed yesterday: [https://news.ycombinator.com/item?id=24238096](https://news.ycombinator.com/item?id=24238096).

</comment><comment><USER4> If some other business is "putting your business model at risk," isn't that called competition? Since when is Apple's business model sacred? I don't think Sweeney is some kind of good guy, butI know for sure Apple is a predatory bully who would love to own the world, just like some other giant tech companies we could all name.

<comment><USER5> Well Apple is not saying it is putting their business model at risk ( it does and it should) they are saying their philosophy to user security is at risk . i.e. if Epic wins in court apple has a tough choice, either reduce their own rates substantially and / or allow alternative stores .

For all apple's flaws, having single app store is better for user security as you know who to trust, it also gives conveniently makes Apple monopoly that they exploit to make 50B+ a year.

The question is will Apple sacrifice revenu for user security or is security and privacy are only there when it makes Apple money.

<comment><USER6> I don't want .msi like installers for iOS apps scattered across the web... I know this is an unpopular opinion among techies, but I quite like the garden that Apple has walled off.

<comment><USER5> The problem here is not the walling itself , it is lack of regulations over what they can, they cannot do. Which allows walled gardens to kick out apps they don't like, impose all sorts of rules, and charge outrageously

Developers associate the freedom of open standards and protocol to these abuses. In the early GNU years, the same philosophy applied to source availability. Closed source does make similar abuse fare more easier.

Abuses can be prevented with well built regulation. Developers do not like to get into governance and policy so they want to solve it technically, Open Source or open protocols and standards etc, sometimes that opens up avenues vulnerabilities in design, which devs generally are tech savy enough to be immune to and come up with even more tech like https, adblockers hardware keys etc.

This cat and mouse game leaves rest of the population far behind and vulnerable, sometimes you just have to do governance than look for pure tech solutions.

</comment></comment></comment></comment><comment><USER7> I literally use Apple devices for everything except my gaming desktop, but I can't defend for Apple in this case, and for the game streaming block.

It's like if Apple built houses, it would make no sense for them to force house owners to only buy furniture/services from Apple verified entities and take 30% of the cut. The most it should be able to do is just provide a list of services it thinks are safe to use.

I would ask why can't Apple just allow other app stores, and just say any apps not from "the" app store may not be secure. But ultimately it's probably just because Apple doesn't want to let go of the ridiculous 30% cut, since if other app stores had a lower cut, why would developers release on the official app store.

<comment><USER8> Google does exactly that for Android. You can sideload anything you want. Doesn't get them any sympathy around here, though.

</comment></comment><comment><USER9> Why can I order takeout though restaurant apps on my iphone and Apple doesn't take a cut? Does the 30% only apply to digital goods/services that can be delivered or accessed through device?

<comment><USER10> Perhaps apps could actually ship you something IRL, and give the digital item away 'for free'.

Example: Wordpress sends you a letter with an activation code. Then it's a physical good you're paying for.

Kind of like how people sell coupons on eBay, but you aren't paying for the coupon, but for the lister's time/effort to list it.

Apple's fee is draconian and people are happy to manage these things via plain web applications. There is nothing special about apps. If anything, with all the extra special access they get (contacts, camera, gyroscope) they're a liability.

<comment><USER11> People could also simply signup over the web and login through iOS. Far less hassle than physically shipping people digital goods.

<comment><USER10> Apple is not letting apps do that anymore. You can have payment through your web app, but you must also permit payment via the iOS app, where Apple gets 30%.

<comment><USER11> Apple requires that apps provide a way to signup, but Apple has no say over whether you already have a paying account with Microsoft. Apple wouldn't even know.

I'm okay with Apple's vision of intermediating my digital relationships with regards to the iOS platform, most especially for summarizing all ongoing app subscriptions.

<comment><USER12> "Requires a way to sign up" undersells this. This forces apps like Hey to use the app store payment system even when they want to have their users do payment entirely outside the app store and download the app afterward.

<comment><USER11> And there's nothing stopping you from having a paying account with Hey where you didn't signup via the Apple platform. Hey is also free to charge some customers more than others. Customers get to choose whether they want Apple to intermediate financial relationships that ultimately involves a digital good being supported by the iOS platform.

Where there was one choice now there are two — the choice to deal directly with Hey or to have Apple intermediate.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I'm a developer who sells on Steam. With a 12% commission instead of 30%, my actual profits would be about 50% higher and I would invest more money into post-release updates and support, and pay my staff bonuses.

People are generally supportive of gamedev workers getting better deals and paid more - let me tell you the quickest way that could happen is if all these platform commissions were lowered.

<comment><USER14> If you sell on steam you could also, not sell there and sell directly to you customers, right ?

Could you host your own webstore and implement a cheap key system. That way you need to a lot less for the transactions.

<comment><USER13> There are many things you can do like that - that basically just represent increased overhead and non-game activities.

If you follow all of that logically enough - you start to wonder, why even work in game development?

Indie development right now is basically a mirage, because the only people making sustainably good profits are those with access to lower commissions by owning their own platforms or by getting better deals from platform owners due to their size. There is a huge survivor bias.

I am only still operational because I am in Ukraine. It would be impossible in a 1st world country.

<comment><USER8> > the only people making sustainably good profits are those with access to > lower commissions by owning their own platforms

What are some examples of this? What do you mean by "platform"?

<comment><USER13> Ubisoft - Blizzard - Valve - CDPR - Microsoft - Sony - EA - <USER2>

All publish their own games and either own their own platforms or are big enough to negotiate lower commissions from other platforms.

</comment></comment></comment></comment></comment><comment><USER15> I have been thinking lately that the app stores, the food delivery apps and others, are reproducing on a b2b scale what happened with the industrial revolution, when factory owners became effectively monopolists of the job market and, in a framework without rules, forced everyone to work on the terms most profitable to them.

Perhaps then what we miss now is the possibility to unionize businesses with respect to the tech/ internet giants. Form providers unions (e.g. restaurants, app developers, etc.). Force every single web or internet store to provide a switch to allow each provider to stop and restart their sales/ deliveries at will and display messages explaining why. Organise coordinated strikes in which those businesses halt their sales en masse until their demands have been met.

<comment><USER8> Good luck picketing, pressuring scabs, leveraging local politics. I'm not convinced this model could possibly work at the global scale.

<comment><USER15> True, it's not the same as masses of workers picketing factories. Not everything transfers from one case to the other. But the fact is that today app developers, or restaurants, are as fungible as factory workers used to be in the nineteenth century. Don't like the pay and the hours? F.. off then, there's the queue at the gates of the factory of people trying to be hired for the day. You can look for a job somewhere else (I'm sorry if the factories are all mine here).

Granted, it might not work. But it could be tried, and it would need to be enforced by regulation as workers right were. Where's the right to strike and to let the reasons for the strike be known, in these environments? Can I force Apple to stop and restart the sales of my app at will, without consequences? Can I inform my customers of the reasons I did it? Can the restaurants of a city organize and stop deliveries in a coordinated way for a week?

</comment></comment></comment><comment><USER16> I would definitely like to see other App Stores, so that the low-dollar, shifty shovelware apps get moved out of the Apple App Store. It would allow Apple to focus on the true nest-in-class apps that follow the design cues and security guidelines to make usable, truly secure apps on their platform.

They could market it as Trusted by Apple and if you're not in the Apple App Store, you don't get that mark. Heck, make it such that software not from the Apple store doesn't get the digital signature that allows apps to start up with one touch. Require user consent before starting a non-approved app.

<comment><USER17> I would absolutely love to see this. All ad supported games and games with in app consumables get kicked off the App Store and are forced to use a ghettoized third party store. The only games allowed on the App Store are pay up front and demos with a one time fee to unlock all content like Nintendo's games.

Then charge 10% for all the apps that are on the App Store at most.

</comment></comment><comment><USER18> I wonder if apple could have their cake and eat it too.

i.e. if you don't want to pay their normal rates, you can get lower rates, but you are not discoverable in the app store. i.e. you are in the app store, there is a way for companies to directly link to it, and open in store (or perhaps itunes, and perhaps only itunes if apple really wants to make it difficult). So you lose all the advertising value of the app store, but you get to pay apple lower rates.

For companies like Epic with fortnite, perhaps that would be a reasonable tradeoff, but I'd imagine its not a tradeoff most app makers would be willing to make.

I wonder how much revenue apple would lose from apps that are willing to opt out of discoverability.

</comment><comment><USER19> Finally, it's only 'at risk' of Apple putting some more effort into the poor experience that it is so far to get an app and ability to explore and find apps that aren't in the top 200.

</comment><comment><USER20> Are companies allowed to have openly written the "Apple fee" in the description? App price: 10$, Apple Fee:3$: Total: 13$

</comment><comment><USER21> My main gripe with apple is their tactics around subscription fees.

You can't direct your customers to sign-up via your website, circumventing apple to receive a 30% discount. Ultimately the customer suffers. They should have consumer awareness and choice, it's their right.

Then they give Netflix special sweetheart treatment, why?

I find these examples both deceptive and anti-competitive.

<comment><USER17> Every company gives better deals to large companies than consumers. This is no different than any other industry. A starving singer discovered at a night club is not going to get the same deal from a label as Beyonce or Taylor Swift.

</comment></comment><comment><USER22> Just commenting on the title. Good for them.

</comment><comment><USER23> Apple has some rules. Epic Games has accepted this. Now, when Epic suddenly makes an illegal move, it is very normal to remove it from the AppStore.

If Apple accepts this, it has to apply it for all apps. This means a very serious loss of income.

So I mean, I know Apple charges a lot of commission. But Apple has to apply his own rules too.

<comment><USER24> Because 30% is an extraordinary amount of money. Apple is user-hostile on this too, not sure why their users would ever defend it. Think of it this way, every time you buy something on the store you're paying 30% of your money to Apple. You're paying 30% of your money to Apple for the right to install the app on your phone

You are allowed to charge more to make up for the fees. But you cannot tell your users this. If you say "sign up on our website to save" you will be banned from the store. Tons of people pay 30% more for subscriptions because they bought them through apple store.

I'm tired of all the locked down bullshit and you should be too. It's my device, I should be able to install whatever I want

<comment><USER25> no one bitches when it's sony or microsoft charging 30%, which xbox and playstation certainly do for IAPs.

<comment><USER5> It not the starting of price of 30%, the problem is Apple will not adjust it one bit for anybody[1]. Microsoft or Sony will happily negotiate with AAA developer, none of the top devs will pay close to 30%.

You think Naughty Dog or Bethesda will pay 30% _and also_ do exclusive releases etc? Sometimes MS or Sony will even pay developers to support their platform, there is always room to negotiate unlike Apple.

[1] Streaming services being the exception in virtual goods, if Apple charges Hulu or Prime 30%, the studios which also license content to Apple TV will not be happy. It could get Apple TV locked out or deals will become expensive.

Back catalogue is really, really valuable in Music and TV, Michael Jackson ownership of ATV is famous example of this Syndication and streaming now is where the money is Apple cannot afford to antagonize the content industry .

<comment><USER17> Sure. Apple negotiates with indy game developers all of the time for exclusive releases via Apple Arcade and they pay them an up front fee.

 _Streaming services being the exception in virtual goods, if Apple charges Hulu or Prime 30%, the studios which also license content to Apple TV will not be happy. It could get Apple TV locked out or deals will become expensive._

One has nothing to do with the other. The studios deal with Apple TV because Apple gives them a boatload of money to produce shows for AppleTV. The studios also license content to be sold via iTunes. This was the case before the iPhone was released.

Apple doesn't pay for syndication rights for older TV shows but for one or two exceptions.

No third party is counting on syndication. Not Netflix or Apple. All of the studios are taking their ball and going home. That's why there is such a push for original content.

<comment><USER5> Apple Arcade explicitly forbids _any_ in-purchases or ads. So not sure if we can compare a subscription service to a marketplace like App Store.

In Arcade of course Apple is paying money _now_ to get enough content on the platform to make subscribers come, same MS did with Windows phone etc. Market place always need boosting either on supply or demand side to get started, it is unlikely Apple or anyone else starting a market place will _continue_ to pay once the market is large enough.

Xbox/ PS keep paying since they know that marquee games are reason many times one the console is bought. For android and iOS market to be considered as one market there should be that level of competition at least.

While streaming has reduced privacy to large extent, the streaming business model whether subscription or micro-purchases (rent/ buy or song / album etc) have been always a threat to studios. Everyone is rushing to do original content yes , Netflix, Prime and Apple are already able to produce similar quantity and quality to studio in new content or will soon enough, however streaming companies cannot compete with the back catalogue for next 20-30 years.

Disney+ and is pulling out of other streaming services today. 5 years from now, Netflix may be ready to multiples than they were paying, just for non exclusive access to that back catalogue of Disney.

Disney will not care whether Prime or Netflix is also showing older disney back catalogues as long they have enough people paying for disney+ , where newer and some exclusive content is available. Their ownership of Disney+ means they can always negotiate from a position of strength. Studios are distribution companies first, content producers second. If you control distribution you control the price.

While the studios are taking the ball home today, I am not sure they will not be back later . I am not saying any of this why Apple is why they charge differently for streaming, just that the industry is in flux currently.

P.S. Had Jobs been alive, things would have turned out differently, I think Apple would have likely acquired Disney, it is a good fit, Jobs owned substantial stake in both.

<comment><USER17> _Apple Arcade explicitly forbids any in-purchases or ads. So not sure if we can compare a subscription service to a marketplace like App Store._

This is a good thing. I hope Apple Arcade completely turns people against games with in app purchases and ads. Just like Netflix has turned people against ads and encouraged people to pay for content. This may also make room for non slimy indy developers.

 _it is unlikely Apple or anyone else starting a market place will continue to pay once the market is large enough_

If the market grows large enough that developers can convince people to pay for content one time and no ads or in game purchases - that sounds like a win.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> I just read the barrage of email exchanges between Epic Games CEO and Apple before the incident took place. It's clear that Sweeney was acting as a self- entitled guy--asking for an under the table deal in a rather immature way. Apple's strong response to the lawsuit by putting out the facts only goes on to show how Epic Games' PR stunt was a lame effort. It'll hurt them in the long run. I'm on Apple's side.

<comment><USER27> Those emails were purely grandstanding on both sides. Neither side was trying to convince the other. Epic knew that Apple would drop them from the store, Apple knew that Epic would try to get dropped and then sue. The real audience was the public.

<comment><USER26> True. In hindsight, Apple played a smart move by letting the legal team respond to Sweeney's emails. They perhaps saw this coming from a mile.</comment></comment></comment>


How to Create your own search engine with PHP and MySQL - <AUTHOR> http://mrbool.com/how-to-create-your-own-search-engine-with-php-and-mysql/25836

<comment><USER2> This article is more like how NOT to create an search engine using PHP and MySQL.</comment>


The Jellyfish Problem - <AUTHOR> https://www.historytoday.com/archive/natural-histories/jellyfish-problem <comment><USER2> We still have the problem of the ctenophores. "Comb jellies", they used to be, until it turned out they have practically nothing in common with jellyfish except transparency and radial symmetry. Or with anything else.

They use proteins similar to those used by other animals, but for different things. Some people think they evolved muscles and nerves entirely independently of other animals. Some people think they fell from the sky.

Whatever you think, they are astonishing in every detail. Watch videos of Beroe if you have any doubts.

<comment><USER3> > Some people think they fell from the sky.

Ctenophores are a nigthmare to study. They self-disintegrate at the slightest touch and aren't well adapted to low pressure environments. Pieces of an animal being dragged from a storm before to fall again does not count as a realistic way to spread.

If you mean that they could have an extraterrestrial origin, is really unprobable IMHO. If there is an animal badly adapted to survive in the space is this.

<comment><USER2> Nobody really thinks they are storm-borne or extraterrestrial. They are just weird enough to make you wonder.

</comment></comment></comment><comment><USER4> A good tour of the problems of phenotypic classifications -- which reached their heyday in the funfair of cladism. Always reminds me of Terry Pratchett's jokes about banana classification:

[https://www.goodreads.com/quotes/6870748-yes-sir-but-the- lib...](https://www.goodreads.com/quotes/6870748-yes-sir-but-the-librarian- likes-bananas-sir-very-nourishin)

</comment><comment><USER5> The article didn't mention phylogenetic analysis of jellyfish genes or genomes, _e.g._ using 16S rRNA. [1]

[1]: [https://en.wikipedia.org/wiki/16S_ribosomal_RNA](https://en.wikipedia.org/wiki/16S_ribosomal_RNA)

A brief search didn't yield anything on jellyfish phylogeny for me, would be curious if anyone else has information on this.

<comment><USER4> Use "cnidaria" as your keyword?

[https://oceanexplorer.noaa.gov/fsts/media/DNAbarcodingCnidar...](https://oceanexplorer.noaa.gov/fsts/media/DNAbarcodingCnidarians.pdf)

</comment></comment><comment><USER6> "Since nothing could will itself to move without some sense of where it wanted to go"

[https://www.farmersalmanac.com/maple-copters- everywhere-2158...](https://www.farmersalmanac.com/maple-copters- everywhere-21588)

</comment><comment><USER7> There is no 'true' category for anything.

The Categories Were Made For Man, Not Man For The Categories

[https://slatestarcodex.com/2014/11/21/the-categories-were- ma...](https://slatestarcodex.com/2014/11/21/the-categories-were-made-for-man- not-man-for-the-categories/)

<comment><USER8> > Thus Abraham Lincoln's famous riddle: "If you call a tail a leg, how many > legs does a dog have?" And the answer: "Four – because a tail isn't a leg > regardless of what you call it."

Enter the kangaroo.

</comment></comment><comment><USER9> reminds me of [https://meaningness.com/eggplant/definition](https://meaningness.com/eggplant/definition)</comment>