Hacker Newsnew | past | comments | ask | show | jobs | submit | florianist's commentslogin

In the current C standard that's unreachable() from <stddef.h>

Thank you, I've just recently read the list of new features and missed this one!

So many comments are very negative here. I'm currently using a Pi 4 as my home desktop computer and I will probably replace it with a Pi 500+. I really want to avoid a pre-installed Windows, want my computer to be 100% silent, low energy, and I fancy the computer-is-in-keyboard feel. Sure, I might get a mini PC for a bit cheaper but I like to support Raspberry Pi. The products are easy to get into, have great and lasting software support, and a large community behind it.


I've noticed Raspberry Pi posts here always attract tons of negative comments, regardless of what the article is about.


As a desktop candidate role I would say that there is a pain of bones broken in the past. I have System Shock (1) for DOS and for MacOS. DOS version was playable in NTVDM for long, especially in 32-bit XP with VDMSound. MacOS version was, to be precise, Mac OS Classic version for Motorola CPU. And Mac OS switched CPU from Motorola to PowerPC. They had emulator bundled, but only for one switch. Soon after Motorola-to-PowerPC switch they did PowerPC-to-Intel switch. And Intel Mac OS did run PowerPC applications, but did not run Motorola applications. So I have managed to unpack StuffIt archives with System Shock for Mac OS, but never managed to run it. Actually, Intel transition was not momentarily. There was Intel x86 Mac OS and Intel x86-64 Mac OS. 10.4 Tiger could possibly run something 64-bit, but not GUI apparently. Later Mac OS introduced nice Objective-C 2.0 features as 64-bit only. Mac OS 10.6 was the last one to have Rosetta for PowerPC, and I hear complaints that it was a loss. Some games were left in PowerPC era, and "Mavericks forever" movement (10.8, the last skeuomorphic Mac OS) reports they regret not having access to PowerPC. And as you may now, modern Mac OS went to ARM. Each time there is a leap to another architecture, bones break. Legacy do not work anymore, and companies want us to move on, but we don't want to. Our broken bones hurt.

There is an ongoing problem with ARM being proprietary architecture. Our trained bones predict future pain. Again! When will be the end to this sufferring? If we are to adopt open RISC-V 64 in the end, let's just do it now and not get used to anything ARM.


I think that's a combination of things:

1) The company "sold out". That is, in times of limited supply they prioritized fulfilling large compute module orders instead of the hobbyist market that initially supported them. To be fair if I was running that company I'd have done the exact same thing, it's obviously the right financial choice. Just, you know, it'll sting for the market that was shunned.

2) They got expensive. Especially for the Pi 4 which was still dreadfully slow. That slowness was excusable at $25. Not great but okay at $35. But when suddenly it was near enough to $100+ by the time you got all the required "accessories"? Or like the Pi 5 16gb is $132 like what on earth.

3) They got 'flaky'. It used to be the pi was the rock-solid option in the space. But now they keep making weird low-reliability decisions. Like the Pi 5 "expects" a rather uniquely high amp USB-C charger. 5A @ 5V is not a common USB-C charger feature. So whatever you happen to grab is probably not sufficient, and you'll have those annoying low power warnings randomly. They chose to have dual 4k HDMI ports and went with micro-HDMI. Which is a flaky connector you probably don't have cables for (and also dual 4K? on a pi?). They kept using microSD cards. The CPU power draw increased significantly, which for the performance delta is more than justified, except it still ships without any cooling.


One misconception that everyone keeps repeating is that the pi 5 expects and needs a 5v/5a power supply to work. The CPU and all the IO will work as expected with any USB pd charger that can do at least 15 watts. The only issue you will have is a power limit on USB peripherals that use a lot of power like hard drives. Keyboards, mice and webcams will work just fine with the 600 milliamp power limit.

Previous raspberry pis had low usb power limits and people did not consider those products dead on arrival. Now that they are trying to address a limitation in the original product people are discovering that the raspberry pi was always a very limited platform to begin and the next step is not an incremental bump to the specs but to just buy a regular computer.


Except as soon as you have some issue first comment will be "are you using official power supply"? I hate such comments with passion. Feels very corporatish support.


Did you check to make sure you were using the official power supply before posting?


All of this plus, in regards to, number 2, x86 got cheap. For $80(well, pre tariffs at least) I can deal with a Pi 5s quirks and slowness, or I can buy a Radxa X4 with an Intel N100, a built in 2230 M.2 slot, 2.5GbE, and a Pi Pico with full GPIO. Software support? I have UEFI; literally anything I care to install will install from an ISO.

