CleanSpark for Mac - <AUTHOR> A Mac only app, that allows you to declutter your screen with one click to safely share it on your next presentation<p>https://cleanspark.luciandinu.com <comment><AUTHOR> \- Lives in the Menubar \- Light & Dark Mode Support \- Lightweight and Native \- Hide Desktop Icons \- Disable Notifications \- Hide Active Apps</comment>


Ask HN: Talking in Corporate Meetings - <AUTHOR> I work for one of the big engineering companies in the Bay Area (similar to FAANG). I am an engineer but interact with a lot of teams. As such I end up joining a lot of meetings with 10/15 people, sometimes even more.
Those meetings are extremely difficult for me. It seems that everyone is trying to talk to sound interesting, adding very little actual information. Extrovert people like to jump on every single small flow so they can show off that it's an issue. My feelings are that meetings are a way for people to assert themselves more than a way to exchange actual information.
As I'm usually not the one in charge of the meeting I'm always struggling between staying fully silent and talking up and getting into this combative mode. I'm always doubting what I have to say. I'm usually more introvert and shy than most people speaking up which makes it really difficult sometimes. For other introverts, how do you speak up in meetings? <comment><USER2> I attend a lot of meetings, and I rarely get a chance to speak if I don't talk over someone. It's tough to deal with these type of meetings but I use a different approach.

I take very detailed notes and highlight action items. Then I meet one on one with some of the people that attend the meeting.

I find many times that they missed action items and other valuable information. These smaller one on one meetings give me a better outcome in terms of impact. Many ideas discuss, end up making their way into the bigger meetings.

</comment><comment><USER3> You can take notes, then generate Minutes of Meeting, or Minutes and send them to everyone who should be in the loop, augmented with your remarks, annotations, links to useful resources, and most importantly: action items. I shared the format I follow in another thread, in point 1.1 "Taking meeting notes".[0]

You cam'be interrupted in text. It also forces you to br clear and concise.

If people find your insight interesting, you'll be asked for your input more often than you have one.

This is a low stress way of getting the opportunity to speak.

Also, have you talked about this with your manager and did they offer some pointers and a way to make you heard. For example, in a crowded meeting, someone says something. You comment to your manager, they get the room's attention and hand it to you. Or they ask you from time to time if you want to chime in and get you speaking time. After a while, you'll get more comfortable speaking as you would have had the opportunity to do so.

I think it would be useful to talk with your manager.

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

</comment><comment><USER4> This sounds like a sign of bad meeting culture. Really, the chairperson of the meeting should control this to make the meeting more effective and ensure everyone who needs a say has it. Maybe suggest via HR that training be made available for effective chairmanship?

<comment><USER5> That's an organization-wide culture change. Even a CEO can't easily make it happen. I understand the desire to find and fix the root cause, but OP definitely doesn't have that power.

</comment></comment><comment><USER6> > For other introverts, how do you speak up in meetings?

I have no need to advertise myself (I'm generally satisfied with my position, salary and job security), so I generally speak only when I feel I have something important to add that is being missed in the meeting (which can happen pretty often, as we have lots of near useless people in them).

</comment><comment><USER7> > For other introverts, how do you speak up in meetings?

It definitely takes practice and experience to feel comfortable doing this. If there's someone you trust, perhaps you could enlist them privately to give you feedback on your contributions in meetings - that kind of feedback can be really helpful.

On a single team (yours), the advice I'd give is: (a) strive to make yourself really valuable, even indispensable to the team through your technical contributions and increasing knowledge; (b) when you have something relevant/helpful to add to a discussion, speak up!

However, when interacting with multiple teams that you don't work with, I think (b) is probably the best advice. Wait until you have something helpful to say (this may be seldom - that's OK), then say it.

Also, when interacting with other teams there may be a lot of discussion that has nothing to do with you. It can be helpful to learn to tune out irrelevant discussion (although that may take time to build that mental filter), if only to keep your brain from getting overloaded.

</comment><comment><USER5> Ask insightful questions instead of making statements.

You'll demonstrate that you're intelligent and thoughtful without coming across as arrogant. You'll make the meeting more productive and possibly even reveal that other people are full of hot air.

</comment><comment><USER8> Read chapter 4 (I recall) of Andy Grove's book High Output Management. He literally has a whole chapter devoted to meetings.</comment>


Neonrvm v0.1.0 and Python bindings is available (my First machine learning library) - <AUTHOR> https://github.com/siavashserver/neonrvm/releases/tag/v0.1.0 <comment><USER2> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> Sorry about the late reply, didn't get any notifications about it. Will do a _Show HN_ after a little more testing :)</comment></comment>


USB Killer, yours for $50, lets you easily fry almost every device - <AUTHOR> https://arstechnica.com/gadgets/2016/12/usb-killer-fries-devices/ <comment><AUTHOR> Funniest thing I saw today was a suggestion to include one of these in fake packages intended to catch package thieves.

<comment><USER2> I'd bet most package theives in my neighbourhood would end up trying it out at the public library.

<comment><USER3> Or straight to craigslist without trying it

</comment></comment></comment><comment><USER4> If this is meant for "testing ones equipment", and most devices will be destroyed in the process, then a test means a sacrifice of the device. Short of actual security/test professionals who would want that? Malicious use is "condemned" but all I see in this USB killer IS malicious use...

<comment><USER5> The existence of the device is important in itself.

If it was possible to make a device like USB Killer, nobody would care. But now that you can order one online for cheap, it must be taken into account.

But yes, it's mostly for malicious use. Does demonstrating what malicious use is possible count as non-malicious?

<comment><USER4> It might, but those are edge cases that should not merit a full blown commercial enterprise to sell them. I can imagine what's going to happen next: co worker did me wrong, I'll nuke his laptop when he's off to the loo. Girl in class ignored me? I'll nuke her laptop when she's not watching. For many people a laptop or a phone are essential and irreplaceable. I sure hope this will make next iteration of devices protected against those.

<comment><USER5> Not sure about this. You can damage most devices by hitting them with a hammer or pouring coffee on them. That's about $50 cheaper to do.

<comment><USER4> Less subtle with a hammer but true and fair enough.

</comment></comment></comment></comment></comment><comment><USER6> I think it might be useful as an object lesson in security, drop a few outside your business, some larcenous genius plugs it in, blammo, magic smoke. They will be charged for the laptop, and given a lecture about introducing viruses to the company network.

<comment><USER7> > They will be charged for the laptop

In what universe is that legal?? And how about liability for when they plug it into their personal equipment and damage that?

<comment><USER6> They broke company rules and damaged equipment, no duh they are going to have a bill for it.

</comment></comment></comment><comment><USER8> I've thought about putting this on my keys in case they are stolen.

<comment><USER9> That's kind of a dick move if someone finds your keys and wants to know who to return them to though.

<comment><USER10> Print your contact info on the key with a warning not to actually use the device.

<comment><USER11> Because what you really want is to tie your lost house-key to your address so that anyone who finds it can let themselves in and leave it on the mantelpiece for you.

