skysight-inc/HackerNews huggingface dataset:
I thought the criticism was pretty balanced. I've seen worse articles here about other languages. Pretty used to getting this feeling about the Python articles. It's almost always about the lack of some feature that exists in other languages.

It seems to be part of the cycle of a language that gets widely adopted. I think the next step is that people stop fighting over it and just accept that it has some nice features and some bad parts.

Articles like this helps me (as a dev who's not using go very often) getting a feeling for what types of problem go might be good for and not. If it's well-written like this one, I think it's a good balance to the many positive articles that I've read.

Clearly the author cares a lot about language design. I get that he might be coming from a different background with different tastes. The fact that he doesn't like go isn't saying your time spent learning the language has been for nothing. Clearly a lot of code is being written in it, don't worry!

Here's some stuff he's done: https://fasterthanli.me/about I think he's entitled to an opinion either way though. Very interesting to see the response. Had no idea it was this touchy. I can get a bit weary seeing the millionth article saying that Python sucks because it doesn't have a feature of another language - but it also makes me want to try out that other language for myself.
I disabled the zooming option on purpose as 3JS geometries (the celestial bodies) are empty inside. Any 3D dev who knows how to fix this issue, please let me know:)
It perplexes me that application developers don't leverage git for their data model. Asking users to be the tip of the spear in advancing better data management seems like a big lift. But I fully expect by now we'd see more people develop apps that so happen to back their data-models with git.

There's irmin[1][2], a git-like database written in Ocaml. I was always confused by how git-like it was... at points I thought there was outright interoperation. But I'm not sure what if any software was ever written on irmin.

I have my own project pr0x that has a file-persistence engine, which I need to spend a weekend adding git support to sometime. Very high importance to me, but haven't made it a priority.

Again,

> It absolutely perplexes me that DVCS isn't the norm outside of programming.

Absolutely perplexes me that programming hasn't made DVCS the norm in the outside world. We're steering this ship. People don't even have to know what's going on... we should still be using the best class tools on this planet to be managing data, and what data do we better manage/is more important to us than source code? It's up to us to seize this initiative.

[1] http://web.archive.org/web/20140719043152/http://openmirage.... https://news.ycombinator.com/item?id=8053687 (146 points, 8 years ago, 25 comments)

[2] https://irmin.org/
I think the breakdown is with native/non-native apps and specific build systems.

Pretty much all the native apps that get updated for M1 are universal binaries. Xcode is (all things being relative) pretty good at making this work semi-transparently.

The only instances where I see separate builds for x86/M1 is with non native apps, a good example that I saw just yesterday being Postman. I would guess either their build system is the culprit, or some libraries that they rely on. It's not systematic though so this is particular to those vendors, it could also be that they chose to do separate builds for other reasons, though it's not what Apple suggests developers do.

Teams and Discord both have universal builds and are non-native, as counter examples to Postman. Another good example is that while VS Code [1] is universal, VS Codium [2] makes separate builds (those seem to have been posted in the last 12 hours, yay !), and this is mostly due to their build system [3].

This site is also a good resource that tells you what has native M1 support, and what still runs under Rosetta : https://isapplesiliconready.com/

[1]: https://code.visualstudio.com/Download

[2]: https://github.com/VSCodium/vscodium/releases

[3]: https://github.com/VSCodium/vscodium/issues/597#issuecomment...
Another more optimistic way of looking at it is the idea that as we transition into a higher interest rate environment, there will be short term pain as unprofitable businesses downsize / go under, their workers are let go, but they eventually make their way into healthy/sound companies that now have the scope to grow and contribute to real macroeconomic growth rather than just the nominal smoke and mirrors of the recent economy.
I love Actual, one of the best local-first apps I've used. I'm excited that it's been open sourced, but I also understand that this release is a bit bittersweet. Awesome work James, best of luck in your future endeavors :)
> Does that mean it'll be proprietary without the ability to upgrade parts

