Tumgik
#osdev
cerulity · 7 months
Text
All-level Rust
Web servers require layers upon layers of software and hardware. Routing, multiplexing, protocols, everything. Rust is a viable solution to making a web server, because it's safe and fast, and has many crates to help (tokio, warp, ws). You can make a browser in Rust, as well as games.
But at the same time, you can make an operating system with it. The lowest level of access to a computer you can get, creating and dereferencing raw pointers, running on the CPU itself. You can make not only games but game engines. You can make compilers. You can do FFI. You can make FFI. Your entire stack can be made with Rust.
You would make a web server in JavaScript, Java, C#, Go, or maybe even Python. But you wouldn't use any of those to make an operating system, because they require a runtime aren't bare metal enough, or throw exceptions. They are good for making web servers because they abstract away problems like buffer overflows, and they are extendable languages. You would use C, C++, or Zig. They are good for making operating systems because it's easy to dig into memory ((unsigned short*)0xb8000 is the VGA text buffer).
Rust can do both. Sure, you can make a web server in those OS languages, but you need to make sure it's safe as hell. Rust itself is safe as hell.
/rust rant
9 notes · View notes
peer2queer · 11 months
Text
Omfg I can't express my love for ternary computing enough, it's so fucking coil, and a friend is designing an architecture and is gonna help me make an OS for it
I feel so fucking happy
Computers >>>>>>
@wafflejam822 @mmz-leviathan-is-trans no, I'm not neurodivergent, I don't have a special interest/hyper-fixation associated with that, whatever do you mean????
4 notes · View notes
hydralisk98 · 1 year
Text
LibreVastServitor computing stack designs 1/?
Tumblr media
Just a quick reminder here, this is a customized computing stack manifestation game where I simply write what I desire and then let the wider universe manifest it for me whatever way that means, including personal efforts of mine. Boils down from customizing and adapting research material into a actionable series of items to manifest.
Tumblr media
Ashur dream specifications
(mid-tower personal workstation computer)
2+ 2560x1440p monitors (one vertical, one or more horizontal)
Intel Core i5-4690 @ 3.5 GHz with its 4-cores (hoping forward to upgrade the RISC-V + OpenPOWER like processor for something decent with ~12-cores & much more open design) central processor unit
32GB of RAM
Some recent mid-range AMD GPU
64 GB Linux swap partition (mostly for virtual machines and RAMdisk partitions)
4TB+ SSD storage
Bluray burner
Floppy drive
Cassette / datasette drive
Themed GRUB bootloader
S6 init system
Arch-like package manager and software ecosystem
Customized alternative Linux kernel between Linux Libre & Zen kernel ( XanMod + Liquorix )
ZealOS, Parade, OpenBSD, OpenIndiana...
CLADO, DIS, Venera, Perseus, Maskoch, Synod, Monad, Valenz, Constans?
KDE Plasma with Liquid shell as desktop environment, complete with custom ricing, dot files & all the KDE desktop environment utilities;
Bash + Fish, Tmux, Astro-Neo-Vim with LSP, Emacs, LibreOffice Suite, Calligra, Bottles, Wine, WineTricks, QGIS, Firefox, LibreWolf, Dolphin, Konsole, Inkscape, Karbon, OpenStreetMap, GPlates, GProjector, Itch, Steam, GOG Galaxy, Lutris, Cyberpunk 2077, Ken Silverman's, FreeBASIC, Common Lisp, Godot + Qodot, VLC, MPV, .ogg / .ogv media player, musical tracker, 'Landchad.net', Brasero, K3B, FloppyFormatter, LibreCAD, AutoCAD, Blender, Kate, Qt, Nim, MUSL, C compiler, assembly monitor, HxD debugger, Rust, Swift, Kotlin, F#, C#, GNU make, NASM, Sweet Home 3D, some digital audio workstation software, Audacious, FFMPEG, Wayland, Morevna OpenToonz, some HTTP(S) web server suite, MongoDB, Hexo, Netlify CMS, RSS feed reader + generator, Pomodoro, Calendar, timely Tracker, Notion-like service, Tape, Gollum, some level editors, FreeCiv, The Sims 2, SimCity 4, Quake 1, Doom 1 & Doom 2, Markdown / Argdown, Konqueror, some WYSISYG rich media editor, some Raycaster engine, Daggerfall Unity, Portal 2, Source (1 & 2) Engine modding, some VirtualTableTop software, some remote desktop control software like VNC, OpenSSH, some distributed share storage software, Trenchbroom, StableDiffusionXL, ChatGPT open source alternative, DAO, Krita, GIMP, G'MIC & its plugins, PaintDotNet, CataclysmDDA, CataclysmBDA, Evennia, Python 3, Firefox for KDE (Developer Edition), Perl, PHP, MariaDB, lighttpd, Apache, Nginx, Themix Oomox GTK+ theme editor, Falkon, ...
Custom shell scripts, interactive REPL programming languages, some GUI programs, command aliases and dot file configurations;
?
Venera (computation "deque" project)
Tumblr media
Original components:
RISC-V + OpenPOWER = LibreVast (tribble word-based open hardware architecture designed for daily use & tinkering developer purposes)
Tropix + OGAS = Nucleus (optimized distributed processing micro-kernel, like 'Inferno' & 'Plan9')
RedSeaFS + Parade = CLADOgram (direct-access rich media agentive filesystem & file server suite)
KDE + POSIX-compilant CDE = VUE (lightweight desktop environment with profound customization options)
CommonLisp w/ CLOS + Nim = Pan-Lisp (both low-level and high-level REPL programming language)
Existing components:
Fish, Tmux, Vim, Konsole, Flatpak, Git
KDE Plasma w/ Liquid shell alternative
Konqueror, LibreWolf
GIMP w/ G'MIC & Krita w/ G'MIC
Hexo (flat blog self-hosting web server), MariaDB, "Landchad.net" stuff
QEMU, Wine, Wine-tricks, Proton, Bottles, Lutris
Trenchbroom, Godot w/ Qodot
Kate, KDevelop, Okteta, Mousepad, Notepadqq
[...]
2 notes · View notes
ravens-confused · 1 year
Text
Rosehip update:
Tried using C for bootstrapping the OS (so i can use it for development, rather than my daily driver, for kicks.) and it was honestly worse to try and get it working than it was to just keep working on Davis.
I think I might make a quick stack-based language like tsoding's Porth but simpler, essentially an x86 macro but nicely formatted. Not sure tho, I'll see where Davis goes as well as how much time I have free.
2 notes · View notes
this-week-in-rust · 3 months
Text
This Week in Rust 534
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
Announcing Rust 1.76.0
This Development-cycle in Cargo: 1.77
Project/Tooling Updates
zbus 4.0 released. zbus is a pure Rust D-Bus crate. The new version brings a more ergonomic and safer API. Release: zbus4
This Month in Rust OSDev: January 2024
Rerun 0.13 - real-time kHz time series in a multimodal visualizer
egui 0.26 - Text selection in labels
Hello, Selium! Yet another streaming platform, but easier
Observations/Thoughts
Which red is your function?
Porting libyaml to Safe Rust: Some Thoughts
Design safe collection API with compile-time reference stability in Rust
Cross compiling Rust to win32
Modular: Mojo vs. Rust: is Mojo 🔥 faster than Rust 🦀 ?
Extending Rust's Effect System
Allocation-free decoding with traits and high-ranked trait bounds
Cross-Compiling Your Project in Rust
Kind: Our Rust library that provides zero-cost, type-safe identifiers
Performance Roulette: The Luck of Code Alignment
Too dangerous for C++
Building an Uptime Monitor in Rust
Box Plots at the Olympics
Rust in Production: Interview with FOSSA
Performance Pitfalls of Async Function Pointers (and Why It Might Not Matter)
Error management in Rust, and libs that support it
Finishing Turborepo's migration from Go to Rust
Rust: Reading a file line by line while being mindful of RAM usage
Why Rust? It's the safe choice
[video] Rust 1.76.0: 73 highlights in 24 minutes!
Rust Walkthroughs
Rust/C++ Interop Part 1 - Just the Basics
Rust/C++ Interop Part 2 - CMake
Speeding up data analysis with Rayon and Rust
Calling Rust FFI libraries from Go
Write a simple TCP chat server in Rust
[video] Google Oauth with GraphQL API written in Rust - part 1. Registration mutation.
Miscellaneous
The book "Asynchronous Programming in Rust" is released
January 2024 Rust Jobs Report
Chasing a bug in a SAT solver
Rust for hardware vendors
[audio] How To Secure Your Audio Code Using Rust With Chase Kanipe
[audio] Tweede Golf - Rust in Production Podcast
[video] RustConf 2023
[video] Decrusting the tracing crate
Crate of the Week
This week's crate is microflow, a robust and efficient TinyML inference engine for embedded systems.
Thanks to matteocarnelos for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
* Hyperswitch - [FEATURE]: Setup code coverage for local tests & CI * Hyperswitch - [FEATURE]: Have get_required_value to use ValidationError in OptionExt
If you are a Rust project owner and are looking for contributors, please submit tasks here.
CFP - Speakers
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
Devoxx PL 2024 | CFP closes 2024-03-01 | Krakow, Poland | Event date: 2024-06-19 - 2024-06-21
RustFest Zürich 2024 CFP closes 2024-03-31 | Zürich, Switzerland | Event date: 2024-06-19 - 2024-06-24
If you are an event organizer hoping to expand the reach of your event, please submit a link to the submission website through a PR to TWiR.
Updates from the Rust Project
466 pull requests were merged in the last week
add armv8r-none-eabihf target for the Cortex-R52
add lahfsahf and prfchw target feature
check_consts: fix duplicate errors, make importance consistent
interpret/write_discriminant: when encoding niched variant, ensure the stored value matches
large_assignments: Allow moves into functions
pattern_analysis: gather up place-relevant info
pattern_analysis: track usefulness without interior mutability
account for non-overlapping unmet trait bounds in suggestion
account for unbounded type param receiver in suggestions
add support for custom JSON targets when using build-std
add unstable -Z direct-access-external-data cmdline flag for rustc
allow restricted trait impls under #[allow_internal_unstable(min_specialization)]
always check the result of pthread_mutex_lock
avoid ICE in drop recursion check in case of invalid drop impls
avoid a collection and iteration on empty passes
avoid accessing the HIR in the happy path of coherent_trait
bail out of drop elaboration when encountering error types
build DebugInfo for async closures
check that the ABI of the instance we are inlining is correct
clean inlined type alias with correct param-env
continue to borrowck even if there were previous errors
coverage: split out counter increment sites from BCB node/edge counters
create try_new function for ThinBox
deduplicate tcx.instance_mir(instance) calls in try_instance_mir
don't expect early-bound region to be local when reporting errors in RPITIT well-formedness
don't skip coercions for types with errors
emit a diagnostic for invalid target options
emit more specific diagnostics when enums fail to cast with as
encode coroutine_for_closure for foreign crates
exhaustiveness: prefer "0..MAX not covered" to "_ not covered"
fix ICE for deref coercions with type errors
fix ErrorGuaranteed unsoundness with stash/steal
fix cycle error when a static and a promoted are mutually recursive
fix more ty::Error ICEs in MIR passes
for E0223, suggest associated functions that are similar to the path
for a rigid projection, recursively look at the self type's item bounds to fix the associated_type_bounds feature
gracefully handle non-WF alias in assemble_alias_bound_candidates_recur
harmonize AsyncFn implementations, make async closures conditionally impl Fn* traits
hide impls if trait bound is proven from env
hir: make sure all HirIds have corresponding HIR Nodes
improve 'generic param from outer item' error for Self and inside static/const items
improve normalization of Pointee::Metadata
improve pretty printing for associated items in trait objects
introduce enter_forall to supercede instantiate_binder_with_placeholders
lowering unnamed fields and anonymous adt
make min_exhaustive_patterns match exhaustive_patterns better
make it so that async-fn-in-trait is compatible with a concrete future in implementation
make privacy visitor use types more (instead of HIR)
make traits / trait methods detected by the dead code lint
mark "unused binding" suggestion as maybe incorrect
match lowering: consistently lower bindings deepest-first
merge impl_polarity and impl_trait_ref queries
more internal emit diagnostics cleanups
move path implementations into sys
normalize type outlives obligations in NLL for new solver
print image input file and checksum in CI only
print kind of coroutine closure
properly handle async block and async fn in if exprs without else
provide more suggestions on invalid equality where bounds
record coroutine kind in coroutine generics
remove some unchecked_claim_error_was_emitted calls
resolve: unload speculatively resolved crates before freezing cstore
rework support for async closures; allow them to return futures that borrow from the closure's captures
static mut: allow mutable reference to arbitrary types, not just slices and arrays
stop bailing out from compilation just because there were incoherent traits
suggest [tail @ ..] on [..tail] and [...tail] where tail is unresolved
suggest less bug-prone construction of Duration in docs
suggest name value cfg when only value is used for check-cfg
suggest pattern tests when modifying exhaustiveness
suggest turning if let into irrefutable let if appropriate
suppress suggestions in derive macro
take empty where bounds into account when suggesting predicates
toggle assert_unsafe_precondition in codegen instead of expansion
turn the "no saved object file in work product" ICE into a translatable fatal error
warn on references casting to bigger memory layout
unstably allow constants to refer to statics and read from immutable statics
use the same mir-opt bless targets on all platforms
enable MIR JumpThreading by default
fix mir pass ICE in the presence of other errors
miri: fix ICE with symbolic alignment check on extern static
miri: implement the mmap64 foreign item
prevent running some code if it is already in the map
A trait's local impls are trivially coherent if there are no impls
use ensure when the result of the query is not needed beyond its Resultness
implement SystemTime for UEFI
implement sys/thread for UEFI
core/time: avoid divisions in Duration::new
core: add Duration constructors
make NonZero constructors generic
reconstify Add
replace pthread RwLock with custom implementation
simd intrinsics: add simd_shuffle_generic and other missing intrinsics
cargo: test-support: remove special case for $message_type
cargo: don't add the new package to workspace.members if there is no existing workspace in Cargo.toml
cargo: enable edition migration for 2024
cargo: feat: add hint for adding members to workspace
cargo: fix confusing error messages for sparse index replaced source
cargo: fix: don't duplicate comments when editing TOML
cargo: relax a test to permit warnings to be emitted, too
rustdoc: Correctly generate path for non-local items in source code pages
bindgen: add target mappings for riscv64imac and riscv32imafc
bindgen: feat: add headers option
clippy: mem_replace_with_default No longer triggers on unused expression
clippy: similar_names: don't raise if the first character is different
clippy: to_string_trait_impl: avoid linting if the impl is a specialization
clippy: unconditional_recursion: compare by Tys instead of DefIds
clippy: don't allow derive macros to silence disallowed_macros
clippy: don't lint incompatible_msrv in test code
clippy: extend NONMINIMAL_BOOL lint
clippy: fix broken URL in Lint Configuration
clippy: fix false positive in redundant_type_annotations lint
clippy: add autofixes for unnecessary_fallible_conversions
clippy: fix: ICE when array index exceeds usize
clippy: refactor implied_bounds_in_impls lint
clippy: return Some from walk_to_expr_usage more
clippy: stop linting blocks_in_conditions on match with weird attr macro case
rust-analyzer: abstract more over ItemTreeLoc-like structs
rust-analyzer: better error message for when proc-macros have not yet been built
rust-analyzer: add "unnecessary else" diagnostic and fix
rust-analyzer: add break and return postfix keyword completions
rust-analyzer: add diagnostic with fix to replace trailing return <val>; with <val>
rust-analyzer: add incorrect case diagnostics for traits and their associated items
rust-analyzer: allow cargo check to run on only the current package
rust-analyzer: completion list suggests constructor like & builder methods first
rust-analyzer: improve support for ignored proc macros
rust-analyzer: introduce term search to rust-analyzer
rust-analyzer: create UnindexedProject notification to be sent to the client
rust-analyzer: substitute $saved_file in custom check commands
rust-analyzer: fix incorrect inlining of functions that come from MBE macros
rust-analyzer: waker_getters tracking issue from 87021 for 96992
rust-analyzer: fix macro transcriber emitting incorrect lifetime tokens
rust-analyzer: fix target layout fetching
rust-analyzer: fix tuple structs not rendering visibility in their fields
rust-analyzer: highlight rustdoc
rust-analyzer: preserve where clause when builtin derive
rust-analyzer: recover from missing argument in call expressions
rust-analyzer: remove unnecessary .as_ref() in generate getter assist
rust-analyzer: validate literals in proc-macro-srv FreeFunctions::literal_from_str
rust-analyzer: implement literal_from_str for proc macro server
rust-analyzer: implement convert to guarded return assist for let statement with type that implements std::ops::Try
Rust Compiler Performance Triage
Relatively balanced results this week, with more improvements than regressions. Some of the larger regressions are not relevant, however there was a real large regression on doc builds, that was caused by a correctness fix (rustdoc was doing the wrong thing before).
Triage done by @kobzol. Revision range: 0984becf..74c3f5a1
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 2.1% [0.2%, 12.0%] 44 Regressions ❌ (secondary) 5.2% [0.2%, 20.1%] 76 Improvements ✅ (primary) -0.7% [-2.4%, -0.2%] 139 Improvements ✅ (secondary) -1.3% [-3.3%, -0.3%] 86 All ❌✅ (primary) -0.1% [-2.4%, 12.0%] 183
6 Regressions, 5 Improvements, 8 Mixed; 5 of them in rollups 53 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
eRFC: Iterate on and stabilize libtest's programmatic output
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
RFC: Rust Has Provenance
Tracking Issues & PRs
Rust
[disposition: close] Implement Future for Option<F>
[disposition: merge] Tracking Issue for min_exhaustive_patterns
[disposition: merge] Make unsafe_op_in_unsafe_fn warn-by-default starting in 2024 edition
Cargo
[disposition: merge] feat: respect rust-version when generating lockfile
New and Updated RFCs
No New or Updated RFCs were created this week.
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
RFC: Checking conditional compilation at compile time
Testing steps
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2024-02-14 - 2024-03-13 💕 🦀 💕
Virtual
2024-02-15 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn
2024-02-15 | Virtual + In person (Praha, CZ) | Rust Czech Republic
Introduction and Rust in production
2024-02-19 | Virtual (Melbourne, VIC, AU)| Rust Melbourne
(Hybrid - in person & online) February 2024 Rust Melbourne Meetup - Day 1
2024-02-20 | Virtual (Melbourne, VIC, AU) | Rust Melbourne
(Hybrid - in person & online) February 2024 Rust Melbourne Meetup - Day 2
2024-02-20 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2024-02-20 | Virtual | Rust for Lunch
Lunch
2024-02-21 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Rust for Rustaceans Book Club: Chapter 2 - Types
2024-02-21 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2024-02-22 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-02-27 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2024-02-29 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn Meetup | Mirror: Berline.rs page
2024-02-29 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Surfing the Rusty Wireless Waves with the ESP32-C3 Board
2024-03-06 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2024-03-07 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-03-12 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2024-03-12 | Hybrid (Virtual + In-person) Munich, DE | Rust Munich
Rust Munich 2024 / 1 - hybrid
Asia
2024-02-17 | New Delhi, IN | Rust Delhi
Meetup #5
Europe
2024-02-15 | Copenhagen, DK | Copenhagen Rust Community
Rust Hacknight #2: Compilers
2024-02-15 | Praha, CZ - Virtual + In-person | Rust Czech Republic
Introduction and Rust in production
2024-02-21 | Lyon, FR | Rust Lyon
Rust Lyon Meetup #8
2024-02-22 | Aarhus, DK | Rust Aarhus
Rust and Talk at Partisia
2024-02-29 | Berlin, DE | Rust Berlin
Rust and Tell - Season start 2024
2024-03-12 | Munich, DE + Virtual | Rust Munich
Rust Munich 2024 / 1 - hybrid
North America
2024-02-15 | Boston, MA, US | Boston Rust Meetup
Back Bay Rust Lunch, Feb 15
2024-02-15 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group Meetup
2024-02-20 | New York, NY, US | Rust NYC
Rust NYC Monthly Mixer (Moved to Feb 20th)
2024-02-20 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2024-02-21 | Boston, MA, US | Boston Rust Meetup
Evening Boston Rust Meetup at Microsoft, February 21
2024-02-22 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
2024-02-28 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2024-03-07 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
Oceania
2024-02-19 | Melbourne, VIC, AU + Virtual | Rust Melbourne
(Hybrid - in person & online) February 2024 Rust Melbourne Meetup - Day 1
2024-02-20 | Melbourne, VIC, AU + Virtual | Rust Melbourne
(Hybrid - in person & online) February 2024 Rust Melbourne Meetup - Day 2
2024-02-27 | Canberra, ACT, AU | Canberra Rust User Group
February Meetup
2024-02-27 | Sydney, NSW, AU | Rust Sydney
🦀 spire ⚡ & Quick
2024-03-05 | Auckland, NZ | Rust AKL
Rust AKL: Introduction to Embedded Rust + The State of Rust UI
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
For some weird reason the Elixir Discord community has a distinct lack of programmer-socks-wearing queer furries, at least compared to Rust, or even most other tech-y Discord servers I’ve seen. It caused some weird cognitive dissonance. Why do I feel vaguely strange hanging out online with all these kind, knowledgeable, friendly and compassionate techbro’s? Then I see a name I recognized from elsewhere and my hindbrain goes “oh thank gods, I know for a fact she’s actually a snow leopard in her free time”. Okay, this nitpick is firmly tongue-in-cheek, but the Rust user-base continues to be a fascinating case study in how many weirdos you can get together in one place when you very explicitly say it’s ok to be a weirdo.
– SimonHeath on the alopex Wiki's ElixirNitpicks page
Thanks to Brian Kung for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
3 notes · View notes
winexperements · 1 year
Text
Must I make post about my OSDEV project?
7 notes · View notes
addiment · 2 years
Text
I really fucking hate the fact that some of the hardest computer programming topics aren't hard because the topic in and of itself is hard, rather that the documentation is:
dogshit awful
nonexistent
requires knowledge you don't have and doesn't tell you how to get it
I'm fucking talking about OSDev
Seriously, it took me 2 days to get a UEFI app working because there are ~4 reliable sources and they all say slightly different and incompatible things. When I finally got my project working, the setup I had was almost completely different from the working tutorial I had settled on. People on those sorts of forums act so cocky because they think they know everything. It's so difficult to learn some things because the smartest people are usually pretty fucking awful. People who are smart and actually know how to teach are unbelievably valuable. After I'm done doing what I'm working on, you can bet your ass I'm making an example project.
2 notes · View notes
skelleton-bullfrog · 4 months
Text
Why do bisexuals love osdev? Because their preferred system is BI-OS
0 notes
mipseb · 1 year
Text
https://sizeof.cat/links/#osdev
Books
0 notes
sudisecavapa · 2 years
Text
Lgdt instructional design
  LGDT INSTRUCTIONAL DESIGN >> DOWNLOAD LINK vk.cc/c7jKeU
  LGDT INSTRUCTIONAL DESIGN >> READ ONLINE bit.do/fSmfG
        accenture instructional designer gdt entry what is global descriptor table gdtr gdt tutoriallgdt x86 gdt osdev global descriptor table vs local descriptor table
   Looking for a lgdt instructional design online? FilesLib is here to help you save time spent on searching. Our database consists of more than 6438879 files and becomes bigger every day! Just enter the keywords in the search field and find what you are looking for! Search results include file name, description, size and number of pages. You can either read lgdt instructional design online or download it to your computer. Moreover, documents can be shared on social networks. Welcome! No registration, 100% free, easy navigation through the file You can view & download any file you want without wasting your time on registration. And - what is even better - all our files are FREE to download. With one click you can find the lgdt instructional design you need. Whether you don’t want to spend your money on a service technician or your washing machine is beeping, it doesn’t matter. FilesLib will help you with your product without getting on your nerves. Search by a phrase, different files, print single pages If you don’t need to print the lgdt instructional design, you can print the specific page you need. If you are not looking for the service manual, but need installation instructions, we have several different manuals and instructions so you can choose the right one. Do you know that the $key can show you new sides and features of your product? That you can look at the specifications of two different chainsaws and decide which one to buy? And you can also find troubleshooting tips, fix your coffee maker and make your day a little bit happier. 21 Instructional Design Lgbt jobs available on Indeed.com. Apply to Information Technology Manager, Network Operations Technician, Learning and Development Shop high-quality unique Instructional Designer T-Shirts designed and sold by independent artists. Available in a range of colours and styles for men,
