taoup
Scientist
taoup | Scientist | |
---|---|---|
17 | 18 | |
396 | 7,335 | |
- | 0.3% | |
6.2 | 1.9 | |
2 days ago | 10 days ago | |
Ruby | Ruby | |
BSD 2-clause "Simplified" License | MIT License |
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.
taoup
-
All design and engineering of the original Tesla Roadster is now open source
The car runs on perl and a PIC MCU.
In #devops is turtle all way down but at bottom is perl script. - @devops_borat
... via https://github.com/globalcitizen/taoup
-
Cyberpunk in the Nineties
Nice one. Added to https://github.com/globalcitizen/taoup
- Vint Cerf on 3 Mistakes He Made in TCP/IP
-
Real-World Engineering Challenges: Migrations
This has been recognized for a long time.
Those change-over things are really severe. Really severe problems. - Joseph Henry Condon, Bell Labs ... via https://github.com/globalcitizen/taoup
However, we have much better tools now, such as high availability clustering, distributed architectures, middleware proxies, protocol-level support for temporary failures and retries, mature caching systems and fault tolerant hardware and software infrastructure. So it's practically not as hard as it once was, because if you've got your ducks in a row you can use a proven method or get fallbacks for free.
-
What have we lost? (Demo of exotic OSes – Genera, Interlisp, BTRON, IBM I)
Between Plan 9 and Erlang we missed a bus somewhere.
Love it. Added to https://github.com/globalcitizen/taoup
That's your second pithy wisdom tidbit. (The first was The idea that data is a corporate asset needs to die. Data is a corporate liability.)
-
DevOps Is a Failure
To make error is human. To propagate error to all server in automatic way is #devops. - @devops_borat
... via https://github.com/globalcitizen/taoup
-
Do we need a better understanding of 'progress'?
In a sense, we have the printing press, but people are still illiterate.
Added to https://github.com/globalcitizen/taoup
How about China?
IMHO the problem here in China is the politicization of education and media which denies individual ideas and experience from the earliest years, illogically burdening children with unnavigable quantities of take-home homework and suffocating the analytical thought and independent curiosity that are so critical for research and development. It is as if no research in to pedagogy occurred since the 1920s, and individuals still belong to a numbered local production collective, except that now it is titled a "Number X Middle School". They literally give out little flags to children as young as pre-school, it's full on nationalism every day here.
- Hacker Laws
-
78 minutes of advice from YC founders and partners
If you like snippets in text consider the unix fortune tradition, I maintain https://github.com/globalcitizen/taoup which produces bitesized memes in glorious ANSI color. Some startuppy, mostly software architecture/design focus, some more broad anthropology/history. Aim is a high signal to noise ratio and consistently inspirational/curveball thinking.
-
Platforms Want to Be Utilities, Self-Govern Like Empires
Business doesn't welcome competition or oversight.
Competition is for losers - Peter Thiel (2014 speech at Harvard) ... via https://github.com/globalcitizen/taoup
Rights have to be regulated in to existence or actively fought for. These days the populace is so zoned out on Tiktok and home delivery the chances of a popular movement are precisely zero unless toward a new TV serial.
Scientist
-
Crates that run multiple versions of a function and ensures the return value is the same?
For some google-fu, the ruby / .NET equivalent of this is https://github.com/github/scientist / https://github.com/scientistproject/Scientist.net
-
Scientist: A Ruby library for carefully refactoring critical paths
The readme (here https://github.com/github/scientist#alternatives) doesn't mention, but here is one for Rust: https://crates.io/crates/scientisto
-
Test Against Reality
Something I've learned in Ruby land (prob standard in other places, forgive my ignorance) that seems a bit different than what the article advocates for (fake services):
- Write your service wrapper (eg your logic to interact with Twilio)
- Call the service and record API outputs, save those as fixtures that will be returned as responses in your tests without hitting the real thing (eg VCR, WebMock)
- You can now run your tests against old responses (this runs your logic except for getting a real response from the 3rd party; this approach leaves you exposed to API changes or you have edge cases not handled)
For the last part, two approaches to overcome this:
- Wrap any new logic in try/catch and report to Sentry: you avoid breaking prod and get info on new edge cases you didn't cover (this may not be feasible if the path where you're inserting new logic into does not work at all without the new feature; address this with thoughtful design/rollout of new features)
- Run new logic side by side to see what happens to the new logic when running in production (https://github.com/github/scientist)
I use the first approach bc small startup.
-
Real-World Engineering Challenges: Migrations
Check out GitHub scientist if you are doing a migration with a ruby based system: https://github.com/github/scientist
Great support and functionality for testing differences between two systems of record.
-
Rethinking Testing
As far as this idea, I have seen this before in a few different forms. The closest thing that I've personally witnessed being used is the scientist gem for Ruby applications. You have to do it manually, but you can instrument your code to compare old and new versions of some code. It also does some fancy stuff like randomly choosing which version gets run, almost like an A/B test. I wonder if there's a similar library for Python?
-
axum-strangler initial release
Not sure what OP had in mind, but for my dream strangler (that's a phrase I never expected to use), I'd love functionality like github's scientist library; basically, the ability to implement a route, continue to serve most requests through the original service, but duplicate a small percentage to the new implementation, compare the outputs of the two services, and log wherever the responses differ, so you get live production tests to exercise the new service without impacting users.
-
Using Scientist to Refactor Critical Ruby on Rails Code
However, the good news is that it’s easy and safe to do so in Ruby and Rails using the Scientist gem. Scientist's name is based on the scientific method of conducting experiments to verify a given hypothesis. In this case, our hypothesis is that the new code does the job.
-
Book notes: Turn the Ship Around!
Github scientist.
What are some alternatives?
Protobuf.NET - Protocol Buffers library for idiomatic .NET
Rubocop - A Ruby static code analyzer and formatter, based on the community Ruby style guide. [Moved to: https://github.com/rubocop/rubocop]
fsv - fsv is a file system visualizer in cyberspace. It lays out files and directories in three dimensions, geometrically representing the file system hierarchy to allow visual overview and analysis.
Coverband - Ruby production code coverage collection and reporting (line of code usage)
symbolics-keyboard - Symbolics Keyboard adapter code
SimpleCov - Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites
wisdom - Merlin Mann attempts to capture the best advice he's heard and learned from.
Rubycritic - A Ruby code quality reporter
Shrine - A TempleOS distro for heretics
Traceroute - A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app
protozero - Minimalist protocol buffer decoder and encoder in C++
Flog - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.