Friday, July 12, 2024

Show HN: Leaderboard of Top GitHub Repositories Based on Stars https://ift.tt/yQAeniV

Show HN: Leaderboard of Top GitHub Repositories Based on Stars I created a leaderboard showcasing the top 1000 GitHub repositories based on the number of stars. With GitHub hosting over 100 million public repositories, this leaderboard highlights the top 0.001% in terms of the number of stars. Stars might not be the perfect metric for adoption—metrics like the number of monthly downloads could be more accurate—but this list still represents some of the most popular and influential projects in the open-source community. You can check out the leaderboard here: https://ift.tt/aPwCKZe https://ift.tt/aPwCKZe July 12, 2024 at 02:07AM

Show HN: Mandala – Automatically save, query and version Python computations https://ift.tt/FQIApHr

Show HN: Mandala – Automatically save, query and version Python computations `mandala` is a framework I wrote to automate tracking ML experiments for my research. It differs from other experiment tracking tools by making persistence, query and versioning logic a generic part of the programming language itself, as opposed to an external logging tool you must learn and adapt to. The goal is to be able to write expressive computational code without thinking about persistence (like in an interactive session), and still have the full benefits of a versioned, queriable storage afterwards. Surprisingly, it turns out that this vision can pretty much be achieved with two generic tools: 1. a memoization+versioning decorator, `@op`, which tracks inputs, outputs, code and runtime dependencies (other functions called, or global variables accessed) every time a function is called. Essentially, this makes function calls replace logging: if you want something saved, you write a function that returns it. Using (a lot of) hashing, `@op` ensures that the same version of the function is never executed twice on the same inputs. Importantly, the decorator encourages/enforces composition. Before a call, `@op` functions wrap their inputs in special objects, `Ref`s, and return `Ref`s in turn. Furthermore, data structures can be made transparent to `@op`s, so that an `@op` can be called on a list of outputs of other `@op`s, or on an element of the output of another `@op`. This creates an expressive "web" of `@op` calls over time. 2. a data structure, `ComputationFrame`, can automatically organize any such web of `@op` calls into a high-level view, by grouping calls with a similar role into "operations", and their inputs/outputs into "variables". It can detect "imperative" patterns - like feedback loops, branching/merging, and grouping multiple results in a single object - and surface them in the graph. `ComputationFrame`s are a "synthesis" of computation graphs and relational databases, and can be automatically "exported" as dataframes, where columns are variables and operations in the graph, and rows contain values and calls for (possibly partial) executions of the graph. The upshot is that you can query the relationships between any variables in a project in one line, even in the presence of very heterogeneous patterns in the graph. I'm very excited about this project - which is still in an alpha version being actively developed - and especially about the `ComputationFrame` data structure. I'd love to hear the feedback of the HN community. Colab quickstart: https://ift.tt/b7fUM0G... Blog post introducing `ComputationFrame`s (can be opened in Colab too): https://ift.tt/guEhzXi Docs: https://ift.tt/9Qw0hE7 https://ift.tt/DhiR9Sj July 12, 2024 at 01:40AM

Show HN: Upload your photo and generate crazy YouTube Faces for your thumbnail https://ift.tt/OjiaUJg

Show HN: Upload your photo and generate crazy YouTube Faces for your thumbnail Upload your photo, this AI tool generates hundreds of High-Conversion Youtube faces. Our AI analyzed millions of viral video thumbnails, found the top performing Youtube Faces templates for each niche. Then it can select and generate the best performing youtube faces according to your content. Works for both realistic photos and cartoon photos for faceless channels. https://ift.tt/DJwusaT July 12, 2024 at 12:27AM

Show HN: I made an SEO checker to fix frustrating issues in minutes, not hours https://ift.tt/xFBCHWM

Show HN: I made an SEO checker to fix frustrating issues in minutes, not hours If you have any issues optimizing your website. Seototal will help you. A while ago I was trying to improve my SEO on my first startup, That was when i realized how clunky and overcrowded most SEO tools were I used were, Ahrefs and Semrush initially. I built it to be lightweight and focus on the basics. It checks on page and technical issues to output straight forward reports with quick and helpful knowledge bases that will help you fix your SEO basics fast. The website is still in early stages and is actively being improved. So I'm open to any here any issues or feature recommendations you have. Thank you for your time. https://seototal.xyz July 11, 2024 at 11:40PM

