skysight-inc/HackerNews huggingface dataset:
I would reserve the question of ethical A.I. until we are approaching strong A.I.

As of now, where A.I. (specifically ML/DL) is mostly used to solve isolated problems the question of ethics is more about the use of the technology. Technology itself is ethically neutral and the ethical framework is provided by the people that use it (and arguably implement it).

I also feel like ethics if A.I. posts/books etc. generally focus too much the bad use case and not enough on the good use case. One can find a lot about the potential issues of autonomous vehicles killing someone in a crash or A.I. surgeons cutting an artery but the other side of the coin is usually under-investigated. How ethical is it to limit autonomous vehicles if they are statistically more safe than human drivers. How ethical is it to put regulations on the use of automated ML in medicine to scan for cancer and require a human to sign off if the human is statistically more likely to make a mistake.

Not trying to argue either side but I think the "how ethical is it to not use A.I." case is under-argued.
I remember a story from my dad that one of he and one of his friends use to eat at this one lunch time all you can eat buffet in the 80s. Unfortunately, one of his friends spoiled the deal by getting more to eat, he even asked the restaurant staff for a bigger spoon. In the end, they were banned (even though my dad I think had only two plates since he had a busy day ahead) from the restaurant.
How to Become a Centaur (2018)
I have a normal European detatched house with 2 bathrooms. I find that stressful and expensive considering the cost of renovation. Say you do it every 15 years or so. (Yes I realize it would last longer of course, probably want to do it after 15 years or less, especially if you plan on selling). The going rate for bathroom renovation here is $12-15k for small or cheap standard rebuilds, up to $40-50k for large or higher standard jobs. Normal standard and normal size is probably $25-30k. For most people this is a years' pay after taxes. If I had 4 bathrooms I would have just doubled my cost.
They used to be pretty bad, but with time I think they've gotten to be just fine.
Haven't tried the new MOO. I remember enjoying MOO and MOO2 back in the day. And of course, Ascendancy! But would I have the patience to play them nowadays? I don't know...
A visual memory test game
What is the actual social impact of the flat earth thing, though? Is flat earth creating new nutjobs? Does it really have the power to draw from the ranks of the rational, or is it drawing in people who would have fallen for something absurd eventually? I'd be curious to find out what social conditions predispose people to believing it.
If you really want to learn Elixir, you should learn enough Erlang prior, to get a better understanding of how Erlang/OTP all fits together. Thus, I would recommend the following structure:

1. Read Joe Armstrong's Book: Programming Erlang to learn the basics and the philosophy behind Erlang from one of its creators. [1]

2. Read Erlang and OTP in Action to learn more about the OTP (Open Telecom Platform), applications and gen_servers (which btw, you will find them all over).

3. Learn Elixir, perhaps from one of the books Elixir in Action [3] or Programming Elixir. [4]

4. Finally, start implementing your cool personal project.

Ah, one more thing: Elixir School is also a wonderful resource with tons of information and examples [5] and of course the official Elixir website with its excellent docs. [6]

–––

[1] https://www.amazon.com/Programming-Erlang-Concurrent-Pragmat...

[2] https://www.amazon.com/Erlang-OTP-Action-Martin-Logan/dp/193...

[3] https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/d...

[4] https://www.amazon.com/Programming-Elixir-1-6-Functional-Con...

[5] https://elixirschool.com/

[6] https://elixir-lang.org/
performance first? accessibility first? mobile first? security first? correctness first? ...

There can only one thing come first, that's the definition of the word "first". You know what I do? "refactorizable first". Keep your code in a state that refactoring things is relatively safe and then you can work on the problems when they appear.
Leaked documents expose Avast antivirus subsidiary selling web browsing data
Yes, amazing stuff:

(1) If we have a rock, can we expect slowly by small modifications to make it into a hammer?

(2) If we have a horse, can we expect slowly by small modifications to make it into a Model T?

(3) ... a mechanical adding machine into an iPhone?

(4) ... a log cabin into the Empire State Building?

(5) ... a pocket knife into a computer numerically controlled milling machine?

(6) ... any software from the earliest operating system or simplest application into to all the software we have now?

Especially for software, we believe that lots of little modifications will lead to technical debt, need for refactoring, to throwing out and starting over with a clean sheet of paper, to "plan to throw one away because you will anyway". In software, often it seems that there is no reasonable way to get from here to there and, instead, have to start over.

Well, with DNA, on this planet apparently the first version of life
able to reproduce at all significantly was based on DNA, and all versions of life since then, including us, have also been based on DNA. Moreover we got here by small modifications of the DNA.

So, maybe the point is, DNA is not really life but just a design for a life, not a species but just a design for one. And we do believe that easily enough we could go to an architect and building engineer with standard tools for generating blue prints and doing the engineering for buildings, and they could use the same tools for a log cabin or a floating city.

