Blekko suddenly became really good looking. - <AUTHOR> http://blekko.com/#?q=google

<comment><USER2> I'm not sure about that... Aesthetically it looks like something from 2005, and it's incredibly cluttered.

The light blue and lack of underline on the result titles makes it really difficult to read or skim them. The results are also vertically very close together. Sliding panels are weird, it feels like it's hiding relevant information. Three different fonts that don't go together. The two icons in the search box are different shades of gray. It doesn't feel like a website that an actual designer put together.

Also from the perspective of actually using this as a search engine, I can't really figure out what advantages there are over Google. It seems like the only difference is that things are grouped into categories. And the categories aren't even relevant. Look at a search for Arrested Development (<http://blekko.com/#?q=Arrested%20Development>) (one of the suggested searches on the homepage). Some links are categorized into "Movies", others "TV". Also, "Top Results" is for some reason second from the top.

</comment><comment><USER3> It's not just the UI, the interesting part is the categories. People have been trying to do clustering/categories for 15 years, and the results have usually been laughably bad!

When you have categories, you can present diverse results (maybe I wanted apple recipes when I typed Apple?) and you can avoid query reformulation when a query turns out to be overly generic.

Here's an example:

<https://blekko.com/#?q=hearing%20loss>

Now I don't know if you're interested in alternative medicine or not -- and we've got those results separated so you can either read or ignore them.

You'll probably wonder why we have both health and hearing in this result. The hearing category is websites dedicated to hearing, while health contains more generic health websites.

All of this doesn't work perfectly -- the [Arrested Development] movie/tv example is a good example of how we go wrong sometimes.

</comment><comment><USER4> Agreed with the sentiment here. Looks like a (non-designer) developer read up on some flat UI blog posts and did his/her best.

Not the worst showing, but certainly not "really good looking."

<comment><USER5> Borderline unreadable compared to Google/Yahoo/Craigslist/Reddit/Hacker News/any other site with a list.

</comment></comment><comment><USER6> Not really. Why on Earth does stuff like this make it to the front page? It's literally a link to a search. It's not news. There's no further analysis. It's just the submitter's opinion. Oh look, something new happened to a search engine no one uses. Time to let everyone on Hacker News know.

</comment><comment><USER7> I couldn't even get search results to show up until I turned off blocking of Google Analytics in Ghostery. Then I could see what search results turn up, which is always my first test of any search engine.

</comment><comment><USER8> I do not know how the page used to look. But I think, given the 'nestedness' of the information they want to display, this is not a bad way to go about it. To make things feel a bit less cluttered, I would make the category buttons an equal width.

(I'm confused as to why a seach on 'lama' doesn't give the animal category)

<comment><USER3> The categories are selected using the web graph, not using a semantic database. Lama has so many categories that 'animal' got pushed off the end of the list. [llama] doesn't get animals, either.

Another query with a similar problem is [java], which doesn't have a category about travelling to the island.

</comment></comment><comment><USER9> Reminds me a lot of what Clusty was trying to do, if anyone remembers that site.

Not sure I'm sold on the design, it's a bit flashy/sluggish and there's definitely some bugs that need polishing - for instance, if you use the scrollbar on the right stuff will get pushed up or down off the screen a bit requiring you to scroll to reposition everything after you click one of the tabs. Also there's a boxy feel which de-prioritizes the actual search results, which isn't helped by the "more/less" arrows that float over the text whenever the mouse is nearby.

I like the idea of Blekko, but this feels like a step trying to be more accessible while making the product less robust.

</comment><comment><USER10> It is pretty slow. Even ddg which I find slow at times will display instant info faster than this. Compared to this is painfully very sluggish.

</comment><comment><USER11> Yeah, well, that's just, like, your opinion, man.

</comment><comment><USER12> Here's what I saw when I clicked the link: <http://i.imgur.com/69nIXh9.png>

My first thought was "minimalism is one thing, but this is taking it a bit far". Then I realized they had actually designed a search engine UI (which is fundamentally a text box and a button) that requires Javascript.

<comment><USER3> People insist on having autocomplete in the text box, and that requires javascript. The results display engine is html5 and is shared with our tablet and phone apps.

</comment></comment><comment><USER13> I'm not a designer, but I know what I like.

I like my web pages to center on my wide monitor. When I see pages that don't do that, I assume an amateur did the page. However, obviously Blekko is not designed by amateurs. I wonder why they chose to have the page hug the left edge of my monitor.

</comment><comment><USER14> good looking is relative, so what did it look like earlier?

</comment><comment><USER15> Sarcasm?</comment>


Reverse Engineering Wipeout - <AUTHOR> http://phoboslab.org/log/2015/04/reverse-engineering-wipeout-psx <comment><USER2> Reverse engineering old games is always plenty of fun, there are so many different and unusual approaches available. One thing I've found particularly effective is to add custom hacks and patch to the emulator itself.

For instance, when cracking the password algorithm of the original Crash Bandicoot, I came across a stack-based virtual machine for Naughty Dog's Lisp- based GOAL language. Since the game used a custom archive format for all its data and I really didn't want to start figuring that format out, so instead I patched the PCSX emulator to print out each executed virtual machine instruction and related state as they were executed: [https://github.com/dezgeg/crash-bandicoot-password- cracking/...](https://github.com/dezgeg/crash-bandicoot-password- cracking/blob/master/pcsx-1.9.92-vm-dump.patch)

<comment><USER3> This is very cool; thanks for sharing.

I wrote the GOOL code that you reverse engineered. It was probably only 8 lines of lisp code or so. The basis of the algorithm was simple modular exponentiation used to scramble the game state bits:

      h(x) = g^x mod p

where x was the entire game state packed into 24 bits or so. I mapped the output bit pattern to a button sequence -- every two bits mapped to one of { circle, square, triangle, x } -- to produce the output "password".

I don't remember the values for the generator g or the prime p, and no longer have the source code.

This kind of construction is very common in cryptography, and was suggested to me by Carl de Marcken, who wrote much of the lisp code at ITA Software.

<comment><USER2> Wow, what a coincidence to hear from the original author!

I never looked at (or even located) the actual password generation code, but only worked on the password verification code, as it's way easier to do it in that direction. What I initially did was to use the PCSX emulator's cheat finder feature to locate the memory address of the variable that holds the length of the entered password, then placed a memory breakpoint on that address in the NO$PSX emulator, which then lead to the discovery of the virtual machine. After some reverse engineering of the VM's instruction set and programming the VM tracer, as I knew the address of the VM instruction that incremented the password length counter, I could mash one button for 24 times, and then look at the differences in the instruction traces when the final password character was entered.

The function `check()` in [https://github.com/dezgeg/crash-bandicoot-password- cracking/...](https://github.com/dezgeg/crash-bandicoot-password- cracking/blob/master/pwgen.js) is a bit cleaned-up version of the verification function written in JavaScript, mentally translated from this trace dump: [https://github.com/dezgeg/crash-bandicoot-password- cracking/...](https://github.com/dezgeg/crash-bandicoot-password- cracking/blob/master/pass-checks.txt) . All the cryptic variable names in the JS come directly from the virtual machine's "registers".

The function make() in the JS is my implementation of the password generator, i.e. inverse of check(), which wasn't too hard to figure out. I never did bother to find a closed-form expression for the inverse of `mixAndPermute()` function, so maybe that's where the modular exponentiation hides, but I personally don't have enough number theory-fu to crack that.

<comment><USER3> Interesting... it looks from your code like maybe I broke the bitmap into chunks and separately permuted each chunk -- probably to make things faster on the (incredibly slow) PS1 CPU.

It's a weird experience for me to try to figure out what I did 20 years ago, without access to the original source. You have almost certainly put more time and thought into reverse engineering it than I did in writing it, and at this point probably know more than I do about how it works. :) Somebody at Naughty Dog must have the code -- maybe they can post a snippet...

(I also play the Crash games with my kids and hardly remember even the levels I worked on... it's like playing a new game! Maybe I am just amnesiac...)

</comment></comment></comment></comment><comment><USER4> Hey, this is very, very, cool.

Reminds me a couple guys from the Sonic community who managed to get the old, unreleased Sonic X-Treme for the Sega Saturn to actually compile and run on real hardware.

Massive thumbs up for old-school reverse engineering/old console love.

[http://forums.sonicretro.org/index.php?showtopic=34038&st=0](http://forums.sonicretro.org/index.php?showtopic=34038&st=0)

</comment><comment><USER5> I can't remember exactly if it was te first or the second wipeout for playstation 1. But, I remember poking around the CD in good old norton commander and I've stumbled upon those textures in compressed filea as well into which I have entered as if in normal zip file. I have also found NC batch files for compilation or something like that, meaning psygnosis also used NC and forgot to purge those files from final build.

</comment><comment><USER6> Wipeout was the first thing i ever reverse engineered! Specifically, it was the files for cars - you could download more cars for it on the PC version, which had different stats, and a friend and i wanted to engineer a car where all the stats were maxed out. We got as far as being able to decode the files, but could never create a new one that the game would recognise.

At least, i think it was Wipeout. Either that or some very similar antigravity racing game.

EDIT: It wasn't Wipeout at all, it was POD: [https://sites.google.com/site/nelsonspbr/games/pod](https://sites.google.com/site/nelsonspbr/games/pod) . The cars weren't even antigravity.

<comment><USER7> Looking at the first few cars listed on that page – it looks like each has stats that sum to exactly 300, so this may have been a hardcoded limit preventing what you describe.

</comment></comment><comment><USER8> Amazing, I've tried to do this for Wipeout 3 in the past (extract the tracks) and was defeated - this makes it seem fairly easy!

<comment><USER9> Very interesting. I did this, as well. It was possible to put the Wipeout 3 CD into a CD player and play the tracks as though they were audio files. Realizing this, I used a simple audio ripper to extract the audio files. This was (I think) around 2001 or so.

<comment><USER10> Storing background music as CD-Audio was par for the course with a lot of PSX games.

<comment><USER11> And for PC games of the era. I know Descent did that.

</comment></comment></comment></comment><comment><USER12> The webgl viewer works smoothly, very enjoyable to witness PS1 games in your browser just like that.

</comment><comment><USER13> It's a shame that there was never a good PC version. If I remember correctly, Wipeout 1 had proper timing, but it only offered software rendering. There was one version with hardware acceleration, but it used some crappy proprietary 3D API (ATI CIF).

Wipeout 2 used DirectX, but it used tick-based timing which was meant for 30 FPS. So, if you capped it at 60 FPS by using vsync and 60 Hz, it ran butter- smooth but twice as fast as intended.

<comment><USER14> 2097/XL had a PC version which is relatively good and I still play it from time to time.

</comment></comment><comment><USER15> In "Silverstream - Rapier" the camera goes UNDER the road briefly in the beginning of the flyby, and then again a few seconds later.

<comment><USER16> The camera path is a cheap hack, extracted from certain track faces and has a lot of damping to smoothen things out. Going through the track in certain parts was a tradeoff.

</comment></comment><comment><USER17> Heh, I might use this in EarthSiege 2 when I manage to crack the compression algorithm used there... thanks for the idea!

</comment><comment><USER18> "given the game's age, I expected the 3D format to be quite simple and straight forward." lolz :)

</comment><comment><USER19> I always liked the music in Wipeout. It gives speed to the game. For those interested, check out Tim Wright ([http://coldstorage.org.uk](http://coldstorage.org.uk))

</comment><comment><USER20> Wow this is pretty amazing! When I played the PSP version of Wipeout, I always wondered if I could extract the game, extract the track data and add my own tracks into the game.

</comment><comment><USER14> That's quite nice, although I imagine extracting the graphics is less demanding work than redoing the physics and stuff, heh.

</comment><comment><USER21> Awesome work! And I just realized it's the same guy who created ImpactJS. Awesome developer!

</comment><comment><USER22> Amazing work, brings back memories playing that track!</comment>


Search is on for Google workers leaking secrets - <AUTHOR> https://www.thetimes.co.uk/edition/news/search-is-on-for-google-workers-leaking-secrets-9j39cslww <comment><USER2> There are two kinds of leaks.

The first kind is leaks for glory, profit, etc, ie: we're about to release this hot new product and I'm sneakily letting TechNews.whatever know about it ahead of time. Maybe you get paid for this leak. Maybe you just do it because you're excited or want to feel important. It's rule-breaking behavior for personal gain, monetary or otherwise.

The second kind is the moral, ethical leak. Whistle-blowing. My company/government is doing something that I find horrendous, that violates my ethics, that I think is or should be illegal, and I want the world to know about it. I also don't want to lose my job because despite not liking what my organization is doing, I also like my life as it is. This is rule-breaking behavior not for personal gain, but for a sense of morality.

We should not let ourselves believe these are the same thing. The first is a selfish act, while the second is (to some extent) a selfless one. Those who yell "F--- you leakers" are trying to convince you its the same thing and use the negative emotions directed at the first to convince people not to do the second.

<comment><USER3> One must take responsibility for one's morals. Our given set of societal/legal norms impart a certain level of responsibility. Because of the law, one must be responsible whether one likes it or not. The individual sits at the mercy of the society in which the individual exists. I suppose the only recourse for the individual is to help change society (this is slow, and requires even more responsibility) OR move to a different society.

<comment><USER4> Upholding an ethical morality is not the same as following the law. The law frequently does not follow the values or mores of the people themselves. And often even if it is close it lags behind in time and it is only the actions of people contrary to the law which changes it. So, I believe that your claims are unsound. Indeed it is irresponsible to follow an unjust law comma because then you will just be reinforcing injustices. See the American civil rights movement for good examples of this.

<comment><USER3> morals != laws. Re-read and you will see no association made in the grammar. Words tend to reflect back the ideas and beliefs of the reader.

<comment><USER4> it appears to be the same thing in your comment, because you say that because there is a law people have a responsibility. And that responsibility to the law becomes a moral responsibility according to the way I have read what you say that makes sense as a response to the original comment. If you would like to explain it some another way then please do!

<comment><USER3> The law forces one be responsible (without choice). If a law is passed to "kick the leakers", then if one leaks, they will be held responsible by having a good kicking for not bearing the responsibility of upholding the law. Morally, the individual is opposed to the law. Fine. Great. Even without the law, one is still responsible for their morals. Maybe the society doesn't "kick" people, maybe society supports leakers. Doesn't matter. There have been countless individuals acting "morally" (in their view), and we as a society have held them responsible. One should balance one's actions against their morals, and society's law.

<comment><USER5> Well there's the conflict then. Many people believe that morals are more important than the law, not the other way around.

And really, what you're talking about is a balance. Very few people actually believe that anyone has a total responsibility to always submit to punishments for laws. Nobody argues that people who helped slaves escape from their masters should have turned themselves into the state afterwards. Nobody argues that a North Korean dissonant should hang a sign on their door announcing their intentions to defect. Nobody argues that before the Boston Tea Party everyone involved should have said, "well there's no need for these disguises, the point will be the same regardless of whether we go to jail afterwards."

And of course in the opposite direction, nobody argues, "well, you had a good reason for running that red light, so it's perfectly reasonable to run from the police when they try to pull you over."

What you're really arguing is that leaks about a company's immoral behavior don't cross the line where people have a right to defend themselves from having their lives ruined. The reason GP disagrees with you isn't because they don't understand that orderly societies require laws. It's because they think it _does_ cross that line.

Personally, I trend towards agreeing with them. It is very easy to tell other people that they should just buck up and accept unjust consequences as a result of helping me. The reality is I (and society as a whole) benefit a lot from whistleblowers. Given that whistleblowing is already a very dangerous process, it's not clear to me why it's in my best interest to heap additional social condemnation on top of that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> When I started working at Google 14 years ago its most striking feature was the contrast between its external secrecy and its internal transparency. Essentially all engineering information was accessible to all engineers. Obviously the company has grown a lot since then, and there are numerous legal constraints on its internal transparency (contracts, national laws, commercial sensitivity, etc) but it is still has a culture of internal openness unusual for a company of its size. Many rank-and-file employees, myself included, would like to preserve that internal openness even though we may oppose recent leadership decisions regarding Maven, China, and sexual harassment, or support stronger government regulation of privacy. Hence employees' ambivalence about leaking: it has helped shine a light on important issues, but it risks important future decisions being made in secret.

</comment><comment><USER7> One of the problems with leaks is that the natural management reaction to leaks is to decrease the free flow of information within the company.

When I joined Google in early 2013 it seemed like there was a lot more information and technical details shared at internal forums like TGIF than there was by the time I left in mid 2015. In fact, we used to joke that the internal go/stopleaks web page where people reported leaks was the new way to find out what was happening in the company, since TGIF had become basically a press release..

<comment><USER4> Of course, this is classic authoritarian behaviour manipulation by the management. Stop people doing the just and correct thing by punishing everybody, so that the rank and file start to believe thatthe question of leaking should be seen in terms of their own working conditions. And they start to watch other people and turn against whistleblowing because it makes their own lives less interesting at work. This makes for more peer-to-peer surveillance in the interests of the authorities. The workers themselves start to align themselves hegemonically with the authorities, quite possibly against their and their society's interests.

<comment><USER8> My view on it it's Google has a vastly more open culture than any other place I've worked and some leaks contribute to making the culture more open but on the other hand there are people leaking pretty much everything and it's hard to have candid internal discussions when literally everything is being leaked. It's not like they all dislike leaks because management told them to, it actually has practical affect on internal discourse that are bad for the culture

</comment></comment></comment><comment><USER9> My impression is that it is not so much that management wants to stop leaks (though I'm sure they do) as it is that the vast majority of rank-and-file employees want the leaking to stop because past leaks have so very badly damaged the previously-open culture of communication within the company.

The NYT should not be my main source of information about what is going on in my workplace.

<comment><USER10> >The NYT should not be my main source of information about what is going on in my workplace.

...and I assume your position is, by implication, that no-one outside of Google has any business knowing what is going on inside it by any means, even as it sucks up unprecedented levels of information about their own lives.

<comment><USER11> That's an excellent point. There's a delicious irony about the world's nosiest company complaining about its privacy being violated.

</comment></comment></comment><comment><USER12> I have never worked at Google but I have worked at several large firms. They are without exception constituted by dozens or perhaps hundreds of tiny fiefdoms. Within each fiefdom the senior most manager has their own policies, culture and values.

If this is true of Google — which if you think about, has to be the case — then I would read this as one particular manager got very worked up about leakers.

<comment><USER13> The article doesn't really read like that to me. There's a global "stopleaks" email address to report leakers to, and leakers have been fired when reported.

</comment></comment><comment><USER14> An interesting shift.

'Don't be evil' becomes

'Don't let people know we are evil'

<comment><USER15> I think this is just Google growing up. When you're a smallish company with little influence, what you say and who you talk to just don't matter. But when you're a big company, with big responsibilities and a big footprint, everything you say and do are closely watched, and therefore matter. You just can't run a multi-billion dollar enterprise like a free&easy five-person startup.

<comment><USER16> Isn't that a false dichotomy? Large organizations can have organizing principles other than profit at all costs. The groups of people that comprise these organizations just choose not to.

</comment></comment></comment><comment><USER17> I don't know of any employer I've ever had that would be ok with me sharing strategic information. This sounds entirely normal to me.

<comment><USER18> _I don 't know of any employer I've ever had that would be ok with me sharing strategic information._

Letting the press know of an upcoming product is a leak of strategic information.

Letting the press know that your company aids government repression of basic human rights is not a leak of strategic information.

</comment></comment><comment><USER19> Google obviously sees China as an important growth opportunity. Perhaps their strategy is to launch a search service in China that is 'compliant' with local regulations and they thought they could do that in a balanced way (e.g. warning users upfront before searching) but now that the story is out of the bag and they can't control the narrative it's tainted their approach and the opportunity.

</comment><comment><USER20> Nothing to hide, nothing to fear~

<comment><USER21> I hope to god that phrase comes back to bite you in the ass.

<comment><USER20> I sympathize with the sentiment, but I was being sarcastic.

</comment></comment></comment><comment><USER22> Hello hackernews, what's going on here? I commented on a businessinsider* story about this. It is now a times.co.uk story that a) I can't read in full and b) is not the story I originally commented on.

I'm not particularly happy about having my comments attached to a different article than the one I originally commented on, especially one I can't read.

* i wrote bloomberg here originally; it was actually businessinsider.com.au. i'd say i regret the error but i don't really

<comment><USER23> @dang I know this isn't done often or without cause, and it certainly serves a value.

But as we grow and the necessity of url subs increase... parent does have a valid point. Particularly if changes are UI-invisible. Even a "[changed]" tag suffix might help.

<comment><USER24> We usually post a comment about it, but not all the moderators are in a position to do that.

I understand the sentiment in favor, but am not inclined to add moderation tags or widgets to HN's UI. Features like that add complexity, and take up space that might otherwise go to more valuable features.

</comment></comment></comment><comment><USER22> Comment deleted as the URL linked changed after I wrote it.

<comment><USER25> Would you like to offer up your version of events? An anonymous person saying "no, that's not accurate, in some ways, you don't need to know which," doesn't ... well, I don't know to extrapolate any meaning from that at all.

<comment><USER22> Deleted, see parent.

<comment><USER26> The description must be sufficiently similar to something that did happen, though, for you to be confident that you recognise the incident.

<comment><USER22> See parent.

<comment><USER27> So what did happen then?

</comment></comment></comment></comment></comment></comment><comment><USER28> What exactly is odd or wrong about a company wanting to stop leaks?

Is Google the next target of the press, once they are done trashing Facebook?

<comment><USER29> Google and Facebook are the two biggest violators of user privacy on the internet. You call it "trashing", I call it long-overdue public scrutiny.

<comment><USER30> It's really not about simply violating privacy. It's about the actions one takes after one violates all the privacy ever.

Big data is power. Facebook and Google know that. Everyone else had better learn. These reactions telegraph that Google and Facebook have been eagerly making use of the power they've gained, and it's obviously backfired… or, the first things they've tried to do have been totally evil and reprehensible, and successful.

<comment><USER29> Part of the goal of the GDPR is to turn massive stores of user data from a corporate asset into a legal liability. If we can get internet companies to treat user data the way brick-and-mortar companies treat hazardous chemicals-- occasionally necessary for some industrial process, but best avoided where possible, and always treated with respect--then that would be a big win for society IMO.

</comment></comment></comment></comment><comment><USER31> I'm sure that there is someone at google working on an AI solution for this. And I'm not even joking

</comment><comment><USER32> The leak about the Google winge fest after the Trump victory is an interesting data point.

On the one hand, the company claims not to be acting in a partisan way; on the other hand this comes out.

[https://www.breitbart.com/tech/2018/09/12/leaked-video- googl...](https://www.breitbart.com/tech/2018/09/12/leaked-video-google- leaderships-dismayed-reaction-to-trump-election/)

The company continues to claim, despite the contents of the video giving an appearance partisanship, that they are not biased in any way.

Then they launch the leak hunt.

If the video is no big deal, then why the big hunt and the paranoia?

Google is not just some private company out there - it is a large monopoly with the power to sway elections. They need oversight.</comment>


Where does the value in an ICO token come from? - <AUTHOR> Stocks have some underlying value as they give some sort of ownership stake in the company and can entitle you to dividends etc. Where is the value in an ICO token if you don't have any ownership stake or dividend payments? <comment><USER2> I think the value needs to be aligned with the associated network. If there is no network then I think you have increased risk of a token being a security, snake oil, or baseless speculation.

The Token Effect, by Ramon Recuero ([http://blog.ycombinator.com/the-token- effect/](http://blog.ycombinator.com/the-token-effect/)) does a good job of emphasizing the role of a network and how value is aligned. From the blog post:

"Fairness is defined by rewarding good actors monetarily for contributing value to the network."

"Tokens allow decentralized protocols to capture the value of the network."

"In summary, tokens coordinate efforts in the network and motivate responsible participation."

The hype of ICOs has been focused on tokenizing everything, which doesn't necessarily create value. Going forward, I expect the emphasis to shift from tokenizing everything to creating networks out of everything, and tokenizing those networks. However, I also expect we will require numerous, obvious, practical examples (e.g. failures) before the community refocuses on networks as the source of value and tokens as yet another tool.

</comment><comment><USER3> The short answer: out of thin air or more exactly out of ether ;)

The long answer: [https://twitter.com/nivertech/status/903964504446439424](https://twitter.com/nivertech/status/903964504446439424)

</comment><comment><USER4> From the same place where value of a roulette game comes from: from belief, hope, faith and opportunistic gambling of people that have enough coins to place them on many different numbers hoping to get some cash before the house. When you bet some coins on a number in roulette, you get no ownership and you'll get no dividends from the casino - but you may end up with some cash when the wheel stops.</comment>


What GamerGate should have taught us about the 'alt-right' (2016) - <AUTHOR> https://www.theguardian.com/technology/2016/dec/01/gamergate-alt-right-hate-trump <comment><USER2> Maybe the similarities are that they just don't like certain insinuations some journalists seem pretty keen about. Compared to media storms I think the support was genuine and I don't think many people have learned a lesson here. There were actually minorities that said pretty loudly that people leveling accusations don't speak for them.

You see these questionable alliance as an opposition towards certain media personalities. Personalities, not journalists. And there are still wounds that were inflicted. A test case is asking some authors involved about free speech for example. Or presumption of innocence. Very easy to get a rise out of some people with that. I think most would consider these fundamental to a democratic society.

Trump didn't create totalitarian or racist policies. This was and is completely devoid of facts. Yes, he got some people a tax break that probably wouldn't have needed it. Yes, he has an law & order platform. The rest only happens in the heads of some people. Most of them are just misinformed by articles like this, which I consider to be mostly lies.

To call it fascism just underlines the educational disadvantages of the writer.</comment>


VoiceGem (YC S12) Brings Communication Back To The Future - <AUTHOR> http://techcrunch.com/2012/08/02/voicegem/

<comment><USER2> I love these guys. Started using VoiceGem in beta a few weeks ago and can't stop. I am now using this with my family, who often try to reach me with no luck. The benefits are obvious - you don't have to respond to voice calls. There's an expectation on the sender's end that you will respond, eventually, but you can be in control of your time. Unlike a regular voicemail, this also allows you not to talk to the other party in real time, thus delivering your message to them, but on your time. Seriously, just try it, you'll fall in love with the app.

</comment><comment><USER3> How is this different from other apps like blip.me (besides for the obvious web vs mobile platform)? A year ago a bunch of friends and myself installed and began to use blip, but the novelty quickly wore off. Can't remember the last time I used it.

<comment><AUTHOR> We see two main differences to existing voice applications. First, VoiceGem is meant to be usable by anyone (without having to install an iPhone application, for example). This is the kind of service you can use with your parents, non- tech friends, or customers. Secondly, and maybe even more importantly, we try to enable longer, richer conversations. Whereas blip.me/Voxer focus on walkie- talkie applications (and do a great job!), the messages we get and send are often 5+ minutes long.

<comment><USER3> I do think it is important to have a platform that is easy to access, and I'm sure you guys are working hard at that.

Is there any data that validates the notion that people will be leaving 5+ minute long messages for each other? I honestly can't remember the last time I left a voicemail for a friend/family, but that is purely anecdotal.

Anyhow, good luck!

<comment><USER4> People like to _leave_ >5 minute messages. Actually listening to them is a different thing. ;)

<comment><USER5> Certainly, and it really depends on the context.

For example, being far from family and friends, I love putting on my earphones, laying down and listening to my friends' messages.

The nice thing is that I can listen to these messages anytime my hands are busy but my brain isn't. Running, driving, biking, cooking are all more fun with a story from an old-friend in the background.

</comment></comment></comment></comment></comment><comment><USER6> The onboarding process on the iphone app is probably the best I've seen on any app. This is good stuff.

Edit: But it breaks my heart to think that they will give it away for free to grow fast and then do all sorts of backflips in search of a business model. The business model is straightforward here. This product is useful. It has emotional value. Just charge good money for it and focus on making it bloody brilliant.

</comment><comment><USER7> Reminds me of Heytell. The threading of messages is a massive improvement, but still too difficult to find an old message judging only by time. Would be great to have a rudimentary speech-to-text

</comment><comment><USER8> Speaking is faster than typing but reading is faster than listening. This is why I prefer leaving messages to writing emails and reading emails to listening to messages.

I'd love it if VoiceGem grew into a service that allows me to either listen to or read a message, depending on the context (in the car vs. in the office, high vs. low emotional value). Right now the best solution is to use Google Voice to transcribe voice mail and speech recognition to quickly type out an email, but it's not ideal.

Anyway, best of luck!

<comment><AUTHOR> Great feedback, thank you! I certainly see your point, and I think it really depends on the use case. VoiceGem wasn't intended as a text replacement, but more for personal messages with emotional value, hence listening to them.

However, the use case you describe has come up several times now, so it's something we are aware of.

<comment><USER9> please do it. you might be able to convince me to ask you to take my money if you do. :)

</comment></comment></comment><comment><USER10> I started using the beta a while back and use it all the time now. It's super convenient and really slick. Good job guys.

</comment><comment><USER11> Perfect for sending love to my technologically challenged parents! :)

</comment><comment><USER12> Isn't this just voicemail? There are even services that let you leave a voicemail directly without actually calling the person. How is this different/better than that?

<comment><USER13> Voicemail is owned and run by phone companies, and thus harder to extend and digitize. It was only recently that visual voicemail became possible, and only because Apple demanded it. I can see the benefits of pulling this out of their grasp, especially in the case that was mentioned (intercontinental communication).

That said, isn't there already a very popular app that does this?

<comment><USER5> Yes, there are already apps that let you send shorter voice messages, but you have to have your friends install it first. VoiceGem lets you send as long a message as you want to anyone. They can also listen and reply without signing up, or installing anything.

</comment></comment></comment><comment><USER14> I think a Gmail plugin (Chrome/FF extension) would make this awesome. I'd love a [record] button in Gmail Compose window.

<comment><AUTHOR> Thanks. We're definitely considering that, I think it would make a lot of sense.

</comment></comment><comment><USER15> I wonder if this the idea that got them into YC or a pivot they made during the cycle. It's kind of disconcerting that this is in YC when there were probably better people/ideas that didn't even get an interview.</comment>


Flash Player Molehill preview released - <AUTHOR> http://labs.adobe.com/technologies/flashplatformruntimes/incubator/

<comment><USER2> I view this development very positively. Flash is being positioned as being the cutting edge in browser gaming. With Linux support too!

It will take years for browsers to catch up and in the meanwhile we have the capability of hosting games as complex as MMOs like World of Warcraft within a browser all with one fairly universal browser plugin.

It's time for browser games to move past sprites and tiles.

<comment><USER3> Should the universal browser plugin be Flash or NaCl?

<comment><USER4> Flash is more than a browser plugin; Flash brings a mature developer ecosystem (developers, designers, Adobe and third-party tools).

</comment></comment></comment><comment> matthew-wegner Unity announced they are working on Flash Player export via Molehill (and presumably Adobe Alchemy): [http://blogs.unity3d.com/2011/02/27/unity- flash-3d-on-the-we...](http://blogs.unity3d.com/2011/02/27/unity-flash-3d-on- the-web/)

<comment><USER5> This is a really smart move for them. The value of unity has always been in the authoring environment and not the runtime.

</comment></comment><comment><AUTHOR> If you install the Incubator release of the player, there are some live demos to try out at <http://away3d.com/away3d-4-0-alpha-release-broomstick>

<comment><USER6> After watching some videos on their website I was completely amazed. The opportunities that this API creates are amazing. I can't wait to see some 3D games for the browser. Adobe is pushing the limits again by incorporating some very low level graphics APIs. Recently it also updated the Flash player with stage video that also takes use of the GPU. Flash has always been just that, it brought to the user what the browser alone did not.

</comment></comment><comment><USER7> Advanced 3D in Flash has been an attractive idea for some time. I'm surprised Adobe didn't release this earlier in advance of WebGL as a possible competitor.

</comment><comment><USER8> Zombie Tycoon: <http://molehill.zombietycoon.com/>

</comment><comment><USER9> Can anyone find online documentation? I want to know how it compares to WebGL. Is it OpenGL-like, DirectX-like, or a wacky new API? What shader language is supported? Is GPGPU possible? What's their story on extensions? Do they support compressed textures, floating-point textures, non-power-of-two textures, vertex texture fetch?

Edit: the best thing I've found so far is here: <http://www.bytearray.org/?p=2555> Apparently Adobe invented their own wacky new API and shader language, which seems like a questionable decision. Still looking for something more detailed.

<comment><USER10> GPGPU is useless for mass gaming. The underpowered GPUs that will run most of the in-browser games will have trouble rendering the game itself, much less help with other tasks.

This is true for gaming applications in general, even on consoles and PCs with powerful cards. Game developers need the GPU to do graphics, and can find enough work for it.

<comment><USER11> Without mentionning they already have trouble finding tasks for the multiple cpus we already have.

</comment></comment></comment><comment><USER12> Finally, 3D at an affordable cost! (I hope)

Flash has always been great for experimental games. In a few hours you can make a functioning prototype, upload it to a big website and let people see your work. I look at Kongregate and Newgrounds as the programmer's equivalent of deviantART.

I would love to see HTML5 catch up with this one day, but until that I'll be using Flash to play with. And now with more liberty!

</comment><comment><USER12> If you are having performance problems, make sure you have "Enable Hardware Acceleration" checked on the right-click -> settings -> display menu.

</comment><comment><USER13> This can all be done in HTML5 :)

<comment><USER14> No, it can't.

<comment><USER15> Some parts can, some not, some are better in HTML5 / WebGL, some are better in Flash / Molehill.

GPU bottlenecked things should be more or less similar, CPU bottlenecked things are currently faster in Flash.

Flash has more troubles integrating with the rest of the browser stack (DOM layers compositing).

According to sparse info so far, Molehill will be limited by DirectX 9 capabilities, which is also the case for WebGL with ANGLE rendering backend on Windows but not for WebGL with OpenGL rendering backend on Windows / Linux / OSX (these should have capabilities of OpenGL ES 2.0).

Which means if you have a high-end graphics card, you should be able to squeeze out more from it with WebGL. Also work-in-progress are WebGL extensions, which will expose even more GPU capabilities.</comment></comment></comment>


Show HN: I built a place to stash your naughty links - <AUTHOR>

Show HN: I built a place to stash your naughty links
My name is Andrew and I built this site on a whim I had while vacationing for the holidays. Ever find good porn but can't get to it right away? What about something you really enjoyed, where do you save it? If you're like me, you don't want naughty stuff in your browsing history and especially not in your bookmarks. So I built http://xstashed.com/hn/ (clickable in comments) - a place to stash your NSFW links.
While it's a minimal viable product, I do have a basic road map that can be viewed here http://xstashed.com/todo/. As you can see a homepage is on todo list. I'll be getting to that this weekend.
I just wanted to get this in the hands of potential users to get feedback early on. On the tech side of things I've built this thing nimble so that I can quickly shape the site from your feedback. For those who are interested in the technical site of xstashed, it's a custom Django (Python) application continuously deployed with Chef. MySQL for database, Celery for background task, and Redis for cache and Celery broker. <comment><AUTHOR> Clickable (both links are sfw)

<http://xstashed.com/hn/>

<http://xstashed.com/todo/>

</comment><comment><USER2> Aren't all Django applications custom? It's a framework, it doesn't do anything by itself!

Get some pictures on the registration page. How does anyone know what they are signing up for?

<comment><AUTHOR> Not quite, there are a few turn key applications built on top of Django.

<comment><USER2> What is a turn key application?

<comment><AUTHOR> <http://www.osqa.net/> <http://opencomparison.org/> etc.

</comment></comment></comment></comment><comment><USER3> Spam - new account, porn links. No way this is legit.

<comment><AUTHOR> Would a spammer go over the technology they built the site with in detail?

<comment><USER3> Yes. Spammers do all sorts of things to seem legit.

<comment><AUTHOR> What separates a spammer from anyone else showing off their project here on HN? Just because this is in an industry that rarely shows up on HN doesn't automatically mean it's spam.

<comment><USER3> Logically the answer is "Time" and "Karma". You've been here for less than two weeks and you've submitted a porn-based submission. I'm calling shenanigans. If you'd been here a year or four + had 500+ karma and had done this, the rest of us would've believed you.

<comment><AUTHOR> So someone like you? Got it.</comment></comment></comment></comment></comment></comment>


Haskell: Batteries Included - <AUTHOR> http://www.cse.unsw.edu.au/~dons/papers/CPJS08.html <comment><USER2> Isn't the title a rip-off of the Python motto/philosophy?</comment>


Antigen is to zsh, what Vundle is to vim - <AUTHOR> https://github.com/zsh-users/antigen

<comment><USER2> I would've thought that Antigen would've been more like Pathogen for vim. Apparently, I am behind the times.

<comment><USER3> Well I guess the intent is the same but it looks a lot more like Vundle (or Bundler). You just have to define the package name in a textfile (like with Bundler) instead of managing git submodules or downloading plugins another way into their own folder.

</comment></comment><comment><USER4> It doesn't work the same way but I use this and like it: <https://github.com/sorin-ionescu/prezto>

<comment><USER5> Antigen can pull plugins (or modules as prezto calls them) from prezto too. This is a recently added feature which might break occasionally. I personally don't use the prezto loading features in Antigen.

</comment></comment><comment> js-coder I started using antigen for my dotfiles (<https://github.com/js- coder/dotfiles>) a while ago, and it's really awesome. However it does make sourcing `~/.zshrc` pretty slow.

<comment><USER6> that seems like a big disadvantage, considering how often it is sourced in a working day

<comment><USER7> There is some work on trying to speed things up, check out <https://github.com/zsh-users/antigen/pull/37> (or my fork, <https://github.com/wrboyce/antigen>) [edit: fix typo]

</comment></comment></comment><comment><USER8> Just for reference, Mat Schaffer has had a similar project for about a year, same basic goal: <https://github.com/matschaffer/zundle>

He also uses it to build a nice default zsh profile here: <https://github.com/matschaffer/zsh-matschaffer>

</comment><comment><USER9> I've seen antigen before, thing is, zsh plugins, especially useful ones, are few and far between.

I have ~30 plugins installed with Vundle, and regularly add and play with new ones.

For zsh I have exactly two (syntax highlighting and one I'm forgetting at the moment) and I can't remember the last time I saw another that looked useful.

<comment><USER10> The big difference as I see it is that the primary hassle with plugins in Vim, the fact that plugins normally all get dropped into a single directory and mixed around in such a way that they are nearly impossible to remove, doesn't really exist for zsh. You just source files wherever you happen to put them.

The features Vundle has that surpass Pathogen are also the features that I don't really consider that valuable.

<comment><USER9> Agreed (on your first point), that's definitely another reason I haven't considered using antigen.

The main feature Vundle has over pathogen for me is that I don't ever want to manage a git submodule when not forced.

</comment></comment></comment><comment><USER3> So the longterm goal of this would be to replace oh-my-zsh and it's host all plugins in one repository and hope robyrussel merges the change request?

Sounds pretty good if this works out I think. Are there any obvious downsides?

</comment><comment><USER5> Author here.

I'm late here, but if there are any questions, I'll answer.

Seeing the github stars shoot up, I guessed HN happened to the project. Here we are :)

</comment><comment><AUTHOR> Woah, the hackernews effect is quite impressive. The github project more than doubled in stars (now at 280) over the past 6 hours since posting this.

</comment><comment><AUTHOR> I'm in no way affiliated with the project. I just thought it needed some more attention because it is awesome.

</comment><comment><USER11> zprezto, 'nuf said.</comment>


Buffett predicts the Dow will hit 1M and that may actually be pessimistic - <AUTHOR> https://www.cnbc.com/2017/09/21/dow-1-million-warren-buffett-says-it-can-happen.html <comment><USER2> Meh, that's only a CAGR of just over 3.87% over 100 years that he's talking about. Nothing special.

Stocks also tend to split before they hit 4 digits, so this may never happen anyway.

</comment><comment><USER3> He said it over the course of 100 years time...

</comment><comment> gingerbread-man A more interesting question: which stocks will compose the Dow in 100 years time?</comment>


The shrinking server market (due to multi-core and virtualization) - <AUTHOR> http://arstechnica.com/news.ars/post/20070321-multicore-virtualization-and-a-shrinking-server-market-maybe-or-maybe-not.html <comment><AUTHOR> I've personally used virtualization to reduce costs in a datacenter. We had two physical servers running VMWare with three virtual servers each. Worked great.

</comment><comment><USER2> Just like huge mainframes are dwindling, the same trend can follow across other types of hardware.</comment>


Be a quitter - <AUTHOR> http://blog.dormroomfund.com/2013/07/09/be-a-quitter/ <comment><USER2> Interesting story, would be curious to hear anyone's flip-story, who quit the startup/programming treadmill to do something different?</comment>


Ask HN: Never physically met your co-founder? - <AUTHOR>

Hi all,
I'm about to submit a YC application but after getting a couple of people to take a look, they both found it problematic that I've never physically met my co-founder.
My co-founder and I have a healthier relationship than probably most people we both know physically. We've spoken every other day for at least the last 3 years, his neighbor has (quite literally) fallen in love with me and his other neighbor contacts me for life advice. My co-founder and I have worked together on large projects (albeit not technical) and have exchanged money for services (that's actually how we got to know one another-- I hired him to tutor me over Skype). Our personalities don't clash at all-- we even both have the same obscure interests (Jamaican Patois anyone?). Even when I consider all of the people I know, physically or otherwise, I cannot think of a person who would be better suited to act as a co-founder.
But still: I'm in Sydney, Australia, and he's in Florida, USA. I emailed PG about this and he said it would be a problem.
Has anyone been in this situation for YC? What does HN suggest I do? Should we bring in a third co-founder that one of us has met physically (there are a few people who have contributed and we'd eventually hire but we don't expressly consider them founders)-- would it remedy things?
Advice on this would be extremely appreciated. <comment><USER2> It is difficult to build a product when you and the co-founder have not met in person ever. That said, how would I know given that I have never worked in such a situation? I am willing to give you the benefit of doubt that this works well for you and your product.

IMO, if getting into YC is a very important goal, you simply need to workaround this and do whatever it takes to get into YC. Which includes getting another founder probably.

If YC is just a nice to have, I would say just go on and build your awesome product. Re-apply next season (if they reject) and show then what you have already accomplished with a remote co-founder.

<comment><AUTHOR> I guess we'll be adding another founder then. Do you believe the problem will persist, however, considering one of the founders wouldn't have met the other two?</comment></comment>


Using Fourier Transforms to Multiply Numbers - <AUTHOR> http://blog.robertelder.org/fast-multiplication-using-fourier-transform/ <comment><USER2> Intuitive explanation: if you interpret a time series as the coefficients of a polynomial, the Fourier transform is just polynomial multiplication (this makes sense because polynomial multiplication is just convolution). Now we can write base b numbers as polynomials with single-digit coefficients, evaluated at x = b. Then after multiplying two such numbers/polynomials the coefficients are too large. The only thing remaining is too carry the overflows in the digits to the next digit (much like the school algorithm for adding numbers).

<comment><USER3> The Fourier transform isn't polynomial multiplication. (It operates on _one_ thing, not _two_.) What the Fourier transform does is to translate between two representations of a polynomial: (1) its coefficients, (2) its values at a suitable set of points. And then the thing that makes FFT multiplication work is that _pointwise_ multiplication of values is cheaper and simpler than the convolution operation that gives you the coefficients of the product of two polynomials.

<comment><USER4> Every once in a while I pick up "The Scientist and Engineer's Guide to Digital Signal Processing" (freely downloadable: [http://www.dspguide.com/](http://www.dspguide.com/)) and it's always so satisfying to see the different relations between domains and how you can think about it. Your example is no different.

But since I never get to actually use that stuff in my just, I always forget the details.

</comment></comment></comment><comment><USER5> For anyone who's interested in a more long-form, intuitive explanation of the fourier transform and how you can use it to multiply polynomials, I'd highly recommend Erik Demaine's lecture on the topic: [https://www.youtube.com/watch?v=iTMn0Kt18tg](https://www.youtube.com/watch?v=iTMn0Kt18tg).

</comment><comment><USER6> A very interesting look at large integer multiplication, including the FFT method, that finds some interesting underlying connections mathematically between them all is given in the paper "Multidigit Multiplication for Mathematicians" by Daniel J. Bernstein [1].

He ties them all to exploiting certain ring homomorphisms, either to compute r s with the help of f(s) f(s) or to compute f(r) f(s) with the help of r s. Karatsuba, Toom, FFT, Schönhage–Strassen...all are using ring homomorphisms to go between what you want to be doing and something that is easier.

Also see his later "Fast multiplication and its applications" [2].

[1] [https://cr.yp.to/papers/m3.pdf](https://cr.yp.to/papers/m3.pdf)

[2] [https://cr.yp.to/lineartime/multapps-20080515.pdf](https://cr.yp.to/lineartime/multapps-20080515.pdf)

</comment><comment><USER7> I wrote a much more in-depth analysis of Schonhage-Strassen and why exactly it's an O(N log N log log N) algorithm here: [https://psun.me/post/fft2/](https://psun.me/post/fft2/)

It's pretty interesting--it's actually a recursive multiplication algorithm with log log N levels of recursion and N log N work at each level. And it actually uses _another_ fast multiplication algorithm within it, the Karatsuba algorithm.

</comment><comment><USER8> Man, is there anything Fourier Transforms can't do? For a music project in college, I created a book of Hammond Organ presets by taking slices of samples from actual instruments and running FTs on them, then finding the best approximation in Hammond drawbar notation. The fact that it worked so well was such a satisfying experience that I managed to make 100+ combinations.

<comment><USER9> I sort of did the reverse for a song once, I used FFT to analyze a recording of a drawbar organ I wanted to mimic, then turned that into a ZynAddSubFX additive synthesis preset.

<comment><USER8> This is where I started, actually! I wondered how far back I could go though, and the Hammond B3 worked extremely well.

</comment></comment></comment><comment><USER10> I have to admit that i've never gotten around to sitting down and thinking through why fast fft multiplication works, so I have a question that maybe someone here could answer. Some background:

If a number is a multiple of two (i.e. n= 2k+0), we call it even, or if n=2k+1 then it's odd. This is interesting because evenness and oddness form an _algebraic structure_ \- an amoeba of an algebra with only two elements: even * odd = even, odd * odd = odd, etc...

But a moment's reflection reveals there is nothing special about being a multiple of _two_. We can just as well consider multiples of three and divide the universe into three groups: if a number is a multiple of three (i.e. n=3k+0) we call it 3-even, or if n=3k+1 then it's 3-odd, or if n=3k+2 then it's 3...blern! Again this is interesting because we have a mini-algebraic structure, this time with three elements. For example, a 3-odd times a 3-blern is (3k+1) * (3j+2) = 3(k3j+k2+j)+2 which is a 3-blern.

Similarly we have multiples of four: 4-even, 4-odd, 4-blern, 4-pop. Making up these names is of course absurd, so we instead invent a notation: modular arithmetic. Traditional even and odd are arithmetic modulo 2 (mod 2 for short); 3-even 3-odd 3-blern are arithmetic mod 3, etc. The mini-algebras are the cyclic groups or the multiplicative groups of integers modulo n.

The key word there being _cyclic_ : we've identified periodic structures in the integers with different 'wavelengths' or periods, which is how long it takes for the even/odd/blern cycle to repeat:

      (mod 2) 0 1 .. 2 3 .. 4 5 .. 6 7 .. 8 9 .. 10 11 ..
      (mod 3) 0 1 2 .. 3 4 5 .. 6 7 8 .. 9 10 11 ..
      (mod 4) 0 1 2 3 .. 4 5 6 7 .. 8 9 10 11 ..

\</comment><comment>----

Back to the topic of discussion. Typically we represent a number 'locally' with coordinates given wrt a base system, but it seems we might describe a number instead nonlocally, using these cyclic groups. That is, instead of saying 1 * 10^0 + 1 * 10^1 + 0 * 10^2 ... (11) i would say

      2-odd:   11 = 2 * 5 + 1
      3-blern: 11 = 3 * 3 + 2
      4-pop:   11 = 4 * 2 + 3
      5-odd:   11 = 5 * 2 + 1

So we're doing a kind of spectral decomposition: examining the number modulo 2, then mod 3, mod 4 etc. The key observation is, if two numbers are represented this way, how do I compute their product? Well its very easy, because i know what happens when i multiply, say, an an odd times a blern.. I get a blern! Multiplication becomes a pointwise operation. My question is this... is this an equivalent encoding to the one being done by the complex roots of unity in the FFT?

<comment><USER11> You're essentially describing a residue number system, except the different moduli need to be coprime for things to be well-defined.

FFT multiplication is basically a residue number system product on polynomials. Evaluating a polynomial p(x) at a point w_i is the same as computing p(x) modulo (x - w_i), where w_i here is one of the nth roots of unity. So the FFT computes p(x) mod (x - w_0), p(x) mod (x - w_1), ..., multiplies each residue individually, and the inverse FFT recovers the result modulo (x - w_0)(x - w_1)...(x - w_{n-1}) = x^n - 1.

<comment><USER10> Thank you!

</comment></comment></comment><comment><USER12> One interesting application of NTT polynomial multiplication is in fully- homomorphic encryption libraries, such as Microsoft's SEAL [1], where the ciphertexts are polynomials of very high degree. (Disclaimer: I work at MSR using SEAL for machine learning.)

[1]: [https://github.com/Microsoft/SEAL](https://github.com/Microsoft/SEAL)

</comment><comment><USER13> This is well know in competitive programming usually it's the second best alternative after karatsuba.

<comment><USER14> Generally Fourier methods are asymptotically better than Karatsuba, but with much higher constants, which makes them kind-of impractical until you get _very_ big numbers. Anyway, do competitive programmers tend to program everything from scratch, or is there another reason they don't just use GMP?

<comment><USER15> > _Anyway, do competitive programmers tend to program everything from scratch, > or is there another reason they don 't just use GMP?_

I think directly using algorithms and programs implemented by others would be considered cheating (and these libraries are not presented on the server which checks your answer anyway). In competitive programming, participants compete their own ability and knowledge to implement algorithms.

<comment><USER13> In C++ thanks to complex the implementation is short see [https://ideone.com/tbHUN7](https://ideone.com/tbHUN7)

<comment><USER15> C99 has complex, too. I think most competitive programming contests are now using C99, finally.

</comment></comment></comment></comment></comment><comment><USER16> This property has helped make matrix profile computations feasible for motif discovery. [https://www.cs.ucr.edu/~eamonn/MatrixProfile.html](https://www.cs.ucr.edu/~eamonn/MatrixProfile.html)

</comment><comment><USER17> I don't think I've ever come across an algorithms book that discusses FFT that doesn't discuss fast polynomial multiplication when introducing the algorithm.

That's literally what the FFT does, fast polynomial multiplication.

<comment><USER18> If you come at it from an engineering approach (e.g., electrical engineer), it doesn't look like that at all. In fact, the focus is on filters and spectral analysis. It looked something like this when I was at Georgia Tech:

First, you learn about the convolution operation that, given any input function x(t), get the output of any linear time-invariant circuit as y(t). The convolution integral is nasty, professors make you feel the pain a bit. Then introduce the Laplace transform to make the computation much easier. Then go to continuous time, continuous frequency Fourier transform. Talk about frequency domain a bunch, learn filter topologies, etc. Circuits class over.

Now comes a signal processing class where you learn about discrete-time signals. First, talk lots about sampling. Then, get introduced discrete time convolution. Now, learn the z-transform and the discrete time Fourier transform (DTFT) for a discrete-time, continuous frequency signal. Mostly discuss filtering and spectral analysis. Intro to signal processing class over.

Learn about sampling the DTFT in the frequency domain. This is the DFT, which is usually presented as a sum that would require O(n^2) operations to compute. Learn that this corresponds to circular convolution and learn about zero padding for traditional convolution. Finally, get presented with Cooley-Tukey FFT algorithm for base-2. Focus is still signal and spectral analysis. Talk lots about windowing. You may get a mention that convolution corresponds to polynomial multiplication here. Or maybe they talk about grade-school multiplication, its really the same thing as polynomial multiplication with a carry. Senior level signal processing class over.

<comment><USER17> I've worked with filters and spectral analysis and you would often do this in CS in Digital Image Processing.

The point isn't what you use the FFT for but what the FFT does. The FFT does fast polynomial multiplication.

<comment><USER19> Yes that's true. But if you come at it looking at it as a sampled continuous signal and spectrum, you don't think of the FFT as fast polynomial multiplication. Neither viewpoint is wrong. Just different lenses for looking at different problems.

<comment><USER20> I think I still think of it that way. In EE you are convolving a filter with a signal in the time domain, which you can think of as a polynomial. Doing the fft, then a vector multiply +ifft accomplishes the same thing, but using the fft.

<comment><USER19> How can you think of a continuous time signal as a polynomial though? I don't know of a continuous time analogy. It seems like the polynomial only works for the discrete case. And FIR filter convolution is rarely computed by FFT in FPGAs (in stream applications).

Look at a system doing DSP for example. Let's say you have an input RF signal that goes into an analog band-pass filter, a mixer, an analog low-pass filter, a DAC, and a FPGA. The FPGA implements a FIR filter - lets say a Hilbert transform using a distributed arithmetic algorithm. You are getting envelope information out of the FPGA. There's no FFT anywhere in the FPGA to compute this filter output.

You are seeing some weird noise in your DSP output. You dig a little by looking at the output of the DAC and then look at the FFT magnitude log10. You see some suspicious spurs popping up, but at really strange discrete frequencies. You show the spectrum to an RF engineer, then you two go to the lab and put an analog spectrum analyzer on the input to the DAC. Sure enough, there are mixing products of your input carrier, mixer frequency, and sampling clock frequency. The weird spur frequencies make sense now - you are seeing folding of the mixing products from the sampling. You tweak the sampling clock to move the spur digital frequencies.

In that long but real world example, I don't see anywhere here where thinking of things in terms of polynomials would be helpful here. It's also going to lead to confusion of terminology with your RF engineer - they tend to think continuous.

<comment><USER20> Sorry, I think I misspoke. I didn't mean that I think of it in those terms normally. working with RF everyday, I think of it as time and frequency domain in the sense that you were describing. But mathematically I could see how the polynomial makes sense. Also, I was only thinking about discreet time since we are talking about the fft.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> If anyone's interested in writing and testing their code for this - [https://www.spoj.com/problems/MUL/](https://www.spoj.com/problems/MUL/)</comment>


Failure to Launch: Google+ Growth Spurt Short Lived | Chitika Insights - <AUTHOR> http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/

<comment><USER2> And counterpoint: [https://plus.google.com/u/0/113117251731252114390/posts/AZh8...](https://plus.google.com/u/0/113117251731252114390/posts/AZh8wwb76vR)

</comment><comment><USER3> Where is the raw data? how large is the sampling? how do they measure traffic?</comment>


"They Went to Sea in a Sieve, They Did" - <AUTHOR> http://www.sportsnet.ca/more/big-read-donald-crowhursts-heartbreaking-round-world-hoax/ <comment><USER2> A fascinating tidbit from Wikipedia:

>The 1986 Soviet film Race of the Century ("Гонка века") gave a dramatic presentation of the events of the Golden Globe Race and the fate of Donald Crowhurst. The movie focused on the idea of competition in a capitalist society as a soul-consuming "rat race", where all community members including children are under constant pressure, and failure and poverty are not tolerated. It portrayed Crowhurst as a deeply honest man being forced into a dangerous unwinnable enterprise by his disastrous financial situation and the greed of his entrepreneur Best. The screenplay took some liberties with the facts, such as downplaying Crowhurst's role in his own destruction, and reporting Tetley as having been killed in a wreckage instead of committing suicide many years later (probably to increase the tension). Crowhurst's suicide is ascribed chiefly to the inability of a moral person to survive in an immoral society.

</comment><comment><USER3> By the way if anyone in this community is into solo round the world sailing, the Vendee Globe is currently under way.

It's a fantastic race that happens every four years: all participants have the same type of boat, although newer generation boats are much faster than those a couple of years old, and they have to sail around the world solo and without any external help - so that if something breaks they cant stop somewhere to get a replacement part. Each sailor has a camera and is required to send videos of their journey, which are fantastic to watch if you enjoy this kind of things:

[http://www.vendeeglobe.org/en/](http://www.vendeeglobe.org/en/)

Videos: [http://www.vendeeglobe.org/en/web- tv/playlist/104](http://www.vendeeglobe.org/en/web-tv/playlist/104)

Real time gps tracking: [http://tracking2016.vendeeglobe.org/hp5ip0/](http://tracking2016.vendeeglobe.org/hp5ip0/)

<comment><USER4> Also, the race this year is especially interesting as the two first racers are still within miles of each other, even after having sailed for about 10 000 nautical miles (11 000 miles, or 18 000 kilometers)!

The navy actually just met both of them on yesterday [https://twitter.com/VendeeGlobe/status/804057688866856960/vi...](https://twitter.com/VendeeGlobe/status/804057688866856960/video/1)

</comment></comment><comment><USER5> I LOVE this story. So interesting, particularly Crowhurst and Moitessier. A lot to find:

[http://www.pbs.org/independentlens/deepwater/](http://www.pbs.org/independentlens/deepwater/)

Short tv doc on Crowhurst, how he fabricated his position to try and fake success:

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

Moitessier, who just decided to quit the race and stay at sea:

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

</comment><comment><USER6> If you want more detail on this story, I found Peter Nichol's book _A Voyage for Madmen_ on the race as a whole quite engaging.

<comment><USER7> I read _The Strange Last Voyage of Donald Crowhurst_ in high school, and can recommend that as well.

<comment><USER8> Looks like the ebook's being released later this month. Guess a marketer somewhere is laying some groundwork.

</comment></comment></comment><comment><USER9> Stop with the creepy image zooming, it's not edgy, it's annoying.

<comment><USER10> It's nothing. The pictures are clear/visible when I occasionally wander from the article to one for a moment--they zoom a bit, didn't care either way. I think UX/UI pedants see the web in a different way than the users they are supposedly championing.

<comment><USER8> Motion is always distracting. Same reason we hate animated ads.

</comment></comment></comment><comment><USER11> Incredible story, and Deep Water (the documentary) is hands-down the best documentary I've ever seen.

It's easy to write off Crowhurst as a nut job, but the movie does a great job of showing him as just a human in a tight spot.

<comment><USER12> Concur re: Deep Water doc. The competitors all carried small movie cameras and tape recorders, and there's some great / creepy footage and narration, IIRC.

Stream it: [https://www.amazon.com/dp/B004EC8IMM](https://www.amazon.com/dp/B004EC8IMM)

</comment></comment><comment><USER13> I have nothing to add to this other than I literally recite "The Jumblies" to my son every night to put him to sleep, and its the only thing that works.

I can see why the poem struck such a chord with Donald Crowhurst, though. The regret of those that didn't go and experience "the hills of the Chankly Bore" is what frames the ending.

I'm sure he read the poem to his son, too, and I could understand why the journey would have scared them both.

I thoroughly recommend Samuel West's reading from CBeebies if you are able to find it.

</comment><comment><USER14> I read this other account recently, for those that are interested:

[https://www.theguardian.com/uk/2009/apr/05/donald- crowhurst-...](https://www.theguardian.com/uk/2009/apr/05/donald-crowhurst- lone-sailor)</comment>


In developing economies, equity beats microfinance - <AUTHOR> http://finance.fortune.cnn.com/2011/04/20/in-developing-economies-equity-beats-microfinance/

<comment><USER2> Interesting article, but isn't there an implicit assumption here? That it is better to generate employment than (micro) entrepreneurs? That it is better to work for someone else than to work for yourself?

I'd challenge that assumption, and challenge it hard.

After all, it wasn't a nation of "good corporate employees who don't rock the boat" that built an Empire on which the sun never set... it was a nation of shopkeepers :D

Moreover the amount of funds required to give someone full time western style employment are surely much larger than to give some rural individual the funds to lift themselves out of a murderous loan-shark system and above the poverty line.

So in terms of ROI (where the return is net benefit to society per $ invested) micro finance has to be the winner hands down.

The thing is that it is enormously much easier to throw $1 million at some small company and feel smug that you've done your bit for peace love and mung beans. It is enormously much more difficult to go out into the bush (or wherever) and find a rural village and bootstrap them off loanshark debt by lending a selected few individuals $10 each and then carefully tracking their repayments.

$1000 carefully nurtured will bring prosperity to an entire village. A $1 million dollar loan to some small company is going to benefit the sports car and golf course industries more than it will benefit their own country. Even if some of the money went to employment instead of the owner's lifestyle, is it really 1000x more beneficial to the country than the $1000 that saves a village? I think not.</comment>


Explosion in central Oslo - <AUTHOR> http://www.bbc.co.uk/news/world-europe-14252515 <comment><USER3> Here's some footage from the attack location just seconds after the explosion: <http://www.youtube.com/watch?v=ciQvqBgK-nY>

</comment><comment><USER4> I'm living in Oslo.

With my friends here there is already a Facebook worm going on which is supposed to show some video footage about the explosion but when you click it you're just spreading/liking the video.

Shocking to see how fast spammers are.

<comment><USER5> I'd bet these guys have templates in place just for major events - <USER2> terrorist attacks.

I recall on Sept 11th the sheer rush from users to consume information on the Internet. If something like 9/11 ever happens again anywhere in the world, spammers will jump right on the event like flies on sh*t.

<comment><USER6> It's already happening. There is this example, and I recall one of the recent Christchurch earthquakes had someone complaining about similar spamming of a hashtag related to the quake on Twitter.

</comment></comment></comment><comment><USER7> We need to partition HN. I love your input, but "If they'd cover it on TV news, it's probably off-topic."

<comment><USER8> I remember someone noting that "If the world ended, I'm confident it would be covered immediately on HN."

I think this qualifies as something of sufficient importance that it should be here just so everyone is aware. We could do without the comments though. Maybe a "no comment" sort of link for events of vital importance that are off-topic? It would make a lot more sense than disabling comments for YC job postings.

<comment><USER9> I'll second your first paragraph, but would prefer to leave the comments. HN is one of my two primary news sources, largely due to it being the only place I've found this quality of discussion. When something really significant happens, I enjoy participating in a discussion about it with the HN crowd.

</comment></comment></comment><comment><USER10> And everyone jumped to conclusions that it surely was islamist extremist terrorists, al-qeada or the like. But no, it was a right-wing nationalist anti-islamist (apparently single) guy. I am so glad.

<comment><USER11> You're so glad, really? This guy was apparently Christian, so I hope that makes you feel better about the religious aspect of it. Extremists and fundamentalists are all the same, regardless of what they're worshiping.

Also, given that Islamic extremists would be the most obvious conclusion, how is it unreasonable to draw such assumptions, especially when a supposed Islamic group claimed responsibility?

<comment><USER6>
      > Extremists and fundamentalists are all the same,
      > regardless of what they're worshiping

Wouldn't this make it less likely to be _Islamic_ extremists vs fundamentalists from <insert religion>?

      > given that Islamic extremists would be the
      > most obvious conclusion

Because Muslims are more prone to being crazy and/or extreme than Christians (or people of <insert religion>)? Because Islamic extremists are the only people that use guerrilla tactics and explosive devices to get their point across?

<comment><USER12> >> Because Islamic extremists are the only people that use

>> guerrilla tactics and explosive devices to get their point

>> across?

      Until July 1997, the IRA carried out several bombing and
      shooting attacks. These included the Docklands bombing
      and the Manchester bombing, which together killed 2
      civilians, injured 212 more and caused around £500
      million in damage.

[http://en.wikipedia.org/wiki/Provisional_Irish_Republican_Ar...](http://en.wikipedia.org/wiki/Provisional_Irish_Republican_Army)

      The Oklahoma City bombing was a bomb attack on the Alfred
      P. Murrah Federal Building in downtown Oklahoma City on
      April 19, 1995.

<http://en.wikipedia.org/wiki/Oklahoma_City_bombing>

_sigh_.

<comment><USER12> Sorry, missed the sarcasm there. ( Can't edit above post anymore )

</comment></comment></comment></comment></comment><comment><USER13> Police just confirmed that at least 80 is killed at Utøya, earlier reports were 9-10. All killed by one gunman, and the deaths (at least 7) from the bomb in Oslo is in addition to these 80. :(

<comment><USER14> It's been an emotional roller coaster, and things just got even worse. I don't have words that can describe my feelings right now.

\-- A Norwegian Guy

</comment></comment><comment><USER15> CNN has a timeline that speaks of multiple bombings:

[http://news.blogs.cnn.com/2011/07/22/blast-rips-through- norw...](http://news.blogs.cnn.com/2011/07/22/blast-rips-through-norways- capital-injuries-reported/)

<comment><USER16> I was at work 3 blocks away from the bombing. If there were several bombings, they were detonated simultanously. I heard a single bang and our building shook once.

I'll add that the blast was unlike anything I've withnessed, even 3 blocks away.

</comment></comment><comment><USER13> The name and photo of the arrested man has been leaked. Here is his facebook and twitter page: <http://www.facebook.com/profile.php?id=100002651290254> <https://twitter.com/#!/AndersBBreivik>

</comment><comment><USER17> You can watch Al-Jazeera English live for free here: <http://english.aljazeera.net/watch_now/> They're covering the Oslo story right now.

</comment><comment><USER18> He's been identified: [http://www.huffingtonpost.com/2011/07/22/anders- behring-brei...](http://www.huffingtonpost.com/2011/07/22/anders-behring- breivik-id_n_907513.html)

<comment><USER19> what 's a "ring wing"?

</comment></comment><comment><USER20> I Can't understand. Why this happened to such a peaceful nation ?!

<comment><USER21> The problem with distributed command & control, is that sometimes small groups of people working on their own initiative can talk themselves into wacked-out stuff. There is a lesson here for startups.

EDIT: And by "wacked-out" I mean, "wack by even the standards of Al Qaeda." 9-11 didn't help their cause in my eyes, but I can see how they justified it to themselves. Whoever bombed Oslo - is a WTF on top of a WTF.

<comment><USER22> Obviously the solution is to control everyone.

<comment><USER21> In the case of terrorism, the solution is to address grievances before they build up into smoldering resentment.

I was surprised to learn that this was done by Norwegians.

</comment></comment></comment></comment><comment><USER23> Is there any reason to want to terrorize Norway?

<comment><USER24> I'm curious, why would you imagine that al qaeda et al _wouldn't_ want to attack Norway?

<comment><USER23> I suppose bad people do bad things, regardless of an honorable ideology. Still, I see Norway in the same way as I see Canada. They do not take strong statements for or against others, they do not engage in the affairs of others, they have had a long (modern) history of peaceful relations/intentions. The most aggressive thing they've done is commit handfuls of troops to a multinational "peacekeeping" missions.

I guess I just feel like they have more important enemies, from their perspective, to attack.

<comment><USER24> What honorable ideology do you mean? Or are you speaking generically?

Al qaeda's ideology is quite simple. They reject modernity, they reject individualism, they reject modern commerce, and industry, and open societies. They want to end the influence of the western, liberal world on the arab/islamic world so that the latter can be returned to or preserved as a bastion of conservative and traditionalist culture and religion. Norwegians are as objectionable to their ideology as Americans, as they represent precisely those forces that they are fighting against (hedonism, personal liberty, etc.)

Aside from that, Norwegians have not shown as much respect or deference to Islam as al qaeda imagines they should. Norwegian newspapers reprinted the famously blasphemous "Mohammad cartoons", for example. We may not imagine that such a thing is important, we may imagine that free expression including blasphemy is indeed even a right that all people should have, and I think we should. But we shouldn't have any illusions that there are a lot of people who think otherwise. Who believe that blasphemy, heresy, and apostasy should be banned and punished to the most severe extent even up to death. It's curious to me that so many people could so easily misapprehend the motives and ideology of so prominent a movement as militant Islamism and so prominent an organization as al qaeda.

<comment><USER25> "Norwegian newspapers reprinted the famously blasphemous "Mohammad cartoons", for example. We may not imagine that such a thing is important". Actually they did. That was the _entire_ point of reprinting the cartoons- to show they would not cower in fear and gag themselves because a very small minority threaten violence. If you are willing to sacrifice free speech, art and rational civilised debate for fear of offending people because of "blasphemy" then those terrorists are already winning.

</comment></comment></comment></comment></comment><comment><USER26> The streets here in Oslo is filled with patrolling soldiers now. Normally you only see a few policemen, and they are almost always unarmed.

The guy they have arrested for the massacre may face 21 years in prison.

</comment><comment><USER27> apparently the shooter on the island was nordic, tall, blonde in appearance. (according to tv2.no news)

<comment><USER24> That doesn't necessarily rule out al qaeda involvement, there have been caucasian taliban et al before. But we shouldn't jump to conclusions until we have the facts regardless.

<comment><USER22> I remember the Oklahoma bombing and the first picture was of some random brown muslim guy. Turns out, it was a white athiest.

Look up the FBI stats on radical muslim bombings on US soil vs radical christian vs radical athiest bombings. In fact, I seem to recall that radical jews had more attacks on US soil than radical muslims.

And since 9/11 was so neatly sown up, we'll never really know who was truly behind it.

<comment><USER28> > Look up the FBI stats on radical muslim bombings on US soil vs radical > christian vs _radical athiest bombings._

There's no such thing as a 'radical atheist' in the sense that you're using it, mate. Also, there's no mention of atheists in the FBI stats you speak of - [http://www.fbi.gov/stats- services/publications/terrorism-200...](http://www.fbi.gov/stats- services/publications/terrorism-2002-2005)

(Sorry, I'm sensitive to this, but then this is why we shouldn't be discussing religion and politics on HN...)

<comment><USER22> Alright, s/atheist/communist/

I was being lazy :P

</comment></comment></comment></comment></comment><comment><USER29> More discussion: <http://news.ycombinator.com/item?id=2793745>

</comment><comment><USER30> "Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off- topic."

150 people don't read the guidelines?

<comment><USER6> Apparently neither do you:

      > Please don't submit comments complaining that a submission is
      > inappropriate for the site. If you think something is spam or
      > offtopic, flag it by going to its page and clicking on the "flag"
      > link. (Not all users will see this; there is a karma threshold.) If
      > you flag something, please don't also comment that you did.

</comment></comment><comment><USER31> The last peaceful bastion in the world has been take over.

<comment><USER32> Uhm.... Switzerland?

<comment><USER33> Switzerland had a gunman walk into a council office and start executing people a few years (5?) ago.

</comment></comment></comment><comment><USER34> sorry but this article is absolutely awful, my sympathies to the affected victims, but there's not a single analysis of the situation. was it terrorist based, was it a hate crime, why is this stoltenberg guy such an apparent tool, what does his party do, and i love how the article makes an ass out of stoltenberg by possibly mis-quoting him as someone who has a god complex by stating that all govt ministers are ok, what about those injured and killed!? unimportant? obviously the article is against stoltenberg unless he's really that much of an incompassionate dickwad

the police in oslo much be very tight lipped, this must also be the first crime aince medieval times :)</comment>


Using parallax to create 3D effect images - <AUTHOR> http://www.8pm.ch/3D/

<comment><USER2> Looks pretty cool. Anyone know anything more about how these images were created(is there software available, etc.)?

<comment><AUTHOR> At a guess, use three identical cameras and trigger them simultaneously, then use almost any image package to create a animated GIF that displays in a loop.</comment></comment>


Why I'm Hooked on Fish Shell (and How to Set It Up Right) - <AUTHOR> https://spin.atomicobject.com/2017/05/25/fish-shell-overview/#.WSbYAeQeMN0.hackernews <comment><USER2> I have briefly tried fish. I liked it but I had to give up because it doesn't support the bash script. At work we rely on many bash scripts. If I run the scripts within a bash session, then they won't set up environment variables correctly.</comment>


Girard in Silicon Valley: Notes from a Lecture by Peter Thiel - <AUTHOR> http://www.imitatio.org/mimetic-theory/girard-in-silicon-valley.html <comment><USER2> Glosses over the role of dynastic succession as a primary motivation to institute what we now call monarchic control over subjects.

As much as I dig ontological psycho-historical speculation I find myself beginning to realize just how different we moderns are from the ancients. I fear that any resemblance between our own systems and those that existed several millennia ago would, like "Business Secrets of the Pharaohs", be purely coincidental.

It just so happened on this moist summer eve that as I stumbled upon this link I happened to be perusing Tagore's Sādhanā.

In "The Relation of the Individual to the Universe" he indeed speculates about what caused the ancient forest-dwellers to acquire wealth, build cities and become kings. After failing to become one with Nature, the ancient sadhus sought to emulate the wider Cosmos in a controllable microverse, in which they could achieve a limited all-consciousness.

Perhaps somewhat analogously to the way mathematicians in the 1930's, stymied by Gödel's proof that axiomatic formalism would always remain necessarily incomplete, created their own artificial oasis of finite and deterministic binary logic in the form of early computing.

</comment><comment><USER3> Interestingly this kind of progression is mirrored in a previous link today about the "clock like nature" of technology press - nothing > glowing > skeptical > sacrificial.

I think it's just something in human nature to want to raise and nurture something successful - but past a threshold you become too much and are now something to vilify and despise. Seems like a good way to put it is that for successful people, the public says "We think you are a God, but as soon as you believe you are, we will kill you to prove that you aren't"

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

</comment><comment><USER4> Mirror (it was sporadically down for me): [https://archive.is/lM0Ds](https://archive.is/lM0Ds)

</comment><comment><USER5> What a self-absorbed article.

</comment><comment><USER6> It's got graphs so it's definitely scientific.</comment>


Rest.li: A REST+JSON framework for robust, scalable service architectures - <AUTHOR> https://github.com/linkedin/rest.li <comment><USER2> I'm here again to be "that guy", but this isn't particularly RESTful, and does not do a lot to promote REST beyond "JSON over HTTP".

That said, it looks ok, and it does promote fairly rigorous API design, in terms of schemas, auto generating client code, and things like that - but you can apply those concepts to any protocol, it doesn't make it REST.

<comment><USER3> The schema language is based on Avro which is much more of an RPC framework.

</comment></comment><comment><USER4> This seems rather verbose compared to modern J2EE (Java CDI, JAX-WS rest, JPA).

Why the need for all the code generation? And the huge "DATA Data Schema and Templates"? When you can control serialization thru a set of annotations in fairly standarized manner? I don't understand selling point.

</comment><comment><USER5> In the README.md there is no mention which language it runs on. I overread JVM in the title and just found out because i saw the commit messages including "Java".

<comment><AUTHOR> I think, Rest.li today, works with both Java and Scala.

</comment></comment><comment><USER6> Saclability is what I look for in these frameworks.

Spray seems like a better option than this. If you want first-class async capability on the JVM, that's what Akka is for anyways, might as well just use it.

This seems a bit clunkier, is all.</comment>