skysight-inc/HackerNews huggingface dataset:
SolarWinds hack may be much worse than originally feared
Why not just learn a Lisp yourself? You'll get far more out of it than watching a video. The old adage is still true: learning a Lisp makes you a better programmer.

Your choices are:

* Common Lisp: install emacs, SBCL and set up SLIME,

* Clojure: install emacs, Clojure and set up CIDER,

* Scheme: install emacs, racket (or guile) and set up Geiser,

* Emacs Lisp: install emacs.

You'll notice that they all involve emacs. There are probably other ways but you want something that is quite tightly coupled, which all of those emacs packages provide. REPL driven programming is better served by an editor like emacs rather than vim. You want something where you can quickly write/edit code in one buffer and send it to the REPL with a couple of keystrokes. The lower the "cost" of this operation the better; it should be as easy as typing (as it becomes that frequent of an operation).

To help you choose: Common Lisp and Clojure are the most practical. They are both general-purpose languages with a wealth of libraries available. Common Lisp, as the older language, has far more literature available including some of the best programming books ever written. Scheme is the most beautiful language and has one of the best textbooks ever made: Structure and Interpretation of Computer Programs (SICP). Emacs Lisp is the most fun, practical but also the most quirky. Luckily, learning any Lisp will put you in a better position to learn any other Lisp.

Emacs Lisp is fun because it presents the most exciting part of REPL based programming: hacking a live, running system. Most of the time you run a lisp instance just for the purpose of development, but if your program is working and doing something, then why not hack on it while it's running? There's no difference between running a REPL in a "development" instance and a live, production instance. When you hack on emacs you are doing just that: hacking a live, running instance. It's not often you get to use a tool to hack on the tool itself while it's running.

Whatever you choose, good luck on your journey. I truly envy those who have yet to experience the beauty of Lisp programming. It changes you forever.
Ask HN: Unfortunate Startup or Product Names?
Sorry if this topic is too silly for HN, but a recent jobs listing site submitted to HN shared the name with a serious psychological disorder. It's unfortunate, but also funny - the idea of people spending a great deal of time and thought to produce something and unknowingly giving it an objectionable or obscene name. For example, there is a recommendation engine called TasteDive which started out as "TasteKid". Does anyone recall other examples here on HN?

One show HN-submission a few years ago that I recall but haven't been able to trace since was a database startup with an inadvertently obscene logo. The logo was a cartoon beaver or otter lying on it's back, waving, supposedly. Commenters on HN pointed out that it looked like the beaver was "air-fellating", which cheapened the landing page a bit. Anyone remember what I am talking about?
What do retired computer programmers do?
Not "important" for everyone. In case of many people kids can actively reduce their quality of life due to having to worry about things like money for houses, school etc.

That kids are important of a person's life is a lie sold to the public. Sure if you want to have kids have them but not everyone should feel compelled. Kids costs hundreds of thousands of dollars not to mention the tangential background impact on your life of always having to worry about money and their well being.

If there are people reading this who don't want to have kids, don't feel bad. It is your choice to make!
To be more accurate, it's between building your own site by hand vs. using a third-party static site generator.

I point this out because I built my site using my own SSG.

In theory that gives both sets of advantages, right? (Well, except for the lack of a build step.)

In practice, I've forgotten how the generator works, the system and generated layout is confusing, it's undocumented, and it's all in Python 2.

Also, one of big markdowns to doing it yourself is you likely have far less experience or knowledge of how to arrange a site than someone who has developed a widely-used SSG.
One bad ([1]) side aspect of this that low signal to noise rate leads to fatigue. At some point it can lead to high priority information (in this case: real bug bounties) being missed. Instead of manually plowing through it you could automate declining obvious bogus information (such as spam) but it might lead to the same. Hence when sometimes real mail gets lost in spam folder.

