skysight-inc/HackerNews huggingface dataset:
Macros serve lots of purposes. One is providing convenient syntax.

(loop for i from 10 below 100 step 3
when (evenp i)
collect i)

Above is using the LOOP macro, which implements a lot of syntax for various ways to LOOP. The syntax description is actually quite long:

See the EBNF description of the LOOP macro in the standard:

http://www.lispworks.com/documentation/HyperSpec/Body/m_loop...

There are other syntactic forms which use more parentheses. For example the DEFCLASS macro. The basic EBNF syntax for DEFCLASS is:

defclass class-name ({superclass-name}*) ({slot-specifier}*) [[class-option]]

slot-specifier::= slot-name | (slot-name [[slot-option]])

slot-name::= symbol

slot-option::= {:reader reader-function-name}* |
{:writer writer-function-name}* |
{:accessor reader-function-name}* |
{:allocation allocation-type} |
{:initarg initarg-name}* |
{:initform form} |
{:type type-specifier} |
{:documentation string}

function-name::= {symbol | (setf symbol)}

class-option::= (:default-initargs . initarg-list) |
(:documentation string) |
(:metaclass class-name)

The DEFCLASS macro implementation will check some of that automatically, but much of the syntax has to be check by the macro in the implementation code.

> we can still think of them as special procedure calls

That's not a good idea. It's misleading.
There is a chicken-and-egg thing too - it's not normal for Joe Internetuser to have a $5/mo cloud server in addition to his Netflix/Hulu/etc because there is no easy-to-use-for-regular-people software to run on one, and no one builds such software because such users don't have $5/mo cloud servers to run it on. This is sort of the fatal flaw of app portals like Sandstorm, but it doesn't need to be that way forever.
This sort of reply seems so ludicrous to me. It's a bug. How can you guys use the net, knowing what spider-related metaphors lie hidden in its tangled web?
> > No, I don't believe it does.

> This is mistaken, and an impression that we continually strive very hard to counter.

> In particular, this means that `unsafe` is not to be used for operations that may be dangerous but that have nothing to do with memory safety.

That's not what I'm talking about. I think you've misinterpreted my point. I'm talking about unsafe for memory access, but in ways that are provably (or it not provable, are accepted as) safe. For example, the standard libs that are unsafe under the covers, but expose a safe API.

Saying "you must use unsafe to accomplish this" is not equivalent to saying "this can cause memory unsafety". That latter is a subset of the former, and the only time that isn't true is if Rust is capable of completely identifying every case of safe memory access and only requiring unsafe for actual unsafe operations.

Since unsafe could be required for what is an entirely safe, and possibly provably so, set of actions, it's dependent on what the context the recommendation is whether you believe someone stating an action requires unsafe implies that actual problems could occur.
> Adleman, Rivest, and Shamir introduce public-key codes, a system for passing secret messages using large primes and a key which can be published.

My OCD wishes they would have said Rivest, Shamir, and Adleman like the algorithm is named after
So this is a web version of Lotus Notes, right? :).
I don't know if you can fix it. Part of the problem is that people don't want to be challenged with opposing views and that is part of the human condition.
Thanks for the response.

> You have to remember that most people there have started at the same place you're at right now. You even said it in your post.

So this is the part I disagree with. Everyone gets nervous doing public speaking, but there are some of us who get really nervous to the point that physical symptoms are, without a word of exaggeration, debilitating. Just getting up in front of that room and giving a crappy talk would have been very, very hard.

> That sounds like a goldmine of knowledge and experience to learn from. Find someone from that group who is willing to mentor you. Heck, the Leadership booklet has a checklist with one of the items being to mentor someone.

You're right, and I really don't want to slight the group here -- the interactions I had and everyone I spoke to was extremely supportive, it's just that getting spun up to their level would have an incredible daunting order even give months/years of work. I should give it another shot, but I just didn't see a path forward there at the time.
Running to the north to volume this one up:

