skysight-inc/HackerNews huggingface dataset:
Amiga 500 had great graphics and music for it's time (1987-) Is there even a comparable PC at that time? I believe we had the Atari ST, Apple IIgs, and Acorn around the time.
I couldn't agree more. Personally, I've found dual booting is the best option, but since most hardware isn't optimized for this it does sometimes lead to driver problems. I really wish all computers we're optimized for multiple OS... I mean it's great on a desktop where you can have many drives, but that's not practical for laptops and partitioning really isn't the most stable option in my experience.
You actually bring up a question I've wondered about for along time. To most people here does "code review" mean a synchronous meeting (either in person around a conference room, or remotely via screen share) where you talk out loud about the code? Or does it just mean setting up "review/approval" requirements for pull requests in your GitHub/GitLab/BitBucket instance?
> Another aspect for Lisps is that single line code blocks at the REPL are quite useful. Not all shell have good support for multi-line, so being able to inline tree like code does come in handy there.

This is a really good point. I'm thinking of experimenting with a convention for doing inline trees using Tree Notation. In the code itself the delimiters are called YI (newline) and XI/ZI (space), so potentially could do something like this for the REPL: (set YI="|" ... "def square x|return|* x x "

> Lastly, I'd say copy/pasting can be annoying in whitespace sensitive syntaxes.

