skysight-inc/HackerNews huggingface dataset:
I already selected such inspiring imagery, though from around the world, not purely AU. To make landing page more vivid, better understandable. Going to do next facelift with next country.
Thank you. Very informative. Can't quite square the 'there's more than meets the eye' in Taiwan's supposed military might and preparedness from the article with the soldiers fumbling with missile systems and shooting one across the strait towards China by mistake a couple of years ago, but hey...

Edit : That one didn't reach the mainland, of course.
I've gotten quizzical looks from friends when I mentioned how much certain distorted guitar tones and tremolo picking sound very similar to bowed string instruments, particularly the cello.

You can easily imagine someone furiously playing a cello when listening to a lot of death metal, especially Swedish death metal with the classic Boss HM-2 pedal sound.

They didn't really get it, and most of them are pretty big fans of Apocalyptica, who very specifically play heavy metal on cellos. Still, they didn't make the same connection, which made me wonder if my hearing is a bit odd.
Don't forget that in Japan there's not just the salary you have to account for. Many domestic companies pay for your accommodation (with it something worth at least 1.5 Million a year in most places), plus several other perks (rebates on certain services, additional medical insurance, etc...). So just looking at the salary does not tell the whole story.
I write journals and notes on OneNote. Microsoft has done a really great job with OneNote, it works great across platforms, I use it on Windows, Mac, iOS and Android.
Years ago, I used to feel happy that I am not working for a bank or a wall street firm. Now I am not so sure who is worse - wall street or tech companies, especially the massive ones. Gone are the days of "do no evil" etc, it is just a shit show out there.

Problem is, for all this anguish, I don't know a way out. At least with banks, wall street etc, I can switch to a community bank or something. What exactly is the alternative to Android/iOS, for example?
>Things that are happening on the edge become the things that propagate through to the mainstream. It's how cultures change.

Well, we don't see that these days. With music, for example, we see the same mindless hits dominate the top-20. In past decades (from the 50s up to the 90s or 00s) you'd have those things "happening at the edge" become mainstream.
Bake and run a Python snippet on a rumprun/solo5 unikernel and nabla-containers
In many IT departments in Japan (at least in foreign companies based in Japan) you will see a lot of Indians, so it's already happening.
And these were not published on their website:

https://arxiv.org/pdf/1801.10277.pdf

http://proceedings.mlr.press/v37/regier15.pdf

https://arxiv.org/pdf/1803.00113.pdf

I had to go so far as to read the project Github page to find them.
But the problem of Fahrenheit 451, as per the original article too, was a society that did this by choice.
What's one example where it is unscientific?
The answer is: What is the problem? It depends on the problem.

We're unlikely to encounter a problem that is solved with a single funtion, or as one function per line. But the important thing is to look at what the code should achieve. Most importantly, local decisions should be made based on what the code should achieve in a global context. Local syntactic optimizations are less important than the global picture.

I strongly agree with the Golang authors and with experienced C programmers that it's much better to write a few lines more and be more clear and explicit in exchange. Note that there are some additional lines that increase complexity, but I would argue that lines which contribute to clarity do not contribute complexity. In fact, those investments in additional lines usually decrease the number of moving parts.

Syntactic homogeneity is important so one can easily see what one piece of code achieves in the global context. It does not help if we micro-manage and constantly think about the type of for loop or lambda abstraction or error handling mechanism to use, only to shave another line off.

Unfortunately looking at the actual problem is what most people forget. Instead the discussion are about languages (filter, maaap. maaaaap), frameworks, libraries, object orientation without any concern of what these features can do towards reaching a specific goal.

Now that you mention information theory, I want to mention the term "Semantic compression", created by Casey Muratori. I think he has done at least one stream about it, which you should be able to find on YouTube. In general I recommend to follow him. He is one of the most experienced and no-nonsense guys I've found on the internet.
On the other hand, we can assume all of those small edits add value. This gives Wikipedia more appeal (no typos, clean pages, etc), which, in turn, invites others to edit. Are those his contributions? No. Does he deserve some credit? Some.