[1] Arguably bad, depending on your interests. Because such can be intended by an adversary.
For those of us that don't use Lisp (or Emacs+SLIME), and are stuck with Python/Julia/Lua/etc and Vim may I give a practical recommendation? The Vim-Slime plugin [1] is a half-decent way of making interactive development work. With a bit of tuning you can make it start a terminal emulator window inside Vim, and have it send the current paragraph of your source code into it with a press of a button.

While not as great as working with a proper Repl-oriented language (as the article explains), this is still so much more pleasant than having to re-run the whole program every time you change a function.

[1] https://github.com/jpalardy/vim-slime
I've found it helpful consider the type of technical debt too. Get the data models right and most other technical debt is a lot easier to pay down. If you keep adding work on top of bad data models, things get more and more out of hand. I'll always fix data modelling as soon as the abstraction is found to be incorrect, even though that can cause a delay.

But, if you have repeated functions, or two similar react components which could be merged, that's a far lower risk to current and future development velocity.
The DLNA/UPNP server that came with my Synology NAS is surprisingly competent. I just wish it had more RAM and a faster CPU.

I also wanted a media server on my desktop, with mixed results... Gerbera and MiniDLNA are both annoying to configure and buggy. If there's something better out there, I didn't find it.
I'm in a jurisdiction with a wealth tax, so such things do exist, and do work.

(and contra Graham, it's only assessed at a per-mille level, not percents)
"Voting with the dollar" does not generally work to change corporate behaviour because of oligopols, a multitude of issues and lack of transparency. A user might want to "talk to them" over privacy (buy Apple?) or "talk to them" over App censorship (boycott?).
How can an appeal be publicized and silent at the same time?
I think they made money before and are now barely surviving. These are dead businesses, but the owners can string along because they already have their house and car paid up, their kids are on their own, and most of their retirement is paid off or they are actually getting some retirement.

The young people doing it are probably leading a bohemian life, or doing it until they find something else.
that has nothing to do with it. unsure what your point is
> The investment to become fluent in Go might literally be an order of magnitude less than becoming fluent in rust.

From my own experience with both languages, it's actually closer to two orders of magnitude. One order of magnitude might be correct for the language, but Rust requires you to navigate the ecosystem very early on [1], whereas Go gets you much farther with its stdlib in its common usecases.

[1] For example, you pretty much immediately have to decide "Tokio vs async-std vs std" if you want to do anything with IO, or "Actix vs Rocket vs whatever" for HTTP, at a point where you probably cannot gauge the ramifications of these choices properly.
Text to speech.... several years ago I was playing with a pet project to make procedurally generated number station broadcasts. For that I needed text 2 speech with ?euphony? The available tools were horrid. There was some library MaryTTS (?) that had a poor python wrapper to talk to it. All the web based systems were super stingy in their demo resources and their use cases seemed geared more for TTS phrases that you’d have on a phone menu or something, not a paragraph of prose. I used Watson’s tool for a while before they became very annoying and I abandoned it.

Is there any better TTS Tool people could recommend?
The Toyota Production System (2013)
Same with meth. Anecdotally, apparently users are resistant to respiratory viruses. The expected covid outbreak on the Downtown Eastside of Vancouver never materialized, despite widespread lack of masks and social distancing .

I can't imagine anyone is too eager to do that study. If I was covid health care worker, I'd probably be on a low dose of amphetamines right now. Purely as prophylaxis, of course.
I have always used Octave and never Matlab. The professor who introduced me to Octave some 15 years ago was quite the free software activist and did not even tell us that it was a clone.

Today, I am a heavy user of Octave's linear algebra algorithms for large sparse matrices. I also use Python/numpy for other things, and sometimes for linear algebra too (due to the insistence of my coworkers), but it is much less pleasurable and quite annoying. Also, the linear solvers in scipy are sub-par compared to the state of the art solvers in Octave. Once, we found a well-conditioned 6x6 system that linalg.solve failed to solve!

As an aside, I have never used Octave for plotting, and I hate the gui interface; my use case is 100% non-interactive, using scripts.
FAQ: Security Advisory
The ability to run deep learning inference on cuda, opencl or whatever the browser has access to would be a _BIG_ leap forward to ai in the browser.

Maybe an onnx native binding should be available in browsers and the browser can choose the most performant execution engine at runtime.
You're hastily assuming that they "aren't aware" when they could have simply chosen to avoid redundancy.
283% and still not a single picture, amazing ...
> "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."

This claim is mostly accurate from my experience if amended to "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software as long as you don't do stuff Rob Pike didn't expect."

I'm going to count "run on Windows" and "have non-UTF-8 filenames" among these.
https://en.wikipedia.org/wiki/List_of_countries_by_alcohol_c... You are right! When it comes to pure alcohol /per capita the usual suspects didn't disappoint. But still SK is not doing bad in that dept and still have a 80+ year old life expectancy.
I bought a HIK Vision Vulkan 35mm Pro [0] in the UK recently which refreshes at 50Hz, and I've seen others that can do 60Hz. One nice thing about the HIK Vision is that it comes with a documented API for controlling it via a wifi hotspot.

[0] https://www.hikvision.com/en/products/Thermal-Products/Comme...
First Contributions – a guide to contribute to open source projects
Artificial intelligence will be used in 2021
Wanting to participate in a marketplace doesn’t necessarily imply that you agree with how that marketplace is run in every detail. Especially when it seems that there is one set of rules for Netflix and Amazon and another for everyone else.
I use it often. Even after 20 years of using numeric/numarray/numpy, I still feel more productive in Octave and Matlab. Mostly time series analysis, signal processing, image analysis. Occasional modeling and simulation work. I think for me it’s that octave does it’s job well and doesn’t try to do other things. Python grates on me occasionally since it’s libraries seem to lack focus and try to be too much for too broad of an audience. I like focused, simple tools. I do use Python, but not as my sole tool. I don’t understand he mindset that one tool/language should do everything. Easier for me to learn many languages than one language and have to learn many independently designed libraries.
I'm sure there's a reason mounting by ID isn't the default but that's always been a weird one for me and I make sure to swap it over when building a storage server.
MATLAB/Octave's main advantage over Python is that the syntax for manipulating matrices is way way way nicer. They also have a lot of toolboxes and maths related functions that would really take a long time to find/implement in Python.

MATLAB had another significant advantage over Python. Its plotting support is really really really good. Given how much time scientists spend making graphs it's hard to understate how important that is, or how much better MATLAB is at plotting than Python or Octave (or Julia).
DeFi is really great for entrepreneurs yes: lots of curious users, lots of money in it, lots of VCs, can build on top of other projects without permissions, and no regulations.

And with crypto prices going up we are probably going to see the next DeFi bubble.

If you want to build a DeFi app, You need to learn DeFi development and I have a course just on that:
https://eattheblocks-pro.teachable.com/p/defi-development-ma...

I also have a youtube channel for blockchain dev:
https://m.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA
Yeah, true. I would still consider Clojure a "proper" REPL driven language, though.
I really wany to love OsmAnd, but I'm not sure I agree on the user friendliness yet. First thing user feels is how slow the rendering is while panning. I can't measure it but I'd guess about 10fps on my phone, and the area revealed by panning is all grey for a good while before it gets drawn.

It's fine for a tool, but has no chance to compete for casual end users like this.
Next Steps for AI
Lockheed Martin Executive in Charge of F-35, F-22, Skunk Works Dies
Generalisation is just generalisation. It has usage in my view. I cannot elaborate further without making more controversial comments. For me they are mythical creatures because they are the gateway of life, and I have learned with time to listen and be aware for signals in communication. The assumption that I as a men know everything because of my rational and have tangible results is "overestimation". Women are feeling first, they have a different sensitivity and intuition for things. Thats why I love them, they provide meaningful point of view with empathy (wired in biology and very important).
Sure, if you feel a walled garden improves your life go ahead, but don't be surprised later when the owner of the garden takes advantage of you being locked in.
> I really dislike Matplotlib, so rendering is done in something else, usually gnuplot.

This! My biggest gripe against Python numerical stuff was matplotlib, until I realized that it is an entirely optional component of the stack, and you can plot by other, much saner means.
> I’ve always believed there was something to that.

Wouldn't surprise me, Humans don't have (by the standards of many mammals we share the surface with) particularly great night vision and prior to fire we'd have had no source of illumination but the moon/stars at night.

Basically stay in your cave/shelter til you can see whatever you are stalking/been stalked by.
Ordered by key. If you want to know more read the FoundationDB docs.
Equal Pay for Equal Work
Writing a ray tracer in Common Lisp is an excellent video that helps one understand how live editing aka REPL driven programming works with a Lisp such as CL that supports it from the ground up.

[1] https://www.youtube.com/watch?v=N1oMRw04W3E

edit: fix typo
> Unlike in Smalltalk, I currently know of no tools that allow one to easily edit source code of functions/methods that have already been compiled into the system

Lots of Common Lisp systems support that in some way. Those record the location of the source code together with the machine code. These locations are stored in the image.

For example the standard CL function ED takes a function name and in many Lisp systems this will edit the function in some implementation specific way. In Emacs one uses M-. to get the definition of a function. In those implementation it will ask the Lisp for the location of that function source code.

The one system that worked similar to Smalltalk is Interlisp. See https://interlisp.org . It recently has been open sourced and is in the process of making it more accessible. It's a glimpse into an alternative world of computing from the past.
Previous discussion:

Two weeks ago: https://news.ycombinator.com/item?id=25476266

Two years ago: https://news.ycombinator.com/item?id=18854854

Three years ago: https://news.ycombinator.com/item?id=17047348
And then going one step further and visualizing the change over time https://cdn1.bbcode0.com/uploads/2021/1/3/dbeeb7e12e2eec7bb8...

Source: https://equation-of-time.info/work
> my full-dystopia-mode pixel 4A

What do you mean? I keep Pixel 4A on my buy-list, if/when my old trusty Nexus5X with zero Google services breaks down.
I would say "Why Octave not Julia?" since Julia is specifically designed for the scientific notations and speed, unlike Python.
My stack will outlive yours
Im a dev who just moved to Berlin. Found your website and content IMMENSELY well done and useful. Breathe of fresh air to see how up to date the articles were. Made the German bureaucracy much more manageable tbh. Let me know if you'd like some user feedback on anything!
Nice work!
Can this be also on learnxinyminutes.com (https://github.com/adambard/learnxinyminutes-docs) ?
Lovely dismissive comment from hacker news there.

Gonna start putting hacker in quotes like that n-gate person at this rate. There's some serious tech involved in these virtual streamers.

Make 2021 better.
printf in C makes use of variadic arguments (man 3 stdarg) which Zig does not allow (unless you are using a C function) for safety reasons.
Cloud Gaming: Stadia vs. Nvidia GeForce Now
I’m thinking a SQL console mostly qualifies per the article’s idea of a repl. The break loop concept isn’t perfect there though.

I’ve always liked the python repl, breaking out a django repl and being able to manipulate the db via the api always felt like a super power to me when coupled with the expressiveness of basic python but last year i started dabbling with Clojure. My first “real” repl driven development experience.

2 things stood out for me:

1. You end up with some genuinely useful executable documentation and it just makes sense to me to preserve some of what i did in the repl while developing. I saw this first here: https://github.com/stuartsierra/component/blob/master/dev/ex...

2. Integration with your editor is essential - having a keystroke to send a form to the repl or evaluate in-line is a real productivity boost. It’s like writing code while an intelligent debugger is permanently live. You don’t need to wait for a compiler run then parse the feedback, it’s just instant in-line runtime feedback. “Paredit” is really sweet. I used calva in vs code for this and tbh it’s as attractive as the language in some ways. I have no idea how to meaningfully apply those concepts to something like python or javascript though. They just don’t lend themselves to that kind of structural editing.
I also recommend jupyterlab for a similar experience. I was a hardcore vim terminal guy for 17 years, but now I won’t be going back.

The ability to interactively develop functions in almost any language inside the same environment had been revolutionary for my productivity given my short attention span.
It would have been amazing if we had something like Hayabusa2 at dispatch, could send it up there, catch better pictures and maybe a sample and return back to earth [1] . It „could be“ that it was alien waste but IMHO there are so many assumptions in that research that it‘s close to „everything is possible“.

[1] https://www.space.com/inside-hayabusa2-asteroid-sample-capsu...
> we could have to come with with new concepts to replace &, |, ~, << etc

True, but I imagine it wouldn't impact typical high-level code that much.
Podman solves the UID issue quite nicely with user namespaces.
> And the vendors pay a usurious 30% cut to Apple because there is no alternative.

Fortunately for developers, there is an alternative. Most desktop/laptop computers run some flavor of Windows, which you can develop and distribute software for without paying any gatekeepers.

The situation is a bit different on mobile.
I wonder how many startups were killed solely due to tech debt repayment. I had this sin too. Not that there were too much of debt, but it's unbalanced wish to repay it and stuck with that was the source of never finished refactoring that took enough time to kill everything.
Honestly, I know it's minor, but when I tried Zig the fact I couldn't do the classic for loop to do a "for (int i = 0; i < n; ++i)" was quite annoying. It pollutes the scope, so you need to add scope braces every time, and I find it's much easier to forget the ++i at the end of the while loop.

I understand where it's coming from, but having something like "for (i32 i in [0,n[)" would be so much nicer in my opinion.
> how much better MATLAB is at plotting than Python or Octave (or Julia).

To make sure I’m understanding you correctly, you’re saying Matlab is much better at plotting than Octave? I’ve only ever used the latter, so I guess that would be one reason to consider switching to the former.
Its almost as if Chinese companies are either just arms of the state, or thoroughly infiltrated by state actors! I don't think US-based hardware manufacturers are really any better though.

To me this just illustrates the need for fully open-sourced hardware and software with domestic production facilities.
Chinese woman says malicious gossip forced her out of job
https://www.reddit.com/r/AskHR/comments/kphqzz/ger_mallious_...
Telegram has already got you covered.
Spider and Web is a very interesting game with many well-used devices and twists.

Photopia leans towards the "fiction" end of "interactive fiction". It's very short and accessible.
I know that many implementations record source location, but the source itself is still on the filesystem, not in memory, therefore making source locations useless if we move the filesystem out of the equation.

I also know that many implementations store the forms in FUNCTION-LAMBDA-EXPRESSION, but as I said, I know of no easy way to edit these in-memory forms either. Interlisp has had a structure editor to work with those, but that utility was not ported back into the CL workflow. I hope it eventually will be, with Interlisp being open sourced now.
Mallious Gossip at Work
I always founding importing libraries to be fun.
Reminds me of a time I got banned from BoingBoing for pointing out the very same hypocrisy under FB bashing post ~5-7 years ago.
Or the Walt Disney's company with works by Victor Hugo.
I agree, and I bought plenty of both paid and open source apps in the past. But I find that having the source code offers stronger guarantees than a receipt (some paid-for proprietary software also let me down, if only for becoming abandonware), that's why I only use proprietary software if it's in a comoditized niche with plenty of interoperable alternatives.

For instance, I bought every "simple mobile tool" app (from Tibor Kaputa) on the play store (even though I don't use Google Play, at least they are in my family library), as well as OSMAnd plus its plugins. I also bought some open source games on Steam, such as mindustry. Krita is there as well, but I prefer donating directly to KDE.

I am totally in favor of paying devs, though I generally prefer to make anonymous donations, trough liberapay (unfortunately not tax-deductible) for instance, as a way to cut the middle-man, (I tend to spend more than 600€ a year on free software donations, which is not negligible to me: almost half a monthly salary).

I don't really understand your point, to be honest: ES is "abolutely proprietary" as far as I know, so it won't be available on F-droid. I was trying to come up with examples of proprietary software that changed under me. Source access is a must for me, this is about freedom, not price. I also have trust issues with proprietary software.