Smyte (YC W15) Launches to Fight Online Fraud - <AUTHOR> http://techcrunch.com/2015/06/22/yc-backed-smyte-launches-to-fight-online-fraud/ <comment><USER3> Great summary - there's lots of subtleties in this space and most of our home- brew solutions would miss a lot. This company is an example of experts leveraging their knowledge to benefit us all. Well done!

</comment><comment><USER4> I think I might be your competitor from eight YC batches ago, but good luck! You seem to have a great team.

<comment><AUTHOR> Thanks! Based on my understanding of Sift Science as an outsider, we're focused on a different market. We're explicitly trying to stay away from traditional e-commerce applications (shopping carts, standard transactional businesses, etc) because the space is so crowded, preferring instead to focus on trust and safety applications (i.e. two untrusted users interacting with each other on some service vs 1 untrusted user interacting with a merchant).

</comment></comment><comment><AUTHOR> Co-founder here -- happy to answer any questions!

<comment><USER5> I'm curious what data I have to send to you to get this to work - <USER2> flipping a Segment.io switch be enough to get started?

<comment><AUTHOR> Hey Sean!

Our developer docs at [http://docs.smyte.com/](http://docs.smyte.com/) should have the answers here, but basically you can drop a script tag on your page to get a basic view of what's going on, and use our REST API server-side to annotate that basic view with additional data. Ideally, you'd serialize most of your models to JSON and send them over to Smyte so it can detect patterns and relationships.

Segment is a good idea; I should chat with them.

</comment></comment></comment><comment><USER6> This looks great! My last company would have loved this.

</comment><comment><USER7> Congrats guys!</comment>


The boring findings from scraping the top 100 e-commerce stores using Shopify - pat-jay https://www.reddit.com/r/Entrepreneur/comments/elckkv/i_scraped_the_top_100_ecommerce_stores_using/ <comment><AUTHOR> 1\. Clothing is king

2\. 50% have their Best-Sold product >$50

3\. Most load really bad on mobile

<comment><USER2> Thank you. Saved me a click.

<comment><USER3> Saved you a click, but the points listed above weren't the interesting bits from the article.

<comment><USER4> Yeah it's not a long read by any means, and interesting stuff if you're at all interested in ecom

</comment></comment></comment></comment><comment><USER5> Note that those are top Shopify sites based on Alexa Rank. Not all top Shopify sites will be tracked because those sites' visitors are not Alexa toolbar users.

</comment><comment><USER6> Very interesting that most have a pretty bad load time. I guess sales (ads/marketing) triumphs most (everything?)

<comment><USER7> 99% of Shopify stores are loading slow. That's not because Shopify hosting is bad, they are loading slow because of the apps, code left from uninstalled apps or theme tweaks and most probably the themes are slow.

At [https://shopyspeed.com](https://shopyspeed.com) we helped +30 stores to increase Google PageSpeed Score from 10/100 up to 90/100.

<comment><USER8> Liquid (the template language) is slow and extremely limited, and the apis are.. evolving. It's been hard at times to avoid nasty code that loops through everything to load a small chunk of data. At this stage we are starting to mirror Shopify content in addition to using it as a headless source.

<comment><USER7> Indeed, but you can still achieve good scores on Google Lighthouse. I've been trying Gridsome around 8 months ago with Shopify Storefront API and GraphQL hosted on Netlify. To be honest, the page speed was the same as on Shopify hosting on the theme that I was building back then.</comment></comment></comment></comment>


SVG-based image lazyloading as a matter of enjoyable UX - <AUTHOR> https://dev.to/btdev/hey-user-you-already-see-me11---svg-based-image-lazyloading-as-a-matter-of-enjoyable-ux-1de9 <comment><USER2> For some reasons, it doesn't work for me. It's quite interesting though, will give it a try sometime. Thanks :)

<comment><AUTHOR> Currently we have a bug in Firefox with Tracking Protection / Privat Mode, caused of an JS exception. Will be fixed soon.</comment></comment>


Californians to Vote on Condoms in Porn Movies - <AUTHOR> http://www.huffingtonpost.com/entry/porn-condom-ballot_563abd84e4b0411d306fac1e <comment><USER2> Have we Californians really solved all of our other problems?

<comment><AUTHOR> Better article about the issues involved: [https://news.ycombinator.com/item?id=10515137](https://news.ycombinator.com/item?id=10515137)

Unfortunately, it is from a more local election in 2012.</comment></comment>


The PC is dying, but very, very slowly - <AUTHOR> http://money.cnn.com/2011/10/19/technology/intel_pc_sales/

<comment><USER2> I find it strange that people don't count devices with touch screens as personal computers, even if they are personal. I always understood the 'personal' so that I'm in control of that device. So any general purpose computer where developers can distribute directly to consumers is a PC.

If a device allows accessible app sideloading, you can install software on it at will and use your device in any way you want. And that's my definition of a personal computer.

Devices running desktop windows or OS X are PCs to me. As are most Android based tablets and smartphones.

Am I right that most of you define the term differently? Because by my definition, the PC is doing very well. It's certainly under attack (windows phone 7, metro, iOS etc). But it's doing very well.

<comment><USER3> +1

The truth of the statement in the OP depends on the vague definition of a 'personal computer' used. There is only an artificial difference: what kind of input/output is used. But what if you connect a monitor and a bluetooth keyboard to your (rooted?) Android phone? Instant Linux box.

There is a very large grey area in between which is generally left out. What about laptops? netbooks? laptops with touch screens? Pads with detachable keyboards? Are those "personal computers"?

"General purpose personal computation devices" will live.

<comment><USER4> The definition of a personal computer is probably a topic that could be endlessly debated. I would personally classify it as a general purpose computer that the _user_ can program, so why not a phone running (non crippled) Linux?

Once you can run your own native code on the thing the differences are down to factors like software ecosystem, hardware performance and input mechanism, but the potential is there.

<comment><USER5> I actually did some on-device hacking on the Nokia N900. Terminal, Git, Python and a reasonably nice code editor: <http://maemo.org/downloads/product/Maemo5/pygtkeditor/>

Python was especially well suited for on-device development as you're not so dependent on special characters not available on typical phone QWERTYs.

</comment></comment></comment></comment><comment><USER6> I think the bigger issue, which I don't see raised in the article (apologies if I missed it) is that PCs are _cheap_. That's a lot of what I wrote about in [http://jseliger.com/2011/10/09/desktop-pcs-arent-going- anywh...](http://jseliger.com/2011/10/09/desktop-pcs-arent-going-anywhere- despite-the-growth-of-phones-and-tablets%e2%80%94because-theyre-cheap/) . In addition, if you're someone who mostly uses a computer for reading e-mail, looking at FB, and watching YouTube videos, practically any computer made in the last five to maybe ten years will be _just fine_ for what you're doing. So why would you buy a new one?

<comment><USER5> Besides, tablets which are pretty much in the same range as Netbooks are nicer for all of these activities, and with better battery life. Though writing emails isn't as comfortable.

</comment></comment><comment><USER7> My 4 years old computer still runs very well. I can also run newest pc games without problems. My video card relative power with the newest generation of console hasn't changed. I don't see why I would buy a new PC.

While PC sales might trend downward, I'm pretty sure that pc use is not.

</comment><comment><USER8> How is this news? Most technology is dying slowly to be replaced by the latest and greatest.

Tablets and smartphones will be dying slowly too in a few years to be replaced by some other idea.

</comment><comment><USER9> Any day now right? Like every year?

</comment><comment><USER10> Intel is still going to be selling semiconductors whether people buy PCs or smartphones, but the reality is the price of the average processor someone is buying for use in their primary "computer" has been declining fast - Intel and anyone else in the game is going to need to make up the money in volume instead

<comment><USER11> But Intel's having trouble selling into the smartphone market, too, it's not just a decrease in ASP that should be worrying them...

<comment><USER12> Intel's having trouble _because_ of the ASP.

</comment></comment></comment><comment><USER13> Smartphones and Tablets are not a replacment for a PC but a complement. I do not see why it should die.

</comment><comment><USER14> Hours a day I use a tablet computer 0, hours a day I use a desktop PC 8+. New Heading: dumb writer writes stupid article.

</comment><comment><USER15> The PC is not dying, just look at the PC enthusiast community.

</comment><comment><USER16> This article focused on hardware. The more interesting trend is in desktop software -- nobody is making it anymore.

Microsoft has so succesfully strangled the life out of the software industry that it is now a wasteland. Today, all games are for consoles, all mini-games are iphone games, all enterprise software is moving to the cloud, all productivity software is written as web services....

This is why the PC is dead meat.

<comment><USER17> > _Today, all games are for consoles, all mini-games are iphone games_

Then I guess I've been living in some fantasy world with Starcraft II, Diablo 3 beta and new games every week at Kongregate. I like it though, so please don't wake me up. I can barely even imagine an RTS on a console and I don't think it would be worthy of even playing let alone watching e-sports casts of others play!

</comment></comment><comment><USER18> I wonder what will die first, desktops or physical media?

<comment><USER19> My Mac mini doesn't have an optical media drive and I bought a super drive to go with it but I admit, I hardly use it (just for ripping my audio CDs into iTunes and some photo backups).

When the internet speeds are fast downloading becomes the easiest option.</comment></comment>


Pakistan Placed in FATF Grey List - <AUTHOR> https://laffaz.com/pakistan-in-fatf-grey-list/ <comment><USER2> Is this politics or real threads? It would be nice to see the data behind the decisions.</comment>


New engine shakes up auto industry - <AUTHOR> http://www.msnbc.msn.com/id/42460541/ns/technology_and_science-innovation/ <comment><USER2> Colour my cynical. There's been alternative engine development for almost as long as there's been the combustion engine, and nothing yet has made an impact.

Ralph Sarich invented the orbital engine [0] almost 40 years ago, formed a company and spent millions on the idea but it went nowhere. Interestingly, they knew when to change direction and ended up making a number of breakthroughs in the field of two stroke engines. The company is still in business today [1]

[0] <http://en.wikipedia.org/wiki/Orbital_engine>

[1] <http://www.orbeng.com.au/>

<comment><USER3> The situation today is different. This engine is supposed to optimize hybrid cars (it is supposed to generate electricity to drive an electric motor) and hybrids are something new, they haven't existed for more than a century, which means that there is likely more untapped potential for optimization. This engine wouldn't be practical in a standard gasoline car and it's not designed to be used in one.

It obviously can still fail but I don't think it's possible to draw historical parallels.

<comment><USER4> Well if we're talking about that, then reciprocating engines can do pretty well (the prius engine is over 33% efficient when running in the ideal range, and it actually exists today; diesels do even better)

</comment></comment></comment><comment><USER5> _Michigan State's team of engineers hope to have a car-sized 25-kilowatt version of the prototype ready by the end of the year._

It should be noted than 25kW is 33HP. Though it's possible to make a useful car with that little power, 33HP is generally considered an appropriate power level for a beginner's motorcycle, not a car. Even if it's much lighter than a piston engine and has such a wide powerband that it doesn't need a gearbox, it's likely they'd need a lot more power for consumer acceptance even in small cars.

Edit: I googled this and found that the intent is to use this engine to run generators to charge batteries in hybrid cars, not for direct propulsion. In that case, the cars probably won't be much, if any lighter than standard cars since all the weight savings will be replaced with batteries. Power output could, of course be lower than a standard car engine and still provide good performance since the electric motors could have peak outputs far exceeding the sustained output of the generator.

<comment><USER6> That's modern power creep speaking. You don't need the massive power of modern automobiles. That 7 second 0-60 on your mid-sized sedan? Faster than nearly all sports cars 30 years ago. Absolutely blistering compared to any car 50 years ago.

40hp is about what you use on the freeway, or at least it used to be before the average car came to weight 2 tons. You don't need a whole lot more than that. Hell, the MG Midget was offered with a 30HP engine once, IIRC.

I'm quite sure in a decade or two we're going to have people saying things like, "It's true you CAN make a car with only 200hp, but it's generally accepted you need at least 800hp for any car"...

<comment><USER7> I had an air-cooled Vanagon for a while. It was 2½ tons, due to aftermarket camper modifications, and could manage a bit over 60mph on its 70-horsepower 2-liter air-cooled engine, despite having the aerodynamics of a brick. Something with half the frontal surface area or half the drag coefficient, such as basically any modern vehicle, could manage quite well with half that horsepower.

I think the average US car weighed a lot more in the 1960s than in the 1970s, 1980s, or 1990s. Maybe widespread SUV use is pushing that average back up.

Did the <http://en.wikipedia.org/wiki/Deux_Chevaux> really have only two horsepower?

<comment><USER5> Reading the content of the article you linked, the first version had 9hp and was "notoriously underpowered". Most 2CVs actually came with engines around 30 HP. This car also weighed only 560kg, which is lighter than even a Smart Fortwo. Modern crash safety standards mean it's effectively impossible[0] to produce street legal cars that weigh less.

The fact that a car was once successfully sold in Europe with such a low power to weight ratio doesn't mean it would succeed in today's market. Consumer expectations have changed. They could change again, but there would have to be a good reason.

[0] Lighter cars could be made from more exotic materials, but those would drive the price out of reach of the average buyer.

</comment></comment></comment></comment><comment><USER8> "Michigan State's team of engineers hope to have a car-sized 25-kilowatt version of the prototype ready by the end of the year."

I'll pay attention once this happens. As they say, there's many a slip between the cup and the lip. Lab projections invariably end up being over-optimistic.

<comment><USER9> Yeah. Would it have killed 'em to at least build a working prototype before sending out the press release?

Even if the claims they're making do turn out to be true, it could still suck in any number of other ways. How durable is this engine? Is it still gonna be running after a hundred thousand miles?

<comment><USER10> Even more importantly, how easy is it to maintain this engine? The reason rotary engines haven't become more mainstream is that the first attempt (the Mazda RX-7) was notoriously difficult to repair. The RX-8 is better (I hear), but the damage has been done - of all the major carmakers out there, only Mazda offers a rotary engine.

<comment><USER11> Untrue.

The RX-7's rotary engine (the 13B series) is actually phenomenally reliable, and there are many examples with well over 300k road miles. The RX-8 uses a newer variant of the same engine - the 13B-MSP RENESIS. Additionally, Mazda used the rotary in competition (in the infamous Mazda 787B) at the 24 hours of LeMans, which is a notoriously difficult test of engine reliability.

The myth of poor rotary reliability primarily stems from the 3rd-generation RX-7. The notoriously-complex mechanically-controlled sequential twin-turbo system (affectionately known as "the rat nest") was prone to hose disconnects and failures, which often led to over-boost situations. Additionally, owners that modify their cars often exacerbated the problem, installing free-flowing intakes and exhausts, as well as boost controllers, and did not properly modify air-fuel ratios to compensate. These situations led to increased engine heat and premature failure, which gave the rotary an unfair bad reputation. Many owners now convert to a simpler single-turbo setup with electronic boost control and careful air-fuel tuning, which is far more reliable.

The actual (and admittedly significant) drawbacks of rotary engines are poor fuel efficiency and high exhaust emissions, both due to incomplete combustion. This has kept them out of mainstream applications and thus they tend to be used primarily in performance applications.

<comment><USER5> The states complaint was difficulty of repair, not unreliability.

This is also untrue; the rotary is much simpler than a piston engine and has far fewer moving parts. Replacing major mechanical components on a rotary is easier than a reciprocating engine. As long as the associated systems are also simple, the rotary is one of the easiest engines there is to repair.

Most work that has to be done on car engines has nothing to do with the engine itself, but control, ignition and fuel delivery systems. Older rotaries had carburetors, which required regular adjustments to keep in tune. As mentioned above, the third-generation RX-7 had a complicated twin-turbo system that created some reliability problems of its own. Non-turbocharged fuel-injected second-generation RX-7s on the other hand are some of the most reliable and low-maintenance sports cars ever produced.

<comment><USER10> After looking into it more, it seems that a lot of the initial complaints about difficulty of repair were due to the lack of spare parts. It seems that Mazda had some manufacturing difficulties with the early versions of the RX7 engines and couldn't manage to meet demand for both whole engines and spare parts.

</comment></comment></comment></comment></comment></comment><comment><USER12> There is nothing in this story and video to back up any of the claims they are making. He just waves around a rotating disc.

He could be talking about cold fusion in just the same way ;)

[edit] looking at the duplicate link, they refer to their own article from 2006. Cold fusion would either have been laughed away or taken over the world. Same thing here I would assume. [/edit]

</comment><comment><USER13> They should seriously open source this design before the oil industry spooks show up and make it go away.

<comment><USER14> Oil industry should be happy about this... it's still burning petrol, after all. Many other ideas on the drawing board are trying to take petrol out of the equation.

</comment></comment><comment><USER4> Dup: <http://news.ycombinator.com/item?id=2337237>

</comment><comment><USER15> <http://www.aptera.com> Prototype by the end of the year? I swear Aptera has been saying that for the last few... (Okay, they have prototypes but they're not on the market yet.)

</comment><comment><USER16> This sounds a lot like a rotary engine with multiple combustion chambers. The idea of sliding seals should be enough to have any rotary afficionado denounce this new engine.

</comment><comment><USER17> there is a lot of ingenious engines. The question is which one can be made into practically usable product.

There is even productized version of rotary-vane engine coming supposedly next year in a Russian car:

[http://www.fastcompany.com/1709400/russian-billionaire- unlea...](http://www.fastcompany.com/1709400/russian-billionaire-unleashes- countrys-first-hybrid-vehicle)

I'd be though very surprised if they pull it off as beside Mazda rotary i don't know other mass-produced cars with non-traditional engines.

</comment><comment><USER18> Why is this better than a gas turbine?

<comment><USER19> IIRC it uses the same principle (Brayton cycle). It's just a lot easier to put in a car.</comment></comment>


How to create strongly-typed npm packages - <AUTHOR> https://medium.com/@mweststrate/how-to-create-strongly-typed-npm-modules-1e1bda23a7f4 <comment><USER2> Slightly off-topic, but I really hope that Typescript and Flow(type) can standardize on a type annotation syntax. There are tons of libraries that have annotations written either inline or provided third-party for one or the other, but the existence of two competing syntaxes fractures the community and tooling possibilities. The capabilities and visions of Flow and Typescript are pretty similar[0][1], so I think there's a real possibility of standardization. It also appears that Flow is, at a minimum, intending to support the automatic conversion of Typescript definitions to Flow[2], which would be a good start.

A convergence in the two standards would also potentially open the door to a typed-ECMAscript official standard, which would allow for improved tooling, greater support in libraries and transformers, and eventual browser adoption.

[0] [https://github.com/Microsoft/TypeScript/issues/1265](https://github.com/Microsoft/TypeScript/issues/1265) [1] [https://github.com/mozilla/sweet.js/issues/482](https://github.com/mozilla/sweet.js/issues/482) [2] [http://flowtype.org/docs/coming- soon.html](http://flowtype.org/docs/coming-soon.html)</comment>


Tesla: The greatest hacker of all time - <AUTHOR> http://www.totse.com/en/fringe/tesla/tesla5.html <comment><USER2> "Tesla generates a powerful pulse of electricity, and drains it into the ground. Because the ground is conductive, it doesn't stop. Rather, it spreads out like a radio wave, traveling at the speed of light, 186,000 miles per second."

And all this time I thought only light travelled at the speed of light :/

While I read that article, I was thinking, what if we found a way to 1. direct the current through the earth to a specific location reliably and 2. managed to represent bits accurately within that current? Free international communication, without networks of cables ;P

<comment><USER3> Radio wave is electromagnetic wave (aka 'light' in a range of frequency). But "speed of light" in non-vacuum is lower.

"direct the current through the earth to a specific location reliably" Earth is not homogenous. I wonder if pointing a low frequency laser into the ground will accomplish anything. It most likely will be refracted in an unpredictable inconsistent way.

<comment><USER2> Well, what if we transmit known data in a strong signal from one end to the other and then compare what was received to what was sent... (insert big hand waving) if we replicate those steps x times, we might be able to map the "interference structure" of the Earth and compensate for that somehow...

This is admittedly almost impossibly complicated.

<comment><USER3> Sure but the insides of the earth keep changing right...

<comment><USER2> We could recalculate the "interference infrastructure" every couple seconds... Remember that we don't need 100% accuracy also; TCP/IP layers reliability on top of unreliability.

</comment></comment></comment></comment></comment><comment><USER4> Check out the movie "The Prestige" (<http://imdb.com/title/tt0482571/>), which (among other things) features David Bowie as Tesla during his time in Colorado Springs.

<comment><USER5> I was a little worried about Bowie's performance of Tesla before I saw the movie. In the end, however, I was very pleased.

</comment></comment><comment><USER6> This gives new meaning to "hack the planet".

</comment><comment><USER7> If we're going this way on hackers, I'd go for Galileo as #1 (although a great case could be made for Archimedes).</comment>


Conversation between two bottlenose dolphins recorded for first time - <AUTHOR> http://www.ibtimes.co.uk/conversation-between-two-dolphins-recorded-first-time-what-did-they-say-1580890 <comment><USER3> Science journalism strikes again. Between this and the Guardian's "dolphin language discovered" the findings have been completely overblown for what is really a trivial finding. All this article really says is that cetaceans communicate in the audio domain; NPs are one way to conceptualize the subunits, which are obviously far from human phonology. But we still don't know anything about the structural properties, and hence the similarity to human speech. The paper says "we can assume that each pulse represents a phoneme or a word of the dolphin's spoken language." First, that's an assumption rather than an empirical finding; second, there's a pretty big difference between those levels of structure, and third, we'd want to know something about syntax, semantics, or pragmatics before we call it a 'conversation'.

That said, if this brings more money to the study of cetacean communication, then I'll accept whatever nonsense appears in the popular press. Pretty sure they were talking about the fusion reactors in Atlantis.

<comment><USER4> I think phonemes miss the mark with dolphins.

Their sounds simulatenously engage hearing senses while providing the sending party about additional metadata about the recipient. The sounds practically xrays the recipients body and surroundings for information about their immediate reaction and state of mind.

This is much more advanced than anything we consider relatable.

<comment><USER5> > The sounds practically xrays the recipients body and surroundings for > information about their immediate reaction and state of mind.

Do you mind clarifying? I think by "immediate reaction" you mean that echolocation gives feedback as to posture and muscle tone, which makes sense, though I'm not sure how the frequency ranges typically used for echolocation compare to the frequency ranges typically used for communication. By "state of mind" are you saying that state of mind produces physiological changes in the brain that are detectable via echolocation?

<comment><USER4> No telepathy, just body analysis

</comment></comment></comment></comment><comment><USER6> "For instance, on the planet Earth, man had always assumed that he was more intelligent than dolphins because he had achieved so much—the wheel, New York, wars and so on—whilst all the dolphins had ever done was muck about in the water having a good time. But conversely, the dolphins had always believed that they were far more intelligent than man—for precisely the same reasons." - Douglas Adams (Hitch Hikers Guide to the Galaxy)

</comment><comment><USER7> [http://www.sciencedirect.com/science/article/pii/S2405722316...](http://www.sciencedirect.com/science/article/pii/S2405722316301177)

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

(Those sidebar stories! "International Business Times"?)

</comment><comment><USER8> Also in HN:

Dolphins Recorded Having a 'Conversation?' Not So Fast (nationalgeographic.com)

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

</comment><comment><USER9> The topic of "dolphon language" reminded me of another very interesting approach I read about a while ago. I can't seem to find the article again right now, but the main points were as follows:

Apparently there are hints that bottlenose dolphins perceive their echolocation sense in a similar way than their vision sense. So in other words, they really "see" the objects that echolocation reveals to them. (In an experiment, dolphins were presented with an unfamiliar object in a vision-only setting. Then they were tasked to find the object among several decoys in an echolocation-only setting. The success rate was high above chance.)

If you assume that their auditory and visual senses are linked, the question comes to mind: What about non-echo sounds? Do they produce images as well? What about the sounds made by their kin?

Long story short, the article's hypothesis was that the "words" of dolphin language might actually be encoded images that dolphins are able to "decode" using the neural circuitry of their echolocation system.

What I find exciting about that idea is that it would give us humans a chance to access those images. After all, we know how echolocation works, so we could theoretically build a "decoder" ourselves. We could use this to actually test the hypothesis and - if successful - might use the images as a much better starting point for analyzing dolphin language than the raw sounds.

</comment><comment><USER10> Here's a video of two dolphins creating a new trick and performing it in sync, which requires creativity and communication: [https://www.youtube.com/watch?v=YSjqEopnC9w](https://www.youtube.com/watch?v=YSjqEopnC9w)

</comment><comment><USER11> I wonder, could you deconstruct a foreign syntax by bringing in new stuff into the dolphins environment that lends itself to be described by concepts that they already had.

Like adding a piece of floating cloth, that gets described as seaweed, etc. That way a syntax should be deriveable.

<comment><USER12> I'd rather train a language model on the audio. If it can predict the next sound, then there is some structure there. It could act as a translator.

<comment><USER11> Does it really? Or did you train your model in dolphin young bull ghetto slang? Come into the waters of the chinese room and find out..

<comment><USER12> The Chinese Room is not a valid mental experiment because it tries to evaluate the language understanding ability of an entity that is not an agent, then compare it to that of real agents.

The room is not grounded in reality, doesn't optimize behavior in order to maximize reward (is not intelligent) and doesn't have any external constraints (need to survive and reproduce) that human have. So obviously, it can't develop the same understanding as humans.

Also, the "codebook" in the Chinese Room was just a weak word, in reality it means deep neural networks with generalization power, not just a hash lookup. Searle has difficulty in understanding how generalization works in machine learning, so he is reducing it to a caricature word.

</comment></comment></comment></comment><comment><USER13> The article doesn't really say it, but do we have any method of translating what the dolphins are saying? Or do we just know that they are communicating?

<comment><USER14> From the article...

"The next step, Ryabov said, is creating dolphin translators so we can have conversations with them."

<comment><USER9> I was pretty puzzled by that line. Going from "we think those sequences of acoustic signals might possibly consist come kind of language" to "let#s build a translator" seems a pretty big leap to me. Shouldn't you actually learn the language first?

In this case, we neither know how the language encodes mental concepts, now what kinds of mental concepts dolphins would even possibly use.

<comment><USER12> It's hard to do that with human hearing, but we can use neural networks to model the sound of their conversations and build a language model. The purpose of a language model is to predict the next sound based on the past. If it learns to do this precisely enough, then we have access to a transcription from "dolphin audio" to word vector representations. Then we need to match those word vectors to concepts based on observing how they correlate to their actions.

<comment><USER9> I agree building a language model would be the first step - and we need to apply some mapping to outside observations if we want to assign some meaning to the model.

But especially the last step seems hard to me. Humans often do one thing and talk about something completely different at the same time. Even if their actions and conversation are related, you usually try to avoid redundancy and will talk about things that the recipient can _not_ already infer from your body language and/or actions. This would make correlation hard for human languages. I don't see any rrason to believe that dolphins are any nicer in that regard.

What I found more promising was a controlled experiment performed a time ago, where pairs of dolphins were trained to think up and perform a choreography. At some point, the dolphins would have to coordinate how to swim - <USER2> researchers were apparently able to pinpoint some particular "conversations" that looked like they were just that. So you might have some better chances to analyze those conversations because you can make concrete assumptions about their content.

Still, even then you're kind of behaving like an alien that tries to learn both "the culture of humans" and the complete english language at the same time - by observing a handful of soccer games.

<comment><USER12> Then we could identify concepts in those conversations and play them out on a speaker, to see if they do what we thought the sound means.

</comment></comment></comment></comment></comment></comment><comment><USER15> Makes me wonder what would happen if they play back one side of the conversation to another dolphin. If they keep doing that, and other dolphins respond, they will be able to get lots of dolphin conversations recorded.

<comment><USER16> Depending on how their language (and brains) works, playing back a recording could potentially be absolutely meaningless to the point where no dolphin would have reason to respond. That said, it probably can't hurt to try.

</comment></comment><comment><USER17> This is fascinating - I wonder what sort of information they're able (and interested) to communicate to each other - food? locations? types of food? captivity? That could become an awkward conversation...

</comment><comment><USER18> I got redirected or something to an ad after visiting on my phone.

<comment><USER19> Couldn't read it because of the video ads.

I don't mind ads, but that was too much.

</comment></comment><comment><USER20> > _Conversation between two bottlenose dolphins recorded for first time_

For the first time? Should not be 1950 in the title?

</comment><comment><USER21> I can't wait to hear about what kind of things these creatures have to say about us. Sentiment analysis, anyone?</comment>


Single molecule's electric charges seen in first image - <AUTHOR> http://www.bbc.co.uk/news/science-environment-17156036

<comment><USER2> For those who cannot view the article due to the paywall:

"Imaging the charge distribution within a single molecule"

<http://dl.dropbox.com/u/4701012/nnano.2012.20.pdf></comment>


2500 words on the subject of brevity in programming - <AUTHOR> http://reprog.wordpress.com/2010/03/18/so-what-actually-is-my-favourite-programming-language/

<comment><USER2> It is mentioned in the comments, but bears repeating here-

The author's example of "overly verbose" Java is rather unfair. Compare the 11-line example with loads of temporary variables to something like this:

      Set results = new SortedSet();
      for (Method m : String.Class.getMethods()) {
      	if (m.getName().toLowerCase().contains("index")) {
      		results.add(m.getName());
      	}
      }
      return results.toArray();

<comment><USER3> I had a play with LINQ in C# to see how similar I could make it:

After adding a couple of extension methods (to make the syntax more similar) I can write:

      from methodName in "".MethodNames()
      where methodName.Grep("index",RegexOptions.IgnoreCase)
      orderby methodName select methodName;

in C#

<comment><USER3> And an even simpler one:

      "".MethodNames().Where(m => m.Grep("index",RegexOptions.IgnoreCase)).OrderBy(m => m)

</comment></comment></comment><comment><USER4> "Hello world" must go away from all language examples.

It's irrelevant how complex doing hello world in Java is since no user actually cares about stuff visible in text mode starting a decade or more back.

Of course, Java won't win a brevity contest, but System.out.println isn't the best pick to demonstrate this.

<comment><AUTHOR> Well, that's why I went straight on to something else.

But anyway I can't agree that "no user actually cares about stuff visible in text mode". There is a very substantial community of programmers that don't like to use IDEs.

<comment><USER5> More importantly, embedding very much non-trivial code in the context of an essay like this is impractical. I don't want (or need) to see an entire application written in both Java and Ruby to get the point. Any code sample that can be reasonably inserted into the text without unduly breaking the flow is going to be simple; hello world is as good as any.

</comment></comment></comment><comment><USER6> Every time I see a reprog post, I get hungry from all those pictures of sushi.

<comment><AUTHOR> Heh heh, my plan is working :-)

Actually, there IS a plan, sort of. At first I just threw in the odd random picture so that the blog would look a bit more interesting than long blocks of text (one of the early posts has the Buffy cast in it); but I quickly found myself falling into the habit of using only sushi, because I liked the visual thematic unity that those pictures give me.

(The last photo in that particular article fills me with so much sushi-lust that I could hardly concentrate on the argument I was trying to make.)</comment></comment>


Demonstration: Use Google Translate as a proxy server - <AUTHOR> http://www.google.com/translate?sl=af&tl=en&u=http%3A%2F%2Fnews.ycombinator.org%2F&anno=2

<comment><USER2> Nice! Reminds me of the easy workaround for downloading Skype in various Skype-banned countries (UAE, Kuwait, other middle eastern countries): just download Google Pack: <http://pack.google.com/intl/en/pack_installer.html>

</comment><comment><USER3> This only works for GET requests, but it is useful if you need to make a quick couple of requests and don't want to look up a CGI proxy server.

</comment><comment><AUTHOR> Hmm ... this was ranked #7 on the HN homepage a few moments ago, and trending up ... but now it's disappeared.

Wonder what happened.

</comment><comment><USER4> This is why it's blocked by Websense.</comment>


Docker: insecure opening of file-descriptor allows privilege escalation - <AUTHOR> https://bugzilla.redhat.com/show_bug.cgi?id=1409531 <comment><USER2> I discovered the vulnerability, and I'm not entirely sure that Trevor Jay fully understands the issue (though to be fair, the easiest way of exploiting it is using ptrace(2) which is blocked by most default security policies). You don't need to use ptrace(2) or CAP_SYS_PTRACE to exploit the vulnerability.

You just need to have proc_fd_access_allowed(). I've not checked if ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS) calls into SELinux hooks (it probably does, and if it doesn't then resolving further files probably does too) but neither seccomp profiles (unless you're blocking open(2)) nor blocking CAP_SYS_PTRACE can help you here.

Now, the LXC exploit used ptrace in order to stop the process from closing its file descriptors. I'm not sure how you would reliably hit the race in this issue (something with SIGSTOP presumably?).

In any case, SUSE's update has additional fixes which also fix the issue even when you give a container CAP_SYS_PTRACE (the released patch does _not_ protect containers that have CAP_SYS_PTRACE enabled). The patches will be merged upstream ASAP, but Docker didn't want them in the patchset sent to its customers (preferring instead to update their vendored runC once they are merged upstream).

<comment><USER3> Sorry for not seeing your comment until now. Amazingly great vuln BTW. It's early in 2017, but this is probably going to be one of this year's best.

It's very important for everyone to understand my advice is RHEL/Fedora specific, which is---I think---the source of the misunderstanding here.

Putting aside `ptrace` being the best way to guarantee a race win, the reason for my focus on `CAP_SYS_PTRACE` is that with SELinux enabled there is no other way to exploit having access to the file descriptors. Even if you explicitly try to pass a containerized process an external file descriptor "legitimately" (e.g. with `sendmsg`) SELinux will still ultimately block the access due to the type restrictions. This means that with `setenforce 1` you need to use something like code injection to get the external process to access the file descriptors on your behalf.

<comment><USER2> > Sorry for not seeing your comment until now. Amazingly great vuln BTW. It's > early in 2017, but this is probably going to be one of this year's best.

Thanks. :D

> Putting aside `ptrace` being the best way to guarantee a race win, the > reason for my focus on `CAP_SYS_PTRACE` is that with SELinux enabled there > is no other way to exploit having access to the file descriptors. Even if > you explicitly try to pass a containerized process an external file > descriptor "legitimately" (e.g. with `sendmsg`) SELinux will still > ultimately block the access due to the type restrictions. This means that > with `setenforce 1` you need to use something like code injection to get the > external process to access the file descriptors on your behalf.

Ah okay, yeah I suspected that's what you meant (on _RHEL_ xyz is the case). Thanks for clarifying.

<comment><USER3> > [...] you meant (on _RHEL_ xyz is the case) [...] >

Totally on me. We fight against it, but it's hard not to have the implicit context of RHEL/Fed be omnipresent on the Red Hat bugzilla. In fact, when I wrote the comment in question I had just finished lighting my incense to the sīla of `systemd`... :)

Did not realize you were in Sydney. AU truly has the best hackers.

</comment></comment></comment></comment><comment><USER4> For those that won't open the link :)

Update by Trevor Jay:

"This is an extremely difficult to exploit flaw on standard RHEL and Fedora systems.

I checked the 1.10.3 and 1.12.5 builds on Brew. Both drop the `CAP_SYS_PTRACE` capability by default. 1.10.3 blacklists `ptrace` calls under the default seccomp profile. Thus, this flaw only comes into play for containers that already have elevated privileges.

Even if `ptrace` is available. The proposed exploit scenario of quickly attaching to a process joining the container space and using its file descriptors is _not_ possible under the default SELinux configuration. The containerized PID 1 will have a type of `container_t` or similar SELinux type and thus will be blocked by standard type enforcement from accessing accessing any resources that haven't already been made available to containerized processes."

<comment><USER5> Gotta love modern computing and defense in depth. Sometimes it actually really helps despite feeling like a hassle at times.

<comment><USER6> Every once in a while I'll say something along the lines of "Wouldn't it be nice if there was <describes SELinux>" or "wouldn't it be nice if you could <describes using strace>" etc. and get enthusiastic nods, disbelief or "if only" and have to break it to someone that they don't know what the hell they're doing and they simply overlooked a huge feature of their production platform.

</comment></comment></comment><comment><USER7> Oh good, yet another vulnerability from the model of retroactively changing the execution environment of a process after it's been created. We had a thread about setuid binaries a week ago, which is the most common case of this design: [https://news.ycombinator.com/item?id=13312722](https://news.ycombinator.com/item?id=13312722)

We would all be better off if we designed systems such that some helper process, already running with the right environment / config / privileges, spawns the process for you and proxies input/output to your terminal.

And (as I mentioned in the other thread) this helper process could be literally sshd. Instead of having sudo, ssh root@localhost. No weird process trees with confusing things like effective UIDs. Instead of having runc exec, ssh root@container. No file descriptors get passed that aren't explicitly forwarded over the SSH connection.

Patching sshd to run over UNIX sockets without encryption and to use getpeername() for authentication is left as an exercise to the reader.

<comment><USER8> How would you implement e.g. ping? I mean obviously you could have e.g. user accounts which were "sufficiently" locked down, but that seems like an even more likely source of problems.

<comment><USER9> Along with the aforementioned IPPROTO_ICMP; you can still use file capabilities(7) instead (or as well, in the case of older kernels):

# chmod 0711 /bin/ping # setcap CAP_NET_RAW=eip /bin/ping

<comment><USER7> File capabilities are certainly better than setuid, but they still have the same problem of elevating privileges in a potentially-attacker-controlled environment. If setuid ping has a vulnerability that lets you get root, CAP_NET_RAW ping would also have a vulnerability that lets you read all traffic into the machine and spoof packets from privileged ports or existing connections. That's an uncomfortably large amount of access, even if it isn't quite root.

</comment></comment></comment></comment><comment><USER10> CoreOS engineers started deploying patches across all channels for this CVE minutes after it was made public. More info here: [https://coreos.com/blog/cve-2016-9962.html](https://coreos.com/blog/cve-2016-9962.html)

</comment><comment><USER11> A fix for CVE-2016-9962 was released in Docker upstream 1.12.6 a couple of days ago.

[https://github.com/docker/docker/releases/tag/v1.12.6](https://github.com/docker/docker/releases/tag/v1.12.6)

</comment><comment><USER12> is there a poc? would love to see a walkthrough</comment>


Cryptocurrencies Aren't 'Crypto' - <AUTHOR> https://motherboard.vice.com/en_us/article/43nk9b/cryptocurrency-are-not-crypto-bitcoin <comment><USER2> The basic idea is that cryptographic functions rather than state-sanctioned violence are used to secure the funds.

</comment><comment><USER3> sure they are, they're very much applications of cryptography, or "crypto". I think this article really means to say that "crypto" isn't just "cryptocurrencies".

btw, a lot of what's called "cryptocurrency" is actually more interesting and complex than just money/currency. some of these applications are focused on gathering and safely encoding consensus from groups of people, using cryptography. that's very _crypto_ if you ask me!

</comment><comment><USER4> Who cares. Same words are used in different contexts with different meanings.

<comment><USER5> It can be a bit confusing when the context hasn't first been set-- such as in the titles of links on hn

</comment></comment><comment><USER6> "Most cryptocurrency barely has anything to do with serious cryptography," Matthew Green, a renowned computer scientist who studies cryptography, told me via email. "Aside from the trivial use of digital signatures and hash functions, it's a stupid name."

Trivial use upon which the whole fabric of secure communications is built. Go read a book.

<comment><USER7> Are you suggesting we start calling secure comms crypto as well?

<comment><USER6> Secure Comms is already a short name that describes how they work. I fail to see why Crypto is a bad abbreviation for commodities that are based on cryptographically signed and cryptographically verified blocks. Just because the parthenon only uses a small amount of mathematics doesn't mean it's "not a geometric structure" \-- it's in math books. I feel like Vice could be picking a better fight than "let's split hairs on jargon" especially when the word crypto is not going anywhere. How about this: Vice news isn't really "Vice"</comment></comment></comment>


Suit: Man held 20 hours after asking to file TSA complaint - <AUTHOR> http://wtop.com/lifestyle/2015/02/suit-man-held-20-hours-after-asking-to-file-tsa-complaint/ <comment><USER2> A watch and power bars wrapped in a PVC pipe. Not related to his case, but that is just hilarious. I mean if you wanted to simulate a time bomb, is there really a better way? Well you would want metal instead of PVC, but still.

<comment><USER3> I knew someone a while back who got suspended from school for taping a solar calculator to a couple of empty toilet paper tubes. Same principal later suspended a group of kids for wearing black. Because Satan.

</comment></comment><comment><USER4> People just need to chill out. TSA folks are not necessarily the brightest bunch, but getting angry with them just doesn't end well-- especially if that includes jokes/sarcasm/provocative statements involving bombs. THis person must have a lot of free time to pursue a lawsuit.

<comment><AUTHOR> There's no evidence that he did any of that, and the surveillance tape doesn't show any alarming behavior. Free time? If you were locked up for 20 hours with no contact with the outside world, with your wife wondering if you were alive, would you just blow it off?</comment></comment>


Homeworld 3 Crowdfunding - <AUTHOR> https://www.fig.co/campaigns/homeworld3?media_id=i1537 <comment><USER2> Not really crowdfunding if the goal is $1, is it? It's more like pre-ordering that happens to be run though Fig.

Nevertheless, I'm delighted to see someone taking on the risk of trying to create a new installment in the Homeworld franchise; hopefully they'll make something good.

</comment><comment><USER3> I find large companies like Gearbox using crowdfunding sites like Fig to be... suspicious.</comment>


Do you use web frameworks in Go? - <AUTHOR> As per this blog post, http://bit.ly/1oxZLMD, do you usually use a web framework in Go? Or do you rather use packages? <comment><USER2> I write my small web applications using the Gin framework, I feel no shame in this, but I partially agree with the link you shared.

But, quite frankly:

\- I like that gin does some of the work for me.

\- I like that I have to write a bit less code, while basically keeping all of the semantic

\- I like that I can access the Request and ResponseWriter structs via the gin.Context struct.

I dislike (or opinions I share):

\- Well yes, sometime things break and you have to a bit more time on the problem

\- Sometimes new features come out and you will have to wait for or framework developers, or even patch it yourself (all things that actually keep you from writing your code)

\- Sometimes development of the framework take a path you just don't like.

\- Sometime you find that things could just be done better, but developers disagree and you can't fix this problem without forking and ending up with ANOTHER micro-framework.

In the end, I am still okay with going with the gin framework.

I feel no special love for gin, but it is okay.

What I would really, really love is something like Grails (in terms of development speed), but in Go.

</comment><comment><USER3> Direct link: [https://medium.com/code-zen/why-i-don-t-use-go-web- framework...](https://medium.com/code-zen/why-i-don-t-use-go-web- frameworks-1087e1facfa4?source=latest---)</comment>


Trees in SQL - <AUTHOR> http://www.intelligententerprise.com/001020/celko1_1.jhtml;jsessionid=3DFR02341QLDEQSNDLRSKHSCJUNN2JVN?_requestid=32818

<comment><USER2> The problem with the nested sets is that changing the tree can be slow. You need to update all the nodes with right/left pairs after the insertion/deletion point. There are two more methods which can be of interest and don't suffer from this problem: "Materialized path model" (which uses strings to encode the whole path to a node) and the "nested intervals tree encoding" (which could be the ideal solution if someone manages to implement it. I couldn't find a decent implementation): <http://arxiv.org/ftp/cs/papers/0402/0402051.pdf>

</comment><comment><USER3> very cool. An interesting method for flattening trees.</comment>


The Bill to Permanently Fix Health Care for All - <AUTHOR> https://market-ticker.org/akcs-www?post=231949 <comment><USER2> Eh, they are assuming it's broken as if it was somebody not competent that made it this way.

The current state is intended and legally voted and brought there.

Don't vote for whoever is bribed by the healthcare lobby, otherwise nothing short of revolution will change it.</comment>


Silicon Valley Companies Map - <AUTHOR> https://employbl.com/blog/silicon-valley-companies-map <comment><AUTHOR> If anyone's interested in the raw csv data for this companies map I'll share it here :) [https://github.com/connor11528/tech-companies-bay- area](https://github.com/connor11528/tech-companies-bay-area)</comment>


Behind the Buzz: How Ketamine Changes the Depressed Patient's Brain - <AUTHOR> https://www.scientificamerican.com/article/behind-the-buzz-how-ketamine-changes-the-depressed-patients-brain/ <comment><USER2> I am surprised that the piece does not mention last year's finding that the anti depressive effects may be linked to the opioid system:

[https://med.stanford.edu/news/all-news/2018/08/ketamines- ant...](https://med.stanford.edu/news/all-news/2018/08/ketamines- antidepressive-effects-tied-to-opioid-system-in-brain.html)

The linked scientific American piece only mentions the glutamate system.

Does anyone know whether the opioid link ended up being valid?

<comment><USER3> The short answer is that no one knows. It's likely we won't know for a long time.

As for this study, a side-effect of naltrexone is depression. That would seem to me to make it unsuitable to use in a study with ketamine.

Relevant:

Caution Against Overinterpreting Opiate Receptor Stimulation as Mediating Antidepressant Effects of Ketamine

[https://www.ncbi.nlm.nih.gov/pubmed/30818991](https://www.ncbi.nlm.nih.gov/pubmed/30818991) [https://sci-hub.tw/10.1176/appi.ajp.2018.18091061r](https://sci- hub.tw/10.1176/appi.ajp.2018.18091061r)

</comment></comment><comment><USER4> Ketamine is an NMDA antagonist, and there are other drugs in this class being developed as antidepressants. AXS-05 was granted "breakthrough therapy" status by the FDA and combines the NDRI bupropion with dextromethorphan which has effects similar to ketamine's. We really are in exciting times for antidepressants.

<comment><USER5> > dextromethorphan

Cough medicine? I'm astonished. I guess kids drinking NyQuil weren't just doing it for the alcohol.

<comment><USER6> When I was younger, I've done dextromethorphan quite a bit, and while I was mostly doing it for the dissociative effect, it always had the side effect of lifting my mood for a couple of weeks afterwards

</comment></comment></comment><comment><USER7> I wish I could feel what others feel when they try a certain drug. I've taken ketamine recreationally and I mostly just feel a numbing sensation similar to having a couple drinks that wears off fairly quickly. I don't totally get the appeal as a party drug from that perspective.

<comment><USER8> I did professional ketamine treatments twice. The first session was over four weeks, with weekly injections given for an hour each session.

It helped tremendously for about 4 months. Then my depression kicked in again, and I enrolled again. This second round I cut off after only two sessions. It was too intense. The first one was exciting and psychedelic. The second was psychedelic but... uncomfortable? It's hard to describe. I didn't enjoy it, and stopped after only two.

I can see the possibilities for it, and it did help, if only for a while. But that brief respite from the constant "you're a shit, James, no one loves you and they never will," that voice was silenced for a while.

And it was heaven.

<comment><USER9> I know this sounds strange, but recently I ended up with a prescription for Suboxone, and it has completely cured me of lifelong debilitating depression. I really hope more research is being done. Within the span of one year my career has gone from being on the rocks to skyrocketing success, all because the crushing weight of depression has been lifted from my shoulders. YMMV.

<comment><USER10> Yeah, it didn't work for my wife :-(. We were hopeful.

</comment></comment></comment></comment><comment><USER3> Zarate is quoted in the article and is one of the authors of Ketamine for Treatment Resistant Depression. A great book that will give you quite a bit of background.

I take ketamine with a prescription at home. If anyone here knows someone who is going to an IV clinic I can give out my doctor's information. He's taking new patients and is okay with me giving out his e-mail.

When you're depressed it's easy to overlook the financial implications of spending $500 for an IV. And then you end up in financial trouble. I tried to contact Brooke, but I think I may have been too late...

[https://www.ketamineadvocacynetwork.org/forums/topic/despera...](https://www.ketamineadvocacynetwork.org/forums/topic/desperately- need-intranasal-doc/)

<comment><USER11> What form do you take the drug? IV? Powder?

Could you please describe the process and the dosage?

<comment><USER12> I take 50mg weekly, insnuflation, but suddenly considering sublingual. It's rid me of a lifetime of persistent ideation that had become a daily burden. It seems like I need way less than clinics give people

<comment><USER7> 250mg seems exceptionally high (in reference to the OP's response below). The esketamine nasal spray that was just approved contains only 28mg per dose (1-2x/week). I don't know if that's because you need more if you take it sublingually. Snorting/nasal is almost certainly the most efficient/most effective way to take it.

<comment><USER3> 1) The different ROAs have different bioavailability.

2) Ketamine is cheap. Convenience should be prioritized over efficiency.

<comment><USER12> It's not just about the expense, ketamine can damage liver and kidneys, and reduce iron uptake. Efficiency, in this case, is more about harm reduction than expense

<comment><USER3> I've read some of the most important papers and books and have never come across this. Please post a source.

Depression is a very serious illness and ketamine is a very safe drug. We need to give people more options.</comment></comment></comment></comment></comment></comment></comment>


Linux Containers on Windows - <AUTHOR> https://blog.docker.com/2017/09/preview-linux-containers-on-windows/ <comment><USER2> The naming keeps getting more confusing. Docker for Mac was a virtual machine containing Linux instead of Docker containers for OS X. Now Docker's Linux Containers on Windows is "Docker for Mac" like setup on Windows, instead of the nominally implied LXC.</comment>


9-year-old Autistic Social Entrepreneur - <AUTHOR> http://www.dailygood.org/view.php?sid=198

<comment><USER2> As the parent of an autistic child, I think this story is great. However, I do wish reporters would differentiate Asperger's, high functioning and low functioning. There is so much mis-information out there, as well as parents in tailspin mode--grasping at straws and trying to cope. When an article quotes an autistic child, ranting off sentences of cogent speech and coherent thoughts, it doesn't accurately represent what autism is and how it effects a child. Clearly, this child is very high functioning.

That being said, it's an amazing story. Best of luck and I look forward to seeing Kent's at my local 7-11.</comment>


Ask HN: Women in Silicon Valley - <AUTHOR>

I read that the total number of woman living in silicon valley is extremely low compared to the total number of man living in silicon valley. And that woman account for less than 10 percent of the total number of board directors in the valley. What can we do about that?! (well, at least there is one advantage: as a startup you won't have to waste your time on visiting hundreds of Weddings every month :-)) <comment><AUTHOR> Haha!! Well, me too! But I think more women need to be inspired to do the same! Would be a fun challenge!

</comment><comment><USER2> Break out and start your own company? That's what I'm working on.</comment>


Straight: An Open-Source Bitcoin Payment Gateway - <AUTHOR> http://straight.romansnitko.com/

<comment><USER2> This is a great project, and I really like where it's going. I'm glad you're upfront about bootstrapping this project using third party services, but even more happy that you've architected this in a way where removing those third party dependancies will not be a problem. That's going to be killer for a gateway like this.

</comment><comment><USER3> Guys, with cointopay.com we allow you to run your own altcoin node and use that to accept payments. Just found this initiative, this is great and we want to contribute for a solution that takes out the middleman. In someway Cointopay is also a middleman, but at least our mindset is the correct one regarding decentralization, hence we want to help.

@romansnitko, can you add me to skype: spunxz

</comment><comment><USER4> It might be installed on your server, but it's relying on a heavily centralized service (blockchain.info) that is frequently down for many hours at a time. Even worse you're giving them information about every payment you process, and giving them an opportunity to feed you falsified data whenever they feel like it. I'm not sure this is at all what we should be encouraging in the interests of safety and decentralization.

<comment><USER5> So, first of all, Straight currently uses two blockchain adapters, one for Blockchain.info and another one for Helloblock.io. If one is down, it will automatically switch to another one. I will be adding more adapters in the future. It will also be possible to implement a cross check where if one service is lying about a transaction, I can check with another.

More importantly, I will add a bitcoind adapter for those willing to store blockchain on their server and not trust any third party service.

To sum it up, there is nothing in the architecture of this software that says you should rely on third party services to query the blockchain.

<comment><USER4> > It will also be possible to implement a cross check where if one service is > lying about a transaction, I can check with another.

That just means you're leaking all of your payment details to multiple parties instead of one, makes you dependent on the uptime of two different services at once, and doubles the number of outgoing requests.

> More importantly, I will add a bitcoind adapter for those willing to store > blockchain on their server and not trust any third party service.

I'm not sure how you intend to accomplish this, bitcoind doesn't have an interfaces or the indexes to do arbitrary "address balance" (addresses do not have balances!) lookups like your blockchain.info adapter expects. You'll have to built your own indexes from the raw block data, or implement an SPV node, or some other such mess.

<comment><USER5> I think Bitpay recently released an opensource library (haven't looked into it yet) that accomplishes just that. So I will probably take a look at it first.

As for leaking the data, I'm not sure about you mean. What adapters do is, they simply check addresses and transactions. How does that qualify as leaking? Straight doesn't tell Blockchain.info or Helloblock.info how much money is expected, nor does it tell them who made the payment and which store expects it.

<comment><USER4> > I think Bitpay recently released an opensource library (haven't looked into > it yet) that accomplishes just that. So I will probably take a look at it > first.

This requires 70GB of leveldb indexes on disk, as well as the 30GB block chain, but is a better solution if you can spare the disk space and CPU time. Else an lite client can be made to be very light weight for a situation like this, around 75MB on disk all told.

> Straight doesn't tell Blockchain.info or Helloblock.info how much money is > expected, nor does it tell them who made the payment and which store expects > it.

Sure it does. It marks all of the "address balances" you query with payments received by your service. You're making a request to an unused address moments before it will be receiving a payment from another party, proof that particular IP address is the receiver. As soon as you have a marker like that you can begin exposing the customers involved much more easily.

<comment><USER5> Well, yes, I agree then, it does leak. I still think this is way way way better than using Coinbase or Bitpay. There's really no other alternative right now when it comes to accepting Bitcoin payments. I think, given enough effort, we can make Straight more secure and private and leak less data, but fundamentally, it looks like privacy vs convenience may always be a trade off, at least to a certain extent.

If you have any ideas how to improve it, I'll be happy to listen.

<comment><USER4> There are others, actually.

[https://github.com/slickage/baron](https://github.com/slickage/baron)

Doesn't rely on Blockchain.info either :)</comment></comment></comment></comment></comment></comment></comment>


Report Says Stanford Is First University to Raise $1 Billion in a Single Year - <AUTHOR> http://www.nytimes.com/2013/02/21/education/stanfords-fund-raising-topped-1-billion-in-2012.html?hpw&_r=0

<comment><USER2> Why is this surprising? College tuition rates are rising so fast that a university would have to squander its resources to be in the red.

Source: [http://inflationdata.com/Inflation/Inflation_Articles/Educat...](http://inflationdata.com/Inflation/Inflation_Articles/Education_Inflation.asp)

According to the above, since 1985, while average expenses have risen by about 115%, college tuition has risen by almost 500%. Pretty soon college costs will pass a critical threshold -- the cost of a degree simply won't pay for itself in the world of jobs.

But it gets worse -- it turns out many college students aren't learning anything:

Source: [http://www.ssrc.org/publications/view/985FB16E-4023-E011-ADE...](http://www.ssrc.org/publications/view/985FB16E-4023-E011-ADEF-001CC477EC84/)

Quote: "According to their analysis of more than 2,300 undergraduates at twenty-four institutions, 45 percent of these students demonstrate no significant improvement in a range of skills—including critical thinking, complex reasoning, and writing—during their first two years of college."

For those students, college is a very expensive, pointless activity.</comment>


Before you condemn Apple again... - wells-riley http://blog.wells.ee/before-you-condemn-apple-again

<comment><AUTHOR> So basically, before you condemn Apple, remember all the good ads they had before? All the ads they had with a real point, showing something that was clear to the viewer?

The reason Apple is being condemned right now is because this ad _isn't_ a Think Different ad. It isn't a Here's to the Crazy Ones. It isn't a Mac vs PC. It's not memorable, it's not unique, it's not defining a culture. It's simply an ad. That's very un-Apple.

Maybe before you defend Apple again, make sure they have a defensible position. "They had good ads in the past" is a non sequitur, and honestly if your argument is "yeah it's not good, but let's just forget about it", you might not be thinking clearly.

<comment><USER2> No, the opposite. Before you condemn Apple, remember that bad ads are nothing new for them.

You should read these things before you comment on them.

<comment><AUTHOR> Did you read it? No where does the author say "Apple makes bad ads". He said Jobs made cheesy, empty ads. "Genius" isn't a cheesy, empty ad. It's just bad. In an article that starts with "Apple makes great ads", continues onto "everyone else makes poor ads", reaches a conclusion of "Apple hasn't made a bad ad since the G4 and Powerbook were hot" and finishes with "Apple's advertising is getting worse, but you can't blame them for that", the last thing on my mind at the end was "Apple always has bad advertising". Because in the last 5-10 years, that just hasn't been true.

</comment></comment></comment><comment><USER2> Nit: "marketing" is not a synonym for "advertising". Advertising is part of promotion, which is in turn part of marketing, but it is not the most important part of marketing (normally, that's pricing and market segmentation).

Steve Jobs was, by all appearances, a master marketer across the board. But Chiat\Day didn't do much of Apple's marketing work.</comment>


Iran dumps Flight 752 investigator, airspace open to conceal 'imminent' attack - <AUTHOR> https://www.cbc.ca/news/politics/audio-recording-iran-lead-investigator-flight-ps752-1.5636450 <comment><USER2> This doesn't make sense to me - it wasn't a secret that iran might do something in retaliation, and if i remember right, they gave advanced notice to iraq about their balistic missiles (which surely leaked to usa). I'm not sure what they would actually conceal by doing this.

<comment><USER3> Specific timing?

<comment><USER2> I'm not sure how - the misile strike happened before the passenger plane was shot down. You can't hide the timing after the event happened.

<comment><AUTHOR> Yeah, but I assume if Iran suddenly closed their airspace, it would give Iraq/US forces a pretty big signal the attack is imminent.

The US could preemptively attack Iranian bases.

</comment></comment></comment></comment><comment><USER4> This title is entirely nonsensical.

</comment><comment><USER5> So Canada has a recording of a guy who was not responsible for the situation on the day the downing happened, making a "What if we had done X" speculation - in the form of a question.

The title of the post here is quite misleading.</comment>


Trust the engineers – don't put bugs on your roadmap - <AUTHOR> http://blog.aha.io/index.php/trust-the-engineers-dont-put-bugs-on-your-roadmap/

<comment><USER2> Trust is an essential part of any relationship. No bugs on my roadmap.</comment>


3D Traceroute - <AUTHOR> http://www.d3tr.de/

<comment><USER2> That looks nice, but in my experience it's not likely that you'll have access to a GUI when you're in need of running traceroutes.

I've recently switched to mtr

<http://en.wikipedia.org/wiki/MTR_%28software%29>

</comment><comment><USER3> Sort of neat, but doesn't look very useful.

I have to admit, I was expecting a 3D globe view that displayed geographically the intermediate nodes and end point.

It would have also been cool if it showed when it hopped onto the major trunks.

</comment><comment><USER4> When I first used Traceroute, I knew exactly what I was looking at and what it meant.

This... I don't have any idea what the data actually means.

<comment><USER5> At a glance it was easy for me, without even seeing the labels, to understand X was hops, Y was RTT and Z was the attempt number.

<comment><USER6> But every hop is also a new attempt... and any variance for a hop could also be encoded using error bars.

<comment><USER5> I didn't say it was a good visualization, just that its not hard to understand what they're trying to convey.</comment></comment></comment></comment>


How do you implement agile in the non-tech sector? - <AUTHOR> https://medium.com/orgzit/overcoming-the-agile-dilemma-of-non-tech-companies-the-orgzit-way-dddfd1a6236b <comment><AUTHOR> It's been sixteen years since the Agile Manifesto proclaimed its set of principles

The tech industry has been implementing it thoroughly, but what about the non- tech sector?

Let's see!</comment>


PiDP-11: Recreating the PDP-11/70 - <AUTHOR> http://obsolescence.wixsite.com/obsolescence/pidp-11 <comment><USER2> It's funny to see the nostalgia for that when I know people of the time who went to great lengths to get rid of the clunky bit interface. My dad built a pdp-11/34 and replaced the bit interface with a numeric keypad and some 7 segment displays. You still had to enter bootstrap code but you at least didn't have to do it bitwise!

Later he built an 11/70 and replaced the whole front console with a bootstrap terminal (with custom CRT driver if I remember correctly—ie, not off the shelf). That one you just had to hit the "boot" key and it would load the bootstrap code and do everything for you.

<comment><USER3> It just goes to say that current systems lack something. We cannot always put the finger on what it is and backtrack to where we think times were better. Using these machines is the closest real thing to going back in time.

I can see this with both powered systems like Symbolics LM or with smaller ones like PDP11, Spectrum, C64 or others: we lack the context in which they existed. We cannot bring them back today and use them as primary systems because we don't have the context that need those machines. They are doomed to be played a little and to be sent back to attic.

Current systems lack the context of the old times and old machines are frozen in a time that is not fit to today's needs.

<comment><USER4> It depends on how far into the past you want to go.

Not so long ago, my desktop was an IBM PowerPC running AIX with most (if not all) the heavy lifting being done on a laptop (that lacked a 2048x1576 22" CRT screen and a model M keyboard).

With X and an ethernet port, it was a perfectly usable machine, provided I logged on to the "server" on the other desk.

One of the projects I will do one day (no time now, sorry) is a board for Apple II's that would take over the bus and use the text mode and keyboard as the console of a Raspberry Pi-like board. It's perfectly doable to take over the 1 MHz bus and use the compute as Z-80 boards used to.

OK. That's not exactly usable as a work machine (not nearly as usable as the IBM, at least), but it'd be incredibly cool to be able to use a //e Platinum to work. Even if for a short while.

The exercise of traveling back in time is often not as much as to use the machines for actual work, but to experience them as tools to learn about the context where they existed - the time we had manuals printed in paper, where we would debug (and edit) programs on printouts on wide carriage paper with green bars - to (re)learn the lessons others learned before us that we can still benefit from.

</comment></comment></comment><comment><USER5> After I graduated, I built a PDP-11/70 replacement in FPGA to replace the controllers of old nuclear reactors. We designed it to be a fully compatible hardware drop-in replacement passing the full suite of tests with exactly accurate fault results. This included properly ordering floating point unit errors followed by a stack error -- due to pipelining the FPU error is supposed to be caught after the stack error. Additionally no other emulator exactly produced the same partial results of a division failing with an overflow.

<comment><USER4> How hard would it be to compile the HDL into C that could run in an emulator?

A couple years back I was looking into MESS code and observing how ordered it is and how much work would it be to do the reverse - starting from known modules (CPUs, CRTCs, etc) to compile it into an HDL.

</comment></comment><comment><USER6> My old college machine! Brings back memories of all the hacks it took to get anything useful written in 64K.

I knew it was history when I was in Los Alamos at a surplus store in the 90's, and they had one _out in the rain in the parking log_. Not even worth dragging under cover.

<comment><USER7> We got one for free from the Nikhef, the Dutch particle research center. Took forever to get it reassembled because it got banged around too much in transport but once it worked it was pretty neat. It came with a very good PCB routing and placement package, as well as a tablet and a graphics terminal.

</comment></comment><comment><USER8> You can get Empire ([http://classicempire.com](http://classicempire.com))

for the PDP-11 here:

[https://github.com/DigitalMars/Empire-for- PDP-11](https://github.com/DigitalMars/Empire-for-PDP-11)

<comment><USER8> I rue the day when I gave away my H-11. It's the background pic on my twitter account:

[https://twitter.com/WalterBright](https://twitter.com/WalterBright)

</comment></comment><comment><USER7> That's got to be one of the coolest RasPi cases in existence. And at $250 it may seem a bit steep but with the volume they made and the amount of time put in it is actually a steal.

<comment><USER9> Would love to build one, but with shipping and customs fees it's going to be almost $400 sent to Europe. Maybe someone will come up with one I can 3D print?

<comment><USER10> Even at that cost getting it to the UK I'm ridiculously tempted.

Funny thing psychology, I wont pay $1k for a phone, but $400 for a RaspPi case, thinking about it... :)

</comment></comment></comment><comment><USER11> I'd find this a whole lot more interesting if it was a real PDP-11 implementation.

<comment><USER12> It works with an FPGA based PDP-11 emulator as well: [http://pdp2011.sytse.net/wordpress/things-are- moving/](http://pdp2011.sytse.net/wordpress/things-are-moving/)

</comment></comment><comment><USER13> I made something similar on a smaller budget, see jonatron.me . It's nowhere near as nice looking though. And you'd have to use a different emulator to make it do more than a couple of basic blinking light test programs

</comment><comment><USER14> I've always wondered, what _are_ those large groovy switches on the front?

They're just numbered with integers [0..21, colored in groups of 3 presumably for octal]! are they seriously for bit flipping??

<comment><USER15> 21 bits ... allows front panel access to more than the 16 bits of the machine registers. smokin'!

<comment><USER16> The /70 had a 22-bit address bus, so I assume that switches 16-21 didn't have any effect unless you were entering a memory address.

<comment><USER17> I read something that said Ken Olsen found these switches on an old model washing machine and thought they would be great on the PDP machines.

<comment><USER17> I think it might have been the 1957 Philco-Bendix Duomatic washer/dryer front switches that inspired the PDP-11 panel.

</comment></comment></comment></comment></comment><comment><USER18> Give me this and anything close to an LA-32 paper terminal and I'd be in nostalgia heaven.

</comment><comment><USER15> To use this do we have to put in the bootstrap sequence with the switches? :-)

<comment><USER19> Don't worry, the bootstrap code is muscle memory after a week or two of booting the system.

<comment><USER20> so true

</comment></comment></comment><comment><USER21> I have an almost complete set of /70 parts in the closet, but no front panel. By the time I started buying parts people had realized the panels looked cool and were paying high $$ for them to make wall-art!

</comment><comment><USER22> I actually built this kit recently. I'm now gradually building a collection of these front-panel-simulation machines. (Last year, I built his PiDP-8 kit.)

<comment><USER23> I'm only familiar with the altairduino, which works pretty well on my desk.

If you know of any other than those three, please post?

I think an IBM 1130 would be totally achievable and fun. A 360/91 might be a little optimistic. You can clearly see the influence on Star Trek original series in something like a 7090; someone who doesn't know retrocomputing would probably accuse a 7090 as being a trek prop.

<comment><USER22> I actually have an Altairduino kit sitting in my closet, waiting for me to get around to building it. :-)

So far, these are the only three kits I'm aware of.

At VCF-West for the past year or two, the Computer History Museum (in Mountain View, CA) has been showing off a similar project they've been working on with an IBM 1620 Jr front panel. However, that's definitely not something you'd make a kit out of. But, as part of it, they've figured out how to convert a modern'ish electronic typewriter into a teletype.

</comment></comment></comment><comment><USER24> uMatrix has a horrible time with the crazy amount of bits and pieces to be temporarily approved for wix sites.

Not that I need to dive into 11/70 trivia... played around on them when my dad worked in Maynard, had front panel banks as rocket ship controls etc laying around the house. (Good times when your parent is on the bus test group and helping out on weekends :)</comment>


WebRTC Chat on IPFS - <AUTHOR> https://ipfs.io/ipfs/QmNURh26yenpqK5hK3ahRZhQJsaUttumepjtRWiVZXhnN1/p/webrtc-ipfs-chat.html <comment><USER3> > That means the "servers" hosting it are distributed across a wide network.

This is a strange way of saying "you're looking at this site through one centralised server hosted at ipfs.io".

Don't get me wrong, IPFS is great. I have released an application that works over IPFS. But I don't think obscuring the difference between a gateway and a node is beneficial. I think the difference needs to be highlighted front and centre, at least until we reach a point where every user is running an IPFS node without realising it.

<comment><USER4> _> This is a strange way of saying "you're looking at this site through one centralised server hosted at ipfs.io"._

No, your rephrasing is completely orthogonal to what they're saying. Both are true. Seems like dishonest nitpicking to me to say that they obscure the difference between a gateway and a node.

<comment><USER5> Besides, aren't all nodes basically a gateway? Ie, a gateway is effectively just a readonly node on an accessible IP. Any node could be this if not bound the local net.

<comment><USER6> sure, but practically probably not, because you would need a domain and a easy way to update it + a cert + thats assuming you are not behind some sort of a NAT and have your own IP.

<comment><USER4> You don't need a certificate and a domain to run a gateway. For a public gateway, sure, that's desirable (though not strictly required), but for a private gateway (that most nodes are probably running anyway) you really don't need any of that. At home I can just go to [http://localhost:[someport]/ipfs/[somehash]](http://localhost:\[someport\]/ipfs/\[somehash\]). With browser plugins you can also translate ipfs.io gateway URLs to your local gateway.

<comment><USER6> im talking about somebody that does not run a node accessing it via "old internet", im assuming the OP has this in mind with his comment

<comment><USER5> Well I was replying in the context of someone saying there is a meaningful difference to a gateway vs a node. If you access content via a gateway, your content is hosted by IPFS. The _content_ gains all the benefits of IPFS, but you, the viewer, do not. However, if the IPFS Gateway works, ie it isn't throttling/blocked/etc, then you still get the content. I'm struggling to find a meaningful difference, is what I mean.

Now if _everyone_ accessed the content via a gateway, then sure - <USER2> undermines the point of IPFS. But a gateway isn't inherently bad, nor is it worse in most respects than a local node - at least, to my understanding.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> > To that end, this demonstration requires you to transfer your offering using > some other means, like an email or instant message.

While I appreciate the effort that went involved, the effort is identical to serving the app over S3. Without solving this problem with something like IPFS pubsub, there's nothing IPFS-specific about this. It's the hosting for a webapp and a use of browser-based code.

In short, this isn't WebRTC over IPFS.

</comment><comment><USER8> I wanted to write that there is another similar project based on Beaker Browser (P2P) browser, that uses dat protocol and direct streaming to another browser... but I can't find it.

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

<comment><USER9> I never understood how Beaker browser can act as a server listening on a port. It sounds like you always need relays on the internet because your router and ISP is gonna block all ports unless requested not to.

Read this: [https://www.scuttlebutt.nz/stories/design-challenge-avoid- ce...](https://www.scuttlebutt.nz/stories/design-challenge-avoid- centralization-and-singletons.html)

<comment><USER10> Beaker doesn't act as a server, it uses Dat, which is very similar to SSB and IPFS. [https://datprotocol.com](https://datprotocol.com)

Responding to GP, you probably mean [https://github.com/cabal- club/](https://github.com/cabal-club/), which is a WIP and relies on some new protocol features not in Beaker yet, but usable in the CLI as I understand it

</comment></comment></comment><comment><USER11> > We can't expect each client to have an ipfs client installed.

Couldn't they serve [js-ipfs]([https://github.com/ipfs/js- ipfs](https://github.com/ipfs/js-ipfs))?

AFAIK that would make every user of the web app run an IPFS node.

<comment><USER12> This was very interesting, but sadly: [https://github.com/ipfs/js- ipfs/tree/master/examples/exchang...](https://github.com/ipfs/js- ipfs/tree/master/examples/exchange-files-in-browser)

> Note: As email@example.com currently doesn't support DHT peer discovery, the > peer from which you are fetching data should be within the reach (local or > in public IP) of the browser node.

The PR to implement DHT has been languishing since May 2017: [https://github.com/ipfs/js-ipfs/pull/856/files](https://github.com/ipfs/js- ipfs/pull/856/files)

<comment><USER11> > The PR to implement DHT has been languishing since May 2017: > [https://github.com/ipfs/js-ipfs/pull/856/files](https://github.com/ipfs/js- > ipfs/pull/856/files)

But it just received an update 4 days ago! :)

</comment></comment></comment><comment><USER13> What is used as STUN-Server for WebRtc?

<comment><USER14> The post makes it sound like it's a copy of [https://github.com/cjb/serverless-webrtc](https://github.com/cjb/serverless- webrtc) uploaded to IPFS; examining the code [1] shows that '126.96.36.199' is hardcoded for STUN.

This was seemingly set up by Wesley Dawson [2] at Mozilla in 2013, at which point it was an EC2 machine in AWS us-east-1. It subsequently made it into various gists and projects as a public STUN server.

Later in 2013 Mozilla changed over to using a hostname in Firefox instead [3], and much later Firefox 41 removed [4] Mozilla's STUN servers from being defaults.

I'm not sure how one would go about confirming that this service is still pro bono and not malicious, and whether it's likely to stick around in the future.

[1] [https://github.com/cjb/serverless- webrtc/blob/master/js/serv...](https://github.com/cjb/serverless- webrtc/blob/master/js/serverless-webrtc.js) [2] [https://bugzilla.mozilla.org/show_bug.cgi?id=807494](https://bugzilla.mozilla.org/show_bug.cgi?id=807494) [3] [https://bugzilla.mozilla.org/show_bug.cgi?id=920991](https://bugzilla.mozilla.org/show_bug.cgi?id=920991) [4] [https://bugzilla.mozilla.org/show_bug.cgi?id=1143827](https://bugzilla.mozilla.org/show_bug.cgi?id=1143827)

<comment><USER13> Thanks for that informative answer.

So we have a serverless web-chat with a stun-server that might go offline at any time.

I don't know a solution to do the chat really serverless. One option would be to use ethereums whisper, so we can use all eth-nodes to handle the webrtc- connection. This would not be 'really' serverless but at least surely work for a long time.

<comment><USER15> Ethereum is trying to be a lot of things and has some pretty severe architectural problems. I bet the Mozilla stun server lasts longer.

</comment></comment></comment></comment><comment><USER16> How did "Serverless" become the term for things hosted on servers all over the place?

And we already had DHT before serverless became a thing... _sigh_

</comment><comment><USER17> i get an empty offer to copy and the following js error: Error adding stream to pc1: NotFoundError: The object can not be found here. (FF + local ipfs gateway)

<comment><AUTHOR> I had to wait for a long time for the offer to show up. Post issues here! [https://github.com/cjb/serverless- webrtc/issues](https://github.com/cjb/serverless-webrtc/issues)

</comment></comment><comment><AUTHOR> Please do head over to [https://github.com/cjb/serverless- webrtc](https://github.com/cjb/serverless-webrtc) to make issues and PRs! The most painstaking part for me is how long it takes to get the offer in the first place without a useful dialog.

</comment><comment><USER18> This has potential. In peer brokering at scale, its the individual state of each peer that has to be mediated. The classic "LimeWire" problem. Just wondering as a peer, how much of my metadata gets leaked? Simply determining when or where I am chatting may be enough to de-anonymize me ;)

<comment><USER9> Compare to SAFE Network, which may be far more secure but also never seems to launch their alpha :)

[https://maidsafe.net/docs/Safe%20Network%20Primer.pdf](https://maidsafe.net/docs/Safe%20Network%20Primer.pdf)

</comment></comment><comment><USER6> the problem is signaling, i wanted to use ethereum for signaling but there is to much back and forth to establish a connection for it to be viable.

</comment><comment><USER19> As a browser author, are there any alternate implementations of WebRTC besides the one all of the browsers use?

From my research I was kind of shocked that the answer might be no.

<comment><USER20> A few, e.g. [https://github.com/EricssonResearch/openwebrtc](https://github.com/EricssonResearch/openwebrtc)

Surprisingly large amount of dependencies in a conforming implementation. (e.g. SCTP for datachannels!)

<comment><USER21> Also it seems to have been decided that you have to use SCTP-in-UDP (RFC 6951) in order to get though firewalls, which is only implemented in FreeBSD so far, so an implementation will include a userspace SCTP library even if the operating system has it in the kernel as well.

</comment></comment></comment><comment><USER22> Is there a version implementing video connections?

</comment><comment><USER23> Can we stop calling everything "serverless"? It's a stupid name. I assume it means peer-to-peer here right?

<comment><USER24> It's serverless in that there is no specific server running it. The website is distributed across Ipfs and the chat is peer-to-peer.

<comment><USER25> I don't know man, when we say "defenseless", we mean it has no defense. "Useless", it has no use. We don't mean "it has so many uses that you can't really pick one". That would be "useful", I guess, which is pretty much the opposite.

<comment><USER26> "Priceless" has so much price that you can't pick up one.

<comment><USER27> It means that the price cannot be meaningfully quantified en masse, the price is set at the moment of purchase.

Art is a good example of this as it generally has no immediate utility, and even it cultural significance is created less by the piece itself, but rather by it's philosophical foundation which is not part of the purchase (nor even ownable).

The Mona Lisa may be 'priceless', but all the money in the world is just a lot of money.

</comment></comment></comment></comment></comment><comment><USER28> Interesting, why there is still no chat-on-blockchain thing. Sounds like an obvious idea for an ICO.

<comment><USER29> If you actually put the content of the messages on the blockchain itself it'll become ridiculously expensive really fast. Furthermore if you actually wait until a message gets mined to be accepted it's not going to be exactly "instant" messaging.

What would be the point anyway? A dedicated peer-to-peer messaging network that doesn't need to keep track of the entire history of everything seems much more appropriate. IRC comes close to that with its federated architecture, although I suppose a completely seemless bittorent-like peer-to-peer chat using public key cryptography for message authentication could be pretty great.

<comment><USER28> My original comment was a little bit sarcastic, but seriously - why not? I understand that a single blockchain will not handle global scale messaging. But a set of federated installations, could that work?

<comment><USER30> "My original comment was a little bit sarcastic, but seriously - why not?"

Because in engineering, the question is not "why not", but "why". Blockchains are not the default answer. What positive virtue is blockchain going to bring to your IM system that is not better attained by a non-blockchain-based solution?

If you can answer that, great. I'm not saying this has no answer. I'm just saying it's the real question.

If you are going to say the word "federated", then from what I can see, trying to do "blockchain" at that point isn't all that helpful and likely to be worse and harder than just trying to develop a federated system, a sufficient challenge on its own that doesn't strike me as greatly helped by "blockchains". XMPP already does federated IM, since long before the current fad.

I match any vague handwaves about identity or security with vague handwaves at existing SSL certificate authorities, and an observation that if you're going to complain about the security of such things I get to apply an equal amount of effort towards breaking your blockchain solution, e.g., if you're going to complain about nationstates getting root certificates they shouldn't, I get to point out your tiny little blockchain for IMs is equally vulnerable, if not more so.

<comment><USER28> Thank you, great comment, excellent points. I'm not discussing here nation- state certificate ledgers vs my small miserable blockchain, but instead an instance of a federated (say, XMPP) network server vs blockchain based solution. From my point of view, on this level, it provides more security and, what is more important , incentives to run such a thing.

<comment><USER30> A blockchain-based solution to _what_ , though? Bearing in mind the XMPP network exists _now_ , and works. (It may not be "winning", but it _works_.) What is even the problem?

Though I will concede your point slightly; if XMPP needs some more Hype Juice to win, I can't deny "but on a _blockchain_!" could help there. Kinda not being sarcastic here.

<comment><USER28> >> A blockchain-based solution to what, though?

To the declining popularity of Jabber, to put it short.

As an additional benefit, blockchain is indeed more secure to run than an ejabberd instance.

I understand your irony with "Hype Juice" etc. But in the end, good software is that which people use, right?</comment></comment></comment></comment></comment></comment></comment>


"Show HN" React DataGrid DataTable - <AUTHOR> http://www.reactdatagrid.com/ <comment><AUTHOR> The only pure React Data Table component that has filtering, paging, sorting, Left/Right Locked Columns, Grouped Columns, hierarchy, Sub Grids , virtual (Buffered Rendering) as well as support for Lazy Load

<comment><USER2> Is this your site? If so, and it meets the guidelines, this should likely be a "Show HN":

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

<comment><AUTHOR> Yes - fixed, sorry new to HN, so still figuring out things.</comment></comment></comment>


Modern C++ in embedded systems – Part 1: Myth and Reality - <AUTHOR> http://www.embedded.com/design/programming-languages-and-tools/4438660/1/Modern-C--in-embedded-systems---Part-1--Myth-and-Reality <comment><USER2> Interesting. I was going to write a similar article myself, tho showing how C++ can be more efficient for even 8 and 16 bit processors than even C.

The combination of templates, an optimising compiler that inlines code nicely and avoiding virtual functions means you end up with extremely efficient code while still allowing nice abstractions where necessary.

Part of the trick is to also avoid dynamic code as much as possible; it is critical in embedded systems to avoid including any code that is wasted in a single-application system. This means no dynamic-memory allocation, statically allocate everything and use templates for drivers so addresses can be inlined straight into the code allowing the compiler to remove any overhead. Doing this means, startup time (and importantly, wake-up-from-deep-sleep time) is minimised all the while allowing for nicely decoupled code through the use of C++.</comment>


Gestalt Principles for Data Visualization - <AUTHOR> http://emeeks.github.io/gestaltdataviz/section1.html

<comment><USER2> Parts 2 and 3 are up as well - though they deserve their own separate mentions.

[http://emeeks.github.io/gestaltdataviz/section2.html](http://emeeks.github.io/gestaltdataviz/section2.html)

[http://emeeks.github.io/gestaltdataviz/section3.html](http://emeeks.github.io/gestaltdataviz/section3.html)

</comment><comment><USER3> Excellent. More!</comment>