Upgrading parts of a CPU hasn’t been a thing for quite a while now. When was the last time one could add a module of cache or a FPU?

We’re talking about SoCs here, not devices.

> or assume compatibility with common hardware standards

There is basically no hardware standard in ARM-land

> in order to squeeze out every bit of performance possible?

Since when is it a bad thing?
It seems to me there are two ways to evaluate the "beauty" of a language: there's the people who love the language theoretically (well constructed, coherent, nice typing, etc) and then there's people who love the usefulness/utility of the language.

For example, I hate python as a language (spaces syntax? Self,self,self, lack of static type, etc) but I've been using it lately and it's nice using it due to libraries, community,etc.
pounce.sh

Not my game but recently announced on HN.
>And the baby boomers who created the upset of the 60's are now in charge, and their disillusioned leadership is pushing these divisions ever wider.

Why do people think of an entire generation of people as a single minded entity? Might as well say, "women," or "men," or "humans." Did you know the majority of baby boomers weren't hippies? Looking at documentaries of the era, you'd think they were. Many boomers hated hippies. So which boomers are creating these divisions? The hippies or the non-hippies?

>their disillusioned leadership is pushing these divisions ever wider.

This would be much more targeted (and accurate) if you said the current generation of politicians. Last time I checked, I've mostly only had two bad choices for president since I've been voting. The third choice was, "throwing away my vote." Guess who came up with that one? The politicians. When you blame a generation of people, you don't blame the people who actually have the power to make the decisions affecting our lives.
The raw data + styling model is ideal to me. You've got one data endpoint for both people and machines that's equally useful to both.
Every time I read one of these threads I’m reminded that the American “far” Left is broadly equivalent to the European centre-right.
And what prevents you using them this way in Go? Just make a package and export a constructor function that does the validation.
My hot take is that underwater photography requires unusual equipment and you'd have less competition than the others. For webapps I'd want to see some clarification: do you want to fly your flag as a mercenary web developer? or do you want to develop web apps that make money for you directly?

I would also look at teaming up with people.

In the last year I've gotten interested in art projects such as interactive cards I print, persistence of vision displays, video game characters projected in a mirror, etc.

I just ran into an old friend who showed me an art exhibit made by about 20 of her friends where you start out in a mad scientists lab (where there are some one-of-a-kind coin op video games) then you go into a "time blender" and get sent out various doors where you might go to a crystal cave, or the bottom of the sea, or a map room where there is a sand table that is scanned by a Kinect that has contour lines projected onto it.

Then and there I realized I could accomplish a lot more as part of a group than I could myself.
Even if they could be converted (and most buildings after a certain height are basically the same except for the interior) they'd likely be torn down and rebuilt; if they even can be due to zoning.

People love to hate on zoning but there are reasons for it, even if the way it's done isn't perfect by a long shot.
I have noticed a pretty strong trend of "falling apart" in specific niche. It seems related to the combination of inflation and people being fed up with low wages. It's hard to get workers for low paying jobs, and the things those places are selling have gotten more expensive.

So we're paying quite a lot more for services and goods, but the quality of those things are declining at the same time. Declining quality both due to the providers buying lower quality supplies and due to the workers willing to take the lousy jobs not giving a shit.

I see it pretty strongly in areas like restaurants and retail.
Why do you need all that, though?
Tethering to iPhone is extremely easy, what’s the point? You don’t even have to set it up, the system just suggests it as an option in the Wi-Fi menu.
Mars population says 0, hope that will change end of this century.
Canning/Fermented foods. I think I read about it in "Fermented Vegetables: Creative Recipes for Fermenting 64 Vegetables & Herbs in Krauts, Kimchis, Brined Pickles, Chutneys, Relishes & Pastes" by Christopher and Kristen Shokey.
They mention that their food got so popular amongst their friends that they started selling it at farmer's markets. It took off from there. They started increasing the scale to higher production, but it was hard to find the space to do it. At some point the amount of work required to keep up with the demand became too much for them to handle, and they decided to stop.
Great book 10/10 https://www.abebooks.com/servlet/BookDetailsPL?bi=3116773919...
To be fair, the planes at Pearl Harbor were arranged to prevent sabotage, which made them easier targets for an air attack. There are tradeoffs to every kind of preparedness.
> In my city of Toronto, average real estate prices have gone from 2x average income in 1972 to 16x average income today. To continue growing at this pace they'd have to reach 128x average income by 2072.

