skysight-inc/HackerNews huggingface dataset:
I've been using of BuckleScript and OCaml for a couple of years now. I'd been using OCaml for a long time before then. I tried ReasonReact, and found that I preferred the OCaml + vdom library way.

I first used my own minimal bindings to Mithril, but then later moved to an Elm Architecture implementation for bucklescript: bucklescript-tea. After being on a deadline and either completely misunderstanding or finding significant show-stopping bugs in bucklescript-tea's virtual dom implementation, I reimplemented the parts of the API I'd used from bucklescript-tea with a minimal alternative that called out to snabbdom for the vdom stuff. This was mainly as a learning exercise, which took all of about two afternoons of fairly relaxed work.

The only places I have needed to use annotations with this approach is in my modules that call out to JavaScript. This is really unavoidable, and you'd surely find the equivalent information would have to be provided if you used F# or PureScript, or your compiler simply won't know the types.

I'm sure my approach, with layers on layers of functions to build virtual dom nodes, is certainly not going to win any benchmarks, and it's certainly not novel – but it's good enough, and my productivity is up. I can leave a project for months and be relatively unsurprised by what I find when I return – because there's usually only one sensible way to do things. Everyone's different, though, and I fully respect it may not work for all.

The key lesson I've learnt is that interop is painful because the some of the bucklescript types do not neatly map how you would necessarily imagine to javascript types. But if you do this at the edges, and write sufficient wrappers, you won't have any problems.

The biggest pain point for a while has been that bucklescript is based on an old version of OCaml – and there have been some very nice additions to the OCaml standard library since then. That said, I think it's excellent that we've got two OCaml -> JS pathways in the OCaml world now.
There are many studies done and in many non violent struggles are more successful in bringing change. [1] [2]

[1] https://www.forbes.com/sites/alexknapp/2014/07/24/the-proven...

[2] https://www.fastcompany.com/3040831/peaceful-protest-slow-an...
I wish this comparison included more information about the developer experience of TS vs Reason. In my off time I've tried out Reason, but one of the major sticking points was how _poor_ the experience was setting up an editor with autocomplete and type hints. You get that basically out of the box with TS, but Reason & OCaml have a more fragmented ecosystem, so it's much harder to get started and feel productive.

IMO, the beautiful type system is nice, but the DX with TS is much more productive than Reason or OCaml.

PS: Do you think my comment is dumb? Reason/OCaml are easy to set up? It's as easy as 1-2-3? Please link me tutorials or resources that prove me wrong. I'd love to get started, but DX has been the major hangup again and again.
An Easy Way to Export / Import Dashboards and Visualizations from Kibana
Manually recreating Kibana dashboards, searches, and visualizations during upgrades, production deployment or recovery is a time-consuming affair. The easiest way to recreate the prebuilt Kibana dashboard and other objects is by exporting and importing dashboards, searches, and visualizations. This can be achieved by using,
- Kibana API (available since Kibana 7.x)
- Kibana UI
If are you looking to export and import the Kibana dashboards and its dependencies automatically, we recommend the Kibana API’s. Also, you can export and import dashboard from Kibana UI.
To learn more... http://bit.ly/2LpCavs
Acer announces a $14,000 gaming chair because why not
Show HN: I made dating site for people with anxiety
Thank you for the heads up. It hasn't crashed ever since (the nature of the crash made it appear related to using Nightly). I'll be switching back to Developer Edition ASAP as either b3 or b4 has the same fix.
Hello HN folk! My name is Evgeny I'm from Moscow and I created this dating website for those who have anxiety disorder and social phobia. It is very difficult for such people to find a partner/lover because they are so anxious when talking to strangers that they can't look normal in this moment, they can stammer, not looking into eye and even can't speak at all. So in this site people can freely admit that they have such issues and try to approach this situation a little less stressful. I know all this because I have anxiety myself. So comments are welcome!
How is DevOps different from Agile software development methodology?
The reducer is a case where the functional programming concepts like sum types make a dramatic difference, but they are widely useful across your codebase.

