skysight-inc/HackerNews huggingface dataset:
> "Dialect of"

Programming languages are not natural languages. The usual definition (which is loose) of a dialect in natural languages does not actually apply on "programming languages", which I repeat do not even classify as natural language.

Comparing our natural definition of a "dialect" to a PL definition of a dialect is erroneous.

I will not defend the parent's use of the word dialect anymore, and I think "decedent" is the right word to go.
Widely used libraries have one more constraint, in that they will always be used a lot, but they'll never be the most used things on any code base.

As a consequence, they shouldn't use very short names. They should let the 1-3 letter names available for local code. (But there are exceptions, of course. There always are.)
It's also been done with chemical synthesis by turning synthesis into a game and then using Alpha-like techniques on it: http://www.compchemhighlights.org/2018/03/planning-chemical-...
Wanna resell them? Just kidding, I won't buy anything until I can actually learn to play keyboard :)
What is the difference between the actor model and object oriented programming? It seems to me like they are basically the same paradigm but with all the names changed, and some additional restrictions like all messages being async and objects only being able to process one message at a time. Why is it necessary to create a whole new paradigm just to enforce such a style?
Everest View Trek
Oh, that's cool! Thanks! I just skimmed through the docs, and the markdown stuff looks promising. Maybe I'll switch over to Caddy.
played with this for ~5 mins and it's insanely bad (maybe it "guessed" right 3/15 tries?) i.e. slightly better than random guesses, even with very clear handwriting :(
At present Rust's primary focus is systems programming language, it will take another 3-5 years to be a viable web programming that too in a niche area. I doubt the libraries will be mature enough to provide easy way to build the way other languages do.

If you know Ruby or Python or C# or Swift or Go language or Dart or TypeScript or JavaScript don't change to Rust yet. It's far far away from having similar library, documentation and developer eco-system.

I believe Haskell has more mature web development eco-system than Rust at present, but they also suffer from same issue most libraries do not have enough documentation and it's tiring to go through the library code to understand how to use it. But if you want to do Rust, why not try Haskell, you will learn much more and it offers a new way of functional programming. Indeed Rust, Swift, C++, Java, Python, Ruby, JavaScript etc. all borrowed ideas from Haskell or OCaml. Indeed Rust was initially written in OCaml

Actix which is the most popular framework in Rust just had a core developer who left it and was dead for a while before community tried to revive it. [1] [2]

[1] https://words.steveklabnik.com/a-sad-day-for-rust

[2] https://github.com/actix/actix-web/issues/1289
— Will, did you really make two and a half million last year?

— Yeah, sure.

— How did you spend it all?

— It goes quite quickly. You know, you learn to spend what's in your pocket.

— Two and a half million goes quickly?

— All right, let's see. So the taxman takes half up front, so you're left with one and a quarter. My mortgage takes another 300 grand. I send 150 home for my parents, you know, keep 'em going. So what's that?

— 800?

— All right, 800. Spent 150 on a car. About 75 on restaurants. Probably 50 on clothes. I put 400 away for a rainy day.

— That's smart.

— Yeah, as it turns out, 'cause it looks like the storm's coming.

— You still got 125.

— Yeah, well I did spend 76,520 dollars on hookers, booze and dancers. But mainly hookers.

— 76,5?

— I was a little shocked initially, but then I realized I could claim most of it back as entertainment. It's true!

(Margin Call, 2011)
What if you testified that you forgot the password (if password was used). Unbelievable it might seem, let’s say you set up the passwd 1 week before the deed, it is a possibility and IMO they would have to prove otherwise (+ good luck with the decrypting)
The project has a new leader now: https://github.com/actix/actix-web/issues/1289
This is from memory, I would welcome any corrections.

Actix was written with a lot of unsafe code[0], which some people considered unnecessary and potentially dangerous in a web framework. In some cases the unsafe code may have been performing better than equivalent safe code. In other cases, it was possible to rewrite with safe code without losing performance.

