Hacker Newsnew | past | comments | ask | show | jobs | submit | nawb's commentslogin

That's true, but the trophies and points are barely any value in the day-to-day. For example, in deciding to reply to a snap, the thought "My score's gonna increase if I do this" barely crosses the mind.

It's always just about keeping the conversation. And since a lot of the conversation is filler that need not be saved forever, snaps have a unique position.


The bit of game theory they actively present is Seinfeld's "Don't Break the Chain" technique. Snapchat marks and elevates contacts you individually snap at at least once a day, moving those contacts into more-and-more personally named categories ("close friend", "best friends", etc).

That bit is right in your face and rewards you for increased use.


I had no idea that was the case, but that's some next level psychological shit to be pulling on a predominantly teenage customer base. Does no one see the proposal to do something like this and think to step back for a second and consider the effect its going to have on people's lives?


In general the only people doing that are in marketing, and they only do so in the frame of trying to monetize that relationship/power/leverage.

Political wonks talk about it a lot and have various daydreams of having that type of power.

It's not talked about much, and when it is you can counter it by labeling it as a "kids these days" type argument.


so perhaps Habbo


It does look a lot like Habbo. I've never actually played Habbo, but I know about it because I track phishing scams. Phishing scams for "Habbo coins" were popular a few years ago. (The good old days, when attacks came from kids in their parents basement, not major intelligence services.)


So this is all cool, and it's incredibly nifty to have the hardware insight while writing software. But these optimizations (loop tiling, loop fusion, etc) could (and, to my knowledge, ARE) part of basic gcc and java compilers. Why are they not more commonly used? Why do we have to specifically provide a flag to say "Hey btw I almost forgot, make my program 50 times faster."

I'm slightly in the dark as to why loop optimizations are not part of the default compile process.


Optimization takes serious amounts of time - it's generally a combinatorial problem. If you are not building for production release, do you want to sit for 5 minutes (or 5 hours for a big system) while the compiler cranks away optimizing code that you are just going to rebuild in 20 minutes anyway? Plus, it just doesn't matter for a lot of production code. Finally, if the code is not in a hot path, it really doesn't matter if it is optimized or not. If you make a block of code 10x faster, but some other loop costs you 50% of the performance time, well, you really gained almost nothing. So, heavy optimization tends to be something that you turn on selectively and judiciously.


That's a good point. Thanks!


You'd be surprised. Gcc usually won't do loop interchange, which makes a huge difference for many programs, and you have to treat it just right for vectorization to work. It tries, but it's easy to write code it won't optimize.


C and Java aren't very optimizer friendly. Says something about stagnation of compiler tech that Fortran is stil the king in loop/vector opts.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: