skysight-inc/HackerNews huggingface dataset:
Certainly the author is correct in the sense of "1 to 1" that just means "function" (`map` is a function, in the sense that `map f = map g` whenever `f = g`); and even in the sense of "1 to 1" that means "injective" (if `map f = map g`, then `f = g`, at least extensionally), so there's no formal sense in which the author is wrong; but I still think that the sense in which the author is right is not the intended sense.

Namely, consider, to take a silly example, a function like `f x = [x, x^2 + 3]`. (I'll use Haskell notation throughout, since I'm comfortable with it.) In the formal sense this is still a function, since it produces one output, which happens to be a length-2 list, for each input; but one may also informally regard it as a one-to-two relation, in the sense that `x` is left-related to `x` but also to `x^2 + 3`.

OK, so still it is true that `length $ map f [1, 2, 3] == 3`; but there's also a sense in which `map f [1, 2, 3]`, which equals `[[1, 4], [2, 7], [3, 12]]`, wants to have length 6. This is so in the sense that `concatMap f [1, 2, 3]`, which equals `[1, 4, 2, 7, 3, 12]`, does have length 6.

Thus, although, again, there is no technical sense in which it is wrong to say what the author does, nonetheless, in the informal and intuitive sense, I think it is better to say that the "1-to-1-ness" (which I would prefer to call "function-ness") of `map f` is a property of `f`, or at least of how we choose to use `f`, not of `map` itself. But, again, I emphasise that I think this; though I have made a case for it, a big chunk of that case is personal preference, and so cannot, I think, be regarded as conclusively right or conclusively wrong—although I think it makes it easier to communicate with mathematicians, for whatever that's worth.
This was also my question/frustration. Kubernetes is not so easy to learn, especially if your focus is on other programming projects and you just want a easy and scalable personal server setup.

I've created a tool called 'Swarmlet' over the past few weeks, which tries to mimic Dokku, so it combines git and Docker Swarm mode for easy app deployments. With some services included like Traefik for routing and automatic SSL using Let's Encrypt, with Consul as a distributed secrets store.
https://github.com/swarmlet/swarmlet

Definitely not production-ready, and quite some things to do, but it's a nice POC which actually works for me.
HELOC's tend to have a time period attached to them of something like 10 years that you can draw from it before you apply for another one. I haven't heard of banks closing an open equity line before though.
Making the code rust as fast as it can go
You can do this by setting up a filter that matches all messages that don’t contain something like “thisrandomstringwillneveroccurinthewild”. You can have the filter forward the message AND day “never send to spam”.
It's literally 4 characters in Q.

.z.x

But in reality you'd probably use:

.Q.opt

(which is 6 characters!)

Update: reference to .Q.opt

See https://code.kx.com/q/ref/dotz/#zx-raw-command-line
Effect of Intel’s Power Management on Webservers
Yes, nothing against better scaffolding, as long as you recognise it for what it is. Arguably exact real arithmetic is older than inexact real arithmetic ;-) But that's not the point, I think the point is that it becomes interesting now to actually do computations with it. It helped me program solid modelling operations for triangle meshes, when I was despairing doing it with normal floats. Switching to exact real arithmetic allowed me to see things clearer, and once I had what I wanted running with exact real arithmetic, I could switch back to floats to make it faster.
Saudi Arabia Buys $500M Stake in Live Nation (TickerMaster)
1. This is not true. Amazon still commingles inventory with 3p sellers.

2. For Apple specifically, Amazon blocked everyone but an Apple provided list of authorized sellers, so you're pretty much guaranteed to get an authentic product.
This also makes me think that it's just too dangerous to use your long-time personal account to host Chrome extensions or Android apps that you financially depend on. The account for that should do absolutely nothing else, to have the minimum risk of it being arbitrarily shut down for something unrelated.
What’s the point of using the short names? You could call them domain and codomain and then everyone could Google them
I had Google authenticator as 2FA.