People submitted patches to replace unsafe code with safe code. The maintainer of Actix responded with hostility to some of these patches, and (at least for some of the patches) did not seem to see the reason why people wanted these changes.

Subsequently, a lot of hostility was directed at the maintainer on various public Internet fora.

Ultimately, the maintainer of Actix deleted the repository from GitHub, but then had a change of heart and restored it, with a new maintainer.

[0] unsafe code according to the Rust definition of unsafe: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
> if it's meaningless, why are you saving it?

Because you are writing abstract code.

Odds are that a lot of your code is better done abstract, and only fully specified in a short context.
There's https://github.com/open-source-labs/PreVue but I haven't used it yet, so I can't say if it's any good.
Oh huh, that's pretty involved, thanks. Can I ask why you rolled your own instead of using off the shelf RC components, like what is used in RC cars, for example? For the remote control and ESC, at least, it seems like it would be simpler.
Breaches Increasing (2019)
Considering that it is not real news I suggest you to block the articles from being published in search engines using robots.txt or meta noindex.
I find it unfair to call it moaning as is if its a childish reaction. Most of my friends can no longer afford to live in the city itself with their non-IT jobs. The gentrification process is a real thing happening right now with very real consequences.

I guess that MWC is not the problem per se. And it is part of the reason of the exploding international presence at least in the IT sector. But it is part of the problem of the worsening in the quality of life for many people.

My argument is that much of the wealth generated by tourism doesn't necessarily benefit citizens of Barcelona. I'm sure a lot of people are getting a lot of benefits, but I'm not sure it is the people that need it the most.
There you go: https://www.electron.build/multi-platform-build
Ah yes, I remember this. We did see it and looked into it at the time (and I've just gone over it again). It's really a different problem than it seems. Not a security issue, but I can see where it'd look like it. Kind of a terrible quirk with the unreliability of diffs.

We discussed it internally, but those discussions never moved to the bug. I'll follow up on there, give you an overview of why you saw the behavior you did and our rationale.

Thanks for the poke!
> As with all jokes, it gets annoying when repeated too much...

Meanwhile, the at most once joke doesn't get repeated enough!
I wish some people at github would address the bad mobile version of their website. It's impossible to do anything done with the current mobile UI without going through the desktop version:

- see the language stats for this repo

- see commit history in one tap

- read the full readme

- see all files at top level

- etc.

If you're already hard at work on this, thanks in advance.
What about implementing something like map for lists? You know literally nothing about the values and the function except for their types.

map :: (a -> b) -> [a] -> [b]
map f [] = []
map f (a:as) = f a : map f as

Personally I don't see any reason to use longer names than f, a, and as because you can't add any additional information.

You might say "well I don't write code like that", and I don't have any answer for you. But I find I write a fair amount of generic code.
This framework's core developer has left, probably new community took it over. Hopefully it will continue to be supported and developed.

Rust still has a way to go for being a mature eco-system for doing any serious web programming work. Given the focus of Rust on systems programming, I will still be careful to consider it for anything web related.

Hopefully situations like abandoning a project suddenly will not happen again. [1] [2]

[1] https://words.steveklabnik.com/a-sad-day-for-rust

[2] https://github.com/actix/actix-web/issues/1289
I personally prefer short and cryptic names for things that are used very often, but don't shoot the messenger. My main point are the trade-offs.

Some of that is from mathematics, for example (random code from the Internet):

reverse2 xs = go [] xs
where
go ys [] = ys
go ys (x:xs) = go (x:ys) xs

In general, more abstract you get, the less important it is to devise long names, because things are going to be abstract anyway. Often, all you can tell about the object is already encoded in the type system.

Even in current practice, people prefer "log.info(..)" to "centralizedLoggingSystem.informationalMessage(..)". They prefer "Exception e" to "Exception unexpectedlyFailedToWriteAccountingFileException". We also prefer to write "a * b" instead of "a.multiplyBy(b)".

Sometimes simply the global consistency trumps the local context.
You can run every actor in a separate thread or even in a separate machine, making the whole system highly scalable. Whether you'll consider that a new paradigm or not, is question of definitions.
Google Suspended My App Without Warning
I once got into an argument with a senior technical interviewer because he wanted a quick solution of an in-memory sort of an unbounded set of log files.

Needless to say I wasn't recommended for the job, and it taught me a valuable lesson: if you don't first give them what they want, you can't give them what they actually need.
On ebay for $10.
If you are going to use this, keep in mind the advice given... set the height and width attributes of the image to prevent the page jumping around for lazily loaded images.

Which means, if you accept user generated content or images from any CMS or other source you really should be obtaining the image dimensions and using them in the HTML.
> You also want names to be easy to understood, therefore, longer than few letters. So, "count" instead of "cnt" or "c", in short, no abbreviations.

Yet in cars, BMW is an abbreviation. IBM is also an abbreviation, Microsoft gets abbreviated to MS, and NS to NextStep.

"Nobody" calls BMW and IBM by their full name.

Only people in IT know and/or use the abbreviation MS (which is functioning), and only people into NextStep and macOS use the abbreviation NS (also functioning).

Would you want people to spell out Bayerische Motoren Werke all the time? With or without AG? Or would you want to use the English version, Bayern Motor Works? People all around the world know the acronym BMW; it does not have to be translated. Would you want the API calls to spell out NextStep?

I feel like established abbreviations are perfectly fine, and some people/companies (entities) try to get established.
How we name things matters.

If we want to be communicate effectively, it's important to think carefully about the words we use.

Writing code serves two purposes. On one hand we're instructing a machine to carry out the operations needed to achieve our aim; but on the other, we're helping our peers understand how we got there.

There usually aren't many technical restrictions in place when naming things in code; we have a lot of freedom. Based on this freedom, I think guidance, strategy and discussion re. establishing conventions would definitely be useful.
I did a lot with SmartOS and, eventually, Linux got good enough. But also, Kubernetes won everything, ZFS ended up in everything, and dtrace ended up in most things. It was a thing of beauty but I can't say I ever felt like I properly understood it.
I think if you want to do web dev backend with Rust (or C++ or any bare metal lang), you should do it behind a RPC framework (Thrift, gRPC) if only for security purposes. But it's also way more convenient. There's no need to have your core business logic also become entangled with a web server unless the networking minutiae is relevant. There are too many things that could go wrong on a public-facing endpoint to trust the runtime of something you are essentially rolling on your own if you use Rust, C++, C, etc.
It's called Tesla autopilot. Average user is more likely to do silly things in cars that are advertised to have an autopilot rather than adaptive cruise control.
> don’t adhere to any specification, let alone OAS

OAS is not a specification to adhere. It is a specification to describe.

> OAS now have GraphQL APIs instead — or even JSONAPI

OAS is orthogonal to GraphQL/JSONAPI. With OAS you describe what the API is which could be JSONAPI or some custom API adhering no standard.
In the Actor model, all function calls are async and have no return value, between the Actors. Each Actor is single threaded (OOP) program. It provides a nice approach to deal with parallel programming.

Object oriented programming is a language feature while the Actor paradigm can be build on top of OOP to ease the mental burden of parallel programming.
> Why does it matter what things are called if the name of the thing might be a lie anyway?

It matters because the names you choose signal your intent.

As Knuth put it: "Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do."

A line of code is going to be read hundreds or thousands of times more often than it is written. The more someone has to scan around to discover the purpose or intent of something, the harder/slower your code is to navigate. And this magnifies by the thousands of times it gets read by humans.

Code has UX, just like all human interfaces have UX. We've already discovered that better UX is a good thing. Code is just another user interface to optimize for discovery.
Yes, if the words "secure communication" in all lower case appear anywhere in the message, then the message won't be delivered. There can even be text appended to the beginning and end of the words [0]. i.e. foosecure communicationbar will also not be received. However; there must be exactly one blank space between the words.

Having said that, this is not working for everyone. I am trying to gather data on this to figure out where the issue might stem from. Would you be comfortable disclosing the make/model and carrier service of the sender and receiver. If you would prefer, you may contact me directly with this information and I won't include your identity in the record. My email is linked in the header of the blog post. I also have a public key [2] if you feel so inclined to send me a secure communication :-P

[0] https://bloggerbust.ca/post/text-messages-are-being-censored...

[1] https://bloggerbust.ca/about/#my-public-key
Would love something like this for Vuetify.
I have worked 100% remote at two different jobs for the past 8 years.

I gave upon remote work this week.

I slowly entered a phase of resenting work and resenting my family and home life. They each slowly encroached on each other until I was not sleeping, not being productive at work, not engaged with my kids and generally hating life. I felt like I was a husk of a person, a cipher or automaton.

Fortunately my company has an office 40 minutes away so I have the option to commute without changing jobs.

Admittedly, I have some unique circumstances that probably put me in a tiny minority. I still think remote work is a great idea, it's just not for me anymore and I wish I had realized that 3 years ago.
Taken from [0]: There is a problem in distributed computing that is sometimes called the Chinese Generals Problem, in which two generals have to come to a common agreement on whether to attack or retreat, but can communicate only by sending messengers who might never arrive. I stole the idea of the generals and posed the problem in terms of a group of generals, some of whom may be traitors, who have to reach a common decision. I wanted to assign the generals a nationality that would not offend any readers. At the time, Albania was a completely closed society, and I felt it unlikely that there would be any Albanians around to object, so the original title of this paper was The Albanian Generals Problem. Jack Goldberg was smart enough to realize that there were Albanians in the world outside Albania, and Albania might not always be a black hole, so he suggested that I find another name. The obviously more appropriate Byzantine generals then occurred to me.

[0] https://www.microsoft.com/en-us/research/publication/byzanti...
It also speaks about the quality of users as a whole - we somehow forgot to RTFM at all or lead people to documentations, simultaneously accepting lack of documentation in a vicious cycle.
That is interesting. I will try that out later today.
Bong Joon Ho Wins Four Oscars for Thriller “Parasite”
It’s been found by a fisherman (fisherperson?) apparently: https://www.reddit.com/r/ios/comments/f2mo2r/my_brothers_iph...
>so that when you visit, say, theregister.co.uk, you eventually reach one of our servers at network address 104.18.235.86.

More like you reach CloudFlare's CDN
I suppose the average HN commentator is used to indexing arrays using the postfix []-operator, thus starting at 0, while the tools mentioned by GP are aimed at everyone - and most "normal" people start counting at 1.

For references in manually written text, it doesn't matter at all - as opposed to programming language design. E.g. in C the equality x[a] == <star>(x + a) holds because we start at 0.

OTOH if we started at 1, it would become x[a] == <star>(x + a - 1). Mathematically it does not really matter as well, but if you're doing lots of pointer arithmetics in C, causing massive bugs by forgetting a crucial " - 1" might be all too easy. No idea if this was inherited from predecessors or an original design decision. Might also be just a coincidence and the reason to start at [0] is an entirely different one ;-)

(sorry for the <star>, I mean * -- but using multiple of these is interpreted as formatting/italics and I don't know how to avoid this)
Thanks for your feedback! We try to keep the app simple and clean but with strong details and ux
Multicellular Astrocytic Feedback Loop Required for Medulloblastoma Tumor Growth
Isn't that basically the same as remote method invocation in OO systems?
Does not work in what way? Doesn't report anything, reports incorrect values, what?

It seems to be working fine for me on kernel 5.5.0 on a 3800x and on a 3950x...
>The point of lazy loading images is generally to spare the browser from making a bunch of upfront requests to below the fold content, thereby making it so the page and content in the viewport is ready faster.

In practice, it has the opposite effect when the browser needs to figure out where on the page the image will end up at before attempting to load it.
You should not bank on 1 backup, but at least 2 (1 of which is offsite). So you have original, on-site backup, off-site backup. In case of big trouble e.g. fire/burglary/disaster, you still got your off-site backup. Your on-site backup could be a NAS or USB stick, and your off-site backup could be on Backblaze. You only use the off-site backup when your on-site backup fails. At that point, you need to shell out money, because it costs money to download the data (costs per GB). Dedup saves you space. With incremental backups, lots of it. Saving space saves you money. Both on retrieval and on storage. All that Time Machine does for you is a really nice UI allowing you to go back to snapshots. Git allows that, too. ZFS and Btrfs allow that, too. I'm not aware of a UI as good as Time Machine though; that is the problem. But for an off-site backup, maybe you don't require that.
Yes, for sure. This is a known weakness, mentioned on the page. We hope to test ways to make turtleocracy robust against sociopathic conspiracies and fake turtles over the next year.
Facebook accuses telecoms groups of disinformation tactics
https://www.bbc.co.uk/news/uk-scotland-scotland-politics-395...

The collapse may be after some years. I can't find any evidence that the builders have even had to pay for remediation, let alone compensation.

The Grenfell fire has an even more egregious problem in that the builders are being granted immunity from prosecution before testifying.
Well, Chakra does.
Deceptive Dating Sites' Intimate Ties to Firefly Aerospace
Cool, waiting for the more fun parts to come up
> You could just as easilty as say software is extremely costly to fix. Software is labor intensive so fixing it can cost a lot of labor of extremely high paid people.

Developing a fix for a software issue can be expensive, deploying the fix is relatively cheap in today's world with automated software updates.

Compare to e.g. fixing a design flaw in a car, where the development of a fix can be relatively cheap but deploying it (recalling all affected cars to the dealer to have new parts installed) is pretty much always expensive.
Ask HN: Community Banks exposing apps and SSNs to me, how to proceed?
I'm not sure how this happened, but apparently my email (gmail) has been receiving notifications for unfinished applications for a group of very large ($1bil +) community banks across the US. It seems to be a problem with the sales platform (on salesforce), which emails my address with the applications with full information including SSN, phone, address. I emailed their team a week ago and didn't receive a reply and in the meanwhile I'm receiving a fair number of emails daily.

Should I contact the individual banks or FDIC? How can I report this?
> Although I'm not looking for the same salary as that of an US engineer, I'm looking for a pay something close to that amount. Is this the reality today?

You can get close to that money in two ways, in my knowledge and experience.

1) Work for a FANG company (Only Amazon, Google are there, but there are others which pay well e.g. VMWare comes to mind now).

2) You join a good netork for freelancers. I currently work for one, and I make the amount, which fits your description of 'near US salary'. Since cost of living is low, it does feel like a high paying job.
The whole article wasn't that well written, with some disjointed sentences it seems to me. Of course anyone can edit and improve it.
The Manhattan project and the Apollo project both contained a lot of maths and were also highly political.
Threadripper has much better frequencies.
The mascot is really adorable :D
Yes, it is. But sometimes you've just got to start shutting these things down if they're not going very well.
It depends what you mean by OO. The Actor system is basically Smalltalk-style OO. Which is very different to Java-style OO, or JavaScript-style OO.

Most people who talk about OO, are talking about the Java style.
Revealed: Drugs giants can access your health records
Strict typing has an overhead, but the payoff is apparent when working with a large dev team of variable skill levels. People can make a mess in any language but it's easier to decode with strict typing.

For lone wolf coding or rapid prototyping the equation is different.
The whole myth that micro services are simpler needs looked at.

The way I look at it, a micro service application is basically a monolith with extra points of failure because of all the network connections between services. Each service may be simpler, but the complexity just gets pushed to the Devops layer.
None. I think. Not being Linux is a bigger problem.
Plus lower base and boost clocks
I'm very new into 3D printing scene, so far only been printed with PLA.

Also have some ideas that includes some motorised parts with gears. Do you think PLA is a bad choice for this?
The whole monolith won't be a bottleneck. Work out what parts need to scale and factor those out.