It is always hard to measure these secondary and further effects. The best way to determinte the value is a market with independent actors. Thought experiment: imagine Wikipedia edits were paid in some currency. Doesn't have to be monetary; it could be e.g. karma. How much would he have gotten per edit? Sum it all up: that's his contribution.

One thing is for sure: it's more than just a motley of typo fixes. He has, indeed, added a lot of value to Wikipedia, albeit probably indirectly, and, thus, helped people through school.
One year ago I changed my career from a Recruiter to a Junior Software Engineer
Yay, even more features and complexity. Will they ever stop?

It already takes years to really master C++.

Soon you will be unable to read and understand C++ code without googling every second line.
This is cool. They use moving reinforcement from the games to cities. First you discocer the space, then you move.

But here is the real deal - we are going to navigate and move people by any multi-modal transportation. Uber or Moovit or Rome2Rio. First: they could be safe by design. Second: their value proposition is wider. We just started with cars and road trips. Third: car driving will be experience itself in long term future. People will pay to drive like they pay today for horses. People will kiss and lick cool cars.
While I know that to be so, none of my friends or relatives live or have lived in company housing. It's something we see in dramas, basically. NTT has provided first rate health care that you couldn't equal no matter what you paid for it on your own, though.
Not sure if this is helpful, but IMO this might be due to a US/Europe disconnect (?).

4-day work week, 6 weeks off is within negotiable distance in Switzerland (from personal experience - have worked 4day/5weeks before).

The extra 1-2 weeks PTO (on top of the legally mandated 4) are typical for larger enterprises such as governmental work or the postal system.
Thanks, will read definitely.
Zig (a modern, safer C) has defer:

https://ziglang.org/documentation/master/#defer
I like the term "meta discussion" to characterize this comment thread. It describes and explains concisely what HN is about/does best.
Well, THAT'S reassuring o_O
How Discord Scaled Elixir to 5M Concurrent Users (2017)
God Is Dead
Another editor here: that's entirely right.

3 millions edits, however, is still an astonishing accomplishment, even taking this into account. Edits that don't require any human thinking are usually done by bot accounts, and few of them have that many edits.
The monopoly on violence is the way all civil societies work, even in the present day. It's why the police are legally allowed to beat someone, kidnap them against their will and throw them in a cage, and you aren't. It's why the social contract isn't a literal contract you needed to sign first before being subject to your government's authority.
Some people love to stay a week in Melbourne. Though better to tell it where you want to start, what you like in the middle (waypoints, travel-thru) and where you finish. Could be same Melbourne or could be diff location.

We did not design UI at all, because we are thinking of voice interface. You are telling your desires and constraints in conversation. They are captured. Then API is called.
This could have been a great comment with some more carefully crafted language... I generally agree.
Well, you can use std:: function on an ABI boundary if your platform ABI guarantees ABI stability. If not you might need to roll your own implementation.
So you use another client with gmail or are you okay with their slow interface?
How 18th century information wars can solve problem of 21st-century fake news
> Throughout my time abroad, a common trend is that expats (note: first use of that word) don’t bother to learn local language and are typically unhappy.

In Switzerland, that's no longer going to be an option. They recently implemented a change that requires you to learn at least A1 level (super basic) German in order to keep your B-permit.

As a recent arrival on a B-permit, I think it's a good idea.
I've seen excessive abstraction kill projects time and time again. The crime scene is similar in every case:

- What if we ever need to change database server or driver? Proceeds to write a layer to abstract data access

- We might have different login forms one day? LoginFormFactory it is

- This code hits our KV Redis/memcache/NoSQL by calling the driver lib directly? Can't have that, I'll write a CacheStorage or DocumentStorage layer.

Over time, this defensive mentality produces codebases that are so bloated that no one in the team can confortably grasp all the moving parts despite the project not being rocket science.