It shouldn't be a surprise that React works well in ReasonML - the first prototype of ReactJS was written in StandardML before the creator ported it to JS (https://reasonml.github.io/docs/en/what-and-why.html)
If you don’t like most of the software development lifecycle and are not willing to learn new strategies, you probably shouldn’t “write code” for a living, and that’s ok. You are more than just a requirement to code translator. Learn to grow a little task into something special. There is always a way to make it better. Spend more time designing and less typing. That’s my 2 cents
DNS Records Part 7: Examining the PTR Record
This article seems to have more details but I'm still a little lost in it all. They actually link to a sample "push page" in that post:

https://brave.com/wp-content/uploads/files_2019-9-2/sample_p...

Ah, actually, this explains things a bit better:

https://brave.com/wp-content/uploads/sequence.pdf

So there's a "realtime bidding system" where when the user access a page, google goes out to bidders in realtime to figure out which ad to show. I haven't quite figured out the rest but in the process somehow, those networks are able subsequently match up details about the user.

EDIT from the Brave article:

>>> Every time a person visits a website that uses RTB, data about them is broadcast to tens or hundreds of tracking companies, who let advertisers compete for the opportunity to show them an ad. The data can include the category of what they are reading – which can reveal their sexual orientation,[4] political views,[5] their religion,[6] and health conditions including AIDS,[7] STDs,[8] and depression.[9] It includes what the person is reading, watching, and listening to. It includes their location. And it includes unique, pseudonymous ID codes that are specific to that person,[10] so that all of this data can be tied to you, continually, over time.

EDIT why does this article keep getting flagged? Can it just be redirected to the Brave post instead?
Well someone passionate about thinking and implementing instead of talking and thinking loudly in a meeting room, and delegating the implementation to a low paid and low regarded individual.
Making the Easiest to Use, Easier: Introducing Skedler Reports Plugin for Kibana
When you take something that is already the easiest to use software and make it even more, easier, would anyone believe it? How could the guys who built the tool have left room for further simplifying the tool? How is this even possible?

Well, we have achieved the (near) impossible with Skedler Reports. We took Skedler Reports, which is already the easiest and most widely used reporting software for Kibana and Grafana, and made it easier to use.

To Learn more ... http://bit.ly/2LwKBVU
I read earlier this year that one of the "super camera" phones (can't remember which one) was using a 1/1.7" sensor sitting at the bottom of the phone (instead of the back), perpendicular to the motherboard. That sensor is the same size that my old canon g12 had back in the day some 8 years ago. So yeah, phone cameras are replacing compact cameras because they're hiding one inside them!

However, it has now become a question of physics, and large lenses getting in lots of light into focus over the sensor, and it being large enough that can catch all of those "scarce" photons, specially for low light photography. And the 1/1.7" sensor is about as large as you can fit inside a phone, which is why they're all moving to having multi-lens cameras and computational photography (with AI, DSP, etc).

I now own an olympus mirrorless, and it's a fantastic piece of equipment with a superb sensor (both in size and technology), interchangeable lenses, and the image stabilization system on body gives it the ability to stabilize _any_ lens I use with it (here's a mean look to Nikon and Canon that place IS inside the lenses instead of the body, to charge premium for the feature). Can't see a phone fitting all those features, because they require physical size and or mechanisms taht wouldn't fit in our pockets.
I don't know what any of your 3 sentences are referring to, sorry.
For ad revenue they optimize around time on the page. Putting the key information at the end is becoming a more common practice.
but it could at least report the capacity of the cable. that's still useful when you get a badly advertised cable that you thought could do more, or worse, got a fake cable.
Ultimately I think it's difficult to find a job with the correct combination of everything you want. I don't think this is unique to software development.

I've worked in places in London that I really enjoyed. Good colleagues, good environment, tip top.

But then you're in a place with a hellish cost of living, and it's basically a requirement to play office politics and earn $BIGNUM, else you'll be in a pokey flat with a shit commute forever. And that can really eat in to motivation - because suddenly your work is no longer about the craft, it's about increasing your personal numbers.

I imagine the same to be true in SV/SF.

You can then have the other extreme, whereby perhaps you have a very low cost of living, but there's 1 software company and you either work there or not.

Remote work can help to solve this, but there are a whole bunch of unsolved social issues there.

A lot of the stuff I read on here about burnout I think isn't really linked to the work itself. It's the whole environment - everything feeds in.
Looks like another biased comparison to me. You could easily rewrite the TypeScript reducer example (which fails to compile btw) to be similarly concise while being as safe.

interface State {
movies: string[]
}

// you may also use { tag: "Action", payload: string }
// if you prefer something more structured
type Action =
| ["AddMovie", string]
| ["RemoveMovie", string]
| ["Reset"]

const defaultState: State = { movies: [] }

const reducer = (state: State, action: Action): State => {
switch (action[0]) {
case "AddMovie": return { movies: [action[1], ...state.movies] }
case "RemoveMovie": return { movies: state.movies.filter(m => m !== action[1]) }
case "Reset": return defaultState
}
}

const someAction: Action = ["AddMovie", "The End of Evangelion"]

TypesScript's type system is actually very flexible and advanced [1] compared to most type systems since it had to adapt to the very "dynamic" structuring of JavaScript in the wild.

[1] https://www.typescriptlang.org/docs/handbook/advanced-types....
Thanks Colin, well have a look and fix the problem. Sorry for the problems.
Some Canon cameras (80D, 90D, 7D), have on dual pixel CMOS focus points that work in video mode. It is clear things are moving to mirrorless, but I feel we are still in the transition period for lens and focus technology. For certain type of photography either manual or traditional cross type focus points work best still. I think the biggest benefit of mirrorless cameras for amateurs is size and weight, the best camera is the one you have on you.
And for all we know, it still is.
The thing that shocked me is it isn't just the best. Even the worst usually have massive amounts of time and effort invested and the pay is normally awful. It's the hobby effect, similar to art and music, however the top performers make vastly less. Cirque du Soleil performers who are some of the best in the world still mostly make < 100k/year.
I think this is why so many people fantasize about owning a business; it seems to allow for the most "vision oriented" work, which is what most people find enjoyable. Even that has its limits though, as there's just different kinds of drudge work involved.
That is a naive opinion IMHO. In all but the core SW roles you would merely be a simple cog being told what to do. If for example you'd be coding for an archaelogy department you would be the code monkey of the professor heads. Even worse you would have to battle their ignorant views on SW. My guess is that you'd hate playing that role and that you would run as fast as you could back to a SW house doing fragmented work with people that at least understand a bit of software.

At least that's my experience of venturing into a non-hardcore SW field (health sector).
A lot of organisations are very very conservative and slow moving, and AWS seemed the most likely thing to still be around after/during the 15 year project to shift things out of private data centers.
Regardless of one's opinion of Apple products - Firefox does have big problems with macOS, with quite a few issues in their bugtracker that are being worked on.

On of them is fixed in v70 already.
Fixing the existing maps sounds a lot easier than adding generics. All that would be required is to allow slices as keys. If there is a concern about immutability you could just say mutating a slice used as a key leads to undefined behavior.
I've been wondering about this. I've heard that it can be preferable for various reasons to work at a company that does something other than software as its main thing.
can you import from Slack? That is going to be a must if you want people to switch. Also do you support integrations/bots/plugins?
Commutes and jobs are soaking up more time, most people live in places with increased travel times to anything, and there’s never been more opportunity for easy distraction - why spend 40 minutes round trip driving somewhere to do something when you can watch Netflix on the couch?

Most importantly, though, are smartphones: you didn’t used to have so much just a second away anywhere you went. There’s an entire industry building entertainment for people in lines, on transit, walking to their car, etc. so I don’t think it’s as much that distraction is replacing previous big activities but filling in lots of space throughout the day.
Devops vs. Agile
Scammer Successfully Deepfaked CEO's Voice, Underling Transfers $243,000
Does nobody click the "your ad choices" button on each ad? I assumed a good amount of participating companies[0] build ad profiles at the same pace Google does.

0: https://youradchoices.com/participating
Software Engineer | Big Data | London | Onsite | Java | Data Privacy | Start-Up

Privitar is a $40 million Series B funded Data Privacy tech startup. We’re backed by world-leading venture capital funds who’ve invested in companies like Facebook, Slack, Dropbox, Atlassian and Spotify.

Privitar - https://www.privitar.com/ is on a mission to ensure everyone's private data is rigorously protected. From your GPS Phone Location, Credit Card transaction history, to the webcam on your laptop, all of this data can be captured and processed, in real-time. This is often shared with hundreds of third party companies without your knowledge. We're building software based on bleeding edge concepts to de-identify your data, whilst retaining it's use-ability, so organisations can perform Machine Learning & Data Science on it, but in a safe, ethical and privacy preserving way.

We need Java Developers/Engineers to help us build this software.

https://jobs.lever.co/privitar/42acceed-6653-4ffa-a6dc-bc868...
If you're not aware of the origins of the term "meritocracy", it's worth a read of https://en.wikipedia.org/wiki/The_Rise_of_the_Meritocracy

"It is good sense to appoint individual people to jobs on their merit. It is the opposite when those who are judged to have merit of a particular kind harden into a new social class without room in it for others." https://www.theguardian.com/politics/2001/jun/29/comment

Is your meritocracy measuring merit in the way you think it is?
> I'm not so sure: they wouldn't want to be seen internationally as the 800-Lb gorilla.

China didn't have any issue with being the gorilla in cases like Tibet. So, no real reason why HK would be any different.
Does ReasonML infer that a type "Product" is the only one in the visible namespace with a "name" property or does it infer at use time that the formatName(...) invocation is valid because the argument has a "name" property?

They're separate concepts. Maybe I want to ensure that I'm receiving a product as it makes no sense to invoke formatName(...) on other things with names like a Cat or Person.

And the generic "thing with a name" one is possible in TypeScript too:

const formatName = (product: {name: string}) => "Name: " + product.name
The ground being removed, the mass extermination of animals (although people have said its exaggerated in the show). Supposedly the cleanup was immensely expensive
The first part of the improvements is the most important one. This is already included in the Developer Edition as well. Not sure about the second part as of today.
I have a 10 year old webcam, a oneplus 5t, and a nice cannon eos with a few good lenses.

Aside from the phone camera, they are all useless to me.

I mountain bike, so none of those are good for capturing that, nor are they convenient or rugged enough to use as a camera midway through a run on some beautiful peak.

Just bought a flagship gopro. It essentially fills all the gaps. I can use it as a webcam, I can use it for mountain biking, I can bring it everywhere and record 4k60fps, take photos, etc.

Phone + gopro seems to be the best way to go for anyone not looking to do niche photography, like extreme macro, long exposure sky stuff, professional large prints.

Ruggedized mini cameras like gopros are a pretty big factor in killing off dslrs. There are countless professionals on youtube making high quality stuff with nothing but phones and gopros.
My guess on “21C architectures” is “21st century architectures”. I can’t seem to find anything on “pilot light pattern” in quick searches.

Either way, GP is using obscure terminology at best.
Because of "Write once, deploy anywhere".
Soooooo... Heroku? :)
Except, I don't find using SQL more laborious, and it if is then I'd suggest that's a problem with whatever language makes using SQL directly laborious.
> Violence is a result of fear

That's the part you got right: https://www.reddit.com/r/HongKong/comments/cxz64b/300_uncut_...

But to just speak of violent protestors, while ignoring the triads and people with odd markings doing odd things, the police brutality, and things like this, is also not even close to a complete picture: https://www.reddit.com/r/HongKong/comments/cv9y4c/protesters...

> A true warrior is a fearless person who respond to violence with non-violence and make violent person ashamed of themselves.

