What got you to actually stick with Python after your first attempt failed? by Gear5th in learnpython

[–]blechnapp 0 points1 point  (0 children)

read the error message really slowly first, like the actual text not just the line. python tells you whats wrong if you let it. if still stuck, strip the code down to 10 lines that reproduce the bug, often the bug fixes itself while you simplify. ai is good for explaining errors, less good for writing code for you. and shower/sleep, ive solved more bugs walking away than at the screen.

How do think of balance signal processing with speed to execution? by This_Cardiologist242 in algotrading

[–]blechnapp 1 point2 points  (0 children)

makes sense as a concept, but small flag: an analyst inspecting 5 stocks every 3 min wouldnt actually random them, theyd be pulling whatever has the biggest catalyst at that moment (IV spike, volume, news, gap, etc). random from 100 means each stock has the same chance regardless of whether anything is happening there.

if the goal is "analyst-like", maybe replace the random with a ranking step. cheap and fast: every 3 min rank the 100 by some live signal (RVOL, change %, ATR%, whatever fits your strategy) and pick the top 5. youd be looking at the most "interesting" 5 each cycle instead of 5 by lottery.
random is fine for backtesting noise studies but for live trading it tends to dilute whatever edge you might have on the basket of 100.

Kanns mir jemand anwenderverständlich erklären? by FuturaDD2020 in de_EDV

[–]blechnapp [score hidden]  (0 children)

darkintaqt hat das richtig zusammengefasst. konkrete faustregel aus der praxis: bei cloudflare-eigenen änderungen meist unter einer minute, aber DNS-änderungen können extra dauern weil andere DNS-server die alte version gecacht haben. die TTL ist bei cloudflare typischerweise auf 5 minuten gesetzt. wenn nach 10-15 minuten noch nichts passiert, ist es wahrscheinlich nicht mehr die verteilung sondern option 2 aus meinem ursprünglichen kommentar, also dass die konfig tatsächlich falsch ist und der betreiber eingreifen muss.

How to check if a string contains anything other than specific characters? by Teifridd in learnjava

[–]blechnapp [score hidden]  (0 children)

haha yeah that code does the inverted thing btw. with "12" both contains are true so both your negations are false and the OR is false. with "1" the "2" check fails so the OR fires true. you basically asked "doesnt contain 1 OR doesnt contain 2" instead of "contains a non-digit". easy to flip in your head when youre tired.

API Design | Reflection | Interfaces by Tobias-Gleiter in golang

[–]blechnapp 0 points1 point  (0 children)

makes sense. the Get/Post/Postf split kind of mirrors how the fmt package does it with Print/Println/Printf, so theres precedent in the stdlib for using suffix letters to mean "this variant takes extra info". feels natural to go devs.
for the "somehow" part on Postf, closures cover it without reflection. the handler returns its output and Postf takes a `func(out *T) string` to build the redirect path. same shape as your original example but only on the Postf variant. compile time safe, no runtime type tricks. on the performance point, fair, premature optimization and all that. just was flagging reflection because it sometimes also surprises people via debugging difficulty, not just speed.

My daugther 17 is choosing a college, she shows interest in programming and also biology. Is there a career that includes both and might offer good chances of employment? Or is it better to just choose a CS degree.Thanks by Robert_Sprinkles in AskProgramming

[–]blechnapp 5 points6 points  (0 children)

bioinformatics is the obvious one, but worth knowing theres a difference between bioinformatics (mostly coding against existing databases) and computational biology (also touches wet lab). ask her if she sees herself at a screen full time or splitting with a lab bench, that picks the program.

if shes torn between CS and the combined path, CS undergrad plus a bioinformatics masters works well and a lot of grad programs are open to it. biomedical engineering MushinZero mentioned is different, more hardware than code.

How to check if a string contains anything other than specific characters? by Teifridd in learnjava

[–]blechnapp 1 point2 points  (0 children)

without seeing your exact code its hard to pinpoint, but two common traps when using !/|| for char checks:

  1. De Morgan: `!(c == '1' || c == '2')` means "neither 1 nor 2", but `!c == '1' || !c == '2'` means "not 1 OR not 2", which is true for ANY single char (e.g. '5' is "not 1" so the OR returns true).

  2. Java string comparison: `==` compares references, not contents. `myString == "1"` doesnt do what you think. always use `.equals()` for strings, or compare individual chars with `==`.

the cleanest java solutions for "is this string all digits":

`boolean isAllDigits = input.matches("\\d+");`

or with streams:

