2,542 karma · joined January 8, 2009
"glue[2] is a Python library to explore relationships within and between related datasets. glue is publicly available for download at glueviz.org."
"The discovery of the origin of nearby star formation would not have been possible without glue. It allowed the researchers to seamlessly integrate our models for the 3D structure of nearby molecular clouds with the 3D locations and motions of young star forming regions and the latest model of the Local Bubble."
[1] https://sites.google.com/cfa.harvard.edu/local-bubble-star-f...
From the article: "Total Lead content in the glaze or coating of modern mugs (as detectable with an XRF) is not regulated. As long as mugs are not leaching Lead at the time of manufacture (when they are brand-new), they are considered to be safe to use — even if the Lead content of the glaze is very high. However, for context, the amount of Lead considered unsafe (and illegal) in the paint, glaze or coating of a newly-manufactured item manufactured and sold as “intended for use by children” is 90 ppm or higher. The good news is that, since children’s items are regulated for total Lead content (as of 2008), newly-purchased children’s mugs legally must have coatings below 90 ppm Lead [and my findings have confirmed that manufacturers are generally complying with this law — although I recommend sticking with children’s items manufactured in 2011 or later, as it took a while for the companies (and their supply chains) to get up to speed in their compliance with the new regulations]."
> It's been known since the 1990s (https://arxiv.org/abs/astro-ph/9503044 ) that cosmic voids & supervoids aren't strictly speaking empty at the largest scales. More recently sky surveys have found evidence that we are probably in a supervoid: https://en.wikipedia.org/wiki/KBC_Void
No judgement, just genuinely curious, but what was your reason for holding out?
DuckDB is like a columnar SQLite. It also has great support for Pandas DataFrames.
Yes, that's what I had in mind.
Many web apps generate HTML forms but submit form values via an API endpoint. With browser web tools and standard options like "copy-as-curl", it's very easy to run a "replay attack", where an adversary submits the form manually once, does a copy-as-curl (or similar) on that POST, then replays the POST repeatedly, updating particular values in the generated curl output for each subsequent POST.
This gets around form protections like captcha and allows for rapid abuse via the API that backs the form. Enforcing that an idempotency key/token be generated on the server side or that it match the submitted content or be valid for a short timespan could make replay attacks less convenient.
The user manual is here: https://github.com/norswap/autumn/blob/master/doc/README.md
> prompt_toolkit 3.0 is completely type annotated and uses asyncio natively.
The rich source is also type annotated and very clean and readable.
Another option for full-screen apps is Python Prompt Toolkit[1], which also handles keyboard and mouse input and can be used to implement editors[2].
Wow, 7,990 EUR!
Description from 2017: https://thespoon.tech/miele-introduces-the-dialog-a-high-end...
CppCon 2015: Sean Parent "Better Code: Data Structures"
Did you mean instead this video? https://www.youtube.com/watch?v=mYrbivnruYw Goals for Better Code - Implement Complete Types Mastering PostgreSQL Administration
This talk is designed for PostgreSQL administrators. It covers all aspects of PostgreSQL administration, including installation, security, file structure, configuration, reporting, backup, daily maintenance, monitoring activity, disk space computations, and disaster recovery. It shows how to control host connectivity, configure the server, find the query being run by each session, and find the disk space used by each database. import sqlite3
import project_queries as queries # a module that loads queries from local .sql files as strings in module namespace
conn = sqlite3.connect('myapp.db')
cursor = conn.cursor(queries.get_all_users)
# ^^^^^^^^^^^^^^^^^^^^^
users = cursor.fetchall()
# >>> [(1, "nackjicholson", "William", "Vaughn"), (2, "johndoe", "John", "Doe"), ...]
aiosql may add some features to help with passing values to the query. I see `^` used with `:users` in an example but don't quite get it. -- name: get-user-by-username^
I often need to generate DDL details like table and column names in the query, which you don't want escaped, along with data like values and ids where you would want escaping (:users or %(users)s).It works nicely to use string formatting (`CREATE TABLE {table_name} ...`) for DDL along with interpolation (`WHERE user_id IN %(user_ids)s`) in the same query.