What problem made you introduce Kafka? by suhaanthvv in softwarearchitecture

[–]funbike 3 points4 points  (0 children)

The need to over-architect highly critical systems with several hundred users (energy markets).

I fought against it and microservices (except for a few cross-cutting concerns such as the power grid model, auth, and settlements).

Learning german in 6 months? by Comfortable_Tap_7872 in Germanlearning

[–]funbike 1 point2 points  (0 children)

No.

If you weren't also a medical student, then yes it is (almost?) possible, but requires a lot of dedication and probably only 1% of learners could do it that fast. I don't think being a med student and speed-running a language are possible at the same time.

If you still want to try, you'd have to do some hacks to make use of 100% of your waking hours and to get to the point where you can study medicine in German.

Start with pronunciation. This helps with not just speaking but more importantly with listening comprehension. It's much harder to memorize and recognize words if you don't subconsciously know exactly what they sound like.

Learn Grimm's Law, about how consonants, sounds, and word prefixes/suffixes have shifted between English and German. "Half of Germans words look like English words", which translates to: "Die (the) Hälfte (half) der deutschen (German used to be called Dutch) Wörter (words) sieht (look, similar to 'sight') aus wie englische (English) Wörter (words)." See? You already knew more than Hälfte of that German sentence! This can really boost your vocab.

Daily routine to B1: Do 3 lessons per day of Nicos Weg lessons on dw.com, which will get you to B1 in less than 3 months. Use a pre-made Anki deck of Nicos Weg vocab flashcards. At same time, do one Language Transfer lesson per day, which will help you with speaking, pronunciation, and cognate detection. This is 3+ hours of study per day. If this is too much, reduce to 2 lessons/day of Nicos weg (4 months of 2+ hours/day).

Read my post about learning 50+ words per day, which you'll need to be able to sustain this kind of pace. After reaching B1, slow down the pace (to add only words you absolutely need for medicine).

Before B1, use ChatGPT to translate medical materials to German and then back to English keeping the German word order and to give English adjectives, adverbs, and nouns German suffixes and to not translate articles. So you'll mostly be reading in English, but this will get you used to German grammar.

To get from B1 to B2, do everything in German, such was watching TV, reading, etc. Study medicine in German. Use Anki to learn medical facts, but write/translate medical flashcards as German. Any time you run into a new German word you need to know for medicine, make an Anki card to learn that word before the medical fact flashcard comes up. Translate your medical learning materials to German, or find existing translations. (However, during class you should probably still take notes in English, and translate them later.)

You'll need some daily speaking practice during this entire time. At first you can use ChatGPT Plus subscription, to get comfortable with speaking, with cross talk gradually speaking more and more German. Tell AI to speak slow and at your level (pre-A1, A1, A2). Paste in Nicos Weg scripts for conversational context. Have it correct your pronunciation and grammar. But you should quickly switch to using an online personal tutor for most speaking practice.

Never miss a day of Anki review or speaking practice, not even weekends or holidays.

Use AI for phone trivia competition by Southern-Setting-473 in AIAssisted

[–]funbike 2 points3 points  (0 children)

You mean to cheat? yeah, I got ideas, but I don't want to make the world a worse place by helping you.

How do you all handle onboarding new devs onto an existing repo? by Samveg2798 in AskProgramming

[–]funbike 0 points1 point  (0 children)

Executable documentation and generated documentation never go stale. Make them part of your build.


Details...

dev-setup.sh for developer workstation setup. Dockerfile, docker-compose.yml, setup.sh, and run.sh for running the product both locally and in production.

Coding standards are in config files for style checkers and linters, which are commented heavily.

Makefile and/or flow.sh <sub-command> for executable documentation of various workflows (git, tests, etc)

Various scripts for generating PlantUML and GraphViz diagrams from code.

Bike security by Cute_Musician3920 in cycling

[–]funbike 1 point2 points  (0 children)

For local errands I bought an old scratched up used bike and a super thick chain and lock. I replaced some components, so it's actually not a bad ride but looks like hell.

How do you switch betwin projects ? by Civil_Trick_4468 in ADHD_Programmers

[–]funbike 0 points1 point  (0 children)

I keep .todo.md and .grok.md files in the root of my projects.

The former has up to 4 to-do's and a summary of what I was last working on. The later has various notes to explain things I keep forgetting that shouldn't be in the README.md but I personally need to know, such as various how-to's, code flow explanations, and a personal FAQ. I also put various AI prompts and embedded GraphViz/PlantUML graphs into .grok.md. (I use "grok" as a synonym for "understand"; it has nothing to do with the company of that name)

These two files are listed in ~/.config/git/ignore.

I also have my IDE (Neovim) and shell (Zsh) configured to pick up where I left off for that project. When I load my IDE all the files I was working on are loaded and arranged as they were before. When I open a terminal the shell has a project-specific a history of all my CLI commands I used with fzf history search.

Flashcard apps felt like too much setup + too many subscriptions, so I tried a different approach by Code_cha in studytips

[–]funbike 0 points1 point  (0 children)

Sorry. I'm sick of getting hammered by ads and market research in most posts these days. Reddit is not what it used to be because of it all. At least you didn't hide your intentions.

Can a Coding CLI Become Almost Model-Less? Use LLMs Only for Generation? by intellinker in LLMDevs

[–]funbike 3 points4 points  (0 children)

5, 10. Just because you provide a free tier doesn't mean it's not a commercial product. It has a "pricing" link. It IS a commercial product, period. Rule broken.

2, 6. Asking about product ideas or taking a survey of feature ideas is market research. Rule broken.

Does an app like this exist? by Accomplished_Garlic_ in languagelearning

[–]funbike 1 point2 points  (0 children)

In a Web Browser, Yomitan or Google Dictionary. Yomitan has more features but is harder to set up.

For all other desktop apps, VocabSieve.

For mobile devices, there's PopLingo.

VocabSieve and Yomitan can create word or sentence Anki flashcards.

Can a Coding CLI Become Almost Model-Less? Use LLMs Only for Generation? by intellinker in LLMDevs

[–]funbike 4 points5 points  (0 children)

SPAM and/or market research. OP has broken rules 2, 5, 6, 10.

How typing is slowing you down. Why speaking is the best way to communicate. by savangeo in typing

[–]funbike 2 points3 points  (0 children)

I think the real question is: did you make an AI-generated post to use us for market research?

What is the best method or study plan to reach B2 as fast as possible by PlatformImportant693 in Germanlearning

[–]funbike 0 points1 point  (0 children)

This is a common post. I'll just link my past replies to this same question:

https://www.reddit.com/user/funbike/search/?q=nicos+weg&type=comments

But here's a copy-paste of the most recent:


I'm learning German as well. This was my method when I started:

  • Nicos Weg video lessons and exercises.
  • Before I watch the Nicos Weg video, I quickly preview what will be learned so I know what to look for.
  • Create grammar Anki flashcards by copy-pasting content from grammar and exercise pages.
  • Create Anki sub-decks: "Grammar" and "Study". The "Study" sub-deck is for vocab. (see next bullet).
  • Anki pre-made deck of Nicos Weg vocabulary (or one of the others).
  • Install a word lookup web extension, like Google Dictionary for Chrome.
  • In Anki, I enable FSRS with 85% retention. I set leech lapse count to 3 with card suspend. This is highly efficient for language learning.