https://www.youtube.com/watch?v=NN75im_us4k
the /r/programmerhumor sub has a really great userbase. I loved watching this one unfold. My personal fav: https://gfycat.com/gifs/detail/BetterDaringDarklingbeetle
We've been using Algolia in production for 8 months and moved to self-hosted elasticsearch.
Small dataset, 2,5million records in 10 indexes IIRC, data structures and filtering were quite complex.

Algolia Pros:

* very nice UI/dashboard, stats, lots of options, flexible

* documentation is nice, 'onboarding' was not an issue

* it worked reliably most of the time

Cons:

* lock-in/proprietary. Think twice if you want to base your business on it.

* you have trust them with very sensitive customers data

* it is expensive. We reduced costs from $800/month to 40$/month by moving to self-hosted open source solution
with same level/quality of customer experience.

* guys at Algolia like to rewrite client libraries and make them completely backwards incompatible.
Good luck rewriting almost everything.

* support is incompetent and honestly it was useless in our case. I don't want to share details here in public as lots of people were involved
in the case, but their support is disaster and for us that was major reason to migrate away.
We had major issues for 2 weeks and in the end had to debug&fix problem in their client library by our developer.
Long story, but that one was disaster.

In short, it wasn't extremely horrible experience overall, product is nice in general, but elasticsearch is very very good and Algolia just couldn't justify price tag, sorry.
Yeah, that's what I was thinking as well. Yes, there is a bit of the whole "people complaining that the end is near for hundreds of years" thing a la https://xkcd.com/1227, but at the same time there's a hell of a lot more talk about it now than there was even a short while ago.

By the way, for the non-Americans 1861 was the year the American Civil War started. Eleven states seceded from the Union to fight with their lives for perpetual human slavery of Black people: Texas, Mississippi, Arkansas, Louisiana, Tennessee, Virginia, North Carolina, South Carolina, Georgia, Alabama, and Florida. Brother fought against brother in an immense war. Almost one million people died, in a small nation of thirty one million. Today the death toll would be comparable to killing every human soul in New York City, and not in a humane or quick way either: most civil war soldiers took at minimum hours to die, bleeding to death, after being stabbed or shot by a fellow countryman at close range in the middle of a battlefield. The US government, after the war, estimated that two thirds of Union soldiers died slowly over a period of weeks due to disease from wounds.

By the way, this incomprehensible massacre claimed the lives of more soldiers than all other American wars combined, from the Revolutionary War to the War of 1812 to World War I and II to the Vietnam War. In two days at the Battle of Shiloh, more Americans died than in all previous American wars combined.

The modern-day equivalent to the civil war would be killing every soul in the following places:

San Francisco, Detroit, Seattle, Memphis, Denver, Boston, Washington DC, Baltimore, New Orleans, Miami, and the entire US states of Vermont and Wyoming.

Remember, all this fighting was close combat, hand-to-hand, brother vs brother, with most people taking weeks to die from their wounds.

The scale of the American Civil War is pretty difficult to comprehend. Every time a news anchor suggests that we are on the brink of civil war, I try to think of the truly terrifying reality that would be.

The fact that political dialogue in America has died and both sides are furiously pitted against each other is positively horrifying, and I hope (and believe, for now) that we are very, very far from a civil war.
Nice write up and discussion. I like the approach being taken by CockroachLabs, it feels a lot like how open RethinkDB was about their development - very pragmatic. What is being done here (distributed SQL engine) is a complex problem, and I for one welcome more open implementations and people working on the problem.
> Writing well takes active thought. That's why this quote is, to me, giggle worthy

Sure, but it's not clear that forcing all of that thought to happen before the first draft actually improves the final result. Many writers feel they need to bang out a shitty first draft and that much of the magic happens in later revisions.

> Tack on the issue, in the US at least, of thick regional accents and I really, really don't see Voice Input being the amazing game changer it can be advertised as from time to time

I often experience a funny phenomenon. A lot of times when I'm out for a walk or a long drive, I'll start thinking about fiction ideas. Before too long, my wandering mind drills down to what I think is an actual internal monologue of prose. In my head, it flows smoothly and sounds compelling.

I always mean to start writing it down when I get home but never seem to find the time or discipline or whatever to do so. Maybe already being in the middle of a 200k-word nonfiction book has something to do with that...

What I've always wondered is if I am actually narrating real words or just sort of imagining that I am in that way that it's always easier to imagine a drawing than it is to draw it. The real experiment would be to get a recorder and start dictating, but I never have. If I did, would that work?

If so, than it means I might "write" works in this way that for simple practical reasons would never come about at all without the speech recognition. Even if I were to summon the discipline to manually transcribe my inner monologue, would something be lost in the translation? Or gained? Or both?
Thanks for these ideas.

I've given talks in English both in places where it wasn't the main language and places where it was. In the former case, most of the audience consisted of non-native speakers and there was generally an obvious specific language that the talk could have been interpreted to by a simultaneous interpreter (and sometimes was!). In the latter case, there were sometimes non-native English speakers in the audience, but they didn't necessarily all have the same native language.
I read pretty widely in what I would call mainstream media, progressive and conservative (within limits).

I don't want to get my news from Facebook, so I routinely ask to "see less" of almost all politics, especially regarding Trump. There's almost never anything I wouldn't have learned about by reading mainstream news.

Here's the remarkable thing - this doesn't seem to be affecting my feed at all. I get as much politics as ever. I couldn't tell you how many times I've informed Facebook not to show me Trump news, and it's still there, lots of it. I'm starting to wonder if maybe pushing the "show less" button is akin to replying to a spammer to please don't send any spam, or perhaps pushing on a button next to a crosswalk that actually doesn't do anything, but makes people less likely to jaywalk by giving them the illusion of control.

Why am I even on the site? Well, I'm on Facebook because I like hearing about the various musical, theater, and arts events any of my friends and acquaintances are involved in. I'm not delighted that Facebook essentially controls our communication with each other - there was a time this tended to happen on the open web, rather than within the walls of a corporation, but I guess that's a topic for another day.
> "People get upset when they don't have answers because they aren't used to having their beliefs questioned and don't think defending them should be necessary."

This so much. Some how in the last 10 or so years we as a society have been moving towards holding beliefs that are rooted in nothing but an emotional foundation in which knowledge has no part of. Then when those beliefs are questioned by others the response of the person is to close up and get defensive, while coming to the conclusion you are ignorant or stupid for disagreeing.

When I start to disagree with people and try and have a conversation about our differences in perception on the subject, the other party always thinks I want to have an argument, but in reality I want to have a conversation. Arguments aren't about sharing knowledge, they're entered into to triumph over the other. It's as if we have lost the art of conversation.
Have you tried Prince? I haven't used it myself, but heard good things about it.

Aren't margin boxes the way to go for page footers and such?

edit: This page recommends PDFreactor, which seems to support at least flexbox https://print-css.rocks/tools.html#pdfreactor
Net Neutrality is "positive AND accurate", sure. But for a useful survey the phrasing should be just accurate, and neither positive or negative, if you don't want bias.

The example of negative phrasing I provided is intentionally over the top, just to illustrate the point.
I'd say that presenting a fake chat interface with a fake message is a bit dishonest, but then again it's so common nowadays that I barely even notice it (and by the time my brain processes what happened, my hand is half-way through moving the mouse pointer over the "Close" button).
That's just the original submission that started it all. There are many more that were covered in the article: https://www.reddit.com/r/ProgrammerHumor/search?q=volume&res...
Nice! If you want to do something similar with Excel xlsx this works: https://www.npmjs.com/package/jsonexcel Not sure how it handles huge arrays though...
General UK election results
Holding Twitter Responsible for Terrorists Would Violate First Amendment Rights
Thank you for that link. Thank you for your feedback as well. Are you saying that it is not useful because there can be alot on one file versus something like a trello board card?
Is it the case that "unsafe" tells the compiler to not perform its memory safety checks on that section of code, presumably because it's not possible? (What would happen if you put only code that could be verified by the compiler in an unsafe block?)
If so couldn't you also think of it as a message for the next programmer who looks at the code? This section has not/cannot be verified by the compiler, approach with care/skepticism?
Vitalik Buterin on Scaling Ethereum
You gotta train on something though
If users do not see a visible distinction between your app portal and Facebook, why would they pay you instead of using FB for free? Is it enough to claim privacy in order to make a sale? I really doubt it.
ARKit Will Give Us the Google Glass We Deserve
> Regardless, I find it difficult to believe that already-struggling tribes would further starve themselves just in case this or that opponent tried to invade.

Allow me to apologize for my lack of precision, I never intend to imply that they deliberately avoided "invader-friendly" crops. Wheat just had not spread that far, due to climate (not yet sufficiently adapted by breeding?) and/or cultural reasons: nomadism (well, more effect than cause I guess) and the fact that large scale forest clearances are the type of project that can only happen in presence of big organizations that are stable enough to enable such long term investments. Many German settlements still carry the name of the medieval nobleman who commissioned the original clearance (names ending in -rode, -roda, -reuth and probably some more regional variations), which implies that before the clearance, there was only wilderness.
>>>Has "big data" become just a short name for an assorted bag of statistical tools?

Yes. Or as @mhoye on twitter put it: "FACT: most "big data" is actually two small datas standing on each other shoulders wearing a trenchcoat and sunglasses."
Probability of victory is highly non-linear in the proportion of voters. It's so non-linear that it makes sense to treat it as a phase transition. A district is secure when the outcome is certain. There are two distinct phases where the outcome is "secure" and the border between these two phases is, because of the non-linearity, very small. That is what secure means to most people.

The specific language that the OC, and almost all journalism uses to describe the strategy is "making districts more secure". The only way to interpret that, in the context of the phase definition of security, is adding voter proportion to a district which is already secure. This is never in the interest of the party that it is happening to, so yes, it is dishonest to describe it this way.
NASA Announces Its 2017 Astronaut Candidates
How many people do you know, that are able to properly use GPG (i.e. understand the pitfalls of misconfiguration, subkeys, key verification,...)? TBH, I believe the GPG ship has sailed a long time ago, even within the IT community.

Using Email does help in what way? Most people do use Mail , Gmail that is. Do you mean Email as a protocol in opposition to Whatsapp, FB Messenger?

How does not hosting on the major hosting providers solve the problems of walled gardens and filter bubbles and the closed internet? That's just ephemeral infrastructure.

Login integrations can make a lot of sense. I don't really see how not deploying integrations will protect us from walled gardens.
This isn't the first time. A few months ago the trend was phone number form fields: https://imgur.com/a/4f3XB
The battle for territory in digital cartography
well described. My problem is my mind goes blank. blank. and i might stammer, esp if I psyche myself up too much.

but if I just finish something physical (exercise etc), I am calm and cool as a cucumber and have no fear.
> Why make the printer "think" it's printing. Why not just literally measure and record the pulses sent to the actual print heads?

That's what my shim would do, is record the signals to the ink solenoids. The reason to make the printer think its printing, is primarily because of all the DRM lockout crap all manufacturers use. Ideally, I'd even let it print so that when the firmware sees ink levels going down, nothing on the firmware side would look amiss.

> The "yellow dot" method would be picked up pretty quickly by the yellow being triggered while printing entirely B&W documents.

Indeed. However, its old hat about the yellow dots. I know they've moved on to something much harder to detect, and also likely scan and reprint resilient. What is this new type? No bloody clue. I'd assume a bad actor using heavy stego on chip. And if I were designing it, I'd watch for things like test images coming through and not mark them.

My first attempt would be with a high res 100$ bill scan. I betcha that'd trigger something interesting.

> Things like dithering, if they encode things like printer serial numbers might be catchable by printing an identical set of documents across two examples of the printer.