At that point, devs rather quit or get a substantial raise in order to continue working and ultimately endup leaving to start a new project. But this time, they'll be sure to not make the same mistakes. This time, they'll abstract even more so "when one part of the project becomes bloated, it can be easily rewritten thanks to the abstractions". And the cycle continues.
There's a difference between simply hearing a piece of music and enjoying it, and being able to pick out the individual elements and identifying them. It takes training and experience, and it absolutely isn't mandatory, but I've found that I enjoy music even more after I started understanding its elements.
Side note: on Twitter, you need to place each paragraph of your essay in a separate post, paying attention to the number of signs.

And people are complaining that the new editor in WordPress (Gutenberg) is bad :)
Why do it at all? Because users like the feature, because the grouping numbers makes typoes easier to spot, etc.

If you want to narrow it down to implicit alteration: Syntax highlighting is implicit alteration. And people love it.

So are a lot of WYSIWYG features, like Enter inserting a new paragraph or a new bullet point depending on context. Or tab completion itself, in the sense that it replaces the "insert tab" feature of the Tab key. Or URLs automatically transforming into links.

Explicitly with regards to Cleave.js-style auto-formatting, I personally like it (for the same reason I like syntax highlighting) and I assume many other users do too. Someone further downthread mentioned an AB test showed improved conversions:

https://news.ycombinator.com/item?id=19234805
> errno is implemented differently on every platform,

> But Rust can't read the C header, so it must literally special-case every OS [1].

That's a bit of an odd point. You're saying that the C standard library implementation of errno is different on each platform, but abstracted in the standard library so that C programs can just import it and run a portable function.

...and then you complain that Rust does the same...
More granular filtering would be helpful.
I bet from some companies point of view thoughtful layout equals open space.
Forcing yourself to do some very small change can often get you going. You can make this easier on yourself by noting some easy pieces to do in the future, then picking one of those the next time you want to work on that project.
From my personal experience in the last five months in Japan, I mostly agree with you. By your metrics Germany is probably on par and a few other countries lack the economic power and/or the political will (e.g. the US could afford all that, but chooses not to).

> education

The general education seems to be good apart from the tendency of karoshi, already beginning with stuff like prep-schools. But as has been noted in the comments here (also by me) the English education really lacks behind. Surprisingly, I personally met more elderly with conversational English skills than students at one of the imperial universities.

> extremely reasonable cost of living (much as foreigners keep falsely claiming Tokyo is expensive.. )

Toyko is expensive. It's not a false claim. Yes it's affordable and the rent might be reasonable, if you lower your standards to accomodate for that. The average living space per person in Japan is 22.3m² and below 20m² in big cities [1]. In contrast to that the average living space per person in Germany is 43.8m². Nearly twice as much. On the other hand a 15m² flat 30min away from Toyko station costs about 45000 Yen per month [3]. That's 3000 Yen or 24€ per m². A 1-2 person flat 20min from Munich center (one of the most, if not the most, expensive city by rent in Germany) costs ~15€ per m². So I'm living closer and get 60% more space for the same money. Now consider that foreigners expect more space (see [1] vs [2]) and Toyko really is expensive for foreigners.

[1] https://resources.realestate.co.jp/living/how-much-living-sp...

[2] https://www.destatis.de/EN/FactsFigures/SocietyState/IncomeC...

[3] https://resources.realestate.co.jp/living/cost-living-single...
Rust seems to be the biggest joke of all time. Calling itself systems language when the average hello world program is 4 MB (!) in size. Also when I tried to compile a rather low complexity example with 80 lines of code the compiler ran out of RAM. Seriously?

The reason Rust was invented was to make the monolithic firefox executable to have multiple tabs that don't block each other and can act concurrently. All of this has already been solved in a much cheaper and already available way: Unix processes.
Delta Chat is just a CoI client, as CoI webpage says.

"Thanks to Delta Chat Core, as a client developer you do not even need to deal with IMAP directly."
https://www.coi-dev.org/
Same. I learned hypercard on the family Apple II starting at maybe age 5. Made all kinds of silly stuff. Eventually learned how to make rudimentary games.

It was one of the experiences that taught me that I control the computer, it's not just a platform to run other's applications.
Wikipedia Arbitration Cases
Very cool, does it compose?

Some statically typed languages allow you to build up composable query snippets along the lines of (from a Scala DSL):

val accountQ = for {
(a, t) <- Account leftJoin Transaction (_.id is _.accountId)
if a.id is ... && t.userId ...
groupBy a.id
} yield (a, t.id, t.amount.sum, ...)

val invoiceQ = for {
(a, transId, total) <- accountQ
i <- Invoice join (_.transId is transId)
} yield (a, i, total)

Basically you can build up arbitrarily complex queries, all compile time checked -- it's really quite wonderful. Haskell has something similar with Esqueleto and C#/F# has LINQ to SQL.

I love query DSLs, the more we move away from string-y SQL the better :)
Aren't species already going extinct every day?
Don't do it unless it's your startup.

If you want to join a startup, make sure you know everything about their background.

I would say most startups are mismanage and only a few are truly good.

The longer you do startups, the harder it is to re-join corporate.
a) because you don't want to be a cog again, now that you have seen the light
b) because hiring is broken, and recruiters could care less about your startup

I would say doing startups is a lifestyle choice. Constant stress, but ultimately, you wouldn't want to do anything else.
It's almost like he's making a small non-real-life example to illustrate his general point, which is not confined to the particular example.
I had done some work on a RIP viewer in Javascript a year ago if anyone's interested. It's not yet complete. There's a link to a demo to view some examples.

https://github.com/cgorringe/RIPtermJS
I don't think "extremely restrictive" is the right word.

If you're an EU citizen you have the right to live there no questions asked.

If you're not EU, you can live there to pursue gainful employment so long as your employer can show that you have skills they can't obtain from within Switzerland or the EU.

If you can get a job, you'll be given either an L permit, which is "temporary" but can be exchanged for a B permit after 2 years, which can then be renewed indefinitely. After 5 years, if you can demonstrate integration (criteria vary by canton), you can get a C permit, which is permanent (essentially a green card).

As a skilled worker, I actually found Switzerland to be substantially more friendly than the US, though a lot of the hard work was handled by my employer.
Which is not to say that we shouldn't wrap dependencies. We absolutely should. But by default, the wrapper should not offer an abstraction that is so flexible that the dependency can be exchanged. Instead, it should start with the actual problem, by offering only abstractions that (a) make sense in the context of the program and (b) translate well to concepts of the dependency/library.

For example, hiding POSIX-style select/poll vs Win32 Completion ports behind a common abstraction is something I tried recently, and seems to be HARD. Did not complete. Why? I started with the abstraction without being familiar with what the problem was. All that I knew was that I wanted to experiment with "game engine design".
The only one earning more than 10M who I know of is a senpai of mine who quit and got a remote Silicon Valley job. It’s a lucrative deal as you can live affordably in Tokyo. (Still, I suspect they’d pay remote workers somewhat worse...) As for myself, I wouldn’t move for 15M. The present-day U.S. sounds a great place to earn money as a SE, but it doesn’t sound like a good place to live.
The added benefit is that at the time you end up appearing very early in the phone books if you company name starts with A. Example: Atari, Amiga... Amiga was also chosen, if I remember correctly, also because it made it appear before Atari (eternal rivals...).
Newsletter, 17-23 February
Of course. Like I said, "not trying to diminish his work". But it also gives the wrong impression of what editing Wikipedia entails. Anyone can edit, and even a single edit adds utility. One doesn't need to devote as much time has Pruitt has, or have reference books, or make as much edits. My point was that the commenters seem to have a misconception about who writes Wikipedia. It's not just Pruitt, it's people like you and me. It's also women, people from every continent, laymen, scientists, college students, retirees, people working alone, those at editathons, people who edit once, those who edit regularly, those who edit anonymously, those who edit under a pseudonym, etc. Wikipedia is a massive collaborative project; it's great that they're spotlighting his (commendable) efforts, but care should be taken to avoid outrageous misinformation like saying he wrote a third of Wikipedia. Those thousands of content creators deserve commensurate credit as well.
What an intriguing piece of software. I wonder how much work it would be to bring it up to date for current compilers.
Software Architecture and System Design: Getting Your Grip and Related Resources
>I've seen excessive abstraction kill projects time and time again