Places like Toronto are generally an outlier. Part of it is due to high skilled worker immigration (to read it differently: more well off people emigrating to Canada) and high concentration of jobs in cities like Toronto.

I agree with your thesis although I think it has more to do with CAD losing its value compared to hard assets and a consequence of a decade with bad monetary policy.
Here is a random factoid: https://theincidentaleconomist.com/wordpress/analysis-of-wha...
If you find it does not have value to you, don't upvote it and ignore it. Don't flag it to try to hide it from people who it may have value for. It's clearly not spam, so it's not your job to determine whether it has value for other people.
Nine reasons Python Sucks
How does this project differ from Apache guacamole?
Data so old it needs to be forgotten. There's lots of rationality in the world, the author just didn't look on the web:

https://www.rationality.org/
It's also being used to try and avoid another flamewar, which this article seems practically guaranteed to cause.
DJI lied about encryption and enabled Ukrainians to be murdered
Wow I can't even imagine a mask that is like papier mâché. Link to one of those so I can see what they look like?
I think it gives him some leverage in dealing with governments
Christopher Nolan made an excellent mockumentary on this, I think it was called "The Dark Knight trilogy".
Model-Based Software Engineering still pops up in some environments, like LabVIEW or whatever that Matlab one is (they use it at NASA on some of the critical code, name escapes me). I've done some pretty cool things with Model-Driven Testing but never had a chance to use it as part of my job. GraphWalker [0] for example lets you build a model of an application where nodes are states and edges are actions to get 100% automated coverage (not No Code, but Cool Code). I used it to test HackerNews once in my free time combining it with the Page Object Model in Selenium which worked surprisingly well. You still need to build the framework and now an additional model, but you get all the tests for free.

[0] https://graphwalker.github.io
A snarky tagline used to say, "Informix-4GL is not 4G, and it's barely an L."

I understand the sentiment, although in reality it wasn't that bad. What I4GL and its ilk accomplished was to make a passable bridge between SQL and a vanilla procedural programming language, which still had the usual SQL/procedural impedance mismatches, but was miles ahead of horrors like Embedded SQL/C (as you've alluded to with the remark about generated C's verbosity.) I did my share of I4GL programming and still remember it semi-fondly.
1. Who selects the censor?

You might be ok with <your candidate> making speech restrictions.. but are you ok with a hardline opposition candidate doing the same?

2. Governments change

Even a government that starts using a power - say restricting access to bank accounts - for something good like stopping actual terrorism or money laundering can decide to start using it against political movements they don't care for.

3. Governments grow

Governments only grow in power. They get bigger. They use more powers. Even some of the hardcore censor states started with more narrow objectives. China started with objectives to stop false information and external propaganda - now they use that power to suppress victims talking about sexual assault by party members.

Fundamentally I do not trust any government to have that power. It will always be abused, and we must always resist it. Australia is an excellent example of a liberal democracy using safetyism to quickly run towards authoritarianism.
Most economic discussions are inherently political but it's not the case that most political discussions are inherently economical. I argued that we are avoiding dealing with our economic challenges and are focusing on non-economic political problems.
I don’t think I should be physically present in the USA just because I transferred money to a USA citizen in exchange for services.

However USA law defines this, I think is wrong. That’s what I’m saying.

The USA is an outlier in many ways. It taxes it’s citizens outside of the country, forces awkward bilateral trade agreements , and is not at all harmonized with work laws of other countries.