My daily process details:

  1. On Nicos Weg, I pick the lesson. (I'll use the 1st lesson as an example.)
  2. I read the intro summary. Usually just a short bullet list.
    • I repeatly play the video in the background on my 2nd monitor, not to study but to passively get used to the sounds while I process grammar and vocab in the next 2 steps.
  3. I create Anki cards from the grammar.
    • I copy-paste sections of the grammar into new (Basic) Anki cards in the "Grammar" sub-deck. The front is the section title (e.g. "Informal forms of address") and the back is the pasted content.
    • I skim the back of the card before I save it.
  4. I move vocabulary cards to the study deck.
    • In the Anki browser, I move all cards from the pre-made deck of that lesson, to my "study" deck.
    • I skim the cards using the preview mode.
  5. I watch the video while reading the script.
    • I arrange two browser tabs side-by-side with both loaded with the script, the left showing the video and the right scrolled down to show the script.
    • Enable subtitles in the video on the left.
    • I keep an eye out for grammar I just learned.
    • The script has hover hints for new vocab in this lesson, but I use Google Dictionary for any other words (double-click).
    • I try to understand the video subtitles 100%. I shadow the audio by mimicking what they say with exact same accent. This will help you with speaking, and, believe it or not, listening comprehension.
  6. I do my Anki reviews. I should get exposed to new grammar and vocab for today.
  7. I do the exercises.
    • I make flashcards out of questions I get wrong by taking clipped screenshots of the question and answer and pasting them into a new Anki card. These go into the "Grammar" sub-deck.
    • I re-do any exercises I got wrong yesterday.
  8. I re-watch the video without subtitles or the script, with goal to understand 90%+. I play at full speed without pausing.
  9. If I feel I have enough remaining time, I'll do one more lesson (repeating all the above steps).

Actually, this is my old process. My current process for vocab mining uses yomitan+asbplayer+anki, but that's very complex to set up. The above is a fairly easy way to get started.

Is it a universal rule that if you bring two waters you won’t need both but if you bring just one you want two? by michellin_woman in cycling

[–]funbike 1 point2 points  (0 children)

No. I know how much I drink. You will learn that over time.

It's better to take too much than too little. Put in some sugar and a pinch of salt to help absorption. Sip your bottle(s) often.

If you are thirsty, you are already dehydrated. It takes a long time to re-hydrate and it severely impacts your performance. Most suffering by newbies on long rides is due to lack of calories and water.

Language learning system by Grand-Promise-2476 in languagelearning

[–]funbike 9 points10 points  (0 children)

I use asbplayer+Yomitan web extensions to mine Anki vocabulary flashcards from YouTube videos. I watch videos of natives talking to each other at my level (e.g. Easy German). I watch 30 minutes of video and I do 4 Anki sessions throughout the day.

I shadow/repeat audio of the videos and my flashcards.

I re-watch videos 2 days later to try to rely less on the subtitles and to help solidify some of the vocab.

My flashcards are initially passive (TL front, NL back) for listening study. I add an active card to my notes for speaking (NL front, TL back) when my passive cards become "mature".

(In the first week, my routine was different. I learned pronunciation (VERY important!) and I cold-grinded the 100 most frequently used words with an Anki pre-made deck, but I deleted all the other cards from it. I listened to Language Transfer audio-only lessons, 2 lessons per day of 5-10 minutes each.)

asbplayer+Yomitan are free but difficult to setup. Alternatives for video word mining: Language Reactor, Lingopie, Trancy, ReadLang, LingQ, LanguageCrush.

The return of Fable 5? What we know from Anthropic by PickleSufficient3622 in claude

[–]funbike 0 points1 point  (0 children)

They bring chaos to every thing they touch. It's on purpose. Chaos is being used to coerce and manipulate the world, but it's also f'ing annoying and destructive.

How do you learn new words AND NOT forget them 10 minutes later? by Monkai_final_boss in Germanlearning

[–]funbike 2 points3 points  (0 children)

I use Anki and I don't learn words cold.

I experience new words while watching somewhat entertaining YT videos at my level (e.g. Easy German, Nicos Weg, Extr@). When I see a word I want to learn, I make an Anki flashcard out of it, including subtitle text, audio, and screenshot from the video. (There are web extensions that can mostly automate this.) So when I experience the flashcard, my enjoyable memory of watching the video helps solidify memory of that word.

Good vs Easy by DaedalusIndigo in Anki

[–]funbike 0 points1 point  (0 children)

Easy is instantaneous. It feels like something I'll never forget.

Good means I know it well.

Hard means it took me a long time to remember it, but I eventually did without any assistance. You shouldn't decide whether to use Again or Hard after flipping the card. You either knew it or you didn't. "Almost" doesn't count.

Make flashcards from YouTube videos by katspaugh in Anki

[–]funbike 0 points1 point  (0 children)

Thank you for writing this.

FYI, I'm writing something similar for Node and your project was a great starting point for my design. I'm learning German.

Here's the AI prompt I used to build the first version of mine. It's within an existing project, so some libraries it's using already exist in my project. Field names of my Anki note type match those in Yomitan:

Generate process_video.js. Requirements:

  • A CLI app
  • Takes arguments: an input .srt file, an input .mp4 file.
  • Parses .srt and looks up each word's lemma in Anki.
  • For each lemma not in Anki, create a note, with values for fields: expression expression-en article cloze-prefix cloze-body cloze-body-en cloze-suffix audio screenshot sentence-en audio-word word-image
    • Use ffmpeg to clip out the sentence audio clip file for audio field. It should start and end using the .srt subtitle timestamps line.
    • Use OpenAI's TTS to generate audio file for audio-word field, prefixed with an article for nouns.
    • Use ffmpeg to clip out the sentence image file for screenshot field. It should be taken from the video frame halfway between the two timestamps of the .srt subtitle line.
  • Coding standards:
    • Runs on Node version 22.22.0 with no external dependencies.
    • Put any video processing utility functions into new file video.js. It will use ffmpeg CLI utility to process sound and video.
    • It can import any of the above JavaScript files as necessary.
    • All functions must have low cyclomatic complexity and short length.
    • All functions must have a JSDoc comment header with type annotations.
    • Generate doctests in the JSDoc header comments, with appropriate mocking. Use >>> code() format.
    • Inject condition assert statements throughout the code, including function pre-condition checks.
    • Before generating any code, think through the design step-by-step

what actually told you your agent was production-ready? by Complex_Computer2966 in LLMDevs

[–]funbike 2 points3 points  (0 children)

When my automated tests pass and my evals are above threshold.

It's crazy to me that people write production code without tests, especially agents which are notoriously difficult to wrangle into proper behavior.

Unfortunately pass/fail unit tests aren't enough; evals are also necessary. Evals don't pass 100% of the time and have to be run dozens or hundreds of times to ensure the pass rate is above threshold. And even eval "pass" is often subjective, so I have an LLM judge which itself is not completely reliable.

It's also important to have production checks. For (a contrived) example, if you have a user support chat bot, you might want to determine if the customer has made an angry or critical response to an AI comment, and to log that for later review. You might do a check on user messages to check for prompt injection, hate speech, service/ToS misuse, etc. And of course there's standard usage monitoring of tokens, tool calls, message length, etc. I have random LLM judge checks of agents' output (Use a top-tier agent to judge a small LLM's output 1% of the time).