https://careliqowami.tumblr.com/post/694758200319361024/ms-dos-6-22-command-reference-manual, https://careliqowami.tumblr.com/post/694758200319361024/ms-dos-6-22-command-reference-manual, https://careliqowami.tumblr.com/post/694758200319361024/ms-dos-6-22-command-reference-manual, https://careliqowami.tumblr.com/post/694758200319361024/ms-dos-6-22-command-reference-manual, https://careliqowami.tumblr.com/post/694758200319361024/ms-dos-6-22-command-reference-manual.
0 notes
courselite414 · 2 years
Text
Dev c++ library list
Tumblr media
10 top-notch libraries for C++ programming | InfoWorld.
List of C++ game engines and frameworks - AlternativeT.
Using the WinBGIm Graphics Library with Dev-C++.
C++ Tutorial: Libraries - 2020.
C and C++ Library Function Listing - C.
Home - Dev-C++ Official Website.
Top 13 C++ Libraries to Watch Out For - Incredibuild.
The lightweight C++ Discord API Library - B.
Emscripting a C library to Wasm - Google Developers.
Dev C++ Iostream Library - tacticalrenew.
Dev C++ Graphics.h Library - dnsrenew.
C++ - OSDev Wiki.
Download DEV-C++ for Windows 10 Free (2022) - Apps.
MySQL Connector/C++: MySQL Connector/C++ Documentation.
10 top-notch libraries for C++ programming | InfoWorld.
Unfortunately, it is legal code. When using the FreeType library, in order to include the main header you need to do this: #include <ft2build.h>#include FT_FREETYPE_H. Inside ft2build.h it #defines FT_FREETYPE_H to whatever the main FreeType header should be. It's crazy-stupid, but legal code. Get To Know All About Library Functions In C++ With Examples. Library functions which are also called as "built-in" functions are the functions that are already available and implemented in C++. We can directly call these functions in our program as per our requirements. Library functions in C++ are declared and defined in special files.
List of C++ game engines and frameworks - AlternativeT.
In this article. All C++ library entities are declared or defined in one or more standard headers. This implementation includes two additional headers, <hash_map> and <hash_set>, that are not required by the C++ Standard.For a complete list of headers that this implementation supports, see Header Files Reference.. A freestanding implementation of the C++ library provides only a subset of these. Full list of supported KIPs; Broker version support: >=0.8 (see Broker version compatibility) Guaranteed API stability for C & C++ APIs (ABI safety guaranteed for C) Statistics metrics; Debian package: librdkafka1 and librdkafka-dev in Debian and Ubuntu; RPM package: librdkafka and librdkafka-devel; Gentoo package: dev-libs/librdkafka. 1. You can create individual C++" source file" instead of "project". Go to the "File" menu and select "New Source File" OR Go to the "Project" menu and select "New File". 2. Go to "Project" menu and choose "Project Options". 3. Go to the "Parameters" tab. 4. In the "Linker" field, enter the following text.
Using the WinBGIm Graphics Library with Dev-C++.
This table lists the libraries that implement CRT initialization and termination. If you link your program from the command line without a compiler option that specifies a C runtime library, the linker will use the statically linked CRT libraries: , , and. Click "Add Libvrary or Object" button. Browse to the library file (NOTE - the file itself libeay32.a) Select Open. The additional library will have been added to the bottom of the list of library files. Select the new text, press Ctrl+X,Place the caret at the beginning of the library list,Press Ctrl+V. Press OK. In Dev-C++, click 'File/New/Source File' and then in the next panel 'Add to Project' click 'yes'. Click 'File/Save As' and then give the file a name. Navigate to your project subdirectory to save the file in it. Name the file something like 'rectangle.c'.
C++ Tutorial: Libraries - 2020.
Apr 30, 2022 · SAIL (Squirrel Abstract Image Library) - small, fast, and cross-platform image decoding library. SDL (Simple DirectMedia Layer) - a library for input, audio, drawing and much more supported by many platforms. SIGIL (Sound, Input, and Graphics Integration Library) Interprocess dbus dee gdbus Databases berkeley db lmdb SQLite Configuration libconfig. Low-level positive-integer, hard-to-use, very low overhead functions are found in the mpn category. C source code to calculate values with GMP library. Dev c with gmp free download. Qmmp This program is an audio-player, written with the help of the Qt library. The user interface is simi dev c with gmp free download - SourceForge. Dev C++ has been downloaded over 67,796,885 times since 2000. Embarcadero Dev-C++ is a new and improved fork (sponsored by Embarcadero) of Bloodshed Dev-C++ and Orwell Dev-C++. It is a full-featured Integrated Development Environment (IDE) and code editor for the C/C++ programming language.... "DDetours is a library allowing you to hook Delphi.
C and C++ Library Function Listing - C.
The C++ standard library provides a large number of library functions (under different header files) for performing common tasks. Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages the use of Boost libraries for all users with minimal restrictions. Download Graphics Library For Dev C++ - djbrown. In order to run graphics programs under Dev-C you have to download WinBGIm files. Download the files listed below. Graphics.h (download to C:Dev-Cppinclude). Dev-Cpp is an application which is used to code and run programs in C/C. It has its variations but none of them come with a pre-installed.
Home - Dev-C++ Official Website.
Use Intel® oneAPI DPC++/C++ Compiler dialog box; Options: Intel Libraries for oneAPI dialog box; Options: Converter dialog box; Compiler Reference. C/C++/DPC++ Calling Conventions; Compiler Options. Alphabetical Option List; General Rules for Compiler Options; What Appears in the Compiler Option Descriptions; Optimization Options. fast. 4. OpenSSL. OpenSSL is the swiss army knife for cryptography. It includes general-purpose full-strength cryptographic routines in its libcrypto component and implementation of all TLS protocols in its libssl component. It is a C library but it is so important in cryptographic applications that I am including it here.
Top 13 C++ Libraries to Watch Out For - Incredibuild.
A static library contains object code linked with an end-user application, and then becomes part of that executable. A static library is sometimes called an archive since it is just a package of compiled object files. These libraries are in directories such as /lib, /usr/lib or /usr/local/lib. After resolving the various function references.
The lightweight C++ Discord API Library - B.
From the Dev-C++ menu, select File -> New -> Project. A new dialog box will appear. Press the Basic tab and select Console Application from the types of projects. Type the name of the project in the field named Name. Select the C++ Project option from the box with options.
Emscripting a C library to Wasm - Google Developers.
The Dev-C++ IDE could be used with the Visual C++ Express compiler, but I don't think too many people would consider that a viable option - especially since Visual C++ already comes with a working IDE. On the other hand: people shouldn't really start any new projects using Dev-C++. Dev-C++ is dead and Code:Blocks is a very much better choice of. Creating a shared and static library with the gnu compiler (gcc) Walkthrough: Creating and Using a Dynamic Link Library (C++) Libraries can be seperated in to two types: source code libraries, and binary libraries. There can also be hybrids of these two types -- a library can be both a source and binary library. Answer (1 of 3): There are plenty of them, but I'd recommend you to give SFML (1) a try. This library is probably the easiest to setup, learn and understand. Checkout its concise tutorials (2) and you will catch it up quickly. What I like the most in SFML is module-based approach. If you are buil.
Dev C++ Iostream Library - tacticalrenew.
You have not selected any compiler with which Dev-C++can compile like:- Select any compiler which Dev-C++ is listing in that menu and if any compiler is not shown in that menu then install any of the compatible compiler in your PC and copy the bin files of the installed compiler in Dev-C++'s bin folder. Standard Template Library (STL) is a collection of standard C++ template classes. It consists of generic methods and classes to work with different forms of data. Standard Template Library is basically a generic library i.e. a single method/class can operate on different data types. So, as understood, we won’t have to declare and define the. Char str (size); where char is data-type and str is an identifier is called variable. C++ string will be declared as, string str; // empty string. where the string is a class, already defined in the C++ Standard Library and str is an object of string class. initialization of a C-string will be as follows.
Dev C++ Graphics.h Library - dnsrenew.
MySQL Connector/C++ is a library for applications written in C or C++ that communicate with MySQL database servers. Version 8.0 of Connector/C++ implements three different APIs which can be used by applications: The new X DevAPI for applications written in C++. The legacy JDBC4-based API also implemented in version 1.1 of the connector. SDL is Simple DirectMedia Layer.It is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.It can be used to make animations and video games. It basically provides a set of APIs to interact with various devices like graphics hardware, audio. Dec 23, 2014 · Copy shared library into Dev-Cpp\MinGW64\bin Edit properties of your project, add -lgmp flag into Linker (look for Parameters tab) Compile & Run If you want other version or C++ interface, then you need to find existing build or try to compile it under MinGW environment. Share Improve this answer answered Dec 23, 2014 at 23:13.
C++ - OSDev Wiki.
Answer (1 of 3): There are plenty of them, but I’d recommend you to give SFML (1) a try. This library is probably the easiest to setup, learn and understand. Dev-C++ Dev-C++ is a free IDE for Windows that uses either MinGW or TDM-GCC as underlying compiler. Originally released by Bloodshed Software, but abandoned in 2006, it has recently been forked by Orwell, including a choice of more recent compilers.
Download DEV-C++ for Windows 10 Free (2022) - Apps.
Dlib C++ Library. Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments.
MySQL Connector/C++: MySQL Connector/C++ Documentation.
Dec 01, 2021 · Dev-C++ is a full-featured Integrated Development Environment (IDE) for Win32. It uses GCC, Mingw or Cygwin as compiler and libraries set. It supports Windows 98, NT, 2000 & XP. This is the original Dev-C++ software as published by Colin Laplace and this repository is frozen to version 4.9.9.2. For more recent versions of Dev-C++, please check.
Tumblr media
0 notes
peer2queer · 11 months
Text
Doing osdev with reading issues is so hellish 😔
For context: I'm reading through a ton of documents about how the windows kernel *generally* works, and its... a lot...
But still, I WILL make an NT-like OS kernel!!!!
I'm writing it in rust, much like my other OS(LSD), although it was prototyped in zig.
2 notes · View notes
ourwitching · 4 years
Link
Comments
0 notes
nanooswrimo · 5 years
Text
Hello World
Hi I am trying to write a novelty operating system.
I chose to do this in November because I got inspired by all those people trying to write a novel this month. 
Yes I know those things aren’t the same. They just happen to be in the same month.
I am new at this so I needed somewhere to just write stuff out, and Tumblr seemed like somewhere I could just track my own progress.
Since I have never successfully written an operating system so everything you read here might be wrong. If you need a reference the OSDev wiki is the place you want to be.
1 note · View note
schol-r-lea-blog · 6 years
Photo
Tumblr media
I have been programming for over 30 years - Schol-R-Lea 
https://forum.osdev.org/viewtopic.php?f=13&t=32818
0 notes
this-week-in-rust · 7 days
Text
This Week in Rust 544
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Foundation
Guest Blog: Attending CISA’s Open Source Software Security Summit
Newsletters
This Month in Rust OSDev: March 2024
Project/Tooling Updates
lilos v1.0 released
medium-to-markdown v0.1.1 : Convert your medium blogs easily into markdown files
Fluvio v0.11.6 release and project updates
venndb 0.4.0 - custom validators
Tantivy 0.22: Performance improvements, new aggregations and stability fixes
Announcing r3bl_terminal_async - build async interactive CLIs in Rust
[video] Demo + architecture overview of Ferrostar, a cross-platform turn-by-turn navigation SDK with a Rust core
Observations/Thoughts
The Rust Calling Convention We Deserve
Sized, DynSized, and Unsized
Coroutines and effects
Porting a cross-platform GUI application to Rust
Adventures In Rust: Bringing Exchange Support To Thunderbird
Rust Walkthroughs
Why SQLite Performance Tuning made Bencher 1200x Faster
drop, the destructor of Rust structs
Building with AWS S3 using Rust
Rust tokio task cancellation patterns
[video] Build with Naz - Published crate r3bl_terminal_async for building async interactive CLIs in Rust
[video] Trent Billington - Bevy ECS - Power tool for data oriented applications
[video] Building a procedural art generator
[audio] Isograph with Robert Balicki
Research
A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries
Rust Digger: Does size matter? The biggest crate is 450MB; More than 100 crates are over 50MB
Miscellaneous
GitHub Sponsor Rust developer David Tolnay
Learn how to write TCP servers using Rust's std::net module
RustFest Zürich 🇨 Talks announced
Crate of the Week
This week's crate is scandir, a high-performance file tree scanner.
Thanks to Marty B. for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No calls for testing were issued this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
awesome-alternatives-in-rust - Add dqy alternative to dig
fluvio - When a topic is deleted, connected clients should have their connection closed
fluvio - MQTT Connector: Prefix auto generated Client ID to prevent connection drops
fluvio - Remove localhost from fluvio in favor of 127.0.0.1
If you are a Rust project owner and are looking for contributors, please submit tasks here.
CFP - Speakers
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
RustConf 2024 | Closes 2024-04-25 | Montreal, Canada | Event date: 2024-09-10
RustLab 2024 | Closes 2024-05-01 | Florence, Italy | Event date: 2024-11-09 - 2024-11-11
EuroRust 2024| Closes 2024-06-03 | Vienna, Austria & online | Event date: 2024-10-10
Scientific Computing in Rust 2024| Closes 2024-06-14 | online | Event date: 2024-07-17 - 2024-07-19
Conf42 Rustlang 2024 | Closes 2024-07-22 | online | Event date: 2024-08-22
If you are an event organizer hoping to expand the reach of your event, please submit a link to the submission website through a PR to TWiR.
Updates from the Rust Project
432 pull requests were merged in the last week
add simple async drop glue generation
llvm backend: Prevent creating the same Instance::mono multiple times
static_mut_refs: use raw pointers to remove the remaining FIXME
add a lower bound check to unicode-table-generator output
add an opt-in to store incoming edges in VecGraph + misc
add llvm-bitcode-linker to build manifest
allow workproducts without object files
at debuginfo=0, don't inline debuginfo when inlining
correctly change type when adding adjustments on top of NeverToAny
coverage: branch coverage tests for lazy boolean operators
coverage: prepare for improved branch coverage
delay interning errors to after validation
delay span bug when Self kw resolves to DefKind::{Mod,Trait}
don't ICE for kind mismatches during error rendering
don't ascend into parent bodies when collecting stmts for possible return suggestion
don't error on subtyping of equal types
don't inline integer literals when they overflow - new attempt
don't repeatedly duplicate TAIT lifetimes for each subsequently nested TAIT
fix ICE in eval_body_using_ecx
fix ICE when there is a non-Unicode entry in the incremental crate directory
fix capturing duplicated lifetimes via parent in precise_captures (impl use<'...>)
fix normalizing in different ParamEnvs with the same InferCtxt
fix trait solver overflow with non_local_definitions lint
flip spans for precise capturing syntax not capturing a ty/const param, and for implicit captures of lifetime params
give a name to each distinct manipulation of pretty-printer FixupContext
ignore -C strip on MSVC
implement Modified Condition/Decision Coverage
implement PROBLEMATIC_CONSTS generalization
implement syntax for impl Trait to specify its captures explicitly (feature(precise_capturing))
improve ICE message for forbidden dep-graph reads
interpret: pass MemoryKind to adjust_alloc_base_pointer
interpret: pass MemoryKind to before_memory_deallocation
interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt
introduce perma-unstable wasm-c-abi flag
let inherent associated types constrain opaque types during projection
make suggest_deref_closure_return more idiomatic/easier to understand
make thir_tree and thir_flat into hooks
make the comments for ReturnDest variants doc comments
match ergonomics 2024: Implement eat-one-layer
match ergonomics 2024: mut doesn't reset binding mode
match hyphen in multi-revision comment matchers
opaque types have no namespace
outline default query and hook provider function implementations
prefer identity equality over equating types during coercion
print note with closure signature on type mismatch
properly handle emojis as literal prefix in macros
remove default_hidden_visibility: false from wasm targets
remove uneeded clones now that TrustedStep implies Copy
silence some follow-up errors on trait impls in case the trait has conflicting or otherwise incoherent impls
simplify shallow resolver to just fold ty/consts
stop taking ParamTy/ParamConst/EarlyParamRegion/AliasTy by ref
subtype predicates only exist on inference types, so we can allow them to register opaque types within them
tell LLVM Vec::len is invariant across growth
use raw-dylib for Windows synchronization functions
refactor clippy in bootstrap
when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var isolation
miri: data_race: make the release/acquire API more clear
miri: no_std works on Windows now
miri: add localtime_r shim
miri: address reuse improvements and fixes
miri: deadlock: show backtrace for all threads
miri: directly call handle_alloc_error
miri: implement support for __rust_alloc_error_handler
miri: make realloc with a size of zero fail
miri: move read_byte_slice to general helpers file, next to read_c_str
miri: threads: keep track of why we are blocked, and sanity-check that when waking up
Box::into_raw: make Miri understand that this is a box-to-raw cast
PatRangeBoundary::compare_with: also add a fast-path for signed integers
codegen ZSTs without an allocation
stabilize Wasm target features that are in phase 4 and 5
stabilize const_io_structs
stabilize checking of cfgs at compile-time: --check-cfg option
stabilize generic NonZero
make checked ops emit unchecked LLVM operations where feasible
improve std::fs::Metadata Debug representation
fix negating f16 and f128 constants
force exhaustion in iter::ArrayChunks::into_remainder
checked_ilog: improve performance
add an intrinsic for ptr::from_raw_parts(_mut)
fix: make str::from_raw_parts_mut mut
use queue-based RwLock on more platforms
add support for Arm64EC to the standard library
codegen_gcc: fix PassMode::Indirect with params
codegen_gcc: fix check for main function already declared
codegen_gcc: fix panic when calling get_fn for a variable
codegen_gcc: fix passing custom CG_RUSTFLAGS when building sysroot
codegen_gcc: implement more type kinds
cargo install: including Locking message
cargo resolver: add default Edition2024 to resolver v3
cargo resolver: add v3 resolver for MSRV-aware resolving
cargo credential: trim newlines in tokens from stdin
cargo msrv: error, rather than panic, on rust-version 'x'
cargo msrv: put MSRV-aware resolver behind a config
cargo toml: don't crash on parse errors that point to multi-byte character
cargo toml: disallow source-less dependencies
cargo toml: error on [project] in Edition 2024
cargo toml: report _fied variants (e.g. dev_dependencies) as deprecated
cargo: fix 'cargo build' fails when list_files() with gix is triggered
rustdoc: always display stability version even if it's the same as the containing item
rustdoc: fix copy path button
rustdoc: support type '/' to search
rustdoc-search: fix description on aliases in results
rustdoc-search: single result for items with multiple paths
clippy: threadlocal_initializer_can_be_made_const will not trigger for unreachable initializers
clippy: arithmetic_side_effects fix false negative on +=
clippy: ptr_as_ptr: fix duplicate diagnostics
clippy: emit the needless_pass_by_ref_mut lint on self arguments as well
clippy: fix is_test_module_or_function
clippy: reduce single_char_pattern to only lint on ascii chars
clippy: rework interior mutability detection
clippy: the multiple_unsafe_ops_per_block test needs asm!
rust-analyzer: cargo script mvp
rust-analyzer: add convert From to TryFrom assist
rust-analyzer: allow rust files to be used linkedProjects
rust-analyzer: VFS should not walk circular symlinks
rust-analyzer: handle escaped chars in doc comments
rust-analyzer: replace Just the variable name in Unused Variable Diagnostic Fix
rust-analyzer: implement BeginPanic handling in const eval
rust-analyzer: make test harness arguments configurable and not --nocapture
rust-analyzer: render matched macro arm on hover of macro calls
rust-analyzer: try to generate more meaningful names in json converter
Rust Compiler Performance Triage
A week dominated by small mixed changes to perf with improvements slightly outweighing regressions. There were no pure regressions, and many of the mixed perf results were deemed worth it for their potential improvements to runtime performance through further optimization from LLVM.
Triage done by @rylev. Revision range: ccfcd950..a77f76e2
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 0.4% [0.2%, 1.8%] 57 Regressions ❌ (secondary) 0.4% [0.2%, 1.9%] 26 Improvements ✅ (primary) -0.8% [-3.4%, -0.2%] 50 Improvements ✅ (secondary) -0.6% [-1.9%, -0.1%] 32 All ❌✅ (primary) -0.2% [-3.4%, 1.8%] 107
0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups 62 artifact comparisons made in total
Full report here
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No calls for testing were issued this week.
RFCs
Rust
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: merge] experimental project goal program for 2024 H2
Tracking Issues & PRs
Rust
[disposition: merge] Tracking Issue for std::path::absolute
[disposition: merge] Tracking Issue for convenience methods on NonNull
[disposition: merge] Inline more svg images into CSS
[disposition: merge] Edition 2024: Make ! fall back to !
[disposition: merge] static_mut_refs: Should the lint cover hidden references?
Cargo
[disposition: merge] fix(toml): Warn, rather than fail publish, if a target is excluded
New and Updated RFCs
[new] experimental project goal program for 2024 H2
Upcoming Events
Rusty Events between 2024-04-24 - 2024-05-22 🦀
Virtual
2024-04-24 | Virtual + In Person (Prague, CZ) | Rust Czech Republic
#2: Making Safe Rust Safer (Pavel Šimerda)
2024-04-25 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn Meetup
2024-04-30 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2024-05-01 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Rust for Rustaceans Book Club: Chapter 5 - Project Structure
2024-05-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2024-05-02 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-05-07 | Virtual (Buffalo, NY) | Buffalo Rust Meetup
Buffalo Rust User Group
2024-05-09 | Virtual (Berlin, DE) | OpenTechSchool Berlin + Rust Berlin
Rust Hack and Learn | Mirror: Rust Hack n Learn Meetup
2024-05-09 | Virtual (Israel) | Rust in Israel
Rust at Microsoft, Tel Aviv - Are we embedded yet?
2024-05-09 | Virtual (Nuremberg/Nürnberg, DE) | Rust Nuremberg
Rust Nürnberg online
2024-05-14 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2024-05-14 | Virtual (Halifax, NS, CA) | Rust Halifax
Rust&Tell - Halifax
2024-05-14 | Virtual + In-Person (München/Munich, DE) | Rust Munich
Rust Munich 2024 / 1 - hybrid (Rescheduled)
2024-05-15 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2024-05-16 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-05-21 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful—forensic parsing via Artemis
Africa
2024-05-04 | Kampala, UG | Rust Circle Kampala
Rust Circle Meetup
Asia
2024-05-11 | Bangalore, IN | Rust Bangalore
May 2024 Rustacean meetup
Europe
2024-04-24 | Virtual + In Person (Prague, CZ) | Rust Czech Republic
#2: Making Safe Rust Safer (Pavel Šimerda)
2024-04-25 | Aarhus, DK | Rust Aarhus
Talk Night at MFT Energy
2024-04-25 | Berlin, DE | Rust Berlin
Rust and Tell - TBD
2024-04-25 | København/Copenhagen, DK | Copenhagen Rust Community
Rust meetup #46 sponsored by Nine A/S
2024-04-25 | Vienna, AT | Rust Vienna
Rust Vienna x Python User Group - April
2024-04-27 | Basel, CH | Rust Basel
Fullstack Rust - Workshop #2 (Register by 23 April)
2024-04-27 | Stockholm, SE | Stockholm Rust
Ferris' Fika Forum #2
2024-04-30 | Budapest, HU | Budapest Rust Meetup Group
Rust Meetup Budapest 2
2024-04-30 | Salzburg, AT | Rust Salzburg
[Rust Salzburg meetup]: 6:30pm - CCC Salzburg, 1. OG, ArgeKultur, Ulrike-Gschwandtner-Straße 5, 5020 Salzburg
2024-05-01 | Köln/Cologne, DE | Rust Cologne
This Month in Rust, May
2024-05-01 | Utrecht, NL | NL-RSE Community
NL-RSE RUST meetup
2024-05-06 | Delft, NL | GOSIM
GOSIM Europe 2024
2024-05-07 & 2024-05-08 | Delft, NL | RustNL
RustNL 2024
2024-05-08 | Cambridge, UK | Cambridge Rust Meetup
Monthly Rust Meetup
2024-05-09 | Gdańsk, PL | Rust Gdansk
Rust Gdansk Meetup #2
2024-05-14 | Virtual + In-Person (München/Munich, DE) | Rust Munich
Rust Munich 2024 / 1 - hybrid (Rescheduled)
2024-05-14 | Prague, CZ | Rust Prague
Rust Meetup Prague (May 2024)
2024-05-21 | Aarhus, DK | Rust Aarhus
Hack Night
2024-05-21 | Zurich, CH | Rust Zurich
Save the date - Mai Meetup
North America
2024-04-24 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2024-04-25 | Nashville, TN, US | Music City Rust Developers
Music City Rust Developers - Async Rust on Embedded
2024-04-26 | Boston, MA, US | Boston Rust Meetup
North End Rust Lunch, Apr 26
2024-05-04 | Cambridge, MA, US | Boston Rust Meetup
Kendall Rust Lunch, May 4
2024-05-09 | Spokane, WA, US | Spokane Rust
Monthly Meetup: Topic TBD!
2024-05-12 | Brookline, MA, US | Boston Rust Meetup
Coolidge Corner Brookline Rust Lunch, May 12
2024-05-16 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group Meetup
2024-05-20 | Somerville, MA, US | Boston Rust Meetup
Ball Square Rust Lunch, May 20
2024-05-21 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2024-05-22 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
Oceania
2024-04-30 | Auckland, NZ | Rust AKL
Rust AKL: Why Rust? Convince Me!
2024-04-30 | Canberra, ACT, AU | Canberra Rust User Group
CRUG April Meetup: Generics and Traits
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
The learning curve for Rust is relatively steep compared to other languages, but once you climb it you'll never look down.
– BD103 on Mastodon
Thanks to BD103 for the self-suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
2 notes · View notes