Deep code search - <AUTHOR> https://blog.acolyer.org/2018/06/26/deep-code-search/ <comment><USER2> Hello there! Glad to see other people working on this area as well. Ho-Hsiang and I from GitHub have been prototyping this exact same approach and have published / open sourced our work about a month ago: [https://towardsdatascience.com/semantic-code- search-3cd6d244...](https://towardsdatascience.com/semantic-code- search-3cd6d244a39c)

<comment><USER2> Oh and [https://towardsdatascience.com/semantic-code- search-3cd6d244...](https://towardsdatascience.com/semantic-code- search-3cd6d244a39c) is completely open source end-to-end, with code, data, and detailed explanations on how to reproduce step-by-step.

</comment></comment><comment><USER3> I think the reverse would be incredibly more useful. Here is a giant block of code. Break it down into snippets and explain what they are doing.

I rarely have trouble finding examples of code using Google. When I do, I'm most likely using obscure languages or it's a very niche programming scenario.

</comment><comment><USER4> Great! Brings back some old memories. Straight out of college, I interviewed with some big company for a product management role. At the time the interviewer asked me to pick a website I like and describe what new features I would like to see in it. I picked github.com and said that github has a such a big corpus of code and people have so many questions about how to do this or that in a programming language. I would like to see a way to search that corpus and see related code examples. Also may be find common bug patterns and suggest fixes (I didn't know about FindBugs at the time). Sadly I didn't have a good way to implement it or a solid design idea at the time.

</comment><comment><USER5> I wonder if a similar approach could be used to help discover common programming errors and their solutions, i.e. data mine bug hindsight.

It would work something like:

1\. Go through a repo's history and look at commits.

2\. Using text classification of commit messages and/or cross-referencing with a bug tracker database (and limiting to issues that are really defects, not feature requests), identify commits that fix bugs.

3\. Now you have before and after code. Try to discover the salient part of what changed, perhaps by parsing them both and comparing ASTs, or by diffing the text. Or run the unit test (that you added with the fix) through the old code and the new code while tracing execution to see differences in the dynamic behavior of the code.

4\. Correlate this with descriptions of what the method is trying to do.

Perhaps you might be able to generate statements like "when fixing bugs related to _create a daemon_ , programmers often _add calls to close()_ or _add calls to umask()_ ".

</comment><comment><USER6> I've been playing around in this area for a while and I think there is a lot of potential - although I'm not sure code search is the ultimate expression of how this should be used.

There's another interesting paper called code2vec[1]. Code2vec uses the AST of a code snippet and builds an embedding of those rather than dealing with is as just a sequence of tokens which some earlier attempts do.

This paper does the same, which is nice.

Code2vec (at least the demo at [2] which I think is the same thing) is extremely sensitive to variable names. I'm not sure if that is a bug or if they are including that in their embedding.

If people have specific things they'd like to do if they had a tool which had deep understanding of the intent of code I'd be pretty interested to hear about it. Contact details in my profile, or reply here.

[1] [https://arxiv.org/abs/1803.09473](https://arxiv.org/abs/1803.09473)

[2] [https://code2vec.com/](https://code2vec.com/)

<comment><USER7> Another cool paper along a similar thread is DLPaper2Code: Auto-generation of Code from Deep Learning Research Papers ([https://arxiv.org/abs/1711.03543](https://arxiv.org/abs/1711.03543)).

I see opportunities with tools like this in the form of apps and/or SaaS, IF a team is willing to put thousands of hours into a top quality way to make the machine learning super user friendly. The only comparable product of such a nature I've seen is deepl.com/translator (translator better than google translate which leverages deep learning - don't trust me? go try it)

</comment></comment><comment><USER8> Anyone know if there is a chance we will actually get our hands on the core of this so we can implement it on existing codebases?

It would be an invaluable tool to search through specific codebases for the place they do X as well as for answering questions on how to do X.

<comment><USER9> Code is here I believe: [https://github.com/guxd/deep-code- search](https://github.com/guxd/deep-code-search)

<comment><USER10> Yeah it is, i've cloned it and trying to run it but i'm getting the following error: python codesearcher.py --mode train Traceback (most recent call last): File "codesearcher.py", line 10, in <module> from datashape.coretypes import real ImportError: No module named datashape.coretypes

clearly i'm doing something wrong and have no idea on how python works :P

<comment><USER11> something like `pip install --user DataShape`, maybe.

</comment></comment></comment></comment><comment><USER10> has anyone been able to implement this yet? I'd love to test it on my codebase (which is 15 years old and a monolith)

</comment><comment><USER12> ok wow that actually seems to work pretty damn credibly[1], at least given the inputs that i could come up with. i did find it difficult to come up with queries that (1) clearly would rely more on the code embeddings than the description embeddings (which i'd assume are at least pretty decent on their own), while (2) actually making sense / having a sensical answer.

the best i could come up with is describing what you want ~operationally, rather than with domain-specific (read: predictive) jargon. but while also not underspecifying it to the point where the query is nonsense[2].

but when i try the query "sort the operands in decreasing order", not only does it get a bunch of sorting functions[3], but i'll be damned if the top 2 results weren't: (1) a `swapOperands` function that takes two Comparator<T>s and returns a new one that invokes the comparison with the operands reversed and (2) a function that sorts a dequeue into decreasing order.

obviously that's not the perfect query for telling the relative contributions apart because "operands" is kinda "jargon"-y by my earlier standard, but the results did (correctly) address the only reason i'd ever search for something like that: to remember if the default comparison operator is "A - B" or "B - A". if you change "operands" to "elements", the results do get a little "worse", but i'd argue that the query (1) is actually quite a bit more vague in that formulation and (2) is less likely to represent a code snippet that actually exists, if only because most comparison operators on individual "containee" types (~"element[ type]s") are parameterized by the sort direction [citation needed].

tl;dr - lmk if anyone thinks of particularly good ways to "fool" this and/or demarcate what kinds of things are and are not well-represented by the code embeddings; to my eye they definitely seem to be doing a decent job of... embedding the code... as code embeddings are wont to do.

[1] not to "damn with faint praise"\-- if you had asked me whether something like this paper would work well enough to be useful i... would have guessed "no" :)

[2] e.g. queries like "do some machine learning on the user images" and "... on the training data" don't get very "good" results in terms of topic proximity, but there really isn't a sensible response anyway, so if anything that's a good sign-- garbage in, garbage out

[3] which obviously to be expected, as P(<can't find sorting functions> | <paper published>) is (hopefully) pretty low...</comment>


Amazon CTO named as CTO of the Year for Cloud Computing and AWS - <AUTHOR> http://www.informationweek.com/news/management/interviews/showArticle.jhtml?articleID=212501217

<comment><USER2> I think what Amazon is doing with AWS is a superb technical achievement and positions them well for the future. It's all very impressive, even as Google gets more mainstream attention.

There's one thing that holds my admiration back, though: I've read in a few places that Amazon is not a great place to work. Would those of you here who have firsthand knowledge, or have friends who do, care to comment on this?

Just to be clear, I'm not talking about free massages or foosball tables or any of the stuff in that endlessly-recycled article about "fun" workspaces we've all read a hundred times. I want to know what the culture is. Is Amazon a place where creative people have respect and are free to do great work? Is it a place where great hackers would want to be? That kind of thing.

<comment><USER3> Ok, I'll bite.

I've been at Amazon for 6.5 years. People work pretty hard and are recognized and rewarded accordingly. There's still a startup feel to the company. This is manifested in the intensity with which we work and in our rather frugal approach to spending money on fancy office furniture and other frivolous things.

There's a really deep technological core to the company. I remember an occasion which took place just a few weeks after I started there which really made this clear to me. An engineer benchmarked an "a" and a "b" distribution of the same version of the Linux kernel. "a" was 5% faster and he took the time to figure out exactly why this was the case and to see why this had happened. When you are running hundreds or thousands of servers,a 5% performance degradation can alter your cost structure significantly.

We have fun by doing great work. There may be a foosball table or two somewhere in the organization, but by and large our energy is focused on doing a great job for our customers.

Every company likes to claim that they are customer-driven. That is truly the case at Amazon. If you do something heroic to help a customer in need, you may even be recognized in front of your peers at your team's next all-hands gathering.

Creative problem solving is encouraged, but it is most likely going to happen within the space of your team.

Reasoned, fact-driven arguments prevail in meetings and in the overall decision-making process. You won't get too far with an argument that starts out with "I am guessing that..." If you do your homework, collect up the facts, and have genuine numbers to back up your hunches, you will do great.

As a developer you will be on pager duty 1/N of the time, where N is the number of developers on your team. After some piece of code wakes you up at 3 AM twice in the same week, you'll figure out that it is a weak link in the chain and you'll figure out how to strengthen it. This continuous improvement process helps us to make our systems more and more reliable over time. Of course, sometimes the fix is to rearchitect. Figure it out, put the plan together and make it happen.

We do have a "get it done" approach. There's nowhere to hide and no room for slackers or pretenders. Working in our environment tends to weed out those kinds of people pretty quickly.

Benefits are good and once you've proven yourself the pay is good too.

Like I said, I have been at Amazon for 6.5 years. I am still thrilled to come in to work every day (when I'm not traveling or working from home, that is).

Sound good? Track me down and I'll tell you about our open positions...

<comment><USER2> Fair enough, though I think we have to put an evangelist discount on everything you say.

Based on what I've observed, I have no trouble believing that Amazon is extraordinarily customer-focused and still has a startup feel. That's not quite what I'm asking about, though. I'm trying to figure out whether good hackers are esteemed by the culture or downtrodden by it (as they are in most organizations, and were in most startups of Amazon's generation). Not because I'm looking for a job, but because I'm interested in testing a pet theory.

</comment></comment></comment><comment><USER4> Now how about some recognition for the grunts who actually implemented all of it.

<comment><USER5> No no, it's much more interesting to read about what color shirt the guy wears. I mean, that's pretty important, and is clearly the key to Amazon's success.

</comment></comment><comment><USER5> I am also impressed with Amazon's other offerings, like the order fulfillment service. As a programmer, it bugs me to see people solving the same simple problem again and again; in this case filling a warehouse with packages, and paying someone to stick a mailing label on it. With Amazon, that problem is solved -- they store your stuff and send it out, freeing you up to do something that's never been done before.

The "cloud" services are the same. Instead embarking on a year-long project to build Yet Another Data Center, you can just bust out your credit card and start uploading your files.

Very meta, and very efficient.

</comment><comment><USER6> he deserves it. awesome!</comment>


The New Seiko SII NE88 Automatic Chronograph Movement: A Change in the Wind? - <AUTHOR> http://quillandpad.com/2014/06/29/the-new-seiko-ne88-automatic-chronograph-movement-a-change-in-the-wind/

<comment><USER2> I flag very rarely but i think you have earned this one.

Please read read the FAQ and consider why sending links to your web site 24 times in the last 18 days (while not commenting on any other posts but your own) is flag worthy.</comment>


A 5-part series on bootstrapping trust - <AUTHOR> https://ziti.dev/blog/bootstrapping-trust-part-1-encryption-everywhere/ <comment><USER2> Great to see more opensource project around Zero trust</comment>


Ask HN: What would you like to see from a new IDE? - <AUTHOR>

I find myself hating every IDE I have ever used.
So, in a personal "put up or shut up" challenge, I'm going to try to build a prototype of one in my free time over the next few months.
Personally, my focus is going to be on speed/memory performance, but as I'm starting from scratch, I figure that it can't hurt to ask what others might like to see from an IDE; if not for this project, then for the real IDE projects out there. <comment><USER2> First off, the burden of competition is much less if you target a language other than Java. Java already has Eclipse/IntelliJ/Netbeans, all of which are pretty good. C++ has Visual Studio (Windows only) and Eclipse (which sucked last time I used it, but I've heard it's gotten better). Basically all IDEs for dynamic languages suck. IDEs for type-inferencing languages like Haskell or Ocaml could be really interesting, because you have a lot more info available at compile-time, but I haven't seen any that I liked. (Haven't tried Leksah though.)

The basic features that everybody relies on in an IDE, in rough order of how much they improve my productivity.

      1. Autocompletion, including docs.
      2. Syntax checking
      3. Code navigation (eg. Ctrl-click to definition)
      4. Integrated debugger
      5. Refactoring
      6. Syntax highlighting
      7. Find-all-callers
      8. File browsing

Also, it should start up fast and not have any noticeable delays when accessing functionality. IDEs that hang for 10 seconds while they pop up an autocompletion dialog bug the hell out of me.

</comment><comment><USER3> I'd love to see an IDE that actively taught keyboard shortcuts as you used it. For instance, let's say you used the mouse to click a save-icon or use the File menu to save a file. I'd like to see the IDE pop up an alert, change some text or otherwise inform the user that "Hey - control-S is the keyboard shortcut to do what you just did."

Basically, I want the IDE to actively guide me towards more productive ways to use it instead of just making me refer to a help file or discover those ways on my own. I saw something like this on a presenter's laptop at a conference once a long time ago, and the brilliance of it didn't strike me until later on.

</comment><comment><USER4> The reason I don't use IDEs is Vim. I can't stand having to use the mouse to interact with my development environment.

Editor shortcuts are good, but there also need to be shortcuts for navigating between panes, tabs, and all that.

</comment><comment><USER5> I'm more minimal in my desires for IDE features. TextMate is what works best for me. It focuses on exactly what needs to be focused on: the code. Everything else, is available through Macro's, Bundles, and the like. I can't live without it.

For your thread: * focus on text/code * super adjustable text coloring, highlighting * quick to launch, especially from bash (eg: "mate gdt.s") * macro's for extended usability (running bash script on file on certain key combo)

</comment><comment><USER6> 1) stay out of _my_ way 2) well... point 1) cannot be satisfied if I don't find IDE that is build like I would build it.

</comment><comment><USER7> TABS. (and not the whitespace kind)

Every IDE I've ever used has terrible tab properties. You get lost when you're working with multiple documents. New tabs used to be created on the left in visual studio, it was ridiculous. Find some way to wrap an IDE in Chrome's windowing/tabbing environment, that would be perfect.

</comment><comment><USER8> Vim, but with a better scripting language. No, really.

<comment><USER9> Seconded. I've recently switched to Vim from Eclipse after having way too many issues with various plugins not working properly, Eclipse occasionally crashing and corrupting my project file, etc. Nine times out of ten it was a good IDE, but that ten percent of the time when it misbehaved boy did it screw me over.

I've actually started hacking a Vim plugin (JVM debugging integration) and boy is it painful. Making Vim more scriptable would go a long way in making me very very happy.

</comment></comment><comment><USER10> Why do you hate existing IDEs?

(If you need to create something yourself for it to "just work for you," then I understand that.)

</comment><comment><USER11> Holding down a button overlays a line over the logical "path" to help code comprehension.

</comment><comment><USER12> A focus on keyboard, not on mouse. Crimson Editor column-mode.</comment>


Biggest X-ray laser in the world generates its first laser light - <AUTHOR> https://www.sciencedaily.com/releases/2017/05/170504121724.htm <comment><USER2> so its a laser like x-ray beam? Where traditional x-ray fall in troughs and peaks this one seems to maintain coherence over limited distances? Nice</comment>


OK Go's video, for the song "The One Moment", took only 4.2 seconds to film - <AUTHOR> http://www.npr.org/sections/allsongs/2016/11/23/503134502/ok-gos-new-video-for-the-one-moment-is-another-mind-blower <comment><USER2> Title is inaccurate. >How long did the routine take in real time? The first three quarters of the video, from the beginning of the song until I pick up the umbrella at the a cappella breakdown, unfold over 4.2 seconds of real time. Then I lip sync in real time for about 16 seconds (we thought it was important to have a moment of human contact at this point in the song, so we returned to the realm of human experience) and we return to slow motion for the final chorus paint scene, which took a little longer than 3 seconds in real time.

<comment><USER3> That dodgy formatting made me think you were in OK Go for a moment.

<comment><USER4> Me too. Heres link to quote: [http://okgo.net/2016/11/23/background-notes-and- full-credits...](http://okgo.net/2016/11/23/background-notes-and-full-credits- for-the-one-moment-video/)

</comment></comment></comment><comment><USER5> The background notes are pretty interesting.

[http://okgo.net/2016/11/23/background-notes-and-full- credits...](http://okgo.net/2016/11/23/background-notes-and-full-credits-for- the-one-moment-video/)

<comment><USER6> "I made a motherfucker of a spreadsheet"

Love it.

<comment><USER7>

What ever happened to  elements :(

<comment> w-ll Easier to overlay other dom nodes than having a wrapper and position hacks.

<comment><USER8> I recently learned of a CSS property, object-fit, than can achieve the same positioning effects as background-size for DOM elements without having to inject background-image style attributes. But, unsurprisingly, it's got no IE support.

[https://developer.mozilla.org/en-US/docs/Web/CSS/object- fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit)

</comment></comment></comment></comment></comment><comment><USER9> Anybody know of a mirror? Facebook won't let me through :(

Edit:: found [https://m.youtube.com/watch?v=QvW61K2s0tA](https://m.youtube.com/watch?v=QvW61K2s0tA)

Bafflingly, a search on YouTube for 'OK go the one moment' didn't turn this up for me. Bunch of ripped songs came up though.

Edit 2: Ah, it's 'unlisted'. Also, I've read a few of the comments on the youtube video, so you don't have to. It's still the worst bit of the internet.

<comment><USER10> OK Go have listed there last couple songs on facebook first and then youtube second, i think it has something to do with preventing reuploads to facebook for sharing

</comment></comment><comment><USER11> Yet another solid example of the spreadsheet being the best programming tool for the masses there is out there

<comment><USER12> Spreadsheets are like FORTRAN: If you have certain, specific needs, they're the best tool for the job. However, they're not the best tool in the general case, and if you learned another programming tool first, you will recoil in disgust from some of the more non-ideal uses of it. At the end of the day, though, it gets the job done.

I never really learned spreadsheets, so for most of the (very simple) work I have to do that would involve spreadsheets, I use AWK.

<comment><USER13> > _if you learned another programming tool first, you will recoil in disgust > from some of the more non-ideal uses of it_

Will you? I've learned plenty of programming tools and I recoil in disgust at the sight of _them_ \- of all the bullshit you need to jump through to get anything done, and the arcane (and constantly changing!) knowledge you need to have to make it work. Spreadsheets are pretty much the best tool out there for exploratory work with numbers.

And because the masses don't think of it as "programming", they still build suprisingly complex models and tools within the spreadsheets, when otherwise they'd likely be scared away.

Personally, I'm in a process of learning Excel in depth - the more I work with it, the more I like it. It's like a REPL for moderate-complexity data processing and visualization.

<comment><USER12> >I've learned plenty of programming tools and I recoil in disgust at the sight of them

As do I.

>Spreadsheets are pretty much the best tool out there for exploratory work with numbers.

That's an _ideal_ use of a spreadsheet. A _non-ideal_ use would be, say, re- inventing the RDBMS in Excel (perhaps the most common one, but there are far worse sins).

>Personally, I'm in a process of learning Excel in depth

I would, but I don't have the time. As I've said: with the sort of data analysis I'm doing (very little), AWK works well enough.

</comment></comment></comment></comment><comment><USER14> The interesting thing for me about this video is the math behind "scaling up" the rhythm of the song, syncing that with the "events" (popping balloon, splodin guitar, etc), so the 6000fps cameras can cut down to, idk, 500fps or something in editing and have them all reflect the actual rhythm. Pretty cool stuff

<comment><USER15> That was one thing that occurred to me while watching the video, because they keep transitioning between different speeds they can choose the transition point so that the music will continue to match up even if in real time there was a very minute timing difference that would cause a problem. I'm assuming that's how they got the various flipbooks to sync up perfectly, where the lead singers singing when they went back to real-time video for a second.

I think I have all their albums, I love their videos and their music is often pretty good. I suppose I should know his name. (Edit: Damien)

<comment><USER16> Note that in their FAQ they specify that they really weren't fiddling with the playback speed: it's not constant but it has a handful of discrete jumps to different rates at each part (eg: the guitars exploding versus the lip syncing are at different rates but the rate is constant within the guitars exploding). Knowing this makes it _much_ more impressive.

[1] [http://okgo.net/2016/11/23/background-notes-and-full- credits...](http://okgo.net/2016/11/23/background-notes-and-full-credits-for- the-one-moment-video/)

</comment></comment></comment><comment><USER17> OK Go really do make some amazing music videos. The Rube Goldberg machine [0] one is particularily impressive. It even got its own TED talk [1].

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

1: [https://www.ted.com/talks/adam_sadowsky_engineers_a_viral_mu...](https://www.ted.com/talks/adam_sadowsky_engineers_a_viral_music_video)

<comment><USER18> Needing/Getting is pretty cool as well: [https://www.youtube.com/watch?v=MejbOFk7H6c](https://www.youtube.com/watch?v=MejbOFk7H6c)

<comment><USER19> It looks like they take a video first approach with their music.

<comment><USER20> Not exactly. "The One Moment" is already over two years old.

</comment></comment></comment></comment><comment><USER21>
      What role did Morton Salt play, and what is
      #WalkHerWalk
      Morton Salt have recently launched a campaign to
      support a group of people who are bravely making
      a positive difference in the world. They've
      pledged funding and assistance to incredibly
      inspiring and effective young innovators who are
      tackling difficult issues like the global water
      crisis, the plight of young female refugees,
      systemic failures in arts and music education,
      and children's health and wellness education.
      The slogan for this campaign is #WalkHerWalk, a
      reference to the girl in their iconic logo, and
      you can learn more about the innovators and the
      many facets of the campaign at
      http://MortonSalt.com/WalkHerWalk.

      Morton was moved by the message of "The One
      Moment," and felt it captured the spirit of
      what they are trying to do with #WalkHerWalk, so
      they reached out to us and asked if we were
      interested in making art with their salt – a
      video that could fly the banner for their
      initiative. We were impressed with their efforts
      to support positive change, so we proposed this
      idea, and together we collaborated to bring this
      video to life.

A beautiful and inspiring 4 minute video ad for Morton Salt.

<comment><USER22> Just a friendly FYI: block-quoting long-line text makes it very hard to read, especially on mobile, due to side scrolling.

<comment><USER23> It's for this reason that I usually use

> _blockquoted text_

but even that is imperfect; is there some reason that HN doesn't support actual blockquotes? has it just not been done, or is there some objection to it?

I know that perhaps egregious formatting can be detrimental, but blockquotes seem to be one of those formatting things that is extremely useful in discourse…

<comment><USER22> Agreed. I've been using italics myself. I'm not sure the reason behind the quoting limitations. Just using what I have available.

</comment></comment></comment></comment><comment><USER24> You can see that the first flipbook has a digital overlay mask for the sync of the mouth video to the words. See his right hand fingers.

<comment><USER25> Yeah, there's definitely a lot more manipulation than they admit to. Around 1:50-2:00, a guy is turning a crank that flips the pages of another flipbook, but the pages keep turning at the same speed even while the speed of the crank changes dramatically.

Also, the apparent lack of regard for personal safety irks me a little. Wear some eye protection, dudes!

<comment><USER26> From the behind the scenes video [0] it looks like safety was taken into consideration (though the final edited product doesn't make this obvious).

[0] [http://okgo.net/2016/11/23/the-one-moment- bts/](http://okgo.net/2016/11/23/the-one-moment-bts/)

<comment><USER27> Here's the robotic camera control arm they used which you can see in the BTS video.

[http://www.cameracontrol.com/equipment/bolt/](http://www.cameracontrol.com/equipment/bolt/)

</comment></comment></comment></comment><comment><USER28> It seems like it's only released on FB, which is a shame because even with their "HD" option on, I feel like I'm being transported back to YouTube circa 2008. Holy crud is the quality awful on FB videos, really undermines the work they did here.

<comment><USER29> [https://m.youtube.com/watch?v=QvW61K2s0tA](https://m.youtube.com/watch?v=QvW61K2s0tA)

It's unlisted on YT for some reason

</comment></comment><comment><USER20> Whenever I hear an OK Go song (or see one of their amazing videos), I have to remember the appearance of Damien Kulash at the Aaron Swartz memorial at the Cooper Union Great Hall. "Everybody's heart's breaking now..." Very moving.

</comment><comment><USER30> Any other bands (or music videos) that does this sort of thing? I am ready to love them!

<comment><USER31> The Pharcyde's video for "The Drop" was filmed entirely in reverse. They apparently worked with a linguist to work out mouth movements that would sync to the lyrics when played backwards. [https://www.youtube.com/watch?v=co3qMdkucM0](https://www.youtube.com/watch?v=co3qMdkucM0)

It's a really cool effect -- except for a few bits where objects fall upwards and the like, there's nothing too strikingly "off" about the motion in the video, but you can tell that something's up. It doesn't form an uncanny valley, though -- there's still an overarching "organic" feeling to the thing.

<comment><USER32> I was pretty impressed by «2 guys 600 pillows»: [https://m.youtube.com/watch?v=01TL9bUWr6I](https://m.youtube.com/watch?v=01TL9bUWr6I)

<comment><USER33> It reminds me of this old french show, they once played a scene (live) backwards. So funny and amazing : [https://www.youtube.com/watch?v=Noy0DdjG3FI](https://www.youtube.com/watch?v=Noy0DdjG3FI)

</comment></comment></comment></comment><comment><USER34> I didn't think they could top the 'Zero Gravity' clip, but indeed they did... indeed they did!

</comment><comment><USER35> Personally, I think this clip looks almost as boring as a screensaver. But then again, I might not be the target audience.

</comment><comment><USER36> OK Go needs good videos to compensate for the music quality.

</comment><comment><USER37> tech makes music cool sometimes

</comment><comment><USER38> with integrated sponsorship. "Mutual of Omaha's Wild Kingdom"

</comment><comment><USER39> HN and GO(lang) has ruined me. Every-time I see "Go" my brain tries to think Golang.

<comment><USER40> Why all the downvotes? His (dis)position is legitimate nonetheless.

<comment><USER41> probably because there is no way anyone could read the title of this post and think they are referring to a programming language ...

</comment></comment></comment><comment><USER42> No video appears in latest Firefox Mac. Also, blogspam. Official link is

[https://www.facebook.com/okgo/videos/10153836041340683/](https://www.facebook.com/okgo/videos/10153836041340683/)

(which is notable for not being at YouTube...)

<comment><USER43> I think the article adds enough context to the video that it's ok for it to be here. No one who wants to watch the video will have trouble finding it.

We did replace the baity title with the article's first sentence. (That's in accordance with the HN guideline that asks to not use original titles when they're clickbait.)

</comment></comment><comment><USER12> ...and in related news, water continues to flow downhill.

<comment><USER44> What planet are you on?

<comment><USER12> ...The one where OK Go consistantly puts out amazing music videos. Which one are you on?

<comment><USER15> So we should just ignore it?

<comment><USER12> ...No, but a comment about the consistancy is wholly deserved, imho.</comment></comment></comment></comment></comment>


Yes, The CIA Spied On Congress - <AUTHOR> http://dish.andrewsullivan.com/2014/03/05/yes-the-cia-spied-on-congress/ <comment><USER4> The thing I would be wondering in a Congressperson's shoes shoes: what _other_ things have I been doing that the CIA has been spying on?

Chilling effects indeed.

And for those inclined to brush that away as implausible, it might be time for a refresher on J. Edgar Hoover and his secret files on political leaders. [1] 50 years later, our tech is a lot better, so it would be much easier to gain inordinate power through surveillance.

[1] [http://en.wikipedia.org/wiki/J._Edgar_Hoover](http://en.wikipedia.org/wiki/J._Edgar_Hoover)

<comment><USER5> _Late in life and after his death Hoover became a controversial figure, as evidence of his secretive actions became known. His critics have accused him of exceeding the jurisdiction of the FBI.[1] He used the FBI to harass political dissenters and activists, to amass secret files on political leaders,[2] and to collect evidence using illegal methods.[3] Hoover consequently amassed a great deal of power and was in a position to intimidate and threaten sitting Presidents.[4] However, according to biographer Kenneth Ackerman, the notion that Hoover's secret files kept presidents from firing him is a myth.[5]_

Seems some on Wikipedia disagree...

<comment><USER6> Some on Wikipedia are also on a payroll. Including in articles about commercial products and companies, but even more so in political articles.

<comment><USER5> Really? That's very interesting. Do you have a link or further info about that?

<comment><USER7> There's a Wikipedia page about it[1]. More broadly, this Google search[2] will find plenty more incidents.

[1] [http://en.wikipedia.org/wiki/U.S._Congressional_staff_edits_...](http://en.wikipedia.org/wiki/U.S._Congressional_staff_edits_to_Wikipedia)

[2] [https://www.google.com.au/search?q=Staffer+edited+Wikipedia](https://www.google.com.au/search?q=Staffer+edited+Wikipedia)

</comment></comment></comment></comment></comment><comment><USER8> Oh man, I hate this as much as the next person, but I think the best thing we can say right now is that there is nowhere near enough (public) evidence that this is a believable allegation. What we have is an article from McClatchy whose title ends in a question mark ("Probe: Did the CIA spy on the U.S. Senate?"), which to me is the red flag of red flags that they have no level of certainty whatsoever. Then the article seems to draw dubious lines between this allegation and some questions in hearings. Other articles building on it imply additional tenuous connections between all this stuff and a letter Mark Udall wrote that may be referencing this vaguely, maybe.

It's a problem that all of this stuff has to remain vague. It gets in the way of our reaching conclusions. But assuming the lack of information is information in and of itself is problematic for me in this case. I think it's fair to wait and see what the justice department's investigation, if any, reveals. If there's no investigation, then we have to make do with the information we have.

The fact that the CIA has been shown to be doing all sorts of terrible stuff doesn't mean that our obligation to be skeptical about allegations in general needs to be suspended. To me, it's likely that this is true, but I won't tout it as fact until something clearer than the current foggy tangle of vague statements emerges.

As a side note, I think the greater question to arise from this is the fact that during a Congressional investigation, it was through _agreement_ that the CIA wasn't supposed to be monitoring Congressional investigators. Why is that sort of thing not clearly ensconced in law?

<comment><USER9> The CIA director has pretty much acknowledged that they did indeed spy on the committee in this letter: [http://www.wyden.senate.gov/news/press- releases/brennan-lett...](http://www.wyden.senate.gov/news/press- releases/brennan-letter-to-wyden-acknowledges-that-cfaa-applies-to-the-cia)

> _The Computer Crimes and Abuse Act...expressly "does not prohibit any > lawfully authorized investigative, protective or intelligence agency...of an > intelligence agency of the United States"_

</comment></comment><comment><USER10> [http://www.mcclatchydc.com/2014/03/05/220273/senate- staffers...](http://www.mcclatchydc.com/2014/03/05/220273/senate-staffers- slipped-secret.html)

>Congressional aides involved in preparing the Senate Intelligence Committee's unreleased study of the CIA's secret interrogation and detention program walked out of the spy agency's fortress-like headquarters with classified documents that the CIA contended they weren't authorized to have, McClatchy has learned.

>After the CIA confronted the panel in January about the removal of the material last fall, panel staff concluded that the agency had monitored computers they'd been given to use in a high-security research room at the CIA campus in Langley, Va., a McClatchy investigation found.

>The documents removed from the agency included a draft of an internal CIA review that at least one lawmaker has publicly said showed that agency leaders misled the Intelligence Committee in disputing some of the committee report's findings, according to a knowledgeable person who requested anonymity because of the matter's extraordinary sensitivity.

>Some committee members regard the monitoring as a possible violation of the law and contend that their oversight powers give them the right to the documents that were removed. On the other hand, the CIA considers the removal as a massive security breach because the agency doesn't believe that the committee had a right to those particular materials.

[...]

>While eating lunch during a visit to New Britain, Conn., with four New England governors, Obama was asked by a reporter if he had any reaction to the allegation that the CIA monitored Intelligence Committee computers.

>"I'm going to try to make sure I don't spill anything on my tie," he responded.

<comment><USER11> >"I'm going to try to make sure I don't spill anything on my tie," he responded.

I don't get what that means or adds to the story. Is he ignoring the question? Dismissing the question? Didn't hear the question? Or so stunned by the allegation he just sprayed soup across the table? Or is it something I've missed?

</comment></comment><comment> line-zero Article in The Intercept: [https://firstlook.org/theintercept/2014/03/05/congress- intel...](https://firstlook.org/theintercept/2014/03/05/congress-intelligence- community-whos-overseeing/)

</comment><comment><USER12> For what it's worth here's a whitehouse petition.

[https://petitions.whitehouse.gov/petition/release-senate- int...](https://petitions.whitehouse.gov/petition/release-senate-intelligence- committees-cia-torture-report/JSPcJY3F)

</comment><comment><USER13> It's ridiculous to believe that the CIA deserves the benefit of the doubt in this matter. More likely there are worse things we just aren't privy to.

</comment><comment><USER14> How far does a government agency have to go in breaking law before the military is deployed to put boots on the ground to reel in the agency back under the rule of law?

I'd like to think that if agencies started hiring their own armies and created their own version of law enforcement zones from other countries, and started killing people who opposed them, that someone would actually do something to stop that... right?

<comment><USER15> It would be the FBI, as the military cannot be used for internal policing functions.

<comment><USER16> The [http://en.wikipedia.org/wiki/Insurrection_Act](http://en.wikipedia.org/wiki/Insurrection_Act) might apply in that case.

<comment><USER14> But couldn't such an act be repealed as "enabling the terrorists" and be rendered inert?

</comment></comment></comment></comment><comment><USER17> Petitions to release the report:

[https://petitions.whitehouse.gov/petition/release-senate- int...](https://petitions.whitehouse.gov/petition/release-senate-intelligence- committees-cia-torture-report/JSPcJY3F)

[https://www.aclu.org/secure/tell-senate-intelligence- committ...](https://www.aclu.org/secure/tell-senate-intelligence-committee- release-cia-torture-report)

</comment><comment><USER18> Can't congress just pull funding? I suppose the CIA has too much dirt on many of our congressmen for that to ever happen.

<comment><USER19> Yes, they could, but I don't think dirt is the biggest reason why they wouldn't.

</comment></comment><comment><USER20> This just in: spy organization spies on important national political figures.

Did you guys never hear of intelligence agencies before Snowden leaked his docs? This is normal and expected. It's the reason intelligence agencies and spies exist. They're supposed to spy on the most important people in the world, and make sure that the important people don't plan anything the agency's employers may consider ... untoward.

<comment><USER21> > They're supposed to spy on the most important people in the world, and make > sure that the important people don't plan anything the agency's employers > may consider ... untoward.

Except of course for the part where the CIA is explicitly legally barred from domestic US spying, and where they were spying on their employers.

Am I surprised? No, not at all. I'm from Norway. Most people would probably consider Norway less likely to be involved in sinister surveillance activity than a country like the US.

Yet 20 years ago, an investigation into the Police Security Service finally got underway, and everyone were shocked - shocked, I say - to find out that the several decades of illegal surveillance of left wing groups that any member of either of the communist parties or socialist groups had known, and publicly alleged, were happening had _actually_ been happening (they knew, because members of the security service made it abundantly clear, by e.g. occasionally stopping people on the street and making fun of them over details of conversations they'd had in the privacy of their own home).

When the establishment finally accepted that the security service had to be reigned in, a parliamentary commission was established. During the investigation into the security service, it quickly became clear that they were _still_ engaged in the illegal surveillance while the commission was investigating them. Not only that, but it was revealed that they were illegally spying on the chairman - a well respected member of parliament - <USER2> the commission investigating their illegal spying.

So I'm not the least bit surprised. But that does not mean it is legal, or what they are "supposed" to do.

<comment><USER20> Are their employers the Congress or the American citizenry? Spying on Congresspersons on behalf of the American citizenry makes sense. Congresspersons have very sensitive access, very special privileges, and very substantial influence. If one of these Congresspersons were to go rogue and cooperate with a terroristic unit, which is not too far-fetched in the day of the Tea Party, the results could be catastrophic both to the government's ability to function and to American cultural heritage. It completely makes sense for an intel agency to spy on persons that have that type of capacity, regardless of title or location.

<comment><USER21> > Are their employers the Congress or the American citizenry?

Congress. They were created by an act of Congress, and the only ones with oversight powers are the intelligence committee that they spied on.

> Spying on Congresspersons on behalf of the American citizenry makes sense.

Except it is explicitly _illegal_ for them to do so. The same act that authorised the creation of the CIA - the National Security Act 1947 - <USER3> bars them from domestic spying. Anyone tasking the CIA to do so have at the very least participated in a crime, whether or not they can be charged with anything.

> If one of these Congresspersons were to go rogue and cooperate with a > terroristic unit

That being so, that would fall under the remit of the FBI, Department of Homeland Security or - in the case they communicate about this with foreign interests - the NSA (!). Only if they were to do something stupid like attend in-person meetings outside US borders would it fall under the remit of the CIA, or even be _legal_ for the CIA to pursue.

> It completely makes sense for an intel agency to spy on persons that have > that type of capacity, regardless of title or location.

Not when they are barred by law from doing so, it is the responsibility of other agencies if any, and the persons they spy on are the very people tasked with providing the checks and balances against the _CIA_ going rogue. And in fact, in this very case they were explicitly investigating claims that the CIA had committed gross violations of human rights. In that case there's a massive conflict of interest - the CIA has every reason to want to minimise their findings, and possibly even to try to strongarm them into silence.

And in fact, the CIA _has_ repeatedly made public statements to try to discredit this report - that in itself is shocking to the extreme; in any other organizations, heads would be rolling if a department started a PR campaign against a board committee, which is the closest equivalence.

And do I have to remind you that the CIA has _decades_ of history of horrific operations behind them, including the illegal overthrow of multiple democratically elected leaders, a long range of assassinations, dealing drugs to fund illegal operations, and more, - they've proven time and time again that they badly need more oversight. When was the last time a member of the intelligence committee went rogue again?

Well, unless you count the times they were _complicit_ in illegal CIA cover- ups, that is.

</comment></comment></comment></comment><comment><USER22> Anyone want to make bets over whether anyone will ever be legally punished over this?

<comment><USER23> They figured out how to immunize themselves during the Bush administration. Get a compliant lawyer to write a memo saying whatever you want to do is legal. Then you are relying on advice of counsel which tends to defeat the mens rea necessary to convict of a crime. The lawyer is also not liable because it's not a crime to give bad legal advice.

This technique is how everyone at the CIA got the hook for destroying video evidence of torture which had already been requested by a congressional committee and a federal court in 2005. It's also explains Yoo's farcical torture memos -- they may not pass the straight face test but they still were a major barrier to criminal liability for those who procured them.

</comment></comment><comment><USER24> So the CIA Illegally Spied on the Congress Staffers investigating illegal CIA Torture Methods?

\</comment><comment>illegality recursion too deep</comment><comment>-----

But seriously this is a critical test for Pres. Obama. These agencies shouldn't be allowed to pull this kind of Shit without suffering serious consequences.

Time for the Executive to step-up, fire a bunch of high-rankers and NOT sweep this under the carpet as some sort of "Bad Apples" or "Mistakes were Made" whitewash.

Otherwise all that Hope & Change sloganeering will be empty rhetoric.

<comment><USER25> > But seriously this is a critical test for Pres. Obama.

A critical test? He doesn't have enough power to do anything about it. He can't even get rid of Guantanamo, which was central to his campaign. His response to the Snowden leaks was entirely supportive of the intelligence community, against the general public's perception of what happened. A political figure like him supporting Snowden would have made a massive difference in the public's perception of the events that took place, but he had to side with the NSA.

You're absolutely wrong if you think he has even the slightest bit of control over the CIA. The executive agencies that are supposed to be directed by the president are probably much more _directing the president_ than the other way around.

Maybe you consider it to be conspiratard nonsense, but there's a bit of history behind what happens to presidents who are at odds with the intelligence community.

<comment><USER26> >> A critical test? He doesn't have enough power to do anything about it.

If this is indeed true, then it would mean that the US political system (which is regarded as the best example of democracy, globally) is corrupt from the core and the idea of checks & balances is completely bogus.

If this is case, and if we as (Americans? people?) tolerate it, then I guess it's our implicit way of saying "corruption is indeed the best way — it keeps everyone happy" (pan e circo).

If we don't tolerate it and change it somehow, then maybe our particular multiverse trajectory goes another direction.

Who knows if Obama is actually the one to do this. I'm not expecting much of anything from him, no more/less than I do of any other past President. I have no clue what it's like to be POTUS, but I assume it's like inheriting the CEO/President role at a super old, well-known established company, with an even older and power-hungry Board. Sure, they'll let you be the CEO, but they hold all the political "preferred stock" and can make sure the CEO is ousted if he doesn't do what they want.

<comment><USER27> "[US political system] which is regarded as the best example of democracy, globally"

err, what? As a foreigner living in the US for the last 5 years I will tell you this: The US political system is regarded as the best example of democracy, by they Americans only. Period.

Having lived and traveled in Europe for the most part of my 30 years of my adult life I have heard no person having this perception of the American political system. In fact, I would say that it is closer to the truth to claim that the American political system is regarded as corrupted, like most of other political systems globally.

I really don't want to hijack the thread but I am kind of tired of this perception that some Americans have of themselves and their country that is ("regarded as") the best democracy in the world.

The american democracy is a representative democracy powered mainly by two private funded right-wing Christian parties.

Not to mention that this political system cannot provide to it's citizens and tax payers the right to public education and public health care.

Anyways, yes in my opinion, it would not be a surprise at all if CIA spied on Congress or if the President (or better the USA CEO) could not do anything about it.

<comment><USER26> You (and many others) are having a knee-jerk reaction to what I said. I'm not saying that the US has the best example of democracy (and based on the rest of my post, you would think that would have come across).

What I am saying is that there is a widespread public perception that "America knows best" — the news supports this, Hollywood supports this, and yes, loads of people around the globe support this notion as well.

Please tell me I'm not the one bursting your bubble on this one.

Now what you mention about having lived in Europe/other countries: I hear you. I've lived in other countries as well (Spain, Costa Rica, and a brief stint in Saudi Arabia). Everyone in all of these countries talks shit about the US. It's the cool thing to do. Like us talking shit about Facebook.

But what do they want come their birthdays? Xboxes! Call of Duty! Pizza and Coca Cola!

There is a deeply imbued adoration for America as a model of "all that a country can aspire to be" — and this image is what I'm referring to.

[EDIT:

you know, I knew since this was the internet, someone was going to bring up the whole "hey, did you know pizza is italian". Yes, I did. And as people from NYC or Chicago can tell you, the US has created it's own version which has taken on its own fame.

But while we're on it, did you know that French Fries aren't actually from France?

And to those who are going to take what I said as "because I buy these products I endorse America" , you have clearly missed the broader message of my post.

It's not about the specifics of Coke, Xbox, or fast food (I can't believe I actually have to explain this but, wait, yes I can). It's the overall "image" that America sells overseas. It's the reason why Hollywood movies are popular all around the world, yet not as much the other way around. Again, that is just ONE example, so no need to hyper focus on just that. The fact is, there's an undeniable adoration of American culture abroad --- and it exists RIGHT ALONGSIDE the contempt and disgust for American culture abroad.]

<comment><USER28> How I see the situation as an European and Finnish US is as a country and a democracy very mediocre or below median level. It's good place if you have top 95% percentile income but otherwise there are lot's of better places to live in.

In my view one part of the success of US is collective belief in American Dream. If you work hard and try you will get Rich. And this leads to kind of prove of infinite monkey theorem: when lot's of people try to achieve something eventually someone will. Of course this will benefit only small partition of people but others are still satisfied since they have a dream, hope for glory even rationally costs are higher than most probable profits ( see Income inequality in the United States, Socio-economic mobility in the United States, Poverty in the United States ).

I'm very happy that monkeys will keep trying and eventually produce great things to me to consume. This doesn't have anything to do with the democracy in the US though.

</comment></comment></comment></comment></comment></comment><comment><USER29> Wouldn't surprise me, given that congress and their assorted hangers on would leak confidential information for political advantage.</comment>


China Tries to Teach Trump Economics - <AUTHOR> https://www.nytimes.com/2019/08/08/opinion/trump-china-trade.html <comment><USER2> China has chosen not to engage with this president and expects the American people to make a wiser decision in the next election round.

</comment><comment><USER3> Well he learned protectionist policies from China and seems to be going ok. It's weird that so many westerns are adamant we are wrong in this situation.

</comment><comment><USER4> > The Chinese, by contrast, have yet to deploy anything like the full range of > tools at their disposal to offset Trump's actions and hurt his political > base.

A technically correct but very misleading sentence, given China's unapologetic protectionism: [https://www.forbes.com/sites/douglasbulloch/2016/10/12/prote...](https://www.forbes.com/sites/douglasbulloch/2016/10/12/protectionism- may-be-rising-around-the-world-but-in-china-it-never-went-away/)

But then it's par for the course to ignore that when talking of US trade policy ([https://www.reuters.com/article/us-imf-worldbank- china/china...](https://www.reuters.com/article/us-imf-worldbank-china/china- denounces-protectionism-in-swipe-at-u-s-trade-policy-idUSKCN1RP0HU))

</comment><comment><USER5> Ha, I mistook the subject to mean China tries to teach "Trump Economics" and thought, what's that?

</comment><comment><USER6> Is there an alternative link? Something without paywall?

<comment><USER7> Here you go: [https://telegra.ph/Opinion--China-Tries-to-Teach-Trump- Econo...](https://telegra.ph/Opinion--China-Tries-to-Teach-Trump- Economics-08-10)</comment></comment>


Pragmatic Programmer updates Programming Ruby (The Pickaxe Book) for Ruby 2.0 - <AUTHOR> http://pragprog.com/news/programming-ruby-2-0

<comment><AUTHOR> If you purchased _Programming Ruby 1.9_ directly from them, it's a free update.

From the article:

 _Log on to pragprog.com/my_account and place an order for the new edition, your coupon will be applied to the ebook automatically._</comment>


WAMP – Web Application Messaging Protocol - <AUTHOR> https://wamp-proto.org <comment><USER3> WAMP is a sort of tech that did the same thing as Socket.io when the latter was still really popular, while having nice AMQP-like semantics that gave you full routing, and PubSub and RPC with the same stack. A few years ago, it was promising but didn't seem to get a lot of uptake, and then HTTP/2's rise meant that Websocket fell off the hype train into the dustbin of boring technologies no one blogged about anymore.

This happened right as IDL codegens like Thrift also stopped being talked about, and when people did again, it was all about gRPC, which runs over HTTP/2\. This didn't help Websocket either.

Projects like this are especially interesting because they genuinely deliver what they claim to do, but to most people they exist in an alternate universe they've never heard about.

<comment><USER4> Why did HTTP/2 impact Websocket's usage? Websockets are still used for real- time server-client communication in many application stacks.

<comment><USER5> If your use-case for Websockets was "make a bunch of concurrent RPC requests without the browser queuing them" then you can achieve the same concurrency semantics using regular AJAX REST calls, as long as they happen to transit over HTTP/2\. For a lot of people, that was all they wanted.

As well, if you add a single SSE channel to that, riding in the same HTTP/2 socket, you now can do _everything_ Websockets can do.

And if you throw a web server like Caddy between your HTTP/2 clients and your application server, now your app server can just be implemented in terms of regular HTTP/1 request-handling, with no need to implement any connection- oriented protocols at all.

<comment><USER6> Can you clarify what mainstream backend frameworks support any of those?

</comment></comment></comment></comment><comment><USER7> Acronym aside, I think this is fantastic. These patterns (RPC, pubsub) have been around for a while now, and are fairly well understood. Formalizing them into a common, agnostic protocol that everyone can use is a huge win for all parties.

<comment><USER8> And the implementation is really clean too.

First, it's not just RPC, it's routed RPC. So you basically don't have to know who is providing the procedure and where it is. This also allows transparent fallbacks, hot swap and load balancing of the clients providing the procedure.

Another thing I like is the ease of use. If you used CORBA, XMLRPC or SOAP you know what a pain it is to get it work.

The Python and JS clients just work for me. Transparently: they even get errors back in their native form (ex: python get exception for an error occurring remotely). There is zero mapping to do: you start you client, you register your procedure, and you call it.

The fact is uses websocket is a cool thing too. First, it means you can use it in the browser, and not just nodejs, Python, C#, Java or PHP (but they all have interroperable clients!). But it also means it usually works on your network without the need to setup anything or bother your local sysadmin. And it can benefit from TLS.

It's really sweet.

My only beef is that the Python API is too verbose to my taste, and advance setup for crossbar.io can get complicated if you want to make it super secure (default settings are the equivalent of chmod 777).

<comment><USER9> Can you do nowadays easily do security for things that are not pure RPC? I remember looking at crossbar.io for the pub-sub features quite a while ago, and securing those was somewhere between a pain and impossible.

<comment><USER8> crossbar.io now have full featured authentification system, end to end encryption, and permissions isolated in realms. It's work, but yeah, you can secure things.

Securing a website is a lot of work too if you have to do it manually. I just don't do it much anymore, Django takes care of most of the issues for me, and barring some very bad decisions, I have little to actually worry about.

But crossbar doesn't have a django like framework. It's more like flask, express, sinatra...

I've been actually doodling the API of a high level framework on top of crossbar.io for 2 years now. But barring winning the lottery or starting a successful kickstarter, it's unlikely I will find the money to work on it for a year without interruption. It's crazy the amount of work that needs to be done to catch up with frameworks created a decades ago and improved by hundred of dev while field testing it :)

<comment><USER9> great to hear!

</comment></comment></comment></comment></comment><comment><USER10> You can also use AMQP 1.0, an ISO and OASIS standard protocol, over websockets.

It supports RPC and pub/sub semantics and has client libraries in many languages. It's implemented by many messaging components as well as Azure Service Bus.

<comment><USER8> I tried to make a android remote control for a vidoe streaming website with those. I never manage to find a way to make it work after a day. It tool me a few hours with crossbar so i never tried again.

</comment></comment><comment><USER11> I think that one of the main problems with WAMP is that it's just too complex. The RFC is over 150 pages long... For that reason, implementing WAMP is not straight forward.

I think that parts of the WAMP spec are useful to read and I've found it to be a useful guideline for my project but I think that implementing fully WAMP- compatible clients and servers is not realistic at this stage... It's better to just roll your own protocol.

Most implementations of real-time frameworks/libraries use custom protocols and many of them are more widely used than the WAMP protocol.

<comment><USER8> I agree on the complexity. They traded internal complexity for a simple and easy user experience. WAMP is kinda magic when you use it: languages with very different forms talk to each others reliably with almost no setup, no schema to define, to stuff to prealocate. And it's packed with features too (the wildcards and meta events are insanely powerful).

The price of that is a really heavy spec.

But it's also how the team approach problems. E.G: their Python code really, really looks like Java, with interface everywhere, and wrappers, and factories... If they designed their spec the same way, then it's not surprising.

The german stereotype about engineering is not just a joke.

</comment></comment><comment><USER12> Boy, this seems like an exceptionally poor choice of project name - in the same exact industry, web development, there is already years of use of "WAMP" to mean "Windows Apache MySQL PHP". WAMP / LAMP / MAMP / etc are ubiquitous.

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

You know the difference, and I know the difference, but a whole lot of newbie developers who are trying to learn about websockets and while playing around on their Windows dev box could end up pretty confused.

<comment><USER8> I kept telling Tobias (the head of Tavendo, the company behind WAMP) to change the name years ago but he said he already invested too much in it (registration at IANA, tutorial, the fact this is actually WAMP 2, so there was a WAMP 1...).

Basically, yep, it's bad, but this ship has sailed.

<comment><USER13> That didn't stop them from renaming the Company from Tavendo to Crossbar.io, though, it seems. As they are advertising the protocol as "open Web Application Messaging Protocol" they might as well abbreviate it OWAMP. Just sayin'...

<comment><USER8> I think the owamp is a good idea. I'll try to reach out and show them this thread.

<comment><USER14> OWAMP would be good because it could benefit from the very similar acronym: OWASP - Open Web Application Security Project.

</comment></comment></comment></comment></comment><comment><USER15> This looks like a great library, but a few years too late? Socket.io, SocketCluster.io, gun.js.org (ours), even Meteor, and plenty of other things make it easy to do RPC or get PubSub behavior. Why WAMP over others?

<comment><USER8> It's in the details :

\- wamp is a language neutral spec and an open standard registered at iana.

\- implementations not only exist in many languages but they are all interroperable transparently despite all feeling very native to their own language. A failing rpc in js will see the error propagated as a python exception on the other side.

\- it works in the browser, yes, but it's also very usable as a way to implement micro services or iot clusters. You are not tied to a particular use case or framework.

\- not not simple rpc but routed rpc, so the clients don't need to know each others and you can implement fallback, hot reload or load balancing

\- security and authentigication are first class citizen

\- wamp comes with a lot of goodies like meta events for introspection or wildcards

</comment></comment><comment><USER16> If nothing else, we need this acronym to mean something - anything - <USER2> than Windows/Apache/MySQL/PHP.

</comment><comment><USER17> Desperately needs a new acronym! Otherwise, this looks pretty neat!

</comment><comment><USER18> I inherited a project a while back that used this. It looked brilliant, but the problem was that at least the way the project had been configured, it was not what we needed. In that case, we just needed a simple http-based rest layer over a database, possibly with some queueing off to another system. WAMP appeared to be a very forward-thinking architecture, but I struggled to see how it blended well with that kind of typical use case.

<comment><USER8> If you just need rest over ajax, wamp is really overkill as you forgo all the tools 10 years of frameworks doing that automatically for you.

Beside, crossbar really need a task queue architecture. It's basically half of it, so i guess we could plug in celery in the mix and some glue code.

</comment></comment><comment><USER19> I went to "why wamp" page, scrolled down, there is a section called "also on wamp", one of the entries is "wamp implementations". When clicked, it does some redirects and returns with:

NoSuchKeyThe specified key does not exist.implementations/4F6424CF99BA8DC7mv7nfiMNvfiGfUbpMSrbbLzw2pg30iU+BIIxUi+y6ms1+NiTLie+4l1QJFk+6pguD9+FYz8MgH0=

Turns out thst's for every page in that section.

</comment><comment><USER20> i personally like the stats on the last page of the slide show, and the tailing comment about being benchmarked on a Raspberry Pi. Not that anyone would host a server like this on a PI, but knowing how small of a machine is needed to run something like this is cool.

Of course you could probably do a pretty slick home automation system with this and only a Pi...

<comment><USER8> :) they have a crazy serious setup for perf testing and published those numbers years ago. It's even better now. I created the slides for my french blog but after receiving a lot of traffic, they contacted me to make an english version that ended up here. It's funny when you think how ugly those slides are, but I did smiled writting the raspi bit.

</comment></comment><comment><USER21> We use this and have python, js, java and C++ modules talking to each other with it. Doco and examples are so-so but the code is readable and, well, there were implementations for all the languages we needed.

It's weird that an RPC involves http->web socket->wamp plus a bunch of pickling etc but hey, it works and saved us a ton of time.

<comment><USER8> Doc have improved a lot since the last time i used it in prod, but yeah this is not vuejs doc quality level. I mostly use the demo and example codes to get by.

</comment></comment><comment><USER22> We have been using WAMP 2 and crossbar in production for a while now. We have js, PHP and python all talking to each other without any issues. We will probably add Go in the next months (prototypes are already working). For authorization and authentication you have to spend some effort to get something working without hardcoded config. Biggest down side is that clustering of the open source router crossbar is not really possible and we haven't seen any production ready alternatives. Until now this wasn't really an issue, but it looks like this might be the reason why we will leave WAMP / crossbar this year. Best options to replace this with is probably some solution based on GRPC or NATS.

</comment><comment><USER23> This is amazing. The web badly needed a proper standard for this backed by big industry players.

<comment><USER8> Also, 3 years ago I would have said it was quite immature. But it matured a lot since then, I had the chance to put it in production. It's not perfect, but it's very cool and is production ready.

And the whole ecosystem is about open standard and open source. Really good vibes.

</comment></comment><comment><USER24> This looks really cool.

I currently use Meteor for webapp development, but when I really look into it the main parts of meteor I use are pub/sub & method calls.

The rest is just react, react router, and the meteor build tools which can be swapped out.

This looks like a promising light weight alternative... plus meteor doesn't run on raspberry pis :(

<comment><USER8> Be prepared to do some manual work to wire your site auth with crossbar mechanism. The rest is quite plug and play.

</comment></comment><comment><USER25> Interesting.

This reminds me of DDP. Meteor had a lot of good things right: [https://github.com/meteor/meteor/blob/master/packages/ddp/DD...](https://github.com/meteor/meteor/blob/master/packages/ddp/DDP.md)

<comment><USER8> It doesn't have the Sync primitives but does have some addionnal stuff. I'd say wamp is lower level, requiere more work, is easier to use and more flexible.

</comment></comment><comment><USER26> One thing I did not understand is whether it supports peer-to-peer operation, or requires (at least one) routing server.

<comment><USER8> The router is required. The clients don't see each others.

</comment></comment><comment><USER27> This makes no sense.

Try [http://fuse.rupy.se](http://fuse.rupy.se) instead.

</comment><comment><USER28> Reminds me of SOAP

<comment><USER29> Yup. As a contractor, I maintained a home grown pre-WAMP (spec) implementation. Think [http://autobahn.ws](http://autobahn.ws).

I totally didn't get the point. We controlled both the clients and server, so our pre-WAMP was just SOAP style overhead. Meaning useless and confusing.

But the gig paid well and I got some much desired NIO & Netty experience.

</comment></comment><comment><USER30> what it do what it do

<comment><AUTHOR> A protocol for RPC and pub/sub over eg. WebSockets</comment></comment>


Using React, Redux and SSR to acommodate users without JavaScript - <AUTHOR> https://blog.klungo.no/2020/05/28/using-react-and-redux-to-acommodate-users-without-javascript/ <comment><USER3> For relatively simple use cases of server-side rendering with React, I think it's worth knowing that you can render _any_ component to static HTML with just one function call (and it works in Node environment). Another function call (this time browser-only) can be used to make the markup rendered interactive with no unnecessary DOM mutations.

React library makes these functions available from ReactDOMServer[0]. I like this API, it opens various possibilities and is easy to build on top of.

Of course, Daniel goes further to create a universal approach to authoring an app that not only supports SSR but works without JS entirely, which is pretty cool!

[0] [https://reactjs.org/docs/react-dom- server.html#rendertostrin...](https://reactjs.org/docs/react-dom- server.html#rendertostring)

</comment><comment><AUTHOR> How to accommodate users without JavaScript without changing the development flow in modern web app development is something I've been thinking about for a while, and I'm happy to finally share this writeup and proof of concept.

If you just want to check out the demo, you can do that here: [https://todo- react-redux-noscript.herokuapp.com/](https://todo-react-redux- noscript.herokuapp.com/)

<comment><USER4> SSR gets you most of the way there... your code just has to respect the URL as the 'global state' and turning any user input into link-based data (ie, click this, provide a URL, process the URL).

<comment><USER5> > URL as the 'global state'

Are there still (browser) limits on how long such a URL can be? Would it e.g. be possible to store a text of 50.000 words in the URL alone?

<comment><USER6> Well you could always store the state in a database serverside and give the client some token to look up the state...

<comment><USER7> Ah the good old JSESSIONID…

</comment></comment></comment></comment></comment><comment><USER8> A big thank you to those who are starting to support people like me who are js-allergic for varied reasons of security, efficiency, privacy, and general control over our own machines.

<comment><USER9> What is your internet experience like in general? How often do you encounter road blocks on sites that shouldn't require JavaScript to function?

<comment><USER8> It would be astonishingly easy to find out... give it a try.

I should clarify, I'm only moaning about JS used where it need not be, in the display of text and pictures. Essentially, stativc web pages. There are guys on this thread who are trying to make apps work withou JS and I'm getting uneasy about that - that level of functionality _should_ , and perhaps _must_ , be done client-side or the excess bandwidth and server-side load will become unmanageable. I would still not enable JS to allow those, but I can see why others would.

To answer you, try it. Some is fine, like no-JS gmail pages being snappy and working correctly. I'm sure I'm missing some stuff, I think drag & drop of attachments from the desktop are there, instead I have to click buttons and select the attchment from a popup, that's fine.

Others are pages that literally are text and pics but won't show anything, such as [https://www.washingtonpost.com/](https://www.washingtonpost.com/) Microsoft used to be particularly bad at this.

Edit: some are text and image but will fail to render properly, with text flowing over images, images overlapping, general crapness like that. This is uncommon.

Others are absurdly worse - they actually show the text etc. as the page renders, then hide it when it's loaded and tell you you need to enable js to view it. Can't find an example now (but MS was one).

Now the upsides - I don't need any security or anti-virus/malware software, which speeds things up already.

No JS means pages appear much faster (compared to JS-enabled computers I uses at work).

No adverts (except small self-hosted ones starting to appear) - much faster. So much less distraction! No animations to draw your eyes. In one way this is the biggest _immediate_ thing (you need a blocklist to do this properly - <USER2> MVPS ([http://winhelp2002.mvps.org/hosts.htm](http://winhelp2002.mvps.org/hosts.htm)) or similar, or some add-on, but just disabling JS kills most of it anyway).

No f%^&* popups in your face with 'helpful' agents trying to chat to you (this would be occasionally useful if they weren't so goddamn intrusive and cover stuff you want to see), or trying to get you to buy stuff, or distracting you or covering shit up, or playing sounds, or auto-playing videos.

Honestly, once you get used to that, the odd stillness of it all (it does seem a little odd at first, we naturally are drawn to movement) it's bliss, it really is (speaking IME).

So, give it a try for a day, and see for yourself - would you consider that?

<comment><USER8> I just realised I hadn't actually answered your question.

I'd say about 80% of the websites remain usable, to varying degrees.

It's hard to say because I'm used to losing some functionality so I won't bother going to shadertoy for example, so my stats are skewed.

</comment></comment></comment></comment><comment><USER10> I've been wondering about this recently too. I really want something that does almost everything server-side, like the old handlebars-style templates, but allows a modern component based page structure.

I guess React SSR is probably the closest thing to that but (without having used it) I'm guessing it is full of caveats given that React wasn't originally designed to work that way.

I wish there was something that was, and also was written in a language other than Typescript.

<comment><USER11> We're building that.

[https://beta.bridgetownrb.com](https://beta.bridgetownrb.com)

Use Liquid template components on the server-side that render out to static HTML, and for any interactive bits you can "hydrate" them with something like LitElement-based Web Components. A heavy SPA approach using React is simply not necessary for many types of sites.

</comment></comment><comment><USER12> If we are going to use SSR, why not use asp.net core mvc like frameworks. Its orders of magnitude easier to reason about and highly productive during development.

I used to be a fan for react, but a month ago I started a project in asp.net core mvc, and am hooked. Of course I have a lot of experience in c#, so that helps i guess.

<comment><USER13> What kind of things does it do to make you feel like that? What got you hooked?

<comment><USER12> 1\. Dependency Injection and convention based routing allows to get started on projects quite quickly.

2\. An integrated approach to data access and view generation is a god send when you are a lone developer. With the front-end and back-end separated, there is twice the cognitive load to handle, no matter if the languages are same on both ends.

3\. Reasoning about a web-app, in terms of views (or pages) is much easier to start with. Of course, we can always complicate the thing by adding JS, but ASP.NET Core MVC provides a very well laid out template to begin with, that is suitable for most web apps.

4\. C# is an amazing language to work with. It's mind blowing awesome, especially after working for a year with JS/TS. To quote Steve Jobs, "It's like giving someone a glass of cold water in hell"

5\. Async/Await in C# is easier to work with.

6\. Expressing Ideas in C# is very easy and systematic.

7\. Performance is fantastic. Just see the Techempower benchmarks. Performance is money, in today's cloud world.

<comment><USER13> Thank you for sharing - I've thought about looking into it, but never got around it - this peaked my interest once again :)

</comment></comment></comment></comment><comment><USER14> If a website that is rendered in the browser using a JS framework adds SSR, does that mean that the client-side JS code will be delayed (not render- blocking) so that the first render can happen? How does that work?

<comment><AUTHOR> If I understand you correctly, then the answer is no. As strogonoff mentions in his comment[0], most of the frameworks that provide helpers to enable SSR also provides a way to "rehydrate" in the client side. React has to ways of rendering the app to a string, where one of them outputs html that can be used as the basis for rehydration[1], while the other one[2] drops any extra DOM attributes that the former adds.

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

[1] [https://reactjs.org/docs/react-dom- server.html#rendertostrin...](https://reactjs.org/docs/react-dom- server.html#rendertostring)

[2] [https://reactjs.org/docs/react-dom- server.html#rendertostati...](https://reactjs.org/docs/react-dom- server.html#rendertostaticmarkup)

<comment><USER14> The thing that I don't understand is, how can the browser render the SSR content if the JS bundle is render-blocking? Doesn't the JS bundle _prevent_ anything from rendering until all its JS has been executed?

<comment><AUTHOR> It's only render-blocking if put before the content! You can actually see this if you load up the demo[0] and reload the page. For some reason, I've made the mistake of putting the script-tag for the JS bundle _after_ the main content but _before_ the footer. The footer is also rendered on the server, but you'll see - especially if you throttle your connection - that the main app will appear instantly, but the footer ("Try without javascript :)", etc.) won't appear until the JS has finished loading.

This is why today it's common to put script-tags for external JS at the end of the body-tag.

[0][https://todo-react-redux-noscript.herokuapp.com/](https://todo-react- redux-noscript.herokuapp.com/)

<comment><USER14> Thanks. That explains it. I wasn't sure if <script> at the end of <body> blocks rendering of the preceding content. Apparently not.

</comment></comment></comment></comment></comment><comment><USER15> I am curious on how SSR impact security. JS enabled web clients have many security mechanisms, but are there any relevant ones that are missing from the server side engine?

<comment><USER16> I can say that speaking as someone working on a high-volume eCommerce website, you would not even be allowed to checkout without JS enabled.

The fraud is just insane. With JS anti-fraud tech you can eliminate a significant majority of fraud.

<comment><USER17> You rely on client-side JS to secure checkouts?

Everywhere I've worked doesn't really care about the frontend (it is merely the first line of defense); everything is validated and authorized on the backend.

<comment><USER16> Anti-fraud is somewhat different than traditional web application security. With anti-fraud, it's about recognizing behaviors and patterns that are likely to result in a fraudulent transaction (stolen credit card, mismatched information, sketchy browser, script/bot-like behavior etc).

In large scale ecommerce, fraudulent transactions in the 5 figures is so common it's not even notable. So using JS to reduce this even by half saves the company literally millions of dollars.

</comment></comment></comment></comment><comment><USER18> Not easy to advocate for no js support at the js shops

<comment><USER16> The value you receive from forcing JS (anti-fraud, tracking, feature enhancement) is orders of magnitude more than the value you lose from the no- JS users who leave your website.

There's way more active IE 11 users than genuine no-JS users, in my experience.

</comment></comment><comment><USER19> How does this compare with Microsoft's Blazor?

<comment><USER18> I mean, similar to using react/redux to support noscript scenarios I imagine you SHOULD be able to use any SSR supportive framework to do the same, though it might require more than usual care to do so.

<comment><AUTHOR> Exactly! As long as your framework supports SSR, and you got an event-based state container, you're good to go.

</comment></comment></comment><comment><USER20> What reasons would you disable JS other than to block ads and tracking?

If it's just those things, why would the developers want to accommodate those people? That would result in lost revenue.

<comment><USER21> We require all of our code to work without Javascript (although in the most basic sense, it's perfectly fine to use Javascript to enhance an experience), and there's advantages even if you ignore "people who turn off Javascript in their browser":

\- Certain problems, like ensuring that browser navigation works properly, either disappear or are massively reduced.

\- We wrestle with bundle sizes a lot less, since a majority of our code ends up being genuinely server-rendered only - there's little to no advantage to doing additional client side rendering of a straightforward form or other mostly static content.

\- Integration tests can be faster and more straightforward to write if you don't need to worry about JS. Of course, they're not full end-to-end if you're not testing JS, but for secondary flows they can suffice for the "good enough" category, and often (but not always) failures in your client JS will allow the SSR code to keep running fine as a backup.</comment></comment>


VW Cancels 2016 Diesel Line in USA - <AUTHOR> http://www.latimes.com/business/autos/la-fi-hy-vw-cancels-2016-diesel-line-up-20151007-story.html <comment><USER2> Great. Now I wonder what else they're cheating on.

Insurance companies calculate that if you've been in an accident/had a claim, you're more likely than average to have another accident/claim.

It's plausible that if a corporation can decide to cheat this egregiously on one thing, their barrier to cheating on other things may be as low.

"We cheated on the diesels, but totally not on anything else." Cue the lighthearted ukulele music and fresh-faced children flying kites.</comment>


Ask HN: Can I survive the rest of my life only knowing Java? - <AUTHOR>

I work for a huge company in the Midwest writing Java server apps (not J2EE). After seeing the front page post enumerating the top three things that programmers hate, I realized that my environment is completely saturated by them. One of the things my manager suggested I look in to is training to think about something else for a while, so I come to you guys.
What kind of stuff should I be learning to expand my horizons and learn new and interesting (marketable, too!) skills? Where should I go to learn them? Are conventions worth the travel/admission cost?
Thanks! <comment><USER2> You can make a living writing j2ee apps for the rest of your life, but I'm not sure you'd want to... Here's a couple of things that have recently helped me broaden my programming horizons:

Learning lisp from <http://gigamonkeys.com/book/>. I still completely suck at lisp, but my eyes are opened to what you can do with functional programming and metaprogramming.

Picking up Ruby and learning RoR. Any dynamic language would be helpful to know... take a look at both python and ruby and learn more about whichever you like better.

I've also gotten heavily into javascript recently because of jquery. I'm pleased with how flexible the framework.

None of these things are something you can go pick up in a one week training course. They're something you have to practice day after day to get better at. The most helpful thing you can do is to get a side project with some new language/framework and get cracking. Best way to learn imo.

</comment><comment><USER3> "Where should I go to learn them? Are conventions worth the travel/admission cost?"

The Internet and no.

edit: If your employer is willing to pay for you to travel to some great location to attend a conference I wouldn't turn it down. Not a wise use of your personal funds though.

</comment><comment><USER4> Ruby and particularly Ruby on Rails seem to be particularly exciting for people who have just escaped the world of Java. Plus, web apps are the sort of thing where you can make a simple one and entertain yourself quickly. Just find a neat one day project and dive in.

The best way to learn is just to promise a couple close friends that you are going to make a particular thing in the next day or two, and then you will be forced to actually do it. You can get any information you need from the internet.

</comment><comment><USER5> Well there are still people making a living writing FORTRAN.

Can you survive? Yeah probably. Will you be happy? Are you happy now?

Conventions can be cool for social purposes, but if you want to learn something new that is substantial, that's not going to happen in a week. There is only one way to learn code, and that is to write code. No shortcuts :(

</comment><comment><USER6> you'll always be able to survive on one language. especially such a huge language that will leave a giant legacy footprint if another language becomes more popular. the question is, will you, personally and financially, prosper. you want to do more than survive.

it won't be easy, but its possible. check out grails and seam to push yourself into the rails-like environment running on java. i really like grails.

or, you can just do like others and learn rails or python.

<comment><USER7>
      or, you can just do like others and learn rails or python.

I suggest learning Ruby, not Rails. Unless you know Ruby, you will not be able to really understand how Rails works. Ruby is way more than just Rails.

<comment><USER6> whoopsies, thats what i meant

</comment></comment></comment><comment><USER8> You need to learn something else. Java in particular is horrible about getting otherwise competent developers stuck in one kind of mindset about how to do software development. There may be some good practices that you've picked up but you are also being limited by lack of exposure to other ways of developing.

</comment><comment><USER9> Learn how to utilize your java skills in making Android Apps!

just a thought... :D</comment>


Ask HN: What is it like to be a crypto exchange engineer these days? - <AUTHOR> Last couple of weeks the most popular cryptocurrency exchanges seem to be gasping for air. The incredible demand is causing the exchanges (Coinbase, Kraken, Bitstamp, Bittrex,...) to be incredibly slow and unresponsive. Trade price updates are getting delayed. Withdrawals and deposits are sometimes barely working. Some of them report they're getting an average of 50k new users on a daily basis.<p>How are the development and support teams handling this constant stress? How to even work efficiently when everything is on fire at all times? <comment><USER2> I interviewed at Gemini. My impression was of a business environment somewhere between a startup and a Wall Street boiler room. Glass walls and a beer tap. Lots of extra hours. They told me that there is some turnover and they had trouble finding competent candidates.

The engineer who conducted my principle technical interview seemed to be pleased to find himself in the position of quizzing somebody. "Let's start with some whiteboarding." I did not immediately pick up the marker, but asked him to describe the problem to me, and he looked surprised. There were trick questions, and sometimes the answer was to buy the most expensive equipment. "Wow, I have not heard about that device." He looked really smug when I said that.

The other people I met were pleasant.

At the end, their secretary came to my room and told me "You're done here". At lunch, I noticed a half-dozen missed calls from her saying that she had dismissed me too soon and I had been scheduled to interview with a fourth or fifth person. I did not bother to call back.

</comment><comment><USER3> Probably similar to a typical startup engineering job. Lots of these exchanges started with little funding or were originally hacked together in a basement. Then they grew very quickly and suddenly had budget to hire serious engineering teams.

I assume you'd deal with supporting lots of buggy legacy code, either fixing bugs or refactoring. You could also be working on a new green field code to replace the old platform. Or anything in between.

They also seem to have trouble scaling and keeping their servers running during peak times. Assume there's a ton of dev ops work as well as optimisations and performance tuning / scaling related engineering going on.

Finally, since these exchanges keep peoples' cryprocirrencies On hot and cold wallets they probably have a lot of engineering resources focused on security.

</comment><comment><USER4> I may be the least qualified person on here, my here's my guess. Imagine you're a normal developer, minding your own business .. even so you have dozens of problems that plague your world of programming ... overtime, no actual formalization of requirements, n-number of tradeoffs and the worst part your main product is a damn customized cms system, now all of a sudden this cms explodes and is in demand . Now all your problems are made 100 fold and your pretty little world has disappeared .... that is pretty much what I expect the average answer to be on here

</comment><comment><USER5> For me just starting to get into Ethereum Dapp programming and still being a lot of new concepts to me, working for an exchange seems more within my reach as it crosses into my experience as a web developer.

What I'm curious about these larger crypto exchanges is if any of them has tried to acquire talent from more traditional trading websites (eToro, etc.) Though it's still the wild west in comparison so they would need to offer some very good incentives.</comment>


DRM could become legally enforceable - <AUTHOR> http://www.mcvuk.com/news/38817/DRM-could-become-legally-enforceable

<comment><AUTHOR> Link to the April 2010 ACTA document (PDF) [http://trade.ec.europa.eu/doclib/docs/2010/april/tradoc_1460...](http://trade.ec.europa.eu/doclib/docs/2010/april/tradoc_146029.pdf)

Courtesy of Wikipedia: [http://en.wikipedia.org/wiki/Anti- Counterfeiting_Trade_Agree...](http://en.wikipedia.org/wiki/Anti- Counterfeiting_Trade_Agreement)</comment>


Microblogging - Tools, Services and more - <AUTHOR> http://www.slideshare.net/uhlandfriends/microblogging-tools-services-and-more-presentation <comment><USER2> Do we really need a slideshow for this? It's just a collection of screenshots, business names and URLs.

<comment><AUTHOR> I thought it might be useful for Hacker News readers.</comment></comment>