An office is a physical presence to me. A single person working from their own house is not.
Italy as a polity, regardless of how real the polity actually existed as a coherent and cohesive governing state, pretty much existed continuously from Rome until entirely left out by the Congress of Vienna in 1805 though. By the time 1848 rolled around most people alive were perfectly aware of the concept of Italy in living memory, and even those who didn't actually live in what was considered Italy - in particular those living in the south from Naples down to Calabria and Sicily, if they were educated and literate, were still aware of the notion of Italy as a distinct political entity. There might not have been much of a centralized government based in Italian territories that represented the polity for long periods of history, but ruling regimes/dynasties come and go but political entities tend to last longer.
You can define NonZeroU64 in Go exactly the same way it's defined in Rust – as a struct with a private field. No interfaces required.

But I was wondering why you would want an opaque type internally to a package. Presumably not to ensure that the value has passed some validation, since in that case you would want to encapsulate that validation logic in its own package. It's not like Go imposes a tax on packages. Packages are the unit of encapsulation in Go, just as modules are the unit of encapsulation in Rust.
The problem is that people move to Rome because it is Rome and not LA, and then proceed to turn it into LA.

Even a hundred years ago traveling somewhere brought you to a very different world, now it's hard to tell the difference between some cities since they're all covered in McDonald's and Starbucks anyway.

And it's not just the companies, either.

Part of the problem is our American way-of-life covers everything in a think blanket; you can easily move to anywhere in the world and remain an American as long as you want, the pressures that would bring you more in-line with those who live there are almost entirely gone.
> It becomes CO2 (a relatively minor greenhouse gas per unit weight, but long-lived)

Although it should be noted that 1 tonne methane decays into around 2.5 tonnes of CO2 (I don't remember the exact number but it's around that) and GWP is measured by weight.

So even after it's decayed, methane has a higher GWP than CO2. Which is why its GWP remains much higher than CO2 even over extremely long periods: methane has a GWP of ~80 over 20 years, ~30 over 100 years, but is still around 7 over 500 years, despite a lifetime of only 12 years.
> I'm curious for what valuation Disney appraises its own property

It doesn't seem that Disney is responsible for property appraisals. See, for example, this news story [1] about them suing Orange County to get their assessments lowered.

[1]: https://floridapolitics.com/archives/440815-what-is-disney-w...
> it's still fast enough for Interactive tools that you run often.

Oh really?

https://www.mercurial-scm.org/wiki/OxidationPlan

> chg's very existence is because we need hg to be a native binary in order to avoid Python startup overhead. If hg weren't a Python script, we wouldn't need chg to be a separate program.
this article was written specifically to address the comments that came up when the two-year old article made the rounds again.

that's why he didn't move on; we resurrected the topic.
Oh hey! Author of the blog post here.

So, in this case (on a tiny microcontroller, not precision equipment), my main optimization factor was speed over everything else. I don't think this is a universal answer, and as other commenters have mentioned, there are other ways to approach this problem!

As to a couple of common questions:

* Why didn't I just use a 1/4 sine LUT? - Because the full sine lut was only 512 bytes, and I had that to spare, which saves me some math per-cycle. I would also hit diminishing returns on a more precise LUT.
* Why didn't I use (some other method)? This one was "good enough", only took 22 CPU cycles per iteration, and linear interpolation was only 5 or so of those 22. Alternatively: I am bad at complex math! But I have worked with fixed point algos before, so I wrote what I knew.

