skysight-inc/HackerNews huggingface dataset:
I am not sure I understand your differentiation of explicit and implicit state. I believe you refer to Objects that change their internal values over time; in that calling the same function twice yields different results. Of course, such objects can be a pain to use.

Objects are all about making state explicit. Constructors connect different primitive values to a higher order concept, goal or task and checks invariants; The object's class gives the primitives a type which IS a form of state. A Year(2005) could guarante that the integer is > 1970; an int can do that on its own. 'hello@example.com' is not just a string; it should be an Email address and modelling this with an explicit class communicates state: that string is not just any string (all of Shakespeare's work in mandarin in base64) but a specific kind of string (an Email address). The mere existence of a valid object then communicates state, as do all types. I'd argue: Objects are all about making state explicit.

Still, it is really easy to abuse objects and make state implicit as you described above. I would argue that getters and setters are plain wrong to begin with, but that is a nother topic.

For example, if you do `Wallet.pay(amount)`, Ideally, you should get a new instance of a Wallet with the reduced amount, instead of reducing the internal credit variable. For many, this seems to be the wrong kind of modelling though, because when immitating the real world, you don't copy-clone your wallet physically when tipping a waiter.

Objects can and should be created immutable, but then, sometimes working with state is fine. For example an iterator (calling `bookmark = Boomark(book); bookmark.next()` a hundred times gives different page each time).

Imagine OpenGL; you send a lot of data to your graphics card and then tell it what to do with that data. Sending data is quite expensive. During rendering, you tell the pipeline what buffer to bind and what to draw at a single point in time (i.e. a frame). This is easlily represented by objects that keep track of the state. Your object-graph just remembers what buffers are bound. I, too have seen tangled and messed up designs; but I would still argue that thinking in state (my change does not go away) is intuitive for many people. Why not model systems that work like this explicitly? Shoehorning this into stateless pipelines can be quite difficult.

The problem isn't functions or objects (thats just fancy pointer syntax really) but that noone has figured out how to modell processes that work on symbols that change over time properly.

We won't fix this issue here; let's agree that we all like our state as explicit as possible as to avoid surprises and relieve or working memory.
Fact-checking is protected free speech. Introducing fact-checking links are one of many remedies for external meddling that social platforms have done since last election, ie. to combat "fake news". This juvenile reaction from a president is working against the population making informed decisions made up of facts, not manipulative deceptive made-up unsustantiated statements. As the president also tries to suppress voter engagement, one might even conclude the current administration is working as if anti-democratic as well. The intentions seems to be; to work for oneself and fire everyone else.
So I wonder about legality of it - devices that interfere with wireless communications are illegal....so what about a device that says that it does, but in fact it does not? I guess the description is crafted in such a way that it doesn't actually say it interferes, just that it "harmonizes" the fields, whatever that means.
+1
Your right, that was a glaring oversight and does also play a big factor.
I honestly don't think people have ever used good WYSIWYG editors.
Sorry bro. I am a college student in India and that's just my observation.
Just as an addendum to this, HN provided a great example. This whole post just dropped off the front page and isn't showing in the top 3 pages of results.

It could very much be argued that they curated the post, and if they're responsible for removing it from the front page , is that a form of censorship...
Hm, I was always under the impression that not understanding a physical system is the root cause for such technological fears. Clearly quantum mechanics are in the same realm.

But maybe this can be used as a cure for many fears? I mean multiple studies have shown that the root cause for fear of flying comes from not knowing or understanding how a plane flies. I mean sure, it clearly does not flap its wings, so it might crash any second? But some quantum-stirred and fossil-entangled jet fuel might help.
Study shows erosion of ozone layer responsible for mass extinction event
I became a Demon and my parents didn't know – YAWABASE
There are a few places where you might want to capture state in an object and have one or two functions that operate on it (Command pattern is one such place). However, a long, complex function where you want to hold internal (i.e. temporary) shared state is a place where you want to avoid this (IMHO).

