The CIA Sets Up Shop on Tor, the Anonymous Internet - <AUTHOR> https://www.wired.com/story/cia-sets-up-shop-on-tor/ <comment><USER2> This has been posted so many times!

[https://news.ycombinator.com/item?id=19852989](https://news.ycombinator.com/item?id=19852989) [https://news.ycombinator.com/item?id=19866575](https://news.ycombinator.com/item?id=19866575) [https://news.ycombinator.com/item?id=19851169](https://news.ycombinator.com/item?id=19851169)

<comment><USER3> If it's being upvoted, people are interested... perhaps seeing it for the first time.

<comment><USER4> > If a story has had significant attention in the last year or so, we kill > reposts as duplicates

Granted, I guess it didn't get "significant attention", but I guess that also means it can't be too interesting since this is the first one with more than 2 comments, which is only because I'm replying to you.</comment></comment></comment>


Edge.js brings Node and .NET together on three platforms - <AUTHOR> http://www.hanselman.com/blog/ItsJustASoftwareIssueEdgejsBringsNodeAndNETTogetherOnThreePlatforms.aspx

<comment><USER2> So does this mean we might see some c# based packages on npm?

Reading this post got me trying to figure out some cool uses for it, but I don't really know enough c# to have any idea where this might come in handy. Offloading cpu intensive work into multiple threads seems useful though...</comment>


MIT Will Post Free Plans Online for $100 Emergency Ventilator - <AUTHOR> https://scitechdaily.com/mit-posts-free-plans-online-for-an-emergency-ventilator-that-can-be-built-for-100/ <comment><USER2> This is great. Unfortunately, at this point we need manufacturing, not engineering.

<comment><USER3> Yes, because you can start manufacturing without a plan

<comment><USER2> How many new designs have come out over the last 2 weeks? HN front page has seen several already.</comment></comment></comment>


Command Line Heroes: Heroes in a Bash Shell - <AUTHOR> https://www.redhat.com/en/command-line-heroes/season-3/heroes-in-a-bash-shell <comment><USER2> Really good, all episodes. Good production.</comment>


You Can't Always Hash Pointers in C - <AUTHOR> http://nullprogram.com/blog/2016/05/30/ <comment><USER3> > _In other words, even in a conforming implementation, the same pointer might > cast to two different integer values._

If you're porting to that type of system, you will be keenly aware of this. The problem can be solved.

On the Intel 8086, every address has 4096 ways of referring to it by some combination of segment:offset. A segment is 64 kilobytes wide, and the segment: part of the address is "paragraph" (16 byte block) aligned. 65536/16 = 4096. For instance address 0x1234 can be referenced as 0123:0004, or 0122:0014 and so on.

However, there _is_ a unique underlying address.

A pointer value can be normalized (using nonportable code, of course) to use, say, the largest possible segment value and the smallest possible offset. The resulting value can then be hashed.

Another way to deal with it on 8086 might be to use a "far" pointer, and calculate its offset from a "far" null pointer:

       (far char *) ptr - (far char *) 0;

This should produce the physical address as an integer.

So that is to say, the concept of hashing an address is sound; only using "pointer" to mean "address" is not maximally portable. An implementation of pointer hashing can be ported to such architectures by some nonportable code, if necessary.

If you care about such portability, wrap the "pointer to integer address" logic in a function and implement that function as necessary.

</comment><comment><USER4> Some motorola 68000 machines did automatically mask out some of the most significant bits of any pointers. This means that two pointers to the same object can have different representation. That did happen in practice as programmers used the highest bits to stuff metadata and relied on the automatic masking. That made things interesting when the platform wanted to increase the address space. And preventing this sort of backward compatiblity issue is the reason why AMD64 will trap if the unused bits of the address space are not all 1 or 0.

Bottom line, the pointer to integer conversion should be specified by your platform ABI. Read it, then either refuse to support your program on platforms with insane ABIs or have a fallback path for them.

<comment><USER5> Wasn't this the case with 68000 based designs in general? The CPU only had 24 address lines. I think it was first the 68020 that had a full 32 bit address bus

And you're right, people absolutely did use it.

On the Amiga I believe that Amiga BASIC (developed by Microsoft) was perhaps the most prominent example of Amiga applications that allegedly did this (only source I've found for this is a comment by a former Commodore employee - <USER2> Peter Kittel), amongst a massive amount of other problems. People did get it running on 68020+ systems, with a combination of patches and disabling fast ram, but it was pretty much forgotten from AmigaOS 2.x onwards anyway.

<comment><USER3> If your program targets a 68000, and uses tags in the upper bits of pointer, _and_ that program also hashes pointers, then of course you're going to reconcile these two facts: your hashing function will have to strip out the pointer tags.

Or perhaps not; it depends on whether the tags are immutable attributes. For instance if they indicate type, and type is immutable, then they can perhaps just be mixed into the hash. Under this design, the only way two pointers to the same thing can have a different hash is if you have a use-after-free bug: you're hashing a pointer to something that was de-allocated and re-allocated as a new kind of object. Two objects which occupy the same address at different times don't have to have the same hash, even if it is a pointer hash.

Looked at in another way, those tag bits, if they are immutable, effectively extend the address space. An object with tag 0101 and another one with 0110, all other bits equal, can be considered to be in different spaces (with the constraint that since they collide to the same physical address, they cannot exist simultaneously).

<comment><USER5> I'm not quite sure what you're replying to. I was not talking about hashing pointers at all. Bare, raw, pointers on the M68000 are 32 bits, but the CPU only has 24 address lines, and the top 8 bits are disregarded. But starting with the 68020, the CPU has 32 address lines and the top 8 bits are not disregarded.

The point is/was that relying on bits that are unused today is risky because it has historically tended to ensure your software breaks when the next CPU generation needs more of the possible address space.

Note specially that a lot of the apps that used the top 8 bits did _not_ use it for type tags that might imply safe usage, but often used it to store unrelated data.

E.g. lets say you had a data structure with a number of pointers and a number of flags. You might very well decide to pack the structure so that the flags overlapped the top 8 bits of the pointers.

</comment></comment></comment></comment><comment><USER4> This remind me of a story.

When Stephanov was implementing the STL, he needed a strict weak ordering among all pointers to implement things like std::map.

Instead of wasting time arguing within the committee on wether operator< should have the required semantics, he simply added std::less as a primitive and default comparison for std::map. It is specified to call operator< for every T, except that for pointer it relies on unspecified compiler support for doing the right thing.

On pretty much all implementations it simply calls operator< even for pointers.

<comment><USER6> Oh, so then on C++ you can check if pointer-to-T p is within T a[sz]; by doing (a == p || std::less(a, p)) && (std::less(p, a + sz))

<comment><USER4> Possibly not. The standard guarantees that less yields a total order for pointers. But the ordering itself is unspecified, and not even guaranteed to be consistent with operator< for pointers to elements of the same array.

</comment></comment></comment><comment><USER7> Another platform that doesn't have straightforward pointers: x86. 16-bit mode. Because of the segmentation system, if you wanted a fully general pointer to anywhere in the address space ("far") it had to be split into two registers. Greater speed could be achieved with "near" pointers, but only within a 64k segment. You could also very easily have non-identical pointers that pointed to the same memory location.

Fragments of this mess survive in the Windows API, like Shelley's "vast and trunkless legs of stone": [https://blogs.msdn.microsoft.com/oldnewthing/20031125-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20031125-00/?p=41713)

<comment><USER8> I think the 8051 is more interesting - it's a Harvard architecture with at least 3 separate address spaces:

[http://www.keil.com/support/man/docs/c51/c51_le_ptrs.htm](http://www.keil.com/support/man/docs/c51/c51_le_ptrs.htm)

[http://www.keil.com/support/man/docs/c51/c51_le_ptrconversio...](http://www.keil.com/support/man/docs/c51/c51_le_ptrconversions.htm)

Just like x86, it's likely that everyone interacts daily with a system containing at least 1 8051 core.

<comment><USER9> As someone who did a lot of embedded development, I wouldn't exactly call it "more interesting". More like "that shit needs to die already".

The biggest problem with those is, that modern compilers don't support it. Well, that is open-source compilers. IAR will happily sell you a license of their IDE for 2.4k$/seat. There is sdcc, but it's no comparison to a modern gcc or the commercial offerings.

Unfortunately you're right though, 8051 processors are cheap and abundant. Chip makers use it as the go to architecture for any simple embedded processing requirements. It's slowly changing though, but ARM licensing costs are still much higher. Let's hope that in a decade or so they'll use RISC-V instead.

<comment><USER10> RISC-V is indeed what I thought, but hasn't MIPS also been free (enough) and open for at least a decade? You'd think that on licencing alone that'd be enough for a replacement in new products.

Edit: I am mistaken, it seems that though MIPS is used in all sorts of things that I'd expect wanted the cheapest possible CPU core it has only become free for academic use. I wonder how common that mis-conception is for those not active in the space?

<comment><USER9> Yes, MIPS is a cheap candidate for when you need a bit more computing power than just a microcontroller.

Home routers usually have MIPS CPUs and run Linux on top of it. This wouldn't be possible with the 8051.

</comment></comment></comment></comment></comment><comment><USER11> If you know that the strings are stored in the same table, couldn't you subtract from each pointer a pointer to the beginning of the table and hash the resulting offsets?

<comment><USER9> That's probably true, however there's a small catch.

Looking at the standard (no difference between C99/C11), chapter 6.5.6 ("additive operators"), point 9 defines the behavior of pointer subtraction:

      When two pointers are subtracted, both shall point to elements of the same array object,
      or one past the last element of the array object; the result is the difference of the
      subscripts of the two array elements.

However reading further:

      The size of the result is implementation-defined,
      and its type (a signed integer type) is ptrdiff_t defined in the <stddef.h> header.
      If the result is not representable in an object of that type, the behavior is undefined.

Unlike the (u)intptr_t types, ptrdiff_t is not optional AFAIK. The way I understand it, you could still invoke UB if the implementation uses a very silly type for ptrdiff_t, though I didn't do further research on it.

Still, using pointer difference makes this a lot safer and more portable. Especially on platforms with unusual memory models, where a pointer might not be just a single integer (e.g. segmented memory on x86). Also the operation is Theta(1), so it doesn't impact performance much.

</comment></comment><comment><USER12> The post mentions only the C standard; I wonder what POSIX says about it.

And there are also the platform ABIs, which specify how a pointer is passed between functions. If you're in a platform in which the ABI doesn't allow arbitrarily setting unused bits, even a "security-conscious implementation" will have to leave them alone, since a pointer can be passed to a function written in a different language. This also means that the "map the same object at multiple virtual addresses" trick, in which the implementation flips bits within the pointer knowing there is always a valid alias mapping to it, is broken: suppose two pointers to within the same object are passed (perhaps at separate times) to code written in another language. From the point of view of the other language, they might not be pointing to the same object, even if they should (for instance an array and an element within it, the function might want to compute the offset).

I also wonder how well does the "map the same object at multiple virtual addresses" trick work in architectures with VIVT caches, where both the index and the tag are virtual addresses. In these architectures, if you write through one mapping and want to access the same memory through another mapping, you _have_ to flush the cache, otherwise you will have hard-to-debug problems if both mappings are in the cache at the same time.

<comment><USER4> "I also wonder how well does the "map the same object at multiple virtual addresses" trick work in architectures with VIVT caches"

Not well at all, unless the OS goes out of the way to do cache coloring. There is a reason that VIVT are today considered suboptimal.

</comment></comment><comment><USER13> Another platform: IBM zSeries has 24-bit and 31-bit addressing modes, so that means an address stored in a 32-bit register has some of the highest bits ignored when dereferenced. Especially in the past, people stored useful information into those bits, so again, the two pointers are not necessarily equal even though they can point to the same address.

<comment><USER14> Just like the 48-bit addressing mode of the x86-64 chips most people reading this are using along with the storage of useful information in bits 48-64 (JS engines!).

<comment><USER15> If they store something there they have to mask it out before dereferencing the pointer. x86-64 doesn't ignore the topmost bits, if you set them wrong the CPU will throw an exception.

</comment></comment></comment><comment><USER16> A big problem for the Mill people has been getting LLVM to understand that pointers on the Mill do not behave like normal integers.

<comment><USER17> Video about using clang/LLVM for the Mill here: [https://www.youtube.com/watch?v=QyzlEYspqTI](https://www.youtube.com/watch?v=QyzlEYspqTI)

</comment></comment><comment><USER6> Interesting. What if I use memcpy and memcmp? As in,

        void foo(void *a, void *b) {
          char ca[sizeof(void*)];
          char cb[sizeof(void*)];
          memmove(ca, &a, sizeof(void*));
          memmove(cb, &b, sizeof(void*));
          assert((a == b) == (memcmp(ca, cb, sizeof(void*)) == 0));
        }

<comment><USER18> That doesn't help. Your assert can be false. Consider, for example, a 32-bit architecture which ignores the top 8 bits of the pointer (as was the case in the old 68000 Macs, as discussed elsewhere in these comments). Consider two pointers which differ only in a top bit, like 0x1000f000 and 0x0000f000. They will compare equal, but the underlying bytes extracted with your memmove call will differ.

And this isn't just a historical curiosity. ARM64 can optionally ignore the top eight bits of its 64-bit pointers, for example.

</comment></comment><comment><USER19> Very insightful, never fully understand why pointers can't be cast to integers(not even to uintptr_r, intptr), what's the guidance here to avoid the casting?

<comment><USER20> You'll need custom logic with in-depth knowledge of the mapping. _In many cases_ the idiom mentions by "kazinator" above will often work - but not always:

#define ptrToInt(x) ( ((char _)x) - ( (char_ )0 ) );

... and even that may require local tweaking.

</comment></comment><comment><USER21> You also can't test if a pointer points to an element in an array without undefined behavior.

C++14 5.6/6, on subtracting pointers: "Unless both pointers point to elements of the same array object or one past the last element of the array object, the behavior is undefined."

[http://stackoverflow.com/questions/31774683/is-pointer- compa...](http://stackoverflow.com/questions/31774683/is-pointer-comparison- undefined-or-unspecified-behavior-in-c)

I wish "undefined behavior" wasn't a thing in C/C++. It's not worth it. :(

<comment><USER22> I _think_ you can do that test by comparing pointers, you just can't subtract them. (The SO answer you link to also points out that comparing and subtracting are different, but I'm not sure that what I said follows.)

In practice, almost all C and C++ programs depend on both implementation- defined and undefined behavior, and, modulo security implications, that's fine as long as you test the program properly after compiling with a new compiler.

<comment><USER23> I'd guess that PAE on x86 systems might really hurt with this. Basically any system where the memory model is one of segment + offset will run into trouble with pointer comparisons. Ever since the 8086 I've assumed that pointer math is tricky and non portable (see [http://catb.org/jargon/html/V/vaxocentrism.html](http://catb.org/jargon/html/V/vaxocentrism.html) for the 80s version of the same problem)

<comment><USER12> PAE means you have longer physical addresses, but pointers are always virtual addresses. That is, the difference is only visible in the layout of the page tables.

Segment+offset is something else, but even on 32-bit x86 the segments were almost always set to base 0, and AMD64 dropped most of the segment mechanism. The exception on both is using segments to access thread-local data, but even then it's used just as an offset into the same flat address space.</comment></comment></comment></comment>


Ask HN: How many HN accounts do you have? - <AUTHOR> <comment><USER2> 1 + the number of times I forgot my password</comment>


Ask HN: Is JavaScript's Time Up? - <AUTHOR> The title is immediately deceiving, but I couldn't think of better wording for a title. Specifically, I mean to ask if Javascript as a language front-end (as compared to a compiler target) is coming to an end?
With tools like emscripten and js_of_ocaml, I can write C++, C, OCaml, Python, Java, Rust, Haskell, Objective-C, CIL (and any other language that compiles to LLVm bytecode[0]) and use that to power my browser scripting.
As we get closer to a Javascript as a bytecode, it seems like there may no longer be a need for Javascript the front-end. If I had to start a new app today, I think I might choose to do it in a unified language that either targets LLVM bytecode, or Javascript directly. In this way I could achieve unification of my server-side and browser-side code. Allow ease of maintenance, hiring, etc.
The only reason I can see actually "writing" Javascript continuing is in maintaining "legacy" code bases. Any thoughts?
[0] http://en.wikipedia.org/wiki/LLVM#Front_ends:_programming_language_support <comment><USER2> People would need to learn to not use Javascript, instead moving to a more exotic language (exotic in the context of DHTML scripting, not in general) with more complex and possibly less mature tooling.

Given the current popularity of Javascript, this means that the exotic language must be very compelling; the two main reasons, reusing good libraries written in some other language and reusing good programmers who don't know and won't learn Javascript, appear rarely applicable (there are Javascript libraries for most needs and most developers involved in web development think they know enough Javascript) and they cover only a portion of most plausible projects or teams when applicable (there are important parts of the application beyond any library, and someone will want to use Javascript).

As for actual language fetures (templates in C++, various functional styles in Ocaml and Haskell, etc.) a language fan needs to justify costs like performance loss, write-only generated Javascript code, flaky libraries, gigantic file sizes, and so on.

</comment><comment><USER3> I wish.

I used Node recently for a project. Never again. It's just not a good language, for many reasons. The Node _community_ is good, and the packages in npm are good, but the language itself is so wishy washy and has so many warts that if you try to do anything either very complex or performant it crumbles quickly.

Of course that being said, I've gotten a bit jaded about dynamic languages in general. IMHO they deliver high productivity up front but you pay for it later X2 at least. But among dynamic languages Ruby, Clojure, and Python are orders of magnitude better than JavaScript.

I feel like web developers have Stockholm syndrome with it. They've been forced to use it, so they sort of forced themselves to pretend it doesn't suck.

<comment><USER4> Can you elaborate why you think Ruby and Python are "orders of magnitude better than JavaScript"? I always considered that Ruby, Python and JavaScript are very closed to each other - dynamic typing, very quick to write.

<comment><USER3> It's mostly to do with JavaScript's warts:

\- Can't deal with 64-bit integers

\- Insane type system, e.g. null vs. undefined and all kinds of complexity around seeing what something is. Types are _strings_? Really?

\- No baked-in language-standard way to do async coding despite the language being inherently async, which leads to a mishmash of promises and indent cascades with callbacks.

\- How do I use exceptions with callbacks or promises? All kinds of edge case hell here. Either have exceptions or don't. Again there are probably good patterns, but since there is no canonical way everyone does it differently.

\- The == vs === mess

\- Lots of fragmentation around how to do classes, inheritance, etc. Getting fixed in ES6, but there will forever be tons of legacy code where everyone did it differently.

\- In practice I've found it easier to get leaks in JS event-driven code than in other GC'd higher level languages.

I'm sure others could list other things.

JavaScript is the product of a death march at Netscape in the late 90s, and it shows.

<comment><USER5> The most difficult part about Node or Javascript coding is technique and library selection - you will get contradictory advice because its so popular or in node's case new, and there are so many choices there is no single right way, and plenty of ways that may bite you.

\- 64 bit ints (yup)

\- Type system (you'll get over it)

\- Async coding - everyone has a different standard, but it does work whichever way you do

\- Exceptions - callbacks have err as first parameter, every time. You have to boilerplate. Promises you have to pass in an error function, you have to boilerplate. Could definitely be improved, but like handling async there aren't anything standard, just opinions at this point.

\- always ===, hint your code

\- OO stuff - absolutely. But its also not fundamentally an OO language, its much more flexible.

\- Leaks - Tooling could improve a LOT. Finding and sticking to a technique is the biggest part, which can get harder as a team grows bigger. Show me 2 people with 5 years of javascript experience at different places, and you'll have 2 very different code styles.

If you're intent on making javascript with OO and aren't coding partially for a browser, use something else. If you want very easy asynchronous functionality with a very fast communications server, Node is pretty damn good. Node is great for breaking down complex tasks, as long as you have a good method of flow control (promises, async + callbacks, etc).

<comment><USER3> Question is why you'd use it over Go, Java, C#, or even Python or Ruby.

I picked it originally because there are lots of quickly-up-and-running plugins and similar things in the npm repository. Like I said the community is great. But the more I work with it, the more it hurts. Pain in a language should _decrease_ with time as you work with it.

<comment><USER5> It certainly has for me - the hump is likely bigger due to how new it is. Its hard to settle into a good flow when there are 1000 possible flows to get into.

</comment></comment></comment></comment></comment></comment><comment><USER6> Not yet, because languages that compile to javascript don't actually replace javascript with anything but javascript.

Plenty of people still write their own javascript, to do basic DOM manipulation and whatnot. I really can't imagine that the common use cases for JQuery, for instance, are better served by compiling C. It is a scripting language, even if you want to pretend it's "bytecode", and even if treating it as bytecode is useful for some people, I would argue that's still the exception and not the norm.

</comment><comment><USER7> Lately I've been very interested in targeting the browser with Haskell, using Haste [0].

It appears that, at least for now, this pretty much always requires some JavaScript FFI work to actually do things in the browser.

This alone is enough to motivate me to keep honing my (functional) JS.

( It's also nice to be able to bang out something quick and dirty with minimal tooling. )

[0] [http://haste-lang.org](http://haste-lang.org)

<comment><USER8> I think GHCJS well mean having to use the JavaScript FFI much less.

</comment></comment><comment><USER9> The biggest advantage of javascript is quick prototyping + manipulating DOM objects with no tooling (you can debug with javascript console in the browser). I would die the day, I need a compiler to see a color change on a button.

<comment><USER8> What if one of those compile to JavaScript languages forked Firefox and/or Chromium and added support to their languages in the tooling?

Would that suffice for you?

<comment><USER2> Do you mean something like VBscript in old Internet Explorer versions? Do you understand why it died off?

<comment><USER8> Was VBscript source code visible from the browser? What I'm recommending is basically something to replace Javascript in exactly the same way (except it's a sane* language).

* I do concede ES6 is much much better

</comment></comment></comment></comment><comment><USER10> I doubt the MVC JavaScript fad will last much longer, but JS for just manipulating the DOM and basic web stuff won't go anywhere, especially because of the necessity of browser tools for webdev.

</comment><comment><USER11> In theory, sure, you could use any of those languages for real production work. But in practice, it just doesn't happen. Javascript is here to stay, I'm afraid.

</comment><comment><USER12> With ES6 JS feels pretty mature, so the question is how much added value would another language provide and at which cost.

</comment><comment><USER13> ES6 gonna fix the little bit broken part of javascript.

</comment><comment><USER14> I hope not, Javascript is awesome.</comment>


Developer laptop - <AUTHOR>

hello awesome community, any recommendations please on developing laptops, which will need to be robust/resilient to some traveling (30% of time), battery lasts more than 4-5 hours, at least 16GB RAM, SSD, AND not heat itself up to the point where I can't hold it on my lap, no matter if the CPU goes 100% for long times? thanks, Unus <comment><USER2> Ivy Bridge x230t here, it definitely gets too hot after a few minutes of 100% cpu usage. Broadwell should produce less heat given the die shrink (compared to Haswell and Ivy Bridge) ? I'm pretty ignorant on that topic tho.

EDIT - perhaps : [http://www.phoronix.com/scan.php?page=news_item&px=X1-Carbon...](http://www.phoronix.com/scan.php?page=news_item&px=X1-Carbon- Broadwell-CPU-Temp)

</comment><comment><USER3> Never understimate the noise of a laptop, that can be really annoying in the long run. We switch to Lenovo T series for the customization/warranty/perfomance/silence combo and we're happy about it.

</comment><comment><USER4> I guess it depends on which language/environment you develop for. I use a Macbook Pro and it seems to cover all your requirements.

<comment><AUTHOR> you can run on a Macbook, linux and windows with parallels. so it covers them all

<comment><USER4> Sure, but if you are developing for Windows or your toolset runs exclusively on it a Lenovo laptop might give you better mileage than running parallels/VirtualBox or BootCamp on a mac.

But apart from that, yep, I'm quite happy with my setup.

<comment><USER5> I don't understand... What makes a Lenovo laptop better than a Macbook Pro for running Windows?

<comment><AUTHOR> I guess what he is saying is that lenovo running windows will consume the battery slower than a MB running windows (either in parallels or directly booted up)

btw, is there a comparative study anywhere about how long the battery will last for a MB running windows (in parallels or botted) vs MB running latest apple OS?

<comment><USER4> Didn't see this until today, but yeah, that's exactly what I meant.

I don't use boot camp very often, but when I do the battery gets drained faster and the laptop gets hot to the point where you have to be careful not to touch the space between some keys.

Parallels/VirtualBox/etc runs fine, but makes running anything with a GUI extremely slow. In some cases it doesn't matter, but in others...

<comment><AUTHOR> thank you for your input

"Parallels/VirtualBox/etc runs fine" when you do that, is the battery of the MB running down faster? or no big difference?

how much memory do you have on your MB? and how much do you allocate to the Windows VM instance before you start it? did you try to allocate more memory and see if the performance of those windows app with GUI, which you say is very slow, getting any better?

<comment><USER4> Hey, this time I catched this early.

When running VirtualBox I see no big difference on battery drain, at least nothing that can't be attributed to extra workload.

I think that the last version of Parallels I used was 6, so I can't really talk about it, but again, my experience at the time was the same, the battery lasted more or less the same.

A link that someone else posted blamed the crappy windows drivers by Apple and it does make sense.

As for your other questions, I have 16GB of RAM, I've used windows 7 and 8 VMs with 2, 4 and 8GB in this laptop.

Now, you have to take into account that I don't usually use windows VMs as normal machines, I usually fire it up, do whatever I need to do and shut it down. Once said that, giving it more ram helped to some extent, but not much. For example, the difference from 2 to 4 was much more noticeable than from 4 to 8. I haven't tried with more memory and ended up leaving it at 4GB.

I kind of feel the need to point that I'm talking from memory with nothing like hard evidence or tests, so don't take this as an fact or anything like it :)

The most recent example I can think of was Inkscape. I suddenly needed to edit a svg, couldn't install Inkscape on OSX (I had a problem with XQuartz, a requirement) and the only suitable VM I had at hand was windows 7.

After firing it up and installing Inkscape there, I found that redrawing the screen took 10-15 seconds, every time I moved the svg around. After trying to work on it for a few minutes I found it so exasperating that I prefered to go back, fix the issue with XQuartz and use Inkscape in OSX.

<comment><AUTHOR> great info, much appreciated, thank you!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Thinkpad X1 Carbon - I love this thing. [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-ca...](http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-carbon/)

</comment><comment><USER7> I think the ThinkPad X250 should to the job.

-MuhPirat

<comment><USER8> For the record, it officially only supports 8 GiB RAM, but it seems to work fine with 16 GiB sticks.

<comment><USER7> Ohhh, yeah. You are right. Sorry.</comment></comment></comment>


Show HN: Increase your readability and productivity with this simple extension - <AUTHOR> https://readermode.io <comment><USER2> This functionality has been baked in Firefox for a long time and I use it quite often. Not only makes the ads and other clutter disappear, but it also removes most of the "disable your adblock" unclosable popups.

It is definitely one of the super-nice things to have baked in straight in the browser, and probably one of the major differences I see between Chrome and Firefox in day-to-day usage. I _just_ wish that somehow it was persistent for certain rules, but I can see how that is a slippery slope.

<comment><USER3> Chrome has had a builtin DOM distiller for a while (not sure if still guarded by an experimental flag, on my phone now so can't check), but it's primitive and worst of all reloads the page on exit.

<comment><USER4> I can confirm that it's still loaded by an experimental flag. As a word of warning to anyone who wants to try it: the design isn't suited for reading at length (120 character line width, set in Courier). It's really not that great.

Firefox and Safari have decent reading modes, though.

<comment><USER3> > 120 character line width, set in Courier

Um, it's not? Chrome 78 on macOS here, text is rendered in 14px Roboto, content box width is 75% (on 2560px viewport). I find it fairly pleasant to read, my only problem is page reloading on exit as I already mentioned.

Edit: The mode is gone after updating to 79, seems to be gated by a command line switch now. What the hell.

<comment><USER4> Ah, I stand corrected. The content box width is indeed based on the viewport size. My text, however, is still rendered in 14px Courier on macOS (and even given a .monospace class), so I'm not sure what's going on there.

I just updated to Chrome 79 and now the distilled mode is gone. For anyone who's looking on how to re-enable it, here's a thread: [https://support.google.com/chrome/thread/22576539](https://support.google.com/chrome/thread/22576539)

</comment></comment></comment></comment></comment><comment><USER5> [https://ibb.co/XC8h2gq](https://ibb.co/XC8h2gq) There is some manipulation going on here. This was posted in other places as well.

<comment><USER6> What tweeting out that your product is on HN isn't exactly "manipulation"

<comment><USER7> Asking for upvotes is against the rules:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

Soliciting booster comments is even more against the rules.

</comment></comment></comment><comment><USER8> Safari has this feature built in as well. It is particularly useful on mobile devices. It will even follow Next Page type links to condense a multi-page article into a single scrolling page.

I find it somewhat ironic that Reader Mode's own site is filled with large images, tiny pop-out boxes, and a tweet carousel. But it certainly isn't the worst product website I have seen.

</comment><comment><USER9> The font is not called "OpenDyslexics", it's "OpenDyslexic". Also, it's kind of odd to say you support multiple dyslexic-friendly fonts when it's really just one font in bold/italics/mono. Perhaps some people would consider mono to be its own font (though I've never known anyone who preferred OD Mono, and I work in the accessibility world). But for sure bold and italic are not considered to be separate fonts by lay people.

<comment><AUTHOR> Thanks for pointing that out! Will make changes asap! :)

</comment></comment><comment><USER10> Is there an option to justified-align the declutterred text?

If not, can you add one?

(Sorry, i don't have chrome to try it out. Justified alignment is what I miss in Firefox Reader mode.)

<comment><USER10> Meanwhile, i finally got off my lazy ass and figured out how to add justified- alignment to the Firefox Reader View.

NOTE: Involves restarting Firefox.

1\. Locate the Firefox _profile_ directory on your system.

On Windows, this is typically a directory like :

      C:\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile-directory>

The definitive method to locate the profile directory would be to visit the _about:support_ page in Firefox, and check the value of the property _Profile Folder_.

2\. Within the above identified profile directory, open the sub-directory _chrome_. If a _chrome_ sub-directory does NOT exist within the profile directory, create it.

3\. In the above _chrome_ directory, create an empty file _userContent.css_.

4\. Open the above _userContent.css_ and add the following lines to it :

      .moz-reader-content {
          text-align: justify;
      }

5\. Force custom stylesheets

Visit the _about:config_ page in Firefox, search for the property _toolkit.legacyUserProfileCustomizations.stylesheets_ , and ensure it is toggled to _True_.

6\. Restart Firefox.

7\. Open a page, switch to reader mode, and enjoy the justified text!! \\(^.^)/

</comment></comment><comment><USER11> Really neat. Thank you for taking care of accessibility issues as well.

I don't have Dyslexia but when having migraines I can't read online properly anymore so that will help.

I just wonder whether it's worth the fuss as I have Reader View in Firefox already.

<comment><AUTHOR> No worries at all! Ah I see, let me know if there's any any specific features that you want. IMO, you should give it a try as it is more than just a Reader View like the one in firefox as it has many more features, especially the Dyslexia features that you just mention :)

<comment><USER12> do you plan to port the extension to FF ? I like their baked in feature but yours take it to another level.

<comment><AUTHOR> Yes, Firefox and Safari version will be coming soon! :)

</comment></comment></comment></comment><comment><USER13> Seems nice.

1\. When I click on "not interested", the page jumps to the top

2\. Vimium does not work on pages altered by the extension. Sadly, that's a dealbreaker for me.

3\. Maybe the icon is too similar to outline.com.

<comment><AUTHOR> Thanks for the feedback! Will get it sorted asap! :)

</comment></comment><comment><AUTHOR> With just one single click, you can remove clutter, ads and distractions from any articles, thus improving your readability and productivity. Here's the highlight of what this extension can do/offers:

It comes with dyslexia support, text annotating and highlighting, text-to- speech and many other customization tools.

Here's the quick highlights of what it has and can do:

\- Distraction-free and ad-free "Reader Mode"

\- Theme customization

\- Custom CSS

\- Print pages

\- Fullscreen mode

\- Auto-run ability

\- Deletion of unwanted elements

\- Save edited pages

\- Share To Twitter

\- Dyslexia Fonts

\- Dyslexia Ruler

\- Text To Speech

\- Outlines

\- Text annotating and highlighting

\- Note List

\- Auto-scroll functionality

\- Dark Panel Mode

\- Google Search

\- Google Translate

You can use "hackernews20" code at checkout to get 20% discount :)

<comment><USER11> Sounds good. Do you plan to support Firefox as well?

I don't use Google spyware - only for testing things.

<comment><USER14> Firefox does have a built-in reader mode, although it doesn't have this many features. Have you tried it?

<comment><USER15> I use it all the time. It also allows me to bypass cookies/GPDR modals for sites I plan on dipping into for a single article.

</comment></comment></comment></comment><comment><USER16> This example from homepage which shows techcrunch article side by side with plugin's output doesn't look good to me. To be honest I'm finding TC article formatting and font size much better to read (ads are not visible with ublock), in addition publication date and author is displayed.

<comment><AUTHOR> Ah i see. Ok, will consider changing the example soon. But if you are using the plugin, you could cuztomize everything (fonts/background/width/colors etc.), and also you could turn the date, author and original url on/off.

</comment></comment><comment><USER4> I've been using this extension for a couple weeks and it does everything I want it to. My favorite/most-used feature is the customizable font and background colors. I'm glad you give your users granular control.

Btw, you're on the front page of HN :)

<comment><USER17> Have you really only been on HN for 25 days? The number of young accounts which don't appear as green in this thread is staggering.

<comment><USER4> Yes, that's correct. The author is fairly active in the indie maker community, so maybe he pulled on his network?

<comment><USER18> Think he 100% did but nothing wrong with that.

</comment></comment></comment></comment><comment><USER19> Hey, loved it!

Just a nitpick: when trying to test it with a Medium article, I was already a few paragraphs down when I clicked on "Not interested" (for now) in the popup. This scrolled the page back to the top.

<comment><AUTHOR> Thank you! And oh, i missed that that's for letting me know will fix it asap :)

</comment></comment><comment><USER20> I like this extension, nice work.

One thing I couldn't find was activation keyboard shortcuts, and the ability to dismiss it by hitting esc. It'd be nice if it had that.

<comment><AUTHOR> Thanks! You can edit the shortcut by going to chrome://extensions/shortcuts . But oh yeah, will add esc feature asap thanks for letting me know! :)

</comment></comment><comment><USER18> Seems great, trying it now. A good few of these comments and upvotes seem to be from ops friends. (Based off a quick twitter search). Nothing wrong with that

<comment><USER7> Yes, there's something with getting friends to upvote and (especially) to post comments in threads. We want people to upvote and comment because they ran across something that they personally found intellectually interesting, not because a friend has something to promote. Promotional use of HN undermines the intended use of the site, which is why these behaviors are against the rules:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

</comment></comment><comment><USER21> I already know about this extension and it's worth to buy. I'm using it when I love to read stories. Awesome.

<comment><AUTHOR> Thanks man!

</comment></comment><comment><USER22> how did you come to this pricing model? I'm confused about why you chose to make the pro a $20 one-time payment, but the education is $99/month

<comment><AUTHOR> Hi the PRO version is $20(or $15 now), as it is a one time fee for a limited license, eg. 1/5/10\. Meanwhile the education is $99/month as it gives you Unlimited Licence.

</comment></comment><comment><USER23> …for Chrome only.

<comment><USER24> ... because Firefox includes something very similar already.

</comment></comment><comment><USER17> is this for real? an ad for a paid extension is #1 on hn? also with tons of comments missing articles? Come on..

<comment><USER3> All these unsubstantial "I love it" comments are indeed very suspicious. Not to mention many browsers have this feature built in.

(I know this post is treading the line on insinuations about shilling. Sorry dang.)

<comment><USER18> Yeah, seems to be his twitter friends and/or groups

<comment><USER7> It's against HN's rules to ask friends to upvote and (especially) to post comments in threads. We want people to upvote and comment because they ran across something that they personally found intellectually interesting, not because a friend has something to promote. Promotional use of HN voting and commenting is opposed to the spirit of the site, and the community is adamantly against it, as you can see from the comments making objections to the earlier pattern in the thread.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

<comment><USER17> Thank you for drawing this line clearly. Frequently elsewhere I see mods decrying self-promotion, yet there should be nothing wrong with posting your own material (otherwise, what is the internet for, only consumption?). The problem comes when you beg people from outside the community to give you recognition through forced comments/votes.

</comment></comment></comment></comment></comment><comment><USER25> Lone it. The ad-free/ distraction free experience for reading articles that I have been waiting for!!

<comment><AUTHOR> Thanks man!</comment></comment>


Rural area with terrible internet choices (3mbps max). What are my options? - <AUTHOR> <comment><USER2> A) Move somewhere else. B) Become intimately familiar with what services you consume and see if you can get some sort of compression in the works. C) Organize your community to either reach out to an established ISP to have them upgrade your infrastructure, or try to organize a municipal effort to do the same. D) If C, prepare to be sued by an incumbent ISP if they have passed laws to restrict municipal network setup E) Also be prepared to keep a thumb on your legislative reps if they haven't, because it'll likely be popping up in some bill somewhere soon. F) Maybe do satellite.

Godspeed, friend.

<comment><AUTHOR> This is an excellent answer. I know that mediacom services 98.5% of our area with 1gig fiber... yet somehow our community (neighborhood) doesn't have the option.

</comment></comment><comment><USER3> Move, and tell as many influential people why. Suggest to other people with your same issues to also move and tell their tales. For an area with such poor service, I'm _guessing_ that there may already be a net outflow.

Also, are you in a state that large ISPs have bribed the legislature to prohibit local governments from providing broadband? Work that into your narrative.

</comment><comment><USER4> Depending on your needs you might get away with a remote desktop connection to somewhere that does have a great connection.

Also I'd prepend "Ask HN:" to the title.

<comment><AUTHOR> Fixed the title... thank you!

</comment></comment><comment><USER5> options for what? Are you asking if there's some sort of thing like satellite internet or using data or something to get more bandwidth, or are you asking how to deal with low bandwidth because you've looked through all the options and none of them are good?

<comment><AUTHOR> I'm not even sure, any options for improvement, would it be possible to pay to have a line run?

<comment><USER5> I'm not sure what quality of actionable advice you're expecting here when literally all the info we have is that you are in a rural area with bad internet choices. Carrier availability and regulations differ on a town by town, county by county basis across the US creating a huge spread of potential issues and solutions in the one country alone, and you could be anywhere in the globe. Rural Kentucky is not the same as rural Ontario is not the same as rural Kenya. And, it's likely not a good idea to share a set of personal GPS coordinates with the internet on the hopes that someone might happen to be familiar with your local situation. Maybe it's possible to pay to have a line run, maybe it's not, maybe it'll cost 20 million bucks.

Maybe there's a WISP initiative, maybe there's satellite, maybe you could use mobile data. Or maybe you're just in one of those broadband dead zones in the country that just don't have internet options and won't get any in the near future because of regulatory capture, apathetic political leaders, and the unfortunate reality that poor rural communities really don't matter to politicians with the power to change the regulations to allow for a better internet to come there. Even in south Carolina, a state that matters an awful lot every four years because of the primary there, so many areas have no good internet and no options because nobody cares after the election is over. If you're in one of those areas, your only option is to create a mini political revolution, move away, or just deal with it.</comment></comment></comment>


The Big List of RPG Plots - <AUTHOR> https://rolltop-indigo.blogspot.com/2018/10/the-big-list-of-rpg-plots.html <comment><USER2> This should have (1999) in the title, which is when it was originally published.

> Over the last two decades, The Big List of RPG Plots has been cited, quoted, > thanked and excerpted in articles for computer-game design, a book on > Hollywood screenwriting, and more than a few pen-and-paper RPGs. I wrote it > in 1993 as an article submission for Pyramid magazine (they rejected it). I > later tried to shop it to Dragon and Shadis and others (they also rejected > it). I became Pyramid's editor in 1998 and decided: nah, that would be lame, > to finally "accept" my own rejected article, so instead, it became something > I'd offer for free on my own website, the Blue Room, where it debuted in '99 > and lives on to this day.

[https://www.drivethrurpg.com/product/202670/Big-List-of- RPG-...](https://www.drivethrurpg.com/product/202670/Big-List-of-RPG-Plots)

</comment><comment><USER3> There's also TVTropes (warning: abandon all home of productivity): [https://tvtropes.org/pmwiki/pmwiki.php/Main/RolePlayingGame](https://tvtropes.org/pmwiki/pmwiki.php/Main/RolePlayingGame)

<comment><USER4> It does bear some similarity to tv tropes. One thing I really like about this list is how focused it is. It's nothing but high level plot points. No digression, and nothing really obscure. Pretty much any good guys and bad guys story is going to contain at least one of these archetypes. TVTropes is great for many things, but it is not quite as compact as this list.

</comment></comment><comment><USER5> Being a coder, i have a ton of friends who all aspire to create indie games in their spare time. I also know a couple of artistic friends with similar aspirations. I wish there was a platform for these two sets of people to ideate and join forces. Lists like this help, but it doesn't begin to answer all of the design/environment/modeling that is necessary for most games.

Even if, like the random saas projects many of us have in mothballs, no released project comes of it, almost everyone involved would likely make out positively from the experiences gained.

<comment><USER6> gamedev.net?

<comment><USER7> Gamedev.net is a great resource that I see come up very rarely on here. There is a lot of extremely ameteur posts there, but the community contains some incredibly knowledgeable people that give fantastic advice</comment></comment></comment>


TinyProj Shuts Down, Users Sent To TechStars GroupTalent - <AUTHOR> http://techcrunch.com/2012/01/16/tinyproj-shuts-down-users-sent-to-techstars-grad-grouptalent-instead/ <comment><USER2> _Only 20% of all applicants get in, as determined by a filtering process done through manual review in combination with algorithms that rank the applicants based on open source contributions._

Applicants are ranked based on their open source contributions? Jeez, I'd never get in. All of my clients require me to work on closed source code, and I've worked on the smallest of the small projects, to large $700 million dollar projects.

I realize that choosing the right candidate for a project can lead someone to a certain set of paranoia, but isn't there more we can use to rank people other than their open source contributions?

<comment><USER3> Open source contributions is one of many things we look at to decide acceptance. You don't need to have any open source contributions but it does help us gauge you as a developer. It mostly comes down to what you've built in the past (open source or not).

<comment><USER2> Thank you for following up.

What other criteria do you judge candidates by? Do you only look at publicly accessible work? A lot of work that I do is in back-end services...stuff that the public never sees. That has always made it difficult to show in a portfolio.

<comment><USER3> Yeah, currently we look at publicly accessible work a developer has done. Agreed that front-end and design heavy work shows much better in a portfolio (and is usually an easier sell for the project owner) but we're working on ways to bubble back-end work to the top so it shows nicely. We get a number of back-end only type projects come through, so definitely still request an invite.

<comment><USER4> Does "transition" mean you have to apply if you were on TinyProj or are you automatically in?

<comment><USER3> Yeah you still have to apply if you were an existing TinyProj user.

</comment></comment></comment></comment></comment></comment><comment><USER5> Interesting! I started a service with a similar idea in mind, but still have a smaller userbase (~>2000 members and growing every day!). Nice to see there is a real demand for it though. Congratulations to Kyle!

(If anybody is interested, check it out at <http://gun.io> /shameless.)

<comment><USER6> Thanks a bunch. Love what you're doing with Gun.io. For me, just came down to not having the time to really devote to Tinyproj. Glad it's found a good home though.

</comment></comment><comment><USER7> A friend pointed this thread to me & I found this to be interesting.

I am running stalkninja.com since Dec 2010 & noticed that grouptalent.com started 15 days later. Glad to see similar initiative around the world.

I agree with Kyle that such an initiative is pretty time consuming. Even I need to spend considerable time hand-holding the first time project creators as I am very particular about the quality of the work that comes. The only hope being - this is one time & if they come back again, they should be able to do it all by themselves.

Lot of people pointed out that it is a non-scalable way but I still think of taking my chances :).

P.S. cum shameless plug :-

stalk ninja is more of college hacker from India centric initiative. The idea is to expose raw but amazing talent to guys who can not afford to offer them a job (salary skew is pretty high in India).

We never got covered on any of the major tech journals as I chose to spend time listening to my clients, helping them refine projects & spreading the word to college audience. Not sure, if this is right - but again - I decided to take my chances & do things my way :).

</comment><comment><USER8> Ah what sad news! I really enjoyed using this service and although I never found a project through it this was almost certainly due to the fact I wasn't able to take on new projects during the time I was subscribed to it. However there were many projects that looked interesting and worthwhile. I'm sorry to see it go.

<comment><USER6> Appreciate that! I couldn't think of a better service to take the wheel than these guys. It just came down to not having enough time/momentum to really make sure that great projects were coming in consistently. I'm happy to report that that won't be an issue any longer.

</comment></comment><comment><USER9> TinyProj was cool. Unfortunately the only jobs I applied to had a ton of other people also apply, and as time went on, the quality of the jobs severely degraded. Some of them smelled like a scam to me.

Either way, it was a valiant effort and I really appreciate the amount of work that went into it.

<comment><USER10> I won't miss reading the "$500 for 14 days of work" emails in my inbox, that's for sure.

</comment></comment><comment><USER11> Just scanned the ToS - seems like GroupTalent own the relationship between dev/client for 3 years subject to the client buying them out.

Careful what you agree to if you move over!

<https://grouptalent.com/legal/tos>

</comment><comment><USER12> I think it's worth mentioning that Kyle's consideration of his user base's interests was a top priority, and ultimately the reason we decided to collaborate. He's a class act all the way, and I hope some of you fellas will take him out to drinks. Dibbs on the first round!

</comment><comment><USER13> I also started a similar service, although geared towards designers:

<http://folyo.me>

It's an interesting space to be sure, but running that kind of site does require a lot of work (if only to find good projects).

<comment><USER14> ooo, I'm on folyo and have to say there are nice projects coming through there. good job!

</comment></comment><comment><USER15> Sorry to see it go. Though I never applied to a job with tinyproj, I liked the way it worked. It was simplicity itself. We'll see how GroupTalent goes, but I'm not thrilled at the way their filter works.

Anyway, good effort Kyle!

# Edit: By the way, how exactly do we get "transitioned" to GroupTalent? Should I expect some instructions, an email or something? Or is it better to just go ahead and apply for an invitation like everyone else?

<comment><USER6> Much appreciated. Email is queued up, so expect it shortly. FWIW noone is automatically moved over; it's your choice to opt-in, but we are providing a "skip the line" feature for all Tinyproj users who do want to transition.</comment></comment>


Impossible Foods says it is close to finishing a large-scale production facility - <AUTHOR> https://qz.com/939320/a-startup-says-it-can-now-produce-enough-for-4-million-meatless-burgers-a-month/ <comment><USER2> I haven't tried Impossible Foods yet, but I have been dabbling with Beyond Meat (both companies backed by Bill Gates apparently).

In case anyone is curious about this product category, here are my thoughts on Beyond Meat:

Beyond Meat has a normal burger replacement. Other than the factory-formed shape (easy to fix I'd think), the texture and taste approach the real thing. It probably wouldn't pass a blind test and it's expensive, but if they got the cost down and In-n-out started cooking with it I could see myself preferring it.

They also have a healthier burger (Beast). This one's not trying to be as convincing and isn't going to convert any carnivores. I don't really recommend it unless you must eat something healthy in patty form.

Then there's the Beefy Crumble. This is a ground beef substitute that isn't in patty form. It's on the healthy side and isn't going to fool anyone either, but I use it all the time as it's nice to have another protein in the rotation (all the Beyond stuff uses pea protein). Easy to throw into burritos or pasta.

Looking forward to the future of this space.

</comment><comment><USER3> [https://www.impossiblefoods.com/faq/](https://www.impossiblefoods.com/faq/)

        Nutrition Facts
        Serving Size (85g)
        Servings Per Container about 85
        </comment><comment></comment><comment>-
        Amount Per Serving
        Calories 220    Calories from Fat 120
            Calories from Saturated Fat 100
        </comment><comment></comment><comment>-
                         % Daily Value*
        Total Fat 13g            20%
          Saturated Fat 11g      55%
          Trans Fat 0g
        Cholesterol 0mg           0%
        Sodium 380mg             16%
        Potassium 250mg           7%
        Total Carbohydrate 6g     2%
           Dietary Fiber < 1g     4%
           Sugars 1g
        Protein 19g
        </comment><comment></comment><comment>-
        Vitamin A 0%  - Vitamin C 25%
        Calcium 2%    - Iron 10%
        Thiamin 1260% - Riboflavin 15%
        Niacin 20%    - Vitamin B6 10%
        Zinc 15%      - Vitamin B12 50%

<comment><USER4> This is easier to read on mobile: [https://www.impossiblefoods.com/images/faq/nutrition- facts.p...](https://www.impossiblefoods.com/images/faq/nutrition-facts.png)

EDIT: Here's a link to the FDA comment I deleted, but is reference in the comment below: [https://www.fda.gov/downloads/Food/IngredientsPackagingLabel...](https://www.fda.gov/downloads/Food/IngredientsPackagingLabeling/GRAS/NoticeInventory/ucm427026.pdf)

<comment><USER3> Your deleted comment from the FDA filing was interesting. I also couldn't make much of it due to unfamiliarity with the terminology.

My favorite part was the "this is submitted on a certified Virus-free CD".

Original comment:

 _> Not sure what to make of this doc: [https://www.fda.gov/downloads/Food/IngredientsPackagingLabel...](https://www.fda.gov/downloads/Food/IngredientsPackagingLabeling/GRAS/NoticeInventory/ucm427026.pdf*)

<comment><USER4> Of note in that filing is that Impossible Foods later requested that the FDA not review that PDF linked to above and the FDA agreed to stop reviewing it:

[https://www.fda.gov/Food/IngredientsPackagingLabeling/GRAS/N...](https://www.fda.gov/Food/IngredientsPackagingLabeling/GRAS/NoticeInventory/ucm489241.htm)

<comment><USER3> I hope you don't mind that I resurrected your comment; I thought it added value.

<comment><USER4> Nope, don't mind; deleted it because I could figure out what it was.

</comment></comment></comment></comment></comment></comment><comment><USER5> This is something i am really (REALLY!) excited about. I am a Vegetarian because of the environmental impact, but the desire for the taste is still there (been a few years). All the substitutes i have tried (until now) were bad and left me disappointed and i still have to fight the urge to order a good old schnitzel at a restaurant.

EDIT: if somebody asks why i am being so strict...i will stop being strict when we start living sustainable on a global scale. I don't see that happen in my lifetime. Until then being a strict vegetarian has a good impact on the people around me. I don't try to persuade anybody, i will even grill your meat, i am just a vegetarian for myself and the planet.

<comment><USER6> I've scaled back my meat consumption radically in the last six years or so and in my experience, taste is just a factor of habit. Change your habits and you can change what you perceive to be delicious.

Anecdotally, eating meat infrequently has resulted in me finding chicken and turkey generally flavorless and gross when I'm in a position where I must eat them. And while the smell of a burger cooking somewhere is still nice, the smell of bacon being cooked in our building has gone from sublime to rank.

When I do eat meat that I find tasty (burger, steak, kebabs) I've slowly come to appreciate that less is best, and more can turn my stomach. A thin patty ala Shake Shack is vastly preferable to an $18, 3-inch tall burger at a hip restaurant.

I haven't yet come around to vegan cheese. But based on other changes I can't rule that out.

<comment><USER7> I'm with you on the cheese. I've only found one vegan cheese that I like, it's Follow Your Heart Provolone. If you haven't tried it yet, give it a shot! Great replacement on pizza, burgers.

</comment></comment></comment><comment><USER8> I tried it. It tastes good because of the heme, but it tastes wheaty otherwise. I think most people would like it, but not going for gluten-free recipe seems shortsighted

<comment><USER9> Where do they get the haem? Yeast or something?

<comment><USER8> Yeah, GMO yeast

</comment></comment></comment><comment><USER10> I wonder how this kind of burger compares to lab-grown burgers. I would imagine this process is significantly cheaper than lab-grown – in which case, why don't we just replace all burgers with this?

<comment><USER11> The major problem with lab-grown burgers is that cell culture is quite difficult and expensive to do at even small scale. There are obviously efforts to radically decrease those costs, but some things are going to be quite hard to do cheaply and at large scale.

For example, on their own, cells have zero defense against invading bacteria/fungus. And yet they're being grown in high-nutrient media where any bacteria would thrive and possibly outcompete the growing meat cells. So you probably need a very sterile environment, which isn't so easy to do at very large scale.

In contrast, these burgers are made using materials we know how to handle safely and can produce at large scale. These should be quite a bit easier to get to market. As for taste, I think both have challenges, but can't speak as much to that because I haven't had either.

Full disclosure: Pat Brown was on my PhD committee in grad school

<comment><USER12> [http://www.sciencealert.com/lab-grown-burger-patty-cost- drop...](http://www.sciencealert.com/lab-grown-burger-patty-cost-drops- from-325-000-to-12)

<comment><USER11> Yup, the relevant part of that article:

"Post and his team are now working on replacing the serum [fetal calf serum] with something that doesn't rely on animal products, and told the ABC that while they're making great process, it'll be at least a couple of decades before they can scale the technique up and make it commercially viable."

If you're using fetal calf serum (FCS), you're definitely not particularly vegetarian, nor are you reducing the need for physical cows. Let's assume you can eventually get rid of that requirement though.

Cost estimates for something that is quote "decades" away isn't quite meaningful. The hard part is scale, and it sounds like they're quite aware of that problem.

Finally, $11 per burger is still insanely expensive. I can get a burger, with bun, cooked and handed to me on a platter for $1 at McDonald's. It's an enormous challenge to get lab grown meat down to an industrially relevant cost.

I'd still bet on Impossible Foods's approach.

<comment><USER13> > Finally, $11 per burger is still insanely expensive

Yeah, the price ($80/kg) is apparently quoted down to a quarter-poind burger portion of bulk "meat"; it's about $44/lb, which is around 11× the average _retail_ price of ground beef (about $4/lb.) [0]

> I can get a burger, with bun, cooked and handed to me on a platter for $1 at > McDonald's.

To be fair, the "hamburger" on the McDonald's menu is a 1/10 lb. (precooked weight) patty, which is much smaller than what is priced out.

[0] [https://www.bls.gov/regions/mid- atlantic/data/AverageRetailF...](https://www.bls.gov/regions/mid- atlantic/data/AverageRetailFoodAndEnergyPrices_USandMidwest_Table.htm)

<comment><USER11> Fair enough on 1/10 vs 1/4 pound. Better McDonalds number: they will sell me a quarter pounder with cheese for $3.79, and that includes all the logistics, preparation, overhead etc.

And yeah your bulk price is a better number anyway :)

Fast food is mind blowingly cheap though, and yeah maybe higher end things will help move down the cost curve, but I think the technical difficulties around cell culture are truly massive. I'd be much more interested in things like making meat-like components out of yeast (easier to culture) than taking full on myocytes and culturing those to get a burger.

</comment></comment></comment></comment></comment></comment><comment><USER14> Does anyone know how the nutritional content compares? For me, the fact that I can cook a 300g burger that, after trimmings, is 1000+ calories is a big deal. Also the massive amounts of fat and protein, and the low carb profile. All these things make burgers a great meal choice for me (taste matters too obviously).

If these fake burgers are cheaper, have similar macros and calorie density, and are better for the environment, I am super interested.

<comment><USER3> A 300g Impossible Burger would be

(from 85g serving size):

        300g / 85g = 3.53
        Calories 220 * 3.53 = 777
        Fat 13g * 3.53 = 45.9g
        Protein 19g * 3.53 = 67.1g
        Carbs 6g * 3.53 = 21.2g

<comment><USER3> 300g Beef Burger (source: wikipedia)

       Calories 612
       Fat 48g
       Protein 45g
       Carbs 0g

<comment><USER14> That's without the trimmings. Add buns, cheese, bacon, sauce, etc. and you can easily hit 1000.

</comment></comment></comment></comment><comment><USER15> I've tried the Impossible Burger twice at Cockscomb Restaurant in San Francisco. It's almost identical in taste to a good beef burger, when prepared by a professional chef at least. But at $19, it's not competitive with a $7.75 Super Duper Burger or any cheaper variants one might find at In-N-Out or fast food joints further down the ladder.

<comment><USER16> I might be more fair to compare their $19 Impossible Burger with their $15 Hamburger rather than an In-N-Out burger. I haven't tasted an Impossible Burger (yet) but I'd be more than happy to pay the extra $4 if its "almost identical in taste to a good beef burger".

[http://cockscombsf.com/menu/lunch-menu/](http://cockscombsf.com/menu/lunch- menu/)

</comment></comment><comment><USER17> > wheat, coconut oil, potatoes, and heme

Replacing meat for carbs is not a great idea.

Edit: I was wrong. 200cal only have 6g of carbs which is pretty good IMO.

<comment><USER18> What if animal fats are too heavy for your personal digestive system and you aren't obsessed with your BMI?

<comment><USER17> > What if animal fats are too heavy for your personal digestive system

You could get vegetable fats from avocados, olive oil, etc. Fats are essential to life.

> and you aren't obsessed with your BMI?

It's a myth that eating fats will increase your BMI. It's eating too many calories that causes that.

<comment><USER18> > You could get vegetable fats from avocados, olive oil, etc. Fats are > essential to life.

I agree, those and coconut are my preferred sources of fat.

> It's a myth that eating fats will increase your BMI. It's eating too many > calories that causes that.

This is the opposite of my intended meaning. I was referring to GP's blanket statement that replacing meat with carbs is bad. The "BMI obsession" snark is a response to people advocating extreme low carb diets as if they are inherently healthier (rarely are the components of that diet discussed) than a diverse diet of unrefined foods (including the occasional carbohydrate). Keto is great for showing off your six pack. I don't think that means that it is by default healthy.

</comment></comment></comment></comment><comment><USER19> I've had the hamburger before in NY (~$9 w/ fries) and it's pretty delicious. Probably would have thought it was real beef if I hadn't already known. I'm extremely bullish on IF.

</comment><comment><USER20> Headline is a dramatic overstatement.

> In an announcement today, the Bay Area company said it was _close to > finishing_ a large-scale production facility in Oakland, California that > _can_ produce as much as 1 million lb (454,000 kg) of meatless meat a month.

1\. Facility not done.

2\. Facility not tested.

3\. Capacity not demonstrated.

4\. Regulatory approval -- pending?

This headline needs editing.

<comment><USER12> > 4\. Regulatory approval -- pending?

Their product is already on the market, so I don't see how there would be any more red tape other than certifying the new facilities.

<comment><USER20> > any more red tape other than certifying the new facilities

That is a very substantial amount of potential red tape.

</comment></comment></comment><comment><USER21> This was clearly inspired by Buffy the Vampire Slayer episode "Doublemeat Palace" :)</comment>


Ask HN: The Craigwatch story continues - <AUTHOR>

https://news.ycombinator.com/item?id=8043909
I'm the guy that started Craigwatch. I received another C&D stating:
"we sent you a letter demanding that you cease and desist from all violations of craigslist's legal rights and Terms of Use ("TOU"). Our July 11 letter's demands included, among other things, that you cease and desist from distributing your "Craigwatch" software and that you not induce or assist others in violating craigslist's legal rights or TOU.
In response, you represented via email that you "deactivated Craigwatch." We appreciate your cooperation, however, it has come to our attention that you continue to offer and distribute your Craigwatch software on Github. As explained in our July 11 letter, such conduct violates craigslist's legal rights and TOU. Further, your actions induce others to violate  craigslist's rights as well."
I was thinking of responding:
As legal council for Craigslist, perhaps you will thank everyone there on my behalf. I really appreciate all the time, effort, and resources that they put into offering such a useful free service. I'm sure many other people appreciate it to.
The code in question which was posted on Github five months ago (before your initial Cease & Desist), doesn't--and never did--directly reference craigslist, Inc. It's code which can be used to search any site, like a web browser. Further, the code is in the public domain under the GNU GENERAL PUBLIC LICENSE Version 3 (http://www.gnu.org/licenses/) and being hosted by github (not me). I call into question my requirement to comply to craigslist, Inc. terms of use since my script didn't directly access CL's servers, websites, or content therefrom; it was accessed indirectly by the users.
Is my code technically generic enough not to violate their TOU? Am I bound by their implicit contract? Does it even make sense to take down something from github? <comment><USER2> You should seriously consider consulting an attorney. There are clear contradictions in your statement, "Further, the code is in the public domain under the GNU GENERAL PUBLIC LICENSE Version 3"; code that is under the public domain does not need a license. The GPL requires that you have a copyright so that you can license the software under its terms.

<comment><AUTHOR> I see. I'm glad I asked here. Thanks.

</comment></comment><comment><USER3> Whats the upside / downside of this battle ?

Upside: Get a lawyer, spend 50k fighting, get to keep a website on github.

Downside: Get a lawywer, spend 50k fighting, have to remove from github

(unless I am missing some way that you are making money off the code)

<comment><AUTHOR> You're correct in terms of it not being worth my time/money. I just feel like it's an affront to open source software.</comment></comment>


Using Command Prompt from Any Directory - <AUTHOR> http://www.windowhaxor.net/2008/03/25/using-command-prompt-from-any-directory/

<comment><USER2> Or use the "Open Command Window Here" PowerToy from Microsoft: [http://www.microsoft.com/windowsxp/downloads/powertoys/xppow...](http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx)</comment>


Ask HN: Why don't default camera apps scan QR Codes by default? - <AUTHOR> I am working on a product which requires people to scan QR codes to access features. It would have been better if any Phone out there could scan QR codes without installing any other scanner app.<p>Why isn't this the case? <comment><USER2> My Moto X (2015) camera app automatically scans not only QR and bar codes but also scans and OCR's business cards. This might also be true on recent Nexus devices though I don't have one so can't say for sure.

<comment><USER3> Maybe because it might make it impossible to photograph close-ups of QR codes without actually scanning them?

In the sense that making the default camera app into a QR scanner entails that in a certain subset of use-cases it becomes impossible to _take_ a photograph and not undertake a scan.

Whether this is considered an issue by those studying such matters is unknown to me; I'm just speculating wildly.

<comment><USER2> Moto X camera app has a neat solution to this. When it detects a business card or a QR/bar code, it shows an on screen indication of this instead of changing mode. You can continue to take a picture and/or handle the on-screen notification in whatever combination you desire.

<comment><USER3> Clever. I was really going out on a limb there.

</comment></comment></comment></comment><comment><USER4> I agree it would be great if smartphones had a QR code scanner built-in. It would save lots of code duplication for basic tasks. On the other hand, you would have to trust that native app being the 'man in the middle' for the data scanned.

<comment><AUTHOR> It can prompt the user, asking he wants to continue to the URL embedded in the QR. Still not sure, why default camera apps do not have this.

<comment><USER4> I meant that the camera app would know what are you scanning, and could potentially make changes to it, whether it's a URL or something else</comment></comment></comment>


600M years ago, a biological mishap changed everything - <AUTHOR> https://www.washingtonpost.com/news/morning-mix/wp/2016/01/11/startling-new-discovery-600-million-years-ago-a-single-biological-mistake-changed-everything <comment><USER2> Should be marked 2016</comment>


Ask HN: Advice, books, blogs etc. for a CTO of a young SAAS startup? - <AUTHOR> Background: 1 year old startup, co-founded while in college, joined it full-time 3 months back (when I graduated), have a product and paid users, currently focused on growing our user base.
I have found a lot of material (books, blogs, videos) on starting/running startups but nothing I have seen or read tells much about how to lead the tech team or what a tech team should be doing early on.
I am plagued by so many questions: How should I split my time between bugs, features and refactors? For any month, what should my targets be? How to estimate the time to fix a bug/release a feature? Is it ok to work on something that may not bring in more revenue in the near future?
Or maybe I am asking the wrong questions altogether. Please guide. <comment><USER2> Email me at email@example.com. I'd be happy to help.</comment>


Hong Kong Exchanges Bids $39B to Take over London Stock Exchange - <AUTHOR> https://www.reuters.com/article/us-lse-m-a-hong-kong-exchanges/hong-kong-exchanges-bids-39-billion-to-take-over-london-stock-exchange-idUSKCN1VW0YP <comment><USER2> Random HKer flying by. Dear Brits, please don't let China buy up your country.

To those who thought this has nothing to do with China political agenda, please check the background of current CEO and president. Also, note that HK gov appoint half of the board member.

<comment><USER3> Yes it seems the tide is turning on China. If they want to play ball with the rest of the world they need to reform into a modern democracy and the CPC needs to go away. Otherwise, we need to limit the authoritarian contagion. China is pretty much exploiting Capitalist greed to get the Western world to sell them the rope to hang them with.

<comment><USER4> China still hasn't apologized to the world for lying about WMDs in Iraq, dropping nuclear bombs on Japan or mounting right-wing coups around the globe. When will it start behaving more like the US?

<comment><USER5> Whataboutism is just plain dumb. One country doing bad things in no way justifies any other country doing bad things. Especially when there is broad agreement amongst most people that both things are bad.

<comment><USER6> I think geogra4's tone was of a kind with the post to which he was responding, which seemed to be asserting that only "modern democracies" (which there appear to be a scant few of these days) could "play ball," and that therefore China is, I guess, disqualified from participating in the world economy?

This is deeply subjective obviously: It didn't strike me as "whataboutism," but more a refutation of what seemed like a moral-political superiority complex. Devopyl's comment expressed this old-fashioned view; very reminiscent of the 80s and 90s, for me, and I think geogra4's balloon-popping was well in order.

We may have different definitions of "whataboutism" as well :)

</comment></comment></comment></comment></comment><comment><USER7> I don't understand how HKEX has this much money (or can raise) to buy LSE (or invertly why LSE is worth this much). Exchanges don't do clearing so essentially just a glorified piece of matching software running 24/7\. HKEX has their own data center in the middle of nowhere granted which I've been to and yeah more impressive than say an Equinix such HK1 but still the figures don't seem right..

<comment><USER8> > Exchanges don't do clearing so essentially just a glorified piece of > matching software running 24/7.

You just described Google, and they seem to have plenty of cash in the bank.

<comment><USER7> Exchanges only have a couple of hundred customers afaiu, with the volume coming through only a couple of dozen, everyone else is through their prime broker. In other words there is a limit on how much they can pull fees up before liquidity moves elsewhere. I wouldn't be surprised too if the matching software was off the shelf.

<comment><USER9> > I wouldn't be surprised too if the matching software was off the shelf

If there exists a business whose product is "scalable real-time order-book matching software" as licensed software or SaaS, I'd love to know about it! I'm in an adjacent space, and I'd love to strike up a partnership with such folks.

As far as I know, such a business _doesn't_ exist; all the big exchanges maintain their own core IP, much like all the big telcos in the 90s maintained their own core telecom-equipment IP. From what I know of the space, each player thinks that licensing the IP would just be either inviting a new player to the table, or more likely inviting _enough_ new players to the table that other parts of the trading value chain would start to see value in abstracting-away and commoditizing their part of it.

<comment><USER10> I'm not quite sure how the terms / licensing for this works, but anecdotally OSE, SGX, TOCOM, BrokerTec and at least the derivatives business in Hong Kong all run on some variant of Nasdaq technology.

</comment></comment></comment></comment></comment><comment><USER11> I'm surprised the LSE is even worth that much. It's not like exchanges make that much money. The bid is 15X revenue.

<comment><USER12> Potential future earnings when London becomes the offshore Hong Kong of Europe will probably be higher.

<comment><USER13> Extremely unlikely. They won't even be allowed to clear Euros.

<comment><USER12> It won't matter, people from the rest of Europe will pay handsomely to keep all of their money hidden in pounds.

<comment><USER14> Not if the pound continues to devalue against the Euro (and everything else).

<comment><USER12> Why would that continue long term?

<comment><USER15> Brexit.

<comment><USER16> The long term effects of Brexit should already be priced in.

<comment><USER17> The expected long-term effects of each anticipated Brexit scenario weighted by the current perception of the likelihood of each should be, sure.

OTOH, as there is considerable and evolving uncertainty about even the short- term Brexit prospects (as in, will the UK leave, and if so when and on what terms), estimates of the likelihood of various long-term scenarios are likely to also be in considerable flux,even before considering potential evolution in estimates of the effects of each potential scenario.

"The market knows the future and has already completely priced it in" is disproved every time the market moves, but people still like to treat it as some kind of deep wisdom.

<comment><USER18> I mean more counter examples are great but any one aware of NP=/=P should be able to call bullshit on market's predictive ability.

<comment><USER17> > any one aware of NP=/=P

Wait, someone finally proved P ≠ NP?

<comment><USER18> No, but it's generally understood to be very unlikely [0]. And if something as well studied as markets exhibited NP in P behavior we would have exploited it by now (FWIW, markets appear to be an efficient approximation algorithm like evolution is; approximation algorithms (like evolution) being something we use all the time to solve engineering problems).

[0] [https://www.scottaaronson.com/papers/npcomplete.pdf](https://www.scottaaronson.com/papers/npcomplete.pdf)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Isn't financial services like the posterboy of the British economy? Why would you even think of allowing the central feature of a major portion of your economy to be sold outside the country?

<comment><USER20> I don't think the British have ever really had a huge problem with foreign countries owning significant British companies. Is this signficantly different from Tata motors owning practically all of british steel production? or French companies owning big chunks of our energy production capacity?

Who owns the company has very little to do with whether it's operating in the UK.

<comment><USER21> > Tata motors

The relationship between India & the UK is quite a bit different than with China. Also the impact on the economy that foreign owners could have through an individual company is significantly less than what could be achieved with the continent's largest exchange. In the past China has had no problem financially blackmailing a company into submission when they happen to reference Taiwan as an independent country. It was very much like "Oh, nice business you have, and lots of it in China! Shame if something were to happen to it. Shame about your slip up with Taiwan too. Shut it down, your business in China, for a few weeks. And publicly grovel like a dog begging for a treat."

I can only imagine what they would do if China owned the LSE and there was any type of high-profile disagreement with China & the UK or Europe.

</comment></comment></comment><comment><USER22> Deutsche Boerse tried to buy LSE for years, but the EU blocked it in 2017. I fail to see how this deal would be any better; financial markets are global so why does it matter where the acquirer sits.

<comment><USER23> What jurisdiction does the EU have over a UK business and its HK buyer in 6 weeks?

<comment><USER24> 64% likelihood of continuing EU jurisdiction according to this prediction market:

[https://www.predictit.org/markets/detail/5429/Will-the-UK- of...](https://www.predictit.org/markets/detail/5429/Will-the-UK-officially- exit-the-European-Union-by-Nov-1)

<comment><USER23> That's just a prediction. Currently, legally my question still stands.

<comment><USER24> Currently, the law is subject to change. And has been multiple times.

</comment></comment></comment></comment></comment><comment><USER25> You'd think London (Brexit) and HK (huge demonstrations) would be rather preoccupied now.

<comment><USER26> The London Stock Exchange isn't technically in London - it's in the City of London, an exceedingly weird semi-autonomous enclave where corporations can vote in elections.

[https://en.wikipedia.org/wiki/City_of_London](https://en.wikipedia.org/wiki/City_of_London)

<comment><USER27> the misinformation that the City somehow lives outside UK law seems to be common on the internet

the City is a glorified borough council with a long complicated history, which has granted it a large bank balance, weird electoral franchise, small police force, and an observer in Parliament

every business in the City follows the same set of laws as those a 10 miles away in Croydon, other than local bylaws (laws on things like littering and dog mess)

<comment><USER28> The voting thing is important though, as allowing buildings to vote is very different legally to outside the City.

Although it's a valid point, most of the dodgy stuff is now done in a weird off-the-books theoretical location (or downright explicitly in the whole city).

Still interesting the Queen can't go inside without permission.

</comment></comment></comment></comment><comment><USER29> I don't think UK will approve this.

<comment><USER30> We can totally trust UK lawmakers and politicians to do what's in their population's best interest here, as always.</sarcasm>

<comment><USER31> Honest question. In what way would this deal going through be against the interest of UK citizens?

<comment><USER28> It'd be a pretty tone deaf political move to allow a foreign power to buy a well known UK institution given the current little-island campaigning by the government (even if they try and spin it as the idea we trade with other countries outside the EU).

Politics aside, there's often the mindset that a foreign company would look to increase "efficiencies" and then offshore elements. Not many people will cry tears over lost City jobs, but there'd be an interesting narrative at play.

</comment></comment></comment></comment><comment><USER21> This seems like it would be a bad sale to make. Having one of the world's largest exchanges seems like it would be a strategic asset for a country that it wouldn't want to lose. To top it off, the buyer is an authoritarian regime that has been intent on expanding its influence to all areas of the global economy at the same time that it threatens or penalized companies that don't tow it's authoritarian line or propaganda. Messing with the LSE could have a highly disruptive impact on the UK & greater European region, which isn't power I'd want any 3rd party to have.

</comment><comment><USER32> Hah I doubt with Brexit happening that they'd let this happen given that in a few years what is Hong Kong's will be China's.

</comment><comment><USER33> There seems to be a lot of anti Chinese/Hong Kong/Brexit feeling going on here.

Is there actually a mechanism where this could be a problem for the UK/The West? Exchanges are pretty well regulated, I don't see how this is going to be a particular problem.

Edit: Spelling

<comment><USER34> Listed companies will be instructed how they should behave. See Cathay in the recent news.

Plus, ability to control the market at critical times.

</comment></comment><comment><USER35> Technically, "Hong Kong Exchanges" aka HKEX is making this offer. But it's worth asking who ultimately controls HKEX.

The Hong Kong government only owns 6% of HKEX, but they have the right to appoint 6 of the 13 directors. If they get one of those remaining 7 directors on their side somehow, the Hong Kong government has total control of HKEX. It seems like the government would be able to assert control if it really wanted to.

And as we've seen recently, the Hong Kong government is basically controlled by the central Chinese government. The Communist party controls all appointments.

If this bid goes through, it would be pretty ironic, because it would mean the Chinese Communist Party now controls the London Stock Exchange. In general I support allowing cross-border purchases but this one seems pretty dangerous.

For example, imagine the Chinese government putting pressure on every company listed on the LSE to stop supporting the Hong Kong protests, or to stop referring to Taiwan as its own country.

</comment><comment><USER36> Maybe they will monetize some HK-LSE pipeline or something..

<comment><USER37> It becomes a sort of data monopoly - already, consolidation of exchanges has limited the number of financial data offerings directly from exchanges, and driven prices up substantially. Further, licenses have become much much more restrictive with regard to use.

I feel that the more free and accessible public market information is, the better it is for all forms of investors and other market participants. Consolidation (in my experience at least), has served to move things in the opposite direction. I do not view further consolidation as a move that helps anyone but the executives and shareholders of the two exchange groups.

</comment></comment><comment> ur-whale With the ongoing China takeover of the fragrant harbour, is that really a good idea, I wonder.

</comment><comment><USER38> am I correct in thinking that some things you don't sell to outsiders? For security reasons at least...stock markets are pretty much everything in a modern economy.

<comment><USER39> Most stock exchanges are owned by some "outsider" publicly traded company. The London Stock Exchange owns the Milan Stock Exchange for example.

<comment><USER24> As far as stock exchange companies go, they're fairly well concentrated in the UK.

Meanwhile the NYSE is owned by ICE with tons of EU operations after buying Euronext (ie: Paris and Amsterdam to name 2).

Nasdaq owns a bunch of Baltic and Scandinavian exchanges.

The Boursa Italia isn't exactly a juggernaut in EU/world terms.

And there's lots of exchanges for Italian companies to list on if they want good access to their shares (e.g. Ferrari cross listed in NY).

</comment></comment></comment><comment><USER40> This is an impossible bid. The HK exchange is mostly owned by the government of HK, and thus the Chinese government. It will never be approved.

<comment><USER41> 5.4% owned.

<comment><USER42> But the Chinese government asserts as much control as they want. Even if they owned 0%, the reality of authoritarianism is still the same.

</comment></comment></comment><comment><USER43> Interesting move. Kind of escape ?

</comment><comment><USER44> It's interesting watching late-stage Capitalism dancing on the minefield it lay itself.

</comment><comment><USER45> Video of our team's analysis on this subject: [https://youtu.be/EiGfllHY6xU](https://youtu.be/EiGfllHY6xU)

</comment><comment><USER46> It's interesting to think about where capital goes as global financial centers have turmoil. It's unclear to me whether hong kong or London has larger head winds in dealing with their instability in the next few years: HK seems to be likely to come to a clear resolution with respect to china quite quickly, but the relationship between London and the EU are likely to be in turmoil for quite some time.

I don't have a lot of cash savings, I'm generally quite LONG on smallholder African farmers, but I think if I was going to put money anywhere right now it would be into a mixture of the Nikkei, FTSE (singapore), Dubai, and KOSPI (korea) indexes. I think all of Japan's problems are understood and priced in. Japan and Korea have the advantage of both tending towards matrix organizations (Toyota and Nissan are both unusually resilient to tariffs) and Singapore and Dubai have the advantage of being financial hubs with nothing going on.

<comment><USER47> > HK seems to be likely to come to a clear resolution with respect to china > quite quickly

I'm confused by this theory; the only clear resolution I see China accepting would be a very bad one for HK, which doesn't seem like a positive long-term situation for their status as a financial center.

<comment><USER48> It could be like Macau. Which has a really high standard of living and quality of life. Hence no protests there.</comment></comment></comment>