Yeah, I figure there's a serial number, time/date, hostname, IP, logged-in username.. All sorts of data. This is also corporate espionage area as well as national security, so I'd figure they would put out all the stops to catch, if they can't prevent the print itself.

Just chalk it up to me, and my paranoid mind. Still doesnt mean they arent out to get you!
In research environments we often have to use software with UIs designed by, and subsequently abandoned by engineers. Typically some expensive piece of highly complex equipment that only runs on some older version of Windows that every PhD student is expected to use. They're often buggy, resulting in Skinner pigeon troubleshooting workflows to get anything done.

First guilty party to mind is FLIR. Their software is truely awful and since they monopolise the market by buying out everyone else no two cameras behave the same.

Various CAD packages too are a design mess. PTC could learn an lot from Adobe about UI design. Heck, Blender's UI is miles ahead of anything from the big CAD companies for pure productivity, nevermind install size.

Fortunately my primary overpriced USB dongled bit of research equipment is pretty easy to hack. All the data types under the hood are simple text files that I've got python scripts for handling.
> Do they not offer Videos of Lectures anymore?

Some courses have video lectures, some do not. OCW varies in what resources are available from course to course.
Madhava of Sangamagrama is mentioned
For the lazy: https://imgur.com/a/4f3XB
I'm familiar with Urbit, and intrigued by it, and a big company deciding to try a project inside it is inarguably the best thing that could happen to Urbit; but I'm not very bullish on that happening, for a variety of reasons.
Volume is a percentage, and a very analog control. The idea that you would have to have a round knob to twist on a computer screen is ridiculous, almost like some imaginary need for a specific shutter button to press to take a photo on a phone (just touch the screen!).

It's a one-dimensional value, make it a one-dimensional control. Slider. Done.
That's literally the only one I don't get. What is this thing that follows the mouse cursor, and what does the whole idea represent?
I thought about this a while ago. I even don't know about any incident in which a child was seriously hurt by playing outside in my former hometown or the villages around, while my whole time as a child or teenager. Though, maybe I forgot about something...
How can CSV be a mess? The implementation is in the name. Excel is a mess.
I was like, Who's recommending VersionCake? But it's none other than Jim Jones!
Existing is one thing. Adoption is something else entirely.
I spent the last two days in IBMs Watson Innovation Centre, working with the Watson Conversation APIs. To say I was not impressed is putting it mildly. Can you name any examples where Watson is good?
Well, one of the primary design goals behind Redux was to make async behavior a pluggable approach (as detailed in my blog post "The Tao of Redux, Part 1 - Implementation and Intent" [0]).

So, I don't see how use of redux-saga, or redux-thunk, or any other async middleware, qualifies as "bending Redux until it does their bidding", given that it was explicitly intended to allow that.

On the other hand, there definitely _are_ lots of ways that people "bend Redux", especially things like trying to slap OOP layers on top of an FP-oriented library. Those are technically valid because the Redux core is very unopinionated, but they're definitely not idiomatic Redux usage. (I also discussed those in "The Tao of Redux, Part 2 - Practice and Philosophy" [1]).

[0] http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao...

[1] http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao...
Nice.

This brings up a related point.

How strong are the defensibility and separately the network effects in Algolia's business?

I guess once they have a customer, it might be annoying for that customer to switch. Is that accurate?

But is there any reason for the 101th customer to use Algolia other than the brand? My hunch says no, and that there aren't any network effects.
> Literally means "something violates the safety model".

Yes. But the safety model is not capable of identifying whether something is or is not safe in every case, just that it can't prove that it is safe. There are plenty of things you must do in unsafe that are safe, just not provably by the compiler. Thus, needing to use unsafe does not always imply actual unsafe operations.

If someone was under the impression that they were recommended to use unsafe but in a safe way but there were other caveats to the usage they weren't aware of, bad things could happen. I don't believe it's sufficient in a guide to rely on the fact that unsafe is recommended to convey the level of danger that recommendation entails.