Imagine that your entire program is that long, complex function. It gets some data from somewhere (it doesn't matter where), processes it, and outputs it somewhere (it doesn't matter where). Once it processes the data and outputs it, the program is over.

Imagine that we didn't use a class, but still wanted to share the state so that all of the functions in our program could use it. Well, that's easy. We can make global variables in our program and then we don't have to pass parameters, or worry about the data flow in our algorithm. It all seems much simpler.

However, this is usually something that we wish to avoid as programmers -- shared state. It couples functionality and it makes it hard to reason about how the function operates. Ideally, we would like to make functions "idempotent". This means that with the same arguments passed to it, it produces the same output. This makes it easy to test: we just call the function with different arguments. It also makes it easy to reason about when debugging. You only have to look at the data that was passed to the function.

If you have shared state, then you need to be careful to set up the state to what you want before you test something. If it is really complex, then you may have some state that depends on other state. When you are debugging you have the same problem: how did that state get set? It is hard to isolate the code that is wrong. You have to single step through the entire program to understand how the state is constructed.

What is usually better is to write idempotent functions where everything it needs is passed to the function. This means that you have to think harder about how to design your code. It is more difficult to write because you can't just grab the data you need. You have to think about what part of your code needs what data and what parts shouldn't have that data. You may have to refactor your code numerous times to ensure that you can meet changing requirements.

The upside is simpler code that is actually easier to work with in the long run. It's easy to test. It's easy to debug (usually you don't need a debugger at all -- especially if you have tests). It's easy to modify because all of the state is explicit.

Even when you are writing OOP code, you should consider this as it is key to writing more simple code (at least IMHO ;-) ). It is often said that the most important thing you can do when refactoring code is to remove global state. By far, this will have the biggest impact on improving the design of your code.
Well, unless you're doing tech work for the banks and exchanges, in which case going anywhere else in the UK except London would be silly.
As a kid, I used to love doing "document.designMode = 'on'"
Ask HN: What is your blog stack?
Micro is more suited for people that are used to the Windows/Notepad-CUA workflow (Use Ctrl-C for copy Ctrl-V to paste, Shift-Arrow to select, etc.) and want to use that workflow inside the terminal instead of a full blown GUI application.

If you are already learned how to use vim Micro doesn't make much sense.
> we should do all the other things Sweden is doing for their citizens ASAP

I hope not. Their treatment and forced castration of autistic people carried on for most of the last century was horrid.
Glasto is renowned for being a bit different:

"Mr Hall said his remarks in Glastonbury Town Council's 5G Advisory Committee report should not be seen as a recommendation to buy the product. But he had no regrets about buying it and since plugging it in had felt beneficial effects, including being able to sleep through the night and having more dreams." "I also felt a 'calmer' feel to the home," he told BBC News.

It's reassuring to know that your taxes are well spent on ensuring town council members can get a full night's sleep by buying a sticker.
>Our used cars go for peanuts

something to do with steering wheel being on wrong site making them useless to all of EU other than for parts.
Again, i don’t disagree. I am asking how you would enforce something like that? Who gets to decide what’s wrong? I certainly hope it’s not Twitter.

My argument is
Twitter is a private company.
While private company should be able to control what happens with their platform, they have increasingly reached a size where they are public utilities.
I believe an elected government (with its own biases) should decide what goes on a published platform than twitter. Because i have no way of questioning Twitter’s decisions. I can question the government and elect a new one. I can’t elect a new Jack Dorsey.
https://en.wikipedia.org/wiki/Combined_Communications-Electr...
https://jamanetwork.com/journals/jamainternalmedicine/fullar...