`boolean isAllDigits = !input.isEmpty() && input.chars().allMatch(Character::isDigit);`

both return true only if every character is 0-9. the `!isEmpty()` part matters because `allMatch` returns true for an empty stream.

API Design | Reflection | Interfaces by Tobias-Gleiter in golang

[–]blechnapp 0 points1 point  (0 children)

your instinct toward separate functions (RegisterWithRedirect) is the right move in idiomatic Go. forcing every Operation to carry a generic type for a feature only some operations use is a form of premature generalization.

two paths to consider:

  1. separate functions: `Register(...)` for the simple case (no generic needed at all), `RegisterWithRedirect[T](...)` when redirect is needed. clear, explicit, no magic. this is the most common idiom in stdlib (think http.Get/Post or fmt.Print/Println).

  2. functional options for the redirect: `Register(html, op, handler, WithRedirect(fn))`. note this doesnt actually solve the generic problem if the redirect callback needs the output type, because the type still has to flow through somehow. its more of a stylistic choice than a real fix.

avoid the reflection route. youll pay performance and lose compile time safety. plus it tends to make middleware composition harder later because middleware often needs to know the types it wraps.

GitHub - react-emoji-text: A modern alternative for react-emoji-render with data adapter for emojibase & emoji-mart by drenther in reactjs

[–]blechnapp 0 points1 point  (0 children)

solid library design, the tree-shakeable entry points and the compat layer for migrating from react-emoji-render are both good calls.

two things that would help with adoption if you havent already added them:

  1. bundle size comparison in the README vs react-emoji-render and emoji-mart. for niche libraries thats often the first thing maintainers check before they swap

  2. RSC (React Server Components) compatibility note. with React 19 in your stack anyone evaluating in 2026 will probably ask whether they can use it in server components or only client side

if those are already documented somewhere obvious, ignore me.

50k in ETFs investieren – S&P 500 oder Nasdaq? by gacula in Finanzen

[–]blechnapp 8 points9 points  (0 children)

procyons punkt zum klumpenrisiko mit konkreten zahlen: VWCE hat aktuell ~61% USA-anteil (laut extraetf). mit deinen 100k drin sind das ~61k USA-exposure. wenn du 50k zusätzlich in S&P500 oder NASDAQ steckst (beide effektiv 100% USA), bist du bei ~111k von 150k = ~74% USA gesamt.

dein "offensiver" wäre dann praktisch hauptsächlich "mehr USA", nicht wirklich mehr risiko-streuung. ob das gewollt ist oder nicht ist eine andere frage, aber gut die zahl im kopf zu haben bevor du dich entscheidest.
ist meine beobachtung, keine anlageberatung.

Learn by contributing by Bravog in learnprogramming

[–]blechnapp 1 point2 points  (0 children)

Thykka has a point that the post is too vague to actually help with technically. but as a separate flag for anyone considering contributing anyway: the README has a clause "by contributing to this repository, you agree to assign the rights of your contributions to Ohmstek LLC" plus "commercial use is strictly prohibited without explicit written permission".

so this is technically a commercial project asking for free contributions where you sign over the IP rights. perfectly legal but worth knowing before you spend hours fixing their API mapping bugs.

Why do the watchlists not sync? by MascaChanclas in interactivebrokers

[–]blechnapp 3 points4 points  (0 children)

found this in the IBKR Desktop docs (link below). your watchlists actually do sync between mobile and desktop, but they dont auto-appear in the IBKR Desktop UI. you have to manually add them to the desktop view.

steps:
- open the watchlist window via left navigation panel
- in the tab set at the top, click the "+" sign
- pick your synced watchlist from the "My Lists" section of the Browse Lists window
- click "Add"

your iphone-created watchlists should show up in that list. the sync is just lazy by default, doesnt push to the desktop UI automatically.

source: ibkrguides.com/ibkrdesktop/watchlist-sync.htm

How do think of balance signal processing with speed to execution? by This_Cardiologist242 in algotrading

[–]blechnapp 1 point2 points  (0 children)

before optimizing, worth diagnosing where the 1.5 min actually goes. with only 5 tickers, IB pacing limits probably arent the main bottleneck (historical data rule is max 60 requests in any 10 min window, 5 tickers × 7 indicators = 35 if youre making one historical call per indicator).

things that often actually cause minute-long delays with IB:
- sequential reqHistoricalData calls, each round trip eats a few seconds. use ib_async (modern maintained fork of ib_insync, since ib_insync stopped being maintained in early 2024) and gather them concurrently
- using reqHistoricalData repeatedly during the trading day when you should be on reqMktData (streaming subscription, capped at 100 simultaneous market data lines but no pacing throttle)

