mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.2K
active users

FunctionalProgrammingUsing context variables in SCSS Using namespaced mixins and context variables in an SCSS build pr...<br><br><a href="https://permanenttourist.ch/2025/02/using-context-variables-in-scss/" rel="nofollow noopener" target="_blank">https://permanenttourist.ch/2025/02/using-context-variables-in-scss/</a><br><br><a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/Internet" target="_blank">#Internet</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/WordPress" target="_blank">#WordPress</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/@use" target="_blank">#@use</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/gulp" target="_blank">#gulp</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/programming" target="_blank">#programming</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/SCSS" target="_blank">#SCSS</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/(CSS" target="_blank">#(CSS</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/preprocessor)" target="_blank">#preprocessor)</a><br><br><a href="https://awakari.com/pub-msg.html?id=OU9ieesMkhEB80AY5OiLBMjylFo" rel="nofollow noopener" target="_blank">Event Attributes</a>
Hacker News<p>Optimizing Brainfuck interpreter in the C preprocessor</p><p><a href="https://github.com/camel-cdr/bfcpp" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/camel-cdr/bfcpp</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/Optimizing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Optimizing</span></a> <a href="https://mastodon.social/tags/Brainfuck" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Brainfuck</span></a> <a href="https://mastodon.social/tags/interpreter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interpreter</span></a> <a href="https://mastodon.social/tags/in" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>in</span></a> <a href="https://mastodon.social/tags/the" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>the</span></a> <a href="https://mastodon.social/tags/C" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>C</span></a> <a href="https://mastodon.social/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/Brainfuck" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Brainfuck</span></a> <a href="https://mastodon.social/tags/Cpreprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Cpreprocessor</span></a> <a href="https://mastodon.social/tags/Optimization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Optimization</span></a> <a href="https://mastodon.social/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a></p>
Artyom Bologov<p>A lot of blog engineering today, mostly doing smart <a href="https://merveilles.town/tags/ed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ed</span></a> hacks and dealing with the consequences. </p><p>But! I came up with a way to include arbitrary files with <a href="https://merveilles.town/tags/ed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ed</span></a>, so it's almost as powerful as <a href="https://merveilles.town/tags/C" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>C</span></a> <a href="https://merveilles.town/tags/Preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Preprocessor</span></a> for my purposes! (Taking file name from buffer, modifying it into a reading command and then running another ed instance over this same file with this command. And using E command to read it back from modified file.)</p><p>Next: moving all the stuff I churned out to my HTML-ish format (that I should write about someday) and then to Server Side Includes (<a href="https://en.m.wikipedia.org/wiki/Server_Side_Includes" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">en.m.wikipedia.org/wiki/Server</span><span class="invisible">_Side_Includes</span></a>) for the sake of portability?</p><p><a href="https://merveilles.town/tags/theWorkshop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>theWorkshop</span></a></p>
LdBeth<p>I wrote a <a href="https://mastodon.sdf.org/tags/ML1" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ML1</span></a> macro to build my <a href="https://mastodon.sdf.org/tags/homepage" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>homepage</span></a>, then to present the macro I wrote a <a href="https://mastodon.sdf.org/tags/sed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>sed</span></a> command, now I also include the sed script in this cursed page</p><p><a href="https://ldbeth.sdf.org/mcs.html" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">ldbeth.sdf.org/mcs.html</span><span class="invisible"></span></a></p><p><a href="https://mastodon.sdf.org/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://mastodon.sdf.org/tags/html" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>html</span></a></p>
David Llewellyn-Jones<p>A blog post I've been meaning to write for nearly 20 years: simple Templating in C.</p><p>I talk about how to create a simple C++ style template, but using only C code and C pre-processor macros.</p><p>Nothing groundbreaking, but a fun exercise that I found helpful in understanding templates more generally.</p><p><a href="https://www.flypig.co.uk/blog?&amp;list_id=1209&amp;list=blog" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">flypig.co.uk/blog?&amp;list_id=120</span><span class="invisible">9&amp;list=blog</span></a></p><p><a href="https://mastodon.social/tags/C" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>C</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/template" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>template</span></a> <a href="https://mastodon.social/tags/C" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>C</span></a>++ <a href="https://mastodon.social/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://mastodon.social/tags/macro" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macro</span></a></p>
The Last Psion | Alex<p><strong>REPOST (JAN 2024):</strong> My first thoughts on <a href="https://oldbytes.space/tags/Psion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Psion</span></a>'s dialect of Object Oriented C for the Series 3 and related portable computers.</p><p>Includes the JPI/Clarion <a href="https://oldbytes.space/tags/TopSpeed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TopSpeed</span></a> <a href="https://oldbytes.space/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a>, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.</p><p>Also, did somebody say Objective-C?</p><p>This is an old blog post from the beginning of the year. If you've been following my journey in recreating <a href="https://oldbytes.space/tags/CTRAN" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CTRAN</span></a>, this was written a week before I decided to take the plunge.</p><p><a href="https://hackaday.io/project/161291-the-last-psion/log/226441-beginning-olib-an-entirely-uneducated-look-at-psions-proprietary-object-oriented-c" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">hackaday.io/project/161291-the</span><span class="invisible">-last-psion/log/226441-beginning-olib-an-entirely-uneducated-look-at-psions-proprietary-object-oriented-c</span></a></p><p>(Yes, I did say in the article that I <em>definitely wouldn't</em> be writing a compiler. I <em>did</em> say that.)</p><p><a href="https://oldbytes.space/tags/RetroComputing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RetroComputing</span></a> <a href="https://oldbytes.space/tags/EPOC16" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EPOC16</span></a> <a href="https://oldbytes.space/tags/CDECL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CDECL</span></a> <a href="https://oldbytes.space/tags/Clarion" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clarion</span></a> <a href="https://oldbytes.space/tags/TopSpeed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TopSpeed</span></a> <a href="https://oldbytes.space/tags/TopSpeedC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TopSpeedC</span></a> <a href="https://oldbytes.space/tags/RetroProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RetroProgramming</span></a> <a href="https://oldbytes.space/tags/RetroDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RetroDev</span></a> <a href="https://oldbytes.space/tags/Smalltalk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Smalltalk</span></a> <a href="https://oldbytes.space/tags/ObjectPascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ObjectPascal</span></a> <a href="https://oldbytes.space/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://oldbytes.space/tags/Eiffel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Eiffel</span></a> <a href="https://oldbytes.space/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://oldbytes.space/tags/ObjectiveC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ObjectiveC</span></a> <a href="https://oldbytes.space/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://oldbytes.space/tags/ObjectOriented" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ObjectOriented</span></a></p>
Ana Tudor 🐯<p>As someone hearted ❤️ a 2015 demo of mine, I decided that since <a href="https://mastodon.social/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> got better (and hopefully I did too), I should go for a quick 2024 remake.</p><p>Here it is on <span class="h-card" translate="no"><a href="https://fosstodon.org/@codepen" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>codepen</span></a></span> <br><a href="https://codepen.io/thebabydino/pen/wKoVGN" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codepen.io/thebabydino/pen/wKo</span><span class="invisible">VGN</span></a></p><p>It's mindblowing 🤯 how much I could reduce the (esp. compiled) code - check it out!</p><p>HTML by 73%!<br>CSS by 70%!</p><p>I repeat: I shaved off at least 70% from each! ‼️ </p><p><a href="https://mastodon.social/tags/Sass" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sass</span></a> <a href="https://mastodon.social/tags/SCSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SCSS</span></a> <a href="https://mastodon.social/tags/Haml" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haml</span></a> <a href="https://mastodon.social/tags/Pug" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pug</span></a> <a href="https://mastodon.social/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://mastodon.social/tags/cssVariables" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cssVariables</span></a> <a href="https://mastodon.social/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.social/tags/cssGrid" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cssGrid</span></a> <a href="https://mastodon.social/tags/cssLayout" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cssLayout</span></a> <a href="https://mastodon.social/tags/cssMaths" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cssMaths</span></a> <a href="https://mastodon.social/tags/code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>code</span></a> <a href="https://mastodon.social/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://mastodon.social/tags/frontend" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>frontend</span></a> <a href="https://mastodon.social/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.social/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.social/tags/webDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webDev</span></a> <a href="https://mastodon.social/tags/webDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webDevelopment</span></a></p>
bouncepaw's links<p><strong><a href="https://pydong.org/posts/PythonsPreprocessor/" rel="nofollow noopener" target="_blank">Python’s Preprocessor</a></strong></p> <blockquote><p>Every now and then you hear outrageous claims such as “Python has no preprocessor”. </p></blockquote><p>Curly braces for blocks, increment and decrement, and C-like preprocessor directives. The most arcane Python hacks! </p> <p><a href="https://links.bouncepaw.com/tag/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a>, <a href="https://links.bouncepaw.com/tag/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a></p>
Some Bits: Nelson's Linkblog<p>Python magic codecs: Some really bonkers Python hacking using a preprocessing facility to add syntax<br><a href="https://github.com/Tsche/magic_codec" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Tsche/magic_codec</span><span class="invisible"></span></a><br> <a href="https://tech.lgbt/tags/metaprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>metaprogramming</span></a> <a href="https://tech.lgbt/tags/preprocessor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>preprocessor</span></a> <a href="https://tech.lgbt/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://tech.lgbt/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://tech.lgbt/tags/hacks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hacks</span></a> #+</p>