Agreed.

But none of your first few examples seem particularly egregious, if done well, they don't seem like they would sink a project.

I think part of the problem is developers underestimating just how hard it is to write an abstraction layer well. The juniors will say, "yeah I could do that in one sprint" then they start to build on top of it, the problems don't start to show until later, maybe when the dev who wrote it is gone.

I think the correct way to approach a problem like this is to acknowledge the cost of it up front. They are expensive. They don't just have to work. They have to work well and be readable.
With the exception of the ( usual, but not everywhere ) bad isolation, I can't quite agree at all. Maybe we don't go to the same supermarkets. I'm baffled by how expensive food is in Europe when I can buy the same products for less in Tokyo despite being imported ( Italian olive oil for instance ) and even niche ( the organic kind ) so there you go.

Agreed they compensated the closing of nuclear plants with coal and gas, as I already pointed out myself in another thread. But I'll take Tokyo's air any day over that of a European capital. Have you seen the grey mushrooms over them ? It's a world of cars and smog, not of trains.

Madrid, Paris, Milan :

https://ep01.epimg.net/politica/imagenes/2016/12/28/actualid...

http://i.huffpost.com/gen/1407323/thumbs/o-EUROPE-SMOG-faceb...

http://i.cbc.ca/1.3383314.1451440205!/cpImage/httpImage/imag...

Not to mention the fact that in many Western capitals you literally walk on garbage.
Something is 'outdated' only if there is better in some way.

The article makes rather clear that pagers is not outdated yet in emergency situations.

This actually raises the question of a replacement in these situations.
I was curious about this so I looked it up. Apparently there was a PHP 6, but it was scuttled and had some of it's features backported to PHP 5.3.
Don't forget the Fender Rhodes electric piano, which doesn't really sound like a piano at all. It has its own mellow sound, which has become iconic and is a cornerstone of several genres.
Blender. C'mon now.
There were at least 4 different competing coroutine proposal at the last mailing. I guess the committee didn't see any hope and convergence and just opted for the more mature proposal.
Some of my mechanical engineering friends think of working at LEGO the way others think of working at Space X or NASA. I’m pretty sure all of those models have run through finite element analysis.
Yes it doesn't matter for the x86 emulator but it matters for the humans using it. Every single difference between the target architecture and the emulating architecture costs you performance. In a CS centric world that is completely disjoint from physical laws it may not matter but if you have infinite time why waste it on waiting for an emulator, why not just rewrite the software in the first place? Unfortunately we are physical beings with limited time. If the emulator isn't fast enough then no one is going to use it.
I'd say there are roughly three classes of C compatibility:

Tier 1 is C++ and ObjC, where you can use C headers nearly directly.

Tier 2 is where you have to create (and maintain) bindings, but you can map practically everything. Here is Rust, D, Nim, Go, etc. More work than tier 1 is necessary but no loss of performance (except maybe inlining and macros). There are distinctions within this class depending on how well macros etc can be mapped, but usually people map to the ABI instead of the API.

Tier 3 is where you cannot map directly and inefficient adapters must be made. This is for example Java, which does not have struct or size_t. Also nearly all scripting languages (Python, Ruby, Lua, etc).
It's true it's not feasible to feed people in a clinic for 10 years to see if they eventually get cancer. What scientifically valid method would you recommend instead?
You think that print debugging is wrong and debuggers are the way to go?
Those are pretty unrelated.

I'm talking about things like not properly maintaining a singular Cartesian projection across a mapped space, so it becomes impossible to reproject related data. So people end up having to manually adjust all the related data after a remapping session.
Although it makes me wonder if its extension shouldn't be ".sh", sinc e this polyglot-metaprogra. is really intended to be run as a shell script.