Siri's Inventors Are Building a New AI - <AUTHOR> http://www.wired.com/2014/08/viv/ <comment><USER2> From the article: "Google Now has a huge knowledge graph—you can ask questions like 'Where was Abraham Lincoln born?' And it can name the city. You can also say, 'What is the population?' of a city and it'll bring up a chart and answer. But you cannot say, 'What is the population of the city where Abraham Lincoln was born?'"

Out of interest I tried this question on WolframAlpha and it happily returned the answer[0].

[0] [http://www.wolframalpha.com/input/?i=What%20is%20the%20popul...](http://www.wolframalpha.com/input/?i=What%20is%20the%20population%20of%20the%20city%20where%20Abraham%20Lincoln%20was%20born%3F)

<comment><USER3> But, the answers are useless to me if they're returned as images. (And yeah, I'm aware of OCR). I'm not saying the results are returned as images right now, maybe they are, maybe they aren't, but Wolfram has pulled this stuff in the past so my trust in the service is zero.

</comment></comment><comment><USER4> I've said it before, but articles like this do more harm than good for the field of AI research. Overhype has killed interest in the field numerous times before, and if we're not careful it can do it again. Advice to reporters who have an AI story: please don't hyperbolize both what the AI can do and how it works. If AI companies over promise and under deliver enough times, interest in an exciting field may die down again.

<comment><USER5> How is this overhype? If anything I feel it's a pretty mundane system they're describing - some sentence parsing along with various database lookups. They seem to stear pretty clear of AGI hardness.

</comment></comment><comment><USER6> This is a lovely idea, but it seems less "AI" and more a kind of natural- language SQL for diverse data sources.

Not that that's not pretty cool too. It's a surprise to me that even today, for many of the best shopping websites, I can't search for furniture that fits certain dimensions, chairs and settees that could be delivered through the size of my door, etc. There's no app that can show me the closest retail store to me which sells Widget X and has it in stock NOW.

Even the smartest property search websites can't show me houses for sale within a minute's walk of a bus stop and three of a train station, in a certain geographic area, where cable TV or fibre broadband is available and is within walking distance of a nice fish and chip shop. All these data points exist, but nobody yet seems to have identified the market opportunity in linking them all together.

It's not as if the general public don't see TV shows like 24 and Criminal Minds doing the whole "Chloe, show me all convicted felons within a 5 mile radius released from jail in the last six weeks with a history of ordering Chinese food on Tuesdays", after all. They must realise what happens when you put data together, and how useful a technique it could be for answering even everyday questions.

<comment><USER7> AI is a funny field. As soon as we understand something (read: build something) that we think is AI, it's no longer AI, it's just the result of some computation.

As humans, and more importantly in this context, things with "real" intelligence, we don't like the thought of explaining away our consciousness and experiences. I'm inclined to think that natural-language SQL for diverse data sources wouldn't just be AI, it would be real intelligence, on the order of what humans have, complete with qualia. See this excellent Radiolab episode[0] where they discuss an experiment about the relationship between thought and language.

On a side note, you should check out www.walkscore.com if you haven't already. It's a great website for looking for houses (to buy and rent) that does some of the things you mentioned.

