mozsearch
chrono
mozsearch | chrono | |
---|---|---|
17 | 23 | |
234 | 3,133 | |
0.9% | 1.5% | |
8.9 | 9.6 | |
2 days ago | 5 days ago | |
Rust | Rust | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mozsearch
-
Firefox tooltip bug fixed after 22 years
- code browsing is primitive compared to https://searchfox.org/ (but most code browsing tool are, in comparison)
- my notifications are completely flooded by lots of useless information on GitHub, but that might be fixable
- our CI system (treeherder/taskcluster) scales, works on Linux/Mac/windows/Android and a bunch of version and arch, integrated with all of the other tools mentioned. Things such as auto-running tests based on the content of the patch, automatic categorization and prioritization of intermittent test failures, or auto-recording test failures and offering a pernosco recording showing the issue are just some of the features that we use daily without even thinking
-
Why SQLite Does Not Use Git
All the time. I would say at least 50% of my code browsing is done from my phone. I make heavily use of the mobile GitHub web interface for this (find-references support has been a godsend, search is still meh, I hate how they keep breaking basic find-in-page with SPA jank). Also Searchfox [0] when I need to comb through Firefox code (fast, excellent, no complaints).
Context: grad student, programming languages and systems research plus a bunch of IoT hacking on my own time. Either elder Gen Z or youngest possible Millennial, depending where you put the cutoff.
[0] https://searchfox.org
-
Sourcegraph is no longer Open Source
[4] is not really a usable 'product'. Livegrep (https://github.com/livegrep/livegrep) was inspired by it and is very usable.
[3] used to be a Google open source project as well, but it fell out of maintenance, and Sourcegraph took it over. It powers most of the basic regex/literal search in Sourcegraph.
Mozilla's code is searchable in Searchfox (https://searchfox.org/) which uses the indexer from Livegrep, combined with their own Git indexer and language-specific cross reference databases.
OpenGrok (https://github.com/oracle/opengrok) is also rather well known, but I have found it to have a slightly worse UI than alternatives.
-
Firefox 113.x quietly adds new Linux system requirements
Try using Searchfox to find references to those libraries. When you open a result, hover your mouse over the left column to see what commit added each line.
- Fetch API Implementation source
-
How to find the name of elements for firefox css
You might want to lokk at this, and this, and this .
- What environment variables does Firefox need on Linux?
-
Does this CSS rule crash anyone else's firefox?
Layout is hella broken, obviously, but it doesn't crash. You can do a search for progresschunck at https://searchfox.org to find what it means.
-
Swipe to navigate arrow indicator
https://searchfox.org/ should be you go-to tool to search Firefox code-base.
-
How to apply some css changes only to one (firefox's dark) theme?
Also, you can use browser toolbox to inspect Firefox UI and see what styles are being applied to it and to figure out what selectors to use. Of course, there is also https://searchfox.org/ for when you need to figure out exactly how Firefox is doing some feature x.
chrono
- The Unix leap second mess
-
Getaddrinfo() on glibc calls getenv(), oh boy
The problem is that this effects higher languages too, because they often build on libc. And on some OSes, they don't have a choice, because the system call interface is unstable and/or undocumented).
For example in rust, multiple time libraries were found to be unsound if `std::env::set_env` was ever called from a multi-threaded program. See:
https://github.com/time-rs/time/issues/293 and https://github.com/chronotope/chrono/issues/499
https://github.com/rust-lang/rust/issues/27970
https://github.com/rust-lang/rust/issues/90308
- Choosing the Right Rust Web Framework: An Overview
-
ZeroVer: 0-Based Versioning
> I think library authors should be more relentless and break compatibility every few years. We just need some conventions to not do so very often.
I indeed did this years ago---I'm the original author of Chrono [1]---and it wasn't well received [2] [3] [4]. To be fair, I knew it was a clear violation of semantic versioning but I didn't see any point of obeying that until we've reached 1.0 so I went ahead. People complained a lot and I had to yank the problematic release. By then I realized many enough people religiously expect semantic versioning (for good reasons though) and it's wiser to avoid useless conflict.
[1] https://github.com/chronotope/chrono
[2] https://github.com/chronotope/chrono/issues/146#issuecomment...
[3] https://github.com/chronotope/chrono/issues/156
[4] https://github.com/chronotope/chrono/blob/main/CHANGELOG.md#...
-
Simple, fast and safety alternative for unzip
On that note, it would also be good to configure cargo-deny so that a CI pipeline and any maintainer can easily audit the current dependency versions. Sometimes CVEs require a new major semver (looking at you, time 0.1.x and thus chrono 0.4.x), so it's not enough to rely on people installing the tool with semver-compatible updates. Automatically auditing dependencies is really important, and given how easy cargo-deny makes it, I don't think many projects have any excuse not to configure it.
-
Is it unidiomatic/anti-pattern to use the return keyword ?
The example has been randomly taken from the [Chrono][https://github.com/chronotope/chrono/blob/main/src/offset/utc.rs] crate.
-
Will Rust drop dependency on libc and make direct system calls? when ? (Please don't mention no_std case)
libc isn't "just a wrapper". Is a massive legacy codebase filled with hacks, UBs and bugs: https://github.com/chronotope/chrono/issues/499
- chrono 0.4.20 has been released, fixing the RUSTSEC-2020-0159 issue
-
chrono 0.4.20-rc.1 has just been released!!
Would love to have people test this, you can leave feedback here: https://github.com/chronotope/chrono/issues/674.
-
Trying to learn about chrono, Duration, etc...
Security issues? I'm looking at the open issues, but haven't noticed any that seem to be security related (no security related labels either). What am I missing here?
What are some alternatives?
opengrok - OpenGrok is a fast and usable source code search and cross reference engine, written in Java
time - The most used Rust library for date and time handling.
hoogle - Haskell API search engine
advisory-db - Security advisory database for Rust crates published through crates.io
sourcegraph - Code AI platform with Code Search & Cody
jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.
codesearch - Fast, indexed regexp search over large file trees
chat - A telnet chat server
git-peek - git repo to local editor instantly
rusqlite - Ergonomic bindings to SQLite for Rust
roaring-rs - A better compressed bitset in Rust
polystrip - A 2D accelerated graphics library for Rust