https://blogs.cornell.edu/info2040/2014/11/12/doctors-dont-k...
This is a case where you should read with care, and notice the difference between Gb and GB. The chip from 2013 that you mention, has a capacity of 8Gb = 1GB. Chips with a capacity of 16Gb are indeed very common, because manufactures put 8 of them on a RAM-module with a capacity of 16GB.
German firm introducing game-changing solar-wind-wave energy platform
Yes, still going and interestingly enough, so is dataease. Though the old secret dos debug system in dataease is probably long gone (hold down ctrl and type debug and you'd get hidden developer options). Software today tends not to have as many hidden gems like that as yesteryear, bugs perhaps but hidden features, less so.
The GPU Database Evolves into an Analytics Platform
You could use both GUIs and CLIs in the same program. It has been done this way in CAD since the old days.

E.g Most people today do not know that Autocad started using text commands for everything you did with your project(in DOS).

Those commands were interpreted in a dialect of Lisp(AutoLISP). First those commands were organized in menus, then text was replaced by icons, but the commands were there if you wanted to use them.

So you can use Rhino3d with both the GUI or the CLI. Or in blender3d, each GUI has a corresponding command you can use in Python.

Apple wanted to make it generic behavior for Apple apps with automator but most developers refused to make their programs scriptable.
I’ve always had a bad vibe about duckduckgo
> - It has a bus/lottery factor of 1.

What was Rusts early years like? Was it one developer for the first part?

I'd imagine this is not a big deal in the early days, where the benevolent dictator is as much the language as the project itself, not all technology adoption happens on the same timelines. Matz with Ruby took a long time to become super popular, Rich Hickey with Clojure seemed to be a powerhouse even as that found quick adoption before stalling.
FAQ on their own site: https://help.duckduckgo.com/company/advertising-and-affiliat...
JavaScript by itself isn't evil. A static web site that uses JavaScript to let the user do everything on the client provides more privacy than an old-school web site with CGI scripts and forms.

I've been playing with this idea recently. If you want to provide access to a database which is infrequently updated and no bigger than a few megabytes (like the catalogue of a library with 30 000 books), then provide the database with the web page and implement the search function in JavaScript. If you avoid using a JavaScript "framework" then you may find that the web page responds to your typing so instantaneously that you feel like you're back in the 1980s using a Z80-based machine. (You remember those Z80-based word processors that could keep up with a competent typist?)
Also hoping you move towards recovery and it sounds like you have good people in your life to support that.

I would say that a festival (even small and friendly) is possibly not the ideal place to take psychedelics, unless you're very experienced. If you are particularly prone to paranoia, it can surface with psychedelics (even Cannabis) even in good settings.
If you read the article carefully you will hear a quiet sniggering in the background.

Devastating.
Heh, this reminds me of my discovery, circa 2001, of a content manager who'd created a workflow for editing a key landing page:

1. visit page in prod

2. use browser's "save complete page as..." feature

3. edit the resulting HTML

4. SFTP her edited version to the server (a 3rd-party landing page SaaS platform)

She published changes this way for weeks (months?), mutually oblivious to her colleagues' standard workflows, before I tracked this down as the source of the mysterious "problems" with the nascent homegrown CMS used by the content team.
Unfortunately POE is still external on the Rock Pi 4

A carrier board for Compute Module with just POE / ethernet, USB ports and and SD card slot would be good enough too

I literally want same form factor as the Ubiquiti board but with open source support, and sufficient power to charge a phone from the USB port

Orange Pi Zero is along the right lines but doesn't have enough RAM for my needs and I'm unsure about the processor

http://www.orangepi.org/orangepizerolts/
I am going to build my own search engine but with a monthly subscription fee. No ads, no tracking and I don't keep logs of your activity. So across between a VPN and a Search engine!
http://www.arngren.net/
I wish the prefix cyber- would become popular again.
"Cybercourses" sounds much more interesting than "online courses"
If you mean Supreme Court decisions, then yes, obviously.
Maybe I'm overlooking something, but that sounds like it's not possible to both debug legacy browsers and reap the benefits of this approach at the same time, defeating the point.

(I presume that people supporting legacy browsers generally have to deal more with their website breaking on those browsers than with things breaking on modern ones)
Covid-19 Brings a Reckoning of Layoffs to Silicon Valley
My bad, sorry for that.
Unfortunately, this is not the case as soon as you add grouping! To properly express regular expression with grouping, finite state automatons are not sufficient and you need the theory of transducers which does not admit the same properties (in particular regarding to determinisation).
Ask HN: Do you review candidate's GitHub repos before giving an interview?
Hello HN. I'm working on a hiring app that cuts the time spending on profile review. Just want to do a quick survey to verify my assumptions.

Do you check the candidate's GitHub or gitlab repos before offering an interview opportunity? Or would you prefer to make a telephone call straight after approving their resumes?

If so, do you feel annoying to open the repo links one my one from your email or ATS?
> you can't just pass functions to F1 or F2, they have to be objects.

Why?

https://godbolt.org/z/2kJsT9
I admire the initiative but there is no way people will pay for a search engine.
It's certainly not a single country right now, but the direction over the last few decades has definitely been more towards a union than away from it.

Let's not forget that it took even the USA several centuries and a civil war to get to a mostly unified country. Even then there are vast differences in culture between states. If (say) California and Texas wouldn't have been part of the USA right now, I doubt they'd choose to merge into it.
Lots of open source services springing up...that only run on CosmosDB.
Engineers are hired to deliver and produce value. Tooling can be a part of it but if you can outsource something which is not your source of income, you have to do it. Engineering time is more valuable.

I also know many startups and small companies investing 5 people and 6 months to get an observability platform up and running while they could just get datadog or new relic for half the price... and I don't get into account outages and updates to the platform.

I remember a recent uber blog post on how they moved from build tool A to build tool B and a couple of weeks later, 3000 people where laid off. It's important to spend development time on revenue streams.

This is some nice piece of advice
https://nav.al/build-a-team-that-ships

"Outsource everything that isn’t core. Resist the urge to pick up that last dollar. Founders do Customer Service."
Human Spinal Motor Neurons Are Vulnerable to Cerebrospinal Fluid of ALS Patients
To get your article pre-written and ready to publish the moment embargo lifts.

As opposed to the other tech bloggers who will have a scramble to write it after hearing about it with the rest of the world
If you trust ANY USA based company with privacy, then you probably learned nothing from the past, or present:
https://en.wikipedia.org/wiki/CLOUD_Act
How "offline" is the offline mode?

Will it contact servers to sends statistics and samples when back online?
Not just bank fraud, but physical theft of prototype equipment from a US research partner.
If they say that, the lack of a battery on disassembly could make their claims provably false rather than obviously false.
Julia's ahead-of-time compilation story is not great. If you just want a single executable, it's kind of a pain, and there are all sorts of caveats. I think it's slowly getting better, though, but the language really wasn't designed for that use case. If I needed run-time metaprogramming/JIT compilation/a REPL, I'd go for Julia. For a single executable, I'd choose Nim.
Tldr:

DuckDuckGo is profitable

- mostly by keyword-based search ads

- also by affiliate links to Amazon e.a.
And how is this related to the linked article?
It's not often any more that when I search for an image that Google Image Search is my last stop. I use DDG, so when I need an image I try any of !gi !bi !yi or just !i

Generally Google Images are the worst.
And that vtable depends on the type, not the value.
Indeed! This is a very pleasant site. And very happy to see no analytics/tracking. Excellent example, thanks.
The inspiration does certainly seem quite strong.

Geez even the wireframe graphic thing is the same.
Netlify Plugins
micro > nano
In this case you can use a namespace too:

std::cout << tc::count(4, 7) << '\n';
I suffer from diagnosed generalised anxiety disorder (GAD). Weirdly that second trip was actually much more relaxed and enjoyable during the trip than the first alone with just my wife on the canal boat, even if I did almost pass out at the start.
Timeseries database: Warp 10 release 2.6.0
This effect is called hypergamy and it's always been around. Tinder and the likes just exaggerate it. It's sort of like increasing wealth inequality but for men's dating. There's been genetic studies which show that most women that have lived procreated, while during some periods most men did not. Upside is that if you belong to the top 5% of attractive men this is the best time to be alive :)
> Websites modify user content all the time.

Not manually though. If you post a link to Twitter, a bot will do its thing and fetch a thumbnail. They will not do that only for some tweets but not others.

> if you change your website's theme or design in future, you modified all of user content as well

Hardly, but more importantly: you don't modify user content based on the user content in question. If you add a new script that will uppercase the first letter of all Tweets, you're altering user content, but I doubt there will be an argument about editorializing since you're applying it to all content.
REST is the architectural style of the web, so returning HTML is the primary use case.
Yes, access to mutable members should be synchronized in const methods.
Here's one live example: https://www.tujavortaro.net/
SpreadPrivacy is an official DuckDuckGo blog too.
I love Dillo and its philosophy. It's snappy like few other (currently maintained) GUI applications. I wish there was an e-mail client with the same goals.
Instead of digging into the distant past and guessing intentions, one can just fact-check them and make informed decisions at elections based on facts, not self-serving unsubstantiated claims. One needs to use a first filter first.
Not that I'm going to be the average user here, but I'm desperate to pay for a search engine that works like I want.

I've lost so many hours on google that the cost would make itself up. Just yesterday stuck in another gRut, looking for "what is X" to receive nothing but "how to implement X!".

Valuable hours lost every week. I'd happily pay for a search engine that just got it right.
Certainly. And I hope same thing happens with nim. All I'm advising against is people betting their livelihood on nim reaching critical mass before a single unexpected event happens that removes the benevolent dictator from the picture. Or at very least be aware of it and make an informed decision.
Social media companies don’t have to be politically neutral to moderate content
> There's a tendency among hardcore europhiles to blame the nasty british for all questioning of the European ideal, as though if it weren't for perfidious albion Europe would be of one mind.

