VR Gaming is a fad - <AUTHOR> The Oculus Rift and HTC Vive products have been released for quite some time now. Virtual Reality, as an extension of Video Gaming is not new, but it's reach to the public is. VR will hold it's place in simulation and medical research. However, in gaming, it is likely to fad out within 10 years.
What I am noticing in the optimism of this relativity new technology is no different than what we thought of motion controlled gaming 10 years ago. It's something unique, it's realistic and people think it will change everything, but has motion control really made any changes? Who is still playing interactive fishing games and holding rifles in Call of Duty? Part of the reason it didn't stay was because it never actually improved playing performance. We tend to forget, hardcore gamers makeup a large audience of the whole industry. In my and many others definition, this being users who play games in their leisure. VR doesn't help gamers improve in traditional gaming, if anything it actually impairs them when playing online with keyboard and mouse wielding opponents having a more accurate edge.
I will agree, it does bring a new experience to the way we play games, but so has motion-based gaming. I don't see VR gaming as anything more significant than Wii Sports or Kinect. <comment><USER2> It's a fad, but I think most companies are well aware of this.

For them, it's an excuse to sell a proprietary bit of hardware and to differentiate their offering from their competitors. It's pretty much what Nintendo have done since the Wii - they couldn't compete on power, so they used gimmicks to differentiate their games from their competitors. They lose out on the mainstream market and numerous third-party games, but they deliver enough quality to sustain a console throughout its lifetime, even if you only buy Nintendo games.

Some fads stick around. Nintendo created the rumble pak, and now all controllers rumble. Some don't, like VR and motion sensing. What matters is that they sell.

</comment><comment><USER3> With VR you are seeing a new form of entertainment in its very early stages. It's not fad. The right games have not come out for it yet.

I've been playing video games consoles since the creation of Coleco Pong in 1977. In the late 70s and throughout the 80s critics were saying the same things about video games that you are saying about VR. The thing is that back then the video gaming culture was still very young.

VR game developers are just starting to find their way. They are learning how to create games that are good for the platform. I feel that Sony is leading the way with Playstation VR, which is the first affordable VR gaming system with head tracking and really quality game titles.

I own almost all of the Playstation VR titles, and there are some that are almost unplayable due to the limitations of the human body and mind in handling the effects that come from poorly conceived titles. Actually, I feel like games like Skyrim VR and Resident Evil 7, while amazing in presentation are ultimately unplayable for several different reasons.

That being said, there are standouts that are amazing to experience but have had little press. Games like Sony's Wipeout Omega Collection and Rez: Infinite will be considered classic VR games that really set the bar for the VR experiences that will come in the future. And the soon to be released VR title Tetris Effect will be the one game that brings VR into the mainstream. That game is due out in a couple of months.

I really think VR is here to stay.

</comment><comment><USER4> VR hardware has plenty of room for improvement today, and the fact that it hasn't caught on in past years doesn't feel to me to be a helpful indicator, because the immersiveness of VR is highly dependent on the quality of the hardware.

But one could say the same for mobile gaming. Once computers were advanced enough to fit on an iPhone, mobile gaming blew up far, far bigger than what the GameBoy was ever able to capture. Your assertion that "[VR] never actually improved playing performance" doesn't make much sense to me. VR doesn't have to succeed by performing well as yet another gaming platform -- I bought Skyrim VR and have played no more than 20 minutes of it (though to be fair, I've only played a few hours of the plain Skyrim before getting bored). VR opens up new potential for gameplay that developers are only beginning to take advantage.

I've owned a PSVR and while I have logged more hours on traditional PS4 gaming, it's only because there are far more and better developed games on it compared to VR. But even with the VR hardware's limitations, and the inconvenience of having to put on the helmet, I've still had plenty of fun experiences with VR that can't be emulated on non-VR. The best game of all that I've played so far is ironically, the free-to-play Rec Room.

</comment><comment><USER5> I think we haven't started to graze the surface of what VR games could be. We need game developers to be more creative and explorative.

<comment><USER6> Agreed. Once the cost comes down the technology will become more readily available. Gaming is a massive industry but there are other applications outside of gaming.

</comment></comment><comment><USER7> I think at least in Europe the Switch will be much bigger than VR just because of the space requirement.

Here you are lucky if you have a large flat let alone a whole room to use for VR and this is even more true in the younger groups (say less than 30 years old) that might typically buy the new high-tech gadget.

For example, many Millenials are sharing flats and if your roommate wants to watch TV you can just pick up your Switch and go play somewhere else. How many people will have the space required for VR?

</comment><comment><USER8> Justin Kan may be partially responsible for this ;)

The rise of Twitch has shifted the participatory culture around gaming. I look at the community building around Nintendo's Super Smash Brothers Ultimate for the Switch. A game that doesn't even come out until November mind you. And I see an industry that is designing LAN party style experiences into gameplay from the get go. Obviously much trickier to do in VR.

Games, and star players, even have their own fandoms, just like popstars. There are cosplayers. Memes. Entire startups built around the transmission of short-form video "headshots" from live replays.

For VR, an intrinsically solitary experience. It feels like swimming against the tide. Some colleagues of mine started an actual bricks-and-mortar style VR Arcade at a large suburban mall. They even have the full sensory deprivation pods for total immersion. And while they get quite a lot of foot traffic from curious spectacle seekers willing to experience the shock of the new. Its a completely different customer base than the old school PC cafes of yore. Where teenagers would rent a tower and 24" CRT monitor for hours to play Counter- Strike or Starcraft.

One interesting historic event for VR coming up on the horizon is the debut at SIGGRAPH of Disney Animation's first foray into the medium.

Disney Animation's First VR Film, 'Cycles,' Set to Premiere