Okay, but for life there hasn't been any design means, hasn't been any alternatives, other than just DNA.

Moreover, the simplest design tools for life have also been sufficient for the life to understand the design tools, life, the earth, and the universe.

Moreover, we are about the first, one of the first graduating classes of life that understands DNA, life, ..., and the universe: It's been about 14 billion years since the big bang, and our solar system was made about 5 billion years ago from the results of exploding stars that grew and exploded in the first 9 billion years which is not much longer than it took for the first stars to form and explode. So, apparently to get life able to understand the universe had to take about 14 billion years from the big bang and we are among the first instances of such life.

YMMV, but looks amazing to me!

Hmm ....
With a house like that, you're probably doing a fair bit of entertaining. You're going to be glad you have those extra bathrooms when you have 60 party guests.
https://www.dannyguo.com/

Built with Hugo: https://gohugo.io/
Versatile strategy for making 2D materials
The best toilets I've found yet are the Australian ones; the pipes are huge! I can't imagine ever clogging one.
Fairly sure later versions didn't include ResEdit, but you could also set them via AppleScript in a pinch and they did ship with Script Editor
An Ethical Minefield
Using performance as a synonym for only runtime speed doesn't feel satisfying. Shouldn't we include quality of results, such as correctness and fulfillment of requirements, in the evaluation of whether a program performs well?
Tampons and "flushable" wipes that aren't really
A Simplified Jira Clone Built with React/Babel and Node/TypeScript
No I'm not. I always disclose it when I'm associated with anything that I promote.
> "What's the equivalent of this in the distant past?"

There are so many versions depending what time and what place. If its an elder in ancient times then what they say is the truth. If its in a caste society then the truth is determined by your blood. In chivalry, truth is based on reputation. 19th century truth is written in a book. 20th century it was written in the paper. World war 2 is a period where truth was what was said by leaders, both political and scientists. Post world war 2 until 21th century and truth was anything said on the TV (in many places a single channel).

With the exception of the caste system, I would say that there is a need for a healthy balance between trust and distrust. It also seems that balance generally will occur after a while, but not before a lot of damage happens. Deep fake in that sense is not ushering in a new dark age, but it will likely take a bit of time before people find a balance in how to perceive video evidence.
I think author also optimized the time it takes for users to click `ctrl+w` from his side. That yellow background is terrible, it gave me a headache.
Similarly, as Jeff Atwood put it: "performance is a feature"

https://blog.codinghorror.com/performance-is-a-feature/
TL;DR: Ethics is subjective. I'm always surprised that people don't find that obvious.
Some of it is age. I only have one bathroom in about an 1800 sq ft house. Presumably the indoor plumbing was added at some point. But, while a house that size would have 2 brs today, there’s just no easy way to add one and I don’t need it.
I like Duolingo because it's easy to get going and quick to take lessons during my free time.

It's easy enough to get going and hard enough to feel like you're doing something but not so much you give up.

The points system, scoreboard, and email prompts are a good way to encourage you without being annoying. The ranked scoreboard really has me wanting to stay there and compete to stay in the top 10 each week.

One thing I miss is the speaking option. Not all languages offer it but some did and that option seems to be missing or at least on my device it is.

Another problem is some languages are hit and miss with pronunciations if there are few native speakers. I know there are computer generated voices but sometimes there is no sample of the words at all (Irish being one example).

Anything that gets people interested in languages is a good thing. Duolingo may not be perfect but it's a popular and easy to use app. We unilingual English speakers need to get to with the times and learn at least one second language, maybe even more.
If you insist! https://www.stevesque.com/
I'm not sure if performance has to be first. One could for example do proof of concept style of work with some higher level language before starting to create the actual product which then should also take the performance aspects under consideration.

I think we actually waste a lot of energy by not encouraging our selves to pay attention on the performance. Nature sort of demands efficiency in long run. Yes?
What is 'request pinning, request tracing, request shifting'?
This article makes a strange assumption. That you know perfectly the end result before starting the process, which is a rare case in my experience.

Normally, a product will start with a small feature, and all sorts of random stuff will be added to it to make it grow. Some of them will be abandoned, as they'll fail commercially, and some will expand as they bring money or attention. Creating an architecture that can allow that kind of expansion without crumbling over tech debt is the challenge.