Class-building time for #ctran.

The compiler tutorials I've read don't talk about how to deal with classes and inheritance. I assume that a metaclass has to be built for each class. But should I then store those metaclasses for later use, or do I regenerate them when needed? I assume the former.

Also, my parser doesn't currently check for duplicate classes or methods (inside classes). Should it be in the parser, or should it be part of the thing that builds the output?

STM32. Процесс компиляции и сборки прошивки

Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций. Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом? Всем кому интересно — добро пожаловать под кат! 🙂

habr.com/ru/companies/timeweb/

ХабрSTM32. Процесс компиляции и сборки прошивкиМногие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и...

Sometimes there's a need to compile certain part of the code depending of the external factors like target OS or whether it's debug or release build. There is preprocessor directive #if that allows to wrap a part of the code the be conditionally compiled but there are certain disadvantages to using that:

📌compiler doesn't check the code that is inside #if directive when the condition is not true. That could lead to discovering an error once the directive changes to true due to other part of the system had changed.

📌with #if it's often that the directive would be inside the method at the call site, mixed up with the generic code which makes that harder to read

Conditional attribute can fix those problems. We only need to mark the method that supposed to be conditionally compiled into the code. We do not need to change the call-site and the compiler takes care of that. Also, the compiler still checks the correctness of the code that we have inside that method.

🚩Docs for preprocessor directives📑 learn.microsoft.com/en-us/dotn

🚩Docs for Conditional attribute 📑 learn.microsoft.com/en-us/dotn

Did you had to use those in your projects? If so please share ♻.

ICYMI: My first thoughts on #Psion's dialect of Object Oriented C for the Series 3 and related portable computers.

Includes the JPI/Clarion TopSpeed compiler, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.

Also, did somebody say Objective-C?

hackaday.io/project/161291-the

Replied in thread

@jhx You asked for it, so I'll answer it:

Imho, C++ design is broken from the very beginning. It wanted to provide #OOP language constructs, still maintaining full #C compatibility (which already failed many years ago, cause the languages took different roads).

It combines #exceptions (IMHO generally a bad idea) with explicit resource management (an *awful* idea, forcing you to use #RAII which will in turn mandates creation of purely "technical" classes, just to manage resources).

It wanted #generics, but that's impossible without breaking C compatibility, so it came up with #templates, actually a #preprocessor on steroids.

Overloading also doesn't fit into the simple C library ABI (where #linker symbols are named just like the function), so it came up with "name mangling" ... which is especially horrific because it is *not* standardized.

Ah well, I could go on 😂

404Not Found