Much better to leave them anonymous and just get a new one cut for a few dollars (as opposed to needing to replace all the locks if your address is identifiable from they key and it doesn't get returned).

<comment><USER12> Email address/phone number, not house address.

But I personally love my bluetooth tracker...and they finally made one that takes replaceable coin cells!

<comment><USER13> People can get your address from an email or phone number with ease. Be safe out there!

<comment><USER3> Separate email address with a forwarding rule!

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> (2016)

</comment><comment><USER15> $50?

</comment><comment><USER16> Here's the $5 version:

[https://www.amazon.com/Stalwart-75-HT3000-Natural- Hardwood-H...](https://www.amazon.com/Stalwart-75-HT3000-Natural-Hardwood- Hammer/dp/B01C8PTKM8/)

<comment><USER17> Low effort Reddit jokes aside, it's quite obvious that would destroy a device with a usb port, but it's not quite so obvious the thing in the article would, which makes it more dangerous IMHO.

</comment></comment><comment><USER18> Rock, yours for $0, lets you easily destroy almost every device.</comment>


Erlay: A performance improvement to the Bitcoin network - <AUTHOR> https://medium.com/@SDWouters/erlay-an-awesome-performance-improvement-to-the-bitcoin-network-f59d757b2d14 <comment><AUTHOR> Paper: [https://arxiv.org/abs/1905.10518](https://arxiv.org/abs/1905.10518)

Recent talk by the paper author (not the Medium article author): [https://www.youtube.com/watch?v=ZUWs00Anpaw](https://www.youtube.com/watch?v=ZUWs00Anpaw)

Transcript of the talk: [https://diyhpl.us/wiki/transcripts/london-bitcoin- devs/2019-...](https://diyhpl.us/wiki/transcripts/london-bitcoin- devs/2019-11-13-gleb-naumenko-p2p-erlay/)

</comment><comment><USER2> It looks like a 50% reduction of the data exchange rate, but I think it's relevant only for the full nodes, that are currently only 10000 [https://bitnodes.earn.com/](https://bitnodes.earn.com/) (I guess the pools servers, some big exchanges, and a few enthusiastic.)

It adds more complexity to the software and network, and the reduction is not huge, so I guess it will not be used.

Technical question: The "sketch" in the article are "hash"?</comment>


Ask HN: Does Google hash images and penalize sites for relying on stock photos? - <AUTHOR> I noticed today that only rarely do "stock" images show up as part of the featured snippet. Made me wonder if Google is hashing stock images and penalizing sites who use it?<p>Any thoughts on this SEO conspiracy theory? <comment><USER2> I worked on Google Image Search, and my team was responsible for image quality across all of Search. There are some checks on image similarity, although "de- duplication" is applied in smart ways for different queries. To my knowledge, there isn't an algorithm that tries to pick "non-stock" images.

In general, Google/page rank favors sites that other people have favored (by linking to and talking about on the internet). It seems that original content is generally more "link-worthy" than copied content, so that might explain your observation.

</comment><comment><USER3> Maybe they are, if so that is good as it encourages original work. Remember the search engine is setup to give the best results for humans so giving humans original content will always be ranked higher than non-original content (text, images, videos, etc.).</comment>


Forth Lisp Python Continuum: A small highly-dynamic self-bootstrapping language - <AUTHOR> https://github.com/asrp/flpc <comment><USER2> Author here! Go ahead and ask if you have any questions about internals or otherwise. Or e-mail me if you think of your question much later (e-mail in profile).

I'm surprised it made it here even during a Github outage.

</comment><comment><AUTHOR> Since Github is down, here's another link on this that's interesting.

On the steps it took to get it self-hosted, published a few days ago:

[https://blog.asrpo.com/flpc_is_now_self_hosted](https://blog.asrpo.com/flpc_is_now_self_hosted)

</comment><comment><USER3> >Python is Lisp with syntactic sugar and Lisp is Forth with syntactic sugar.

Those languages have nothing in common other than being pleasant to work with because there isn't too much boiler plate.

Python is dictionary based, lisp is list based and forth is stack based. And that's just the base languages without the fancy stuff like macros and continuations in lisp, all the new syntactic sugar in python (:=, etc) and the bit tricks in forth (-1 = true, 0 = false).

<comment><AUTHOR> _The Forth Lisp Python Continuum is a language made under the following incorrect assumption._

It points out that it's not a perfect comparison.

However, it's kind of absurd to imply that Lisp and Forth have nothing in common.

<comment><USER4> Forth and Lisp are distorted reflections of each other: Forth intends to make it easy to write programs with minimal abstractions, whereas Lisp intends to make it easy to write programs with _any_ abstraction you want. They both, therefore, converged on the notion of having minimal syntax for opposite reasons: Forth eschews most syntax because syntax is an abstraction, Lisp because it isn't necessarily _that specific programmer 's_ abstraction.

Python, OTOH, is a single, "frozen" M-synax for a Scheme-like Lisp descendant; if Lisp is a pantry of ingredients and a kitchen, Python is fast food, or a microwave dinner, albeit a relatively good example of such.

<comment><USER5> > is a single, "frozen" M-syntax for a Scheme-like Lisp descendant

Sounds very close to what Dylan is/was. Well, it still _is_ , in the sense that there's a working, open source implementation (over at [https://opendylan.org/](https://opendylan.org/)), but it basically lacks the last 20 years of optimizations, which makes it, unfortunately, really slow. The ecosystem is also non-existent and very far from ergonomic. Still, it's a very interesting language - basically Scheme + CLOS in M-syntax (though it does have syntax-rules-like macros, so maybe not as "frozen" as Python here.)

</comment></comment></comment></comment><comment><USER6> At first glance, I love it! For years I programmed mainly in Cython, where you can float in-between Python and C, making each line as C-like or Python-like as you want, whichever suits the needs of the moment better, and can use packages/libraries from both. I liked that floaty feeling, but having 3 dimensions is a whole new ball-game.

I have to share what n-gate said about Cython, it's so funny and true:

 _...a horrible chimera of a programming language, wherein the drawbacks and limitations of Python are augmented by the drawbacks and limitations of C. The result is a language that introduces header files to Python and requires breathtaking amounts of boilerplate. The primary goal of Cython appears to be transforming the programming experience from "implementing a solution to a given problem" to "trying to guess when to turn off exception handling so that your code runs marginally faster."_

[http://n-gate.com/fosdem/](http://n-gate.com/fosdem/)

<comment><USER7> Okay okay, I take issue with the last sentence of that (specifically the word "marginal"). The aim of Cython is to provide a smooth slope from "quickly writing comprehensible programs in Python" to "belaboring bits and mallocs in C to crush the performance of that Python crap", where the optimal Cython experience is "profile, identify a huge hotspot, and do that little bit in C"... and then brace yourself for that boilerplate, boy howdy.

These days I write a lot of C++ and using it through Cython wrappers. With both Python and C++ redefining themselves, each at a breakneck pace, I frequently hope that they'll converge to a common language. But then I remember that I know that devil, and its name is Cython.

<comment><USER8> Like Cling. :)

[https://developer.nvidia.com/gtc/2020/video/s21588](https://developer.nvidia.com/gtc/2020/video/s21588)

However, best way would be just having a JIT by default.

</comment></comment></comment><comment><USER9> this is really cool! I've actually been wondering for a while what a language that's both Lisp and something concatinative would look like, but I keep getting tangled up without actually solving it. I'm going to study this one

<comment><USER2> If you want to read this, I'd suggest looking at the sources in bootstrap sequence from the readme (boot.flpc, stage0.flpc, ...). Alongside, run some of the precompiled entries by hand by pasting it into the interpreter. Call `ps` once in a while to see the current state. Then for larger chunks of code invoke breakpoints by calling `debugger()` (in a `.flpc` file) or `debugger` (in a `.f` file though this will mess up source position printing beyond this point).

And of course, feel free to just ask!

</comment></comment><comment><USER10> Wow! That's wonderful!. Forth and Lisp were my favorite languages long long time ago. Python is my current daily use language among others. I even don't know they are connected.

<comment><USER2> Here's what I was thinking when I wrote the "incorrect assumption" line. But I think many other interpretations are also valid.

You can think of

        sum([x*x for x in range(10)])

as "desugaring" to

        sum(list_comp(lambda(x, quote(multiply(x, x))), range(10)))

which looks like Lisp if you move every open parens one token to the left and remove the commas

        (sum (list_comp (lambda x (quote (multiply x x))) (range 10)))

To evaluate this, parameters are first recursively evaluated (in order) and then the function is called on the outer value. Let's ignore the lambda for the moment.

        (sum (list_comp quoted_inner_func (range 10)))

results in the following function calls are made at execution time _in this order_

        quoted_inner_func 10 range list_comp sum

Normally, you'd have to pass the correct parameter to each function. However, in Forth, we use a global parameter stack so provided all the functions respect their inputs and output, running the above body would provide the desired result on the parameter stack!

<comment><USER10> Thanks. That's a good explanation. I like "desugaring"

</comment></comment></comment><comment><USER11> > Eventually, the grammar itself will be modifiable at runtime

Wouldn't that make programs hard to understand since you can't learn the syntax for once and all. It's like having a book with different pages written in 3 different languages, to understand it you need to understand all those languages.

<comment><USER12> As a counterexample, imagine reading a book on mathematics that did not use any special notation, instead relying on natural-language descriptions of formulas and algorithms. Or imagine reading a book on molecular biology that didn't use any technical vocabulary or diagrams, instead relying on colloquial language and descriptions.

There is a place for specialized notation and vocabulary. Exactly where that line should be drawn in programming has been an ongoing conversation since 1953 when John Backus proposed the concepts that would lead to the development of Fortran.

</comment></comment><comment><USER13> A Ruby subset in Common Lisp (circa 2010) [https://imagine27.com/ruby_subset_implementation](https://imagine27.com/ruby_subset_implementation)

</comment><comment><USER14> Oh dear...

[https://github.com/asrp/flpc/blob/master/precompiled/flpc- ge...](https://github.com/asrp/flpc/blob/master/precompiled/flpc-gen.f)

<comment><USER2> It is actually not hard to read (at least in the sense of knowing what something will do when executed; getting the bigger picture takes more practice). The (base) syntax is just whitespace delimited tokens, each representing a function call (or string but we'll come to that later). So

        foo bar baz

will call the 3 functions in order

foo() bar() baz()

All functions are nullary (with side effects; these side effects determine their "true" arity). There aren't really any special characters other than whitespace so

        1 1 + print

just translates to

        1()
        1()
        +()
        print()

Function names do not have to start with a letter or be alphanumeric. I've happened to name my function so that those ending in a colon treats the next token to the right as a string instead of a function call. The [ function treats everything as strings until ] (that is a single close square bracket as a token) and puts the function in those body in a quote, effectively creating an anonymous function. So

[ foo bar baz ] bind: somename

defines a function. The equivalent in Python would be

        def somename():
            foo()
            bar()
            baz()

And you can later call somename in later functions.</comment></comment>


Impressive AI chat with the database - <AUTHOR> https://www.nlsql.com/blog/post/chat_with_database/ <comment><USER2> This should be useful.

This reminds me of the first versions of Siri and how it did this across multiple apis and databases.

Viv took it a step further by generating a script that could call different apis and DBs in sequence or parallel and put together responses to answer complex queries like "What will the temperature be when I land in SF?" requiring checking calendar, flight details, weather forecasts etc.

In ML terms, how to query an api or DB can be accomplished using "program synthesis" which is fancy for searching for a scriptlet to string together.

NL augmenting APIs should be come standard across services and DBs.</comment>


At Work, Expertise Is Falling Out of Favor - <AUTHOR> https://www.theatlantic.com/magazine/archive/2019/07/future-of-work-expertise-navy/590647/ <comment><AUTHOR> Thought this article was a good in-depth look at automation and it's impact on the labor pool. Looks at changing roles in the US Navy and implications on ship operation when the staff transitions to more of a generalist role vs skilled labor.</comment>


Apple opens Siri to third party developers - <AUTHOR> http://techcrunch.com/2016/06/13/apple-finally-opens-siri-to-third-party-developers/ <comment><USER2> This has nothing to do with 'open' :

Add SiriKit support only if your app implements one of the following types of services:

        Audio or video calling

        Messaging

        Payments

        Searching photos

        Workouts

        Ride booking

[https://developer.apple.com/library/prerelease/content/docum...](https://developer.apple.com/library/prerelease/content/documentation/Intents/Conceptual/SiriIntegrationGuide/index.html#//apple_ref/doc/uid/TP40016875)

<comment><USER3> Indeed, the core use case for an open Siri would be to avoid Apple Maps, e.g. by telling her to "use Google Maps to navigate me to X."

They seem to be explicitly forbidding this :(

<comment><USER4> Also lacking is support for queries that would open up other media apps. "Siri, can you play my podcast in Overcast?"

</comment></comment></comment><comment><USER5> "Now in iOS 10 we have an _intense_ API" did they mean " _intents_ " by any chance?

<comment><USER6> Yes, it's _intents_ : [https://developer.apple.com/sirikit/](https://developer.apple.com/sirikit/)

<comment><USER7> Are these intents only open to Siri?

If so, and if security is the cause: on Android, apps have the option of looking up the app triggering an intent of theirs to check its APK signature in order to verify the origin (allows for secure inter-app communication).

</comment></comment></comment><comment><USER8> Is it open to all app developers or just the selected apps they mentioned? Wasn't clear in the demo.

<comment><USER9> I would assume it is all. But limited to the few example categories of queries the demonstrated.

Interestingly, they did not demonstrate a media query (i.e. Play Metallica on Spotify). If they don't open up for that, it is a pretty significant limitation of the API.

<comment><USER10> It could be intentional, there's already siri commands for Apple Music.

</comment></comment></comment><comment><USER11> So the system Siri is only accessible for a few very specific app use cases. What a dissapointment

</comment><comment><USER12> This seems like an obvious and necessary move given the ramped up competition from other platforms & increase in voice interaction with devices.</comment>


Show HN: Avocv.com Another Resume Generator - <AUTHOR> https://avocv.com <comment><AUTHOR> Resume is generated server-side using a headless browser. This allows to create fancy-looking resumes pretty easily - anything that can be done with CSS can be part of the template. After resume is designed it's pretty easy to add it to the system (about an hour). Currently I only have 4 templates, but if there is enough interest can add more.</comment>


Utterson: a user friendly back end web interface for Jekyll - <AUTHOR> http://gabriel-john.github.io/2015/12/21/what-is-utterson.html <comment><USER2> utterson is in fact an established 7 year old static blog engine: [https://github.com/stef/utterson/](https://github.com/stef/utterson/)

for avoiding confusion please change your projects name. thx,s</comment>


Google Wallet for Digital Goods - <AUTHOR> http://www.google.com/wallet/business/digital-goods/index.html

<comment><USER2> Cool, does anyone know if the Google tax on purchases is more/less/ the same as Google play?</comment>


Deribit – Bitcoin Futures and Options Exchange - <AUTHOR> https://www.deribit.com/ <comment><USER3> "Under extreme market circumstances Deribit could decide to partially or entirely close winning positions to be able to close loosing positions. This could only occur under extreme circumstances, for example when the market moves more than 10% in a 12 hour time frame."

Wait what? I've seen way more than 10%/day volatility on *coin/USD markets often enough. Has anyone else read through the 'tos'?

[https://www.deribit.com/docs/terms-of-service-and-privacy- po...](https://www.deribit.com/docs/terms-of-service-and-privacy-policy/)

<comment><USER4> When you trade derivatives like this, your main risk is counterparty risk. Deribit, with things like this and the documentation used to describe their futures and options offerings, does not inspire trust in them as a counterparty.

<comment><USER5> They're trying hard not to take on counterparty risk. But the gimmicks they use to avoid it make their options less valuable.

Unlike a cash exchange, a derivatives exchange with "leverage" (which means they loan customers money) takes on financial risk. They cannot play in this game unless they have enough financial strength to pay off when they lose. And, no, they don't get to use the customer's deposits. Those belong to the customer.

With "leverage", it's quite possible for a customer to have a negative balance. Then the broker/exchange has to collect from the customer, or cover the loss.

They're trying to escape this situation by using an "auto liquidation" approach, which means that when a customer balance approaches zero, they start closing out customer positions. This allows customers to game the system. Take a position, leverage it, and keep a near-zero balance. If the customer wins, they collect; if the customer loses, Deribit closes out the contract. This adds a special kind of counterparty risk when buying a contract - even if you win, your position may be closed out in favor of the counterparty before you can gain anything.

Deribit makes their own private price for Bitcoin, which is a 30 minute moving average. This makes the "auto liquidation" thing workable. If the price changed too fast, and especially if it changed discontinously, auto liquidation would break. But this creates an arbitrage situation between Deribit and everybody else.

From the terms: _" In no event will Deribit, or its suppliers or licensors, be liable ... for any amounts that exceed the fees paid by you to Deribit under this agreement during the twelve (12) month period prior to the cause of action."_ Financial services do not work like that. They have much larger obligations to their customers.

</comment></comment></comment><comment><USER6> Latency in the micro-seconds range is based on network i/o, distance and wiring, not frameworks. Microwaves travel over 30% faster than fiber optic links. Erlang will not affect this part of the equation, however, it should prove to be low-latency, scalable, reliable, and all the other good stuff the Erlang/BEAM/OTP system is good at on the server.

Pony lang is looking at competing with Erlang, and to be just as fast if not faster.

Maybe their hoping to just trade on IEX, 'The Flashboys Exchange' that has the wire coiled up in a shoebox (I know it's not a shoebox!), so even hackers can't circumvent the intentional delay it causes.

<comment><USER7> >'The Flashboys Exchange' that has the wire coiled up in a shoebox (I know it's not a shoebox!), so even hackers can't circumvent the intentional delay it causes.

Explain? How does hiding the delay hinder hackers?

<comment><USER8> It's not a hidden delay. It's known to be 350μs. The idea is to prevent anyone seeing a large order to beat them to another exchange (like NYSE) and doing an arbitrage there based on that information.

[http://www.nytimes.com/2014/04/06/magazine/flash-boys- michae...](http://www.nytimes.com/2014/04/06/magazine/flash-boys-michael- lewis.html)

</comment></comment></comment><comment><USER9> Should I care if it is erlang-based or basic-based? Why should I use this instead of some of the existing exhanges?

<comment><USER10> What other exchanges are there for options and futures?

<comment><USER11> I'm the CTO of BitMEX.com[1], which runs derivatives (futures and perpetual swaps) on Bitcoin and a few other coins. We've been around since 2014. We run a full-featured testnet [2] for API testing & trade testing.

The other major players are mostly Chinese. In China, there's OKCoin, BTCC (previously BTC China), 796, and BitVC, as well as a few minor players. In the rest of the world, there's us, CryptoFacilities, Coinpit, and now Deribit.

We've been in contract with the Deribit team since 2014 - they appear to be a solid tech team and they certainly understand the underlying finance.

1\. [https://www.bitmex.com](https://www.bitmex.com)

2\. [https://testnet.bitmex.com](https://testnet.bitmex.com)

<comment><USER12> In all earnesty, do you have an interest in your clients making big profits? Or is it in your best interest that most of your clients lose so that you can pay a few winners?

Do you have a training program that can help me go from 0 to full-time derivatives trader?

<comment><USER11> Our interest is in traders continuing to trade - in order for them to do so, they must like the platform and consider it fast, fair, safe, and open.

As for a training program, I usually suggest babypips.com - <USER2> domain name aside, the content is really great.

</comment></comment></comment></comment></comment><comment><USER13> From their "About us" page[1].

"The exchange is built from the ground up to deliver extreme performance and is built entirely in the programming language Erlang. This gives us big technological advantages being able to handle huge amounts of requests with ultra low latency (<1ms). Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability."

[1] [https://www.deribit.com/docs/about- us/](https://www.deribit.com/docs/about-us/)

<comment><USER14> "huge amounts of requests with ultra low latency (<1ms)" needs more explanation because if we had 1 million (<1ms) requests from 1 billion I could still use same definition.

<comment><USER3> They mention that number again in their colocation page, I suspect they're providing their best number based on testing in the same datacenter (yay SXB, FR)

</comment></comment></comment><comment><USER15> How is this going to get around CFTC rules on commodity derivatives markets?

<comment><USER3> > incorporated under the laws of Lithuania > [https://www.deribit.com/docs/terms-of-service-and-privacy- > po...](https://www.deribit.com/docs/terms-of-service-and-privacy-policy/) > > hosted in France > [https://www.deribit.com/docs/](https://www.deribit.com/docs/) §1.9

Are they even subject to those rules?

<comment><USER16> Naive enterprisers think they are exempt from US Securities laws using a 50 year old concept of jurisdiction inside their head

That's always cute

The CFTC is nice, the SEC will come down hard

<comment><USER3> Yeah if I fall under a US orgs' jurisdiction as a EU citizen not conducting business with US citizens as far as I can ascertain, please explain where I'm naive? This isn't sarcasm, I can't think of a way the SEC would have any say over the exchange instead of it's potential US clients but would like to hear it

<comment><USER16> > not conducting business with US citizens as far as I can ascertain

If you make a reasonable [and effective] effort to not conduct business with US citizens then they will leave you alone. The mere fact that I can access Deribit undermines their exemption.

But I've seen the SEC charge people with thinner rationale. For example, a eastern european guy in an alleged insider trading ring only traded CFDs on a European CFD exchange. The SEC claimed that he would know that the exchange would have to make corresponding trades and hedging trades in US equities and therefore he is culpable.

If it makes you feel any better, that particular case hasn't reached a verdict yet and was insider trading, so if you feel comfortable dealing with extradition hearings to establish case law in a foreign country or simply not insider trading on US equities, then you'll be fine.

</comment></comment></comment></comment></comment><comment><USER17> MtGox was written in PHP and it was enough for us! Oh wait...</comment>


WikiLeaks reveals CIA's Imperial: a set of malware targeting OS X Linux FreeBSD - <AUTHOR> https://wikileaks.org/vault7/#Imperial <comment><USER2> For some reason I found the "platform support" section amusing ([https://wikileaks.org/vault7/document/Aeris- UsersGuide/](https://wikileaks.org/vault7/document/Aeris-UsersGuide/)):

      PLATFORM SUPPORT

      Debian Linux 7 (i386)
      Debian Linux 7 (amd64)
      Debian Linux 7 (ARM)
      Red Hat Enterprise Linux 6 (i386)
      Red Hat Enterprise Linux 6 (amd64)
      Solaris 11 (i386)
      Solaris 11 (SPARC)
      FreeBSD 8 (i386)
      FreeBSD 8 (amd64)
      CentOS 5.3 (i386)
      CentOS 5.7 (i386)

Even the CIA has a hard time supporting all the different distributions and versions of Linux/BSD/Solaris! I'm going to go out on a limb and guess this isn't an exhaustive list, but still somewhat funny.</comment>


Half of Milgram's subjects told him to take a hike - <AUTHOR> http://mondoweiss.net/2010/11/half-of-milgrams-subjects-told-him-to-take-a-hike-hallelujah.html

<comment><USER2> In actuality, _all_ of his subjects resisted to some degree at some point. The crucial point is that _most kept going_ after only a few verbal suggestions.

The transcript here is misleading. You might come away with the impression that it was what the subject said or did that ended the experiment, but it is actually the experimenter who halts it because the subject is still resisting after the fourth of four specifically worded orders. The experiment does _not_ simply go on until the subject complies or walks away--they need only resist up to a certain point for the experiment to end. Real authority figures are not so bound.

<comment><USER3> And these subjects had not been conditioned by years of authoritarian leadership. These subjects were free people raised in a culture of hero- worship of dissenters and free-thinkers.

<comment><USER4> Speak for yourself, we may not be anywhere close to fascism, but I see a whole lot of hero-worship of "real americans" and not a ton of most people fitting the classic free-thinker model these days.

<comment><USER3> ...and there you are! A free-thinker, posting on a public web forum, using (almost) their real name to suggest a view opposite to a common view.

Unthinkable in a fascist state.

<comment><USER4> Eh, focus on the trends. Artists and scientists are the first to be demonized, and that's happening to some degree -- probably not enough to be noteworthy or anymore than the domestic right in any situation demonizes them, but it's worth keeping an eye on.

If it could happen in the Germany of Liebniz, Mozart and Kant then it could happen anywhere.

</comment></comment></comment></comment></comment><comment><USER5> From replication of the experiment the figure's more like just 30% refusing after a certain point. In any case, being happy about 30% or 50% is a weird way to see things. "Sure, at least three billion humans are willing to follow insane orders from an authoritative figure they only know by authority (not by actually liking them a-la Hitler or fearing them), but the rest of us aren't quite as susceptible under these exact conditions!" It's like being happy that only 40% of Delaware voters voted for O'Donnell.

Also, does anyone else feel like the subject's (Man Two's) lines were scripted, or did people talk that way often back then?

Edit: replier is right, 'most insane' does not fit here.

<comment><USER6> I guess your satisfaction with this result depends on your prediction.

Also, judging by the comments section on that site, presenting the result this way ("50% refused" instead of "50% complied") has a significant impact on how people respond to the result.

<comment><USER7> Brilliant observation. People respond very differently to the same fundamental numbers if you present them differently.

</comment></comment></comment><comment><USER8> Here's a link to a video from 1972 of the experiment:

1\. <http://www.youtube.com/watch?v=t2PGnHHnRMk0>

2\. [http://www.youtube.com/watch?v=tzYAdGl_0mA&feature=relat...](http://www.youtube.com/watch?v=tzYAdGl_0mA&feature=related)

3\. [http://www.youtube.com/watch?v=KSiMM_GIiyA&feature=relat...](http://www.youtube.com/watch?v=KSiMM_GIiyA&feature=related)

In total it's about 45 minutes long.

Here's the part from the transcript on that site: <http://www.youtube.com/watch?v=t2PGnHHnRMk#t=10m0s>

<comment><USER9> That last link was absolutely amazing to watch.

I highly recommend that those who have read the OP take a look.

</comment></comment><comment><USER10> The results are a bit more involved than that:

* 65% administered the (maximum) 450 volt shock

* All participants questioned the experiment at one point

* None of them backed out until the 300 volt level (over halfway), when the learner started to bang on the wall.

<comment><USER11> The last link in <http://news.ycombinator.com/item?id=1881668> is the video that goes with the transcript in the article. The shock that is administered is 150V, which means that at least one participant (this one) did back out before the 300V level.

<comment><USER10> Wikipedia reports that too, but the original paper reports that nobody stopped before 300 volts and that there was no feedback from the victim until that level. I'm not sure why there's a discrepancy.

<comment><USER12> Possibly because there's a subtle but definite difference between an experiment carried out on 51 subjects from which 1 stopped before 300V and one on 50 subjects from which nobody stopped before 300V.

I'm not saying that's what happened, but as far as I know, there's no assurance mechanism to verify datasets reported by scientists.

<comment><USER13> The scientists made the film, too, so there's probably a less interesting explanation.

<comment><USER12> You're probably right; where many see fertile soil for an entertaining conspiracy theory, there may be as little as human forgetfulness. The interesting part is the implications of such omissions, and not the reasons behind them.

</comment></comment></comment></comment></comment></comment><comment><USER14> [http://en.wikipedia.org/wiki/Milgram_experiment#Summary_of_v...](http://en.wikipedia.org/wiki/Milgram_experiment#Summary_of_variation_results)

The number can go to as much as 92.5% if the subject was not pressing the shock button but was telling someone else to do it.

It goes up to 90% if the subject sees another go all the way.

If subject is just watching it goes upto 70%.

Another interesting case, is that none continued when two authority figured disagreed[experimenters] on whether to continue the experiments.

These are just some of interesting results of the variation in milgram experiment, see the link above for more.

</comment><comment><USER15> "Always look on the briiight side of life..."

Sure, it was about 50 times more than they expected. But on the bright side, at least it wasn't _everybody_...

</comment><comment><USER8> The book Obedience to Authority: [http://www.amazon.com/Obedience-Authority- Stanley-Milgram/dp...](http://www.amazon.com/Obedience-Authority-Stanley- Milgram/dp/006131983X)

Is an excellent piece of work, and shows how much work really needs to be done to try and do social science.

Here's the actual table of results: [http://en.wikipedia.org/wiki/Milgram_experiment#Summary_of_v...](http://en.wikipedia.org/wiki/Milgram_experiment#Summary_of_variation_results)

As you can see, by varying the way responsibility was assigned and the role the subject had they could get to the point where only 8% refused to got the 450V.

<comment><USER16> The wikipedia page notes that moving the experiment out of Yale into a local office building dropped the 450v obedience to 48% but "was not statistically significant"

it seems hugely significant - nearly 50% reduction. Does anyone know why it's not considered significant ?

<comment><USER17> I believe they got 50% compliance at Yale, from the same format. The 92% obedience was in the format where the "teacher" is in a group of paid actors, and one of the other actors was actually pressing the switch while the "teacher" read the questions.

Watch the Youtube links from the comment above, they're absolutely amazing.

</comment></comment></comment><comment><USER18> It would be quite interesting to see how compliance rises with different feedback mechanisms. For instance, reducing the actor's communication to textual output, or having the actor's distress communicated through a third party.

</comment><comment><USER19> The article frames Milgram's results as if there is some previously undiscovered optimism in his results. In reality, there is none. A better headline would have been: "Only half of Milgram's subjects told him to take a hike".

That means the other half could be persuaded (because the certainly did not do this out of their own initiative) to administer lethal electric shocks to another human being. Compliance is a bitch.

<comment><AUTHOR> It's relative to expectation. Many of us have been hearing about the Milgram results for years. After a while, the shocking side of it seems to be the only significant thing. Reading that transcript (and even more, watching the video of the interview, linked above) is a shock of a different kind, reminding us that there are angels in us and not only devils. The OP took inspiration in that. So do I.

I wonder how many of the more compliant subjects would have changed their tune if they had been in the room when someone like this guy (or the one after him in the video) stood up and refused. In this respect, the laboratory conditions were pretty artificial. In life, the social context is usually much larger. It would be interesting to know under what conditions an individual saying no would have an amplifying effect. Perhaps someone who knows social psychology can cite some work on this.

</comment></comment><comment><USER20> Interestingly, there's no way I could get experiments of this kind past the Ethics Board these days. I'm not quite sure if that's a good or a bad thing.

</comment><comment><USER21> I've always been surprised none of the "teachers" participating threatened to call the police. (I would probably have gotten arrested for assaulting the experimenter, myself.) I would expect the vast majority to comply or politely leave, but I would expect a few percent of people to have a past association with torture or abuse and thus to respond directly.

<comment><USER22> > I would probably have gotten arrested for assaulting the experimenter, > myself

You keep thinking that, if it can make you feel better about yourself.

> I would expect the vast majority to comply or politely leave

That's the point: it's not the case in any way, shape or form.

<comment><USER23> Actually if you know about the experiment, chances are that you won't comply.

<comment><USER20> That's trivially true.

<comment><USER23> Sure, but you are also less likely to comply with similar requests outside the experiment.

<comment><USER20> No, you aren't. Unfortunately, I must say. All those years taking Social Psychology courses haven't even made me immune to fascism!

Seriously, though, reading some essential papers in the area is absolutely worthwhile. Replications of Milgram's initial experiments have investigated exactly this issue. Knowing that you're susceptible to manipulation by authority figures doesn't make you any less susceptible.

</comment></comment></comment></comment></comment></comment><comment><USER24> it's too bad nobody neutralized the authority figure and liberated the prisoner.

<comment><USER25> According to the video posted by another commenter, those who refuse to continue giving a shock are given explaination about real experiment. And then the "victim" comes in to the subject, in a good health.</comment></comment>


Joint Statement on Contact Tracing: Date 19th April 2020 - <AUTHOR> https://drive.google.com/file/d/1OQg2dxPu-x-RZzETlpV3lFa259Nrpk1J/view <comment><USER2> This is naive in the extreme.

Surely you can't believe that such a useful technology and data set would "only be used for contact tracing of COVID19".

The data would only be used to "track a threat". What you consider a threat differs considerably from what others consider a threat... but the data collected is the same.

The data is sent over the internet. All internet traffic is recorded somewhere. Search for the discussion of "thin thread" and the abuse surrounding it.

Be careful what you wish for.</comment>


Creation and consumption - <AUTHOR> http://ben-evans.com/benedictevans/2017/7/13/creation-and-consumption <comment><USER2> While I do believe that an awful lots of PC's will be replaced by Android machines with keyboards and 24 inch monitors in corporate America my feeling is that he's overstating things to make his case.</comment>


The Distribution of Users' Computer Skills: Worse Than You Think - <AUTHOR> https://www.nngroup.com/articles/computer-skill-levels/ <comment><USER2> True story: Early 90s. In a world before Windows 95. Was visiting a friend of a friend, an IT professional. We were in his home's "computer room" and his son was having trouble finding his favorite game on one of the many PC's in the room. His father said, "Oh! I moved that to the 'games' directory on the 'D' drive." And his 9-year old son, armed with that bit of info, was able to use his MS-DOS command line knowledge and good-enough keyboarding skills to find and play his favorite game!

That experience colored my expectations of what level of computing ability adults should have – "...if a bright 9-year old can figure this out, surely an adult with decades more cognitive development should be able to so as well..."

This survey sadly shows that may too much to expect out of some.</comment>


Observations after three days of iPad usage including a cross-country plane trip - <AUTHOR> http://www.scripting.com/stories/2010/04/06/isIpadAGamechanger.html <comment><USER2> The Xmarks problem is easy enough to solve: bookmark Xmarks in Safari!

Interesting about the writing. It does seem like it's just such a consumption- oriented device. I've found typing on it to be pretty tolerable, but _editing_ is just not fun.

I think we'll see web apps have a more important role on the iPad than on the iPhone. Maybe iPad devs/users will make use of web apps in the way that Apple initially hoped they would with the iPhone.

I am also interested in seeing web/app authoring tools for the iPad itself. It could work beautifully.

<comment><USER3> " _I've found typing on it to be pretty tolerable, but editing is just not fun._ "

That's great summary of my experience on the iPhone (and I'd guess many other similar devices). Anything longer than a tweet or an SMS message and you're probably going to want to do some editing. It's possible on the iPhone, but pretty grim all the same.

</comment></comment><comment><USER4> Dropbox won't fill the iPad with files, if it's the same as the iPhone app. (<https://www.dropbox.com/help/116>) Only files you favorite get downloaded and kept locally.

But that doesn't obviate the issue of what happens if you lose your iPad. The rest of your dropbox is still available. I keep a lock code on my iPhone to (hopefully) prevent that.

</comment><comment><USER5> This was a curious piece to read, since so much of computing usability is about getting a device to meet the expectations within its users' mental model.

The DropBox comment and Xmarks comment, the "my writing tools" comment, and the "two desktops" comment, suggest the author's mental model doesn't match the iPad's approach and that proved a stumbling block.

But the author is Dave Winer, "the father of blogging and RSS", who knows a thing or two about how things work. So is the problem that his preconceptions are well informed and defined?</comment>


NASA's Web-Based Mission Control Framework - Open Sourced on GitHub - <AUTHOR> https://github.com/nasa/openmct <comment><USER2> Also shared these other times:

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

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

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

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

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

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

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

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

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

<comment><USER3> As ever I check HN several times a day, and even go to the trouble of checking the new items feed, but I had not seen it before.

Someone had posted a list of books recommended on HN, perhaps one on GitHub projects would be a help too; albeit without the glint of affiliate cuts on purchases.</comment></comment>


Working at Google feels like winning the lottery - <AUTHOR> https://plus.google.com/u/0/110981030061712822816/posts/UgCL6YRwgbR

<comment><USER2> I'd be really interested in reading about Amazon's internal culture; I've heard a lot of the same things he sort of mentions ("great for customers, not so great for employees"), but in spite of that, they're innovating in multiple areas very well.

</comment><comment><USER3> This story was on the HN frontpage 20 days ago. Why is it back? Has the post been updated?

<comment><USER4> Any chance you could link to it? I'd like to read the previous discussion, but I'm having trouble finding it on HN...</comment></comment>


'Space elevator' would take humans into orbit - <AUTHOR> http://edition.cnn.com/2008/WORLD/europe/10/02/space.elevator/index.html

<comment><USER2> I had an idea yesterday about the minimum distance needed. Now, I have yet to work the math on this one but, rather than a 32,000 mile long elevator why not try sticking something from the equator to just above LEO, and using a series of orbiting satellites (or a cable around the earth) to keep it up (you would need to deflect them). Granted you still need to add orbital velocity but if you can get a useful amount of mass stable at that altitude you could build a pair of them to safely get something into orbit using a long rail gun between two of them.

I don't think it's stable but if you wanted to move a huge amount of mass out of the gravity well it might work.

<comment><USER3> Let's try to find out what I don't understand about what you just said.

You have a too-short elevator.

You have satellites.

The satellites are going too fast for their orbit, and by "deflection" they push up the anchor of the elevator as they pass underneath?

What relationship do the "pair" of space-elevators have to each other? What would the rail gun be for?

      .

Maybe you are thinking of an upside-down maglev train riding eastward at greater than 17,000 miles per hour, on a track that circles the earth, several hundred miles above the equator. The track is held down by guywires angling out to the sides.

By the way, have you read this?

<http://www.spaceelevator.com/docs/acclarke.092079.se.1.html>

 _The Space Elevator: 'Thought Experiment', or Key to the Universe?_

<comment><USER3> _can you get a stable orbit that includes a single strong deflection in the direction of the earth?_

You are referring to an eliptical orbit, right? The satellite in this elliptical orbit bounces against a space-elevator anchor at apogee, right?

      .

_you could probably add energy from the tower_

What tower? You never mentioned a tower.

      .

_the car is not going to have much orbital velocity as it's not at a Geosynchronous altitude._

Indeed. So, what is the point of this too-short space-elevator?

<comment><USER2> _Indeed. So, what is the point of this too-short space-elevator?_

It's just the seed of an idea. But, I was wondering what the shortest useful length you could make a space elevator and getting out of the atmosphere seems to give you a lot of options.

<comment><USER3> Well, like you said, getting out of the atmosphere gives you the option of using a rail-gun (electronic catapult), but you could launch satellites from the roof a tall building, the same way. A 100-mile wide, 100-mile tall cylindrical building could have a circular track on top, or spiraling up to the top, that could perhaps be long enough to accelerate objects to orbital velocity.

<comment><USER2> Umm, yea that's what I call freaking huge but it could probably work.

</comment></comment></comment></comment></comment></comment><comment><USER4> The space elevator is miles off, so...

I put my money on Elon Musk and SpaceX to make space travel cheap enough in the meantime, until we can build the elevator. Got to focus on the short-term, the elevator is long-term.</comment>


Response to the NYTimes redesign article by Martin Belam of the Guardian - <AUTHOR> http://www.currybet.net/cbet_blog/2011/07/andy-news-redux.php

<comment><USER2>
      Users want to see the people in the stories, not the people writing them.

Truthfully I hope this is a case where media people aren't giving enough credit to their audience (as opposed to a case where I'm just a minority - though I suspect this is more the case).

I mean, in a story, sure, pictures can be great. But when deciding which story to read, e.g. when reading a list of headlines, I surely can't be the only one with a long enough attention span to actually read the headlines and decide based on what the story is, without needing a small picture to draw me in?

<comment><AUTHOR> I think you've misunderstood his point: he's saying that that the audience would rather see _pictures of the story_ than _a picture of the author_.

In Andy's original article, his mockup featured photos of the authors next to some headlines. But of course, a photo of the story is far more useful than a photo of the correspondent.

</comment></comment><comment><USER3> "Unsolicited redesign" blog posts are just linkbait posts that ignore the most important part of redesigning a major website: user testing.

These unsolicited redesign posts just feed the author's ego and redesign a website with one user in mind: the author.

<comment><AUTHOR> This is exactly the point that Martin Belam makes:

      So, if anyone wants to pick up the challenge and build a
      prototype of Andy's redux from our content, I'd love to
      see it...and test it with users.

</comment></comment><comment><USER4> The site is down, any cached or working links?

<comment><USER5> nope went down too quick. coral cache doesnt have it anyways.</comment></comment>


Next.js 9.5 - <AUTHOR> https://nextjs.org/blog/next-9-5 <comment><USER2> Incremental Static Site Regeneration is really compelling, I wonder what the gotchas are.

For instance, I have a project where the front page gets server-side-rendered for logged out users. We can't do client-side-rendering because we care about SEO. And we can't do static-generation at build time because the content of the front page regularly changes (it summarizes activities of other users).

But with incremental static site generation... even if we care about the community always having up-to-date data on that front page, we could presumably set the timeout to like five seconds. That's a heck of a savings compared to generating it on every request.

<comment><USER3> Maybe I'm missing something, but ultimately, isn't this just a re-invention of a site-wide cache?

Back in the day, in Django/Drupal/any CMS, for anonymous users, you'd just dump each page into memcached with a path URL.

Then when a new anonymous visitor comes, you load it right up from – extremely fast – memory. Maybe even faster than loading from the file system? Nginx can actually ask memcached directly, even bypassing the app server.

It feels like we've gone full circle.

<comment><USER4> You're not totally wrong, but think of it this way. You have native support in your application stack for this static 'caching' along with one-click edge distribution. Which means you can write extremely complex, interactive markup (it's just React) on top of this very simple distribution system. And you don't have to build a whole magic caching system or deal with web servers at all.

I've worked with similar systems to the one you've laid out -- tell me you've never had to jump into the cache to clear it because a client wasn't seeing their updates. Or a page was getting improperly cached. Even if it was simple and effective, it was often a pain.

These days, there are a number of services that will store your html and other static files on their edge CDN servers (cloudflare workers, vercel, netlify, among others) leading to your users downloading the files at remarkably fast speeds. You can reach a pretty amazing TTI while maintaining nigh infinite scalability.

I will say that while I personally use next.js, I stick entirely with server- side rendering. I find it to be a better all-around user-experience for my use-case with several distinct advantages. But I only serve ~150,000 users a month, who are all relatively close to my server and I don't have much static content. A modest ec2 instance handles it with ease.

But if I was building an application that targeted many regions and needed infinite scalability, or one that heavily utilized static data, I'd definitely consider pursuing the approach laid out above.

We've gone 'full circle', sure. Because React offered a way to write web applications in a much more consistent, interactive way than anything before it. But we spent a few years growing our bundle sizes out of control, and improperly structuring our applications which led to TTI growing and everything being slow and clunky. Companies that cared and had good engineering were able to navigate these problems, but your average developer couldn't. Now with a system like this, they can not only match the performance of classic applications, but in many cases exceed it.

<comment><USER5> Hosting is separate from the framework, and the static site hosts you mentioned are just webserver + CDN packaged together with optional build/CI layer and some extra APIs to handle form submissions and user logins. Considering the number of CDNs and 1-click hosting, and the ease of putting them together, it's all pretty much the same.

The big difference is that these static site frameworks are using React/Vue/etc for the frontend templating and interactivity instead of a server-side language that has it's own templating and might require complex JS integration. But the trade-off is that you give up that server-side ability or have to use 3rd-party services like a headless CMS instead.

<comment><USER3> Sort of, but not always.

My blog at [https://www.silviogutierrez.com](https://www.silviogutierrez.com) is React+Django strictly server side. I like JSX that much. Try loading it with JS disabled.

Same at my business site: [https://www.joyapp.com](https://www.joyapp.com).

It was a huge ordeal getting it setup (with React SSR, etc), but it's definitely doable. I've open sourced it but it sorely needs documentation (incoming):

[https://github.com/silviogutierrez/reactivated](https://github.com/silviogutierrez/reactivated)

Basically, _despite_ the tooling (not because of it), once you get going with JSX, TypeScript and the like, nothing else comes close. At least in my experience.

But again, none of the above stops me from dumping that output into a single cache key per request. It's still dynamic, just cached robustly.

<comment><USER6> I'm a fellow django + react developer. What are your thoughts around moving to Next.js?

<comment><USER3> In my opinion: nothing, and I do mean nothing, comes close to the productivity of Django + Forms + FormSets + Admin. I've tried everything under the sun[1]

The model->form and presentation layer is so intuitive and robust that I'm surprised no JS framework has rebuilt it. Too much is focused around REST instead of domain specific inputs / outputs.[2]

So yea, I've focused on making Django more React-friendly. I want to stick to it.

[1] Ok, maybe Rails comes close.

[2] [https://news.ycombinator.com/item?id=21875331](https://news.ycombinator.com/item?id=21875331)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Developing a Next.js app is a really nice experience. I admit when it first came out I didn't pay that much attention to it because I thought how it did routing was weird and I don't think the server was as extensible. Fast forward to 9.5 and there's pretty much no real reason for me to build a custom Webpack-based setup for my next project.

</comment><comment><USER8> It's interesting that the React Router team, which is building the competing Remix framework (similar to Next but based on React Router) is arguing that instead of supporting static page generation, they will just urge their users to use CDNs with aggressive caching rules.

<comment><AUTHOR> I'd imagine the hard part with that approach would be cache invalidation. I'm curious to see how they try and address it.

<comment><USER9> You could use webhooks on deploy to call your CDN's API to purge the cache. Otherwise, I guess just keep it time-based.

</comment></comment></comment><comment><USER10> Great product. Them deciding to rebrand from Zeit to Vercel was one of the worst branding decisions ever made.

<comment><AUTHOR> Curious, why do you think that?

Any rebranding will have backlash. It solved the issue of ZEIT Now being one _product_ whereas Vercel is the _platform_. It also brought a new focus on Jamstack and front-end developers.

I'll admit I'm biased though, as I'm a Vercel customer.

<comment><USER10> They could've just used ZEIT as the platform then. Vercel sounds like some generic VC created tech name. Their customer base is literally the exact opposite. Indie developers, people with Github accounts, technical engineers, engineering leaders. Not some Salesforce CRM enterprise selling to CEO's marketing bs "Vercel" lol.

</comment></comment></comment><comment><USER11> Curious, anyone know how this would compare performance wise for something like Reddit verses livewire/liveview. I know those would be more reactive, but I like the idea of static pages that are dynamic as well.

<comment><AUTHOR> Not exactly the same, but the Vercel team made a demo using Twitter with static generation.

[https://static-tweet.now.sh/](https://static-tweet.now.sh/)

</comment></comment><comment><USER12> This is great -- can't wait to update and try this out.

</comment><comment><USER13> Beautiful release!

</comment><comment><USER14> i love vercel and use it for all my projects, right up until i need to add auth/api, at which point I switch off of it immediately for security reasons because there are no static IPs unless you're an "enterprise" customer

it's unclear why they're rolling out performance features while this critical security hole persists. no doubt i'll get flamed for it, but, it's a really bad idea to use dynamic IPs to connect to your database with only a password...

<comment><USER15> I guess you're talking about Vercel.com instead of Next.JS, right?

<comment><USER14> Yep</comment></comment></comment>


Find out fake users percentage of a Twitter account - <AUTHOR> http://fakers.statuspeople.com/Fakers/Scores <comment><USER2>
      Authorize this app to:
       * See who you follow, and follow new people.
       * Update your profile.
       * Post Tweets for you.

_No thank you._

<comment><USER3> Agreed, when I first landed on the page first thing I thought was "why don't they just let you enter an @name?". Avoiding this service like the plague, seems like total oauth malware.

</comment></comment><comment><USER4> Says on the front page that these guys are 100% fakes:

<https://twitter.com/matt_buckley> <https://twitter.com/iCarlLarsson>

False positives?

</comment><comment><USER5> I was impressed by the line at the top of the page:

Please connect to you[sic] Twitter account to make use of this service.

10 foot pole.

</comment><comment><USER6> I much prefer twitteraudit (<http://twitteraudit.com>)</comment>


Dijkstra's review of Backus's FP Turing Award speech - <AUTHOR> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD692.html

<comment><AUTHOR> Backus's paper covered functional programming. I'll dig it up if anyone's interested (should be on ACM).

 _The first impression that his functional programming style invites implementations with a lot of concurrency should be complemented by the remark that it invites a lot of traffic that the von Neumann machine doesn't need._

 _He presents the proving of the correctness of programs as an activity reserved for geniuses: "The complexity of this axiomatic game of proving facts about von Neumann programs makes the successes of its practitioners all the more admirable. Their success rests on two factors in addition to their ingenuity"._

 _And then comes his fundamental complaint "In any case, proofs about programs use the language of logic, not the language of programs. Proofs talk about programs but cannot involve them directly [? EWD] since the axioms of von Neumann languages are so unusable." and he presents as an advantage --without questioning-- that in his system "Algebraic transformations and proofs use the language of the programs themselves, rather than the language of logic, which talks about programs." I am not quite sure what is meant by talking proofs and talking logic. But whereas machines must be able to execute programs (without understanding them), people must be able to understand them (without executing them). These two activities are so utterly disconnected --the one can take place without the other-- that I fail to see the claimed advantage of being so "monolingual"._

</comment><comment><USER2> Dijkstra was replying to this:

<http://www.stanford.edu/class/cs242/readings/backus.pdf>

AFAIR Backus says that C and Pascal are too low-level to be good at problem solving, but pure functional programs, point-free style and a more math-like notation may make programming less error-prone.

</comment><comment><USER3> Here's an interesting quote from article:

"In short, [Backus's lecture] is a progress report on a valid research effort but suffers badly from aggressive overselling of its significance, long before convincing results have been reached. This is the more regrettable as it has been published by way of Turing Award Lecture."

</comment><comment><USER4> so i guess this shows no-one is always right...</comment>


Five Ways Augmented Reality Will Make Us Transhuman - <AUTHOR> http://www.seriouswonder.com/five-ways-augmented-reality-will-make-us-transhuman

<comment><USER2> industrial&agricultural machines, cars and handguns has overcome humans limitations in physical space to comparable degree that chip augmentation is supposed to do in virtual/information space, and we're still not transhumans.

Overcoming violence, individual and collective, toward animals, other humans, alien visitors (alternative version of First Contact in StarTrek Enterprise looks more probable considering current mental level of human race), bringing billions of people up to the basic human level of existence - that will at least make us better humans, and continuing on that way we would one day may become transhumans.</comment>


Chaos Communication [Hacker] Camp 1999 [photo gallery] - <AUTHOR> http://dasalte.ccc.de/camp/1999/source/1.html

<comment><USER2> BTW, there will be a Chaos Communication Camp this year (in fact in less than a month) [1]. You shouldn't miss it, the CCC does amazing events with tons of great people there. If you can, go there.

[1] [https://events.ccc.de/camp/2015/wiki/Main_Page](https://events.ccc.de/camp/2015/wiki/Main_Page)</comment>


The Snowblower Problem [pdf slides] - <AUTHOR> http://www.ams.sunysb.edu/%7Ekotya/pages/SBPslidesDagstuhl.pdf

<comment><AUTHOR> Also see the paper here:

<http://www.ams.sunysb.edu/~jsbm/papers/snowblowing.pdf></comment>


Ask HN: Is anyone still excited by Diaspora? - <AUTHOR>

I recently got an email saying "I, like the world, saw the diaspora release and thought, erm, is that it?"
I realise that none of us were expecting Diaspora to ever displace Facebook, but I was surprised that it's perceived as being disappointing — especially given that there are nearly 3,000 people watching it on GitHub!
So what's the general sentiment? Excited? Disappointed? Couldn't care less? <comment><USER2> Couldn't care less.

Systems like Facebook depend on a dual sided market. There's nothing to read if nobody is writing, and why write if nobody is reading?

I had a friend years ago who ran a multimedia-oriented site that only took open formats like Ogg Vorbis. Although hypothetically, Ogg Vorbis is a free format which might be accessable on more operating systems and devices, practically, publishing in Ogg Vorbis is like speaking in Pig Latin. MP3 files just play for most people on the devices and OSes that they actually use w/o any trouble.

Even though there is an articulate group of people who are concerned with privacy and other philosophical problems with Facebook, the fact is that most people just don't care -- if you ~really~ cared about those things, you probably wouldn't be oversharing your life on a social network anyway. In fact, from a 2010 perspective, Facebook's early policy of only publishing to your 'close friends' looks medieval: the industrial spy, potential employer, litigator, or other person who wants to use information to harm you is going to extract it one way or another, from such a network. If you really want to keep something a secret, keep your mouth shut.

</comment><comment><USER3> Diaspora suffers from the Marimba effect. You can't combine insane media hype with the "release early, release often" strategy. Worse, they convinced consumers (rather than professional investors) to invest in a product before it existed. Meeting the expectations generated by that are hard to meet, especially for a relatively novice team. (as far as I can tell) They might pull it off in the long term, but I would never have dreamed of going about it the way they did.

<comment><USER4> Wow, there's a name I've not heard in a long time, Marimba and Castanet were once the poster children of the Java revolution. When all monolithic apps would be broken down into install-on-demand components... Wonder what happened to that Kim Polese.

<comment><USER5> Until recently she was CEO of Spikesource: <http://www.spikesource.com/> .. but is now just on the board. Her bio suggests she's not lacking for things to attend to:

 _Kim serves on the executive council of TechNet, a bipartisan coalition of executives focused on the growth of the technology industry and economy, on the board of the Global Security Institute and on the University of California President's Board on Science and Innovation. She is a Fellow at Carnegie Mellon University's Center for Engineered Innovation._

I have a bit of a weird hobby for checking out where previous "bright lights" of the Internet world ended up. It's surprising how many of them deliberately try to stay out of the limelight and hold NED board positions or work at quietly profitable enterprise-focused startups that don't get much press.

<comment><USER4> Indeed, at one time it looked like she was going to be a household name.

</comment></comment></comment></comment><comment><USER6> I didn't see the point to begin with.

Social Networks are and have always been interface challenges, not technical ones (at least until you get to massive scale).

The more logical way to address privacy concerns would be through interface (clearer controls, better explanations of who can see what, simpler ways to share with select groups, etc.)

The idea that a buggy, self-hosted, SSL-encrypted node would address any of people's dissatisfaction with Facebook is, I think, silly to begin with.

</comment><comment><USER7> I was honestly surprised that they wrote the thing in Rails. When I saw that, I got a sinking feeling that they got WAY behind in the timeline.

I'm trying to find it now but I distinctly remember they said it would be written in PHP because that's what they knew. Switching to Rails was a terrible decision at that point in the game. Not that Rails is a terrible decision but using other people's money to learn Rails was probably not the best choice and the quality of the code suffered.

I would love to hear some discussion on why they decided to switch. Did they get behind on work? Did they find a limitation in getting the work done in PHP? Did they do it because it was "cool"? Only one of those is acceptable but still not justification imho.

As to the original question, I paid $100 dollars to the project but I didn't have high expectations. I paid for the concept. I paid to get the idea on the map and HOPEFULLY to have someone sit and think about the architecture for a minute. I fully expect to see people take the framework established and develop alternate seeds in other languages.

</comment><comment><USER8> I was disappointed... which sucks. Back before release I did have a lot of concerns - not least that the money and hype would not leave the right environment to work in.

Once the product was released I had a number of concerns:

* The security is abysmal, it needs a complete audit and someone with real experience here (plus maybe months of work) till it is safe to use

* They didn't seem to have _done_ very much. The UI appeared to have a lot put into it.. but only on the surface, at any depth it became confusing.

I'm afraid that I think they shot themselves in the foot dramatically here. Because they rose to the hype with a pretty poor "product" - so now many supporters are disillusioned with their promise.

It will take a lot of time to create a working system; months at least. This was always going to be the case, but the hype forced them to promise something much sooner. And now it is a "semi-failure".

With luck they can refocus and come back in a few months with a serious product :)

</comment><comment><USER9> I think they should take that money and see if they can get a real development team to use it as seed funds, and then keep a below market slice of equity.

Some people forget that, like Gates, Zuckerberg was actually a pretty good programmer. Its unlikely that Facebook would have gone anywhere had he not been. These Diaspora guys probably aren't as passionate about programming as Zuckerberg was, and thats what you need for a complex project like this. Talent and passion for knocking out tons of high quality code.

Give the money to someone who will use it wisely. There is a clear market opportunity here.

<comment><USER10> "These Diaspora guys probably aren't as passionate..."

Have you met them and talked programming or is this just hyperbole and conjecture?

They were out at the Web 2.0 Expo Startup Showcase [http://blog.web2expo.com/2010/07/get-your-fledgling- company-...](http://blog.web2expo.com/2010/07/get-your-fledgling-company-some- buzz-at-startup-showcase/) and in the conversation I had with them they seemed very passionate about Diaspora the project.

<comment><USER11> I don't think you can call out their passion.

However, technology moves fast and expectations grow each day. I don't think there were that many expectations from Gates or Zuckerberg as much as people expect from these guys. Maybe they'd be better off getting outside help. At some point of time, MS and Fcbk expanded as well. Diaspora needs more involvment (not opensourcey but someone working fulltime on board with them) much sooner than those cases.

</comment></comment></comment><comment><USER12> I was intrigued by the idea, but ever since I saw the code on Github I've been, well, saddened. First of all, they chose to market the idea directly to average consumers (and gladly accepted their money). In my book, that means they have a responsibility to turn out a product that an average person can deploy.

I realize that Diaspora is still in the early stages of development, but honestly, who in their right mind would use MongoDB and Rails on an app that's being marketed directly to consumers? It's hard enough coaching people through WordPress's trademark 5-minute install process. Can you imagine your aunt Gertrude or little cousin Mordechai trying to deploy a production-ready Rails app?

<comment><USER12> Oh, and P.S. I love Rails, but I always try to use the right tool for the job. Sometimes that means good old PHP and MySQL. Don't just use cutting edge tools because they're 'cool' or 'developer friendly'. Developer friendly and consumer friendly are two very different things.

</comment></comment><comment><USER13> I think I am pretty good at guesstimating the chances of success of "digital products and services", whether for profit or non profit, and the minute I heard about diaspora I predicted it as a future failure and when I say failure I mean that it will not become a viable alternative to Facebook that is used by a decent amount of people. It might turn out to be a success of a different kind. What kind? I don't know but they certainly surprised me with the amount of money they managed to raise in such a short time with nothing more than a state of principals.

</comment><comment><USER14> I recently subscribed to their development mailing list, and then rapidly unsubscribed. It was mostly an echo chamber of people (rightly) bashing the code written with no thought to "security as design principle" mixed with people (rightly) clamoring for more documentation and some kind of architecture spec so they could help.

I _was_ excited about Diaspora, but the work released after months and months of development time is, in my mind, severely lacking. Maybe the beta (if there ever is one) will change my mind?

</comment><comment><USER15> Reserving judgement until there is a release for users. Until then, cautiously optimistic.

</comment><comment><USER16> I was sad that it raised so much money, when Rails 3 only raised a little over $37K for Charity Water just two months later. Just felt weird to me, since this was a purely speculative project, while Rails 3 is real and delivered, and Charity Water effects change in a very real and direct way.

<http://mycharitywater.org/rails3>

</comment><comment><USER17> Why do we all use Facebook? Because everyone else in the world uses it. Even if you prefer Twitter or another network, for personal connections, Facebook is where everyone is. It's called a network effect for a reason, and that's hard to break.

Additionally, I'm afraid it's going to be to complicated for most users (especially those that use social networks the most). After all, most standard consumers are going to use WordPress.com or Tumblr when they want to start a blog, not roll their own WordPress server or set it up on a hosting account. Average consumers aren't likely to want to host their own social network node either.

</comment><comment><USER18> I was expecting disappointment, but hoping to be pleasantly surprised. Since it doesn't exactly seem to have set the world on fire, I'm mostly wondering what the current leader of the field is now. Gnu Social?

<comment><USER19> Appleseed is the farthest along:

<http://opensource.appleseedproject.org>

</comment></comment><comment><USER20> I think the fundamental idea of it is great, but one of the biggest issues they'll have is to get the point across to the average user.

The main advantage of Diaspora over Facebook seems to be "you take control of your own data" which isn't easily understood.

It is similar to a company who says they offer an extended warranty for their product, but don't have anyone to actively sell it. Honestly, how many people would buy the extended warranty if there wasn't someone there to scare them into buying it?

</comment><comment><USER21> Couldn't care less. Never was excited about it. Always figured it was flawed from the start. The average human being does not care about "open source" and while they like the theory of being open, they can't do anything with it (code wise) and the mass majority who aren't in tech or more specifically programming, don't have their own web host to even host the damn thing. The incentive is low and really, even if everyone hates Facebook, fact is, they're too lazy to do anything about it.

</comment><comment><USER22> Couldn't care less.

The name irks me for some reason, it's so pretentious for a site that's trying to hit the mainstream.

I think facebook has really just hit the peak of what social networks can do and they have so much of the market. Getting all your friends to migrate to another service is just, quite frankly, a waste of time

<comment><USER23> Diaspora isn't meant to be a site, it is an open source project to power social networks.

Maybe you should look into what you are commenting about before commenting.

<comment><USER22> Guilty as charged.

However, the mainstream media seem to interpret Diaspora as being a Facebook competitor

</comment></comment></comment><comment><USER24> If it can't produce an advantage that most consumers understand, it has no way of succeeding.

</comment><comment><USER25> I made a poll for it: <http://news.ycombinator.com/item?id=1759504></comment>


Ask HN: How to break into CS research? - <AUTHOR> Hey HN, you've always been excellent advisors so I wanted to get at your thoughts.
I'm a student completing my master's in CS from Georgia Tech and my master's in computational biology from Harvard. I have two 4.0 GPAs, and have been trying to get research opportunities in ML/RL/Theoretical Neuroscience because I'm absolutely fascinated.  Unfortunately, I have a non traditional background with no research experience, and most professor's don't really give me an opportunity or even respond. I have a lot of product and entrepreneurship experience, and I really got deeper into theory in recent years. Are there ways I can get into research with this background? I'd like to eventually be able to get a PhD or do a residency.
I really appreciate the advice. <comment><USER2> I would say, with your background, consider applying to DeepMind[1], or a national research lab. What you'd be looking for would be "entry level" research work. This would allow you to easily stand out in your applicant pool, and make it to the interview, where'd you'd have a better chance to properly explain your non-traditional academic background. If you're a US Citizen, maybe consider applying to positions at the MIT Lincoln Lab, Los Alamos, or Argonne National Lab. A lot of these guys aren't doing that much with ML/RL/AI, but that's okay! If you're serious about research you'll probably want to do a PhD. To get into a good PhD program, you'll need good references.

[1]: [https://deepmind.com/careers/](https://deepmind.com/careers/)

<comment><USER2> P.S. I specifically underline references and research experience because that's where it appears you'd be weakest at the moment. Getting a 4.0 GPA in your grad school coursework (which is online, I presume) says a lot more about your organizational skills (which must be really good!) than your ability to research. Getting someone with a PhD to write "This person is capable of doing good research and I've seen it with my own two eyes" is probably one of the best things you can get on a recommendation letter to a PhD program, which is far more valuable than "this person did well in my class" (see: [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&c...](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwiJ7uTrosbdAhXPwFMKHWtACnwQFjAAegQICxAC&url=https%3A%2F%2Fwww.cs.cmu.edu%2F~harchol%2Fgradschooltalk.pdf&usg=AOvVaw2Z-tuZHWVeEIWJuUQZnWAR))

<comment><AUTHOR> This is enormously helpful, thank you! I'll look into getting my hands dirty with entry level research as fast as possible</comment></comment></comment>


The LMAX Architecture (2011) - <AUTHOR> http://martinfowler.com/articles/lmax.html

<comment><USER2> This has been submitted to HN a few times before (search: lmax.html)

There was a pretty good discussion on this particular thread: [https://news.ycombinator.com/item?id=3173993](https://news.ycombinator.com/item?id=3173993)

</comment><comment><USER3> An oldie but a goldie. Always thought this was a very elegant solution for high throughput.

</comment><comment><USER4> I would like to see a Call Me Maybe-style test of the automatic failover from one disruptor to the next. At 6 million TPS I don't see how they could stay exactly in sync. Is the output queue allowed to emit duplicates?

<comment><USER5> Ordering is enforced by the logging mechanism rather than the business logic processing.

The redundant business logic processing should be happening in parallel continuously with the results being verified identical.

This type of system has the added benefit of continuously checking for hardware failure by checking against multiple execution units.</comment></comment>