Ultimately, some programs can be reduced to a simple operation, and that can be designed from the ground up to be really performant. Something like the silver searcher (https://github.com/ggreer/the_silver_searcher) or ripgrep (https://github.com/BurntSushi/ripgrep) have the advantage that they have laser-focus in what they want, and designed to take advantage of that. Most of the developed software have way broader objectives.

The important part of "premature optimisation is the root of all evil" is PREMATURE. Don't optimise things that is still uncertain that required to be optimised. When performance is critical OF COURSE optimisation is a requirement.
You have that many friends that the police have beaten one of them up every single time you return home? I don’t mean to be rude - I’m sure there’s a kernel of truth here and I’m sorry to hear you’re in such a bad situation - but I just can’t believe this is true as stated.
Yeah I think if you want performance, the more important thing to do from the start is focus on loose coupling and separation of concerns. The idea is that when you do want to optimize performance, you want it to be easy to isolate critical sections, measure them, and make improvements. Premature optimization is just going to make progress slower, and you might not know what bottlenecks you will end up creating until the project is farther along.

There are also some basic things you can keep in mind from the start: like if you need predictable performance then you should avoid choosing a language with stop-the-world garbage collection.
The colours of this page are an unfortunate choice tbh...
This is a very good point. In many projects, performance is not just relevant. Of course it makes sense to follow good practices and not make things slow on purpose, but thinking a lot about performance when it is not exactly a goal doesnt make sense.

On startups, I think there is a fine balance. You have to focus on many things, performance might be critical or might not depending on the business case. You have to think about where to spend your focus.
The singular of species is species, not specie. The only person who gets a pass on that is Vincent Price during his monologue at the beginning of the Alice Cooper song "Black Widow", and that's only because he's Vincent Price.
It's not just the aggregation aspect or the built in audience that the centralized platforms offer. It's the simplicity. It is very easy to "publish" your own content.

Following a 90/9/1 rule [1], where most of the users are consumers, it becomes difficult for "average" people to contribute content when you've raised the bar so high that they need to have a personal site. That level of overhead will hinder many people. It's not just the technical aspect either -- just the problem of choosing a color scheme or layout is a roadblock to many people. When you can just type a post into a short input box or in a webform and just let Twitter and Facebook worry about the "publishing", that's a much lower bar to cross. And when you lower the cost of entry, you'll have significantly more participation. I think that's the main draw of the current centralized services -- the bar of entry is low enough that the proverbial mom or grandmother can now use Facebook (or whatever) to post their own content.

Unfortunately, that leads to one of the downsides of the centralized services, which was your point. Now that 9% of people who want to contribute content and learn about how to do it (design their site, wire up the services, etc...) now don't have as big of a potential audience.

Which I guess we have the same point, just from different angles (consumers vs producers).

[1] https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture)
https://eigenfoo.xyz/

I mainly use my blog to motivate me to learn new things in machine learning/data science. It's been a pretty effective tactic!
I picked up a codebase where people were optimising for performance throughout the development it's now very hard to change or refactor because there are preemptive performance optimisations and caching everywhere (front and backend).

It makes far more sense to create an extensible solution and then identify and fix the bottlenecks as the vision about the "final product" (or version x) becomes more clear.
What do you dislike about it?
I work on systems where speed is a requirement, and this think-about-speed-from-the-beginning is the way to proper way to do this.

I've also been parachuted into projects that are having performance problems, and usually you can find some nice low hanging fruit. But there's usually some crucial poor-performing part that can't be made faster without a complete rewrite that uses a entirely different algorithm and data-structure. And then it becomes clear that doing so would impact all the other code; basically, its unfixable because of early design choices.

Most of the slowest programs I've had to crawl into have been 'designed for web scale' nonsense from the beginning, and die a horrid performance death through premature distribution and the use of 'scalable' nosql technologies that were much talked about when the project adopted them but now are rather out of fashion, thankfully. My experience is that ipc is bad for performance and having a system on as few boxes as possible is good for performance, which seems to be quite the opposite to the system architectures that were all the 'web scale' rage this past decade.
I think of performance in a different way: "don't do stupid things" is my mantra. In other words, while not focusing on performance right away, I avoid doing stupid things. This lets me produce software which runs surprisingly well, spending very little time on improving performance.
All the performance in the world doesn't matter if your software doesn't work, doesn't do useful things or isn't complete.

Plenty of good, useful software that is well used is kind of slow. I don't know anyone using anything that's very fast but incorrect or unfinished software.
Sure, the SAT -> ILP is small but the reduction to SAT—or MILP directly—can sometimes (but not often) be large.

Either way, I agree that there is likely some way in which the original commenter’s problem can be solved via MILP/MICP methods (indeed, I’ve found very few problems in practice that cannot be easily reduced) :)
Slippery slope here is, how far does one take performance first design?

I’ve seen too many devs rely on caching as the upfront solution. That’s performance first design, right!?
If possible, just leave the door and detergent drawer open.
SQLite has a page measuring performance of internal blobs vs external files: https://www.sqlite.org/intern-v-extern-blob.html
Your argument breaks down as soon as you move away from the most abstract concepts like "fire", and start looking at slightly more concrete things like "gas stove" or "napalm bomb". One of these is not like the other.
makes sense. Why not have them, when you can afford them? So your own bathrooms are not used by the guests...
> I’m saying these improvements are accidental. It’s sheer luck they happened.