This is true. Things that minimize it in Tree Notation: no ambiguity with spaces/tabs/indent levels--one space is the only way to indent things; great syntax highlighters & automatic suggested fixes (I've got a todo to add autosuggested fix the common case where subsequent lines are de-dented after a paste); and the ubiquity of multi/vertical cursors in editors nowadays. Still, whether I'm using Sublime or VS Code or vim, indent can sometimes be an issue. I think it's just a matter of having all the grunt work done for the modes in these languages to ensure things work as you'd expect. I bet we get that all done by end of year at latest.

> my brain adapted and now I find S-expressions superior in all ways to all other syntaxes I've ever used.

I think largely the same way, except to me just swap S-Expressions with Tree Notation (which is just SE w/o parens). But that's only because the tooling is getting there now. When I look back at where things were in 2017, wow, Tree Notation was very hard to use back then.
Code is written and read by humans, therefore it should be clear and concise.

Cleverness should be used in constrained situations like performance (fast inverse square root [1] comes to mind), and comments explaining the cleverness is important.

I should note [1] did a terrible job at commenting.

[1] https://en.m.wikipedia.org/wiki/Fast_inverse_square_root
Those are way higher frequencies than the popular ham bands. I can barely get wifi to cover my apartment, but I can reliably pick up folks from across the city on my handheld radio.

(Which is why spectrum is much more valuable and there aren't unlicensed bands.)
In reality Perl6 is strangely consistent.
Rise of the Professional Dungeon Master
Gotta Catch 'Em All: Understanding How IMSI-Catchers Exploit Cell Networks
Distro for Learn DevOps
Could a distro be helpful to learn DevOps practices? If so? What tools, interfaces, wizards would it include?
I think of a robot as a complete system which was created by humans to do some task. This includes actuators, software, and sensors.

With this in mind, the robot uses a machine learning system to help perform the task of picking lettuce.
Rotation might be done with magnetic fields instead of ejecting ionized gas (water etc). And dirty fission power is very practical in space, where the inverse-square law can make it quite harmless.
> one port and one cable type that can do everything

As with politics ("freedom", "justice") the problem is that "everything" is ambiguous.

(and corporations have anti-standards goals: to differentiate their products, prevent unallowed access to their devices, continue using outdated protocols, etc...)
The reminds me of the the days before affordable color bitmap displays. I wrote a unix program to render the mandlebrot set in greyscale. Then a VMS program to render the greyscale image into postscript.

I was in a university lab with a 8 foot long laser printer that normally spit out 200 pages per minutes or so with the first page being a giant ascii rendering of your username. It made a cool frewp noise with each page shot out into a self collating set of shelves. The vast majority of the output was just ascii.

My mandelbrot set kept the printer busy for a few minutes, the operator wanted to reboot. I pleaded with them to leave it run. It finally spit out a page at at least 300 dpi, everyone in the lab came to look and was amazed. Back in those days rending a 3150x2250 part of the mandelbrot set was a substantial amount of compute. These days something like that runs at 60 fps.
like the British thing of reading "thanks so much" or "thanks a lot" at the end of an email as sarcastic.
> And Trump himself will undoubtedly end up implicated.

"This Will Be The End Of Trump," Says Increasingly Deluded Man For Fourteenth Time This Year
You are confusing monetary value with intrinsic value -- I have edited my post to be more clear.
> By getting the highest quality people into the union, setting minimum rates for union talent, and throwing people out of the union who work for people who pay lower rates (to them or anyone else.)

Dualisation, making a labour market with insiders and outsiders certainly helps those on the inside. But that comes at the expense of those on the outside. If this is the goal how would punishment of those hiring self taught developers and those who didn’t pay union dues be coordinated?

This model has a problem in that programmers are closer to lawyers or accountants than electricians. An individual lawyer/accountant/programmer can be tens or hundreds of times more valuable or productive than another. So you can see professional services firms. You’re not going to see electricians doing that because the productivity differential isn’t that enormous. And those programmer professional service firms can either continue that way, as consultancies, or augment themselves with capital and make a product. That’s a startup. The economics of knowledge workers are radically different from production workers. Even voice actors and script writers are inputs into the final product, a film. Knowledge workers can make the entire product and capture far more of the productivity thus generated.
> the goal of code, however, is simply to communicate a process to a computer

While we're throwing fun quotes around:

"programs must be written for people to read, and only incidentally for machines to execute"

— Abelson & Sussman

;)
Lying to someone to get them to buy something is in many if not most cases called fraud, and is illegal on those grounds.

This is where speech becomes a kind of action: misleading people in business, directing people to do harmful or illegal things. It’s actually pretty interesting how consistent the common thread is ... incitement to illegal acts or misrepresentation which results in tangible harm.
I feel like this article is using strange definitions - ones that may be common, but are also incorrect. There's an example, about halfway through, of a customer withdrawing $20 twice in different regions from the same bank account. The definition of "serializable" that the author is using includes the following flow:

A | B
Reads $50 |
|Reads $50
Writes $30|
|Writes $30

This was a bug, and a huge one in either the application or the database. On one hand, the application should have sent the SQL statements:

A | B
Acct = |Acct =
Acct - $20|Acct - $20

Or the whole thing should have been wrapped in a transaction, so no interleaving of A and B would have been permitted.

Either is fine. If the database had not dealt with either, it would have been incorrect.

Of course, even better, and actually a requirement of proper financial systems: Write the whole thing as a ledger and archive the results. SQL databases do actually make this easy, if you archive your Write-ahead-logs. NoSql makes this easy to write and write verification tools for. The argument about which is better belongs to implementers, and to fools - the fools who do not verify correctness of their data regularly.
If You Want to Be Taken Seriously, Stop the Sorry, Not Sorry Nonsense
>If you don't push yourself outside your comfort zone you wont grow - Oh and you will get taken advantage off and have worse career progression.

Or, he's more likely progress to a job where there is no patronizing idiot trying to ham-fistedly force him into non-work related socialization. Seriously, don't people like that have their own lives they want to live?

I have way too little free time to waste it talking to people I spend 8 hours per day with already. There's plenty of time to talk to those people during work hours, at least I get paid during those hours as well.
> It comes with a lot of PKI for free to help address the "how do you know you can trust the other guy on the line?"

I would hesitate to trust a high stakes system (like, controlling a regional power grid) with TLS's default PKI. There are hundreds of certificate authorities out there, all of which can vouch for everything. Compromising one certificate authority is enough to mount a man in the middle attack.

Granted, this is not a trivial attack, and TLS as it is now is mostly sufficient for your regular online shopping. More critical applications however need a dedicated PKI.
How could someone sell shares in an asteroid? Wouldn't it be shares in a mining operation? If another country or business finds a way to mine that asteroid then they won't care about your paper claiming ownership.
> Debugging code is more difficult than writing it.

It's not. It's possible to not know how to do it well though. As it's something you have to experiment with, learn various approaches, instrumentation.
Naive Bayes and Disease Detection
Note that #7 is not actually true anymore, and actually hasn't been for quite a while.

A paper from Mehdi Tibouchi [1] shows how to represent points on essentially any curve as uniform random bitstrings.

Another paper by Aranha, Fouque, Qian, Tibouchi, and Zapalowicz [2] gives an even more efficient construction for curves over binary fields.

(As an aside, there are really good reasons not to use curves over binary fields. Discrete log has recently been getting easier much faster over GF(2^k) than over GF(p).)

[1] https://ia.cr/2014/043

[2] https://ia.cr/2014/486
In the eyes of its users DropBox is a fundamentally different product from the filesharing sites like YouSendIt that already existed, or the techie utilities like rsync that HN commenters compared it to. There's an easy way to see this: people talk about dropping a file in their DropBox, they don't talk about this new filesharing program they're using called DropBox.

Similarly, people talk about buying a GoPro and putting footage of it up on YouTube. They don't talk about buying a digital camera from GoPro and putting their videos up on this video-sharing site called YouTube.

Similarly, people Google questions and Xerox pages, they don't search the web with Google and copy documents with a Xerox copier.

Conversely, people stop at the gas station (which might happen to be a Mobil or Exxon or 76 or Valero) in their car (which might happen to be a Honda or Subaru or Ford) on the way to the supermarket (which out here is probably a Safeway, but that varies depending on location). Or they might stop on their way to Whole Foods, which actually did succeed in differentiating, while driving a Tesla.

The customer's mental model is the only thing that matters here. If you're building a car or a skateboard, you're seeking to fit into an existing category in their head. Even if you win (which is unlikely, because incumbents optimize very heavily with lots of resources), you lose, because you're a commodity in a market with lots of substitutes. If you want to actually win - in the sense of create a monopoly product that defines its own market - you, as an entrepreneur, need to be thinking in terms of the overall problem that the user wants solved (transportation, or information access, or answers) so that you can define the terms of the market in a way that you're the only reasonable solution.
Weatherwatch: Heatwaves test limits of nuclear power
Music has never been better imo. It's just that there is more of it so you have to go looking. If you don't know how to do that or aren't interested enough to invest in it you're going to come to the fist shakers conclusion.
Some NVIDIA engineers probably know a lot about graphics stacks; charitably I'd say that those ones aren't the ones tasked with insisting on EGLStreams, which lacks a considerable number of crucial features.

To be honest though, NVIDIA engineers do not spend any time engineering graphics stacks at all; they write graphics drivers for stacks that are already largely specified. They're really good at shipping hundreds of megabytes of dirty hack code to patch popular shaders from ISVs to run slightly faster on their hardware, and probably great at writing shader compilers and threaded GL drivers.
Why Didn't Sears Adapt?
> at one point I knew everything there was to know about C

after taking the test, wouldn't this be:

at one point I knew everything there was to know about (my implementation of) C

also: one time long ago I tried to use the c-preprocessor to preprocess a data file. ha ha ha ha ha. (conclusion: don't do that)
> It can be run as a COM file or put into a boot sector of a floppy disk to be run.

Isn't "COM file" something specific to DOS? How does it differ from a machine binary file, i.e. what GCC (or a linker) would spit out of the ASM code? (The makefile uses nasm, thought)
>If workers are better off without organization, maybe the same is true on the management side? Instead of big companies, we should have individual managers on their own, employing a team as a sole proprietor.

This actually has some interesting incentives.
I'm pretty confused by your argument here.

When employers band together to negotiate collectively, we call that a "cartel" and it's radioactively illegal, and not a single person defends it as a good thing.

When employees band together to negotiate collectively, we call that a "union" and have a variety of opinions on it; with plenty of people thinking it's a good thing.

Corporations don't seem remotely analogous to unions and are mostly created for legal reasons, not for anything related to collective negotiation?
“Il meglio è nemico del bene”
How did you get over this hurdle?

I didn't. Not too long ago I was just thinking about what a sophisticated artificial intelligence based on essentially run of the mill algorithms would be missing compared to a conscious human and I tried to formulate it without using any words with fuzzy meaning. And then I just failed. Every aspect I considered could be more or less easily replicated with normal algorithms. It seems that only my brain is telling me that there is something more going on in humans but there is no evidence for that, at least none that I am aware of. And then I just tried to do the rational thing - if you are convinced of something but without having any evidence for it, then at least consider the possibility, that this conviction might be wrong. And last but not least I realized how incredible easy it would be to add just a few lines of code to an artificial intelligence so that it always argues with great conviction that it is of course self-evident, obvious, and undeniable that there is more going on inside of an artificial intelligence than inside a human. In some sense this would be a very simple and elegant solution for a very hard problem, wouldn't it?
Maybe it’s the graphics? That is massive!

I’d like to see a lightweight card playing app for playing games with people physically near me. I don’t know how popular that would be, but I’d play it.
or SE Asian team members who say "yes boss, sure" and then do nothing... and then you find they disagreed with the thing you proposed but there's no way in their culture that they can disagree with the boss, so they just say yes and do nothing. That one was fun to deal with ;)
Is the AC not also helping to circulate the air, removing some of the CO2?
Sodium is a highly reactive material pure though, while abundant it's just not easy to work with. You can't compare elements easily it seems
Thanks, I'll definitely keep it in mind.

MAIN is probably what I should point to as P6's killer feature for things of this scope. I tend to get sidetracked by math/functional features when I demo things even though stuff like this is a bit more practical and likely to get traction.

I just got around to cleaning up that tmux wrapper I mentioned above (https://gitlab.com/0xFORDCOMMA/sessions) and that might be worth writing something about. It's a miniscule project, but I think it highlights a lot of useful features.

One result of that clean-up that relates to this is the new usage output. It's still automatically generated [1], but adding purpose annotations to the multi-dispatch MAINs in `session` and using a P6 enum as a type constraint in the MAIN in `sessions` resulted in what I consider quite useful documentation pretty much for free.

λ | -> session --usage
Usage:
session -- Create or enter default session 'misc/dev'.
session <category> <session> -- Create or enter session '<category>/<session>'.
session <session> -- Search all categories for matching session, switch to result if unique.

λ | -> sessions --usage
Usage:
sessions [--style=<Style> (boxed compact)] -- Default display style is boxed.

The latter example is generated entirely from these two declarations:

enum Style <boxed compact>;

#|(Default display style is boxed.)
sub MAIN(Style :$style = boxed) { ... }

[1] For anyone interested, you can have your cake and eat it too. Defining your own USAGE routine doesn't mean you have to give up the generated one. The generated output is available in the $*USAGE variable.
You said you are not too keen on internet connected devices but look into the qolsys IQ Panel 2, it ca integrate z-wave, rf and more and you can control it with an alarm.com account. this would be a mix of DIY and commercial app but I can tell you it's a solid solution. The comms between panel and iot devices is not over internet and you would have only one point connected which is the panel.
Ha, I spend a decent amount of time trying to explain to clients how it's worth their while to decrease a page's load time from 20+ seconds to < 5 in just a few hours of work...
Probably just a stripped down Tcl. Most of the code was written years ago in a week or two, i've only added minor stuff (like a few new functions), improved performance a bit and fixed bugs since then. And the Free Pascal implementation, of course, but that was also done years ago. I've used it in a bunch of my own projects and i've heard a couple of others using it too.

TBH i do not have much experience with Tcl itself outside of writing a few Tk utilities to automate a few bits on my job some years ago. I followed its approach mainly because it sounded like a good combination for being very simple to implement and very flexible to work with, making it ideal for a hosted scripting language (though it doesn't fit all tasks - far from it, especially in places you want even a hint of performance).

So i can't really judge how exactly it differs from Tcl language-wise. It is not compatible as it provides much fewer functions and those work in a different manner. For example there isn't uplevel, but there is upeval which works in a similar manner (though the depth is always one but they can be nested) and there is also downeval (used through upeval to evaluate code back at the environment from where upeval was called), topeval (like upeval but at the toplevel environment), enveval (eval in a function-like environment with optional variable passing in and out) and jaileval (eval in a new, optionally clean, LIL context). Also there isn't much in terms of state notification outside of watch (which i think it works like Tcl's trace but only for variable writes).

I think the syntax is compatible with Tcl (i haven't done any excessive testing to be sure though, LIL was done mainly by "eyeballing" Tcl) so it could be possible to write shims in LIL to be able to write code that works in both, but TBH i wouldn't rely on that.

So i call it just "Tcl-like" in the same sense that JavaScript is a C-like language.
Oversimplified at: https://www.youtube.com/channel/UCNIuvl7V8zACPpTmmNIqP2A

It is a channel devoted to historical events(mostly wars) and it is very on point and entertaining. With only 10+ videos out, it has already gotten 2 millions + subscribers.
...if generally applicable. Then, hopefully, from idiom to abstraction.
None, the particular web stack should take care of any tools, wizards, or config that is relevant.

Web dev has become to broad.

See https://apollokit.org for a good example. You still need some tools around. Yarn and nodejs, but that should be it. Docker for the more adventurous.
Hmm this doesn't look like research it looks like a form to determine if someone needs career coaching. First step I would recommend to you is to make sure that you are being honest with your audience.
Productivity of New PhDs in Economics: The High Non-Success of the Successful
Whenever you have two electrical conductors near each other, but not touching, you have a capacitor. Electrical transmission lines are obviously conductive, but so is the earth, with its large amounts of metal and salt water.

When extra electrons collect in the transmission lines[1], they become negatively charged and repel electrons on the surface of the earth, leaving unpaired protons and a positive charge there. As there are two oppositely charged objects in proximity to each other, an attractive force exists between them. This force is generally referred to in terms of voltage because it’s very small in absolute terms, but electrons are also very light and thus strongly affected.

The electrons can’t make it across the gap to the positively-charged Earth, however, because air is an insulator. That means that all of its protons and electrons are bound tightly to each other, so there’s no intermediate place for the electrons in the wire to jump to, and they have to make it all the way across the gap in one go, which is extremely unlikely.

By driving a metal stake into the ground, you’ve provided a path along which the electrons can move little at a time in the direction that the electrical force is pulling them. When they arrive, they’ll pair up with a proton and reduce the attractive force a little bit. Over time, this prevents the large buildups that can become dangerous.

[1] Electrical storms and lightning strikes are the most dramatic causes, but not the only ones.
Reflection:

- Machine code is very dense. Really, this is not an accident, although maybe it’s not entirely on purpose either, more just common sense at the time. In the end, there were probably many platforms using this or predecessor CPUs with very little RAM/ROM and bytes still counted even on IBM PC.

- Assembly code is still very readable. The trouble is not that machine code isn’t readable, and it probably never really was. It just doesn’t offer ways to build abstraction beyond what the machine supported (like routines, sw interrupts, etc.) Only gets worse as hardware gets more complicated. Imagine avoiding VGA and instead attempting to support initializing a modern graphics card all the way through! It would probably be quite ridiculous even with documentation. This is part of what bugs me about a lot of non-x86 platforms, since that’s kind of the environment you’re dropped into in many of them.

- Speaking of compatibility, one must wonder how many new layers have been introduced on top of things like VGA since the original VGA.