Phone broke and I must have typo while doing a regular password change - now I have no way to again log into my account as i can't provide the 2FA and none of the other options work (providing old contact emails, phone code, backup email, ... All doesn't matter just because I don't have the authenticator).
~“There are those that look at things the way they are, and ask why? I dream of things that never were, and ask why not?”

― George Bernard Shaw
out of curiosity, what was the scenario?
I have to say, the more experienced I get the less I have such kind of excitements. It sounds like K is great in certain domains, but for example looking at the language it is missing big tools I deem important for software for example - extensive static typing, a great module system and community of modules, etc
Uhh.. no, that's just argv. Getopt is something you'd use to actually parse flags and arguments out of argv.

EDIT: Ok, .Q.opt looks a little better, although it's still not close to getopt (where -abc would be shorthand for three flags, -a -b -c; but other flags might be defined to take (possibly optional) arguments). Is it a built-in implemented in whatever K/Q is written in? How would you implement .Q.opt in K if it were not built in?

http://man.openbsd.org/getopt.3

http://cvsweb.openbsd.org/src/lib/libc/stdlib/getopt_long.c?...
run.js is not doing the benchmarking. If you look at the source for each of the programs being benchmarked, you'll see that the programs themselves are responsible for benchmarking
I work in a non-technical field and ask around about this. It definitely looks gaudy and pretentious to some people. You’re not immune to the occasional eyeroll. It concerned me enough to remove it from my resume.
If you actually want to expire the assets, you could use S3 lifecycle configuration - https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecy....

If you want "clever" ideas, maybe a Lambda that moves off objects of a certain age to a private bucket?

I disagree on what the issue was with their S3 bucket. As these were all public static assets, the real problem was just the ability to bulk enumerate them. As mentioned in the post, the two issues were:
1. ListObjects was enabled
2. The filenames lacked sufficient entropy (debatable in my opinion)
Yes, encryption keys can persist in memory, too. That's why many law enforcement agencies use something like a HotPlug[1] + mouse jiggler to keep machines powered on when executing a search warrant.

[1] https://www.cru-inc.com/products/wiebetech/hotplug_field_kit...
This doesn't address the problem, it only moves it. These kinds of panels already exist in many countries on many topics -- I've worked with several. In all cases, the selection of the panel and the positions they take have political motivations. They are never constructed as a random sample of domain experts. Even when trying to achieve that appearance, "domain expert" is defined so as to justify the exclusion of many inconvenient domain experts from consideration. None of which should be surprising, since this is basic human nature.

Indeed, the functional purpose of these kinds of panels, based on what they actually do, is to lend an air of authority to decisions that were made politically. For the participants, they are paid in prestige, which is a valuable currency.
Apologies - updated.
One thing I don't like about the MongoDB dashboard is that if I'm already logged in and go to Tools, I still have to use commands to export data. Why can't I just press a button in their UI and export the data however I want? I'm already logged in. This might seem trivial but it would be faster. Especially if you're working with someone semi-technical and who has only a basic understand of looking through documents, you don't want to have to walk them through different commands and using the CLI.
I fully support your sentiment, but you're not in opposition with the grandparent you're referring to. He didn't say that that's what he'd like Google to be (ultimately unreliable). He said that that's what it is, which is true. We should demand and expect more, but until the demands are met, well, they're not met. Nit pick.
You are taking an untested experimental drug. It could kill you, or cause paralysis or brain damage or sterility or cancer or organ failure and require you to get a transplant and spend the rest of your life on immunosuppressants.

Monitoring can't save you when the damage is already done by the time the evidence of damage is discovered.
More generally, I think all the naming could be improved. Why not write out "domain" and "codomain"? Why abbreviate "identity" as "idd", is that standard anywhere? Why use "mplus" and "mzero"? The latter is as in Haskell, I believe, but there they must do it that way because they can't overload the identifiers. Inside Python classes you don't have that restriction.
Why is that? Is private business obligated to follow host country's foreign policy? My instinct is to hold the business responsible for these decisions.
As noted many, many times. Their walled garden, their rules. If we accept their edicts on speech, acceptable behavior, etc and accept that they can - and will - eject anyone without review, appeal, or even acknowledgement, we need to celebrate our internet overlords and definitely not say anything that might irritate them or get us reported by others we irritate.