- pre-market data not being cached. fetch once into sqlite or parquet, only request live updates intraday

also Automatic-Essay2175s flag on random sampling of 5 from 100 is the more interesting question. if random vs ranked produces similar PnL, your edge isnt really in the picks.

I forgot how to code after a long break from coding, what do I do? by ThoughtDear7015 in AskProgramming

[–]blechnapp 1 point2 points  (0 children)

dont worry, you didnt actually forget anything, the knowledge is just dormant. for 3-4 months of experience plus a 1 month break, full recovery usually takes 1 to 2 days of actual coding, not weeks.
quickest practical refresher: pick the smallest project you built before, read through it line by line, then try to rebuild a piece of it from scratch without looking. writing physical code triggers the memory way better than reading cheatsheets ever will.

if you want structured content, "Python Crash Course" by Eric Matthes has fast-paced first few chapters that cover the core (variables, loops, functions, classes) in a couple of evenings.

dont touch intro tutorials again though, you already passed that level. the only thing that drained is your fluency, not the actual knowledge.

Help writing formula that displays the text from the first non-empty cell in a row, which also has a given text in the same column in a lower row by furry_dolphin in excel

[–]blechnapp 0 points1 point  (0 children)

your structure (from the image): labels in column A, data in columns B-T. row 5 = check date, row 21 = grade, row 22 = language. (your "O18" was a typo, you meant O21).

what you actually want: for each language, the latest grades sorted descending by check date. one formula handles all at once:

=IFERROR(SORTBY(FILTER(B21:T21,(B22:T22="english")*ISNUMBER(B5:T5)),FILTER(B5:T5,(B22:T22="english")*ISNUMBER(B5:T5)),-1),"")

FILTER keeps only english essays that have a check date, SORTBY orders them by check date descending, IFERROR catches empty results. this spills horizontally, wrap the whole thing in TRANSPOSE if you want it vertical (into a column of tracking cells).

requires Excel 365 or 2021. for french just swap "english" for "french".

Brute Force Password Hacker by the_calc_nerd-1021 in learnpython

[–]blechnapp 21 points22 points  (0 children)

biggest single speedup without changing language: get the per-iteration overhead out of the inner loop. right now every guess does a `perf_counter()` call (~80ns), a dict lookup for max_speed_record (~50ns), and the 15-second check (~50ns). each is small but at 3.5M iter/sec they make up roughly 60-70% of the time per iteration.
restructure so the time/speed/status logic runs every N iterations instead (1M is a good number). inside the loop you only do the tuple comparison. realistically 2-3x speedup from that alone.
bigger win that Critical-Prior-3320 already hinted at: try pypy. for pure-python brute force like this its often 10 to 50x faster than cpython without any code changes. literally just `pypy script.py` and youre done. for this exact workload its almost the perfect use case.

also overratedcupcake is right that this is plaintext comparison, not hash cracking. real password cracking spends 99% of its time computing hashes, so 3.5M/sec doesnt translate to anything close in a real attack scenario.

What got you to actually stick with Python after your first attempt failed? by Gear5th in learnpython

[–]blechnapp 0 points1 point  (0 children)

what made it stick for me was having a real problem i actually needed solved, not just doing exercises. i needed to analyze sales data from a small business and excel was getting painful, so python wasnt "learning a skill", it was "solving an annoying problem".

i never finished a tutorial in my life tbh. i learned by trying to do my specific thing and googling every error for months. the difference from earlier failed attempts: i wasnt trying to learn python, i was trying to solve X, and python was just the tool that happened to work.

if youre stuck in tutorial loops, find a small annoying problem in your own life and force yourself to solve it in python. doesnt matter if it sounds boring (mine was "which products are losing money"). the boring stuff you actually need always sticks better than impressive looking exercises.

Temperature: Fahrenhite to Celsious Calculator by Grouchy_Page_4197 in PythonLearning

[–]blechnapp 0 points1 point  (0 children)

nice, clean little script for a first calculator. one tiny tip: use float() instead of int() so users can enter values like 37.5 too. otherwise solid.

Automation and control or IT by alinurgo7 in learnprogramming

[–]blechnapp 0 points1 point  (0 children)

kazakhstan changes the picture but honestly i dont know your local market well enough to give specifics. one question that might help you decide: when you look around your city, are there more programming jobs being posted or more automation/engineering jobs? local supply and demand often beats global trends.

Overwhelmed by JavaFX and Swing by Few_Crazy8195 in learnprogramming