Literally the Radxa’s faults all boil down to the same faults the Pi has with the goofy form factor that forces you to cable squid, and the shitty microHDMI ports.

All for the same price.


Did Radxa ever iron out the heat sink issue with the X4? IIRC, when released, the official heat sink needed shimming to make proper contact with the processor.


For mine, following Explaining Computers' advice, I put in a copper shim, and that solved the issue. But I'm not sure if they ever sold through the stock of their first revision heatsink. I think they did, but I haven't bought another since the first two.


I'm going to add:

4) The penny-pinching RPi does on hardware: be it RTC, usb power kerfuffle or ARM crypto extensions (finally added in Pi 5)

5) accessory lock-down: see the situation with Pi cameras, or better yet DSI displays (CM4 datasheet: Although Linux kernel drivers are available, the DSI interface is not currently documented. Only DSI displays supported by the official Raspberry Pi firmware are supported.)

6) half-assed documentation (if you know, you know)

7) the ever-present marketing to compensate for the previous points, and the fact that it works

This is exacerbated by its popularity so people tend to treat raspberry pi as a hammer for all of their nails, while in many cases a 2$ mcu would suffice or a more network-capable SoC would be a much better fit (raspberry Pi NAS, pihole etc).


Pi5 with 4GB of ram is like £45 and runs fine for me on a standard super cheap 5v@3A charger. I think it's gone up probably less than inflation. I get where you're coming from though.


This is why I am negative on them. Apart from point 1, which I didn't really care about at the time.

And SDCards. Who kept making that decision?


No pointing device, which means you need an external mouse, no big deal except then you need a desk to put under the mouse. Unlike a laptop with a built in pointing device, so you can use it on your lap like its name suggests. Making that mistake in the 400 was, ok fine, a mistake. Perpetuating it to the 500 and now the 500+ just seems malicious.

And yeah, people say clip-on trackball, but I haven't seen one that fits on the 400 case and doesn't cost a bundle. Links would be appreciated.


These are good explanations. Their reputation as a platform for learning and tinkering was damaged, and subsequent missteps didn't improve the situation.

The Pi500+ does seem like a good system, but it's not alone at that price point, and people may still remember being told that they weren't the company's priority.


Here here! I'm using a Pi 5 and I added the Pi SSD Kit that sits on top of the fan. It made all the difference in the world! I installed Ubuntu and use it for all internet stuff.


Yeah I don't get it. I have one as my always-on server and also the only thing I port-forward, a home base if you will. Love it.


I agree. This is a genuinely good desktop for 'normal' tasks, sure you're not going to be running local LLMs or handling big 3D files but 4 decent arm cores, 16GB of RAM and a NVMe drive is more than enough for most.


Computer-is-in-keyboard is a good idea if keyboard is right. But this all-white dull stuff is no match for IBM Model M style of contrast keyboards full of sense. SUBOR SB97 is what I think of as good computer-is-in-keyboard looks. They just cloned IBM Model M. Just clone IBM Model M and you are fine


PRi 5 is miles faster than 4. So you'll be happy once you upgrade.


> 100% silent

Careful, the mechanical keys are of the clicky-clacky kind.


Or for those won't don't want to install dialog, just do your ui forms directly from the shell: https://github.com/polijan/sourcedialog


I love Toki Pona and have been using it for a little while. You can check my YouTube channel if you wish to see/hear it live in action: https://www.youtube.com/@janPolijan Toki Pona gives you the fun part of using a foreign language, but it skips the boring part of having to learn a ton a grammar and vocabulary. And the phonology is delightfully simple, so you won't have a bad accent. There's a growing and very active community around it and people write and share novels and songs. But it's also useful just as a personal language because it's really like a game for your mind. After a while, you reach proficiency and then fluency and it gets even better. It is absolutely possible to explain fairly complex things if you continue to push it. You obviously wouldn't want to do engineering in Toki Pona, but explaining quite complex topics is absolutely possible if you really desire (for example, someone has put a YouTube video explaining non-euclidean geometry in Toki Pona). One final thing: contrary to popular belief, Toki Pona is not designed to be as minimal as possible (the "tuki tiki" conlang with only 39 words modifies Toki Pona and pushes towards true minimalism). Toki Pona sure is tiny, but it's mostly designed to be fun and retain expressiveness.