Welcome to the new old world. :(
Although Dyalog APL is a fantastic APL, if you want to do Unix scripting you should know about GNU APL.

The scripting ability is quite good IMHO.
There's really nothing useless about that use of cat: it makes the pipeline compose better from left to right. It's not like you have to pay 25 cents for each process you spawn.
Well, nothing... google-free. :)
Same here. I contacted customer support and the system said they would reach out to me. This was 2 years ago.
Ask HN: Which ecosystem has the best code generation tools
Hi HN, I do a lot of web development and am tired of writing CRUD logic. Basic boilerplate generation for models, controllers and even templates based on some spec seems like a solvable problem and there already exist a lot of tools for it.

Have you used something like this and can talk about the experience? Even if its outside of web apps.
GitHub wikis are repos, too, so they’re trivial to clone.
Does anyone know of a good Linux email client that isn’t crippled by show-stopping bugs of this sort? I used Mailspring for a while, which has a nice modern interface, but quit after discovering that my drafts were only saved locally, not on the server. This has been an open bug for at least two years.

In the end I’ve always fallen back to Thunderbird as the least bad option.
Managers use surveillance software to ensure employees are working from home
There are lots of tiny practical annoyances you notice, starting with having to vet dependencies and transitive dependency upgrades extremely carefully. A major one is that dev-dependencies are very broken in a no_std environment. It’s obviously useful to have the std in your build.rs script, but unfortunately, Cargo merges dependencies and devDependencies in a way that’s simply incorrect.

The good news is that every problem I found had an actively discussed GitHub issue and the community is active, so there will be progress.
> they need backup from either nuclear, coal, oil, gas or storage to be reliable

FTFY. That's a very significant omission.
For me it was 3 to 4 months, I had switched from Golang to Rust. Its been 8 months now and I believe that I have hang of things now.
It is difficult to assess risk without an indepth technical knowledge of the engine. Particularly when the engine could have a profound influence on how the rest of the rocket is designed.
Well, the article mentions an obvious improvement. The node_moduoes won't be rebuilt after any changes to the code, only changes specific to the packages.json.

Basically the main step is the COPY . . step (previously COPY . /app) which will invalidate the cache every change to the code.

Also that on the builder, the steps beyond npm run are not needed, but well they won't improve much on the performance or space of the overall process.
True but if I understand correctly (and I'd be happy to be corrected by someone with more K experience), the smaller size of input data should also have an impact on real world parser performance (including the memory usage involved therein).
I have to use it quite often because the dialect I'm using defaults on BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW which I have to manually change to BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.
Are they still? I’ve certainly noticed in other areas (like tech support) they’ve gone from “hungry startup” to “division of mega corporation”.
> There was some debate at an old job about whether or not to use semicolons in JavaScript. I would just like to remind everyone reading this that if you don't write semicolons in your JavaScript, you are doing it wrong, and we cannot be friends.

Well the great thing with that issue is that you can use tools that will forcefully put semi-colons in code and no rely on automatic insertion at runtime.

There is no excuse today not to do that. Of course, sticking to a specific coding style and enforcing it automatically with QA tools during CI is also something easy to do and should be mandatory for any codebase.
George W. Bush held office for 8 years. You may be thinking of his father, George H. W. Bush.
This is simply false. Windows APIs are stable. It's one of the best platforms for back compatibility. The kernel32/user32 API has been stable for 20 years. Rust has some work to do.
Good read, emphasizes an importance of figuring out a customer-perceived value of your product.

Sidenote: reading it was very much painful on eyes, at least on my phone screen. That thin font looks almost like a watermark. Maybe it'd be better on a laptop screen.
Infra can be replaced, online identity (email, etc) not so easily. I wish I could pay the Internet Archive to host my email!
Yes, eye opening. Non IT folks often believe they are safe because no one will find their secrets in a fast sea of information anyway. Nothing can be farther from truth. Most of the time key material and other secrets can be extracted automatically using widely and freely available tools.
Looking forward, life's a zigzag; looking back, I see it was a straight line.
Google can at any time decide to require you to provide additional authentication. What year and month did you create your account? What previous addresses have you logged with google. There are about a dozen prompts to prove yourself to them.

Finally, spinning busy icon and... red text says you are denied. You are properly screwed.

(My experience a few years ago)
So if I have a kubernetes env hosting all my stuff, with standardized CI /deployment flows, and one site is static, hosting it from a container like everything else would be a cardinal sin? Thats a strangely black-and-white way to put it...
Yeah, I saw your username too late or I would have known that you know that. ;) But it’s a common misunderstanding among many Unix programmers, so I feel it was good to clarify.
I don't want to argue or get downvoted by the Rust fans, just let me share my impressions , we see a lof of submission on the fitst base that are fo form "X made in rust". If X is a kernel or some critical library is fine that you emphasize rust but in the other cases X should be upvoted on it's merits not the fact somebody is learning Rust and poorly re-implements X . Would you like to see the same X this time in Y? Do you want to see every point release of other languages? any point release of some framework? any My first Hello World in X ?

I think new releases (not point releases ) are fine and personally i am intereseted to see what's up with Firefox and Rust - I see the new Firefox releases but nothing int he artciles mention the Rust progress. Btw I do not downvote or flag any submissions, if the community upvotes them then I have to accept it even if I disagree.
Then it was covered by the warranty so you could get your money back, at least.
Did Closing Schools Help (In Europe)?
> it’s very rare to call ntdll or to make system calls directly

Until you need to do something that's not possible through kernel32.dll. Sometimes I've called ntdll.dll directly to support older Windows versions.
Just remove ++p or p++ from your language, problem solved ;)

Interesting blogpost though I do not agree on everything you say but I respect your perspective as a language designer and developer.
Yes, there are many papers on looking at clinical trials as bandit problems (because they are bandit problems) and applying different bandit algorithms.

You may also want to look at SMAR Trials and adaptive trials.
From a programming perspective I think there are a couple contributions:

- Category theory has a number of very intuitive looking graphical notations which nevertheless translate to very exact algebraic expressions. This is pretty dang nice. Category theory is a road to a very principled formulation of things that are already done in dataflow languages, tensor diagrams, and UML and things like that. These graphical languages are a reasonable user facing interface.

- Empirically in mathematics, category theory has been found to be a flexible and "simple" language to describe and interconnect very disparate things. In programming terms that means that it is a plausible source of inspiration for consistent interfaces that can do the same.

- Point free DSLs are really nice to work with as library/compiler writer. It makes optimizations way easier to recognize and implement correctly. Named references are phantom links attaching different points in a syntax tree and make it hard to manipulate them correctly. In slightly different (and vague) terms, category theory gives a methodology to turn abstract syntax graphs into trees by making all links very explicit.

I can't comment much on what category theory contributes to mathematics, but I think there are similar points. I think category theory can make precise analogies between extremely disparate fields like logic, set theory, and linear algebra. I think categorical intuitions lead to clean definitions when specialized to some particular field. Combinatory categorical logic does make some aspects of logic less spooky.
Scalpel, as good as it was back in its time, sadly has been stalled. Carrier and/or the folks in charge of The Sleuth Kit have taken it into their github repo[0] but there haven't been commits for ~7 years now.

I did a thesis on file carving some 10 years ago, and scalpels ideas where very good back then. Photorec[1], however, has been the gold standard for a long time on (open source) file carving. It can handle text based formats way better (scalpel is severely limited in this aspect due to the "header/footer" paradigm), and is a wonder with stream based formats (that can have boundaries on the bit level).

And it's not because they authors weren't good[2], I think what mainly happened is that they didn't have the time to keep maintaining the software they created (I know that has happened to me more than once).

There are also some commercial file carving tools, though most are aimed at having better integration with forensics software (like Encase, FTK, Oxygen, etc) or automate parts of the process, like document analysis. Still, if you just want to compare them by their ability to recover files, I'm pretty sure Photorec makes it to the top.

[0] https://github.com/sleuthkit/scalpel

[1] https://www.cgsecurity.org/wiki/TestDisk_Download (PhotoRec is part of TestDisk)

[2] They're some of the best in the field of digital forensics
nano ftw.

Modern web email clients have this since a long time and Gmail never crashed internally for me ;)
The Ambitions of Philosophy
I threw out all my cheap chargers after reading your post years ago and have shared it many times, thank you.
Does anyone here have any experience using Kotlin and can compare concurrency (with coroutines) to either Go or Rust? When I was doing more Java I really liked the approach Kotlin took with concurrency, but reading the comments here I'm sure I didn't understand the issues at the depth that is needed.
I worked at Magnet Interactive Studios starting during the Chop Suey days, and into the early days of professional web site development. It was a privilege to work with such an incredible group of creative and talented people. Those were amazing days.
You should realize that in clinical trials human patients are very much like lab rats. They receive a randomized treatment.
I don’t think GP intended to signify there’s long and short UUIDs, just used “long” to additionally describe UUIDs. I could be wrong, but site guidelines say to assume best intent in your replies.
This article doesn’t properly use self within python classes. On top of that the author couldn’t even apply a code formatter to the code so there’s a bunch of missing/extra spaces.

It also doesn’t even try to make the given code applicable to real problems. It seems as if someone writing an article of how to use functions.partial while never mentioning when those partials could be practically used.

All in all, 0 respect for the reader; seems like a badly typed retelling of a university course.
It was just a summary of the post contents - the post suggests that the biggest difference comes from the allocator.
Are you arguing that in the initial stages incorrect information is less harmful than no information?
You act like this is arbitrary.
"Politicians" with radically opposed worldviews, and from multiple countries, have endorsed this policy, including all recent presidents.

If you live in Iran, not having GitHub is a problem, but not your biggest one.
Impossible to avoid the detection of “whether DevTools console is open”
I have exact same problem. But for me it's not just about learning. It extends to other aspects of my life - side projects, health, work, travel, etc. I have huge lists of things I want to do, but no real way to manage them. I'm having an especially hard time balancing them.

I've been through various apps and approaches, and even tried to write some tools myself. So far I have been unsuccessful in finding the right abstractions and solution to solve the problem. Everything I've tried ran into edge cases it couldn't handle. I always came back to listing goals and daily schedules in raw text files, sometimes using org-mode.

One approach that has worked okay-ish for me is to have a hierarchy of personal OKRs. Quarterly -> Monthly -> Weekly. I found anything longer than quarterly to not be very useful - life changes too quickly. Even quarterly may be too much. You create these as-you-go, e.g. each Sunday you review your past week and create OKRs for the next week, possibly adjusting some of your monthly goals. Each day is then managed with a simple TODO list and you count tasks towards your weekly OKRs. At the end of each period (day, week, month) you have a review.

This approach still has a lot of shortcomings (not being flexible enough, not incorporating habits, some things are difficult to measure and can't be expressed as OKRs, etc) and I've tried several other things I could talk about, but the time period in which I used this approach was one of the more productive ones.

Regardless of the technique, one thing I've come to realize is that people tend to spend not enough time on "meta" - figuring out what to spend time on. If you think about it, spending 1-2 full days a month making sure that you are working on the right things aligned with your long-term goals is reasonable, but very few people spend this amount of time (me included). Instead, we tend to keep ourselves busy with the micro - tasks right in front of us.