I keep being tempted by this e-ink device 

https://www.youtube.com/watch?v=H-CpgERePSY

Look at this tiny e-Reader! Xteink In-depth

YouTube

@joel

Tempting price, but no built-in illuminator and maybe a proprietary ebook format? Not sure.

@rl_dane @joel

Proprietary format? It uses EPUB. And only DRM-free ebooks.

@rl_dane @joel

And it's opened up somewhat officially for alternate firmware like CrossPoint: https://github.com/crosspoint-reader/crosspoint-reader

GitHub - crosspoint-reader/crosspoint-reader: Firmware for the Xteink X4 e-paper display reader

Firmware for the Xteink X4 e-paper display reader. Contribute to crosspoint-reader/crosspoint-reader development by creating an account on GitHub.

GitHub

@rl_dane @joel

imo physical page turn buttons are a bigger deal than built-in light. And the price point is really compelling.

@rl_dane @joel

(I will probably be buying this when back in the US.)

@amin @joel

When might that be? ;)

I mean, with all that's going on, I sure wouldn't be in a hurry to come back. XD

@rl_dane @joel

My family has been planning to be back this summer. They only really have an opportunity every other year, so they take it. I'm kinda toying with the idea of staying behind and writing, but I haven't seen my cousins in a couple years and this would be a chance to see them again…

@amin @joel

Just curious, where do your cousins live that you haven't seen them while you were still living here?

(You can fuzz the details, obvs.)

@rl_dane @joel

The ones in California are the ones in question. Saw them once while my family was in the US.

My "nephews" (my twin youngest cousins, whose mom keeps accidentally calling me their "Uncle Benjamin") are turning five this summer!!! 🥴

@rl_dane @joel

My oldest cousin is about to start college!

@amin @joel

I'm sure you can give them lots of pointers! ;)

@rl_dane @amin @joel what pointers do you need? int? char? void? ohh... ;)

@kabel42 @amin @joel

heh, I was going to make a joke about pointers to functions, which was the most cursed form of pointers I could think of.

@rl_dane @amin @joel to me those feel the least cursed, but maybe thats just because they look the same as in python

@kabel42 @amin @joel

Wait... python lets you have pointers to functions.

That's very weird.

I thought pointers to functions was just for people who wanted to do OOP in C. :P

@rl_dane @amin @joel you can pass functions to other function, which is probably the only reason you want pointers to functions?

@kabel42 @rl_dane @joel

The one really annoying thing about Python to me is that anonymous functions (lambdas) can only be one line of code. JavaScript has awesome anonymous functions that are so useful…

@amin @rl_dane @joel if you need more than a line, just give it a name 

@kabel42 @rl_dane @joel

Ah, but I am! In one spot in Ariadne's codebase, I'm wanting to assign functions to the values in a dictionary. So there is a key in the dictionary; I want to be able to refer to it via, say parsers['body']['html']['function'] (that way I can iterate through each metadata field in a standard way and call the function to parse it from a page) but for a multi-line function I have to name it separately and then reference it in the dictionary.

@kabel42 @rl_dane @joel

Makes the script's namespace more complicated than it needs to be.

@amin @rl_dane @joel but can't you

def fun(): a = "FOOOOOO!!!" def bar(): print(a) parsers['body']['html']['function'] = bar

@kabel42 @rl_dane @joel

Maybe? I wanted the dictionary to be in the global namespace, though…

@kabel42 @rl_dane @joel

Oh, I guess that would work, actually. The code would just be very convoluted.

@amin @kabel42 @rl_dane @joel

parsers = {} parsers['body'] = {} #… def fun(parsers): a = "FOOOOOO!!!" def bar(): print(a) parsers['body']['html']['function'] = bar fun(parsers)

@mirabilos @amin @rl_dane @joel
or

def fun(): global parsers a = "FOOOOOO!!!" def bar(): print(a) parsers['body']['html']['function'] = bar

either way, bar doesn't pollute the global namespace

@kabel42 @mirabilos @rl_dane @joel

Sure, but now fun() does. And it's a much less clear way to write the code than just assigning anonymous functions as values in a dictionary definition.

@joel @rl_dane @amin @kabel42 "but now fun() does" you need to have a function anyway
@kabel42 @joel @rl_dane @amin just put it where you’d put the lambda
@mirabilos @joel @rl_dane @amin this, fun is just a stand-in for whatever you were doing