Thursday, July 11, 2024

Show HN: Dut, a fast Linux disk usage calculator https://ift.tt/tR4HhQV

Show HN: Dut, a fast Linux disk usage calculator "dut" is a disk usage calculator that I wrote a couple months ago in C. It is multi-threaded, making it one of the fastest such programs. It beats normal "du" in all cases, and beats all other similar programs when Linux's caches are warm (so, not on the first run). I wrote "dut" as a challenge to beat similar programs that I used a lot, namely pdu[1] and dust[2]. "dut" displays a tree of the biggest things under your current directory, and it also shows the size of hard-links under each directory as well. The hard-link tallying was inspired by ncdu[3], but I don't like how unintuitive the readout is. Anyone have ideas for a better format? There's installation instructions in the README. dut is a single source file, so you only need to download it and copy-paste the compiler command, and then copy somewhere on your path like /usr/local/bin. I went through a few different approaches writing it, and you can see most of them in the git history. At the core of the program is a datastructure that holds the directories that still need to be traversed, and binary heaps to hold statted files and directories. I had started off using C++ std::queues with mutexes, but the performance was awful, so I took it as a learning opportunity and wrote all the datastructures from scratch. That was the hardest part of the program to get right. These are the other techniques I used to improve performance: * Using fstatat(2) with the parent directory's fd instead of lstat(2) with an absolute path. (10-15% performance increase) * Using statx(2) instead of fstatat. (perf showed fstatat running statx code in the kernel). (10% performance increase) * Using getdents(2) to get directory contents instead of opendir/readdir/closedir. (also around 10%) * Limiting inter-thread communication. I originally had fs-traversal results accumulated in a shared binary heap, but giving each thread a binary-heap and then merging them all at the end was faster. I couldn't find any information online about fstatat and statx being significantly faster than plain old stat, so maybe this info will help someone in the future. [1]: https://ift.tt/58Fenog [2]: https://ift.tt/hI5Owxf [3]: https://ift.tt/kzeDlxg , see "Shared Links" https://ift.tt/akTMhFV July 11, 2024 at 04:59AM

Show HN: Open-source tool that writes Nvidia Triton Inference Glue code for you https://ift.tt/lIUdJqS

Show HN: Open-source tool that writes Nvidia Triton Inference Glue code for you Triton Co-Pilot: A quick way to write glue code to make deploying with NVIDIA Triton Inference Server easier. It's a cool CLI tool that we created as part of an internal team hackathon. Earlier, deploying a model to Triton was very tough. You had to navigate through the documentation for the Python backend, figure out how to get your inputs and outputs right, write a bunch of glue code, create a config.pbtxt file with all the correct parameters, and then package everything up. It could easily take a couple of hours. But with Triton Co-Pilot, all that hassle is gone. Now, you just write your model logic, run a command, and Triton Co-Pilot does the rest. It automatically generates everything you need, uses AI models to configure inputs and outputs, and handles all the tedious parts. You get your Docker container ready to go in seconds. Check out our GitHub repository and see how much easier deploying to Triton can be! It would be great if you folks try it out and see if it works for you. reply https://ift.tt/gGmTAa2 July 11, 2024 at 04:24AM

Biking and Rolling Plan Open House Meetings Start This Week

Biking and Rolling Plan Open House Meetings Start This Week
By Andrea Buffa

Community members enjoy a sunny ride during a recent Bike and Roll to School event. We have kicked off a series of open house meetings to get your feedback about the San Francisco Biking and Rolling Plan. We hosted the first event on Monday in North Beach. Here’s where our next few meetings will be: Wednesday, July 10 from 5 - 7 p.m. at the Upper Noe Rec Center Monday, July 15 from 5 - 7 p.m. at the Southeast Community Center Wednesday, July 17 from 5 - 7 p.m. at the SF State Cesar Chavez Student Center The goal of the San Francisco Biking and Rolling Plan is to create a safe, connected...



Published July 10, 2024 at 05:30AM
https://ift.tt/6SfAwYK

Show HN: Tablr – Supabase with AI Features https://ift.tt/uZsg6oX

Show HN: Tablr – Supabase with AI Features https://www.tablr.dev/ June 30, 2025 at 04:35AM