Perhaps, but that was not what I said at all. What I said is that the UK always chose to not participate in the project, and that the project went on without it. Now, with Brexit, the UK government is openly hostile towards the EU. This is just a fact. Another fact is that the EU was able to maintain a united political front when faced with Brexit (which posed -- and was meant to pose -- an existential threat to the EU). So the reports of EU's death may be premature, as the cliché goes...

> This completely ignores both the deep euroscepticism felt by many people across the EU

Well, I haven't. On the contrary, I said that it is a very hard and incomplete project, and that it was considered impossible by a lot of people every step of the way. I also mentioned that it is among the younger generations that a European identity is growing. Not established, but growing.

> and also ignores that other countries have differing opinions to France and Germany too

Well, I ignored none of that. You just assumed it.

What I think is undeniable is that there are vested interests in the collapse of the EU. The EU is composed of many small countries, that could be much more easily pushed around if not acting as bloc. Naturally, those who would indeed like to push Europe around dislike the EU. With the stance of the current US administration and of the post-Brexit UK government, it just so happens that in the current year of 2020, a lot of people with such vested interests write in English.
Show HN: Python on iOS Native Apps
Get used to it, this is going to be the bulk of the "Linux" users from now on.

Edit: Imo not a bad thing, it's just how it is. A lot of people will learn (of) Linux through WSL. Linux as a runtime.
WebAssembly not gonna give you access to syscall that are simply not there in the Web API
I've been thinking the same thing lately, though I didn't know about the NexDock project until I read your post. My dream would be something like a modern-day ThinkPad X61 or ThinkPad X220 for its durability and its keyboard. However, it would have an upgraded monitor (I would like something better than 1024x768 or even 1333x768), and it would be connected to a Raspberry Pi 4. Any time I want to upgrade, I just upgrade the Raspberry Pi while I keep my laptop chassis.