skysight-inc/HackerNews huggingface dataset:
People have a lot of misconceptions about security and I think what most people really want just doesn't exist. What we all want is to know that if we set the "correct settings" we have achieved Security. This is just not true.

Security requires monitoring and maintenance. It takes ongoing attention.

I'd venture that if you have a comprehensive security program in place then the port of your ssh server doesn't matter very much.

Conversely, if your security program begins and ends with turning on a firewall and changing the ssh server port, I'd say you are off to a good start but you have a lot more to do if you want to get serious about security.
Yeah. Listening to the lecture is usually hard enough. Notes will only split my attention.
Totally on board with not building software any more. In fact, at 55 this is my last week of it. For real. Basically, everything sucks more about building software nowadays more than I remember it sucking before, from the mere mechanics of navigating through an obscenely large pseudo-object-oriented codebase to the WRONG constructs/idioms people use to build distributed systems to the way software is packaged and deployed to the horrific attitude toward testing or documentation to the biased interview processes to ... I could go on forever. I know some of that perception is mere nostalgia or other effects of my own age, but by no means all and I honestly feel less than half.

Building software was never simple or easy. We've gained a lot of knowledge that makes it easier because you don't have to build quite as much from scratch, but we've more than made up for that by making it unnecessarily hard in every other way. Taking the simplest change from idea to production involves so many steps, and not even the steps that assure it's correct or maintainable. It's feeding the beast we built ourselves rather than the one born of necessity.

I sincerely feel bad for people who have to stay in it. Some day most of you will get over the dollar-induced Stockholm Syndrome that seems universal among junior developers, but by then you'll be stuck on that train to hell. Good luck to you.
Pre-1985 could have been scientific/high performance computing, Cobol-type business application programming, or something defense-related.
> The web is a very poor fit for what most people want designed.

The web is an application development platform that's split into two pieces with a critical security boundary in the middle, which causes basically all of its problems because every web app has to be a distributed system. If you can constrain what you want to build to either a set of pages and forms or a single client-server app that sits in a sandbox and uses the browser as its display buffer, that makes it manageable.

The default (and indeed only) language for the web not enforcing type safety is also a handicap. People will eventually build a shell inside it where compile time type safety can be mostly enforced.

On the other hand, the alternative is worse: a proprietary platform which shifts unpredictably and from which the owner can ban you.
Obviously not, but the point was snide humor.

Do you really not believe there are private companies which sell personal data?
An FBI agent from the Cyber Crimes division gave a talk while I was in college (>10 years ago). He was interested in brute force attacks against SSH daemons and created a couple hypotheses around number of logins and common passwords. To test this he setup two Honey Pot to record all of the username/passwords. The first one listened on standard SSH port 22, the other listened on a random high-numbered port. He left both of these running for ~6 months.

Results:
The honey pot listening on standard port 22 received 1,000s of login attempts (sorry, don't remember the exact number). The honey pot listening on the random high-numbered port received exactly 0.

I know this is just an anecdote and it might not necessarily be true today, but this experiment always sticks in my head. At least the guy used the scientific method: created a hypothesis, conducted the experiment, analyzed his results.
IMO, the continuation to Dunbar's number (theory) is Yuval Noah Harari's theory, as outlined in Sapiens.

That is, early humans were intelligent animals, but limited in our sophistication by Dunbar's number, so to speak. That is our range of social behaviour (and therefore most behaviour) was biologically limited to small social groups.

The Palaeolithic revolution circa 50kya-100kya was (according to YNH) the invention of language and "fiction" sophistication which enabled cooperation and in larger groups. The concept of a "tribe" with ancestors, shared traditions and social cooperation in much larger groups. Much larger groups allow for much more sophistication.

In some sense, he defines human progress as the quality of cooperation in larger groups. Basically culture takes over from biology, in determining effective human social group size.

Social networks are just another advancement in this trend. All these advancements are somewhat pathological, because they're at odds with our innate (noncultural) limitations. Consider how bad we are at "politics" and how "politics" is a bad word. The contrast is decision making in small, tight knit groups.
> The bit I used Julia it appeared you need to be in the third category to do as well as you get in the first category with Fortran.

I'm not too knowledgeable about Julia, though I have done a couple of side projects using it. To my mind, Julia lies in the second category:

Write small, pure functions. If performance is still bad, then profile it and make the functions smaller until the number of allocations is small.

Apart from being sensible engineering practice, I think the above recipe suffices to write fast Julia in most circumstances I could think of.
Nikola’s founder steps down from board as company faces fraud allegations
That is an exaggeration. Don't forget that most "3rd world" countries also have their own pornographically wealthy elites blocking out the top 1%. The differences are in the distribution of the middle/bottom tiers. A remote job gets you at most into what should be a confortable middle class position.
It won’t be long until we witness the first creator IPO
> so much of what annoys us about advertising is ads that are not relevant to us

What makes you think this? That's not what annoys me about advertising.
The great thing about chickens is that they debug your farm for you :-)
Anybody actively monitoring their sshd logs would see clear value in changing the port. It dramatically raises the S/N of those logs.
Is that a new thing? Seem to me that's been happening for like hundreds of years. I've worked at a PR firm and in a Newsroom. I've seen the sausage being made.
The old days pre-2000 were arguably a lot more enjoyable.

Yes. 1 monitor running the editor full screen, no constant interruptions from IM, documentation in books that actually was accurate, programming the actual machine not piecing together other people’s crapware libraries.
ok snowflake. You put your opinion on a public forum. Do not respond with such an attitude. In the context of this discussion, no one cares about your personal feeling when confronted with a feedback of being picky and entitled.

We simply want an exchange of opinions from both columns.
Show HN: I reimagined Notion's interface as wearables
Forces that shape our digital decisions using behavioral science
Investopedia
FWIW, I’ve written lots of Rust, and I’ve only had to use lifetime annotations (which is what I assume you’re talking about) a few times. The vast majority of the time the compiler allows you to elide lifetimes.
Very interesting. In the last year I've been doing backend but I see myself easily leaning to this too for fullstack needs. Thanks for the input
> I have to carry a "dongle bag" with me.

I don't get it. Why a separate dongle for everything?

I bought a U$50,-- USB-C expander with pass-through charging for MicroSD, 2x USB-A and HDMI. Done. Cheaper than a 2 meter Lightning cable in some places!
Nothing makes a "tourist" letter any more likely to be spy-related than any other letter going out of the eastern bloc, say a pen-friend letter to Sweden.

They probably were inspecting all outgoing mail.
> Bitcoin should pay the way for a paid-for internet.

Simple economics tells you that this will never happen. Companies simply have much more money to spend than consumers do.

Indeed, if you ban “ads”, companies will simply invest in “non-ads” to influence your behaviour - fake news, real news (more-or-less thinly veiled PR disguised as news, a la Paul Graham’s “submarine”) or buying whole news outfits (hint hint Bezos).

The only way to stop competition in marketing is to (re-)start competition in product / technology - but that seems a very difficult problem (we’re in the midst of a physics/tech stagnation).
Airpods pro come with a USB-C to lightning cable.
Or dentist.
My needs (or at least my wants) are not at all modest, and I wouldn't go back from USB-C without a really good incentive. With two cables plugged into my MacBook it gets:

Power

1 43" 4K display

1 27" 2160p display

Speakers out

Headphone amp out

Keyboard

Mouse

High quality webcam

SD card reader

Ethernet

8 spare USB ports, most of them USB3

Back in the before times when I travelled into offices for work I was able to sit down at any desk in the office and immediately get access to power, and at least one external display, again by plugging in two cables, and because as a company our IT department has standardised on laptops that support USB-C anybody can do the same, regardless of whether they're running Windows or Mac OS.

