With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.
You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Cloud tools for web scraping and data extraction
Deploy pre-built tools that crawl websites, extract structured data, and feed your applications. Reliable web data without maintaining scrapers.
Automate web data collection with cloud tools that handle anti-bot measures, browser rendering, and data transformation out of the box. Extract content from any website, push to vector databases for RAG workflows, or pipe directly into your apps via API. Schedule runs, set up webhooks, and connect to your existing stack. Free tier available, then scale as you need to.
Develop parallel programs. Try various thread configs. GUI front-end.
Avian Computing seeks to efficiently create parallel programs by changing how we think about parallel programs. Avian Computing discourages thinking about lines of code and encourages us to use a new model: flocks of birds. Changing the model to flocks of birds makes it easier to think about the actions that we want to perform concurrently, which leads to simpler and quicker development of working parallel programs.
Avian Computing concepts are implemented by the Concurrency Explorer (ConcX) that simplifies parallel programming by providing a GUI frontend to setup, start, and monitor each bird (thread) in the program. ...
This is a recursive AVL that I wrote up in a few hours. I didn't like how my previous one worked so I decided to rewrite it. This was the project that really set my mind into recursive thinking.
BTTF allows to elevate the level of abstractions at the moment of working with time in an application. Being able to model domains thinking in terms of minute, day, month year, ranks and periods of time, etc. Avoiding dirty handlings of primitive types.