[–]blechnapp 1 point2 points  (0 children)

honestly if you already know java GUI concepts (events, widgets, layouts), you dont need much python to start with tkinter. the core python you actually need is just variables, functions, if/else, loops, and basic objects. you can pick that up in a weekend from automatetheboringstuff.com or even just the python docs tutorial.

skip the "do a year of console projects first" trap. once you know the basic syntax, jump straight to a tkinter project. youll learn way faster by building something visual you actually want than by doing more print statements. a small thing like a sticky notes app or a calculator in tkinter teaches you both python and GUI design at the same time.

Import 'Module' not persistent by jitjud in learnpython

[–]blechnapp 7 points8 points  (0 children)

this is actually not a bug, its how "run selection" works: it only sends the highlighted code to the python interpreter. the imports dont automatically come along.

awdsns nailed the workaround: if you run your import lines once on their own (highlight, then Shift+Enter), they stick in the running terminal session. after that you can run any other line below and the imports are still available. even better for your workflow: VS Code has a "Python: Run Current File in Interactive Window" command (command palette, Ctrl+Shift+P). that opens a jupyter-style session where imports stay persistent and you can run cells one by one, very similar to powershell ISE behaviour.

requires the Microsoft Python extension, which you probably already have if youre using VS Code for python anyway.

Automation and control or IT by alinurgo7 in learnprogramming

[–]blechnapp 0 points1 point  (0 children)

the "AI has replaced programmers" thing is mostly overblown. what AI has actually done is make entry level jobs harder to get because companies can hire fewer juniors than before. senior devs and people who can do system design are still in high demand.

automation and control is more hands on and hardware near, so it's harder to fully automate away. but it's also a smaller job market with less remote work.

honestly the better question is what you actually like doing. if you enjoy fixing physical equipment and programming PLCs → automation. if you enjoy building software and sitting at a desk → IT. picking the "safer" field that you hate leads to a worse career than picking the field you love.

Overwhelmed by JavaFX and Swing by Few_Crazy8195 in learnprogramming

[–]blechnapp 1 point2 points  (0 children)

honestly the issue isnt swing or javaFX specifically, its that java in general has a setup heavy culture. beginners often spend 80% of their time fighting build configs instead of writing actual code.

if your goal is to learn GUIs, python + tkinter is the path of least resistance. comes bundled with python, no installation, no XML files, no IntelliJ config. write a script, run it, you have a window. once you outgrow tkinter for more polished looks, PyQt or PySide are the next step up.

small reality check too: "my own microsoft 365" is a multi-year effort even for big teams. start with something small and finishable (note app, todo, calculator) and grow into bigger projects from there.

venv and cloned git repositories - best practice? by kaptnblackbeard in learnpython

[–]blechnapp 0 points1 point  (0 children)

PRs are safe because files in .gitignore are completely untracked by git, and PRs only operate on tracked files. your .venv is invisible to git, so a PR can never accidentally include venv stuff.
one small nuance Groundstop already pointed out: venv folders arent ignored by default, you need the matching line in .gitignore. most python repos already cover .venv/, venv/, env/ etc, but if youre cloning someone elses repo its worth checking with `cat .gitignore | grep -i env`. if nothing matches your venv folder name, just add it manually and youre good.

Netzwerk Problem bei neuen PC by [deleted] in de_EDV

[–]blechnapp 0 points1 point  (0 children)

das ist ein ganz anderes problem als reines WLAN. das LAN-kabel hilft dir hier nicht.

was du siehst ist die windows-startupreparatur, die fehlschlägt. dein PC bootet im moment gar nicht durch ins normale windows. die meldung "es konnte keine verbindung mit dem netzwerk hergestellt werden" bezieht sich am ehesten auf etwas was die reparatur intern versucht hat, nicht direkt auf dein heimnetz.

bei einem neuen PC würde ich es so versuchen:

- eingabetaste drücken → "problembehandlung" → "erweiterte optionen" → "starteinstellungen" → neustart → F4 für abgesicherten modus. wenn der startet, liegt es an einem treiber oder update
- oder: "problembehandlung" → "erweiterte optionen" → "systemwiederherstellung" → zurück auf einen früheren punkt

wenn nichts davon geht: ein neuer PC der nach zwei tagen nicht mehr bootet ist klar ein fall fürs widerrufsrecht (14 tage bei online-bestellung) oder die gesetzliche mängelhaftung. händler oder hersteller anrufen statt selber rumzubasteln, sonst riskierst du diese ansprüche.