No. They're not accidental. They're entirely intentional, done by sheer hard work.

On a related note, I am surprised a person who claims to write about UI design has a website with that background color. The contrast is just awful.
Measuring Cognitive Fatigue
Guest bathroom and when you have large parties often.
> All the performance in the world doesn't matter if your software doesn't work, doesn't do useful things or isn't complete.

And all the functionality in the world doesn't matter if it can't deliver a result by a deadline.
To the best of my knowledge, there are no papers about "we deployed this big ethical system in the wild", although some of the big companies have begun testing similar internal efforts on a small scale.

A lack of public efforts seems to be the equilibrium we're at, because any public effort is definitely going to attract a bunch of essays like this. Any partial attempt that looks like "we're trying to be ethical" is going to get scrutinized hard.

Continuing to put out more hypothetical theoretical work ("we prove this result about this algorithm, and it achieves a well-defined fairness goal on this common dataset") while cautioning that actual deployments should be put off until we understand everything better ("the fairness goal we define is probably not perfect, we are not saying you should use it") is much safer.
Thank you! I didn't understand what the issue was with just 1 bathroom. Of course, if your bathroom is also your toilets...
>I enjoy using Duolingo immensely. For me it is a fun way to toy around with a hobby I've had for years without committing myself to dedicated training costs and time.

My exact experience. Been wanting to learn Dutch for years but I just can't invest the time and effort. I've got a 300 day streak on Duolingo now and I'm close to A2 level and I can already participate in some online conversations and understand a great deal. It is language learning for "free", I'm not talking about monetary cost here. I wanted to learn a new language but didn't want to put the effort in. It feels like I'm learning for free, without the effort which is exactly what my lazy ass wanted.

If I were in a hurry, or wanted to put in serious effort, it probably wouldn't be the most efficient way. But I'm not in a rush. English is my second language and my formal training brought me to B1 level at most. The rest I learned through exposure online over the years (and got an almost perfect TOEFL score a decade ago) - I assume the same will happen with Dutch too - I got a foot in the door thanks to Duolingo. I don't care if it takes a couple more years compared to another method that I'd probably never consistently use.
Is it really terrible advice for anyone to actually think about performance when programming.
There was one, obvious thing they could have done. Backups. ZFS even makes it easy. They state they have triple redundancy on their servers. Pull 1/2 of the drives and have backups. ZFS supports streaming snapshots (maybe not on this particularly old system). It sounds like they have multiple ZFS servers per datacenter, so given 2 servers, they could use 50% of the storage on each nodes as a backup of the other node.

It's not like the backups have to be customer available, use them to increase availability and decrease MTTR. In this situation, even with a daily snapshot they could have had customers up and running with yesterday's data while they took their time recovering the old system and not moving boxes around and bypassing safeties for speed. How much did five days of panic cost them? Their customers? Their brand?

I feel like they read something about how S3 has at least three copies of everything, and then did that locally with ZFS, instead of accounting for all the other failures that can happen that the S3 design accounts for.

You are right, there isn't a whole lot that could have been done without radically changing their infrastructure, but they're clearly at the scale and have the hardware available to make better choices than they have.
Trust Is at the Core of Software Marketing
> in an area half the size of the US.

Is that so? Europe seems to have slightly more than 10 million square kilometers in area and the US slightly less than that. Europe is certainly more fragmented, but looking at thetruesize.com, one can use a better area preserving map projection and it seems that Europe has more space.

(I still agree with your points in general though.)
I suspect the spinner and the wait, like the wild labirynth of confusing "options" you have to wade through, are all a part of a strategy to discourage people from clicking anything else than "yes, I agree to everything, use me in any way you desire, just show me the article".

I think people who design and implement these sleazy dialogs should be ashamed of themselves.
I'm not at the stage where I can listen to it since it's such a fast language. I've been reading LeMonde newspaper and trying to decipher it that way. I live in Canada but the French here is quite different in each region; Quebec, Acadian, Métis. Duolingo French course is France French not Canadian French I think it's standard French aka Parisan.
There's a middle ground. I like to say "fast is a feature" or "it's not done til it's fast". Getting the feature working is a first step, but shipping a slow feature is never ok.
Get bidet seats. Everyone will thank you and you'll thank yourself.
Notion is a free-form information space, Recutils is more about a collection of entries with a specific format. If anything Recutils could be the import/export format of Airtable instead.
This is the most pedantic thing I've ever seen posted on HN.

If an object is illuminated by the sun or by a flashlight, you see the light. When you illuminate a single strontium atom with a laser while it's suspended in an ion trap, you see the light.