I guess my question is: as you invent new phrases to describe more complex words, aren’t you effectively expanding the size of the language, even if this is “implicit”? Snowman in English is counted as a word, for instance. The advantage here of compound words is that you can easily get a gist without knowing exactly the meaning, similar to characters in Chinese that have a phonetic and meaning radical both present.


There are common forms for certains words of course, but no lexicalisation. In Toki Pona, you're not adding words, set phrases, to the language's lexicon. So there are no compound words that would be set in stone and things can and do change depending on the situation. Let's take an example: coffee. The word "telo" is some form liquid or water, so coffee could simply be just telo (if you're in context where it's clear), but you may just add it's the dark/black liquid ("telo pimeja"), or the strong hot drink ("telo wawa seli"), or the liquid of no sleep ("telo pi lape ala"), or there are many other possibilities depending on what's the important aspect you emphasize and how brief or precise you want/need to be (if you need a lot of precision, you'll end up doing several sentences, but you'll get there).


Set phrases aren’t consciously created, they’re the accumulated contextual/cultural meaning that people remember for the phrase, until people no longer use it to point at the literal meaning. If some group always drinks coffee and never tea, then eventually “strong hot drink” means “coffee”, and an outsider who asks for their own group’s “strong hot drink” (always meaning tea) is going to get a bitter surprise.


Same goes for accents. Any group will develop an accent, and it will be dominated by the group's native accent. Toki Pona won't be able to escape those, not even at small scale. I also predict the inclusion of loan words, should the language ever go beyond purists.


I don't think they would be surprised, since anyone having used the language enough to get to that point would know how it works, and they would know that they are not in their usual context.

It's like leaving out units of measure. We sometimes omit them, but we practically never lose track of when it makes sense to or have to consciously think about it.


The first time my ~3 yo daughter saw the sea she exclaimed 'POOL!' Make of this what you wish ;)


I have a convertible. My nephew in law? (Wife's brothers son, now I wonder how you express that in Toki, you don't bother, he's just young relative maybe?) had seen that car when I visit several times over the course of a few years, and it just happened that in his entire short life up to then, he had never seen it with the top up.

One day we show up with the top up.

We're inside and he comes in to tell his parents my car has "a cover or shield"

I don't know why but we all love this.


That's just a newphew, in the same way that my brother in law is my daughter's uncle.


Nice example of when a typo expresses the idea better. :-D


How would you differentiate between black tea and coffee in toki pona?


I think the idea is you don't bother to unless it actually matters in a given situation, and when it does, you just add more words.

Probably writers get this more easily. I think they are trained and edited constantly to avoid unnecessary fluff, and identify what is pointful atmospheric detail and what it pointless detail.

Does the story actually change depending on what drink dad enjoyed with his morning paper? Maybe if it was spiked, or if it was a pointed aspect of his character that he drank chocolate which others find childish, and he knows it and doesn't care. So it could, but in 99% of scenes I don't think it does matter, it only matters that it's a common thing that people do, and a common setting prop. If the language were not English and the standard way to say "morning coffee" was something else instead of specifically coffee, the scenes and stories all function exactly the same.


Reminds me of the old meme that a Vanilla Soy Latte is a 3-bean stew.


> I think the idea is you don't bother to unless it actually matters in a given situation, and when it does, you just add more words

Yes I understand that. Vietnamese works a bit like this although with a far less limited vocabulary.

I was asking about the specific case where it does matter. How complicated is it to differentiate between these two similar drinks when the difference is important?


Probably painfully, like the full real scientific names for chemical compounds and biological species, where there are hudreds or even thousands of variations of things.

I would imagine that in a system like this, you end up adding only the particular extra detail that matters at the time, and so you almost never say quite the same thing as what we mean by "coffee".

Instead it would be just "drink" most of the time (and for all I know maybe even that is too specific and it's really just "liquid" or "liquid food", but anyway...)

And then when you come in from shovelling snow, your partner has "hot drink" ready for you, because "hot" is the extra property that matters.

And when you get up in the morning, you want "invogorating drink" to get going, because "invogorating" is the extra detail that matters. (setting aside that I bet "invogorating" is NOT one of the precious few 120 available words, but there will be something like active or up or positive or fast)

And rarely bother trying to express all the of the bag of properties that "coffee" conveys.

And if you DO once in a while, maybe that is not so different from English anyway.

"a steaming hot mug of black coffee" is a lot of syllables, and we would say all of that in English if we happened to want to express all of those facets, so maybe it's not all that different?


No word for beans but "kasi" means (leaf, herb, wood, plant), or maybe you have a green tea, "jelo" mean (yellow, light green).


Not a Toki Pona speaker (yet), but I'd guess some variation/inclusion of "liquid from leaf" vs. "liquid from bean".


There's no specific word or term for either leaf or bean though.


Could you add a phrase for beans in there?


When you ask for "a cup of coffee" in different countries, you may also get pretty surprised at what you get (it may be a tiny cup, or a large glass, sugary or bitter, with milk or without...).


not even just countries - my family from California visited NYC and kept getting frustrated when they said just wanted a "regular coffee," until someone finally realized they meant "black coffee" and it was racist to say black, so they had to order "plain coffee, no milk or sugar"


But you probably will get coffee.


  liquid of no sleep
I shall now never be able to think of coffee and also not immediately think of this discussion and that particular phrase. Thanks. :)


Plus we can ask Björk to come out of retirement and make that her next album title


"Strong dark liquid of no sleep dreams furiously" just popped into my head :)


