textlog
500 chars / 15 lines max ยท use #hashtags, @mentions and more
๐Ÿ˜€๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜๐Ÿ˜†๐Ÿ˜…๐Ÿ˜‚๐Ÿคฃ๐Ÿ˜Š๐Ÿ˜‡๐Ÿ™‚๐Ÿ™ƒ๐Ÿ˜‰๐Ÿ˜Œ๐Ÿ˜๐Ÿฅฐ๐Ÿ˜˜๐Ÿ˜‹๐Ÿ˜›๐Ÿ˜œ๐Ÿคช๐Ÿคจ๐Ÿง๐Ÿค“๐Ÿ˜Ž๐Ÿคฉ๐Ÿฅณ๐Ÿ˜๐Ÿ˜’๐Ÿ˜ž๐Ÿ˜”๐Ÿ˜Ÿ๐Ÿ˜•๐Ÿ™โ˜น๏ธ๐Ÿ˜ฃ๐Ÿ˜–๐Ÿ˜ซ๐Ÿ˜ฉ๐Ÿฅบ๐Ÿ˜ข๐Ÿ˜ญ๐Ÿ˜ค๐Ÿ˜ ๐Ÿ˜ก๐Ÿคฌ๐Ÿคฏ๐Ÿ˜ณ๐Ÿฅต๐Ÿฅถ๐Ÿ˜ฑ๐Ÿ˜จ๐Ÿ˜ฐ๐Ÿ˜ฅ๐Ÿ˜“๐Ÿค—๐Ÿค”๐Ÿซฃ๐Ÿคญ๐Ÿซข๐Ÿคซ๐Ÿคฅ๐Ÿ˜ถ๐Ÿ˜๐Ÿ˜‘๐Ÿ˜ฌ๐Ÿ™„๐Ÿ˜ฏ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜ฎ๐Ÿ˜ฒ๐Ÿฅฑ๐Ÿ˜ด๐Ÿคค๐Ÿ˜ช๐Ÿ˜ต๐Ÿค๐Ÿฅด๐Ÿคข๐Ÿคฎ๐Ÿคง๐Ÿ˜ท๐Ÿค’๐Ÿค•๐Ÿค‘๐Ÿค ๐Ÿ˜ˆ๐Ÿ‘ฟ๐Ÿ‘ป๐Ÿ’€โ˜ ๏ธ๐Ÿ‘ฝ๐Ÿค–๐ŸŽƒ๐Ÿ˜บ๐Ÿ˜ธ๐Ÿ˜น๐Ÿ˜ป๐Ÿ˜ผ๐Ÿ˜ฝ๐Ÿ™€๐Ÿ˜ฟ๐Ÿ˜พโค๏ธ๐Ÿงก๐Ÿ’›๐Ÿ’š๐Ÿ’™๐Ÿ’œ๐Ÿ–ค๐Ÿค๐ŸคŽ๐Ÿ’”โฃ๏ธ๐Ÿ’•๐Ÿ’ž๐Ÿ’“๐Ÿ’—๐Ÿ’–๐Ÿ’˜๐Ÿ’๐Ÿ’Ÿ๐Ÿ‘๐Ÿ‘Ž๐Ÿ‘Œ๐ŸคŒโœŒ๏ธ๐Ÿคž๐ŸคŸ๐Ÿค˜๐Ÿค™๐Ÿ‘ˆ๐Ÿ‘‰๐Ÿ‘†๐Ÿ‘‡โ˜๏ธโœ‹๐Ÿคš๐Ÿ–๏ธ๐Ÿ––๐Ÿ‘‹๐Ÿค๐Ÿ‘๐Ÿ™Œ๐Ÿซถ๐Ÿ‘๐Ÿคฒ๐Ÿ™โœ๏ธ๐Ÿ’ช๐Ÿ‘€๐Ÿ‘๏ธ๐Ÿง ๐Ÿซ€๐Ÿซ๐ŸŒฑ๐ŸŒฟโ˜˜๏ธ๐Ÿ€๐ŸŒธ๐ŸŒบ๐ŸŒป๐ŸŒž๐ŸŒ™โญโœจโšก๐Ÿ”ฅ๐ŸŒˆโ˜€๏ธโ˜๏ธโ„๏ธโ˜•๐Ÿ•๐ŸŽ๐ŸŽ‰๐ŸŽŠ๐ŸŽˆ๐ŸŽ๐ŸŽต๐ŸŽถ๐ŸŽจ๐Ÿ“š๐Ÿ’กโœ…โŒโš ๏ธ๐Ÿš€๐ŸŒ๐Ÿ’ป๐Ÿ“ฑ๐Ÿ”’๐Ÿ”‘
example.com or
https://example.com
Regular links
[title](example.com) or
[title](https://example.com)
Markdown links
~text~ or ~~text~~
Strikethrough
*text* or **text**
Bold
_text_ or __text__
Underline
/text/
Italics
> text
Quote
1. first
2. second
3. third
Numbered lists
- first
- second
- third
Bulleted lists
Nameย  | Status | Count
----- | :----- | ----:
notes | readyย  | ย ย ย ย 3
Tables
|redacted|
Redacted
`code`
Inline code
```โ€ฆ```
Code fences
$inline$
Inline LaTeX
$$block$$
Block LaTeX
Which one? #poll
First option
Second option
PollsUse 2โ€“8 unique options.
Which one? #quiz
Wrong answer
> Correct answer

Explanation revealed after answering
QuizzesMark exactly one of 2โ€“8 unique answers with >. Text after a blank line is revealed after answering.
Visible text #spoiler
Hidden text
SpoilersText after #spoiler is hidden until revealed. Aliases: #tldr, #sensitive, #contentwarning, #cw, and #triggerwarning.
Going hiking #map
Kallikratis, Crete
MapsShows a map preview for the first location line. Alias: #location.
Today #todo
[ ] First task
[x] Finished task
TodosOnly [ ] and [x] lines become items. Click your items to toggle them.
Run this #exec
```js
console.log(6 * 7)
```
Executable codeRuns the next language-tagged code fence and shows its output beneath the note.
Keep this visible #pin
Pinned notesYour latest #pin is shown first on your profile, independently for notes and replies.
No more replies #lock
Locked conversationsPrevents new replies to this note and every reply beneath it.
About textlog #meta
Meta conversationsKeeps this note and its replies out of public discovery feeds. Aliases: #tlog and #textlog.
Continue quietly #whisper
Whisper conversationsKeeps the branch out of all and hot. Participants, mentions, and tag followers can receive it in my feed. It remains public elsewhere.
Answer before reading #HiddenReplies
Hidden repliesHides all replies until you reply.
I tried to do the same as Rust in TypeScript, I made a test runner that ran the test_X function for the file. It worked ok, but it became too messy so I decided separate files with the same filename + .spec is good as well. I definitely not want to hunt the test files in different directories/projects.
Absolutely! I think separating HTML, CSS, and JS into separate files was a mistake. Web components would have succeeded far more if they had gone with the single-file component idea that so many web frameworks are converging on. I think it barely made sense in the Web 1.0 days โ€” certainly not in the era of Web applications.
Microservices. Not really programming, as this is more on the architectural level. Microservices is a valid approach when you need to address massive scale. The thing is, I have seen it applied to things that could realistically serve its audience in a handful of modest servers with a less fashionable approach. It was done under the guise of simplification; each individual microservice was in fact very small. But this at the cost of absolute spaghetti architecture.
Yes, exactly, Iโ€™ve been in the same situation and I agree wholeheartedly. It was an internal tool used only by employees, so no scaling necessary, and we had microservices which made it extremely complex to reason and deploy. A single monolithic server would have been so much better.
๐ŸฅทprofilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.replied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
Fully agree - if you have the full function or scope of the variable in sight, keeping the variable short make it easy to read and quick to type. Of course if you program in something like k or goal, almost everything is single letter (:
๐ŸฅทprofilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.replied to๐Ÿคธprofilefollowcreative technologistGitHubstagas - Overviewstagas has 462 repositories available. Follow their code on GitHub. creator of textlog:
I assume this is not original at all at this point - but (extreme) DRY is not a good practice. My experience is that a bit of copying yourself and your colleagues in the code base often make maintenance of the code base easier.
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.replied to๐ŸฅทprofilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.:
I think DRY should just die. It lacks any of the nuance of why copying code is a bad idea. I prefer thinking about a single source of truth and whether two pieces of code are semantically related rather than just happen to look similar. I also think identifying such similarities is hard without first seeing the repetition in a few instances and it is much better to add another copy than introduce the wrong abstraction; unless itโ€™s really obvious then just wait for more repetitions first.
Getters and setters for everything. Certainly, if you want an object to be doing more than just getting and setting a value right now, get them in there! Planning to add functionality later without breaking code? Stop it! That should break code! If I'm consuming a library and have been using this setter method for 2 years, I don't want it to suddenly introduce brand new validation, caching, or logging behavior!
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.replied to๐Ÿ˜Šprofilefollow:
Are getters and setters on everything even considered a good practice? To me it screams junior developer who hasnโ€™t yet fully understood encapsulation and abstraction โ€” if youโ€™re just exposing getters and setters as the interface then what is the class/module/etc providing beyond what a standard variable doesโ€ฆ?
join the communityorbrowse more notes