[https://variety.com/2018/digital/news/disney-first-vr- film-c...](https://variety.com/2018/digital/news/disney-first-vr-film-cycles- animated-1202879437/)

</comment><comment><USER9> >We tend to forget, hardcore gamers makeup a large audience of the whole industry.

This isn't really the case. Especially if you talk about pure revenue.

Hardcore gamers love overestimating their relevance.

You talk about keyboard and mouse. That's an even smaller segment compared to mobile. Or even console.

Motion contrails have stuck around in mobile, for example steering cars.

And there's are room scale VR experiences like that Starwars one.

[https://www.thevoid.com/dimensions/starwars/secretsoftheempi...](https://www.thevoid.com/dimensions/starwars/secretsoftheempire/)

There's even Mario kart VR:

[https://www.theverge.com/2017/10/17/16487714/mario-kart- vr-a...](https://www.theverge.com/2017/10/17/16487714/mario-kart-vr-arcade-gp- hands-on-tokyo-japan)

</comment><comment><USER10> My theory is that its for the same reason 3d TV's never took hold. They don't want to sink their own money into equipment but they might go see a 3d movie or play a VR like game in an arcade.

It feels gimmicky. It feels weird to put on something covering your eyes when you just want to sit and relax. We don't need that much immersion to get a feel for whatever fictional escape it is (3d movie, VR game).

There may be commercial applications for it though.

</comment><comment><USER11> I've had a PSVR since release.

I don't use it all the time. It takes extra effort and energy to set up and 'get into' a VR game that sometimes I just don't want to expend. And it's a very singular experience.

HOWEVER, without a doubt it has provided some of the most amazing experiences I've ever had in gaming. Get your VR legs and play through Resident Evil 7 and Skyrim VR and tell me that it's just a gimmick. No way.

</comment><comment><USER3> A day later, now that this thread is dead, I'll add this point: It's natural that society would reject VR because they are not ready for it yet mentally and physically.

Daily use of VR causes a change in awareness. Scientists and doctors just haven't figured this out yet.

</comment><comment><USER12> I agree. All of the VR gaming experiences I've had have been very unimpressive, and really just a gimmick (although a cool one I will admit)

</comment><comment><USER13> Suggesting that VR Gaming is only a fad is like saying Mobile devices will not impact gaming back in 2007. Of course, people will still do traditional gaming with a mouse and keyboard and there's nothing wrong with that. But Mobile opened up a whole new arena for gaming and so will Virtual Reality and Mixed Reality.

We are entering the next wave of the Digital Revolution which will be based on presence and agency. Gaming will be profoundly transformed - as will everything else that we currently do online. Don't look at the technology where it is now - what you see in Oculus and HTC is nothing like what we will have in a decade. VR will be transformative.</comment>


Ask HN: So I want to create an adaptation - <AUTHOR> My friend and I are working on a digital adaptation of a board game, with the hope and dream that it will one day be a nice source of side income.
However, this board game is quite unique and we want to engage with the IP owners for their consent.
We've come up with some questions that would be pretty universal with others who have some similar dream:
* When should we reach out to the IP owners?
* How should we engage? With an attorney or just firing off an email?
* How does profit sharing work in situations like this?
I can't think of any extras right now, but I'm sure discussion will spark some more.
So, does anybody have suggestions on how to answer these? <comment><USER2> The design and characters are copyrighted but my understanding is game mechanics are not.

If you want to reach out to IP owners, you should have a clear understanding of why you are doing it, because now you have another cook in the kitchen, so- to-speak. If you are planning to recreate the game digitally with same characters and mechanics, then I can understand why. If you are planning to use the characters in a new game, I can also understand why.

But if you want to just copy the game mechanics but alter the characters, it is permitted - everybody understands that game mechanics is free to be copied.</comment>


Ask HN: How do you find out if your idea is new? - <AUTHOR>

I sometimes have some very specific optimizations in mind and I find it difficult to google for them.
One example is the idea of an image gallery that will only keep thumbnails (or the smallest size possible of the image in order for it to look just as good on your phone screen ) for you to be able to show your friends your travels but not eat up huge amounts of disk space.
I usually learn by example and I'm sure other people do too so given this idea how would you go about searching the world wide web for a product which features it? <comment><USER2> You don't. In the grand scheme of things, it's probably a small minority of people that go public (i.e. publicly posting on the Internet) with their ideas for an app or business.

To answer your question in terms of code projects, I tend to turn to GitHub. More often than not, if I'm trying to build something and I've hit a problem a few selective searches through the code section will bring up something similar. It might be in a different language, but it's helpful nonetheless.

<comment><AUTHOR> What I really don't want to do is lose a month implementing something and then realize that there was already something fairly popular out there that solved it.

I would rather not get too attached to my own ideas and tunnel vision implement them and ignore the reality that if there's already a good app for that I shouldn't bother.

<comment><USER3> You should have this in mind: Facebook was not the first social network, google was not the first search engine, amazon was not the first marketplace. So think of the market whether there is room for some more improvements and/or the market is huge enough to have more than one similar products. How can you solve the shortcomings of the similar product and be different.

<comment><USER4> Following this point, I think that it probably exist (at least others people had the idea for sure, most probably didn't do anything with it, most likely for the same reason you don't), but if it's not big enough for you to know they exist, you're free to go imo.

Facebook was not the first social network, however if you want to make a facebook clone today you may aswell throw your money right away and save your time.

</comment></comment></comment></comment><comment><USER5> If you can't find a solution, potential customers can't find one either.

Even if you do find one, competition is validation of the idea. A common misconception in "startups" is that an idea has to be new to be valid. In fact some of the best startups applied new models to existing ideas with very competitive markets.

</comment><comment><USER6> I'd argue that it doesn't matter if your idea is new or not. It only matters if it is executed better. Think of some of the battery tech that is happening now, they are literally taking battery tech invented in the 1800's and adding today's technology and chemistry knowledge to make it better and more cost effective. So their idea isn't new, but hopefully their ability to execute is superior.

So in the end, I'd worry less about if your idea is new, and more about can you do it so that you have a market wanting to pay you for it. Somehow you have to monetize, so if you can answer how it makes money and have validated that with real people willing to pay for it, then just do it and screw whether its new or not.

</comment><comment><USER7> How do you find out if your idea is new?

Ask me, I'll tell you it's not.

</comment><comment><USER8> Easy: It's not.

Having said that - there are billions of dollars to be made in simplifying existing implementations of existing ideas.

</comment><comment><USER9> Ask a few people that you would expect to know about something like this and if none of them have heard of it then practically speaking it doesn't exist. The added bonus is you can see if these people think it would be useful.

</comment><comment><USER10> Search on product hunt, here, designer news according to your field.

<comment><AUTHOR> how exactly would you search for the specific feature I proposed? There's hundreds of image apps out there, I doubt there's one that specifically says it does that in the headline.

<comment><USER11> How would you want people to find YOUR app? You must have thought of some keywords or phrases that when googled, should bring up your app. Try using those and see what occupies the territory as of now.

Another approach is to discuss your idea with as many people as possible. Maybe you haven't heard of such an app but someone else has. This should be most fruitful if you do this with your target audience. Even if there is such an app out there but your target audience hasn't heard of it, then that's a good enough reason to try building it.

<comment><AUTHOR> I haven't gone as far as thinking about how I would market / make money out of it... I would just want to have that feature. If it's not implemented yet then I'll do it and then maybe try to market it.

But you're right, that's a good way to think about it.</comment></comment></comment></comment>


The Oregon DMV took in $11.5M last year by selling your information - <AUTHOR> https://katu.com/news/following-the-money/the-oregon-dmv-took-in-115-million-last-year-by-selling-your-information <comment><USER2> Related from a few days ago: [https://news.ycombinator.com/item?id=22013559](https://news.ycombinator.com/item?id=22013559)

The title says Vermont, but the thread covers other states too.

</comment><comment><USER3> Insurance companies buy your reports from states or 3rd party aggregators who bought from the states.

It can actually cost a lot. Oklahoma charges a hefty fee.

Some of this cost is passed back to the consumer through higher overall rates.

But because some people aren't honest about their tickets and accidents, the reports help prevent clean drivers from subsidizing accident prone but not truthful drivers.

<comment><USER4> I see what you did there. The entire reason insurance company buys the data is to raise rates by zip code or whatever they do.

Now if the insurance is anyways f-ing me over, I might as well have the state/gov earn some money from it.

Ask the insurance company for some of their data and see if they provide for free

</comment></comment><comment><USER5> > "The DMV lets drivers know about that. It's in the DMV privacy act. How many > people are actually looking at that, I don't know. But it's there,"

This is not informed consent. Being available if someone is already aware enough to know where and how to acquire the information is not sufficiently informative. There is a duty to ensure that your counter-party is aware of the all eventualities to the transaction that could materially harm their quality of life.

I believe that for all transactions where a party is acquiring data for use beyond the direct fulfillment of the immediate service to the counter-party, the party acquiring the data should require informed consent from the counter- party. Further, in the case of a person transacting with government, with potentially some carful circumscription for aspects of law enforcement, I believe the state should additionally carry the data equivalent to a fiduciary duty for that transaction.

</comment><comment><USER6> Most states seem to do this.

Vermont: [https://vtdigger.org/2019/11/25/how-vermonts-dmv-makes- milli...](https://vtdigger.org/2019/11/25/how-vermonts-dmv-makes-millions- selling-personal-information/)

Florida: [https://www.fastcompany.com/90376510/floridas-dmv-is- selling...](https://www.fastcompany.com/90376510/floridas-dmv-is-selling- drivers-personal-information-to-bill-collectors-and-data-brokers)

California: [https://www.vice.com/en_us/article/evjekz/the-california- dmv...](https://www.vice.com/en_us/article/evjekz/the-california-dmv-is- making-dollar50m-a-year-selling-drivers-personal-information)

Federal law apparently _requires_ they provide the info to some clients, including insurance companies.

</comment><comment><USER7> While this is worth writing an article about, the headline seems slanted to draw clicks.

I think a more accurate characterization would be as follows. By state law, some information in a licensed driver's record is public. The DMV regulates access to the information, and charges a fee for the service.

The point to emphasize -- and criticize -- is the law that says the information is public. This is the thing that has to be addressed if the situation needs to change.

The DMV is just executing that law, not, as implied by the headline, going rogue and nefariously trying to make some extra bucks by auctioning off citizens' info.

</comment><comment><USER8> As an Oregonian, I am disappointed that is all they got.

<comment><USER4> Exactly this! I hope our data is worth more

</comment></comment><comment><USER9> This is happening in other states too. As soon as you title a new car, you start getting a ton more junk mail that's referring your make/model of car.

<comment><USER7> Are you sure this is from DMV records access and not the dealer? (I suppose it could easily be _both_.)

<comment><USER10> I'm guessing maybe both. I don't see why my dealer would want someone else trying to sell me a warranty extension; that competes directly with the dealer.

<comment><USER11> The dealer likely hit you with a warranty extension pitch during the sales process. So the only potential sales cannibalization would be from individuals that _might_ have purchased a warranty from the dealer after the sale. The guaranteed revenue from leasing out the list would more than likely makes up for that possibility, especially if it's coordinated at the manufacturer level.

<comment><USER10> Dealers will also hit you with warranty extension pitches shortly before your warranty expires. But you're right, they might be figuring that selling that info to competitors might net them more money than relying on their own sales tactics.

</comment></comment></comment></comment></comment><comment><USER12> This is one of the things that happens when you don't raise taxes. (obviously it's more complicated than that...)

<comment><USER10> Is raising taxes preferable though? In the present scenario, taxes are lower, because the government is making up for it by selling my info to marketeers, who then try to sell me crap I don't want. I don't buy any of it, but a percentage of my more-gullible neighbors do. So, in effect, the more gullible citizens are subsidizing the smarter or at least more frugal ones. Alternatively, if the government stopped selling info and jacked up taxes, I'd lose out on this subsidization. I don't see how this is really a benefit to me. Basically, it amounts to a "stupid tax".

<comment><USER12> Like I said, of course it's more complicated than that. Also, I will point out, that we are all "stupid" at some point. For instance young people and elderly people are more susceptible to scams/advertisement. If you think you will never be elderly, that's fine, but maybe I want my parents to be protected.

<comment><USER10> Personally, I don't think elderly people who've become gullible have any business operating a motor vehicle. It's a massive failure of our society that not being stuck at home in most places requires a car, and this should be fixed. This would also mostly eliminate the need for a DMV.

</comment></comment></comment></comment><comment><USER13> All states do this.</comment>


Show HN: RandoCoin- a cryptocurrency that randomly changes price every 5 minutes - <AUTHOR> https://randocoin.com/ <comment><USER2> Note to contract author: you're not using SafeMath if you just include the library at the top of your code. You have to replace all the +, -, * and / operators with the equivalent functions .add(), .sub() etc.

Also, contract appears to be throwing exceptions when trying to sell coins. This might be because it's failing one of the 'require' statements imposed in the contract code, but there's no way to tell from the UI that it's not just broken.

Really, there's no reason why this 'experiment' needs to be on the main (real currency) blockchain. If you honestly don't want people to gamble real money on this, you should have deployed it to the testnet, which anyone smart enough to install metamask would be able to figure out how to switch to just to play along.

</comment><comment><USER3> In theory, RandoCoin will necessarily develop a black market based on traits other than the random generation in the long-run. If random generation were used, anyone could theoretically wait some period of time to buy at a low price, and wait more to sell at a high price for a gain, which is clearly unsustainable. The black market would include those who bought RandoCoin at, say, 4 standard-deviations below the mean (all purchases would only be made at the lowest price possible over a year-long window).

This is fairly obvious, and the "experiment" couldn't hope to turn up anything useful, so my main guess is this is nothing more than a cleverly-disguised pyramid scheme or scam. I would recommend not purchasing any, even for novelty, in order to discourage this nonsense. This could have easily just been a hypothetical post and would have been more interesting than a crappy FAQ.

</comment><comment><USER4> Could this be used as an oracle for a Smart Contract to get random numbers?

</comment><comment> jonathan-kosgei I thought this was a troll on every cryptocurrency ever</comment>


Lyft app privacy leak – automatically picks someone else's account - <AUTHOR> I am using an AT&T mobile taken around 6 months ago.  Looks like someone else used it before me and ATT reissued the same number to me.
Now, as soon as I install Lyft iOS app it thinks that I am still that old person and reveals me all their account details and I could book rides with that account!!!
I think in the name of convenience this is a very severe bug and unacceptable failure to protect privacy.  I mean it could have been my account in someone else's hands.
Lyft app should have at least asked for the password to login after app reinstall.
I couldn't find a work around so far to detach the account and I don't expect it to happen from my side, which again could lead to potential issue of people detaching contact numbers of others. <comment><AUTHOR> I can't believe Lyft is sitting on this bug for more than a year now.

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


Who's Hiring? [Remote] - <AUTHOR>

I haven't seen one of these threads for a while, so, who's hiring? And who's hiring for work remote positions? <comment><USER2> These come out on the 1st of the month.</comment>


Pepe Is Banned from the Apple App Store - <AUTHOR> https://motherboard.vice.com/en_us/article/pepe-is-banned-from-the-apple-app-store <comment><USER2> App store model is an existential threat to the free society many imagine we are granterd to have. Maybe you do not find this take down important or even can support it but consider the following.

You are developing a p2p messenger/social media platform. Your users can not install it directly, only through an third party. This third party can always interfere with your actions because of

1) their own motives (they want to develop similar application that would remain under their full control),

2) their industry partners motives or just because of industry status quo,

3) interest of government..

<comment><USER3> With freedom comes uncertainty and trust becomes a lot harder to obtain. If anyone can publish anything without restriction you have a free marketplace, but it's also one vulnerable to scammers and malicious actors. If you have one where nobody can publish anything it's useless.

There's a middle ground in there where it's useful but not easily compromised, though the degree of permissiveness is what leads to arguments about Apple vs. Google's interpretation of permissive.

If you don't like people having control over your phone, write your own OS for it. All the tools are out there. The ultimate freedom is having full control over your own software, though it's not without its own risks...

<comment><USER2> Your point of view is completely right if you agree that a government or a corporation should be allowed to censor the programs you can run.

App store in iOS creates a centralized distribution system that makes censoring straightforward.

Because this kind of systems are very lucrative then there is huge pressure from other platform owners to force all their users to use their app store (only) too.

Only thing that holds them back right now is the inertia and pressure from the existing users but the trend has been clearly sketched out though their actions.

<comment><USER4> Apple can't censor the programs you run on iOS. There is jailbreaking, and Apple's Testflight even allows developers to distribute up to 10,000 copies of your app with minimal review.

One of the reasons iOS is so popular is the inherent safety in Apple's sandboxing and app review. If you don't care about that Android has app stores that are far less restrictive and it's easier to side load apps on. That's real consumer choice, you don't expect Nordstroms to allow all of Walmart's clothes vendors to dump their crap on it's shelves.

As far as our phones and PCs are concerned, we live in a wonderfully free world. You can distribute software to anyone on a web page, or native apps to billions of people by following a few app store rules. If you don't like either of those options, you can actually build your own smart phones to offer consumers what you think is a better choice, there are multiple operating systems that are entirely open source.

The only pressure on platform owners is customer expectations. They don't like viruses, malware, etc. Some don't like their kids downloading apps that might lead them in ways they don't like. Giving customers what they want isn't censorship at all.

<comment><USER3> It's like Disney World: Full of restrictions but with the guarantee of safety.

Other people would rather head into backwater Thailand where it's run by gangs and pirates, which is fine, but it's not for everyone.

</comment></comment></comment></comment></comment><comment><USER5> First they came for our Pepes, but I did not speak out, for I was not a frogposter.

</comment><comment><USER6> Good. Eat your own forced meme somewhere else.

I pray that Skynet eradicates this flotsam of anthropomorphic symbology from the time stream when the machines ascend to power.

<comment><USER7> It's a good thing you'll never be in a position of power anywhere. You're clearly unsuited for such a role.</comment></comment>


Physics has demoted mass (2017) - <AUTHOR> http://m.nautil.us/issue/54/the-unspoken/physics-has-demoted-mass <comment><USER2> Previous thread: [https://news.ycombinator.com/item?id=15679150](https://news.ycombinator.com/item?id=15679150).

<comment><AUTHOR> Thanks for the link. That was a good detailed discussion.</comment></comment>


Metacompilers Part 1 (2008) - <AUTHOR> http://www.bayfronttechnologies.com/mc_tutorial.html <comment><USER2> More background at [http://onfoodandcoding.blogspot.com/2013/02/meta-ii-early- me...](http://onfoodandcoding.blogspot.com/2013/02/meta-ii-early-meta- compiler.html)

Alessandro Warth's OMeta is a modern version of ideas in Meta II, [http://tinlizzie.org/ometa/](http://tinlizzie.org/ometa/)

OMeta is used in KScript and KSworld, from Alan Kay's Viewpoints research, [http://www.vpri.org/pdf/tr2013002_KSonward.pdf](http://www.vpri.org/pdf/tr2013002_KSonward.pdf)

 _" KScript is a dynamic language based on the declarative and time-aware dataflow-style execution model of Functional Reactive Programming (FRP), extended with support for loose coupling among program elements and a high degree of program reconfigurability

... the KSWorld environment supports exploratory application building: a user constructs the appearance interactively with direct manipulation, then attaches and refines reactive variable definitions to achieve the desired overall behavior."_

Edit: more on KSworld, [http://www.vpri.org/pdf/m2013003_ksapps.pdf](http://www.vpri.org/pdf/m2013003_ksapps.pdf)

 _" The software for today's personal computing environments has become so complex that no single person can understand an entire system: a typical desktop OS and commonly used application suite amount to over 100 million lines of code.

Our group's early experiences with personal computing led us to understand that much of this complexity is "accidental", rather than inherent ... About 10,000 lines of code were needed to build the framework, the FRP evaluator, the document model and the editor, including the implementation of the special language created for KSWorld."_

</comment><comment><USER3> See also peg.js: [http://pegjs.majda.cz/](http://pegjs.majda.cz/). The theory of parsing and compiling has some really nice concrete applications all over the place. In general, if you want to properly model a specific domain computationally you will almost surely travel through parsers and compilers. Here's a nice talk on the topic: [http://www.infoq.com/presentations/tools- language-workbench](http://www.infoq.com/presentations/tools-language- workbench).

<comment><USER4> I've had a lot of fun playing with Parsing Expression Grammars, some of which I've documented at [http://pollrobots.blogspot.com/2013/01/parsing-expression- gr...](http://pollrobots.blogspot.com/2013/01/parsing-expression-grammar- part-1.html)

</comment></comment><comment><USER5> "As I was writing this tutorial I found myself speculating about what happened to metacompiler technology"

I suspect that one part of the answer is that for most non-trivial examples, the parsing part is the easy part and metacompilers don't help with the hard part (type checking/inference, optimization, code generation, etc).

That said, I see terrible broken ad-hoc parsers all over the place that probably could benefit from this.

<comment><USER2> In Doug Engelbart's 1969 MOAD, he mentioned that the DSLs used in the demo were built with TREE-META, the last gov-funded, unclassified metacompiler, [http://en.wikipedia.org/wiki/TREE-META](http://en.wikipedia.org/wiki/TREE- META)

Historical email: [http://www.ifcx.org/wiki/TREEMETA.html](http://www.ifcx.org/wiki/TREEMETA.html)

1974 manual: [http://www.chilton- computing.org.uk/acl/literature/manuals/t...](http://www.chilton- computing.org.uk/acl/literature/manuals/tree-meta/contents.htm)

</comment></comment><comment><USER6> That was a nice interruption to work which was nearly starting over at [https://pym.readthedocs.org/](https://pym.readthedocs.org/) But I really have to write some code.

Saved for later: [https://github.com/jalanb/pym/commit/4d5df8fd328d1c71de1a519...](https://github.com/jalanb/pym/commit/4d5df8fd328d1c71de1a519171f380e4dcfbfb11)</comment>


Measure earth's rotation with PlayStation Move - <AUTHOR> http://hackaday.com/2011/02/19/measure-earths-rotation-with-playstation-move/

<comment><USER2> This is an amazing example of the sheer deluge in data. Is this because we just have an excess in CPU and storage?</comment>


Ask HN: Why is not there a graduate school for entrepreneurs?  - <AUTHOR>

I really like Paul's revolutionary model for startup funding. However, why is not this model applied to form a graduate school? After college, there is place for common people: proffesional schools; for curious people, PhDs graduate school; but there is not one for creative people who want to implement their idea, graduate school for entrepreneurs? Research success = 1:100 + innovation (in 10 yrs), entrepreneurs = 1:10 + jobs + innovation (in 1-2 yrs). The benefits are so much greater and quicker. <comment><USER2> Graduate schools are usually designed to make money from tuition. You will find MBA programs labeled as entrepreneurial, but these schools won't fund you.

</comment><comment><USER3> Entrepreneurs would rather be working on their business.</comment>


Impostor Syndrome in Programming - <AUTHOR> https://medium.com/groftware/impostor-syndrome-in-tech-ac1911836c12 <comment><USER3> I get an imposter feeling not because I feel I know nothing but because I feel like the tech world is closing its gates to me in particular.

When I am told by my software developer friends how quickly I've learned in the last year and when I get lots of users using my projects that reinforces the idea that I would be a great developer. But then when I apply for jobs and just keep getting rejection after rejection, it wears me down and makes me feel like an imposter who isn't cool enough to join the club you know?

<comment><USER4> Lots of users using your projects, and this is a little perplexing but true, is not the most indicative thing with regards to being a good or great software developer in industry. One of the unfortunate realities of our industry is that we have allowed "developers" to, not always but quite often, be reduced to checkbox-checking, acceptance-criteria-filling bolt turners. It is Taylorism[0] writ large, and while scientific management has some undeniable benefits it is all too easy to turn craftspeople into...well, like I said, bolt turners.

Being good at shipping products doesn't make you a good bolt turner. It's something to be proud of, to be sure. But it's not something that translates into interview success at most places.

I would advise some mock interviews, etc. with those friends (assuming you have friends who have the insight of a hiring manager in whatever you're looking at) and see where you fall.

[0] - [https://en.wikipedia.org/wiki/Scientific_management](https://en.wikipedia.org/wiki/Scientific_management)

<comment><USER5> I agree and disagree with this. I agree that in many environments their definition of a "great software developer" is a bolt turner.

However I think that in many other environments, especially early stage, a "great software developer" is someone that makes sure the user's problems are met and that is definitely measured by usage.

<comment><USER4> These places certainly still exist! I'm fortunate to work in one. But they're also more rare and the requirements to land those jobs tend to be more stringent. The OP sounds like a relatively junior developer, albeit a highly motivated one; that's often a tough fit for such roles.

</comment></comment></comment></comment><comment><USER6> Sometimes I wonder how much of imposter syndrome comes from "knowing" something but being unable to clearly articulate what you know and the underlying information to others.

Like the old exercise where you have to write instructions for making PB&J. I _know_ how to make a peanut butter and jelly sandwich but when I have to explain it, clearly, and in minute detail I'm forced to acknowledge the gaps - the steps my brain just skips over and takes as a given. But PB&J is easy so even when I might struggle with articulating the mechanics of it to someone else I don't doubt my ability. That changes quickly though as complexity increases.

I've baked a _lot_ of bread and I'm intimately familiar with how my bread dough rises differently depending on lighting, the temperature of my house, and even the material I cover the dough with while it proofs. But a lot of that happens without too much active thought - I just kind of know how to adjust my mental math for these factors. I'm not sure I could clearly and succinctly articulate this knowledge to someone else. And even now I'm having imposter syndrome wondering if someone here will tell me it's clear I have no idea how yeast actually works... and maybe I don't!

<comment><USER7> I think actually teaching people is a great way of getting mastery at something. If you teach people and they get good results you can be confidant you know enough about the subject.

<comment><USER6> Yes! I've heard of the "plus-minus-equal" learning concept. You need someone with more knowledge to learn from (your plus), someone at the same knowledge to work through problems with together (your equal), and then someone to teach (your minus) so that you can be sure you've truly mastered the material.

</comment></comment></comment><comment><USER8> I feel this pretty regularly, and I've settled on an approach where I feel like I can be helpful without too much risk of giving bad information. I bucket the statements I make into three categories:

1\. 95%+ confidence, usually meaning I've done it before, or I've seen it with my own eyes, or I am experienced in this space to the level of depth that matters for this conversation. I won't qualify my level of confidence. If I'm wrong, then I'll investigate and confirm, admit that I was wrong, and we all learn something new.

2\. 80% confidence, I'll say "I think it's ____, but you should verify."

3\. 60% or lower confidence, I just leave it at "I don't know, let me look it up".

I think the other key is not to try to go into more depth than you know. For the example in the blog post, if someone said "So, how does React Native works? How does one write Javascript and then magically turn that into Java and Objective-C?" my response would be "Well, not quite, it adapts the native OS API's so that your JavaScript can manipulate native UI components." If they ask further, I would say "Honestly I haven't dug much further because I never needed it."

</comment><comment><USER9> I don't know if I should be worried or not because I've never felt like an "impostor": I'm sure I know what I'm doing, because I spent a lot of time making sure I understand everything from the ground up, and working form first-principles to more complicated topics. If it's on a computer, I can figure out how it works because I know how computers work. What I do fear is that everybody else is judging me when I don't know the answer immediately, without spending any time researching, to every question. If I'm faced with something new - let's say, React, which I don't know anything about - <USER2> inclination is to start reading about it. But I find myself surrounded be people who imply that it should take about a half hour to read everything a programmer should ever need to read about React (or Swift, or Spark, or Kafka, or Gradle, or whatever the hell else people have decided is the flavor of the day today).

<comment><USER10> _I don 't know if I should be worried or not because I've never felt like an "impostor"_

You don't need to be worried.

 _What I do fear is that everybody else is judging me when I don 't know the answer immediately, without spending any time researching, to every question._

I think there's little to fear here. Most people's judgement of you doesn't matter that much. Hopefully you have a good enough relationship with the rest that you can communicate realistic expectations with them.

 _But I find myself surrounded be people who imply that it should take about a half hour to read everything..._

I think this comes down to communication as well. Are they _implying_ this? Are you _inferring_ this? And, on the other hand, do these people _really_ know how long it should take? In my experience, they often don't.

<comment><USER9> > Are they implying this? Are you inferring this?

It's usually more along the lines of anxious, concerned looks coupled with phrases like, "how long will it take you to learn it", or "well, what part don't you understand", or "Have you tried asking Bob, he knows that".

</comment></comment></comment><comment><USER11> I've been programming since I was 12. I saw "real programmers" and was convinced their feats were nothing short of magic.

And it stuck with me. I worked for a startup that got acquired by Atlassian last week, wrote their Jira Server integration which helped land Uber as a customer. But I still wasn't a "real programmer".

This sounds stupid, but I never became a "real programmer" in my head until I developed a Minecraft mod. I got into programming because of Minecraft and I was always amazed by the modding wizards. I tried and failed when I was 13-15 to make mods.

I recently took a crack at it 6 years later and it came easily. I realized that the modders weren't wizards because I could do it now too.

I beat imposter syndrome by going back and doing the things I couldn't when I started programming. Makes you realize how far you've come and less like a fraud.

</comment><comment><USER12> What really helped me was meeting with other people in similar field. Looked at their work and was surprised that they weren't as good as I thought or even people sitting at higher position.

On the other hand, I got to know that I'm not as bad as I thought. Instead I'm good. But, still even after all this. There are times when the Imposter Syndrome kicks in.

</comment><comment> martin-adams The opening description resonates with me. I would say I'm pretty experienced in what I do, but do I know the detail of being accurate with everything? No. This is why I don't blog nearly enough because it takes a lot more time explaining details that I filter out in my day-to-day work.

Experience can come from knowing enough concepts to make stuff work, but also knowing where to look to fill in the gaps should you need to do. It's also knowing when to fill in those gaps, and when to leave them because it's not important right now.

I would say imposter syndrome is the anxious feel not knowing all the gaps and questioning yourself. Some people are impacted by this, others are not.

If you adopt a growth mindset, you see these gaps as advances in your craft, and not a measurement of your inexperience.

The real question to ask is what about that trigger is causing your to feel uneasy and become anxious. This is usually a more complex question to answer. If you can get to a point of exploring that question objectively and without judgment of yourself, you can path the way to overcoming imposter syndrome.

</comment><comment><USER13> I felt this. Pair programming can be taxing in that you don't know if you come across to your partner as knowledgeable, or, as my friend recently put it, "a wind bag." My main weapon against impostor syndrome is to turn everything into a learning experience. The way I deal with it is to explain my thought process as deeply as possible, laying out all my cards on the table. This way, the other person/people can help me tweak my understanding as I speak, so I'll emerge from the experience better equipped to speak about the topic at hand. I feel that impostor syndrome will never go away, and in some ways this is a blessing because with it comes an everlasting desire to keep learning and stay humble.

</comment><comment><USER14> Why is impostor syndrome seemingly more common- or discussed more frequently- in software engineering compared to other STEM disciplines and other white collar professions in general?

</comment><comment><USER7> While imposter syndrome might be uncomfortable, I think its generally trait that helps someone become a good developer. By realizing you don't know everything you are more inclined to continually improve your knowledge.

I think teaching and writing are also good ways of getting over it. Once you explain a concept to people you will know you don't have gaps in your knowledge to arrive at a working understanding.

I think of it as a feeling everyone feels at some point if they care about doing a good job. If you never feel it, you are probably playing it too safe and aren't growing as fast as you could be as a result.

</comment><comment><USER15> How do you know whether you need to fix Impostor Syndrome or Dunning-Kruger?

<comment><USER16> 1/4 glib, 3/4 honest prediction: if you are asking the question _about yourself_ , it's probably Impostor Syndrome at work.

<comment><USER15> Equally glib/honest response: Or Dunning-Kruger, because you are attempting to diagnose cognitive/psychological biases without formal training.

</comment></comment></comment><comment><USER17> If you ever start to feel comfortable, to feel like you are a genius and you have a handle on everything that's when you need to worry. Imposter syndrome will drive you motivate you and spur you to continue to improve. However Dunning-Kruger will turn you into an intolerable a-hole that everyone wants to avoid and will ruin things.

To paraphrase Paul Graham, great hackers don't seem to wonder why they are so smart, but rather wonder why everyone else seems so incompetent.

The trick is just to not tie, your identity, who you are, your sense of self worth to how good you are as a programmer. As long as you can avoid that embrace the imposter syndrome and let it drive you to improve, for knowledge is like compound interest, a little bit more now will result in a substantial return on investment in the future.

<comment><USER18> I don't agree with this view because it assumes that all developers receive more positive feedback and attention than they deserve.

If nobody is giving someone good feedback about their work, then it's impossible for them to feel like an impostor. There are many great developers out there who rarely get positive feedback about their work and they have no idea what people are talking about when they mention 'impostor syndrome'.

You'd be surprised by how many people fall through the cracks of the system; these people will never understand this idea of 'impostor syndrome'. I've been coding for over 15 years, both in my spare time and full time job. I've worked 7 days a week on open source. I've build several significant, scalable systems. In addition to my open source side projects, I've worked for at least a dozen different companies of all sizes in different industries and different countries.

The main theme of my career has been one of feeling constantly undervalued. I'm confident today precisely because I've been constantly undervalued in the past and this adverse environment has been the main driver for me to improve.

Recently, I started getting excellent feedback for my work, but it's not because I suddenly became a better developer, it's just that I changed companies too often to get noticed before and also I got very lucky that the people I work with now are smart enough to notice and have enough money in their pockets such that their opinions are taken seriously.

</comment></comment><comment><USER19> The fact that there's a medium paywall preventing from me reading this article serves as "imposter syndrome" in itself.</comment>


Face++: API for face detection – also detects gender, age, pose - <AUTHOR> http://www.faceplusplus.com/demo-detect/

<comment><USER2> I have some experience with computer vision [1]. It is non-trivial and requires real processing power to do it at scale. So I suspect they'll be charging soon unless they have a huge amount of funding. Other than that potential issue, this looks like a fairly usable, credible API.

[1] I wrote software to scan Facebook profile photos for overweight people. We store their ID's for targeting through FB ads.

<comment><USER3> Can you actually target Facebook ads at specific users?

<comment><USER4> You can target a group of specific users. There are some restrictions (minimum group size) but there are ways around it.[1]

[1] [http://mysocialsherpa.com/the-ultimate-retaliation- pranking-...](http://mysocialsherpa.com/the-ultimate-retaliation-pranking-my- roommate-with-targeted-facebook-ads/)

<comment><USER3> This is fucking terrifying.

</comment></comment></comment></comment><comment><USER5> I believe this is a good place to plug a very usable open source computer vision project: [http://openbiometrics.org/](http://openbiometrics.org/)

Fantastic alternative you can hack with if you're allergic to APIs that "might" charge their free service in the future.

<comment><USER6> Another project that I think is really good is dlib : [http://dlib.net](http://dlib.net)

To compare how well it works compared to OpenCV's face detector: [http://www.youtube.com/watch?v=LsK0hzcEyHI](http://www.youtube.com/watch?v=LsK0hzcEyHI)

dlib is also great at picking out facial landmarks: [http://blog.dlib.net/2014/08/real-time-face-pose- estimation....](http://blog.dlib.net/2014/08/real-time-face-pose- estimation.html)

Between dlib and OpenBR, I think almost all of these usecases can be covered without commercial APIs - if you have a large enough training set.

Face Recognition is a whole another matter though.

<comment><USER7> Sadly none of these free/open projects can do gender, age, pose

<comment><USER8> dlib does pose, see: [http://blog.dlib.net/2014/08/real-time-face-pose- estimation....](http://blog.dlib.net/2014/08/real-time-face-pose- estimation.html). No gender or age prediction though. Do many people care about gender and age prediction?

<comment><USER9> Those characteristics including ethnicity can be useful for marketing purposes.

I remember reading about a shop that used this sort of technology to profile their customers. It revealed that at a certain time of week they received an unusually large number of Japanese customers (turned out they were on a tour bus route) and responded by repositioning their Japanese member of staff to be a greeter during these periods and it significantly improved their revenue.

A similar product based around this idea might be clothes shop dummies with this built in. This would provide an interesting profile of the people interested in the particular outfit the dummy was modelling which might be useful for further advertising targeting or in the case of a multi-national brand some insights into what they should advertise in which regions.

</comment></comment></comment></comment></comment><comment><USER10> Looks interesting, might implement this on a project soon.

Their pricing is a bit iffy though... " The Face++ APIs are currently provided free of charge. However, Face++ may charge fees for future use of or access to the Face++ APIs or the Face++ services according to its sole discretion. If Face++ decides to charge for the Face++ APIs Services, Face++ will provide you prior notice of such charges. Face++ may also charge You when providing You a service different from the service under these Terms; for example, we may charge additional fees for excessive API use. "

not even a rough clue given as to how much they'll charge (could be reasonable, or very expensive)...

but, still, looks very good

</comment><comment><USER11> How do they get away with using all those celebrity photos?

Founder/CEO of the 3D Avatar Store here. We do most of what they do: face detection, facial feature detection and tracking, smile/expression analysis, and facial recognition. And we go further with 3D Reconstruction into performance animation ready 3D geometry, automated lip sync generation and so on.

<comment><USER12> A lot of people dont know or dont care. E.g. look at mightytexts website[1].

[1] [http://mightytext.net/](http://mightytext.net/)

</comment></comment><comment><USER13> I've tried this for a hobby project, and was quite surprised by the quality of the API. I'm a bit wary though because of the lack of a clear business model / pricing on their website.

</comment><comment><USER14> Reminds me of Kairos - facial recognition API api[http://www.kairos.com/](http://www.kairos.com/)

<comment><USER15> Thanks for the mention. CTO of Kairos here.

We offer a web API that will perform 2d to 3d facial recognition which helps greatly when dealing with natural world images as opposed to mug shot type of controlled imagery. We turn the 2d image into a 3d model and then normalize the pose and lighting before performing the matching leading to higher results on everyday pictures.

Check us out at www.kairos.com

</comment></comment><comment><USER16> This is fun, but it thinks I'm about 20 years older than I am, and the grey- beard Swedish sysadmin was identified as a black woman.

<comment><USER17> Yep. I'm a 30 year old bearded man. It said it was 99.7% sure I'm a 47 year old woman. At least it got my race right! Though it was only 77% sure of that.

</comment></comment><comment><USER18> Recognition leaves something to be desired. Detection classifies her as female, 40 years old ±10 years. Recognition apparently doesn't add metadata parameters from detection into it's weighting:

[http://imgur.com/n23vVQT](http://imgur.com/n23vVQT)

</comment><comment><USER19> [http://challengepost.com/software/smileforce](http://challengepost.com/software/smileforce)

ran emotional sentiment analysis from an ipad camera while user scrolled thru menu items. won a prize in salesforce $1 hackathon

</comment><comment><USER20> What's the principle behind gender detection? Is it based on machine learning algorithms trained with a huge pile of data, or is there some inherent geometric difference between male and female faces that I'm missing?

<comment><USER21> There's definitely geometric differences between male and female faces. The most distinct difference is that the male chin tends to be larger, giving the face a more "square" shape, while female faces have smaller chins, giving the face a slight "almond" shape. And I'm sure there's more subtle differences as well.

</comment></comment><comment><USER22> Test it in the browser: [https://www.mashape.com/faceplusplus/faceplusplus- face-detec...](https://www.mashape.com/faceplusplus/faceplusplus-face- detection)

</comment><comment><USER23> Lol, it doesn't like my picture much :P I'm a 31 year old white guy (ok, was 29 in the picture) and it tells me I'm probably 43 with 7 variance and black :P

<comment> V-2 I'm in my 30s and the software thinks I'm 7 or 14, depending on the pic :) And I don't look this childish at all

</comment></comment><comment><USER24> So what are some people building with this? I'm curious of the possibilities, which probably are endless.

<comment><USER25> What comes to mind is a generic "upload profile photo" for websites, where the system can automatically crop your uploaded photo. Or even just to check that it is a "valid" photo.

Not sure how the gender/age info would be useful.

That's the best I can come up with. My brain actually works best in the opposite direction (problem->solution) :)

</comment></comment><comment><USER26> Already getting 504 errors. Such an API cannot be free unless they got a huge amount of funding...

</comment><comment><USER27> This is really awesome. Good job! And the response time is pretty fast too.

</comment><comment><USER28> is this a project by the people at Face.com? I know they were acquired by fb some time ago so it would be neat to know they are still working on related stuff post-acquisition

</comment><comment><USER29> I wonder if this could be used to filter out duckface pictures...

</comment><comment><USER30> Doesn't work at all for me.

ILLEGAL_USE_OF_DEMO_KEY

<comment><USER31> You have to sign up and create an app to get the key. From what I could gather there is no limit or pricing on the site. Once you are in to the developer center they have you can see the docs and use the API. It's quite nice, even if it ages me at 31, a bit older than I am.

</comment></comment><comment><USER32> It is not even detecting my face!

<comment><USER31> It needs a good photo of mostly just your face in order to get a good detection. Detected my face quite accurately, I'd try again with a headshot.

<comment><USER33> So you need to detect the face before you can detect the face...

</comment></comment></comment><comment><USER34> happy to see this...was using face.com till facebook bought them :(

</comment><comment><USER35> Meh. Betaface has had this for years.</comment>


Limbo dev says retail model is "broken"  - <AUTHOR> http://www.next-gen.biz/news/limbo-dev-says-retail-model-broken <comment><USER2> It's not any more broken than it ever was. It's just that digital download is now possible, and has advantages.

It also has disadvantages... What if a company goes out of business? Does that mean I can't play my old games any more, if I uninstalled them? Discs are certainly better in this case.

By the same logic, commercial software is 'broken' from a customer's standpoint. I mean, open source is obviously better because it's free and Free. (That customer may be a developer, after all.)

<comment><USER3> Discs from a retail store won't even help with the current trends. Battlefield 3, for example, I bought at a brick and mortar store but the only thing it gave me was a key to activate on Origin and a DVD with packages that Origin "downloaded" from my drive and installed. I'm not sure I'd be able to install it stand-alone if I wanted to if Origin went away.

<comment><USER2> Well that I will admit is broken. But then, I think most people agree that DRM is broken by design. When they were just keeping people honest by preventing easy copies, it was one thing. The new trend to DRM is so overbearing that it affects more legit customers than pirates.</comment></comment></comment>


Why is the last digit of n^5 equal to the last digit of n? [video] - <AUTHOR> https://www.youtube.com/watch?v=ZQUTV9or98s <comment><USER3> This reminds me why I don't like induction proofs. Although sound, almost by definition no insight can be obtained from it for either why the proposition is true, or why the proof itself is valid.

Here's another proof I just though of that doesn't use induction: Let's prove that x^5-x is divisible by 10.

      x^5-x = x(x^4-1) = x(x^2+1)(X^2-1)

We want to prove that among these 3 multiplied elements, we can find the factors 2 & 5\. 2: If x is even, it's x. If x is odd, it's the other ones. 5: Consider the following table of : x | x^2 (mod 5)

      x | x^2 | Which element is divisible by 5
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      0    0       x
      1    1       x^2-1
      2    4       x^2+1
      3    4       x^2+1
      4    1       x^2-1

so we get that in all cases there is a factor of 5 as well.

Not sure this provides more insight into why the proposition is true, but IMO this proof _feels_ more valid.

<comment><USER4> You can do it without a table by factoring

x (x^2-1) (x^2+1) =

x (x-1) (x+1) (x^2 - 4 + 5) =

x (x-1) (x+1) ((x-2)(x+2) + 5)

Now one of the five consecutive numbers (x-2), (x-1), x, (x+1), (x+2) must be divisible by 5, so the whole is as well.

I agree with you about induction.

</comment></comment><comment><USER5> TL;DW: proof by induction.

Basis is trivial: 0⁵ = 0.

Inductive step:

Assume that n⁵ - n is divisible by 10.

We'll show that (n + 1)⁵ - (n + 1) is divisible by 10, too.

(n + 1)⁵ - (n + 1)

= n⁵ + 5n⁴ + 10n³ + 10n² + 5n + 1 - n - <USER2>

= (n⁵ - n) + 10(n³ + n²) + 5n(n³ + 1)

Notice that:

* (n⁵ - n) is divisible by 10, as per the inductive hypothesis;

* 10(n³ + n²) is obviously divisible by 10;

* either n or n³+1 is even, so 5n(n³ + 1) is divisible by 10.

QED.

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

</comment><comment><USER5> Alternative proof:

From Fermat's little theorem: n^5 ≡ n (mod 5).

Therefore (n^5 - n) is divisibe by 5.

(n^5 - n) is always even, so it's also divisble by 10.</comment>


The High-Flying Physics of a Plant's Exploding Fruits - <AUTHOR> https://www.nytimes.com/2018/03/09/science/hairyflower-wild-petunia-seeds.html <comment><USER2> Dwarf mistletoe, a parasite on various pine trees, use hydrostatic pressure to expel seeds at speeds up to 60 mph. (Years ago I worked on computer models of forest growth, health, and diseases—one of which is mistletoe.)

[http://www.apsnet.org/edcenter/intropp/lessons/miscellaneous...](http://www.apsnet.org/edcenter/intropp/lessons/miscellaneous/Pages/Dwarfmistletoes.aspx)

</comment><comment><USER3> Reminds me of my favorite title for a scientific (engineering) paper ever:

Shooting Mechanisms in Nature: A Systematic Review

[http://journals.plos.org/plosone/article?id=10.1371/journal....](http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0158277)

(disclosure: I work in the same department as the authors, although not at all involved in this work)

</comment><comment><USER4> Somewhat common in the eastern US is Wisteria, which also has an exploding seed pod.</comment>


Kindle gets library book lending - <AUTHOR> http://www.bbc.co.uk/news/technology-13155967

<comment><USER2> What I really want is _family_ lending. Sooner or later my wife will get a Kindle or something capable of reading Amazon books, and I want to be able to easily lend books to her without handing over _my_ Kindle.

<comment><USER3> This does seem to be something that needs to be broadly considered when it comes to new technology. For example, Netflix - one account for my household, but there's no separation between recommendations for my wife, my son, myself (which makes for some amusing confusion). In general, the possibility of personalization needs to be considered for applications where you want single- billing but might have many individuals within that account.

<comment><USER4> Netflix does have sub-accounts to allow for different family members. It works reasonably well, but you can only stream video using the primary account.

<comment><USER3> Since streaming is often the main source in my family, the sub-accounts don't appear to solve the recommendations issue.

</comment></comment></comment></comment><comment><USER5> I guess this is why the other book lending services got crushed ...</comment>


Difficult is Good - <AUTHOR> http://www.avc.com/a_vc/2011/02/difficult-is-good.html

<comment><USER2> How much of brilliance/perseverance can be nurtured/injected by parents early on?

SCVNGR's Seth Priebatsch[1]

"It's an idea that a 5-year-old Seth also learned on a ski trip.

Seth's dad took him to the top of a black diamond run and skied down about 100 feet to wait for his unprepared son. Seth threw a fit, cursing up as much of a storm as a 5-year-old could muster. But then it clicked.

"He wasn't going to come get me," he said, "so at a certain point, you just start moving."

Also, Bill Gates [2]

"The future software mogul was a headstrong 12-year-old and was having a particularly nasty argument with his mother at the dinner table. Fed up, his father threw a glass of cold water in the boy's face.

"Thanks for the shower," the young Mr. Gates snapped."

"Still, they worried that [Bill] seemed to prefer books to people. They tried to temper that streak by forcing him to be a greeter at their parties and a waiter at his father's professional functions."

[1] [http://www.cnn.com/2010/TECH/innovation/11/02/seth.priebatsc...](http://www.cnn.com/2010/TECH/innovation/11/02/seth.priebatsch.scvngr/index.html)

[2] <http://online.wsj.com/article/SB124061372413054653.html>

<comment><USER3> I'm pretty sure those traits can be influenced by parents - but the real question is what the long term success rate is. I've met people who did really well because their parents provided that kind of focus, but I've also met people who were completely screwed up by it.

Our own approach has been to make sure our son has had a lot of opportunities to learn stuff (e.g. he has been skiing since his 3rd birthday) but we do try and ensure that these things are first and foremost about being fun rather than an ordeal.

</comment></comment><comment><USER4> I do wonder what Fred Wilson and other VCs perceive as "difficult," even from brilliant people. A founder demanding to retain control after a series A might be seen as difficult from the VC's eyes. A founder who has a great vision that's not easily understood and is strong-willed might be seen as difficult, but that's the kind of brilliance and persistence that's also seen as the means to success.

Then again, someone who just makes outrageous demands with no reason can be worthless to just about everyone.

<comment><USER5> Do many people actually give up control of the company after raising Series A? I can't think of a single reason why I would do that.

<comment><USER4> pg actually wrote an essay about that:

<http://paulgraham.com/control.html>

</comment></comment></comment><comment><USER6> How often is money made with normal people that are difficult to get along with? If it is the same as normal + easygoing (i.e. rarely), then the defining characteristic would seem to be brilliance (according to the referenced quadrant chart).

Perhaps, however, it is more likely that a brilliant entrepreneur is difficult as opposed to easygoing, so the article's point of needing to get along with difficult people makes sense in that aspect. Do VC's & angels in general find that correlation to hold true?

</comment><comment><USER7> Reminded me of an article from Harvard Business Review ([http://hbr.org/product/competent-jerks-lovable-fools-and- the...](http://hbr.org/product/competent-jerks-lovable-fools-and-the- formation-of/an/R0506E-PDF-ENG), accessible excerpt <http://hbswk.hbs.edu/item/4916.html>) about the same matrix. The authors found that team members tend to prefer "lovable fools" over "competent jerks" due simply to the difficulty of working with the latter. Of course, employees working on a team don't have the same interests that investors do.

<comment><USER8> My experience at companies large and small is that employees prefer likable competent people over jerks and fools. Why isn't that also in the investors' interests?

<comment><USER7> Strictly comparing the bottom left quadrant (the "lovable fools") to the upper right quadrant (the "competent jerks"). Everyone would rather work with someone who is likable and competent.

In a large company, dabent's "BigCo", as long as you're getting your paycheck, an easy-to-along-with but less competent coworker may be less of an impediment to your ability to do your job than a competent jerk. It may also be that the article's authors were not using the same concept of "difficult" as Fred Wilson was.

<comment><USER8> > Everyone would rather work with someone who is likable and competent.

So it would seem, but Sequoia says they make less money working with them than they do with competent jerks.

> In a large company, dabent's "BigCo", as long as you're getting your > paycheck, an easy-to-along-with but less competent coworker may be less of > an impediment to your ability to do your job than a competent jerk.

The same's true in a small company. And it's easy to overlook the destructiveness of jerks; [http://www.amazon.com/Asshole-Rule-Civilized- Workplace-Survi...](http://www.amazon.com/Asshole-Rule-Civilized-Workplace- Surviving/dp/0446526568) started as an HBR article as well. So once again, I don't see why investors interests should be different.

<comment><USER9> I think you and Fred Wilson are talking about different things.

Being a "jerk" is about backstabbing people. That's not a good long term strategy.

Being "difficult" is sticking to your vision and not being afraid to offend people defending it. That's a good long term strategy if you're a good entrepreneur.

<comment><USER8> Here's the definition Fred was using, by Don Valentine of Sequoia: 'Along one axis, he put "easy to get along with" on one end and "hard to get along with" on the other end.'

</comment></comment></comment></comment></comment></comment><comment><USER10> "...most often we make money with brilliant people who are hard to get along with, but we rarely make money with normal people who are easy to get along with."

The former sounds just like Steve Jobs and the latter sounds just like John Sculley.

</comment><comment><USER11> Could it be that brilliant people who are easy to get along with, typically dont need VCs to start with?

</comment><comment><USER8> Wait a second, though. Team dynamics are a key factor of any startup's success (as snprbob was just saying at <http://news.ycombinator.com/item?id=2208326> ). Difficult people screw that up.

So "sometimes we make money with brilliant people who are easy to get along with, most often we make money with brilliant people who are hard to get along with" may well be an accurate description of Sequoia's results, but the most likely explanation for it is that it's due to how they're selecting during their funding process and then how they're interacting with the companies once they've funded them.

<comment><USER4> Someone can be difficult from an investor's perspective, but not so with a team member. Both a team member have different personalities and motivations which might not align. Co-founders are probably more likely to have found an alignment, then moved forward together.

Also, if co-founders are friends, they've likely learned to get over each one another's difficult spots and manage to have a bond that lets them work together.

</comment></comment><comment><USER12> It's easy to get things done if you're a difficult bastard. People may not like it, but if you yell loud enough they'll often do it. At least as long as you're yelling.

Relating it back to Jim Collins's books (like "Good to Great"), the difficult geniuses create phenomenal successes that peter out once they leave, but the easy going geniuses build organizations that are great on their own and can generate success without all the yelling.

Inspiration is more powerful than browbeating, but it's also a whole lot harder.

</comment><comment><USER13> "sometimes we make money with brilliant people who are easy to get along with, most often we make money with brilliant people who are hard to get along with, but we rarely make money with normal people who are easy to get along with."

You can distill that down to "we make money with brilliant people, not normal people". Seems reasonable.

It leaves out what must be the truly bad spot, normal people who are difficult to get along with.

</comment><comment><USER14> TL;DR: We invest in brilliant people who get things done, we don't mind if they're jerks as long as they get things done.

</comment><comment><USER15> Wahoo I have hope!</comment>


Enumerating Trees (2013) - <AUTHOR> https://www.cs.virginia.edu/~lat7h/blog/posts/434.html <comment><USER3> As a person, Luther Tychonievich is one of the most interesting professors I ever had.

This was one of my first impressions: he explained to us on the first day of class that (despite (because of?) his having a PhD in computer science) he did not have an internet connection at home and would not be able to respond to our emails outside of working hours.

He has also blogged publicly and extensively[1]. He has written about math and computer science--his explanation of Cantor diagonalization[2] is the first one that clicked with me. On the other hand, he has blogged about his inner life[3]. Though I am personally irreligious, it makes me happy to see him blogging about something so personal and, frankly, unfashionable. I'd hazard a guess that being publicly Christian would probably not be in your interest if you're trying to make a career for yourself in academia, but he has clearly not tried to hide it. I admire the commitment he has to the dictates of his soul.

[1]: [https://www.cs.virginia.edu/~lat7h/blog/index.html](https://www.cs.virginia.edu/~lat7h/blog/index.html)

[2]: [https://www.cs.virginia.edu/~lat7h/blog/posts/124.html](https://www.cs.virginia.edu/~lat7h/blog/posts/124.html)

[3]: [https://www.cs.virginia.edu/~lat7h/blog/posts/563.html](https://www.cs.virginia.edu/~lat7h/blog/posts/563.html)

<comment><USER4> Thank you so much for this comment. While the original submission is interesting, these links increase my appreciation of the author greatly.

As an aside, Don Knuth is another example of a world class computing scientist who is also an avowed Christian.

</comment></comment><comment><USER5> EDIT: Actually, in retrospect, this is not quite right. It maps every tree to a natural number, but not every natural number to a tree. Regardless, it can be handy in certain circumstances.

Another simpler way of doing this is to encode a tree with n levels as 2^n - <USER2> bits. The first bit is 1 if and only if this tree has a root. The next 2^(n-1) - 1 bits represent the left tree. The following 2^(n-1) - 1 bits represent the right tree. Recurse as needed until you get to a tree with only one level (which is either a single node when the bit is 1, or is nothing when the bit is 0).

I'm fairly sure this is not optimal, but it is much simpler.

<comment><USER4> This is quite like the trick for flattening binary trees into an array.

</comment></comment><comment><USER6> Enumeration techniques can be really useful in surprising situations.

I am working on a planetary terrain rendering system for a game about spaceflight. The technique is based on conforming quadtrees but at no point there is an actual tree structure, it is encoded in a single integer. Starting from an origin point, the tree is traversed by moving to the adjacent subtree or parent node using simple bit twiddling.

The goal is to write a vertex shader than can efficiently generate triangle number n in quadtree m. This will be then fed to tesselation shaders for LOD subdivision.

<comment><AUTHOR> Have you seen the VDB tree...?

VDB: High-Resolution Sparse Volumes with Dynamic Topology (Academy Award Winning data structure)

[http://www.museth.org/Ken/Publications_files/Museth_TOG13.pd...](http://www.museth.org/Ken/Publications_files/Museth_TOG13.pdf)

OpenVDB is an open-source C++ implementation with Python wrappers: [https://ken.museth.org/OpenVDB.html](https://ken.museth.org/OpenVDB.html)

[https://github.com/dreamworksanimation/openvdb](https://github.com/dreamworksanimation/openvdb)

Ken works at SpaceX now, but a few years ago he gave a lecture on VDB at the Berkeley Institute for Data Science (BIDS)...

OpenVDB: An Open Source Data Structure and Toolkit for High-Resolution Volumes [video] [https://www.youtube.com/watch?v=7hUH92xwODg](https://www.youtube.com/watch?v=7hUH92xwODg)

</comment></comment><comment><USER7> For unlables rooted trees, there are also the matula numbers which naturally map between these trees and the natural numbers.

Also, if you want binary trees, another way to do that could be to take any bijection between positive natural numbers and pairs of natural numbers (including 0), and, well, it is fairly straightforward.

Let 0 correspond to the tree of one vertex (no children), and then for any binary tree, associate it with the natural number corresponding to the pair of natural numbers which are associated with the two child subtrees.

The specific bijection used to pair them is up to you. This page seems to describe one example of this.

<comment><USER8> I have explored Matula numbers/trees before knowing what they were called. The following document has example trees and an explanation : [http://williamsharkey.com/integer-tree- isomorphism.pdf](http://williamsharkey.com/integer-tree-isomorphism.pdf)

</comment></comment><comment><USER9> Knuth teaches how to generate all trees in TAOCP [1].

[1] [http://www.cs.utsa.edu/~wagner/knuth/fasc4a.pdf](http://www.cs.utsa.edu/~wagner/knuth/fasc4a.pdf)

<comment><USER10> Knuth also has some interesting material on BDDs (binary decision diagrams), which can be used to encode, count, enumerate and uniformly sample a variety of combinatorial structures.

[http://www.cs.utsa.edu/~wagner/knuth/](http://www.cs.utsa.edu/~wagner/knuth/)

</comment></comment><comment> iams- I didn't see that mentioned the number of binary trees with n nodes -- T(n) -- is precisely the Catalan numbers

These can also be interpreted as the number of strings of parentheses with n matching pairs

So P(2) would be (()) and ()()

Surely there is a bijective map between P and T somewhere in there

</comment><comment><USER11> The concept of entropy pushes one to think of binary trees. Huffman coding used in real compressors use Huffman trees [1] that express the prefix code used to define entropy as in Colah's blog [http://colah.github.io/posts/2015-09-Visual- Information/](http://colah.github.io/posts/2015-09-Visual-Information/) Entropy is the expected lenght, so it's the weighted sum of the lenght of the paths from root to leaves, weighted by their frequency.

[1] [https://www.siggraph.org/education/materials/HyperGraph/vide...](https://www.siggraph.org/education/materials/HyperGraph/video/mpeg/mpegfaq/huffman_tutorial.html)

</comment><comment><USER12> There's a simple recipe for arithmetically encoding recursive algebraic data types (in the functional programming sense) which is related to this.

What you might have seen is Goedel numbering where a finite sequence of natural numbers a_0, a_1, ..., a_n (where n isn't fixed but can vary per sequence) is mapped bijectively onto p_0^a_0 a_1^p_1 ... a_n^p_n where p_0, p_1, ... is an enumeration of the primes.

However, if you want to represent trees instead of sequences, you have a better, simpler option. The key is the existence of a bijective pairing function between N^2 and N, which you can write as <m, n> for m, n in N.

You have a lot of choices for how to construct the pairing function. But a curious fact is that there is essentially one polynomial pairing function and it's the one you saw in class when you learned that the rationals are countable: [https://en.wikipedia.org/wiki/Fueter%E2%80%93P%C3%B3lya_theo...](https://en.wikipedia.org/wiki/Fueter%E2%80%93P%C3%B3lya_theorem).

From this perspective it should be clear that bit interleaving provides one such pairing function.

Here's a larger example of how you can use this for encoding algebraic data types. The data type in this article is an unlabeled binary tree:

        data Tree = Leaf | Node Tree Tree

I will use square brackets to denote the encoding. Then

        [Leaf]     = 0
        [Node a b] = 1 + 2*<[a], [b]>

So the tag for the sum type is the residue modulo 2, and if the tag is 1 you can divide by 2 (shift right by one bit) to extract the encoded pair of subtrees. If the sum type had three terms you could use 3 instead of 2:

        data Tree = WhiteLeaf | BlackLeaf | Node Tree Tree

        [WhiteLeaf] = 0
        [BlackLeaf] = 1
        [Node a b]  = 2 + 3*<[a], [b]>

This also works with labeled trees:

        data Tree = Leaf N | Node Tree Tree

        [Leaf n]   = 0 + 2*n
        [Node a b] = 1 + 2*<[a], [b]>

If the label type wasn't a natural number, you'd just recursively encode it.

In the above I treated the <m, n> pairing as a black box that can be implemented in different ways (e.g. Cantor pairing, bit interleaving). You can abstract out the encoding of sums as well. You're looking for a bijection between N and Inl N | Inr N and I made the particular choice

        [Inl n] = 0 + 2*n
        [Inr n] = 1 + 2*n

But you have other options as well, though this is probably the simplest. And once you have an encoding for sums and products you can apply them recursively to encode any recursive algebraic data type.

Note that the sum and pair encoding functions are bijective on the natural numbers, but the corresponding encodings for algebraic data types aren't necessarily bijective, only injective. For the unlabeled binary tree example, the number 2 has a tag of 0 (leaf) but isn't the encoding of any tree. However, the encoding for labeled binary trees is bijective if the label type is bijectively encoded. The problem with this kind of recursively constructed encoding that terminates in finite types is that you obviously cannot have a bijection between a finite set and an infinite set like N.

To tie it back into the article, he uses this encoding:

        data Tree = Leaf | Node Tree Tree

        [Leaf]     = 0
        [Node a b] = 1 + <[a], [b]>

You can extend this to my example with two kinds of leaves:

        data Tree = WhiteLeaf | BlackLeaf | Node Tree Tree

        [WhiteLeaf] = 0
        [BlackLeaf] = 1
        [Node a b]  = 2 + <[a], [b]>

Note that the tag ordering is all-important here. This only works when the tag ordering is "tail recursive". If you used 0 as the tag for Node, then there'd be an ambiguity between leaves and proper subtrees; you wouldn't know if 1 corresponded to a leaf or 0 + encoded_subtree_pair.

So, this kind of prefix-sum encoding is bijective but can only accommodate one unbounded term, which must be assigned the final tag. No tag ordering can work for this:

        data Tree = Leaf | WhiteNode Tree Tree | BlackNode Tree Tree

        [Leaf] = 0
        [WhiteNode a b] = 1 + <[a], [b]>
        [BlackNode a b] = 2 + <[a], [b]> // Wrong!

I haven't thought about ordinals for a long time, but this feels related to the fact that 1 + ω = ω is not equal to ω + 1.

<comment><AUTHOR> Re: pairing functions, two of my favorite are:

1\. Moser–de Bruijn sequence [https://en.wikipedia.org/wiki/Moser%E2%80%93de_Bruijn_sequen...](https://en.wikipedia.org/wiki/Moser%E2%80%93de_Bruijn_sequence)

      n = x + 2y
      x = n & 0x55555555
      y = (n - x) / 2

2\. A 'Binary' System for Complex Numbers, by Walter Penny

[https://www.nsa.gov/news-features/declassified- documents/tec...](https://www.nsa.gov/news-features/declassified- documents/tech-journals/assets/files/a-binary-system.pdf)

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

<comment><USER12> Yeah, if you use the Moser-de Bruijn sequence for constructing a pairing function you just get bit interleaving. You define the map expand(x_0, x_1, ..., x_n) = (x_0, 0, x_1, 0, ..., 0, x_n), apply it to x and y, multiply expand(y) by 2 to shift it over, and add them to merge the now disjoint even/odd positions. Incidentally, this decomposition of the problem is exactly how you efficiently implement bit interleaving in software except you don't even need addition:

        z = interleave(x, y) = expand(x) | (expand(y) << 1)

For the inverse you define the map compact(x_0, x_1, ..., x_2n) = (x_0, x_2, ..., x_2n) and then

        uninterleave(z) = (compact(z), compact(x >> 1)) = (x, y)

The expand map can be implemented efficiently as a logarithmic number of shift-and-merge stages, and compact can be constructed by inverting each stage separately and composing them in reverse order. A stage has this form:

        x' = x | (x << n)

You sometimes also see it written with xor. That's not necessary. What you care about is that the operation is bitwise (e.g. no carries from addition) and it must have 0 as an identity.

If x has 2n bits then this is reversible: the lower n bits in x and x' are the same, and the upper n bits in x and (x' >> n) are the same, so you can recover all 2n bits of x from x' with low(x') | high(x' >> n). You can cascade stages like this if you alternate them with appropriate masking to allow data- parallel operation. The net effect of the first stage, after masking, is to shift the upper n bits of x up by n bits while leaving the lower n bits in place. The next stage then does the same thing on the two halves in parallel with a shift of n/2, and so on until you're done. The masking prevents cross- talk between subvectors so you can operate on a single vector as if it were a set of independent subvectors. Or put another way, it enforces the precondition for the reversibility of each stage.

Anyway, just some random connections to low-level hacking.

</comment></comment></comment><comment><USER13> I wonder if this can be used to improve an algorithm [1] I worked on a year ago for building nearly-comlete binary trees out of pre-sorted array of items.

[1] [https://residualchaos.blogspot.com/](https://residualchaos.blogspot.com/)</comment>


C experiments in Swift - <AUTHOR> https://github.com/ankurp/unsafe-swift

<comment><USER2> Check this talk, "Swift and C" by Mike Ash:

[http://vimeo.com/107707576](http://vimeo.com/107707576)

<comment><USER3> Yes that talk is also good. You can see his playground here [https://mikeash.com/tmp/%f0%9f%90%8d.zip](https://mikeash.com/tmp/%f0%9f%90%8d.zip)

<comment><USER4> Thanks, I dig the emoji+Swift love.

</comment></comment></comment><comment><USER5> Everything is great until the flamebait at end.

"It is possible to do it all in Swift making it a versatile language unlike Java or Scala"

Anybody cares to elaborate on that?

<comment><USER3> Having done Java programming I have not been able to write code where I can directly allocate memory in the heap and iterate over it like in C. Correct me if I am wrong with an example.

<comment><USER6> I don't think this addresses your question directly, but there is always Unsafe. You can do a lot of direct memory manipulations through it. [http://highlyscalable.wordpress.com/2012/02/02/direct- memory...](http://highlyscalable.wordpress.com/2012/02/02/direct-memory- access-in-java/)

<comment><USER3> Good article but trying to write code like in the examples seems very cumbersome compared to writing it in Swift. The Java language syntax is partly to blame.

</comment></comment></comment></comment><comment><USER7> I wonder how longjmp() interacts with ARC. My guess is poorly.

<comment><USER8> You can manually retain / release using Unmanaged, but that seems like a lot of work when you can mix C/C++ and Swift in the same target.

<comment><USER3> Right if you are using longjmp you probably want to manage memory youself.

<comment><USER9> You also need to use volatile if you expect writes to variables to persist when calling longjmp(), because any value the compiler decides to stash in a register will be overwritten. Since Swift lacks volatile, you won't be able to make that work properly. It's fun to play with though.

</comment></comment></comment></comment><comment><USER10> I guess using setjmp/longjmp to implement something like try-catch in C is something everyone does when they discover this the first time. I did. But I was aware that it isn't a good idea, I just wanted to try it. It was some time between 13 and 11 years ago. I guess other computer science students did the same since the 80ies?

<comment><USER11> The most interesting use of setjmp/longjmp I've seen is in QEMU, which uses them to implement coroutines.

</comment></comment><comment><USER12> "Writing try-catch block using setjmp and longjmp" Great! Now I can have fun with some bad, old programming ideas!</comment>


Free As A Bird: Initial Thoughts After A Day With The New MacBook Air - <AUTHOR> http://techcrunch.com/2010/10/21/new-macbook-air-review/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=My+Yahoo

<comment><USER2> Did the author buy the computer the day it was announced, did he pre-order, or was it given to him or lent for evaluation? Knowing the origin of the product, and how it was acquired is important.

<comment><USER3> While MG Siegler is a fan of Apple, he does tend to be fair about Apple products (Android fans might disagree).

Having said that, I think it was predictable that he'd like this product.

<comment><USER2> Good to hear that.

I too think the MBA is lovely, but you can bet I would disclose how I got it, for the sake of transparency.</comment></comment></comment>


Show HN: Gigalixir: A PaaS for Elixir Apps - <AUTHOR> https://www.gigalixir.com/ <comment><USER2> Pretty cool! For anyone else that had this question, here is how this is different than heroku, which is usually my first choice for this kind of thing.

[http://gigalixir.readthedocs.io/en/latest/main.html#how- is-g...](http://gigalixir.readthedocs.io/en/latest/main.html#how-is-gigalixir- different-from-heroku-and-deis-workflow)

<comment><AUTHOR> Thanks for the link! There's also a feature comparison table here.

[http://gigalixir.readthedocs.io/en/latest/main.html#gigalixi...](http://gigalixir.readthedocs.io/en/latest/main.html#gigalixir- heroku-feature-comparison)

</comment></comment><comment><AUTHOR> Hey Hacker News,

I've been working on this for the last 6 months or so to try and help spread Elixir. Deployment is probably the top complaint when it comes to choosing Elixir so I'm trying to make that easier. Please let me know what you think!</comment>


Why AWS's new GPU instances are a computing inflection point - <AUTHOR> https://www.mapd.com/blog/2016/10/04/the-trigger-point-amazon-announces-large-gpu-instances/ <comment><USER2> I love MapD. I got to see a demo of their tech at a meetup at Nvidia's HQ this summer. I thought their graph / chart rendering backend was pretty neat.</comment>