Recent submissions

Comment · 1 year ago
Comment · 1 year ago
If I understand correctly the following ttre expression does what you're asking for:

  ":'(':(\\')|[^"'])*":'
Comment · 2 years ago
Many communities would like to have a page/ical that lists all the events going on in that community. But event organisers are often busy, and by the time they've posted on WhatsApp and Facebook and Meetup they won't necessarily bother to post here too, especially when there are multiple organisers within a community, and due to the chicken and egg problem of it only being worth posting here if all of the community's other events are also listed here.

What would help is if engaged community members can collaboratively list events that event organisers have posted elsewhere, so that community members can find all the community's events in one place (here) even if the event organisers don't bother to post them here themselves. This raises a few auth complications, e.g. if the event organiser wants to post their event ideally they'd be able to take ownership of the placeholder event uploaded by the community member. But if you can solve those, seeing all their events in one place might be a compelling reason for communities to organically switch over to your platform (at which point event organisers might well also follow).

Comment · 2 years ago
At least on Chrome for Android, you can long-press to trigger the hover effect. Works on many websites. (There are inconvenient side-effects like selecting text, but it's better than nothing.)
Comment · 3 years ago
Comment · 3 years ago
Not supporting multi-line statements is just because pdb doesn't bother to parse the statement to work out if it is an incomplete multi-line statement. That could be easily fixed (I have a prototype patch for that using `code.compile_command`).

The scope problems are more fundamental:

The pdb REPL calls[1] the exec builtin as `exec(code, frame.f_globals, frame.f_locals)`, which https://docs.python.org/3/library/functions.html#exec documents as:

"If exec gets two separate objects as globals and locals, the code will be executed as if it were embedded in a class definition."

And https://docs.python.org/3/reference/executionmodel.html#reso... documents that:

"The scope of names defined in a class block is limited to the class block; it does not extend to the code blocks of methods - this includes comprehensions and generator expressions since they are implemented using a function scope."

This is a fundamental limitation of `exec`. You can workaround it by only passing a single namespace dictionary to exec instead of passing separate globals and locals, which is what pdb's interact command does[2], but then it's ambiguous how to map changes to that dictionary back to the separate globals and locals dictionaries (pdb's interact command just discards any changes you make to the namespace). This too could be solved, but requires either brittle ast parsing or probably a PEP to add new functionality to exec. I'll file a bug against Python soon.

[1]: https://github.com/python/cpython/blob/25a64fd28aaaaf2d21fae...

[2]: https://github.com/python/cpython/blob/25a64fd28aaaaf2d21fae...

Comment · 3 years ago
Comment · 4 years ago
Comment · 4 years ago
Yes, it's a very desirable trait in https://en.m.wikipedia.org/wiki/Quasi-Monte_Carlo_method

Quasi-Monte Carlo has a rate of convergence close to O(1/N), whereas the rate for the Monte Carlo method is O(N^(−0.5))

For such applications it's best to use quasi-random numbers (a.k.a. low-discrepancy sequences) such as the Halton sequence or the Sobol sequence instead of pseudorandom numbers.

Comment · 4 years ago
Einops looks nice! It reminds me of https://github.com/deepmind/einshape which is another attempt at unifying reshape, squeeze, expand_dims, transpose, tile, flatten, etc under an einsum-inspired DSL.
Comment · 6 years ago
For TST in Chrome I've been very happy with Tabs Outliner (https://chrome.google.com/webstore/detail/tabs-outliner/eggk...). As well as a great tree, you can mix live tabs/windows with frozen ones that don't consume RAM, and this is all reliably persisted across restarts.

Tabs Outliner is a separate window, since Chrome extensions can't add sidebars, so rather than using it as a tabbar replacement I tend to have multiple windows with less than 10 tabs, and open Tabs Outliner when I want a coherent overview (e.g. to quickly skim through my tab titles before closing them in bulk).

Comment · 13 years ago
In Chrome for Android, just tick Settings > Accessibility > Force enable zoom

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton