{"id":820,"date":"2022-02-28T03:14:53","date_gmt":"2022-02-28T02:14:53","guid":{"rendered":"https:\/\/www.dereckson.be\/blog\/?p=820"},"modified":"2022-02-25T11:06:29","modified_gmt":"2022-02-25T10:06:29","slug":"february-2022-in-links","status":"publish","type":"post","link":"https:\/\/www.dereckson.be\/blog\/2022\/02\/28\/february-2022-in-links\/","title":{"rendered":"February 2022 in links"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The secret life of strings<\/h2>\n\n\n\n<p>An <strong><a href=\"https:\/\/marc.info\/?l=php-internals&amp;m=164457087123399&amp;w=2\" data-type=\"URL\" data-id=\"https:\/\/marc.info\/?l=php-internals&amp;m=164457087123399&amp;w=2\">interesting discussion<\/a> about bytes, <a href=\"https:\/\/unicode.org\/glossary\/#code_point\" data-type=\"URL\" data-id=\"https:\/\/unicode.org\/glossary\/#code_point\">code points<\/a> and <a href=\"https:\/\/unicode.org\/glossary\/#grapheme\">grapheme<\/a> on the PHP internals mailing list <\/strong>explains why the notion of string length isn&#8217;t relevant.<\/p>\n\n\n\n<p>Per this discussion, the <a href=\"https:\/\/www.php.net\/manual\/en\/ref.intl.grapheme.php\" data-type=\"URL\" data-id=\"https:\/\/www.php.net\/manual\/en\/ref.intl.grapheme.php\">grapheme extension functions<\/a> will now be <a href=\"https:\/\/devcentral.nasqueron.org\/D2550\" data-type=\"URL\" data-id=\"https:\/\/devcentral.nasqueron.org\/D2550\">supported for UTF-8 encoding by OmniTools<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Console love<\/h2>\n\n\n\n<p>Among the trending projects on GitHub in January was <strong><a href=\"https:\/\/github.com\/charmbracelet\/glow\" data-type=\"URL\" data-id=\"https:\/\/github.com\/charmbracelet\/glow\">glow<\/a>, a Markdown viewer for CLI<\/strong>.<\/p>\n\n\n\n<p><a href=\"http:\/\/taniere.info\/\" data-type=\"URL\" data-id=\"http:\/\/taniere.info\/\">Fauve<\/a> noticed <a href=\"https:\/\/github.com\/wustho\/epr\" data-type=\"URL\" data-id=\"https:\/\/github.com\/wustho\/epr\">epr, a CLI reader for ebooks in ePub format<\/a> The author made made that evolve into <a href=\"https:\/\/github.com\/wustho\/epy\"><strong>epy, to support more formats and features<\/strong><\/a>. If you&#8217;re interested to mix those modern tools in a BBS, <a href=\"https:\/\/devcentral.nasqueron.org\/project\/view\/138\/\" data-type=\"URL\" data-id=\"https:\/\/devcentral.nasqueron.org\/project\/view\/138\/\">Nasqueron has a project for that<\/a>. <\/p>\n\n\n\n<p>If you work a lot in <a href=\"https:\/\/github.com\/tmux\/tmux\/wiki\">tmux<\/a>, you&#8217;ve noticed it can be a pain to manage a consistent history. During a brainstorming session on IRC #wolfplex, I&#8217;ve suggested we could build a solution writing in real-time the history into SQLite, so we can share history across different zsh, and avoid some of the corruption. The good surprise is that solution already exists, it&#8217;s called <a href=\"https:\/\/github.com\/larkery\/zsh-histdb\" data-type=\"URL\" data-id=\"https:\/\/github.com\/larkery\/zsh-histdb\"><strong>ZSH History Database<\/strong><\/a>, or zsh-histdb and it does exactly that: publish history into a SQLite database. The author explained <a href=\"https:\/\/www.reddit.com\/r\/zsh\/comments\/67gsm8\/a_thing_i_made_to_put_your_zsh_history_into_a\/\" data-type=\"URL\" data-id=\"https:\/\/www.reddit.com\/r\/zsh\/comments\/67gsm8\/a_thing_i_made_to_put_your_zsh_history_into_a\/\">his own motivation <\/a>in this reddit post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Photo of the month<\/h2>\n\n\n\n<p>While early 2022 is mostly about James Webb Space Telescope, my current wallpaper is a photo taken by Hubble of <strong><a href=\"https:\/\/apod.nasa.gov\/apod\/ap220221.html\">Barred Spiral Galaxy NGC 6217<\/a><\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The secret life of strings An interesting discussion about bytes, code points and grapheme on the PHP internals mailing list explains why the notion of string length isn&#8217;t relevant. Per this discussion, the grapheme extension functions will now be supported for UTF-8 encoding by OmniTools. Console love Among the trending projects on GitHub in January [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[339,302,337,343,341,354,335,356,333,352,355,353],"class_list":["post-820","post","type-post","status-publish","format-standard","hentry","category-misc","tag-bbs","tag-cli","tag-ebooks","tag-epr","tag-epub","tag-epy","tag-glow","tag-i18n","tag-links","tag-tmux","tag-utf-8","tag-zsh"],"_links":{"self":[{"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/posts\/820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/comments?post=820"}],"version-history":[{"count":2,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/posts\/820\/revisions"}],"predecessor-version":[{"id":840,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/posts\/820\/revisions\/840"}],"wp:attachment":[{"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/media?parent=820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/categories?post=820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dereckson.be\/blog\/wp-json\/wp\/v2\/tags?post=820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}