avdempsey
Help build web crawlers, preservation, and public access services for over one thousand partner libraries and other cultural heritage institutions.
https://app.trinethire.com/companies/32967-internet-archive/...
There’s a lot to learn with it. I’ve seen ramp-up take a few months per engineer, though we’re also making it a little harder on ourselves by self-hosting, being the early adopters on the Python SDK (Go, Java, and TypeScript are the most mature I think), and dealing with a mix of Python async and multiprocessing (a bunch of CPU bound activities in the mix). The docs are solid, and the team is responsive to community users.
Perhaps running Ruff plus a type checker gives us close to what Pylint does today? Pylint is pretty comprehensive, and awesome for that, but I'd love to lint at the speed of Ruff.
Internet Archive is a non-profit building a free library of all of the published works of humanity to share with the world. We're not there yet, but we've managed to accumulate some data along the way. Can you help us engineer it?
The Archiving and Data Services department provides services to mission-aligned organizations (primarily other libraries and cultural heritage institutions). These services include: web crawling SaaS, managed large-scale crawls, long-term digital preservation, and particularly relevant for this role: making use of these web archives and digital collections.
We're looking for a Data Engineer to help us with some of the following: - Turn researcher Jupyter notebooks into robust systems (these notebooks are mostly in Scala) - Develop data munging/wrangling/deriving workflows (we use Spark and Temporal.io) - Help administrate a 7.5 Petabyte Hadoop cluster - Potentially write jobs for our main, in-house long term storage cluster - There's always APIs that need work (these are mostly in Python) - ML experience is an interesting bonus
We're fully remote, employees can be based anywhere in US or Canada.
This is a new opening as of Dec 1, so new we're still working on getting it posted. If interested, please reach out to Alex at avdempsey [at] archive [dot] org.
Sure these bridges have plenty of problems today, and maybe they’ll go to nowhere. But maybe in the far future they’ll lead us to cruelty free, healthy designer tissues that taste better than anything an animal makes, and Bret Victor’s dynamic medium.
The connection polls at these intervals: static const u8 delays[] = { 1, 2, 5, 10, 15, 20, 25, 25, 25, 50, 50, 100 };
So, if you are using the default 5 second timeout, and you are trying to acquire a lock while an exclusive lock is held, you will wait 1 second, then 2 seconds, then 5 seconds, and timeout. I’m not sure if you timeout after 3 total seconds have elapsed, or sometimes after the 2 and sometimes after the 5.
If you have a thread running many fast queries in a loop you can deny access to another thread that needs a lock. The other thread may get lucky and poll for the lock at the exact moment in between locks from the other thread, but it might not.
How do you build a machine that preserves the ever-changing cultural expression of humanity and make it free for all?
Interested in a mission-driven job ensuring perpetual open access to information for a global audience? Enjoy helping scale the use of services and products critical to hundreds of national and international non-profits, libraries, universities, cultural heritage institutions, and mission-aligned organizations? If so, the Internet Archive is seeking Senior and non-Senior Software Engineers for its Archiving & Data Services team.
Interested in a mission-driven job ensuring perpetual open access to information for a global audience? Enjoy helping scale the use of services and products critical to hundreds of national and international non-profits, libraries, universities, cultural heritage institutions, and mission-aligned organizations? If so, the Internet Archive is seeking Senior and non-Senior Software Engineers for its Archiving & Data Services team.
Interested in a mission-driven job ensuring perpetual open access to information for a global audience? Enjoy helping scale the use of services and products critical to hundreds of national and international non-profits, libraries, universities, cultural heritage institutions, and mission-aligned organizations? If so, the Internet Archive is seeking a Senior Software Engineer for its Archiving & Data Services team.
https://app.trinethire.com/companies/32967-internet-archive/...
The basic argument runs like this: reintroduce still living species (and then megafauna), megafauna turn forests into grasslands (see what modern elephants do to trees), grasslands keep snow on the ground longer and contribute to a cooler climate.
https://internetarchive.applytojob.com/apply/6tYI5QGrTE/Seni...
The Internet Archive is a non-profit working to provide universal, free, access to all knowledge. The Web and Data Services department provides archiving services to other aligned institutions. We develop a web archiving SaaS, run custom massive web crawls for partners, help researchers mine web archives for social good, and more.
Want to help build a machine (and a team) that keeps up with the whole internet?
The position is listed for senior engineers, but we can also scale the role for non-senior engineers as well.
Contact: [email protected]
After being meat and dairy free for awhile my cravings changed. I guess our brains are plastic? I ate (and loved!) meat for 28 years, but today I don't even crave it, and can report I enjoy food just as much as I used to. If being plant-based required will-power, I don't think I'd be able to do it.
I think it's actually easier to go all the way, and avoid meat completely, than it is to cut back. If meat is a regular, if limited, part of your diet the craving never goes away.
From the draft: “This document specifies best practices for writing specifications that use HTTP to define new application protocols, especially when they are defined for diverse implementation and broad deployment (e.g., in standards efforts).”
That’s not to say there aren’t useful ideas here (I found it very interesting in its own right), but the provisions against fixed URL schemes is followed by no commercial HTTP API I’ve ever seen.
It will not save you time typing: each route can have a transport request decoder and response encoder (encoder's are often shared), a request and response type, the actual business logic, a function that takes the request struct, applies it to the business logic function and returns a response object, a function that takes the previous function and connects it with the transport machinery (building the actual endpoint), and possibly middleware implementations.
However, by teasing all of these things apart from the very beginning it's very easy to come back later and add a circuit-breaker, or (as the article says) switch your transport from HTTP to grpc (or support both).
At the same time, we also have evidence that “leapfrog” development can happen, e.g. France’s Minitel phase is something the U.S. skipped.
Figuring out a desirable reduced meat lifestyle (people have to want it for themselves) then appears to be highly relevant to combat global warming.
Today, I use mysql in the terminal most of the time. The main reason I've been using the terminal instead of SequelPro is my terminal has the scrollback available from my previous queries. This is great for comparing results, printing out a few table schemas to help write a query, and acting as kind of a log of my thought process. Terminal has a lot of other disadvantages, but I've accumulated a lot of tricks to mitigate them.
A nice implementation of tabs and panes could chip-away at that advantage, definitely, so this app is exciting. One limitation in the current implementation is it looks like table views need to take up the whole tab. It would be nice to have a table view in one pane, and a query editor in the next.
The app has a nice query history sidebar. In addition to the query, it has the timestamp; my terminal doesn't have that. Could this concept be expanded to include query results? My first instinct was also to try dragging and dropping one of the queries from my history into the desired pane. That didn't work, but its behavior of adding it to the pane where the cursor was last works well.
All in all, I think this will definitely find a regular place in my tool set; thank you for making something cool!