Happy to answer any other questions!
I find your title and discussion of “mommy blogs” to be extremely misogynistic. This has no place on hacker news.
Skin-Contact White Wines
Thank you for showing us the light, jospehcsible!
This is overly hyperbolic. The article references 3 high profile CEOs and states “Todays CEOs” are essentially carnival barkers. The majority of CEOs aren’t in tech and don’t have anywhere near this life or career trajectory. Also, if you read biography of Edison, Ford, Rockfeller, etc. Many of there behaviors will seem tame. For instance, Edison electrocuted an elephant to make Teslas AC current seem too dangerous compared the DC current he was pushing.
Highly recommend Kim Stanley Robinson's novel Aurora, an exploration of precisely these concepts written in the fascinating perspective of a generation ship's AI instructed to narrate its journey.
Here's a rust example - https://github.com/autarch/channel-select
Translation: "Disney, after massive protests from their own employees due to donating significantly to support the "Don't Say Gay" bill in Florida, donated some to the other side, and because of this, Florida's governor decided to pull out the nuclear option by committing to something he didn't even understand in hopes of hurting Disney."

And you think this is...what, normal? The way things should be? That by daring to even try (very ineptly) to be "neutral", Disney deserves retaliation from the vindictive petty autocrat in the Governor's mansion?

I mean, I don't at all think Disney comes up smelling like roses in this, but to shrug your shoulders and say, "eh, if you wanted to be treated fairly, you shouldn't have let anyone know you don't unquestioningly support everything the current administration wants" seems to be...the world's most supine moral position. (After all, if there's nothing to be done about how bad things are, you don't have to feel guilty for not doing anything, right?)
Samsung is irrelevant in this discussion as long as their process/node issues aren't resolved and there's no indication that they're anywhere close to doing so. Previous performance doesn't matter if they're unable to make new, competitive nodes work.
I agree that thus seems like a near ideal use case for something like IPFS or something decentralized and/or federated.
Does anyone know of a good fixed point library, preferably for C++? Fixed point seems straight forward enough that people tend to just roll their own, but it would be good to have a proper API to make the resulting code easier to read.
Related materials (I am starting a role at GLO on Monday):

White Paper: https://docs.google.com/document/d/1E09fdrvBr_TgsUqODq-MROfo...

Open Roles: https://boards.greenhouse.io/globalincomecoin

FWIW, I found out about GLO from the HN March 2020 Who's Hiring thread
The article's author has written and shipped tons of quality Go code that is still used in production by many people, myself included.

Sometimes, a poor language is a good tool for specific task despite of being generally a poor language. Sometimes, knowing and liking a bad language makes you use it for tasks it's not suited for. Go is in the same category as JavaScript and PHP there, which have their valid uses, but also a lot of valid reasons to stay away from. You only learn how and when to choose them once you become experienced enough in several languages to notice the differences between them over long term usage and project maintenance.
> Programming is a means to an end, and the cost of using Rust (hiring, increased development time) is often not worth it.

I agree with this. I learnt Rust before Go, and using Go makes me feel like The Oatmeal piracy guy[1]:

"I'm not sure if I should use Go to write this HTTP service. I'd lose immutability tracking, I'd lose compiler-enforced thread safety, I'd lose the powerful type system, I'd lose the comprehensive error handling, I'd suffer from a million little papercuts, I'd have to use the weird date formatting system, I'd have to check nil pointers, I'd...

...oh, it's seven days later and I've already accomplished more writing networking servers and clients in Go than I ever have in years with Rust."

This isn't to say the points raised about Go aren't true. They are true, and if a better language were available, I wouldn't stand my ground and argue their benefits, I'd switch to it. The last comment I happened to post on this website is about how Go is insufficient without its army of linting tools [2]! Yes, I'm incredibly happy to have learnt both Go and Rust as their combination has expanded my skillset and the range of programs I'm willing to write tremendously. But if someone said to me "you should just use Rust instead of Go for your production services", I'd think the "just" was doing some incredibly heavy lifting.

An article that I'd like to see is one comparing the two languages for this niche (networking servers and clients), contrasting not just the language pitfalls but the third-party libraries necessary, the iteration speed, and the choices you'll have to make up-front. My guess is that the languages would be judged more closely together.

[1]: https://theoatmeal.com/comics/game_of_thrones
[2]: https://news.ycombinator.com/item?id=30749921