You cannot make a person have empathy, you can appeal to it, where it exists. Otherwise, you have to defeat them. Not "crush" them, but disarm them and establish boundaries. Without military defeat of Nazi Germany, anything like reflection or reconciliation wasn't even thinkable. As a matter of fact, without their military defeat, we wouldn't know most of what we know about their atrocities today, they were set to purge all evidence as thoroughly as they had exterminated people.

Factual reality, which is at stake, is something even more important than peace -- in the same way atoms are more important than water or orange juice, without atoms, you can't have either. Peace can always erupt again, but destroyed facts remain destroyed, and that being done well enough, can make genuine peace impossbile. A static state of submission is not peace, peace without truthfulness is not peace, and low-intensity people getting disappeared, not asking what happened to your neighbour, is not peace.

ignorance
doesn't hurt anybody
with the exception of those
who can be hurt
because nobody knows about it

-- Erich Fried, "Vorteile der Unwissenheit (in allen Ländern der Hochsicherheit)", or "Benefits of ignorance (in all high security nations)"
Can Popping Your Neck Cause a Stroke?
How U.S. Banks Took Over the World
Thanks for posting. I love research like this ;)

Reminds me of a similar result in which "locally noisy" bots inserted into human coordination games can yield a positive outcome!

https://www.nature.com/articles/nature22332
Why did you stop reading?

The TS version has zero type safety (compiler infers any), whereas the RML version will only accept numeric type arguments.
I dealt with this as well and totally agree. My rule for the project teams was to never join any chat or real-time communication solution outside of email with a client.

While I see the advantages of having a Slack or similar chat agent, I also see the informality that it allows and then it is easy to wind up with uncontrollable projects by getting requests that would never make it through a formal request process. This happens internally in companies all the time and in many cases it complicates projects immensely, but it is sold as a remedy to interrupting the engineers.

Most clients got it, some weren't totally happy about it, but they understood. Funniest part is usually their internal engineering staff (if they had one) 100% understood, and was just jealous.

My team did experiment with this quite a bit however, putting different people on chat with clients, but found that in almost any scenario it would sour the client relationship because someone would either feel ignored (responses weren't fast enough) or abused (way too much unnecessary chatter and/or off the book requests).
That doesn't preclude using jump tables. You can also add methods to objects at runtime in JS and modern runtimes use jump tables.

I expect you can't use jump tables in objc because you can't really "patch in" jump tables at runtime as it's AOT-compiled rather than JIT-ed.
That's a rather bleak outlook on life. And nonsense. If you get a nice job in Austin for $120k, you can buy a house in a nice neighborhood, let your wife stay at home with the 3 kids, own 2 cars, take vacations. And it's been that way for the last 20 years I've been here.
It is unclear whether Beijing endorsed this or not.

Why they would not have endorsed this - for the CCP maintaining authority is the paramount objective. At no point can the Party "lose face" by giving in to external demands because that would erode the Party's authority. Any erosion of authority (the thinking goes) could eventually lead to a catastrophic collapse of power leading to civil war like in 1911-1949. This was Deng Xiaoping's overriding concern during his time as paramount leader and he made sure his successors learned it as well. For example, even when the students in Tiananmen Square offered to leave in exchange for some paltry concessions he denied it and cleared the Square with the military. In his opinion and the Party's opinion, negotiating with students would have eroded Party authority irreparably, even if no actual concessions were made. For similar reasons, Lam's request to withdraw this bill earlier this summer was denied by the Party.

If Beijing endorsed this, then it could mean the Party playbook on unrest is being modified as we speak.

If Beijing didn't endorse this, then Lam will now suffer a fate similar to Zhao Ziyang, the Premier during the Tiananmen Square incident. He broke with the other Party leaders and supported the students, leading to his house arrest till his death in 2005.
> Occupy was even better tactically and strategically.

oh please. occupy wall street was dismantled when burger king stopped letting them use their bathroom.
Master Generators and Async Await
Semantic Validation in Rust
cute foxes!