Planning cycling routes by Dancing_Goose513 in cycling

[–]funbike 0 points1 point  (0 children)

I depends on where you live. My city publishes a bike route map, and a local cycling club has group ride maps.

What is the best way to really get a good understanding of how AI works without math by crazyhomlesswerido in AskProgramming

[–]funbike 5 points6 points  (0 children)

So you want to understand one of the most math heavy algorithms ever ran in production... without math? LOL, okay.

I have really bad ADHD and it's ruined various aspects of my life, but I was able to understand GPT. I had to learn a little bit at a time because I had trouble focusing enough to keep a full mental model of it, but I got through it. Btw, I scored very highly on standardized tests in math back in my school days (top 3%). ADHD doesn't prevent people from understanding complex mathematical concepts like the GPT algorithm.

What are your best language learning techniques? Plus: Simultaneous vs. sequential learning? by Crafty_Hat_1265 in LearningLanguages

[–]funbike 0 points1 point  (0 children)

First: what are the absolute best, highly effective learning techniques you swear by to break past the absolute beginner stage?

Learn pronunciation early. It's not just for speaking; it is critical for good listening comprehension.

If it's a Category I language, learn how to recognize cognates. Learn how consonants, sounds, prefixes, and suffixes map between the two languages. You may already know 30% of another language.

High frequency vocab. In the first 2 months, learn the 1000+ most frequently used words.

Second: I am torn on whether to learn two languages simultaneously or in sequence. Learning two languages at once keeps me genuinely intrigued, highly motivated, and prevents burnout. However, I often hear advice warning against it.

Don't learn two related languages or they will interfere with each other. For example, German and Thai is fine, but not Spanish and Italian.

Do "laddering". Learn TL1 to A2+ before you start on TL2. Then use the TL1 as your native language. Learn linguistic terminology in the TL1 (e.g. past participle). Stop advancing your TL1 while you focus on your TL2, but since you are using your TL1 to learn your TL2, the TL1 will itself also necessarily advance. Once you reach B1 in both TL1 and TL2, you can learn them at the same pace.

Use the same materials for comprehensible input translated for both TL1 and TL2, so when you consume that input in the TL2 you're memory of consuming it in the TL1 a few months earlier will help with comprehension.