The transition period to everything supporting USB-C was a bit painful, but I absolutely wouldn't go back to have a hodgepodge of different connectors needed on my laptop.
I am a fan of both Swift and Julia but I honestly don’t see the point of Swift in scientific computing. Julia is just a way better fit.

However for App development Swift of course has a far more impressive stack.
Its not even obscurity: nmap --script ssh2-enum-algos target.ip -p 22-65535 -v

Sure it takes a while longer, but the interesting attackers -- the ones that target a specific organization, not the ones enumerating whole ip ranges over and over again -- do have this time.
https://en.wikipedia.org/wiki/Inter-protocol_exploitation#Ex...

You could join and spam an IRC server via javascript in the past.

Now if you try it you get something like NS_ERROR_PORT_ACCESS_NOT_ALLOWED.

If you move to a non-standard port javascript can talk to your internal IRC again.
Typography basics and best practices for software developers
It's kind of interesting to me that at least one other notably talented programmer, Glenn Reid, formerly of Adobe and author of "The Green Book" and developer of Touchtype.app and PasteUp.app chose to move on to building furniture by hand.

By way of contrast, I've been trying to puzzle out how to do woodworking programmatically which has been an interesting exercise, since traditional CAD/CAM is quite limited in its assumptions, and the tools which are accessible to me (in terms of them matching how I think/work and having an immediate, applicable preview): BlockSCAD and OpenSCAD are rather limited in their ability to export files (DXF, SVG, STL) --- in particular, I'd like the ability to write out a text file w/ full control over the contents, but that's not viewed as a valid request by the devs.

Making progress though:

- http://tug.org/TUGboat/tb40-2/tb125adams-3d.pdf
- https://willadams.gitbook.io/design-into-3d/3d-project

I just wish it were easier to make G-Code in 3D (unfortunately, I don't find the obvious tool at tplang.org very workable with my approaches).
In the early 1990s and early 2000s web development was a nightmare. Having to test not just in different browsers, but different versions of different browsers, because they had substantially different behaviors. There was no "Inspect element", JavaScript debuggers were entirely absent or incredibly crude. Getting a decent looking web page to render and function correctly across all the different browsers you supported was a real achievement. You spent most of your time fighting browsers, not making actual progress.
none of that is required. chasing fad based development would make you think that it is, but there are a lot of successful products that aren't burdened with all this cruft.
It's digital plumbing, but it pays well. My parents did physical work, and frankly I'd rather earn my keep with a keyboard than with my hands.
I got "reticuloendothelium.com" - any ideas?
Anyone doubting the fintech claim, have a look at this https://www-ft-com.libezproxy.open.ac.uk/content/38967766-ae...

TLDR: Russia's IRS/HRMC equivalent digitized VAT collection (similar to sales tax). Basically every 90 seconds all tills/cash registers across the country report back the sale to the taxman, so you don't even have to manually submit any VAT returns.

Russia started with 20% tax gap between revenue due and revenue collected (while e.g. UK is at 9.1%), and now after this they are on 1%.

My understanding it's almost real-time tax reporting with millions of tills acting as IoT devices sending data up.
I used embedded firebird for a couple projects in the early/mid 2000's myself. Wish it were a bit more popular.
I would have expected steganography in YouTube videos to be the numbers stations of today?
I always liked the scene at the citywide truce where Cyrus said the largest gang in New York City is the New York City police.

An interesting view point I thought and what stuck most with me.

I haven't been able to find that scene again. I've tried a few versions. Seems to have been cut/lost.
And how many of those are going to let you in without at least a decade of experience in the specific domain, and real world experience with whatever guidelines or practices they use (i.e. MISRA for X).
PythonMonday
Posts sometimes get "re-upped" if it was a good post that just failed to gain traction. When it gets re-upped, the time gets reset. I'm not sure if that's what happened here, but maybe.
If you don't sit at a desk all day, it's remembering it that's the problem. Pre-covid I'd often want to plug into a big screen or projector in a meeting room without necessarily having planned to do so beforehand.

Built in HDMI was a huge advantage for me. With my MBP it's a problem, with my ThinkPad - not so much.
> to be valuable

And selling lists of vegans to slaughterhouses is one way to extract that value. Similar for all the other abuses I listed. I assumed it was obvious.
Modern Codeless Test Automation: Myths and Facts
It’s an useless anecdote because SSH bruteforce attempts are not a threat and cost you nothing.
I like the author’s enthusiasm, even if I don’t personally think proof of work blockchain is a general solution (proof of stake blockchain for specific applications is more interesting to me).

I went to the distributed web conference a few years ago (and I was thrilled to have good and long conversations with Tim Berners-Lee and Vint Cerf) but I am losing some interest in distributed web because other issues are more pressing that are only partly helped by distributed web: surveillance capitalism; attention economy; decoupling much of my time from using digital devices; government interference with free information flows; income inequality; lack of social discourse across political parties; etc. For me personally, these are the issues that I choose to address.

A little off topic, but I have recently updated the way I use tech: use freedom.to to make time wasting web sites and apps unavailable for large blocks of time during the day; reorganized my email and calendar to use Google’s services (I pay for ProtonMail and FastMail but I find that compromising on privacy for personal efficiency is better for me - as an author and developer I get a lot of email that I want to process in a personal way, but also be hyper efficient); I leave my iPhone at home, relying on my Apple Watch for receiving texts and calls (when I am out in the world, digital life can be too large of a distraction).

I have tried hard to use Mastodon social, but it takes too much of my time. I give myself about 45 minutes a day to be on HN and Twitter and that is sufficient to get notified of new open source projects, news, etc.

So, morally and philosophically I support people working on decentralized tech, but at the age of 69, I put my personal effort into personal productivity and enjoying life.
Tackling the Awkward Squad for Reactive Programming: The Actor-Reactor Model [pdf]
The plethora of tools to make "devops" simpler and cheaper made it much more expensive.

You cannot simplify something by adding overly complex layers of abstraction on top of it.
Most people complaining are those who actually like Apple devices but now have very less choice if they want to stay dongle free. People who buy thinkpads might mock not complain.
If you're young, you fit in a narrow spectrum of experience with a relatively low upper bound.

If you're old, then the spectrum of possible experience is much broader. You could range from being totally inexperienced to being extremely experienced.

Also, as I get older, I realize that talent plays a significant part (which is independent of age). But there is a huge problem that almost all companies don't know how to identify technical talent; they focus on the wrong attributes like ability to perform under pressure and ability to recall details. Companies should be focusing on a candidate's ability to synthesize information, to rank problems based on their importance and to communicate simply and clearly; that is the real valuable talent.
True, for immediate things having this ability is a godsend. But as software and bugs "dry up", it can get just as hard to chisel out as physical material.
This is so critical to my internet use, I plan to maintain a fork. No new features, no distribution, just minimum changes to make it run on FF desktop.

I don't have the time to do it justice, and I expect others will do a better job of running a project, but it's something I can't work without. Fingers crossed it's just version bumps when new FF versions come out.
I personally think programming is a terrible job. In these threads, there are always people who say "it isn't programming, it is x", where x is "poor management", "the fact that it is a job", "the type of programming you are doing", etc, etc.

It isn't, it is programming. Anyway, I want to go one step further and return to a more ancient living style. I don't want things like artificial light, computers, etc, to be a significant part of my life. The best time I have ever had, even to this day, was when all of those things didn't exist.
Look, software always sucked and has always been enjoyable. It depends on where you are on your personal journey. I've been around long enuff to have suffered true burn-out more than a few time.

When I take the 30K view, in the almost 40 years I've been tinkering with software, people have never had it so good. Super enterprise grade software is available to tinker with, for free, and can run on your freakin' phone. If you want to go super low level and screw with assembly language, knock yourself out.
TLDs proliferated which contributes to weaknesses like this one in BitWarden.
I recently went looking for a USB-C hub and found very few options. Most of them are USB-A to USB-C, but I need USB-C to USB-C (multiple). There are just a handful of options on Amazon, some of which are crazy expensive.
What stands out for me after reading this is the number of civilian lives disrupted to carry out this operation. Whether mass surveillance or moving neighbors, the system successfully rooted out a single mole but paid little mind to the impact that doing so had on the rest of society. Short-sighted strategic excellence can conceal long term self-sabotage and risk.
It’s frustrating for sure but seemingly not affecting profits so not a problem as far as the business is concerned.
I got used to the dongles, I just use the threeway adapter (USB-A, charging, hdmi) and USB-c Ethernet card and it's enough for me.

I know that people here on HN love bulky machines with lots of ports, such as Thinkpads (especially older variants), but I love a small thin laptop, even if it has lower performance. Also, dongle situation allows me to mix and match which ports I want to actually use, rather than have all of them "just in case".
I'm a mechanical engineer in aerospace looking to move to software. I like the idea of setting up an office at home and working for myself. Is software really this bad, as all of the comments here suggest? Should I make the jump to software from a career in which I have a decade of experience? I just find aerospace boring, unimaginative, stressful and low paying, and if I could work on just building code for web apps or whatever, I'd much rather do that, even if the pay was 'only' 50k per year, but with the benefit of working for myself.
It was only offered in certain types of secondary school. Mine was considered 'posh' and so we wore blazers and learned latin, whereas other schools didn't have blazers and offered 'trade' subjects.
This is a privileged position to take. IT is one of the very few ways to have a relatively decent life in my third world (well, technically second world) country, especially for those of us who can't rely on nepotism to put them in a comfortable place.

Sure, I can go make furniture out of wood for $150 a month (and I did at some point in my life), but I'd rather keep my cushy lifestyle and stare at a screen for 16 hours a day, thank you very much.
Abstract:

Reactive programming is a programming paradigm whereby programs are internally represented by a dependency graph, which is used to automatically (re)compute parts of a program whenever its input changes. In practice reactive programming can only be used for some parts of an application: a reactive program is usually embedded in an application that is still written in ordinary imperative languages such as JavaScript or Scala. In this paper we investigate this embedding and we distill “the awkward squad for reactive programming” as 3 concerns that are essential for real-world software development, but that do not fit within reactive programming. They are related to long lasting computations, side-effects, and the coordination between imperative and reactive code. To solve these issues we design a new programming model called the Actor-Reactor Model in which programs are split up in a number of actors and reactors. Actors and reactors enforce a strict separation of imperative and reactive code, and they can be composed via a number of composition operators that make use of data streams. We demonstrate the model via our own implementation in a language called Stella.
The unredacted cables were already available online before 1 September 2011, because two Guardian journalists published the password to the encrypted archive.

The Guardian continues to deny its responsibility for making the unredacted cables available. It says that people at the Guardian believed the password to the file was "temporary" (how does a password to an encrypted archive stop working after a given time?), and that WikiLeaks should have deleted the file from the internet (it was already mirrored on different sites beyond WikiLeaks' control).

I'm willing to believe that people at the Guardian were just technically incompetent and didn't know that publishing the password to the archive would make it available to everyone. But denying responsibility after the fact is just malicious.

> Leigh has always said this is nonsense.

The password is in the book, for everyone to see. Why do people lie about things that are so easily verifiable?
> > It's not like any random software developer can go remote and compete with the rest of the world

> This is actually becoming more and more of an option.

To do this though, you generally have to know how to market yourself, put together proposals, gather requirements, design and project manage, on top of coding. Not every coder is good at this or wants to be.
Fighting burnout: Start with a well-planned week – The Enterprisers Project