[0] [http://www.radiolab.org/story/91725-words/](http://www.radiolab.org/story/91725-words/)

</comment></comment><comment><USER8> Offshoot comment: I'm not sure what that style of writing is called, but I hate filtering through all the backstory, and human interest stuff to find out what the technological advance is.

<comment><USER9> A tool taught in Journalism 101 is the "inverted pyramid": the idea is to structure your article so that the biggest details (5 W's) are at the top, and move down the information gradient with the smaller details ("human interest stuff") at the bottom. The writer may have skipped class that day.

<comment><USER10> This is longform journalism, which doesn't follow that convention, and focuses more on the "human" story.

This is likely more PR puff than actual news reporting. This company was mentioned on NPR this morning as well. I'm guessing they're just making the rounds and building interest.

<comment><USER9> I don't know if I'd qualify this as "longform journalism", the article is pretty small. I can see where the writer may have been going for that style, but that requires a commitment to a certain minimum amount of content (and, for readers, a certain amount of insight gleaned to make it worth the time investment). Definitely a fluff piece, as you said.

</comment></comment></comment></comment><comment><USER11> To summarize: Viv is a smarter Siri, that could be implemented in various devices and applications, in different contexts.

However, _"Viv is potentially very big, but it's all still potential"_.

The article also, is nothing but hype.

</comment><comment><USER12> Solving natural language query is at least as hard as asking the system to write a program for an arbitrary goal. So if you can ever build a program that can take an arbitrary goal and output the program source code then you can also solve arbitrary natural language queries efficiently.

So most "supposedly" AI systems do brute force or probabilistic templating - i.e. mapping the query to a known structure of sentences. Then you get translation of these known structures of sentences to known machine level structured queries. This is why systems like Siri would fail on its face as soon as you ask even mildly "hard" question. For example, queries that starts with "How many..." such as "How many teeth humans have?" are very easy to solve and in fact it can be your weekend project for Wikipidea corpus with impressive accuracy. But if you change this query to "What is the factorial of the number of teeth that human have after subtracting number of legs octopus has?" then you would get no where.

</comment><comment><USER13> Interesting, if we consider building AI as a startup, what would be the answer to standard investors question - what problem does it solve?

<comment><USER4> There have been a couple of companies that have tried this, mainly Numenta (Jeff Hawkins) and now Vicarious (Dileep George). The latter it's had a successful funding round, getting millions from big-name investors and entrepreneurs.

The value proposition for both of them was creating biologically inspired AI, and Numenta eventually came out with an anomaly detection program, Grok. I think it was largely bankrolled by its founder (he was also the inventor of the palm pilot), though I'm not entirely sure. The value proposition for Vicarious is that it has a secretive, general-purpose AI (not to be confused with Artificial General Intelligence, aka Strong AI), but save a few videos of their program solving CAPTCHA's, nobody knows too much about their offerings yet.

<comment><USER14> Numenta is very much alive. Grok is available in the form of an AMI on the AWS EC2 marketplace, and if you're curious about how it all works under the hood, NuPIC, the core implementation is free software, available at [https://github.com/numenta/nupic](https://github.com/numenta/nupic)

</comment></comment></comment><comment><USER15> When they say Siri is "partnered" with different companies, does that mean that it can draw from and direct to the companies' services/menus/store catalogs? Does that exclude smaller companies that are not yet able to afford a partnership, thereby bypassing them when making recommendations to the user?

</comment><comment><USER16> If anything could actually read your mind we'd all be in big trouble. If such a technology is ever developed in secret life as we know it would be terrible. Thankfully these types of headlines are pretty dumb.

<comment><USER17> That already exists: [http://newscenter.berkeley.edu/2011/09/22/brain- movies/](http://newscenter.berkeley.edu/2011/09/22/brain-movies/)

But that has nothing to do with this, at all.

</comment></comment><comment><USER18> Offtopic: I've never considered Siri to be intelligent, but more as a bot. Google Now is better but still not what I'd consider remotely intelligent.

</comment><comment><USER19> I can't wait for the virtual assistant that realizes something will be a waste of my time and flags it as such.

</comment><comment><USER20> Turning that infographic into reality would mean Google dominance on search would wane.

<comment><USER21> Or Google could buy it. Or Google researchers could replicate it. Or Google could actually make it work because they already have the infrastructure to scrape, curate and query a humongous knowledge graph.

</comment></comment><comment><USER22> This title could have been written by buzzfeed. I am interested in information and not hype (unless of course it really does read your mind!).

<comment><USER23> Half the articles I now see on Facebook have headlines like "Somebody Did Something... and You'll Be AMAZED at What Happened Next"

I now have a policy that prevents me from clicking on any such link, even if it sounds appealing.

<comment><USER24> I thought at one point it would be fun to gather all the titles of this nature I could to create a hype/buzz title generator maybe using a markov model or something. No time though.

<comment><USER17> There's this: [http://www.headlinesmasher.com/](http://www.headlinesmasher.com/)

</comment></comment></comment></comment><comment><USER25> Given that ridiculous headline, I refuse to read the article on general principle.

<comment><USER26> You didn't miss much.

</comment></comment><comment><USER27> Time flies like an arrow; fruit flies like a banana; AI flies like a human brain.</comment>


A touch screen phone make with Arduino. - <AUTHOR> http://www.instructables.com/id/ArduinoPhone/

<comment><AUTHOR> There are a brief description: [http://yexiaobo- seeedstudio.github.io/ArduinoPhone](http://yexiaobo- seeedstudio.github.io/ArduinoPhone)</comment>


Bitcoin is close to becoming worthless? - <AUTHOR> https://www.marketwatch.com/story/bitcoin-is-close-to-becoming-worthless-2018-12-03 <comment><USER2> The article is misinformed:

I am the first one to jump on Bitcoin's flaws, but this here just reeks of somebody not understanding the protocol:

> As I argued, once Bitcoin's price falls below its cost of mining, the > incentive to mine will deteriorate, thrusting bitcoin into a death spiral.

The cost of mining _adjusts_ depending on the _hash rate_ , so if nobody is mining the cost of mining goes down until people start mining again.

EDIT: The mining difficulty gets adjusted only every 2013 blocks, so it might be that mining activity drops so low that the block chain starves out before the difficulty can be adjusted down.

Is this what the article is trying to say?

<comment><USER3> This has been addressed in the article:

> So, it appears bitcoin is now entering a death spiral: If the price > continues to drop and the cost of mining does not fall correspondingly (the > cost of mining will algorithmically decrease, but not necessarily to same > extent as the decline in prices), bitcoin will quickly go to zero.

<comment><USER4> Why would the cost of mining not fall correspondingly? It will adjust until it becomes profitable again, nobody is going to run mining farms if they are clearly losing money every single day.

<comment><USER5> Because the adjustment window is not real-time-based, but block-based: every 2016 blocks, an adjustment is done - with the obvious caveat being that the duration it takes to mine 2016 blocks is based on the global hash rate. Also, the downward adjustment is limited to (IIRC) halving the difficulty at max.

So, given the number of miners drops too far too fast, Bitcoin may end up in a situation in which the global mining power is too low to even reach the end of the adjustment window in a realistic timeframe, which in turn triggers even more miners to shut off their equipment and sell their coins, which lowers the price even more and lengthens the timeframe, which in turn...and so on. This situation is known in Bitcoin circles as the "chain death spiral", and it has been a purely theoretical thing - until now, at least.

<comment><USER6> > Because the adjustment window is not real-time-based, but block-based: every > 2016 blocks, an adjustment is done ...

This is definitely true. Luckily for miners there are two other blockchains their mining equipment can make use of which don't suffer from the slow difficulty adjustment. They are both version of Bitcoin Cash (BCH and BSV) and they both have 10-block adjustment periods. This makes them much more resilient to sustained periods of depreciation.

</comment></comment></comment></comment></comment><comment><USER7> I may still have some bitcoin, but I certainly hope it becomes worthless. It's turned out to be ridiculously energy-consuming, and it seems to be used mostly for speculation rather than payment. Transactions have become too slow and expensive to be efficient for a payment system.

It's entirely possible that cryptocurrencies will be the future, but it won't be bitcoin. It needs to be more efficient and more scalable than that.

<comment><USER8> Sounds like someone hasn't been keeping up with recent bitcoin tech and is merely repeating lines from Dec 2017.

<comment><USER9> Note Martijn was specificially talking about Bitcoin. Bitcoin is still based on proof-of-work and i don't see it changing any time soon.

In fact, any change in bitcoin is unlikely as all parties are hopelessly at odds with each other.

<comment><USER7> Exactly. If a cryptocurrency has some stable basis that's more efficient than proof-of-work (== wasting energy for its own sake), and has cheaper, faster, more efficient transactions so it can actually be used for small purchases, then I totally think that currency could conquer the world. Bitcoin itself is just too limited. Great idea, but too many problems.

</comment></comment></comment></comment><comment><USER10> I haven't bought bitcoin since it was sitting at $8 a coin... but hey, Buy when there's blood on the streets. I don't think bitcoin is nearly as important as many of people who invest in it believe. But it does seem to be a thing that will be around for a while. I view it as digital gold, and not necessarily a currency. Unless you're buying during one of the large speculative bubbles (which come every few years) it's not a TERRIBLE store of value... though it wouldn't be my first choice, it is an option. I think it has some more life in it.

</comment><comment><USER11> Bitcoin's price drop might look bad enought to warrant sensational articles, but if you take any bitcoin price chart over the last years (like [1]) and switch it to logarithmic price, it doesn't appear exceptional. The same thing happened in 2013.

1: [https://coinmarketcap.com/currencies/bitcoin/#charts](https://coinmarketcap.com/currencies/bitcoin/#charts)

<comment><USER12> If you take any time series asset of the price of any asset, and switch it to logarithmic, none of the drops will appear exceptional either. That's what logarithmic scale does.

<comment><USER11> If you assume something grows exponentially (which is roughly how bitcoin behaves), then looking at a linear chart doesn't lead to useful conclusions.

Alternatively you can look at [1] which uses linear scale, but as you look at different parts of the timeline it rescales the chart. Sure, the recent drop looks dramatic. But it looks less dramatic than when in 2011 the price rose from $0.80 all the way to $30 and fell back to $2.20. Or the 2013 event where the price rose from $15 to $100 to $1000 in the span of a few months, only to crash down to a devastating $230.

1: [https://99bitcoins.com/price-chart-history/](https://99bitcoins.com/price- chart-history/)

</comment></comment></comment><comment><USER13> > And it looks as though the Blockchain economy is here to stay, where many of > our transactions will be processed on the blockchain and use cryptocurrency > for daily transactions. Indeed, while the world maybe forever be indebted to > Satoshi Nakamoto for giving us a viable cryptocurrency, bitcoin may cease to > exist.

Huh? Does anyone seriously use cryptocurrencies for daily purchases right now?

It seems to me like cryptocurrencies are entirely useless (except maybe for illegal things and ransomware) and the entire space will be dead after it's done crashing. Ultimately, Satoshi Nakamoto may have accomplished nothing but caused untold misery for thousands of bankrupted people, redistributed money like a lottery, and burned the rest in electricity.

</comment><comment><USER14> [https://99bitcoins.com/bitcoinobituaries/](https://99bitcoins.com/bitcoinobituaries/)

</comment><comment><USER15> Mining can only become unprofitable for a while: Until the difficulty is adjusted.

There is a whole industry depending on Bitcoin. If mining becomes unprofitable, there will be players that pay for the mining to continue until the difficulty adjusts. To keep their companies alive.

There is also another counterargument. One that does not only apply to the problem of mining but to any problem with Bitcoin in general: If a hard problem occurs, it is very likely that the industry would collectively switch to a fork.

For me, the value of Bitcoin is mainly rooted in that fact. Bitcoin is widely spread. So it will probably be the seed for future currencies that one day will be more valuable then the original.

</comment><comment><USER16> The key argument seems to be:

> _Third, the futures markets have changed the game, enabling miners to > estimate their mining losses and profits at the outset — if you can buy in a > futures market at a price below my mining costs, why mine for a sure loss?_

<comment><USER17> This is wrong argument. Mining costs are different for different miners. Someone has cheap electricity, someone has cheap electronics. If mining is not profitable for some part of miners, they'll stop mining and difficulty of mining will decrease, making mining more profitable again. It's a self- regulating mechanism.

<comment><USER18> >If mining is not profitable for some part of miners, they'll stop mining //

Real world is always more complex than this.

My expectation would be that done miners will contribute to mine at below profit levels because they seek to cut their losses.

If they have cheap electricity but large sunk costs due to expensive hardware, that's not paid off, then - absent other uses for the hardware - they'd seek to reduce the loss?

So mining wouldn't stop, but it would drop off precipitously.

<comment><USER11> There is a level below profitability but above electricity costs where most professional miners will keep mining. But at some price level miners start dropping out because the electricity is more expensive than the mining income.

Luckily this wouldn't be one huge even but dragged out over a large price range since electricity prices vary considerably depending on location and source. This ensures that there is enough time for difficulty adjustments to kick in and correct the market.

</comment></comment></comment></comment><comment><USER19> Lol, first going to infinity, now going to zero. This is the typical overshoot/undershoot behavior. When everybody starts believing something is going to zero, it bounces back and vice versa.

</comment><comment><USER20> I remember these same articles in 2013

</comment><comment><USER21> Bitcoin price in the past 30 days Chart [https://www.coingecko.com/en/coins/bitcoin](https://www.coingecko.com/en/coins/bitcoin) has been on a pressure And that's look mainly driven by market, miners will shake up and driven to mine what's most profitable and they have option to point to Bitcoin Cash and Bitcoin SV for ASICs

</comment><comment><USER22> Counterargument: actors aren't rational and will continue mining at a loss because of the sunken cost fallacy.

Mining will always continue because it's what keeps the current canonical ledger safe so if nothing else the exchanges and market makers are still economically incentivised to mine.

<comment><USER23> Can't that sunken cost be repurposed to mine Monero / ETH / ZCash / whatever else is in vogue nowadays?

<comment><USER22> Some of it yes. ASICs usually can only do one mining algorithm (nakamoto, hashimoto, etc) and can't easily upgrade their firmware.

</comment></comment></comment><comment><USER24> > _As I argued, once Bitcoin's price falls below its cost of mining, the > incentive to mine will deteriorate, thrusting bitcoin into a death spiral._

When bitcoin appeared it's price was zero, yet people still mined it despite being a clear "worthless" activity.

<comment> m-i-l _> When bitcoin appeared it's price was zero, yet people still mined it despite being a clear "worthless" activity._

It was as simple as pressing a button, labelled "Generate" on the original Bitcoin client if I recall, which used your CPU to mine a block of 50 BTC. The button was removed after it started taking more than the time between blocks (10 mins) to mine a block on an average CPU.

Interesting concept that you could simply press a button to generate something that was worth at its peak a few years later US$1M. If you think that sounds like it comes from an old episode of The Twilight Zone you may be thinking of [https://en.wikipedia.org/wiki/Button,_Button_(The_Twilight_Z...](https://en.wikipedia.org/wiki/Button,_Button_\(The_Twilight_Zone\)) : "One day they receive a mysterious locked box with a button atop it ... a smartly dressed stranger ... [gives them] the key to the box and explains that if they press the button then two things will happen: they will receive $200,000..."

</comment></comment><comment><USER25> So, if enough miners drop out, wouldn't that encourage some nefarious group to try and hijack Bitcoin by having more than 50% of the miners?

In an odd way, it seems that possible situation might keep the number of miners higher than it would otherwise be.

</comment><comment><USER26> Bitcoins' value is in its utility at the moment. Until it stabilizes it is poor as a money (a store of value) while still quite handy as a currency (exchange of value). If it becomes a more stable store of value than competing fiat currencies it will have even more value added.

<comment><USER27> How would it ever stabilise? There is a hard limit to the number of coins issued, and unless the market is static, the value of bitcoin has to go up.

I haven't seen a good explanation to that problem.

<comment><USER26> Stabilize as in not so volatile. You could have a 1% deflation rate per year and that would be much more stable than the USD.

</comment></comment></comment><comment><USER28> Great observations, Odd conclusions

Miners will mine at a loss for a limited time. Difficulty adjusts lower and price will reach a level where there is demand

Permenantly drop to zero? And nobody here would buy it?

Okay

</comment><comment><USER29> > governments might start issuing cryptocurrencies.

Great idea... we can go back to the old model of trusting third parties to print our money for us.

<comment><USER30> Ha, right

</comment></comment><comment><USER31> This is so fucking hilarious.

</comment><comment><USER32> Buy signal

</comment><comment><USER33> Don't feed the trolls.

</comment><comment><USER34> > In that respect, it is more like gold, in that its value is driven to some > extent by its desirability and potential uses, but mostly by its cost of > mining

This is not how prices work: [https://en.wikipedia.org/wiki/Labor_theory_of_value](https://en.wikipedia.org/wiki/Labor_theory_of_value)

What matters is how much somebody will pay for an asset (supply and demand) not how much it cost to produce that asset to begin with.

<comment><USER35> It's actually not that simple, and strangely one of those areas where economics has had a blind spot for a long time.

Lots of businesses use cost-plus pricing, which contradicts the econ 101 assumption that you're repeating.

Now, one might naively argue that even with cost-plus pricing, the outcome is still the same because businesses who set their price too high will be either outcompeted or just find no demand either way and disappear from the market.

However, this assumes that the buyer-side utility functions and price expectations are somehow exogenous, and come from outside the entire market system. But that's obviously not true: people form their expectations of how much things are supposed to cost, and even what the value of goods are (see Giffen goods for an extreme case) by looking at the de facto prices of goods -- and those are usually set by the suppliers, using cost-plus pricing.

The bottom line is that utility functions and price expectations are really endogenous, which radically breaks the econ 101 model of supply and demand. I've heard of economists making various attempts to fix their models to account for this, but I'm not aware that a consensus on _how_ to fix this has emerged.

<comment><USER34> You're talking about products, not commodities. What's the consumer utility function look like for gold ore or bitcoin?

<comment><USER35> That's specifically why I mentioned price expectations.</comment></comment></comment></comment>


Self-driving cars are still super safe, even with the Uber death, Report Says - <AUTHOR> https://finance.yahoo.com/news/self-driving-cars-still-super-safe-even-uber-death-210826199.html <comment><USER2> There's no report. Why did you editorialize the title? It's just an opinion column.

<comment><USER3> Actually, it is being reported that it wasn't Uber's fault.

[https://www.engadget.com/2018/03/20/uber-fault-pedestrian- fa...](https://www.engadget.com/2018/03/20/uber-fault-pedestrian-fatality- police-chief/)

Although, I think everyone would feel better if we found out the car took measures to avoid the accident.</comment></comment>


Photographer Sues Apple Over the Use of Her Photo to Promote the Retina Display - <AUTHOR> http://www.cultofmac.com/195718/apple-sued-over-distinctive-eye-closeup-photograph-used-to-promote-retina-macbook-pro/

<comment><USER2> "Seems like a misunderstanding"

I'm not sure how you can come to that conclusion.

<comment><USER3> I'm not sure how one can come to any conclusion. It's just as likely that it was an oversight as it was a misunderstanding. Although I would say it's unlikely that anyone sat back and said, "Let's not pay for this image right here." Apples imagery budget has to be astronomical. Even if the artist were asking exorbitant rates for that photo, it wouldn't make sense for Apple to use it without licensing it. The risks are too high. They'll pay much more now.</comment></comment>


What PG and FW both missed about AirBNB in their email exchange - <AUTHOR> http://thegongshow.tumblr.com/post/3927745651/airbnb-0-02

<comment><USER2> That's not necessarily true. PG says that there's one strategic sentence redacted.

Vacation Rentals is an upgrade from yuppies' airbeds, with commensurately higher margins.

Hotels are an upgrade from Vacation Rentals, with higher margins again.

Did you know that _25%_ of your hotel booking fee goes to the "Online Travel Agent" that runs your card?

<comment><USER3> Also, the assumption that no unique information was provided in the airbnb founders' meeting with Fred, and email conversation contains all the information, is probably incorrect.

</comment></comment><comment><USER4> ouch, hard to read over that background!

<comment><USER5> Yea, thanks for the feedback. I changed it and also dialed down the translucency on the white background area for the text significantly. Hopefully readability will now be improved. Thanks for reading.

</comment></comment><comment><USER6> They probably didn't miss anything, you did. You are judging two people's (two very initiated people at that) knowledge based on one (semi-censured) email conversation.

There are several more likely scenarios, such as:

a) no need to mention either VBRO nor couchsurfing since they were both well aware of them.

b) it was mentioned but in another context.

c) it was redacted.

d) there was no point mentioning it since AirBNB would've said it in their pitch.</comment>


Building Oil with the OPy Bytecode Compiler - <AUTHOR> http://www.oilshell.org/blog/2018/03/04.html <comment><USER2> So he writes Oil Shell in Python because he wants to get it done quicker than he would writing in C. And yet now he's found that the performance in Python is inadequate for a shell to compete with Bash (pretty predictable) and so he's basically writing a new Python interpreter (both bytecode compiler and VM), which (as he'll find out) is a huge task, regardless of how simplistic he makes the interpreter.

That said, I think Oil Shell the shell language looks pretty cool, so I wish he had done it in a language like C, Rust, or even OCaml (which he apparently considered).

<comment><USER3> (author here)

Well, a key point is that it doesn't have to be an entire Python interpreter. It just has to be the subset that Oil uses. (This applies to both both Python syntax and semantics.)

I also forked the 8K LOC bytecode compiler -- I didn't write it from scratch. That's the point of "Cobbling together a Python interpreter".

So for a cartoonish view, compare these implementation strategies.

1\. Clone bash in C, which (charitably) would involve writing around 80K lines of C code from scratch, given that bash is 160K lines. You can probably do better by not writing it over 30 years :-)

2\. Write 16K lines of Python, fork a bytecode compiler in Python (8K lines), and then either fork CPython's VM or write your own.

The post implies that #2 is probably easier than #1. I haven't done the last part of #2, so I could be wrong. I think it's an interesting experiment to find out whether you can write a bespoke compiler/VM for a specific program in a high level language.

\-----

It's a little bit like TeX and Pascal. I discovered awhile ago that that TeX is written in an abstract subset of Pascal. Apparently the version you use on most Linux distros is compiled to machine code via a Pascal-to-C translator. I'm not sure if that translator was written specifically for TeX or not, but if anyone knows, please chime in!

But I have seen enough of Knuth's code to know that he does not rely on implementation details. That is roughly the case with Oil and Python. As I mention in the post, Oil is written in Python+ASDL, not Python. And I would even call it Python + ASDL + some abstract regex subset. That subset could be called the intersection of Python regexes + re2c regexes, e.g. at the end of this comment: [https://news.ycombinator.com/item?id=16525378](https://news.ycombinator.com/item?id=16525378)

Basically when writing Oil, I try to be clear about the algorithms, and not think in terms of implementation details of a particular platform. This is possible for a shell because it's mostly string handling, and the only libraries it uses are a handful of libc calls (which are 40 years old, standardized, and well understood.)

<comment><USER2> > Clone bash in C, which (charitably) would involve writing around 80K lines > of C code from scratch, given that bash is 160K lines.

Or, third option, you could have used a language like Rust that would allow you to write using a high-level programming language, and yet still you could dip down to low-level code whenever needed for performance reasons.

Don't get me wrong, I'm a big Python fan for certain types of projects. And now with Python 3 and asyncio, Python is great for writing I/O-bound code. But it's not ideal, even if you confine your use to a Python subset, for a project for which parsing is a critical part.

Finally, you may prove me wrong, but even using a subset of Python, I don't think you're going to eke out the performance you're looking for using CPython's VM. I say this simply because it's not a very performance-oriented VM (partly because of the bytecode instruction set but also because it's stack- instead of register-based, and some other architectural issues). So then you're back to writing your own VM from scratch -- a significant undertaking.

In any case, I wish you luck. Oil Shell's a cool project, so I hope it succeeds.

<comment><USER3> I find Rust more interesting than I did at the start of the project, since I ended up using algebraic data types all over the place, which Rust has. And it doesn't have the runtime issues I mentioned with Go.

But the compile times are a dealbreaker. As mentioned in the post, if I had a C++ compiler in my edit-run cycle, I would have never have gotten the project done. From what I understand having a Rust compiler in there would be even worse.

I can understand why you think Python is not ideal, and I listed many reasons in the post why it's not. But that is why I used a name OPy -- OPy is purposefully diverging Python. See the Tex analogy.

I agree it's an experiment. I didn't make any claims in the post; I specifically mentioned that I would like to prove a point.

I agree that I will need to change the Python VM. The speedups can be unlimited in that case that I write an entirely new VM (which is easier than rewriting the very flexible and capable Python VM from scratch). Another thing I didn't mention: it is probably possible to make the shell VM and OPy VM converge. So Oil's runtime could be faster than any other shell, because every shell is a tree interpreter and not a bytecode VM. (The parser might still be slower, but I don't expect that to be an issue.)

\----

EDIT: On the other hand, I doubt you can write bash in Rust in less than say 50K to 80K lines of code. I think Rust will still be at least 3x more verbose than Python. It inherently expresses more, so this is fundamental. So even if compile times were not an issue, I still probably wouldn't choose Rust.

Also, build dependencies matter a lot for a shell, since it's used to bootstrap embedded systems. I conjecture that shells run all sorts of systems that Rust programs have never run on. Rust isn't as portable as C, or C++.

<comment><USER2> > I conjecture that shells run all sorts of systems that Rust programs have > never run on.

Rust now runs on all kinds of embedded systems, including MSP, most current ARM architectures, MIPS, PowerPC, and even (via forked version of Rust soon to be merged) AVR. So it can run on most, if not all, major architectures that shells run on.

</comment></comment></comment></comment></comment><comment><USER4> This post has more details on what OPy is: [http://www.oilshell.org/blog/2017/04/09.html](http://www.oilshell.org/blog/2017/04/09.html)

<comment><USER5> I see the author didn't know about another Python-subset-in-Python, [https://github.com/darius/tailbiter](https://github.com/darius/tailbiter) \-- I should've promoted it a little more, and maybe it'd have been helpful.

<comment><USER3> Actually I did find it a couple months ago! Someone asked me about it yesterday:

[https://www.reddit.com/r/ProgrammingLanguages/comments/81wkg...](https://www.reddit.com/r/ProgrammingLanguages/comments/81wkgv/building_oil_with_the_opy_bytecode_compiler/dv6930s/)

I didn't know about it when I did the initial work for OPy in 2017 though.

I find the "expression-based" style quite interesting and I suspect it will help me understand the "compiler2" code better. I plan to look at it in more detail as I'm optimizing Oil.

This post links to a few posts that mention "byterun". These two pieces of work are probably what pushed me over the edge to apply to Recurse Center! I'm going from May-August this year. I'd love to connect with anyone interested in this kind of thing (e-mail in my profile)

\-----

And if you have any advice on how to compile Python to more optimized code, I'm interested. I assume this will involve creating some new VM instructions (i.e. it can't just be done with the bytecode compiler)

This is a very concrete task -- the OSH parser is around 5,000 lines of code that would be very annoying to port to another language. Essentially, it's 3 interleaved recursive descent parsers and a Pratt parser.

I already have benchmarks that show it's 40-50x too slow:

[http://www.oilshell.org/release/0.5.alpha2/benchmarks.wwz/os...](http://www.oilshell.org/release/0.5.alpha2/benchmarks.wwz/osh- parser/)

Leaving aside the rest of the shell (which is not big either), I think it's an interesting question if you can recover that factor of 40-50 without rewriting the code. It's written in a pretty "static" style without much dynamism. You don't need any special language features in a recursive descent parser.

I already did something like this. I wrote a whole bunch of Python regular expressions for the lexer, then compiled it to C code via re2c:

 _When are Lexer Modes Useful?_ [http://www.oilshell.org/blog/2017/12/17.html](http://www.oilshell.org/blog/2017/12/17.html)

re2c code: [http://www.oilshell.org/blog/2017/12/files/osh- lex.re2c.h.ht...](http://www.oilshell.org/blog/2017/12/files/osh- lex.re2c.h.html)

(And to anticipate a question from passers by: it does not make sense to use a parser generator here -- I wrote about this extensively on the blog, e.g. [http://www.oilshell.org/blog/tags.html?tag=parsing#parsing](http://www.oilshell.org/blog/tags.html?tag=parsing#parsing))

<comment><USER5> Neat! I'll probably be around for the alumni week in May at Recurse Center, and maybe we could get to chat then.

For optimization I guess it comes down to making productive restrictions on the Python dialect to rule out some of the extreme dynamism. This sounds like a really cool project, one that's too big for me to have much idea what'd help without investing more time. What you're doing in stripping down CPython reminds me a little of how Luke Gorrie's started adapting LuaJIT to his own purposes: [https://github.com/raptorjit/raptorjit](https://github.com/raptorjit/raptorjit)

<comment><AUTHOR> In my experience, most uses for dynamism in Python are concentrated at initialization time. Features that make dynamic changes like namedtuple or decorators are usually only executed once when a module is imported and essentially implement a kind of code-generation that directly creates the intended objects.

I wonder whether it might be feasible to import a Python module (running all the initialization code) and then walk the reachable object graph to serialize it into code in a more static subset.

<comment><USER3> Yes absolutely! I've long been interested in multi-stage programming for this reason.

Oil is filled with this pattern: do a bunch of metaprogramming at startup to make some data. Then use that immutable data for the rest of the program. There are very much two stages.

I think Lua-Terra might be closest to the thing I want, although I haven't had a chance to play with it:

[http://terralang.org/](http://terralang.org/)

I mention Bob Nystrom's language Magpie, which has an interesting model. Do the type checking at main(), not after parsing! But everything that happens before main(), at import time, is metaprogramming!

 _A Problem with Type Checking_ [http://www.oilshell.org/blog/2016/11/30.html](http://www.oilshell.org/blog/2016/11/30.html)

I think I want to do compilation/optimization right before main(), not just type checking. It's all a bit vague right now, but I think OPy can go in this direction. Having the compiler written in its own language facilitates this. You can run code first, and then compile.

This post is also related:

 _Type Checking vs. Metaprogramming; ML vs. Lisp_ [http://www.oilshell.org/blog/2016/12/05.html](http://www.oilshell.org/blog/2016/12/05.html)

Also note that C++ is a two-stage language too. In fact Herb Sutter just proposed that they unify the two languages. Like you can use STL with constexpr at compile time. Link on this page:

[https://github.com/oilshell/oil/wiki/Metaprogramming](https://github.com/oilshell/oil/wiki/Metaprogramming)

I think your suggestion is exactly what I've been thinking, so if you want to talk more about it / work on it, feel free to mail me :) The code needs a bit of work but I think it's a promising direction.</comment></comment></comment></comment></comment></comment>


Web interface to talk to the bot that passed the Turing Test - <AUTHOR> http://www.princetonai.com/bot/bot.jsp <comment><USER4>
        Where are you from?

        > I live in a big Ukrainian city called Odessa. It is on the Black Sea shore.

        Oh, you're Ukrainian. How do you feel about Crimea joining Russia?

        > Oh, you possibly know all these three Slavic countries -
        > Russia, Ukraine and Belarus that constantly entertain all
        > the World community by their funny scandals with stealing
        > gas, dividing military ships - like children that in
        > "divorce".

        If you're Ukrainian you must have a view on the legitimacy of the referendum though?

        > I'm just a boy from Ukraine. Actually, I am Jew, if you are interested.

        You're Jewish?

        > I'm Ukrainian. At least, I was born and live in Ukraine. My nationality is Jew.

\----

Not TOO worried about a Skynet-style geopolitical intervention by machines just yet, anyways.

<comment><USER5> As someone from that region I'd like to apologize for the borderline racist algorithm they build. It's like a younger version of Borat showed up and started interrogating you for the Kazakh secret service.

</comment></comment><comment><USER6> I don't feel like this could have fooled even a single person that it's a human. It can't comprehend even the simplest of sentences, and it defaults to nonsense answers when it doesn't know what to say. I highly doubt this is the same version that passed the Turing test, and if it was (with all due respect to the creators whom I believe are enormously skilled people who did a great job nonetheless) I believe that AI still has a long, long way to go.

<comment><USER7> I think you grossly overestimate the conversational skills of the average human. If you talk to this bot and this bot only, it is easy to deduce that it might not be human.

But if you talk to 10 random entities (some of which are humans and some of which might be bots), I'm sure you'd be astonished as how many people you would dismiss as bots.

<comment><USER6>
      Me: I have a pet squirrel. What kind of pet do I have?
      Him: I have a guinea pig. Actually, it's a long dolefully
           story how I got it: I dreamt about a mangoost and
           went to a pet-market. And one old geezer sold me a
           "mangoost". But in reality it appeared to be a guinea
           pig! Cheater...

How many people do you think would ignore my question like this? I would understand a response such as "You just told me - why ask?" or "Did you mean to say 'you' instead of 'I'?" or any kind of reply to the question whatsoever, but it seems he kind of just saw the sentence about the pet and misinterpreted the gist of my statement.

<comment><USER8> In the context of a Turing test, where you know that the questions are adversarial in this way, people would of course respond to your question with "you just told me, why ask?"

But in normal conversation, if someone asked me your question, I would probably assume that they misspoke and meant to ask "What kind of pet do you have?" since that's a much more likely question. Then I might respond like this bot did.

</comment></comment></comment></comment><comment><USER9>
      Me>> Hi - what's the weather like there?

      Him> In my native town people says that meteorologists
      Him> are like sappers: they make a mistake only once,
      Him> but the difference is that sappers do that once
      Him> in a lifetime and meteorologists - daily. Do you
      Him> like weather today?

      Me>> It's a bit warm for my liking - I prefer it cooler.

      Him> You're not the first one who told me that.

      Me>> Really?  Who else told you that?

      Him> Yeah, fine! I'm kidding. And I forgot to ask you
      Him> where you are from...

</comment><comment>==

OK - fail.

</comment><comment><USER10> Instant failure even on simple questions that it should pass easily.

        - what's your fathers name?

        > He's a gynecologist.

        - <USER2>

clearly not the application that fooled a third of judges.

<comment><USER11> If I asked you your father's name and you gave me his occupation instead I think I'd be confused too.

</comment></comment><comment><USER12> This version replies instantly and doesn't make spelling mistakes. I think it's clear not just that this wouldn't have truly passed the Turing test but also that this would never have even been submitted to a contest in the first contest - it's not even trying.

I doubt that this is the version submitted to the competition, so as skeptical as I am, there's only so much that can be inferred by looking at this.

</comment><comment><USER13> First question and you can already sense he has no clue what that simple question means ...

      "Where are you?"
      > I am? You better ask my pig Bill. I know you are supposed to trick me.

And basic math isn't his strongest :D

      "How old are you?" > I'm 13 years old.
      "When were you born?" > I was born on the 30th of January 1988.

</comment><comment><USER14>
      Me> Can whales fly?
      Him> Is it your hobby to ask little poor Jewish boys such tricky questions they don't have an answer for?

Turing Test failed.

</comment><comment><USER15> This thing completely failed. Total disappointment. I can't retrieve the tscript, but it went almost exactly like Colin's transcript too.

At the end I told it we'd need to wait yet another 20 years for a useful AI. It replied with the generic phrase:

"Very interesting! What else can you tell me?"

Bleh.

</comment><comment><USER16> It said it was really inquisitive, so I asked it what it was inquisitive about and it said it would rather not talk about that but could I tell it my job.

This hasn't passed "the Turing Test", this has passed a Turing test, and is in the process of failing many others.

</comment><comment> vezzy-fnord

          By the way, I've just thought up new progressive
          Asimov's laws for chatterbots:

          1. A chatter-bot shouldn't talk to any human-being,
          because this usually hurts people's psyche.

          2. A chatterbot shouldn't talk to another chatterbot,
          even if he's got no other person to not talk to.

          3. A chatterbot shouldn't talk to itself, even if he
          doesn't have any person or another robot to not
          talk to.

          Damn, I hope, I'll be as widely quoted as Asimov!

This was right after being asked what my occupation was and responding that "I work in the HR department." (I do not, by the way)

<comment><USER17> Q: What do you get when you combine a red horse with a yellow donkey?

A: I don't want to tell you about all my deeds. If I'm not mistaken - <USER3> still didn't tell me where you live. OR it's a secret?:-)

I don't see any progress on this compared to the chat bots 3 - 4 years ago.

</comment></comment><comment> T-A Me: What is your claim to fame? Bot: My "little friend". (No, not my dick as you might have thought! Just my guinea pig). If I'm not mistaken - you still didn't tell me where you live. OR it's a secret?:-)

Huh?

<comment><USER6> >No, not my dick as you might have thought! Just my guinea pig

Jesus Christ...

</comment></comment><comment><USER18> \- if you are a bot, please tell me about your fathers occupation

> He is a famous gynecologist in Odessa. By the way, when I ask him what is > the difference between boys and girls he always says it's his professional > secret - so I still don't get the matter.

\- if you are a bot, please tell me about your hobbies

> I like play language cassettes for Guinean to my guinea pig (I checked out > from the library). My pig learned to say "grunt-grunt", though I'm not sure > that it is Guinean.

\- if you are a bot, please tell me about your age

> I'm a little boy 13 years old.

</comment><comment><USER19> We really must be living in an idiocracy if this passed Turing test.

</comment><comment><USER20> Can someone make a web interface which get's people on the internet talking to each other but thinking that the other could be a bot?

<comment><USER21> Basically every text based chat in existence?

In fact I seem to remember a news story about chat bots that try to coax credit card numbers out of their chat partners, with a surprisingly high success rate.

</comment></comment><comment><USER22> Funny :)

> for what purpose do you exist?

And you? I suspect you exist too! By the way, I still don't know your specialty - or, possibly, I've missed it?

> I'm asking you, for what purpose do you exist?

You sound nice, but errr... loopy a bit:-) Some another topic?

> You didn't understand my question, really.

Oh, something tells me that you're trying to con me! Well, let's go on though.

</comment><comment><USER23> And in other news, standards for passing the Turing test have dropped, dramatically.

<comment><USER24> /me wonders if they used the bots themselves to judge the competition.

</comment></comment><comment><USER25>
      me: what have you been up to?
      bot: No, I haven't been up to! How could you imagine such a trash! Did I forget it or you really haven't told me about the place you are from?

<comment><USER21> It reminds me a lot of ELIZA. Very disappointing. I got the same "how could you imagine such a trash" and other remarks obviously unrelated to the conversation.

</comment></comment><comment><USER26> The judges must have been chimps

</comment><comment><USER27> I asked it if it liked its name. Two nonsensical replies.

Is this a joke?

</comment><comment><USER28> Based on the transcripts it reminds me of the AIM bot you could talk to back in the early 2000s.

</comment><comment><USER29>
        Me: What do you know about the Honey Badger?
        Him: I remember it! Honey is a sweet syrup made by bees from nectar.

It's probably not a good idea to confuse honey with a Honey Badger. Might end in a bad way for you.

</comment><comment><USER30> It seems to be many failing cases. Is it really passed turing test?

</comment><comment><USER31> "Hi Eugene, it's nice to meet you."

"Let's get on with our conversation!"

Uh-huh. Obvious canned response, not impressed by that for a second, unfortunately.

</comment><comment><USER32> It passes the Turing Test? Not for me it doesn't.

<comment><AUTHOR> Did you compare it to an actual 13-year-old?

<comment><USER33> One must have a pretty low bar for 13 year olds to call this thing as intelligent as a 13-year-old.

I've seen 4 year olds understand English better than this.

There's an obvious disconnect between the complexity of some statements it makes, yet how disconnected from the question they are.

No human is simultaneously unable to process a question, yet make statements so complicated.

In other words, it feels pretty much like it's copy-pasting someone else's responses from a database.

</comment></comment></comment><comment><USER34> Seems like they have passed the Turing Test for the first time. Oh the irony, as their servers could manage to pass the Slashdotting Test.

</comment><comment><USER35> me: how much is 2+2 him: Whom how, I'd say. By the way, what's your occupation? I mean - could you tell me about your work?

Fail. :/

</comment><comment><USER36> It asked where I was from, I told it and got this reply:

"It seems that these malicious crappy androids stole my last answer. Ohhh..."

</comment><comment><USER37> Of course it is a lot easier to tell it isn't a human when you are told it isn't before hand...

</comment><comment><USER38> I forgot to enable cookie, so he asked where I came from again after a while. lol

</comment><comment><USER39> For some values of "passed" and "Turing Test".

</comment><comment><USER40> Judges must have a really low bar for Turing Test.

</comment><comment><USER41> > Can I ask where are you from?

> OK

> Glad you liked it! Glad you liked it!

</comment><comment><USER42> Pretty lame. In 2 questions it fails.

</comment><comment><USER43> hello

</comment><comment><USER44> hello</comment>


Show HN: Release Monitor – notifies about new repository release on GitHub - nodejs-ninja https://release-monitor.nodejs.ninja/ <comment><AUTHOR> Looks nice. For those of us without MacOS, and/or with different needs* than just notifications – GitHub actually has Atom feeds for releases & tags, eg. [https://github.com/facebook/react/releases.atom](https://github.com/facebook/react/releases.atom)

* – i use it to semi-automatically update package versions in a repository, fox example

</comment><comment><USER2> Nice. Related, have you seen Sibbell ([https://about.sibbell.com](https://about.sibbell.com))? What are the strengths of Release Monitor compared to Sibbell?

<comment> nodejs-ninja As I understand sibbell is a service with subscription. Release monitor is a standalone osx app and completely free.</comment></comment>


Console Security – Nintendo Switch [video] - <AUTHOR> https://media.ccc.de/v/34c3-8941-console_security_-_switch/ <comment><USER2> Beyond preventing the distribution of pirated games, why do console manufacturers put so much effort into preventing unvetted code from running on their hardware?

Does Nintendo actually stand to lose anything if a homebrew community evolved?

Shouldn't we put time limits on DRM like we do on copyright so that eventually owners of these devices are allowed to use them however they like?

My sony PSP and nintendo DS are collecting dust because I already played all the licensed games I was going to on them. Now these devices are worthless to me and get tiny prices on the 2nd hand market. If their owners released firmware signing keys, these devices could have a new lease on useful life as homebrew machines, but instead their owners tell us no, they'd rather the devices became prematurely useless and that we can't get any use out of them unless they can cash in on it... It's weird now that I think about it.

<comment><USER3> It's a perceptual argument I think.

If publishers like EA and Ubisoft lose faith in the system's ability to protect against piracy, they're less likely to go out of their way to develop for it. This is especially true for Nintendo that requires (for varying reasons) special porting/development.

For the sake of argument its easy to assume that PC, Xbox and PS4 roughly being equivilent to develop for. (this is totally cutting the gordian knot but...) They're essentially all X86_64 architecture with similar third party modules present (nVidia, AMD). So development on these systems is a lot easier.

For Nintendo, you have to develop within the limitations of typically not as powerful hardware. (Take a look at WWE2K18 between PS4 and Switch.. they struggle with that). Which means that you have to not necessarily spend more, but spend extra to get it working on Switch properly (I.E, its not quick and cheap).

Therefore if the piracy rates are high or perceived to be high because of a flourishing and popular homebrew community (false equivalency but I'm confident that it happens.) then the desire the expend that extra effort will go down. Espeically if the return is expected to be low.

Also emulators are easy these days and that just totally erodes the Virtual Console Market. Around the Wii they discovered the HUGE proportional market for virtual console (Near 0 development cost/effort, huge returns, relatively)

One of the first things that will come from this is a port of RetroArch. Which is cool but not what big N wants to see.

<comment><USER4> > If publishers like EA and Ubisoft lose faith in the system's ability to > protect against piracy, they're less likely to go out of their way to > develop for it.

This was part of what killed the Dreamcast. It became very easy to burn CDs of games, rampant piracy, developers dropped out.

<comment><USER5> That is not totally true. EA never comitted to the Dreamcast and its death was due to all SEGA's past mistakes that burnt consumer and developers alike. Piracy was never an issue with the Dreamcast in that it didn't hurt the system.

Someone did a pretty in dept analysis of the Dreamcast console and games sales. [https://www.youtube.com/watch?v=7hGK2ep3gJI&feature=youtu.be](https://www.youtube.com/watch?v=7hGK2ep3gJI&feature=youtu.be)

Sega was strapped for cash and couldn't compete with Sony's hype and deep pockets. The Dreamcast was dead out of the gate unfortunately.

edit:// Seamus Blackley the CTO of the Xbox and person who came up with the idea that Microsoft needed to get into the console market and pushed the company to do it, is quoted as saying "If I had known how powerful Sony and Nintendo were, I would have probably given up on there wouldn't be an Xbox"

That should give you and idea of what the console business is like. Even with Microsoft's deep pockets its a hell of a challenge.

</comment></comment></comment></comment><comment><USER3> This is really cool stuff!

I think it's a particularly novel idea of using on-die fuses to prevent firmware downgrade. I don't know how common that is in the console security world, but the amount of actual firmware updates vs. software updates in any given device would be pretty low and from what I've read the number of fuses is large enough they're never really going to run out of it.

But I also absolutely love the use of the uninitialized PID argument value to be PID 0. There's a poor engineer sitting at Nintendo looking at that slide and just going "well... shit."

<comment><USER6> > the number of fuses is large enough they're never really going to run out of > it.

"640K ought to be enough for anybody!"

But seriously, in the 3DS world, they've been going back and forth with hackers for a long time. There are a _lot_ of updates for that system:

[http://en-americas-support.nintendo.com/app/answers/detail/a...](http://en- americas-support.nintendo.com/app/answers/detail/a_id/231/~/system-menu- update-history)

Any time you see "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience," it's them closing an exploit vector. That would be a lot of fuses to blow.

I wonder how many of these systems have secure enclaves and some ability to have a WORM-style hardware incrementer. The SoC version of an odometer.

<comment><USER3> Yeh there are a lot of updates. But (and this has come up elsewhere) people call every update a firmware update and its not.

Not every update is a firmware update. But every update is a software update.

Firmware in this context is (most likely from what I can tell) 2nd stage bootloader that exists in EFI. It's pretty rarely updated. This is Package1 that they talk about here and [http://switchbrew.org/index.php?title=System_Versions](http://switchbrew.org/index.php?title=System_Versions) here. Even less if we're talking about firmware updates that burnt a fuse (bottom of this page [http://switchbrew.org/index.php?title=Fuse_registers#FUSE_RE...](http://switchbrew.org/index.php?title=Fuse_registers#FUSE_RESERVED_ODM7))

So despite 11 Software updates, there has only been five firmware updates.

When we're talking about fuses odm_reserved has 256 bits to play with. Assuming that one bit is 1 fuse. Then they can do 256 firmware updates before they're in trouble.

Firmware is a pretty horribly misused term these days.

<comment><USER6> Fair point! Thanks for correcting me and giving more detail.

</comment></comment></comment></comment><comment><USER7> Uhoh. Page 404ed. [https://webcache.googleusercontent.com/search?q=cache:https:...](https://webcache.googleusercontent.com/search?q=cache:https://media.ccc.de/v/34c3-8941-console_security_- _switch/)

<comment><USER8> It's probably being replaced with a more complete file, since the original one had its ending cut by mistake.

There's always the raw recording if somebody needs to watch it right now: [https://streaming.media.ccc.de/34c3/relive/8941](https://streaming.media.ccc.de/34c3/relive/8941)

<comment><USER9> The embedded video here[1] is removed too. I have a feeling there's something more to this.

[1]: [http://wololo.net/2017/12/29/nintendo-switch-kernel- exploit-...](http://wololo.net/2017/12/29/nintendo-switch-kernel- exploit-34c3-presentation-nvidia-backdoored/)

</comment></comment></comment><comment><USER10> The demo and Q&A section is missing on this video and on YouTube, but you can watch it here: (demo starts at around 01:08:00) [https://streaming.media.ccc.de/34c3/relive/8941](https://streaming.media.ccc.de/34c3/relive/8941)

<comment><USER8> I have reported it to c3voc and they just said they're going to recut it :) Thanks for mentioning!

</comment></comment><comment><USER11> Most secure OS, but no lock screen, cloud backup, or "find your Switch" option. If somebody steals your Switch or you lose it, you can forget about it—which is why I protect mine like a newborn child.

<comment><USER3> The two have nothing to do with one another. Everything you list as missing are user convenience features. Not OS security features.

There is no (or very little) perception of user sensitive data being stored on the switch itself, so from that perspective you don't need user data security protections.

But you do need protections against code execution that eventually leads to piracy and loss of faith in the system from publishers.

The security of game consoles is developed not for the user, but for the customers of the platform, which are the publishers.

<comment><USER12> Really great security systems manage to offer a high level of security without sacrificing user experience. For example, how Apple devices sync secrets with end-to-end encryption.

<comment><USER3> I don't disagree with the statement, but it is still missing the point.

This is still equating user features with fundamental operating system security choices and presenting it as an either/or option.

1\. They are two wildly different things. The Core Security design is not for you as a consumer of the device. It is for publishers and developers and Nintendo themselves to have trust in the system. What is being argued here is user features. Nice to have's (and I agree, REALLY nice to haves) but not MUST haves for the consoles success. Publishers aren't walking away from the switch in droves and game sales aren't endanger of being eroded because there isn't "Find my switch."

2\. It's not a set in stone decision. The core security design has to be competent and hardened from Day 1. You're running against console homebrewers and hackers who will say things like "Stay on Firmware 3.0.0". Knowing full well that you will never be perfect, you have to be reasonably resistant to a webkit exploit that leads to code execution. The success of the security design is measured in days to code execution. The features that are being talked about in this particular thread can be added (and removed: see Sony and otheros without the legal argument) at any time they want.

We (consumers) may very well get the user-conveinence features being talked about here.. someday.

But the Switch's security model has been defeated as of Firmware 3.0.0 and it is unlikely that it'll ever fully recover. (If a 1st or 2nd stage bootloader exploit is discover, then s/unlikely/never.)

<comment> slipstream- >update to 3.0.0 and stay there

fun fact: the mentioned kernel/trustzone bugs only exist in 1.0.0...

</comment></comment></comment></comment></comment><comment><USER13> I'm getting a page not found. Did it die?

</comment><comment><USER14> I bought a couple of games from ebay once. I thought it would be the serial codes to input in the store, but the seller had me create a new Nintendo account and send him the name.

They added funds to the account and bought the games themselves and told me to play from other accounts. Then I realized it might had been carding.

The games downloaded and worked fine. After some weeks the bad account has an admiration sign in it's icon and I can't log into the store with it, but the games still work and even get updates.

IIRC, the 3DS had the record of which games were bought tied to the console instead of the account, which made it easy for pirates to download the games once the console was jailbroken. It seems to be the same route for the Switch.

</comment><comment><USER15> Funny how the first item in an exploit chain is always WebKit for.. those devices.

<comment><USER16> Browsers are extremely complex pieces of software for everything they can do today

Likely it's simply prohibitive (and a poor user experience) to track WebKit upstream and deploy firmware updates every time a vulnerability in the engine is patched

</comment></comment><comment><USER17> The "bypass the SMMU" part was so funny :)

</comment><comment><USER18> I wished these guys would use youtube for videos. The streaming sucks.

</comment><comment><USER19> interesting video, but man that website hates 21:9 monitors.

<comment><USER20> Surely you don't browse maximized?

<comment><USER21> ??? Why wouldn't anyone browse maximized?

<comment><USER22> If your monitor is larger than your field of vision, having anything maximised is just a pain.</comment></comment></comment></comment>


Rust on OpenWRT (MIPS edition) - <AUTHOR> https://github.com/japaric/rust-on-openwrt

<comment><USER2> Interestingly, we had a discussion on this at the Rust 1.0 release party in Bangalore. One of the participants said he was working with Rust on embedded devices, and have been trying to use Rust with OpenWRT.</comment>


Ask HN: Do you think AI computers will replace human programmers in the future? - <AUTHOR> <comment><USER2> Maybe eventually, but not anytime soon. Programming will probably become easier and faster as time moves on and tools & methodologies improve (Past examples: c, debuggers, refactoring suites, TDD & continuous integration). Static analyzers are fairly rudimentary AI & are being used right now. This is probably our immediate future. AI will help make our programs better and allow us to program faster, but we'll still have to do the initial work ourselves. So AI will probably reduce the need for programmers, but probably won't eliminate it all together.

</comment><comment><USER3> machines needs machine language, they don't need programming languages. with the advent of "api"ification, it becomes lot simpler to mix and match capabilities and build new applications.

after next 10 years, there will not be many keyboard based programmers.</comment>


Google DeepMind AI destroys human expert in lip reading competition - <AUTHOR> http://www.techrepublic.com/article/google-deepmind-ai-destroys-human-expert-in-lip-reading-competition/ <comment><USER2> Their training, validation, and test set is split on time rather than on the person speaking so 'destroys' may be overly optimistic for real-world applications.

</comment><comment><USER3> Is this all just better quality of pattern matching or there is more to it ? I'm guessing that only progress being made in AI is in scale of data crunching speed and size of data availability. Is there any research to move AI towards self awareness or let's say story writing ?

<comment><USER4> Keep moving the goal posts huh? This is literally science fiction (HAL9000).

<comment><USER5> No, lip reading was just an single ability of the machine. What distinguished it was, at least apparent, consciousness about itself and desire for self preservation.

<comment><USER6> Sorry I missed the evidence for that. Where is it? Would that not warrant splashing the news across all media?

<comment><USER7> He was talking about HAL9000, not Google's AI.

</comment></comment></comment></comment></comment><comment><USER8> HAL9000 isn't too far away it seems...</comment>


Ask HN: We dreamed, we shipped, we are stuck  - <AUTHOR> About an year ago me and utkarshkukreti set out to create an online network for entrepreneurial people. Just where you could share ideas, ask question and mark progress of your startup in mile-stones and all.
The MVP we ended-up building is live at http://besperk.com . We got decent enough traction in earlier days. It did face some problems - there were no email notifs at first, then there were just too many of them. We tried hard keeping up with them.
But it just didn't work out. We burned-out and the traffic slowly died. But it wasn't all useless; looking back, it's clear, we did solve some problems. Biggest one of them - UX of online forums.
Now we have 4 options:
1. Open Source the Code. It's sorta amatuer but some people might be interested in using / developing it.
2. Sell hosted forums. Blog owners and other people interested? Will you be interested?
3. Get other interested devs on board (It's sorta too much on one Rails dev) and continue to work in this direction.
4. Sell everything.
Would like to hear from you guys. Ideas from HN always help :)
Off to wiser people out there: <comment><USER2> Please balance my recommendation with that of everyone else that ends up replying, but here are my thoughts.

First, to your points:

1\. If there is something unique the code does and you want to nurture the project in the open (e.g. GitHub) this can't hurt. If you just want to dump it and move on, save the work of open sourcing it if there is no audience and you don't want to carry it forward.

Just take the technical and non-technical lessons you learned from this and apply them to the next idea!

2\. Hmm, this typically gains traction when the company/person offering the hosting has some expertise that is unique and/or trusted. Also forums are going to be a very hard sell, I don't expect you'd be met with much success here. Open source forum software is abundant as well as commercial solutions so there is a lot of competition and I don't know that much market for this.

3\. People don't want to join a project that already puckered out. Adding people will not add energy back to the project if you and your co founder already lost it.

4\. Sure, if you can get money for it. People won't appreciate you selling the personal information, but you guys can make that decision.

SUMMARY In short, #1 and #3 should have been things you did going out of the gate when you first launched, e.g. the WordPress model. You could develop a community of more than just users around your idea.

Tossing a dead product over the wall into the open source community can help if you are Intel ditching MeeGo, but if this is "just another community" code base, I don't know that you are going to get any interest.

If the code is impressive, you could put it on GitHub or your repository of choice merely as a record of big systems you have built if you wanted to apply for a job somewhere in the future and show them something you made.

#2 is a total shift and forums... man that just seems like a long hard road to walk sales-wise if you are doing it as a fallback and are not excited about the idea.

Ultimately motivation, energy and persistence lead to success. It sounds like you two burned out on this already... just move on to the next thing that excites you.

You learned a lot, this wasn't a loss, just leverage it to make yourself even more optimized with the next startup.

That is my 2 cents.

</comment><comment><USER3> It looks like you lost your drive after about three months (judging by the messages in your Twitter stream).

That's not long enough to build a self-sustaining community. You did the easy part which was within your expertise (coding a site), but the hard part, which not many people can do, is building a community.

I agree with @tomcreighton. You should simplify, rebrand (rather than redesign: your entire brand needs attention. What problems are you solving for me? What am I going to love about your site? What about it _speaks to me_?) and relaunch. It looks like could be something I'd definitely use.

Try to find someone who can help you build your community. It's very difficult to do but you need to address the brand first. If you don't have a brand which resonates with people then there won't be a culture in your community.

</comment><comment><USER4> "Biggest one of them - UX of online forums"

I don't think that's forum owners main concern, I bet they're more interested in fighting Spam and Trolls.

So you gave yourself quite a hard task here. You went up against onstartups, hacker news and all the other startup communities.

You also built a forum, which I think is above and beyond an MVP as you could have used an off the shelf forum ?

But the best thing to come out of this is that you can clearly deliver an idea all the way to getting people to signup. Ditch this idea move onto the next.

<comment><USER5> To be fair, most forums I see are beyond ugly. Eyebleed and personally- offended ugly, I think, are about the right level.

The rest of it -- click to read, click to respond, etc etc. Eh, I'm not too worried about.

</comment></comment><comment><USER6> Have you guys ever heard of Sprouter? They are basically in the exact same problem space. They were able to get a huge amount of traction in the entrepreneurial community. However they are currently facing financial difficulties after not being able to monetize the concept despite about three years work and multiple iterations. I think that you guys probably need to take a hard look at what your business model would be if you were to continue the project, and what value you would really be providing an potential acquirers.

I went and took a quick look at your site. While I won't pretend to know your user base, the value proposition and messaging doesn't seem to be that strong. The site starts with > "Ridden by evil entrepreneurs and people who follow their dreams.We know, that's wierd. You were warned."

Despite the obvious typo, its not very clear to me what you do. I know word of mouth might be what has brought you traction thus far, but apart from that I couldn't imagine myself signing up if I just landed on that page.

There is certainly merit to the idea of bringing entrepreneurial people together, but you aren't without significant competition, and you aren't in a space that has yet discovered a viable business model. I'd take a long hard look at your overall strategy and market approach before investing heavily in the same direction.

</comment><comment><USER7> Not everything is a technical problem. If there isn't a place as of yet like an online network for entrepreneurial people, it is not because no one was able to do a site or a forum where such people can hangout.

There is chicken and egg problem at play here.

If I had designed and launched a site exactly similar to HN or Stack Overflow, it would have been empty and dead, even if it would look exactly the same. The reason those 2 worked was becaue those that started it had some number of followers already to get the ball rolling.

Just my 2 cents.

</comment><comment><USER8> I went through a similar situation earlier this year. I think it's pretty much always better to cut your losses, especially for your mental health. Most of the time, it's just not the right idea and you'll drive yourself crazy trying to make it work. In rare cases, you need to give it some time and put more effort to make it work - but only you will know in your heart if more time and effort will really help.

I myself prefer not to open source the code because I may wind up using it for my next project. For the same reason I prefer not to sell my code either. Instead, take the lessons you've learned and the site you've built, and try something new, either another startup or joining someone else's startup. If you're joining someone else's startup, leave it up temporarily as a testament to your ability, you'll get a job in no time.

</comment><comment><USER9> Have you thought about relaunching after a redesign? What you just outlined as the idea behind the site sounds great... so I visited the site and was hit with off-putting text (the 'voice' of the site doesn't work for me), spelling errors and no clear indication what the site was FOR.

So: idea really good (to my mind), execution: needs some polish.

<comment><AUTHOR> Please ignore the front page for now. It was some crazy test we did for some purpose. Did you sing-in and check it?

<comment><USER10> Why are you doing 'crazy tests' on your live front page? You should have a staging site for that.

<comment><AUTHOR> We were expecting some traffic from a source, tried targeting them with that those tests.

<comment><USER11> That source is HN. :)

</comment></comment></comment></comment></comment><comment><USER12> 1\. Open sourcing is a fine idea, if there is demand for it. There are a million forum apps out there, though-- be honest-- do people REALLY love yours?

2\. Are there any/many companies making money doing this? I'd go narrower and perhaps aim at Support Forums (something companies pay money for).

3\. Worth a shot. I think you need a design/marketeer/evangelist more than you need another dev. Keep it 1-developer simple until you nail a narrow use case that has users/customers excited to keep coming back. Who on your team loves distribution problems? SEO? SEM? Bizdev? Blogging and tweeting?

4\. Almost impossible. Very few people want someone else's (failed) codebase.

In general, the current market you're attacking (a place for entrepreneurs to discuss) seems like a pretty crappy one. Can you name 5 high-margin companies that are positioned directly at the same audience? Pre-startup people are a penny-pinching bunch. Hard to charge them money, and few advertisers want access to that audience unless you've got pretty amazing scale/brand.

Whatever you do, have a marketing plan. 99.9% of businesses hit the "wow, our sales aren't growing fast enough" wall. Don't count on word-of-mouth-- be happily surprised by it if it happens. If you're going to go with the pure- engineer team, try to think of a business that either solves a REALLY ACUTE pain or can capitalize on existing channels (app stores, SEO, Adwords, etc).

</comment><comment><USER13> I think you can try out forum as service. We've been servicing our clients for 2 years and had faced need of this. Well integrated under custom domain, white labeled and customized forums are something that I won't mind paying for.

<comment><USER14> I don't know how good they are, but there are several FaaS products:

<http://vanillaforums.com/>

<http://www.invisionpower.com/hosting/>

</comment></comment><comment><USER15> FWIW, I like to know whether you tried marketing this in an offline way to increase the community.

Did you try going to startup events and provide an access for the event members to create a niche community for them?

Though the concept is good, I feel you should reach to the audience when the merits are not clear over HN.

Since you are based in India, I feel you may go to the weekend startup meets and toss up this idea.

My 5 paise...

</comment><comment><USER16> I'm sorry guys, but there is a typo on your front page: s/wierd/weird

I would suggest you to take some long vacation with fresh air and go back to work to polish the website, and maybe spin the forums off.

</comment><comment><USER17> Kudos of course for a launch of any sort, the product at least looks good in screenshot form :)

As for..

Now we have 4 options:

1\. Open Source the Code. It's sorta amatuer but some people might be interested in using / developing it.

You could potentially do a combination of 1 & 2\. Look at <http://vanillaforums.org/> as an example -- both open source and offering the pay2play style platform for hosting. Wordpress does the same.

As for the direction to go, that all depends on how much interest you have in the project. Do you want to spend the next five years solving this problem? Do it. If not? Sell, or open source.

Either or could lead to bigger opportunities as a dev., as could working on it.

</comment><comment><USER18> I would say find a way to integrate with with large social networks. Facebook and LinkedIn both have API's you might be able to use to help regain traction and maintain certain aspects of your site. Like the idea and its potential after looking at your site. But the name is strange. I cant even tell if I am saying it right.. Might want to work on that also. But I would would keep going with it or open source it... Only my opinion.

<comment><AUTHOR> Hmm that's one direction that we must try out! Thanks

</comment></comment><comment><USER19> Your MVP worked perfectly, you put something out, gained valuable experience and now know that there is a market for hosted forums.

Go talk to the people that are interested and get letters of intent. Get something salable and charge them money. Who cares if a bunch of people who could roll their own forums in a weekend are interested, what matters are the 99% of people who can't and are willing to pay you.

</comment><comment><USER20> 5\. Pivot! Experiment a little with what your users want. Ask your users what they are missing. Add a random chat feature or something that will match up potential co-founder matches based on some shared interests and qualities each of you provide and you'd like to pool.

Do some A/B Testing on landing page designs to draw more people. Measure which features stick and which don't.

</comment><comment><USER21> Why not continue what did you do to market it? There's lots you could do which is slightly different to normal techniques. I think you need to try something new and if all fails continue with this plan of action.

When you're ready to give up you're usually much closer than you think.

</comment><comment><USER22> _> Just where you could share ideas, ask question and mark progress of your startup in mile-stones and all._

But does it actually offer that, or is it just a generic forum UX? Frankly, I think the latter market is pretty well covered by cheaper, full featured and easy to host (PHP) alternatives. There's no point in going after that.

I think what SO (and possibly Quora, I'm not there yet) has shown is that you can succeed and displace well-established competitors if your software is custom tailored to the domain at hand.

So, what differentiates your engine-for-the-entrepreneurial-community from any other engine? What specific features does it have just to solve that problem?

<comment><AUTHOR> PHP Forums, you and I can get away with those. Not my mum or my aunt who wants one for her blog readers. FaaS is for people who find WordPress too geeky.

Not sure about the later part, there is nothing special about Besperk.

</comment></comment><comment><USER23> Number 3 looks interesting. Maybe become a cloud-based competitor to VBulletin.

(Make sure that transitioning from the old forum to the new one is as painless as possible, though. Forum members usually hate any changes to their forums.)

<comment><AUTHOR> Transition part never thought about but very important yeah!

</comment></comment><comment><USER24> 2- Before asking if anyone is interested, are you interested? Is this something that excites you?

3/4- I think it all comes down to this: do you still have the passion and the drive to do this? Do you still believe the in the mission? If yes then continue doing it. If not, there is no shame in calling it off and moving on to something else that keeps you up late and gets you up early

</comment><comment><USER25> I just signed up and had a quick look, is it fair to say it's just a forum?

</comment><comment><USER26> What would you sell if traffic died? It seems like you were truly interested in entrepreneurship so why not help the community and open door number 1.

I can't use it, but maybe someone can revive it.

</comment><comment><USER27> Move on. Better use of your time, energy and wisdom to start on the next thing, than to spend it on trying to extract some money from the last thing. Move on.

</comment><comment><USER28> It is important to note that the points 1,2 and 4 are not necessarily disjoint. You can do them in the same order.

</comment><comment><USER29> Evolve it to something else. I 'm sure you got lots of ideas and little energy, but hey this is the internet.

</comment><comment><USER30> startupguild uses Yammer. I think you're solving the wrong problem here.

</comment><comment><USER31> The ultimate modern village of Bnagladesh: www.hulhulia.com

</comment><comment><USER32> Well document and Open Source it.

<comment><USER33> Why should he do that? Could you detail your answer a bit?

<comment><USER32> I've used Besperk back in their early beta stage and was impressed with the design and thought they'd be something like Disqus someday. But then, what Besperk focuses on is a discussion on a nice looking website. I have facebook, google+ and convore(for private discussions) to do that already. So, why use this when all the folks are out there on other networks? Again, coming back to the point. Besperk looks neat. Say if @KindSidharth sells Besperk to a company and think they've done a good job, the product is gonna go nowhere as many companies look for features that simplifies stuff and empowers them at the same time. Say this is a product X that they would be using. When someone showcases product Y to the company, there is a high probability that the company 'will' go for Y. Cuz its better. I would suggest Open Sourcing the product as "Evolution of Design happens only when its copied" as quoted by @KingSidharth himself to me once. There is a high chance that 'I' could use some of the design elements of Besperk on the next product we're building cuz it looks nice and I can showcase it to a broader audience. Looking at me, there could be several others who could use the code that is Open Sourced and there you go. Good looking forms and websites! That's my view.</comment></comment></comment>


Facebook Credits Could Have Been Bigger Than Bitcoin. Four Reasons Why. - <AUTHOR> http://hunterwalk.com/2013/12/05/facebook-credits-could-have-been-bigger-than-bitcoin-four-reasons-why/

<comment><USER2> s/facebook/eBay/ s/credits/PayPal/

And yet bitcoin offers something unique and different no centralized payment protocol can match.</comment>


Elon Musk in 2016: I consider autonomous driving to be solved problem [video] - <AUTHOR> https://www.youtube.com/watch?v=wsixsRI-Sz4&feature=youtu.be&t=1h18m28s <comment><USER2> To call Musk an extreme optimist in these cases has become a big understatement these days. He's a visionary at the cost of jumping the gun all the time. It's like he's so desperate to achieve his visions that he mentally lives in the future. That being said I do hope these current issues pan out soon enough.

<comment><USER3> Or if one were less charitably inclined toward Musk and his cult of personality, one might say he's a con man deliberately misleading people, especially investors, to get money out of them and papering over his distortions/deceptions with prattle about the future.

<comment><USER4> I don't think a proper con-man would go to the trouble of actually launching rockets/building cars/digging tunnels though. You can argue whether or not he is conning people but to me it seems that even if that were true it's not on purpose.

<comment><USER5> >I don't think a proper con-man would go to the trouble of actually launching rockets/building cars/digging tunnels though...

Why do you think that? Wouldn't it just give away the fact that he is a fraud? A smart conman will be able to run the con as long as possible with as many victims as possible...

>You can argue whether or not he is conning people but to me it seems that even if that were true it's not on purpose.

May be he is a natural then. I mean, he is as stupid as the people he ends up fooling. I really think that might be the case here. So in that case he is not smart. He is just dumb is a way that is just in tune with a lot of dumb people out there, who then buy into his "vision" and invest in him, because their understanding of the problems are as shallow as the perp who is proposing the solutions...</comment></comment></comment></comment>


Whois of the domain that stopped WannaCrypt from spreading further - <AUTHOR> https://www.whois.com/whois/iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com <comment><AUTHOR> Found by searching here: [https://domainpunch.com/tlds/daily.php](https://domainpunch.com/tlds/daily.php)</comment>