Did Functional Programming get it wrong? - <AUTHOR> https://medium.com/@reinman/monoids-to-groupoids-492c35105113 <comment><USER2> Despite traces of interesting ideas -- spreadsheets are underappreciated, so is Multics -- this article is full of hot air. It implicitly equates Haskell with functional programming. It hypes HOTT but doesn't explain. It bashes West Coast programming culture for being short sighted and money hungry, while praising the finance industry. (Who are never short sighted or money hungry?) Worst of all, it name-checks a bunch of category theory lingo but doesn't do anything with it besides try to look smart.

Actually, the worst thing about this article isn't the hot air. The worst thing is that I think I would agree with it, if it had ever managed to get to the point.

<comment><USER3> The reason that monads don't need to explicitly show up in an article about monads is because they are the same manifold as the subject line. For the same reason, people don't use the suffix "set" or "collection" when designing a relational database schema. If you are already in the manifold, it makes no sense to call it out separately (e.g. Russell's paradox)

</comment></comment><comment><USER4> This rather scattered and jargon-laden article seems to be pointing out the differences between the lambda calculus (stateless) and the Turing machine (stateful), which, while computationally equivalent, are not formally equivalent (pardon me if I get the verbiage wrong as I am not a mathematician). While the hardware architecture is essentially a Turing machine and thus stateful, the lambda calculus cannot be mapped onto it without somehow extracting state. In my (rather simple) mind, this shouldn't be a problem if functional programs are not used to do things that they were never intended to do in the first place. If you are trying to use Haskell to do stateful jobs like UI or DB management, you are probably using the wrong tool. Use Java or some other OOP language. Use your FP languages for middleware services that take an input and give an output that can be consumed by whatever is consuming the service. And guess what, the enterprise is already build that way.

<comment><USER4> The other thing this article seems to miss is the level of abstraction at which FP applications need to live. At the OS level, where state is being managed, using FP would be insane. I don't think anyone really would want to do that. The UNIX philosophy of piping along a stream, while it may have something in common with FP, it still exists at a higher level of abstraction than the kernel, which is still a giant, complex Turing machine.

<comment><USER3> The top-level FP CLI is unsafe for exactly that reason [http://okmij.org/ftp/Computation/monadic- shell.html](http://okmij.org/ftp/Computation/monadic-shell.html)

</comment></comment></comment><comment><USER5> > For example, why don't operating systems support native JSON or SQL by now?

Because the job of the OS is to manage computer hardware resources.

'JSON' and 'SQL' (whatever that means) are not hardware resources.

Next stupid article, please. This one is broken.

<comment><USER3> Managing for whom? Is that a resource optimization problem? What if I use a control monad that does the same thing? If TF finds the shortest path for a computation does that make it an OS according to your definition ?

JSON and SQL are closer to preimages of data and computation manifolds respectively that are projected (or fibrated) via Kan

</comment></comment><comment><USER6> I checked out this and the some of the author's other posts. A lot of complaints here in the thread are valid and pretty consistent through their articles. However even though the ideas are scattered and loose and they're trying to market their product, there was a lot of interesting food for thought - it helped that I've spent some time studying FP. I also feel that operating systems have been stagnant for a long time. Yes, the OS should manage hardware and resources, but also the OS is a platform on which other things are built. The platform part is mainly what has felt quite stagnant and perhaps more layers of systems on top (JVM, containers, etc.) might not be the best answer. Adding a layer on top has the benefit of compatibility and reliability that the layer below provides, but layers also compound constraints, possibly sticking us with local maxima.

</comment><comment><USER7> I don't understand what this article is trying to say. The snippets of category theory just seem to be technobabble: While they are all "mathematically true" (upto a generous reading), they don't really "make sense". It reads like the output of a well trained statistical/neural language model on the #haskell IRC channel.

For example:

> The act of "unbundling" functions (lambdas) from their traditional > containers is really what Serverless and the Functional Programming > movements are trying to do

I have no idea where the author got this impression about the functional programming movement (insofar as such a thing exists) is trying to do. For a reasoned view on functional programming, check "Why functional programming matters"

> In FP, you are either writing functions or doing something else (like gluing > or wiring functions together). Simply put, a monad is an industry-generic > term for that "something else".

That is meaningless. A monad is a precisely defined mathematical object in category theory.

> Technically, monads are instances of special 'containers' called monoids > (sets) that manage the above activities.

This part of the article manages to completely misunderstand or misrepresent what monoids are. They are not just "sets", they are sets with additional structure on them.

> Incidentally, the most troublesome spot for both OO and FP has been homotopy > type theory, which is similar to the debate over the mutant creatures that > emerge from relational joins

Uhh, no? HOTT does not come from relational joins, it comes from a desire for a constructive viewpoint of mathematics in which one can encode proofs well, so we can check proofs on our computers.

> .. databases and programming _will_ converge — and something called the > Curry-Howard correspondence suggests we cannot ignore this forever.

I don't understand what this is trying to say, but on a simple reading, this is blatantly false. While curry howard provides a way to connect proofs in proof systems to lambda calculus, _(relational) databases don't use lambda calculus_. Instead, they're based on (surprise surprise) relational algebra, for which I don't know of a curry howard style analogue.

> Meanwhile, the geometry community will talk in terms of topos, sheaves and > data (note how a spreadsheet is sorta both code and data at the same time).

Wow, that is _such_ a misrepresentation of how mathematicians use "data". The word "data" is usually meant to encode "some structure owned by the mathematical object". One often reads sentences like "the galois group encodes data about the field", the "data" is not the "dual of code" or some such nonsense.

> That's probably why applying algebraic "lambda calculus" to geometric > problems (remember XML?) tends to be a rather unpleasant programming > endeavor.

Why is XML geometric? What is this guy talking about? Can he even define a category? (Forget a topos)

> Vendor software is often needed to establish a "standard" way to assign > names to lambdas so we can find them. Mathematically speaking, this is the > job of homotopy. On the other side of the Yoneda "tunnel" we find something > called an Eilenberg-Moore (EM) category (technically the flip side of > Kleisli) and other alluring blobs like Serre subcategories and Segal spaces. > None of which get much play in computer science.

Thi is once again, meaningless. Homotopy is a geometric idea about deformations, which in homotopy type theory gets utilized to define equality. But again, this has nothing to do with naming!

Also, elinberg-moore and kleisli categories are very well known. Open any category theory text, this will a part of the adjoints chapter. Indeed, you can search on hackage and find packages for it: [https://hackage.haskell.org/package/streaming-0.2.2.0/docs/S...](https://hackage.haskell.org/package/streaming-0.2.2.0/docs/Streaming- Internal.html) for example.

> In category theory, we call these "adjoints", as in "joins". If you ask the > memoization crowd they sometimes actually do think in terms of SQL joins. In > the database world, this is like joining keys of a schema.

What? Adjoints are not about joins. They are kind of generalization of inverses. Once again, this just reads like technobabble

> Haskell devs have to manually tinker with adjunctions and monads because in- > memory data support is pretty dumb

What in memory support? What do monads have to do with anything in memory? Monads are a structure that we use to structure code, it has nothing directly to do with "memory data support" or whatever this guy is on about.

> If we follow Yoneda and accept that topology (geometry) and algebra are two > different worlds, then we can "attach" functions to the fabric (geometry). > But in a "serverless" world, what is this fabric?

What in the world is he on? How does Yoneda (where I presume he is referring to the Yoneda lemma) say this? Also, more importantly, much of Category theory exists to explore the _duality_ between algebra and geometry, it says nothing about them being "two different worlds". The very existence of Algebraic Topology means that geometry and algebra are married to each other --- not to mention the other objects mentioned in the technobabble above (topoi, grothendeick categories) arose from Algebraic Geometry, which, guess what, combines geometry and algebra...

At any rate, the entire point of the post is to sell their "Multix 2": [https://www.codecraft.ai/](https://www.codecraft.ai/)

From this post, I have lost all confidence in whatever it is they are building...

<comment><USER3> \- If you are confused, it is probably because FP languages are really only half the story of CT

\- Adjoints are all about joining things hence the name; much like chasing dependencies (arrows) between cells in a spreadsheet and then going back to the relational database where the sheet was extracted from. You have seamlessly jumped from algebraic morphisms to geometry without even thinking about it

\- Homotopy is about finding "paths" between things and therefore imply some relative naming (coordinate) scheme is possible. The segments of a path arise due to torsors. Hence homotopy is associated with paths. UNIX paths and URLs come to mind

<comment><USER7> \- Adjoints as far as I understand are not about joining things, adjoints are about a generalization of inverses. Can you formally (and I mean mathematically) define what this intuition you have about adjoints ~= "joining things"? Also, the word "adjoint" does not come from "join". It comes from "adjoint" in the theory of complex operators: [https://en.wikipedia.org/wiki/Adjoint_functors](https://en.wikipedia.org/wiki/Adjoint_functors)

\- Homotopy is not about finding paths, it is an equvalence relation _between paths_. a path is _homotopic_ to another. Homotopy is also a _continuous object_, unlike torsors, which are discrete objects (a continuous torsor is an affine space).

So, while UNIX paths and URLs are "paths" in the sense of torsors, they have _nothing_ to do with homotopy (as it is classically defined). Unless you are using some weakened notion of homotopy that I am unaware of, in which case I'd love links.</comment></comment></comment>


The Minimum Viable Tree House - <AUTHOR> http://shoptalkapp.com/blog/2009/11/11/the-minimum-viable-tree-house

<comment><USER2> And the next step after the Minimum Viable Treehouse is Treehouse 2.0. With skylights and a railing, but attached to the original structure made from two pallets. With duct tape.

Of course, in the real world the ugliness would be so overwhelming that such a beast would never be built. Too bad the same does not hold true for software :)

</comment><comment><USER3> My treehouse was a 4x4 sheet of plywood with 2 2' 2x4's cut for bracing stuck/nailed in the crotch of a tree.

no roof, no walls, no rails. random rope to help climb the tree to get on the platform... I guess it wasn't so much a house as a place to play up high.

I knew some guys with 2 tree houses in different trees, way way to high, connected via ropes. The guys were almost done with highschool, and didn't use them. If we'd been about the same size/age, would have been a blast. As it was, i got to climb up and across a dozen times or so.

<comment><USER4> "The guys were almost done with highschool"

How many of them became engineers?

</comment></comment><comment><USER5> Am I the only one who is in awe of that tree house? It is totally epic! I would love to have a tree house like that one.

I agree they are indeed too young at the moment to appreciate the tree house, but when they are older they will most certainly appreciate the fact that it is HUGE and their parents build it; furthermore, it will be a totally cool place to hang out in.

</comment><comment><USER6> Good metaphor for out-of-control software development. I especially like the conclusion that the end-user actually does not like the fancy features (the large size).

</comment><comment><USER7> The minimum viable tree house is a tree with a plank nailed somewhere you can climb to.

As a kid the most valuable addition to my tree house after the initial plank was a pulley so that I could get more boards up there myself.

Developing a piece at a time is much more fun.

</comment><comment><USER8> Minimum viable x is a great lesson in engineering. Always start small and slowly build from there while keeping it working.

</comment><comment><USER9> the kids might be more invested in it had they been more a part of the design and construction. granted, 3 and 5 are a bit young. ideally, you put together a totally scrappy, safe tree house when they're 3 and then when they're 10 and 12 you build the current version together.

<comment><USER10> Sure. But have you ever tried to build something with a 5 year old? Safe is not generally scrappy nor fast.

</comment></comment><comment><USER11> Has he never seen a certain cartoon involving a tree and a swing?</comment>


Megaupload users may lose data by Thursday - <AUTHOR> http://www.guardian.co.uk/technology/2012/jan/30/megaupload-file-sharing?newsfeed=true

<comment><USER2> Key quote: The letter said the government copied some data from the servers but did not physically take them, and now that it had executed its search warrants, it had no right to access the data. Prosecutors said the servers were controlled by Carpathia and Cogent and issues about the future of the data must be resolved with them.

Note that the FBI isn't the one deciding the fate of this data, the hosting company is.</comment>


Ask HN: How do you go about choosing a cool code name for your hack? - <AUTHOR>

<comment><USER2> How do you choose a name for anything anyway? From company names to personal blogs, naming them is a fruitless exercise. In the end you're trying to be clever but instead you end up with something that means wang in vietnamese or is inspired by a straight quote from a line in a book you think fits your character but is really something that speaks to a hundred million people, which is the exact same number of people who read the book in the first place. Then it sounds either obscure or cheesy.

<comment><USER3> > How do you choose a name for anything anyway?

You find something that people can search for, and that isn't already being used by other companies in the same space. You also check it's not wang in Vietnamese.

The traditional tricks are much harder to do nowadays. (Kodak using K - "it seems a strong, incisive sort of letter."; Pyrex being a mashup of the Latin words Pyro (fire) and Rex (king)).

</comment></comment><comment><USER4> Always thought drug names were interesting. Maybe take two words to describe the hack, transform them into their connotative meaning, then twist them. What's the hack?

</comment><comment><USER5> Single character or double character names are the trend these days. (Not saying I support that though!)</comment>


Feds Take Down Rentboy.com, 'World's Largest Male Escort Site' - <AUTHOR> http://www.nbcnewyork.com/news/local/Rentboy-Male-Escort-Website-Manhattan-Arrest-Takedown-Federal-Agent-Police--322826271.html

<comment><USER2> I wonder which senator is scared of his data being leaked.

<comment><USER3> Don't you think that if the business is destroyed, then it becomes more likely that the data will be leaked or sold?</comment></comment>


Qualcomm's Chain of Trust - <AUTHOR> https://lineageos.org/engineering/Qualcomm-Firmware/ <comment><USER3> I mean, why can't they just have a regular bootloader like a PC? It's a lot of effort for what is essentially 0 gain if you just have full device encryption.

The phone should at least always be unlockable by a single switch in the developer settings - none of this "oh go to our website and generate an unlock code/pay us money for an unlock code/phone us" which is a HUGE pain in the butt.

I swap between roms a lot, and the whole idea of a system partition and data partition etc is just stupid. They always are the wrong size for what they need to be and then I try to install gapps and its like "oh your system partition is too small my dude," so why separate these and just have everything like a regular linux OS.

Maybe I'm missing something stupid? But I kinda just want a phone that just starts a linux based operating system like a PC, and lets me do everything I can on my linux PC in a touch-centric way.

<comment><USER4> These secure boot systems exist because of DRM protection to media that is mandated by the content companies. Their point is to verify that the whole OS from kernel to userspace can't be modified by 3rd parties (such as you, the owner of the device).

It boils down to "no secure boot, no DRM, no Netflix 4k for you".

At least this was the case when I was still working with consumer electronics a few years ago.

<comment><USER5> > These secure boot systems exist because of DRM protection to media that is > mandated by the content companies.

That statement sounds too simplified. How about non-approved images pumping power upstream above regulatory limit on RF? Or overclocking the CPU? Or reporting all keystrokes to a place of your choice? Would you, as a manufacturer of the device, like to make that easily possible?

> Their point is to verify that the whole OS from kernel to userspace can't be > modified by 3rd parties (such as you, the owner of the device).

What makes it impossible is not the secure boot but the fact that the _unauthorized_ 3rd parties don't have the keys for signing stages of the images. Some owners of some secure-boot devices, do have keys and sign their images. One example: a telecom operator, owner of its park of the set-top box decoders, does that. Secure boot can be made to allow several/many authorized keys.

<comment><USER6> If I don't own the device then why am I paying for it?

<comment><USER5> Unclear what you had in mind. I'll assume you were speaking about your own secure-booting mobile phone that you paid full price and now would like to be able to reflash?

I am not sure what to tell you. The situation pre-dates the secure boot. If I recall correctly, Iiyama monitors were known to be unrepairable because the manufacturer always refused to release schematics. It did not prevent their extreme popularity.

As an end-consumer, I support very much the freedom to change any products I own, the way I want. I once replaced ball bearings in the drum of my washing machine -- you get the idea.

As a person authorizing a product that can potentially emit unhealthy or unsafe levels of RF, or a parent of teenagers using social media, or a developer of medical applications intended for mobile phone... I am none of that, but I guess I would have a very different opinion.

<comment><USER7> > _As a person authorizing a product that can potentially emit unhealthy or > unsafe levels of RF,_

This used to be, can be, and should continue to be limited on a hardware level. You can't flash a phone to emit "unhealthy or unsafe levels of RF" if the circuit itself won't let such amounts of power to flow to the radio. Of course, someone could still mess with the hardware itself, but that doesn't scale and (in case of breaking RF limits) is illegal.

> _or a parent of teenagers using social media,_

This is interesting because, in a way, it's telling me that you the maker of the device are _my_ parent. The argument sounds like, "to prevent your child from flashing your device, we'll prevent _you_ from flashing your device". How about giving me the tools to limit my child's access, if I desire to do so, while not limiting _my_ access?

> _or a developer of medical applications intended for mobile phone..._

This is a large topic, but to a first approximation, I don't believe a software that _cannot_ be modified by the end-user for health reasons should be allowed on the phone. I also don't believe most medical apps in the smartphone spaces are of this category. The way I see it currently: either accept that some users (like myself) want to have full read & write access to _their_ data on _their_ phones, or make your solution a separate, tamper- proof, black-box device (and get a regulator to rule that for me to open it is illegal).

<comment><USER8> Maybe not unsafe per se from an emissions perspective, but there are spectrum considerations and other things, and with more and more done in software and less with discrete components, the trend is clear.

Safety is complex - what if the phone starts emitting on bands allocated to emergency services.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Without some pretty drastic changes, I don't think I'm ever going to feel confident that a computer with a Qualcomm or Broadcom SoC can be made secure. These two companies are basically _the worst_ at making their documentation / datasheets / code available for inspection.

The article suggests that the boot process has been simplified, but as an outsider it still looks astoundingly complex, and the "random oem additions that are likely to be insecure" part is absolutely terrifying.

Am I wrong?

</comment><comment><USER10> >Motorola's use of a single QFUSE that must be blown to unlock the device, permanently voiding the warranty.

If this isn't illegal (the warranty part), it should be.

<comment><USER11> Not that simple. Depends on what warranty is on.

Hardware warranty shouldn't be generally affected, unless it's about parts that can fail because of software malfunction - e.g. when failsafes are defined in user-overridable software. It is fair that a hardware vendor shouldn't be responsible for user e.g. overclocking something.

Software warranty should be voided. Although I can't remember when it was the last time I saw a warranty for software, explicit or implied. Rather, I believe there's an explicit dismissal of any warranties in every single licensing agreement out there.

<comment><USER12> My phone's screen sometimes wouldn't come back on after a phone call. The sound quality transmitted was sometimes terrible. Both of those things present as hardware problems (prox sensor, microphone) but turned out to be software related. How would you prove that a hardware problem's not actually software?

As an aside, LineageOS seems to have been getting gradually more buggy on my Nexus 5X. 15.1 has the two issues above, plus Bluetooth music streaming is broken and crashes the music player. I reverted to an old 14.1 ROM and everything works perfectly.

<comment><USER13> > As an aside, LineageOS seems to have been getting gradually more buggy on my > Nexus 5X. 15.1 has the two issues above, plus Bluetooth music streaming is > broken and crashes the music player.

I have none of those problems with 15.1 on my nexus 5x, but I also make it a point to install the latest weekly updates and the latest vendor partition blob.

<comment><USER12> Maybe I set it up wrong, then? My basic install flow:

\- Get latest nightly build from lineageos.org

\- Get matching factory image from Google and extract vendor and radio images from it

\- Install TWRP

\- Do a full wipe of the phone

\- Install LineageOS, vendor image and radio image

Then when an OTA update came out, I'd install it and update the vendor image manually if it complained.

What'd I miss?

<comment><USER13> That seems about right, and similar to what I do. Maybe it's a hardware issue? I also don't use the default music app for streaming music over bluetooth, so it could be an issue with that..

<comment><USER12> Yeah, I assumed it was hardware (there's a known issue with some 5Xes with poor mic quality) but I've gone back to 14.1 and all is fixed, so meh. The only thing I really miss is the new power saving features and I can live with charging every two days instead of every three days.

<comment><USER13> > I can live with charging every two days instead of every three days.

Yea it's incredible how long the battery lasts on this device, compared to previous nexus devices (though I never owned a nexus 5..) I've only ever run lineageos on this thing and regularly get multiple days on a charge with light/moderate usage. I once took it on a 8 day backpacking trip where it was powered on but in airplane mode (to serve as camera and backup map), got out of the wilderness with something like 40% battery left. IMHO that really shows how much negative impact on performance google's shit has on a mobile device when it can last that long without it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> For those who haven't heard of it, LineageOS is essentially a fork of CyanogenMod. Cyanogen (the corporation) is now dead.

OnePlus' oxygenOS which they ship on the 3, 3T, 5, and 6 is very close to cyanogenmod in functionality and no-bullshit-added android experience.

<comment><USER15> And the OnePlus kernel and modem firmware are broken so much the maintainer of 3 and 3T LineageOS branches couldn't take it anymore.

[https://forum.xda- developers.com/showpost.php?p=76423626&pos...](https://forum.xda- developers.com/showpost.php?p=76423626&postcount=4158)

[https://forum.xda- developers.com/showpost.php?p=76511525&pos...](https://forum.xda- developers.com/showpost.php?p=76511525&postcount=4229)

<comment><USER16> As a LineageOS OP3 user this is fascinating. Although presumably someone else picked this up as I'm still receiving updates.

<comment><USER15> 15.1 is officially supported by LineageOS but it's not as good as 14.1, that's why 14.1 is still getting security updates thanks to denser@xda [https://forum.xda- developers.com/showpost.php?p=77567550&pos...](https://forum.xda- developers.com/showpost.php?p=77567550&postcount=4551)

</comment></comment></comment></comment><comment><USER17> >QFUSE: Microscopic hardware fuse that is integrated into the SoC - <USER2> physically blown, impossible to reset or replace

I understand that once set, it can't be restored.

My question: could some of the earliest priviliged states decide to burn unburnt fuses of the public key? or is there an extra special root fuse which only allows burning the key fuses if it isn't yet burnt, and which is burnt as soon as the root public key is burnt?

This may seem irrelevant if we don't have access to the privileged states, but perhaps with hardware vulnerabilities as we have been seeing more and more, it may conceivably be possible to force it to run code to burn an unburnt fuse of the key. I.e. perhaps we can set bits in the public key such that the new key is easier to factor? (in case of say RSA)

EDIT: if this is possible we could sign our own root bootloader

<comment><USER18> There is a fuse-antifuse pair most likely. Think of it this way:

You burn the bits "0001" into some fuse bank, which is mirrored in an anti- fuse bank that now equals "1110".

You can burn the unburned fuses in the normal bank, but can't unburn them in the antifuse bank.

<comment><USER17> thanks,

I actually thought of that, but it seems rather inefficient compared to a single fuse, unblown before writing a key, blown after written key is verified as correctly written, once blown no fuses for this key can be blown...

But I don't know if they actually use such a system, or perhaps they simply assume the attackers never get fuseblowing privilege, and perhaps they assume that a key in a blown set of fuses is no longer rewritable...

</comment></comment></comment><comment><USER19> so.. can somebody in SoC land explain to me if there is _any_ technology extant, which can reliably un-blow a blown fuse on die, and not irrevocably ruin the entire chip?

a lot gets built into these 'cannot be undone' moments. The cryptech people talked about building large capacitor circuits into their design to be charged up and blow the secure keystore if the tamper switch went "bing" but I always wonder if you could eg use a electron microscope to reverse engineer the keystore state before it was wiped.

<comment><USER20> I actually did a bit of research on this before.

For easier chips like TPMs(Trusted Platform Module). What I've seen people do when trying to steal secrets(key) on a chip is to buy multiples of the same chip. On each chip expose the layer under a microscope(A chip exist of multiple layers, thats why we need multiple chips). Now, you know everything to reverse engineer the secrets. There exists tools for drilling and probing each trace on the chip. Here is an example. [https://www.youtube.com/watch?v=h-hohCfo4LA](https://www.youtube.com/watch?v=h-hohCfo4LA)

I think what you mean by charging a huge capacitor and blowing up the secrets. You refer to an HSM(Hardware Security Module). They typically have sensors to detect any fraudulent behavior. They are much harder hack. But there is always holes in each HSM. I think hackers use the same technic there as well. Buy multiple HSM to figure out the design. Reverse engineer the traces and try to probe without being detected on the target device. To my knowledge there are currently no sensors that are 100% bullet proof. They can either be fooled or have weak spots.

<comment><USER21> > _On each chip expose the layer under a microscope_

Or use X-ray tomography:

[https://news.ycombinator.com/item?id=13952016](https://news.ycombinator.com/item?id=13952016)</comment></comment></comment>


A hacker's review of DJI Spark quadcopter drone - <AUTHOR> https://dronegarageblog.wordpress.com/2018/05/04/dji-spark-an-open-source-drone-hacker-review/ <comment><USER2> im not a proffesional of drone i havent fly one but 600 dollars is quite expensive with the controller.. i will go for mavic air 1200 dollars it worth it</comment>


The History of the Internet in a Nutshell - <AUTHOR> http://sixrevisions.com/resources/the-history-of-the-internet-in-a-nutshell/ <comment><USER2> ...ARPANET was an incremental step from late telegraph systems Plan 55 to the early Internet. Given the size of a typical telegram, transition from message to packet switching was more like a buzzword change. And ARPANET didn't have the end-to- end principle initially, thus functioning very much like late telegraph.

</comment><comment><USER3> Best of class - concise, thorough. Thanks!

</comment><comment><USER4> What about the Yanoff List? The web-based directory was a big deal in the pre- search-engine days.

Yanoff eventually begat others like The Yahoo! List and etc etc. Now get off my lawn.

</comment><comment><USER5> Hmm... where is the first web search engine? Google definitely didn't invent web search :)

<comment><USER6> Google was important but I agree that the first search engine should have been there. IPv6 was also missed there, still not fully operational but it has been there for a while. Internet worms (i.e. Code Red) were also important, they raised some alarms related to security practices in OSs and applications.</comment></comment>


Neural supersampling for real-time rendering - <AUTHOR> https://research.fb.com/blog/2020/07/introducing-neural-supersampling-for-real-time-rendering/ <comment><USER2> Exciting to see new graphics research! This technique reminds me of old work using motion vectors to not upsample in pixel space but instead upsample in time, performing cheap interpolation. This technique got close to shipping with Force Unleashed II back in 2010: [https://www.eurogamer.net/articles/digitalfoundry-force- unle...](https://www.eurogamer.net/articles/digitalfoundry-force- unleashed-60fps-tech-article)

[https://dl.acm.org/doi/10.1145/1837026.1837047](https://dl.acm.org/doi/10.1145/1837026.1837047)

<comment><USER3> Slides with speaker notes: [http://and.intercon.ru/rtfrucvg_html_slides/](http://and.intercon.ru/rtfrucvg_html_slides/)

Dmitri got it to work, but it was a bit too late. There were artifacts that could have been worked-around in the content. But, the idea came up after the content was far too solidified.

</comment></comment><comment><USER4> Discussed here: [https://news.ycombinator.com/item?id=23714977](https://news.ycombinator.com/item?id=23714977)</comment>


GhostGunner – Open Source $1200 CNC Machine - <AUTHOR> https://ghostgunner.net/

<comment><AUTHOR> Video: [http://www.youtube.com/watch?v=xwRtll3jjU4](http://www.youtube.com/watch?v=xwRtll3jjU4)

Wired Writeup: "The $1200 machine that lets anyone make a metal gun at home." [http://www.wired.com/2014/10/cody-wilson-ghost- gunner/](http://www.wired.com/2014/10/cody-wilson-ghost-gunner/)

</comment><comment><USER2> I wish you would strip out the "gun" part. It is a nice normal CNC machine, but such labeling make it instantly illegal in most countries.

</comment><comment><USER3> I was really excited until I saw all the guns. There are much cooler things you can make with a CNC. Now I'm creeped out.</comment>


Ask HN: What were your "life-changing" books? - <AUTHOR>

<comment><USER2> It might be a bit cliché but I read On the road by Jack Kerouac and it motivated me to do a big road trip alone across USA/Canada/Mexico. I met many awesome peoples, became more confident, more adventurous, more open to people and new experiences. So the trip changed my life but the book led me to it. This other book motivated me as well : Journey to the End of the Night by Louis-Ferdinand Céline

</comment><comment><USER3> I don't know about 'life-changing' but the best books I ever read were:

Tractatus Logico-Philosophicus

      (Ludwig Wittgenstein)

Being and Time

      (Martin Heidegger)

Of Grammatology

      (Jacques Derrida)

Writing and Difference

      (Jacques Derrida)

Martian Timeslip

      (Philip K. Dick)

Ringworld

      (Larry Niven)

The Forever War

      (Joe Haldeman)

The Metamorphosis

      (Franz Kafka)

Finally, the Greek tragedies and Goethe's poetry are basically perfect.

</comment><comment><USER4> \- "How to win friends and influence people" by Dale Carnegie

\- "The art of thinking clearly" by Ralf Dobelli

\- "Sources of power" by Gary Klein

\- "The 8 pillars of motivation" by Farnoosh Brock

\- "ReWork" by Jason Fried and David Hansson

\- "Don't make me think" by Steve Krug

\- "The art of explanation" by Lee LeFever

\- "Getting real" by 37Signals

\- "The secret" by Rhonda Byrne

</comment><comment><USER5> Out of the Silent Planet - C.S. Lewis

The Moon is a Harsh Mistress - R.A. Heinlein

The Foundation Trilogy - Isaac Asimov

</comment><comment><USER6> 'A Canticle For Leibowitz' by Walter Miller.

Because it helped bring me to the Catholic faith.

</comment><comment><USER7> The Goal (Goldratt) led me to see everything as a system and how to Hack it.

</comment><comment><USER5> Kafka...the Starvation Artist...had forgotten that one...powerful.

</comment><comment><USER8> "Eichmann in Jerusalem" by Hannah Arendt

</comment><comment><USER9> Shantaram - Gregory David Roberts

</comment><comment><USER10> fooled by randomness</comment>


Performable - 5 Tips to Becoming a More Customer Centric Organization - <AUTHOR> http://www.performable.com/blog/5-tips-to-becoming-a-more-customer-centric-organization/?src=feed <comment><USER2> Oddly, the link says 5 tips, but the article linked only had 3. The original article with all 5 tips can be found at [http://www.bothsidesofthetable.com/2009/11/01/5-tips-to- beco...](http://www.bothsidesofthetable.com/2009/11/01/5-tips-to-becoming-a- more-customer-centric-organization/)

</comment><comment><USER3> <http://news.ycombinator.com/item?id=916713></comment>


AI Hype 2019 Countdown – Tesla's Phantom Robotaxi Fleet - <AUTHOR> https://mindmatters.ai/2019/12/2019-ai-hype-countdown-1-teslas-robotaxis-tales-of-a-phantom-fleet/ <comment><USER2> Mindmatters.ai, never heard of it. Looking at their list of writers, many of them are associated with the discovery institute, which is pushing various versions of creationism, so a very questionable set of "science" writers. For some reason they have many many articles posted on headline news bashing tesla, so consider this. tesla like any company is worthy of criticism on various issues of course, just as is the discovery 'institute'.

I agree that Tesla was way too ambitious about getting self driving working, saying almost every year they are close. Just like google waymo and countless other companies. It doesn't excuse the hype problem. I doubt a car will have self driving in less than 10 years.</comment>


How to Stay Alive in a Terrorized Hotel - <AUTHOR> http://jeffreygoldberg.theatlantic.com/archives/2008/11/how_to_stay_alive_in_a_terrori.php <comment><USER2> OK, look at this from the opposite perspective from securing a building: pretend you're a terrorist. How do you kill everyone in the hotel? What are your challenges.

Challenge #1: The hotel has hundreds of exits. You have, in the instant case, two men. At best, what, a dozen? Two? If you gave the Secret Service their pick of two dozen men, anybody they want, and ordered them to protect the same entrances, they would say "It can't be done". And preventing egress is every bit as hard.

Challenge #2: It takes high levels of training to hit a moving target by anything but luck. Your men likely don't have it.

Challenge #3: You can't pursue anyone who runs from the scene. You don't have the manpower and it crimps your kill-the-innocents game plan.

Challenge #4: Minutes after the incident starts armed adversaries start arriving. They have effectively infinite reinforcements. And you're totally cut off.

So the question for the terrorist game theoretician: how do you kill someone running from the scene of a terror incident? _You don't._ Your best bet is to herd, trap as many as you can, and slaughter at a leisurely pace while the cops set up a perimeter outside and wait for someone who knows what the #$'( they are doing to take command.

So if you're ever a civilian caught in a terrorist attack, and your primary objective is getting away: pick a direction, preferably away from other people. Run in a zigzag fashion. Make it behind cover (like another building), change direction, and beat feet -- nobody ever dies more than a block from the scene (except of injuries sustained at the scene).

Now, if you were a civilian whose primary goal was stopping the terror attack rather than individual survival: there are several hundred of you and two of them. They're holding guns, not the Spear of Destiny, and they're busy getting their jihadi high on. Run at the closest bad guy screaming bloody murder, tackle him, and stab him in the eye with your car keys. If there are two of you, split to two angles and do it. Hopefully other folks will follow your example -- if they do, the terrorists will end up with their faces stomped in (guns don't help much when you're on the floor getting kicked by 20 people) and most of the civilians in the building will not.

If you're the first cop on the scene, great, use what they've figured out about school shootings: the priority is NOT to contain the incident. That is the TERRORIST'S priority. YOUR priority is to get in there and start putting as many bullets in his general vicinity as possible, to give him other things to think about rather than "How do I take hostages, secure my position, and turn the inevitable rescue operation into a total bloodbath?" Terrorists who are busy taking cover behind an interior wall to avoid getting their heads blown off are terrorists who are not killing anyone presently. And remember, all you have to do is keep it up a few minutes for the civilians to bug out and the cavalry to arrive.

<comment><USER3> The aiming argument does kind of fall apart if your agressors have access (and they virtually all do) to any kind of high-powered automatic weaponry with a high fire rate.

Even zigzagging won't help against a hail of bullets. You're likely to get a few hits.

<comment><USER4> Although not even remotely scientific, my meager time paintballing seems to confirm this. Even marginally-aimed semi-automatic fire is going to be hard impossible to dodge, especially if you have nothing that even remotely looks like cover.

Even so, you're pretty much guaranteed to be killed like livestock if you stay, so running away is still the better strategy. Hitting the fire alarm may also be advantageous, as it will make it harder for the baddies to see and hear (water, flashing lights, loud klaxons), and it might help others feel that natural instinct to get the hell out.

Let's also not forget that gunshot wounds are not guaranteed fatal; the shock of being hit is far more severe than the actual damage caused by the bullet. Not that being shot is all that much fun, of course, but you're statistically likely to survive.

Since I'm rambling, let's also bring up the oddity that normal people can be coaxed to riot with surprisingly little provocation, yet when their lives are directly threatened by a small number of aggressors, many will cower in fear and be led like cattle.

Since I've never been in that position, I don't know how I'd handle it.

<comment><USER5> Also, if I'm a terrorist I'm not thinking as far ahead as OP did here. I see something move, I unload at it.

</comment></comment></comment></comment><comment><USER6> I have no idea what this is doing on HN and I have flagged it. It's not appropriate to this forum _and_ it's a piece of really bad writing.

What has dental flossing your laptop (which appears to be a strategy copied from Sean Connery in 1960s era Bond movies with a strand of hair) got to do with a terrorist attack on a hotel? Because terrorists who are about to launch an assault on a hotel have first popped up to your room to take a look to see if you've got a .pr0n directory.

And thanks for the advice on slipping a knife past TSA. Great idea. Hey, advise readers to try to get a knife past a TSA agent.

Also, the whole thing about high floors is BS. Why? If I was a terrorist my next move in hotel attacks would be do go with a repeat of the Brighton hotel bombing. Book rooms months in advance, plants bombs in those rooms, set them off months later destroying the hotel. This article is a typical example of planning for the attack you've just experienced.

Frankly, he should take Schneier's advice and just not worry about this stuff.

<comment><USER7> _And thanks for the advice on slipping a knife past TSA. Great idea. Hey, advise readers to try to get a knife past a TSA agent._

If it is easy to get a knife past security, I want to have mine so I can fend off the terrorists that smuggled them in too.

The TSA is very bad at screening. I have smuggled in liquids on all of my recent flights. The reason they yell at you 50 times in line to take the liquids out of your bag is because they cannot detect them when you sandwich them between electronics. (Recently, a friend of mine accidentally went through security with a full CamelBak of water. Guess what, the x-ray machines don't detect water.)

<comment><USER6> If you are serious about fighting a knife wielding terrorist then I'd suggest that you go on a good close quarters combat course and learn how to get the knife off someone.

That way you'll actually be able to disarm the attacker without breaking the TSA rules and without having an extra knife for someone to take off you.

</comment></comment></comment><comment><USER8> New title please: How to stay alive during a Reddit-izing.

</comment><comment><USER9> The guy submitting this is in the top 10 Y!H submitters.

So either he finds it relevant or is a karma whore. I like to give the benefit in general, so I'm going to go with the former.

<comment><USER10> Take it from someone in the top 100 on the board... High score is no indicator of quality.

</comment></comment><comment><USER11> Irrelevant to HN, pretty tasteless, and bad advice generally. This is probably not a new low on here, but pretty low.</comment>


How to Investigate a Flying Saucer - <AUTHOR> https://www.cia.gov/news-information/featured-story-archive/2016-featured-story-archive/how-to-investigate-a-flying-saucer.html <comment><USER2> I feel like part of the cultural fascination with flying saucers is that we intuitively feel like it _should_ be possible for someone with advanced technology to levitate without expending power.

We are starting to get there, with quantum locking, which can levitate a type- II superconductor relative to a supporting magnetic field.

[https://www.youtube.com/watch?v=Ws6AAhTw7RA](https://www.youtube.com/watch?v=Ws6AAhTw7RA)

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

I wonder if it would be physically possible to utilize the Earth's extremely weak magnetic field to support any meaningful mass?

<comment><USER3> > I wonder if it would be physically possible to utilize the Earth's extremely > weak magnetic field to support any meaningful mass?

I bet that THERE IS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER.

Have we even figured out what magnetic fields _actually_ are? Magnetism, and magnetic fields, are always defined in terms of what we observe. Usually called a "force".

For instance: Magnetism, n: "a physical phenomenon produced by the motion of electric charge, resulting in attractive and repulsive forces between objects"

Ok, fine. What is a "force"? That is also defined in terms of things we observe. Which is fine. But what we observe, and what something actually is, are two different things.

I know that Feynman said something along the lines that "we question what magnetism is, but we never question the fact that your hand cannot go through a solid object". Well, I do. And that will boil down to other "forces" in the atoms.

How far have we followed that rabbit hole? I can't find much. If you start from magnetism, you'll be led to electromagnetism, then eventually to quantum electrodynamics. Which, from a layman perspective, just shifts which part of the phenomena we choose to handwave away. So you change from "forces" to "interactions".

In the unlikely chance that there are theoretical physicists on Hacker News reading a thread about UFOs, I'd really like to get an idea how much we actually know about all this. My uneducated hunch is that there is a lot of undiscovered fundamental physics waiting for us.

<comment><USER4> There is sufficient data about it, electromagnetism is probably the best studied field in physics to date. Magnetism is in it's base not generated due to the modulation of an electric charge but due to a much more basic attribute of charged particles, their magnetic moment which is a result of their spin. [https://en.wikipedia.org/wiki/Spin_magnetic_moment](https://en.wikipedia.org/wiki/Spin_magnetic_moment) So until you find a zero spin charged particle with a magnetic moment (which will contradict everything we understand about magnetism) I'll bet on that we understand it quite well.

As far as UFO's using the Earths magnetic field we can pretty much rule that out because we know just how weak it is on average it is about 30 Tesla, and 16 Tesla's is about the force required to levitate a frog. [https://www.newscientist.com/article/mg15420771.600-frog- def...](https://www.newscientist.com/article/mg15420771.600-frog-defies- gravity/)

So unless flying saucers weight just about as 2 mid sized frogs I'll take the bet that if they do exist they use something else to keep them from crashing in the backyards of hillbillies.

<comment><USER5> "Earths magnetic field...is on average it is about 30 Tesla, and 16 Tesla's is about the force required to levitate a frog...So unless flying saucers weight just about as 2 mid sized frogs I'll take the bet that if they do exist they use something else to keep them from crashing"

Something about this doesn't make sense. Probably has to do with the answer to this question: Why don't frogs normally float due to the Earth's magnetic field?

</comment></comment></comment></comment><comment><USER6> Give how tightly wound UFOs, flying saucers and conspiracy theories are, perhaps it would have been beneficial if they were investigated by anyone other than the CIA.

The CIA's culture is not one of openness, nor should it be. So anything they do will be regarded as suspect, any conclusion about UFOs seen as potential misdirection. The public does not expect the CIA to tell the truth. The NSF, even NASA, would probably have been a better point person.

As for whether we are being visited, I see no evidence to the contrary. No practical amount of evidence can ever prove such as thing isn't happening. From a purely scientific standpoint I'm all for investigations. If NASA wanted to deliberately hunt for something like Bracewell probes in the outer solar system, I'd support that effort.

</comment><comment><USER7> I'm going to get downvoted, but ...

I can't believe that a technically savvy group like HN readers would even entertain the ridiculous idea of levitation or flying saucers. There is nothing mysterious about magnetic forces. They have been understood for a century. And obviously flying saucers are a myth or we'd have evidence.

<comment><USER8> Us humans are a pretty arrogant bunch, always believing we are the smartest creatures in existence.

What if there are other species or life forms out there that are orders of magnitude smarter than us and we simply aren't intelligent enough to recognize signs of them when we see 'em?

Absence of evidence is not evidence of absence.

<comment><USER9> Well, to be fair, absence of evidence _is_ evidence of absence. It's certainly not _proof_ , but it is evidence. Every observation you make that _does not_ show a phenomena occurring allows you to be more certain that the phenomena does not occur.

[http://lesswrong.com/lw/ih/absence_of_evidence_is_evidence_o...](http://lesswrong.com/lw/ih/absence_of_evidence_is_evidence_of_absence/) [http://c2.com/cgi/wiki?AbsenceOfEvidenceIsNotEvidenceOfAbsen...](http://c2.com/cgi/wiki?AbsenceOfEvidenceIsNotEvidenceOfAbsence)

</comment></comment></comment><comment><USER10> _" The case was considered significant because of the "excellent documentary evidence in the form of Kodachrome motion picture films (about 1600 frames).""_

Is there any copy of the the Tremonton film online? [0] Anyone seen it? Not much from the CIA. [1]

[0] [https://www.youtube.com/watch?v=jggeM_JEJtE](https://www.youtube.com/watch?v=jggeM_JEJtE)

[1] [http://www.foia.cia.gov/search/site/Tremonton](http://www.foia.cia.gov/search/site/Tremonton)

<comment><USER11> Did some searching and here it is (I think): [https://www.youtube.com/watch?v=of3m8_LvUWs](https://www.youtube.com/watch?v=of3m8_LvUWs)

<comment><USER10> here's a good overview by Dr J Allen Hynenk with a better reproduction ~ [https://www.youtube.com/watch?v=Kn4strYhWok](https://www.youtube.com/watch?v=Kn4strYhWok)

</comment></comment></comment><comment><USER12> This scene from the movie "kaspar hauser"

[https://youtu.be/ITq02n7y2fI?t=12](https://youtu.be/ITq02n7y2fI?t=12)

is clearly an homage to this picture on the right:

[https://www.cia.gov/news-information/featured-story- archive/...](https://www.cia.gov/news-information/featured-story- archive/2016-featured-story-archive/images/ufo-slider.jpg/image.jpg)

</comment><comment><USER13> For those interested in a peice of signifigant ( and less known ) history from the world of flying saucers here is a little gem: [https://en.wikipedia.org/wiki/Alexander_Weygers](https://en.wikipedia.org/wiki/Alexander_Weygers) and his invention: [http://www.discopter.com/](http://www.discopter.com/)

</comment><comment><USER9> So what did (most likely) happen in the Zamora case?

<comment><USER14> Another _darn_ weather balloon!

[http://www.rotten.com/library/conspiracy/roswell/](http://www.rotten.com/library/conspiracy/roswell/)

</comment></comment><comment><USER15> Relevant xkcd:

[https://xkcd.com/1235/](https://xkcd.com/1235/)</comment>


Don't Pirate or We'll Mess with Your Connected Thermostats, Warns East Coast ISP - <AUTHOR> https://www.engadget.com/2018/01/05/pirates-risk-being-left-in-the-cold/ <comment><USER2> This is just sensationalized clickbait from Engadget.

The ISP didn't say "we'll mess with your connected thermostats" at all.

They did say that they might throttle customers and "that this may affect other services which you may have connected ... such as ... your thermostat".

I work for an ISP and, upon reading the headline here, I thought, "Wow, that sounds absurd!" \-- and it _is_ absurd because that's not even close to what the ISP said.

<comment><USER3> Do you expect an ISP to come right out and state something like that? "Thats a nice thermostat you got there, be a shame if something happened to it.....".

Stating, directly, that throttling a customers internet is going to have an effect on their thermostat is going to be read a very specific way by those on the recieving end, and its hard to see how anyone who wrote that would miss its implication.

<comment><USER2> I didn't read it that way at all. To me, it simply sounds like the ISP is making sure the customers know all of the details -- including any unintended side effects they might not have thought about.

</comment></comment></comment><comment><USER4> Unless I'm missing something, they wrote an entire article about an ISP threatening customers for warning customers that throttling may impact remote access:

"Please be advised that this may affect other services which you may have connected to your internet service, such as the ability to control your thermostat remotely or video monitoring services."

I don't like the repeal either, but this is hyperbole.</comment>


Show HN: Angular-bind-notifier. bu-bye watchers - <AUTHOR> https://github.com/kasperlewau/angular-bind-notifier <comment><AUTHOR> Something I whipped together some time ago to reduce the amount of watchers on a heavily populated page of dynamic data in an Angular 1.x setting. Not finding a lot of time lately to improve and/or 'innovate' on the project (unfortunately). Figured I'd show it off and see if someone out there has some sound ideas on how to do so.</comment>


Anatomy of a Posit Number - <AUTHOR> https://www.johndcook.com/blog/2018/04/11/anatomy-of-a-posit-number/ <comment><USER2> Should say (2018)

</comment><comment><USER3> Can people please stop posting about posits, every post about them dramatically misrepresents what they can represent while under present ieee754, and makes performance claims based on non like-for-like tests.

They all also seem to just point back to papers and articles written by the inventor.

<comment><USER4> > Can people please stop posting about posits,

The linked article is a decent explanation of how posits are defined in memory. While posits may be overhyped, technical articles are exactly what I come to HN for.

> every post about them dramatically misrepresents what they can represent > while under present ieee754

This appears to be untrue as the linked article does not misrepresent Posits or IEEE 754 floats. It correctly points out the main reason to use Posits over floats being increased dynamic range for same number of bits. It doesn't mention the corresponding lack of precision, but that can comfortably be deduced from basic information theory.</comment></comment>


Fusuma – Make slides with MarkDown easily - <AUTHOR> https://github.com/hiroppy/fusuma <comment><USER2> I'm surprised no one's mentioned pandoc by now. It's a Swiss army knife that among other things makes slides from Markdown documents and lets you pick from a number of JS templates or Latex/Beamer. Converting Markdown to PDF slides is just a simple-ish oneliner away.

And terrific for a whole number of other use cases, too - including but not limited to Markdown <-> Word, Epub conversion, HTML conversion and endless others. I find myself turning to it all the time.

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

<comment><USER3> Used pandoc for a couple presentations recently and while it's clear the experience will be wonderful eventually, it's still a bit buggy. There is no widescreen template included with Pandoc and attempts to use other templates caused me to encounter [https://github.com/jgm/pandoc/issues/5402](https://github.com/jgm/pandoc/issues/5402) . The resulting .pptx files won't open in Keynote, either, but luckily they _did_ open in Google Slides, which then let me download a visually-identical .pptx that opens everywhere. Point is, slide support in Pandoc is still somewhat new and people should not go in expecting a trouble-free experience at this point.

</comment></comment><comment><USER4> Maybe I missed it, but there doesn't seem to be an explanation for the name. I think software that use clever names should explain why. In this case, fusuma are traditional Japanese sliding doors. [https://en.wikipedia.org/wiki/Fusuma](https://en.wikipedia.org/wiki/Fusuma)

<comment><USER5> > _should_

I wouldn't say we are entitled to an explanation of why an open source project is titled any more than we are entitled to the project being open source in the first place.

<comment><USER6> It's not about entitlement; if the purpose of a name isn't to give people an easy way to remember something, what good is it?

If the developer wanted to increase interest in the project, explaining the name could only further this goal.

<comment><USER5> You're right of course. It's just as someone who struggles with naming projects, I often get annoyed when I see comments on HN focusing on naming things rather than the cool work that has been shared and donated to the community. However on reflection, on this occasion my comment was unfair.

</comment></comment></comment></comment><comment><USER7> Cool project. Looks like it's in a similar space as Marp [0].

[0]: [https://yhatt.github.io/marp/](https://yhatt.github.io/marp/)

</comment><comment><USER8> On macOS, I strongly recommend DeckSet[0]. It's a Keynote/Powerpoint from Markdown, especially valuable when you embed code in your presentations.

[0]: [https://www.deckset.com/](https://www.deckset.com/)

<comment><USER9> i'm completely willing to support good software with money, but there are so many amazing options being posted in this thread that are feature rich, multiplatform, and free. why do you choose deckset when it's missing two of these three? are there must-have features that the others don't offer?

<comment><USER8> Nice questions!

I use DeckSet since a lot of years, I find it easy to use and I love the result. I don't care about multi platform because I'm doing my presentation on a Mac. I don't care paying fair prices to software.

The only downside I found was the lack of customization offered.

I'll look into the GitHub list, especially to the 2 others macOS apps

</comment></comment></comment><comment><USER10> A list of Markdown presentation tools :

[https://gist.github.com/johnloy/27dd124ad40e210e91c70dd1c24a...](https://gist.github.com/johnloy/27dd124ad40e210e91c70dd1c24ac8c8)

</comment><comment><USER11> I have been using [https://hackmd.io/](https://hackmd.io/) for quite some time now.

<comment><USER9> thanks for posting this comment; hackmd looks great!

awesome features, and great that it's open source.

</comment></comment><comment><USER12> Saw this and remembered when I made some HTML slides during my first year on the OASIS XDI technical committee in 2005. I used Docbook, and the Slide document template created by Norm Walsh: [http://docbook.sourceforge.net/release/slides/current/doc/](http://docbook.sourceforge.net/release/slides/current/doc/)

He and I differed quite a bit on XDI (he was not on the XDI TC but provided feedback as part of a public review), and I still think something like XDI will exist in the future, but I have to give him credit - Docbook is an awesome tool.

There's also DITA (a more modular, but also more complicated, Docbook alternative from OASIS). There's a plugin for DITA that lets you do slides in DITA and create Reveal.js based HTML presentations.

[https://github.com/doctales/org.doctales.reveal](https://github.com/doctales/org.doctales.reveal)

</comment><comment><USER13> Swipe.to was a startup that had a very similar idea (.md powered slides), don't know what happened to them, but this project brings back the memories from my days in London meeting cool startups like them..plus the demo and the Readme look pretty tight, good job!

</comment><comment><USER14> For an alternative slides maker / builder from markdown sources, see the slideshow (s9) tool [1]. Slides template packs include s6, reveal.js, shower,js, impress.js, and many more [2]. [1]: [http://slideshow-s9.github.io](http://slideshow-s9.github.io) [2]: [http://slideshow-templates.github.io](http://slideshow-templates.github.io)

PS: Note - slideshow (s9) templates are just jekyll (liquid) templates and, thus, work out-of-the-box with github pages and friends.

PPS: What's jekyll :-)? It's the world's most popular (static) website compiler / builder.

</comment><comment><USER15> I recommend Remark

[https://remarkjs.com](https://remarkjs.com)

</comment><comment><USER16> You may want to add a comparison to similar tools to your readme; there are quite a few.

</comment><comment><USER17> Disappointed there's no built executable. I'm not into web development, so I don't have npm or yarn handy. Seems like a missed opportunity; a binary would open this project to a larger community.

<comment><USER18> If it's built with nodejs you won't be able to make a binary without packaging the whole node/npm with it.

For standalone binary Golang is a better choice but that probably wasn't in scope for the developer who wrote it.

</comment></comment><comment><USER19> I'm a big fan of code-surfer, which uses MDX.

[https://github.com/pomber/code-surfer](https://github.com/pomber/code-surfer)

</comment><comment><USER20> In the past I needed something like this. Asciidoctor has a nice slides output just need a bit of style

</comment><comment><USER21> Pretty cool! Can I run this via Docker? Can I use it to open remote .md files?

<comment><USER22> The design of unix/linux systems answers your second question with "yes." A "file" isn't necessarily something on your SSD, but rather an abstract concept: something that you can "read" from and possibly "write" to (and some other less illustrative things). It could be under your desk, a pointer to another file, or a file on a remote computer.

Look into "sshfs".

</comment></comment><comment><USER23> Something really irreverent: it is Markdown not MarkDown.

</comment><comment><USER24> ...npm

Nope...

.fusumarc.yml

Oh hell no.

Whoever thought yaml was a good idea (not for this project, I mean at all, ever) is mentally deficient. Those that insist on using it are barely any better.

<comment><USER25> YAML is a mess of a language but what's wrong with npm?

<comment><USER24> What's right with it?

<comment><USER25> It makes it easy to distribute tools and libraries. There are security concerns but for something like this, it seems like a fine distribution method. No one is stopping you from just cloning the repo if you don't want to use npm though.

<comment><USER24> The community/npm _encourages_ things like the `isEven`, etc bullshit.

A whole package, to do `foo % 2 === 0` ?? Oh but then it has a dependency on ANOTHER package which just checks if a variable is a number.

Oh and then there's the isOdd, which is an entire package.. to do `! isEven`... ARE YOU FUCKING KIDDING ME?

<comment><USER25> I don't know anyone who writes professional level code that uses packages like that. Sure, they exist. I'm sure you could find other simple, funny packages across other ecosystems. Yes, the micro-packages can be too granular but that's no fault of the author nor the creators of npm. It's the result of people doing stupid stuff just like people have for decades before. The difference is that these micro-packages are more visible on npm and everyone wants their chance to say "yup, I wrote that module."

<comment><USER24> [https://www.npmjs.com/package/is-odd](https://www.npmjs.com/package/is-odd) Has 700K downloads a _week_.

A year ago it had 3M a week.

When someone brought up that this project even exists it wa being used (possibly indirectly) by some very popular libraries.

This is not normal.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> Cool project. I'll stick with LaTeX and Beamer.

</comment><comment><USER27> awesome!</comment>


Real-time SQL on Hadoop using Postgres foreign tables - <AUTHOR> http://citusdata.com/blog/63-real-time-sql-queries-on-hadoop

<comment><USER2> Not a single mention of Cloudera Impala in the article? Competition in this space is great! Woud be great to know how this offering compares to Impala.

<comment><USER3> (Ozgun @ Citus Data)

Thanks for bringing this up. A lot of what we say in the FAQ for "How does CitusDB's feature set compare against Apache Hive?" also applies to Impala, and we'll update that question shortly. The fundamental difference is that Citus builds on top of Postgres, and leverages its many features and performance optimizations.

We are also working on getting performance numbers that compare Hive, Impala, and Citus thoroughly; and we'll share our methodology and results in the upcoming months.

<comment><USER4> Disclaimer: Clouderan Here :D

I wouldn't necessarily agree that the same feature set against hive would also apply to Impala. For example, Impala utilizes HDFS short-circuit reads and can read data directly from disk which results in full disk throughput, this combined with highly effecient parallel reads yields some impressive numbers.

I've seen queries speed up anywhere from 2x-100x (especially when data sets can fit in memory). Since it's designed for low latent queries, results can be returned within the sub-second range.

With that being said, Impala does not currently support UDFs (slated for post- GA).

Hive does do JOIN order optimizations after 0.7.0 though (<https://issues.apache.org/jira/browse/HIVE-1642>), you can set "hive.auto.convert.join = true" to enable it. I believe this will be enabled by default eventually. By GA, Impala will have a cost-based optimizer for optimizing JOINS as well.

PS: Congrats on the release, I'm looking forward to giving it a go :)

</comment></comment></comment><comment><USER5> This seems very similar to Hadapt (<http://hadapt.com/>). Anyone familiar enough to comment on the differences?

<comment><USER6> This is postgres-style query execution "above" hdfs/hadoop style storage.

Hadapt is hadoop-style job execution "above" postgres-style storage.

<comment><USER7> Is that really accurate? I had perceived things as the other way around, as Hadapt has a mixed storage model and CitusDB uses external tables for everything...

</comment></comment></comment><comment><USER8> Congrats to the Citus Data team on a big release. These guys know distributed databases backwards and forwards. Excited to see how this product stacks up against Hive.

</comment><comment><USER9> It definitely seems interesting. The big problem I've been looking for the right tool to fix is simple document based storage with solid secondary indices supporting aggregate queries. A SQL syntax is a big plus for this because it is very easy for many people to write a SQL group by statement to get the aggregates they want but much harder to write an ElasticSearch or Solr facet query or a MapReduce job. Especially if you want relatively fast results.</comment>


Global Startup Ecosystem Ranking [pdf] - <AUTHOR> https://tctechcrunch2011.files.wordpress.com/2015/07/ranking-table-with-changes-from-2012.pdf

<comment><USER2> 2011?

<comment><AUTHOR> the full article on 2015/07/27/ so not sure why 2011techcrunch... [http://techcrunch.com/2015/07/27/in-global-startup- ecosystem...](http://techcrunch.com/2015/07/27/in-global-startup-ecosystem- ranking-silicon-valley-slips-while-southeast-asia-gains-traction/)</comment></comment>


Antacid Tablet: Expect the expected from Apple - <AUTHOR> http://arstechnica.com/staff/fatbits/2010/01/antacid-tablet.ars?utm_source=rss&utm_medium=rss&utm_campaign=rss

<comment><AUTHOR> Basically, user-visible hardware innovation is not going to be how Apple intends to avoid the graveyard of failed tablet projects.

Positioning it against the field of the Litl, JooJoo, Chrome OS is perfect -- this is the SafariPad that Apple's been sitting on for years!</comment>


Trucoin is open to the public for business in 26 states - <AUTHOR> https://www.trucoin.com

<comment><USER2> Asking for HN upvotes on Twitter: [https://twitter.com/BitcoinAnalyst/status/529383163903344640](https://twitter.com/BitcoinAnalyst/status/529383163903344640)

</comment><comment><USER3> if there is one company to trust in the bitcoin world, it is trucoin.com I know the two co-CEOs and founders personally since 5 years and they have built an excellent bitcoin company

</comment><comment><USER4> awesome

</comment><comment><USER5> awesome

</comment><comment><USER6> trucoin is legit</comment>


QEMU v4.0.0 released - <AUTHOR> https://www.qemu.org/2019/04/24/qemu-4-0-0/ <comment><USER2> Last week, I intended to replace VirtualBox with QEMU for my personal use. The spartiate documentation made it really hard. I lack the competence to seriously contribute.

The official documentation just explains the numerous parameters. It also points to tutorials (wikibook, etc), which unfortunately are very basic and out of sync. Even Arch Linux does not provide a good documentation (lack of clarity, some obsolete syntax, "Networking" section is a mess...). Like often, Debian's wiki is obsolete, and even their QEMU images are 5 years old. I had to combine the following 3 sources and a lot of try and guesses to build my VMs.

QEMU Gentoo : [https://wiki.gentoo.org/wiki/QEMU/Options](https://wiki.gentoo.org/wiki/QEMU/Options)

QEMU official : [https://qemu.weilnetz.de/doc/qemu- doc.html](https://qemu.weilnetz.de/doc/qemu-doc.html)

KVM Performance : [http://www.linux-kvm.org/page/Tuning_KVM](http://www.linux- kvm.org/page/Tuning_KVM)

<comment><USER3> Launching QEMU directly is not merely "tricky", but incredibly inefficient and ineffective once you need something that's beyond bare minimal.

E.g. here is a minimal QEMU command-line that gives you access to a serial console in the guest:

`qemu-system-x86_64 -display none -no-user-config -nodefaults -m 2048 -device virtio-scsi-pci,id=scsi -device virtio-serial-pci -serial stdio -drive file=/export/cirros.qcow2,format=qcow2,if=virtio`

Simple, yeah? Now here (it's too long to post in this comment) is a real world QEMU command-line (as launched by the libvirt[1]):

htttps://kashyapc.fedorapeople.org/Fedora-28-QEMU-command-line-by-libvirt.txt

Compare and contrast the number of devices that libvirt adds.

FWIW, I strongly recommend to use libvirt to launch your QEMU-based guests. It is far more effective, and more importantly, provides security infrastructure like running the QEMU process as an unprivileged user, protecting the QEMU process (and its associated disk iamges) via the SELinux-based sVirt mechanism, and so forth.

Check out these[2] slides (recording is online, too) on "Security in QEMU" from one of the QEMU maintainers, Stefan Hajnoczi, at last year's KVM Forum in Edinburgh.

[1] [http://libvirt.org/](http://libvirt.org/)

[2] [https://vmsplice.net/~stefan/stefanha-kvm- forum-2018.pdf](https://vmsplice.net/~stefan/stefanha-kvm-forum-2018.pdf)

<comment><USER4> > like running the QEMU process as an unprivileged user,

Anyone can run your example "qemu-system-x86_64 -display none -no-user-config -nodefaults -m 2048 -device virtio-scsi-pci,id=scsi -device virtio-serial-pci -serial stdio -drive file=/export/cirros.qcow2,format=qcow2,if=virtio" from the command line/bash, as non-root user, yet libvirt which requires root to install, and is expecting root to configure it, is better? How?

Libvirt is one of those softwares which ads a layer of complexity for the sake of complexity, yet offers nothing of value in return.

<comment><USER5> its not true that libvirt adds nothing of value, it adds easy networking support, easy snapshots, a nice gui interface, a very nice remote protocol and clients (that seamlessly support both graphical and serial output, aswell as on the fly reconfiguration of VMs without restarting them), template VMs (including one time initial provision setup), easy support for storage pools including remote ones, an easy way to manipulate RAM usage on live VMs, easy PCI and USB passthrough, live migration to other hosts, etc etc.

Sure its possible to do all this _without_ libvirt, but it comes as one integrated, easy to manage package instead of hundreds of disparate parts.

You might not need (all) these features, but to claim libvirt is useless is extremely parochial.

Its also untrue that it needs root, you can virt-manager for instance without a root libvirtd instance at all, and it will run VMs without any permissions needed.

<comment><USER4> > its not true that libvirt adds nothing of value, it adds easy networking > support, easy snapshots, a nice gui interface, a very nice remote protocol > and clients (that seamlessly support both graphical and serial output, > aswell as on the fly reconfiguration of VMs without restarting them), > template VMs (including one time initial provision setup), easy support for > storage pools including remote ones, an easy way to manipulate RAM usage on > live VMs, easy PCI and USB passthrough, live migration to other hosts, etc > etc.

everything libvirt does can be done without it by talking to qemu directly. and yes, Ive done many of the above "by hand", it was easier to read man qemu and other qemu docs than to swallow libvirt.

<comment><USER5> No, not everything it does can be done by qemu directly, plenty of it lies outside of the scope of QEMU entirely, like managing networks (not just network devices), or storage pools, setting up permissions for device redirection, or doing the legwork for VM provisioning and configuration (including net booting and automatically running appropriate scripts), or managing access to VMs both locally and remotely.

Its fine if your use cases are covered by plain QEMU, but libvirt does a hell of a lot more than plain QEMU alone is capable of.

Again all of that is possible via other means, but when other means involve recreating half of libvirt in shell scripts or other code, id rather let somebody else do the work for me.

QEMU is designed to run virtual machines, libvirtd is designed to manage VM server infrastructure.

<comment><USER6> The alternative is not that many commands: [https://blog.elastocloud.org/2015/07/qemukvm-bridged- network...](https://blog.elastocloud.org/2015/07/qemukvm-bridged-network-with- tap.html)

<comment><USER5> For one static network, what about complicated inter VM networking schemes (including firewalling) that need to be dynamically adjusted as VMs go on and offline?

Libvirtd is much better suited to managing that sort of complexity.

<comment><USER6> I have the luxury of opining that such complicated networking schemes should be reined in, and not served with baroque management software. Complexity is the arch enemy of security, because systems must be kept easy to reason about.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm impressed nobody mentioned libvirt ([https://libvirt.org/](https://libvirt.org/)) here, an open source framework for managing all kind of virtualization platforms. It is especially well suited to take off all heavy work of managing QEMU. From the features, Virt- Manager ([https://virt-manager.org/](https://virt-manager.org/)) can compete with VirtualBox -- and is probably well beyond, thanks to network transparency, the Spice protocol, real guest console access, powerful CLI interfaces such as `virsh` and other goodies.

In Linux distributions, you basically install `virt-manager` and the package manager will resolve all dependencies to provide you a fully working virtualization desktop software which is well capable to be used on servers.

<comment><USER8> Fun fact: Virt manager (plus the good stuff like e.g. splice) runs also natively on macOS and makes it easy to control remote Linux VMs:

[https://github.com/jeffreywildman/homebrew-virt- manager](https://github.com/jeffreywildman/homebrew-virt-manager)

</comment></comment><comment><USER9> LTT [1] did a video recently about running macOS on a Linux host using QEMU. Anyone here tried that? If so, what's the experience like? Thanks

[1]: [https://www.youtube.com/watch?v=ATnpEOo3GJA](https://www.youtube.com/watch?v=ATnpEOo3GJA)

<comment><USER10> I do this using Proxmox (QEMU under the hood), and it's been mostly a nice experience. I currently run 3 VMs on a single Linux box with 3 GPUs (one per VM via VFIO passthrough). I've used both NVIDIA and AMD graphics cards with success. Before Mojave, NVIDIA cards were easier with their web driver, but Apple and NVIDIA don't get along in Mojave (both companies are blaming each other) and there is no web driver. So for macOS, I've switched to an AMD GPU which works mostly out of the box, apart from needing a small tweak in the Linux host's kernel parameters ("disable_idle_d3=1" to avoid a bug preventing the device from being used after a VM restart).

To get macOS to see my GPUs with full acceleration and audio over HDMI, I use the Clover bootloader to inject a small section into the DSDT, mapping the emulated PCI address to a device that actually looks like a graphics card to macOS. This same DSDT patch works for both NVIDIA and AMD GPUs (the ones I've tried anyway).

The best thing about Hackintosh in a VM is that you no longer need to fear macOS upgrades. Just create a snapshot, try the upgrade, and if it doesn't work out, you can restore, investigate, and try again.

LTT's video is a nice overview, but his claim that "because this is a VM... it will run on _any_ hardware" isn't quite true when talking about GPUs. Unlike the CPU, memory, and some other devices, the GPU is seen (nearly) directly by the guest VM, so guest OS support _is in fact required_ to see the advantages of GPU passthrough.

In summary, it's never going to be super easy, but it's not too difficult either, and the performance (and flexibility) is actually really great.

<comment><USER11> Thats sounds pretty interesting. Ive been running a hacked together windows VM gaming setup via qemu with vfio passthrough for the past 1.5 years on my local linux server. Im pretty pleased with it. Ive got it down to simply executing a small script and everything comes up. It could be even more automated using evdev potentially (recognizing mouse/keyboard events).

I was thinking about expanding the setup to include a beefier linux host (more gpus and better hardware) and more seats -- windows gaming for me and osx for my wife. But you mentioned several possible osx specific caveats: amd gpus, clover (?) bootloader w/ dsdt (?), disable_idle_d3, etc. Can you link to some info or READMEs regarding your setup or how you came across these solutions?

<comment><USER10> I don't have any specific guides about my setup, but here are a few things that have been helpful to me:

\- Good starting point for setting up macOS under QEMU/KVM: [https://github.com/kholia/OSX-KVM](https://github.com/kholia/OSX-KVM)

\- DSDT/SSDT patching: [https://www.tonymacx86.com/threads/ssdt-gpu-graphics- card-in...](https://www.tonymacx86.com/threads/ssdt-gpu-graphics-card- injection.183354/)

\- AMD reset bug: [https://www.reddit.com/r/VFIO/comments/5h351m/gpu_stuck_in_d...](https://www.reddit.com/r/VFIO/comments/5h351m/gpu_stuck_in_d3_mode_cant_initialize_vm/)

\- Kernel extension that can help with some GPU issues: [https://github.com/acidanthera/WhateverGreen](https://github.com/acidanthera/WhateverGreen)

The DSDT/SSDT patch was probably the trickiest thing. I've posted my particular patch here if you're interested: [https://pastebin.com/ngvkVZYN](https://pastebin.com/ngvkVZYN)

Also, a few of my other scripts/config: [https://pastebin.com/9Nh5rheZ](https://pastebin.com/9Nh5rheZ)

<comment><USER10> In case anyone runs across similar AMD GPU issues, the "disable_idle_d3=1" option in the second pastebin link (when used as a kernel parameter) should be prefixed as "vfio-pci.disable_idle_d3=1". Even then, it can still be hit-or- miss with some cards (it works most of the time for me, but some VM restarts still find that the GPU has entered D3 and won't come back without rebooting the host).

<comment><USER12> is this a macOS guest specific issue? would I have similar issues on a Windows or Linux guest?

<comment><USER10> I believe it happens for any guest OS (search for "amd reset bug"). Some people are using a workaround that involves removing the device (in the sysfs), suspending the host, and then rescanning, but for me, that's not much better than a host reboot, so when the AMD GPU occasionally does get stuck in D3 (preventing starting the VM after a VM reboot), I just reboot the host. It doesn't happen very often, and when it does, it's only when I'm in the process of rebooting the VM anyway.

Previously, I also attempted using a kernel patch that's been floating around (DECLARE_PCI_FIXUP_HEADER ... quirk_no_bus_reset), but it just gives me corrupt graphics when rebooting the VM.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Note that this isn't a "major" change from v3.x.x; the major version is year- based (${year}-2015). This is v4.0.0 because it is the first release of 2019.

</comment><comment><USER14> QEMU's killer feature is user mode emulation [1]. It's never been easier to test/experiment with cross-target binaries.

[1] [https://wiki.debian.org/QemuUserEmulation](https://wiki.debian.org/QemuUserEmulation)

<comment><USER15> Exactly! We are using this in our compiler test farm for the quick test runs. Sadly, the release prior to 4.0.0 broke floating point handling of NaN on (at least) PowerPC e5500 :( I'm looking forward to test qemu 4.0.0 once I'm back in the office again.

Edit: Tested it, aaaaaand NaN compares are still broken :(

</comment></comment><comment><USER16> Anybody here using QEMU? What is your use case?

<comment><USER17> I'm using it in conjunction with PCI passthrough instead of dual boot. I've been running Windows 10 for more than a year now and played all kinds of AAA titles successfully. The performance-loss seems minimal. Recently I managed to get a second GPU and spin up another VM, so now me and my partner can play on the same machine, heaving each a keyboard, mouse and screen.

<comment><USER18> Do you have any hints on how to set up a similar system? Links, guides, gotchas, whatnot? I've seen someone mention this setup before (perhaps it was you?) and I'm sure I'm not the only one interested in running something similar.

<comment><USER19> You might be able to find some info here [https://www.reddit.com/r/VFIO/](https://www.reddit.com/r/VFIO/).

<comment><USER18> This seems very helpful, yes. Thanks a bunch for posting!

</comment></comment></comment></comment></comment><comment><USER20> I have not upgraded to the latest VMWare Workstation -- should I take a look at QEMU first or is this something meant for a completely different use case? (I use VMWare Workstation for contracting/consulting and build out a workstation to match the client engagement rather than pollute my base OS with five different versions of Visual Studio; IntilliJ, Eclipse, AND Android Studio; multiple version of SQL Server/PostgreSQL/Mongo/MySQL... and I can dump those VMs off to network storage when I'm done with the engagement and reclaim the storage space on my laptop.)

<comment> yjftsjthsd-h Yes, qemu can do that.

</comment></comment><comment><USER21> Can QEMU be used to run a small (classic) ARM binary with simulated RAM/Flash and can I somehow plugin my own peripheral simulations? On Windows.

</comment><comment><USER22> I always wanted (but never succeeded) in emulating SPARC guests using QEMU. Is there a comprehensive list of systems and hardware emulated? I suspect a lot of people in the HN crowd would be curious about emulating Alphas, even if for only running Genera.

Having a collection of emulated Unix workstations is an upgrade in terms of space saved.

<comment><USER23> Here's a pretty good tutorial.

[https://astr0baby.wordpress.com/2018/09/22/running- solaris-2...](https://astr0baby.wordpress.com/2018/09/22/running- solaris-2-6-sparc-on-qemu-system-sparc-in-linux-x86_64-mint-19/)

I used a Solaris 7 .iso from archive.org.

[https://archive.org/details/solaris_7_1199_sparc](https://archive.org/details/solaris_7_1199_sparc)

<comment><USER24> Ooh really? That works?

<comment><USER23> Yes. Here's a screenshot of Netscape 4.76.

[http://www.w6rz.net/netscape.png](http://www.w6rz.net/netscape.png)

That was with a Solaris 8 disk image that I found here:

[https://github.com/cclark64/qemu_solaris_sparc](https://github.com/cclark64/qemu_solaris_sparc)

<comment><USER25> Has anyone got a Modula-2 compiler for old Solaris versions? Then I can re- live the monochrome (2-color) xterm experience from the 90s.

</comment></comment></comment></comment></comment><comment><USER26> Note that the versioning has changed to time-based, v4.0 denotes that this is the first release of 2019.

</comment><comment><USER27> I clicked on the story because of the major version number bump, then belatedly realised they had moved to time based version numbering. The major version number gets incremented every year.

So the version number is essentially meaningless now - the year of release (eg, QEMU v2019.0.0) would give you more information. I can't say I'm a fan.

</comment><comment><USER28> I use Virtualbox on home PC to dev. I ssh into it and use tmux/vim as my IDE. Is there a better setup for performance on windows? Should I bite the bullet and get myself a Windows Pro upgrade for Hyper-V? If my memory serves well you Hyper-V can't have Hyper-V and Virtualbox at the same time.

<comment><USER29> True. I use vmware and my ubuntu vm is faster than my windows host. This makes hyper-v and docker on windows incompatible, though. I run i3 inside vmware. I would expect virtualbox to be ok too, for this use case.

<comment><USER30> You can use `docker-machine` and its vmware driver to use your VM as the docker backend

</comment></comment></comment><comment><USER31> Did anyone manage to solve the problem of virgl rendering failing with

        Error starting domain: internal error: qemu unexpectedly closed the monitor
        ....
        libvirtError: internal error: qemu unexpectedly closed the monitor

</comment><comment><USER32> It's pretty great and has been useful for many use cases for me, except too bad it lacks good 3D graphics support for modern gaming

<comment><USER33> It all depends on how and if someone will implement a Windows driver for VirGL. Given how complex video drivers are nowadays, it looks like a pretty daunting task.

<comment><USER34> Intel has support for KVMGT, but AMD/NVIDIA won't support it. This would really be the correct approach to get support from the graphics manufacturers:

[https://wiki.archlinux.org/index.php/Intel_GVT-g](https://wiki.archlinux.org/index.php/Intel_GVT-g)

</comment></comment></comment><comment><USER35> I don't use QEMU and I'll always confuse it with QEMM. So every time I see a QEMU article title I think to myself, What year is it again?</comment>


What Counts as Cyberpunk? - <AUTHOR> https://exolymph.news/2016/06/08/what-counts-as-cyberpunk/ <comment><USER2> When there are arbitrars of is/isn't cyberpunk, what has it become?

Or what does an appeal to authority mean in the context of cyberpunk?</comment>


React Native vs. NativeScript - <AUTHOR> Hey everyone. With the rise of JavaScript on mobile, I am starting this discussion to compare the two biggest native JavaScript mobile frameworks: React Native and NativeScript. Both are relatively young, but growing fast. To me, React Native seems to have a bigger community and tends to be more mainstream (many products are adding official RN support), but {N} has some awesome features like 100% native API access via JS. So what does the JavaScript community think? Where do you think React Native and {N} are headed and what made you choose one over the other? Let's see if I can get some interesting content from both sides! <comment><USER2> Isn't anyone concerned by Facebook?

Yes I know it's open source but after the whole Parse fiasco I swore I'd never go near a Facebook API again.

As a side note NativeScript doesn't look very interesting to me either as I use Codename One (prefer Java to JavaScript).

</comment><comment><USER3> I tested nativescript example app on iphone, in my opinion nativscript performance better than react native but it just little bit. I guess they don't have big community and details documentation.

</comment><comment><USER4> I use React Native, but never use {N} Some benefit of React Native to me: \- rapid development, I don't need to rebuild every time \- easy to build UI, compared to Native Android \- big community, many ready-to-use plugins \- it has a feature to connect to each natives (iOS and Android). This is very good when third party (e.g.: Cloudinary ) doesn't provide docs / SDK for React Native \- with JS, it's easy to manipulate JSON

<comment><USER5> Do you think the using of React as another big benefit ( since it is the cool kids framework right now ). Or this brings another challenge instead? In addition to it, what are your's web stack of choice currently? ( I'm looking for new ideas for back end also )

</comment></comment><comment><USER6> I don't have hands-on experience with either of these mobile frameworks, however, a simple glance at statistics reveals the internet's interest in RN: [https://g.co/trends/K49z5](https://g.co/trends/K49z5) . Not to mention the fact that Discord, Facebook, Instagram, and Airbnb all run RN, while Native script has a generally unknown/inconsiderable backing (imo).

</comment><comment><USER7> Very personal newbie experience. I got much further with react native. You can find so much stuff for RN that you can do a lot just with javascript. I wasnt so sure about that wit Nativescript.</comment>


Giant coconut crabs feed on birds (2017) - <AUTHOR> https://www.newscientist.com/article/2152805-giant-coconut-crab-sneaks-up-on-a-sleeping-bird-and-kills-it/ <comment><USER3> Not only can that monstrous crab eat birds; it can crack _coconuts_ open with its claws.

That's why it's called the "coconut" crab.

I wonder if it's ever attacked human beings -- you know, like people napping at the beach.

Nature never ceases to amaze me.

PS. If you enjoy reading about "odd" creatures, check out "WTF, evolution?" at [https://wtfevolution.tumblr.com/](https://wtfevolution.tumblr.com/)

<comment><USER4> I've never read about them attacking people, but they will go after small pets and rummage through your trashcan. The biggest danger to humans is having one fall on you. They climb coconut trees to get to the coconuts, but being a little clumsy, fall out of the tree sometimes.

[https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.thesun....](https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.thesun.co.uk%2Fwp- content%2Fuploads%2F2016%2F03%2F2491801.main_image.jpg&f=1)

[https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2F4.bp.blogspo...](https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2F4.bp.blogspot.com%2F-rkg8Him4hsk%2FUY5t1om3o_I%2FAAAAAAAADto%2FZXcTlKnVUuo%2Fs1600%2Fcococrab.JPG&f=1)

<comment><USER5> Does this kill the crab?

<comment><USER4> I would think it depends on how far it fell, but they can climb to the top of coconut palm.

[https://53744bf91d44b81762e0-fbbc959d4e21c00b07dbe9c75f9c0b6...](https://53744bf91d44b81762e0-fbbc959d4e21c00b07dbe9c75f9c0b63.ssl.cf3.rackcdn.com/media/D0/D029B0AE-565E-4997-839E-3747F4D6BB7E/Presentation.Large/Coconut- crab-on-palm-trunk.jpg)

</comment></comment></comment></comment><comment><USER6> Has anyone seen the whole video?

To clarify/calm down my paranoid mind of a staged crab attack to a bird whose wing was broken earlier possibly by humans and so that we have full proof beyond social media cuts. ?

ps: red footed boobies don't seem to avoid those islands: [https://www.livingoceansfoundation.org/seabirds-chagos- islan...](https://www.livingoceansfoundation.org/seabirds-chagos-islands/)

<comment><USER7> IIRC, the full video (or a different one showing a crab killing a Booby - <USER2> can't find it at the moment) first shows the crab climbing a tree, approaching a sleeping bird, and breaking one of its wings. The bird falls out of the tree, and the crab climbs down the tree to attack the bird again on the ground.

This behavior might be seen as an extension of how they go after coconuts and other fruit.

[https://en.wikipedia.org/wiki/Coconut_crab#Ecology](https://en.wikipedia.org/wiki/Coconut_crab#Ecology)

</comment></comment><comment><USER8> That video looked like something straight out of a low budget horror film, poor bird.

<comment><USER9> [https://en.wikipedia.org/wiki/Attack_of_the_Crab_Monsters](https://en.wikipedia.org/wiki/Attack_of_the_Crab_Monsters)

</comment></comment><comment><USER10> As creepy as it may be, coconut crabs "hunting" in this manner--let alone being caught on film--is truly rare. I grew up hunting them with my brother as a kid, crawling along cliffs where they can often be found hiding, and in the jungle near beaches. They truly are an exotic delicacy (fruit bat and sea turtle are the only other things I've tried that come close on the exotic scale, the former being prepared in a similar manner)...which also means they don't live long lives outside of wildlife reserves due to being overhunted by indigenous peoples.

<comment><USER11> Are they tasty?

<comment><USER10> Indeed, unlike anything I've ever tasted.

Found this amateur video[1] on YouTube which documents hunting, preparation, and the final dish by Chamorros from Guam. In contrast to typical crabs, the _abuni_ (pronounced _ah-boo-nee_ ; rear end of crab body) is arguably the most desirable and flavorful part. This video[2] demonstrates simple preparation by a Japanese cook; I've highlighted the _abuni_ part, which tastes absolutely amazing despite appearances.

[1] [https://www.youtube.com/watch?v=1mWZK1GEZis](https://www.youtube.com/watch?v=1mWZK1GEZis)

[2] [https://youtu.be/ir-7x3NWpl4?t=929](https://youtu.be/ir-7x3NWpl4?t=929)

</comment></comment></comment><comment><USER12> So what was the outcome of the follow-up study?

<comment><USER13> The outcome is that coconut crabs are creepy as all get out.

<comment><USER14> They are rather tasty though.

<comment><USER15> I want to eat one, where can I go to eat one?

</comment></comment></comment></comment><comment><USER16> Also, pelicans will eat whole pigeons if given the chance.

</comment><comment><USER17> I find spiders quite freaky, yet I find crabs quite endearing. This strikes me as very odd.

ps. Ive been actively trying to overcome my aversion to spiders by handling them when I put them out. Starting with very tiny ones and working my way up.

<comment><USER18> Aversion to spiders more likely to save your life and allow you to pass on genes, makes sense.

<comment><USER19> Not necessarily. If you live in an area with spiders, you probably also have mosquitoes and all kinds of other insect disease vectors. Having a nice spider would go a long ways to keeping those vectors down.

<comment><USER20> Interesting point - avoiding spiders is better for me individually, but reducing mosquitoes is better globally. So I guess it depends if our aversions are optimized for the individual or the species.

</comment></comment></comment></comment><comment><USER21> Genji 2 is an action game which is based on Japanese history. The um, stages of the game will also be based on famous battles which took- actually took place in ancient Japan.

So here's this giant enemy crab.

<comment><USER22> I really wanted to reply to this with 'RIIIIIDGE RACER' but I know such things are discouraged on HN.

</comment></comment><comment><USER23> Pretty amazing that the crab is smart enough to go for the wings first.

<comment><USER24> It's very unlikely that "smart" is involved here. I suspect the wing breaking is simply the likely end result of many possible interactions of a crab (tank with crushing claws) and a bird (lightweight and easily crushable) in a tree. Being without two useful wings is not a situation that any bird wants to be in.

</comment></comment><comment><USER25> Like a headcrab from Half-Life :)

</comment><comment><USER26> I saw this posted on Reddit and Facebook a while back and I can't really stand this whole "NOPE NOPE NOPE" culture we have where everything is judged by how icky it is.

And the top comments fight over who has the least tolerance for it.

I think it's a symptom of the broader topic of anti-intellectualism in our culture where reactions are more important than intrigue and exploration.

A video of a crab eating a bird might seem like a weird tipping point to have this moment but it's a video that I happened to see in four different places where the top comments were all the same mix of "well I'm never going near crabs again lol" and "nuke it from orbit lol" and "wish I hadn't seen this lol" and "I'll be sure to do my part to eat more crabs lol."

<comment><USER27> those are pretty much tongue and cheek. how often is anyone near a crab that's not in captivity or that you're about to eat?

<comment><USER28> > those are pretty much tongue and cheek.

I believe the expression you are looking for is "tongue- _in_ -cheek".

[https://en.m.wikipedia.org/wiki/Tongue-in- cheek](https://en.m.wikipedia.org/wiki/Tongue-in-cheek)

</comment></comment></comment><comment><USER29> That creature is kinda cute in its own grim way.</comment>