Time for us to write that album


That... is exactly how a language is expanded, "set phrases" are established and dialects are born.

If Toki Pona was used as an actual language in an everyday setting in a community, it would quickly get set, established terms and phrases for things, and essentially expand the vocabulary.


Yeah folks should probably be looking at something like Latin for comparison.

Latin vs English, Italian, French, etc.

And a good thought experiment—if one spoke Latin only, how would modern concepts or words be constructed as Latin and not one of its descendants.


The Roman Catholic church uses Latin for official definitive documents so they presumably have ways of expressing at least some modern concepts.

"Reginald Foster, a former plumber’s apprentice from Milwaukee who, in four decades as an official Latinist of the Vatican, dreamed in Latin, cursed in Latin, banked in Latin and ultimately tweeted in Latin, died on Friday at a nursing home in Milwaukee. He was LXXXI. "

https://web.archive.org/web/20201227172007/https://www.nytim...


Or the community would literally just expand the vocabulary directly, unless toki pona has mechanisms to preempt this which doesn’t seem to be the case. Except for the scripts, which both seem to be ideographic, but even then nothing precludes creating new ideographs.


And inevitably at one point something like "hot brown water" will become a single term for coffee. And then it will be contracted into something like "hobrow" because the original term was too long :)


You say that because you’re 1st gen. If this language went anywhere then the people in the 2nd gen will start adding complex words and structures that you never taught them.

This has all been observed before and is inevitable. You want them to call it “telo pi lape ala” but that’s shit so they’ll call it tala or lapela or something. That will then become the word for it.


There are real languages that kinda sorta work that way already.

