Philipp Oppermann's OS development blog for writing a complete kernel in #Rust (os.phil-opp.com). This is one of my favorites and there is an active forum in case you have questions regarding the blog or if something doesn't work for you!
For aspiring OS developers, you cannot go on without checking OS Dev Wiki (wiki.osdev.org/Main_Page). This is the main resource which is language agnostic. Here you can find all sorts of information about OS development and a lot of info about how an OS actually works internally!
How to write an OS from scratch GitHub page (github.com/cfenollosa/os-β¦) by @cfenollosa is an absolute gem where he started documenting his journey on creating a custom OS and you can for sure learn a lot from this great resource!
The little book about OS development (littleosbook.github.io). This plus the OS Wiki should always be open in your browser when writing an OS just to double check the logics. It's a great resource for anybody getting started or going through the OS development journey in 2022
Brandon Friesen's OS development tutorials (osdever.net/bkerndev/Docs/β¦) are arguably one of the best tutorials out there yet on OS development where he goes into details about IDT, GDT and IRQs. Great resource overall
Broken Thorn's OS development tutorials (brokenthorn.com/Resources/OSDeβ¦) are hidden gems too. There are tutorials on everything from boot loaders to process management and everything in-between
That's it for now folks! If you enjoyed this thread, give me a follow on Twitter or LinkedIn (linkedin.com/in/vandadnp) (or both!) βπ»
β’ β’ β’
Missing some Tweet in this thread? You can try to
force a refresh
Free #Full-#stack Course
In this course we will create a backend with RESTful API endpoints together with JWT token authorization using Django and Django REST Framework to serve our Flutter and Rust clients (This is an ongoing course) youtube.com/playlist?list=β¦
#Riverpod 2.x #State#Management Course for #Flutter Developers (17 hours long course)
In this course we will develop a fully functioning Instagram application with Flutter and Riverpod where users can upload photos, videos, comment, like and more!
π₯What are #equality (==) and #hashCode in #Dart / #Flutter objects and why would you need to override these? π A thread to explain it all π§΅
ππ»1/14
Object equality in Dart is defined through the == operator. This is an operator that has a return value of bool and has only one parameter which is another object of the same type this operator is implemented on
2/14
The == operator's implementation in Dart has to have 4 important qualities.
Quality #1 is that this operator should be "total" meaning that it should only return a boolean and it should never throw
3/14
People on LinkedIn are there to expand their professional network. LinkedIn is not a dating app. Please keep your conversations only to a professional level 1/
When sending messages to a new contact, get to the point in your first message. Don't send a message like "Hi" and wait before actually saying what you want to say. I get about 200 "hi" messages per week! 2/
* StalessWidget comes from Widget > DiagnosticableTree > Diagnosticable. It defines a user interface by returning a Widget in its build function. 1/
In StatefulWidget and StatelessWidget, both, the build function receives a BuildContext using which you can retrieve information from up the build chain in order to complete rendering your widgets. 2/
Confused about #Provider in #Flutter? Thread to explain some of the most important concepts
π§΅ππ»
context.select() is used when you want to watch a specific aspect of a provider and rebuild your widget upon that value changing. It's only useful inside the build() function of your widgets and changes to the selected value will mark the widget as needing to be rebuilt
by using context.select(), you rebuild your widget only if the given aspect of your provider changes, this is specially useful if you have a large provider with many moving parts