For example in Tok Pisin helicopter is called "mixmaster bilong Jesus Christ" (Jesus Christ's food blender) or piano: bigpela bokis he got whitepela teeth hegot blackpela teeth sappos you hittim him he cry out (big box with white and black keys that cries out when you hit it)


Emi fulup gud dei.

Emi fulup gud dei, yumi 2 fela, tekim sol-water 1-eye fela, put im long postofis letahol blong praya-fela pasta-man, tel im:

"Sky islan twinky-twink planty-fela ia!"

This is from Ken Campbell, the UK's greatest populariser of what he called "wol wontok". https://ianlouisharris.com/tag/piotr-baumann/

It's a Ken Dodd joke, in pidgin. Original:

https://twitter.com/profdanslater/status/973184442566172678


This is rubbish. We had a piano and it was never called that, neither were helicopters.

Tok pisin was my first language, left with the babysitter when growing up.


Sure piano is piano and helicopter is helicopta and its been like that for years, but these expressions are documented and widely known as the initial words people came up with to describe things for which they didn't yet have words for.

The more those objects got in daily lives, the more incentives was to find proper words.

The point of my comment was to find an example of a _natural_ language where people came up with ways to refer to new objects by using simple vocabulary (As opposed to a conlang like toki pona)


tok long yu trupela

I want to know how/where the word for plane came from? balus

But also remember the tok pisin is a recent language, created from the colonisation efforts so it's not strange to find that modern words will have a translatation. Helicopters and piano's were around at the time.


it's possible the word comes from some substrate language, possibly the name of some flying animal.

The thing with pidgins is that when they start out, they are everybody's foreign language and are used as lingua franca. Generally people have their own native language where they may or may not have words for a given concept but then when they talk with other people from another language group they may or may not be able to just sneak in such a word and be understood. That's why sometimes long turn of phrases are used to describe stuff; not because the speaker doesn't have a word but because the speaker and the listener don't have a common word.



no, I'm just a fan


If I need to use 16 words to say "piano" then it's not a very practical language, IMO


Seems it could take some explanation to ask a guest whether they wanted coffee or tea.

But a language with 200 words necessarily becomes verbose I suppose


>Seems it could take some explanation to ask a guest whether they wanted coffee or tea.

Green or black liquid?


Now we have a word for green too? /s

Looking it up, it seems like there are only five words for colors:

pimeja (black), walo (white), loje (red), jelo (yellow), and laso (blue and green)


Interesting. I asked GPT4 if it can translate and it responded a very confident Yes. Below is the translation.

In Toki Pona, the translation for "Would you like coffee or tea?" would be:

"sina wile e kafe anu telo nasa?"

Here's a breakdown:

"sina" = you

"wile" = want/need

"e" = direct object marker

"kafe" = coffee (borrowed word)

"anu" = or

"telo nasa" = literally "intoxicating liquid", often used to mean "tea" or "alcohol" (there's no specific word for "tea" in Toki Pona, but in some contexts, "telo nasa" can be used to mean tea)

It's worth noting that because Toki Pona has such a limited vocabulary, some words and concepts may be represented differently than in other languages.


Lmao that is awful. Do you want a laso dress or a laso dress?


No, easy! Laso or jelo laso.

Loje laso walo = mauve I guess.


Yes please.


The equi-complexity hypothesis states that all languages are equally complex and just trade off complexity in one area for simplicity in another. However, it is not yet accepted and highly disputed.

https://en.m.wikipedia.org/wiki/Language_complexity


Languages seem to often have a lot of accidental complexity though, that doesn't seem to add anything and just makes it harder to learn. Like irregularities. Seem to come from a lack of design.


Just like in English: "Show up" is, ostensibly, two words, but it's a phrase with a different meaning that either "show" or "up". So yes, pretty much. But "Blue Sky" is two words indicating a single thing, but that thing is both "blue" and "sky", so no, you're not really expanding the language.

That said, I don't speak Tiki Pona, so I don't know how the language is used by the various communities that actually speak it.


This kind of phrase usually has a historical origin.

I tried to find out what it is for "show up" but apparently, this is a very recent one and originally meant something else entirely:

"verbal phrase, by 1826 as "to disgrace through exposure;"

It then changed to the current meaning only in around 1888, just ~135 years ago:

"The meaning "to put in an appearance, be (merely) present" is by 1888."

Unfortunately, I couldn't find any explanation based on historical use of the phrase (phrasal verb, to be accurate), but given it's a quite recent one, it probably originated from people just trying to emphasize "completion" of the "show" action by adding "up", like with most other phrasal verbs.

Source: https://www.etymonline.com/word/show%20up


Thanks! Yes, I remember reading older novels (Austen, maybe?) where the "disgrace through exposure" sense was used... it was obvious what was meant, but surprising.


"disgrace through superior performance" is a current meaning. AA does a thing, and then (especially if AA appears to be getting praise for it or appears proud of it), BB either does it better or does something more difficult (usually accompanied by a derisive remark about AA or AA's work).


> aren’t you effectively expanding the size of the language, even if this is “implicit”?

Yes, this is how Toki Pona dictionaries work. For example, there is a surprisingly thick two-way English - Toki Pona dictionary, "ku", which includes more than 11k entries such as "tomo tawa" for "car" or "ilo kalama" for a radio. See https://m.media-amazon.com/images/I/51n8JCdFlQL.jpg or other images from https://www.amazon.com/dp/0978292367/

Note that as it is descriptive rather than proscriptive, each translation has a superscript indicating what fraction of English-speaking Toki Pona speakers used that particular translation when the book was written. I don't have my copy on hand but I recall that there was a community survey and Sonia Lang used some kind of scale such as 4 for a universally accepted meaning down to 1 or 1/2 as a highly idiosyncratic/fanciful translation only used by a small number of people.

I suspect if the language evolves some people may compress these further so that "tomo tawa" becomes "tomo-tawa" becomes "tomotawa" which may help with parsing written text. Perhaps fluent speakers do not have this problem, but I typically have to read a sentence more than once to parse it correctly.


> Snowman in English is counted as a word, for instance.

Note that for linguists, the definition of “word” is so slippery as to not have much use. It boils down to “because it’s written that way,” and even that is a stretch, because this definition is different for other languages. And of course, not every language is written.

To use your Chinese / Mandarin example, Mandarin does something very similar to Toki Pona in terms of inventing new phrases to describe more complex concepts (here I avoid using “words” in this context because it’s not a useful concept for our use): chéngyǔ are four character idiom phrases that are not words, but references to much longer cultural stories. They have a distinct meaning, but they are not considered words.


> but it skips the boring part of having to learn a ton a grammar and vocabulary.

you haven't do it that way if don't want. It's just the school way and how many people can speak or even understanding fluently after leaving school?


To see its utility, could you translate the beginning of your comment into Toki Pona, please?


ChatGPT seems to do an ok job, although I have no idea how accurate it is. Here’s one translation of the comment:

> mi olin e toki pona. mi toki kepeken ona tan tenpo lili. sina ken lukin e tomo tawa mi lon lipu "https://www.youtube.com/@janPolijan". toki pona li pona tawa toki musi, taso ona li jo ala e toki mute e nasin toki mute. kalama ona li pona li lili. kulupu pi toki pona li suli e toki. jan li toki e toki mute e toki musi. taso, toki pona li pona tawa toki insa tan ona li musi tawa lawa. tenpo kama la, sina ken toki pona mute. sina ken toki e toki suli. taso, sina wile ala toki e toki pi ilo tawa kepeken toki pona. jan li toki e toki pi ilo sona suli lon tomo tawa lipu. toki pona li lili, taso ona li musi li ken toki e toki mute.

Re-translated back to English in a new chat:

> "I love Toki Pona. I've been speaking it for a short time. You can see my channel at "https://www.youtube.com/@janPolijan". Toki Pona is good for playful conversation, but it doesn't have many words or complex grammar. Its sound is pleasant but minimal. The Toki Pona community enhances the language. People speak many fun conversations. However, Toki Pona is great for introspective conversation because it's fun for the mind. In the future, you might speak a lot of Toki Pona. You can have long conversations. However, you might not want to discuss technology using Toki Pona. People discuss technological topics in great depth on channels. Toki Pona is small, but it's fun and can express many things."


Lots of little mistakes, here's an accurate back translation

I love Toki Pona. I've been speaking it from a short time. You can see my vehicle at https://www.youtube.com/@janPolijan. Toki Pona is good for fun conversation, but it doesn't have a lot of talking or ways of talking. Its sounds are nice and few. The toki pona community is growing the language. People do a lot of talking and have fun conversations. But toki pona is good for thinking in because of it and is fun for the mind. You'll be able to talk a lot in Toki Pona in the future. You'll be able to say large things. But you won't want to talk about transportation technology in Toki Pona. People talk in about big knowledge gadgets in book vehicles. [lol] Toki Pona is small, but it's fun and can say a lot of things.


Sure. Here's a very quick translation of the first part (up to "people share songs"):

toki pona li suli mute tawa mi. mi kepeken ona tan tenpo lili. sina wile lukin anu kute e toki pona uta lon la, o lukin e lipu Jutu mi lon ni: https://www.youtube.com/@janPolijan. toki pona li pana e musi toki. taso pali pi kama sona li pona li sama ala toki ante. pilin ike li lon ala tan ni: sona pi nimi ale en sona pi nasin toki li wile e pali lili. kin la, nasin kalama pi toki pona li pona li suwi, la uta sina li ken ala pana e kalama ike. kulupu pi toki pona li kama suli li pali mute. jan li sitelen e lipu li pana e kalama musi.


Thanks.


I've always thought it was interesting that in English there are lots of different words which mean the same thing but a different scale - like pebble / rock / boulder. It could easily just be little rock, rock, big rock. In a lot of cases the distinction does matter though, because what we can _do_ with a thing changes at different scales. We can throw a pebble without really hurting someone, a rock would be mean, and a boulder would mean you're a giant.


to save everyone time and ad gambles, here is a video from that channel of him actually speaking it

https://youtu.be/LHBIAum58QI


I don't have ads, so you can safely check the whole channel. If one wishes to preview one single video, check rather this one as it's shorter and has actually better spoken toki pona, plus subtitles are available in English (and other langs): https://www.youtube.com/watch?v=VGx_gjTqEyU


Ads appeared when I used your/that channel before the video started, sometimes, there are some that you dont have control over


toki a! mi sona e sitelen tawa sina. ona li musi mute tawa mi. :)


a! toki sina la, mi pilin pona.


how many hours do you think an average person would need to gain fluency?


And this one may be even "better" :) https://github.com/tylov/STC


Am I the only one confused by the C++ referential naming / the only C-but-not-C++ developer here? I have no idea what a shared_ptr is, or how a priority_queue behaves (is that a heap?)


The C++ envy does seem a bit peculiar, yes, but more so because my dissatisfaction with doing simple data structures in C is that I’m always doing a thousand twisty variations of the damn things, all just a little different, (usually to make allocations come out like I want them,) and it doesn’t feel like an STL-alike would solve that.

A priority queue is usually implemented as a heap (binary or otherwise) and frequently called that as well, but in more precise usage the gadget (abstract data type) you do INSERT and REMOVE-MIN to is the “priority queue”, and the implementation device of a(n implicit or explicit) tree where the value in any node is smaller than the values in its children is the “heap”. Roughly, “priority queue” is to “heap” like “ordered dictionary / map” is to “search tree”.

(I can’t think of any data structures that use heaps not for a priority queue except for treaps, but then my algorithm-fu is not particularly strong.)

As for shared_ptr, it’s just a refcounted pointer, but that bit of terminology is STL-specific so there might not be much value in learning it.


Just to clarify, the intent in my comment is that a whole bunch of the terms used there aren't "fluid associations" for me as a C developer. There's no issue looking them up, but they aren't what I would choose to name these containers.

(e.g. I would just call it "refcnt_ptr" and "heap" [if it is one], respectively)


shared_ptr is more special than a simple ref count though, it performs some level of mandatory thread synchronization for example; it's a C++-specific concept.

The STL was designed by A. Stepanov, who I suspect is simply too intelligent for this world. I have no idea what he's talking about half the time, but the rest is brilliant. Long story short; it's trying to solve a much bigger problem using a tool that wasn't built for it.


if stepanov would be too intelligent for this world, he would have designed proper iterators, not iterators which can run away. safe iterators are a thing, just not in the STL.

also he could have designed proper sets and usets. nobody really needs red-black trees when you have b- trees. likewise nobody needs linked-list usets, when you have open addressing or even swisstables.

you cannot copy from one container to another type. even the simpliest self-respecting libs support that.

you still have no string library, only memory buffers. many, many misdesigns in C++. just look at it, you'll get eyeblead


Some of that is limitations in the medium, he pushed C++ pretty hard outside its comfort zone implementing the STL.

Some of it is conventions of the medium, like the iterators; it's just the C++ way.

You copy (or move, there's a need for the distinction in C++) from ranges to iterators, it's just a more flexible perspective.

C++ has a string library, you may not like it but I'm pretty sure it exists.


indeed. auto, apply and threads!


Before releasing a script, it's always a good idea to fix the errors reported by Shellcheck. There are several here. Also the script has a /bin/sh shebang and README says it's POSIX but it has bashims (for example "echo -e" will fail in default /bin/sh in Debian).


there are more issues after fixing all of those: grep -w is not POSIX, the exit status of type is not clearly defined by POSIX, realpath is not POSIX, basename is POSIX but can be replaced with ${path##*/} for most well-formed paths (gives different results for /, but this script doesn't work properly for / anyways?), inodes are not unique across devices, --directory=dir has ugly handling but seems to work but --directory dir doesn't (i think it silently sets the directory to --directory and then passes dir as a separate argument?)


I fixed everything you mentioned. I kept basepath because it handles more edge cases. I improved the option parsing to handle --directory dir, although that is neither here nor there (it's GNU.. -ish). The handling is ugly for the sake of POSIX compatibility - if you can think of a more elegant way to write it let me know, I'd be glad to incorporate it. The exit status of type is clearly defined by POSIX (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/t...). Either way, thank you for the exhaustive list of problems, it really helped - please don't hesitate to open issues with any further observations.


more specifically the problem with type is it's not clear whether "An error occurred" includes the case where the command is not found. one could reasonably argue that printing "command not found" is a successful run. additionally, it's only present in the XSI extension. for these reasons, command -v is usually preferred for better POSIX compatibility.


I usually have it on. Turns out I didn't install the binary on this PC which was silently ignored by my editor. Fixed! Thanks for pointing it out!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: