Records and Discriminated Unions - F# Part 2 [Episode 002]
In this episode, I walk you through the design of a data model for a text-based adventure game in F#. We'll cover F#'s record types, discriminated unions, and the Option type.
Sections:
- Project Overview [1:22] - Data Model Overview [2:03] - Record Types [2:40] - Structural Equality [3:06] - Discriminated Unions [5:15] - Option Type [10:27] - Recursive Type Definitions [11:50] - Creating a Record Instance [14:25] ... https://www.youtube.com/watch?v=hsTmLhnzRhE
In this video, I'll explain how Emacs' display-buffer function is used to determine which window (or frame!) gets used to display a buffer. This is useful when you want to prevent Emacs from breaking your perfectly-organized window layouts! I'll go through many of the built-in "display action" functions to explain how they work. We'll conclude the video by changing our configuration to prevent popup windows from being created and to cause Org Mode and Help buffers to reuse windows containing other buffers for those modes!
Keep an eye out for the next video where we will cover display-buffer-alist and custom display action functions!
Show notes: https://github.com/daviwil/emacs-from-scratch/blob/master/show-notes/Emacs-Tips-DisplayBuffer-1.org
Chapters
0:00 - Intro
0:34 - Popup windows are annoying.
1:48 - How display-buffer works
7:50 - What is an action function?
9:47 - A tour of action function parameters
16:63 - Examining the default placement actions
35:47 - Overriding the default placement actions
41:55 - What's next?
My Emacs configuration: https://github.com/daviwil/dotfiles/blob/master/Emacs.org
If you enjoy this series, please consider becoming a sponsor on GitHub or Patreon:
- https://github.com/sponsors/daviwil
- https://patreon.com/SystemCrafters
You can also leave a tip via PayPal: https://paypal.me/daviwil
Follow me on Twitter for more Emacs content!
https://twitter.com/SystemCrafters
Chat with the System Crafters community on Discord: https://discord.gg/yVD8Gx6
Intro music: Coriolis Effect by logos feat. stefsax, licensed CC-BY
http://ccmixter.org/files/mseq/26296
...
https://www.youtube.com/watch?v=-H2nU0rsUMY
Turn your videos into live streams with Restream https://restre.am/ANIm
In today's stream, we'll try a couple of different approaches to run a pre-built Linux application (like Discord) in Guix. This can be pretty difficult thing to do but we'll try to figure it out live!
SUPPORT THE CHANNEL:
? https://store.systemcrafters.net
? https://systemcrafters.net/support-the-channel
? Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme
? Buy a domain with Namecheap: https://namecheap.pxf.io/NK0yXK
SHOW NOTES:
[[https://systemcrafters.net/live-streams/october-14-2022/]]
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
JOIN THE COMMUNITY:
http://systemcrafters.chat (IRC and Discord)
https://twitter.com/SystemCrafters
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
MY SECOND CHANNEL:
On the Flux Harmonic channel I do live coding twice a week using many of the tools we talk about on System Crafters!
- https://youtube.com/FluxHarmonicLive
- https://fluxharmonic.com
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=CFlOzdx2FDc
In today's stream, we'll discuss the unique aspects of Emacs that make it the most hackable program to ever exist. How does it accomplish this hackability? Is it possible to replicate the Emacs experience in other programs?
SUPPORT THE CHANNEL:
? https://store.systemcrafters.net
? https://systemcrafters.net/support-the-channel
? Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme
? Buy a domain with Namecheap: https://namecheap.pxf.io/NK0yXK
SHOW NOTES:
https://systemcrafters.net/live-streams/august-19-2022/
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
JOIN THE COMMUNITY:
http://systemcrafters.chat (IRC and Discord)
https://twitter.com/SystemCrafters
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
MY SECOND CHANNEL:
On the Flux Harmonic channel I do live coding twice a week using many of the tools we talk about on System Crafters!
- https://youtube.com/FluxHarmonicLive
- https://fluxharmonic.com
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=j0GmFP9hDCc
In this stream, we'll experiment with self-hosting various services like websites, an XMPP server, and possibly an IRC bouncer using Guix containers. The twist here is that we will be deploying these containers inside of Debian so that they're easy to host in standard cloud service VMs!
#gnu #guix #debian #selfhosting #freesoftware
SUPPORT THE CHANNEL:
? Support My Work: https://systemcrafters.net/how-to-help/#support-my-work
? Subscribe to the Newsletter: https://systemcrafters.net/newsletter/
? https://store.systemcrafters.net
? Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme
SHOW NOTES:
[https://systemcrafters.net/live-streams/november-10-2023/
JOIN THE COMMUNITY:
https://systemcrafters.net/community/ (Matrix and IRC chat!)
https://fosstodon.org/@daviwil
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=QS5MnN_fits
In this stream, we'll discuss whether popularity is an important factor for text editors. We'll also look into the rise and fall of other text editors over time to understand how the loss of popularity affected them. I'd love to hear your thoughts on this topic, some please come contribute!
SUPPORT THE CHANNEL:
? https://store.systemcrafters.net
? https://systemcrafters.net/support-the-channel
? Buy a domain with Namecheap: https://namecheap.pxf.io/NK0yXK
SHOW NOTES:
https://systemcrafters.net/live-streams/november-12-2021/
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
JOIN THE COMMUNITY:
http://systemcrafters.chat (IRC and Discord)
https://twitter.com/SystemCrafters
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
Powered by Restream https://restream.io/
...
https://www.youtube.com/watch?v=dB4ydMQgmNk
In this video, we will learn a couple of useful techniques that will allow you to craft your own email processing workflow using Org Mode and mu4e:
- Creating capture templates for reading and following up on messages later
- Compiling a set of links to queries so that it's easy to jump to messages from your Org file
The show notes can be found here: https://github.com/daviwil/emacs-from-scratch/blob/master/show-notes/Emacs-Mail-05.org
Check out the rest of the Emacs Mail series: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
My Emacs configuration: https://github.com/daviwil/dotfiles/blob/master/Emacs.org
If you enjoy this series, please consider becoming a sponsor on GitHub or Patreon:
- https://github.com/sponsors/daviwil
- https://patreon.com/SystemCrafters
You can also leave a tip via PayPal: https://paypal.me/daviwil
Follow me on Twitter for more Emacs content!
https://twitter.com/SystemCrafters
Chat with the System Crafters community on Discord: https://discord.gg/yVD8Gx6
Intro music: Coriolis Effect by logos feat. stefsax, licensed CC-BY
http://ccmixter.org/files/mseq/26296
...
https://www.youtube.com/watch?v=dSZu4jwvaSs
This week on "Code Dive" we'll be taking a deeper look at Emacs' built-in project.el to see what interesting features or Emacs Lisp tricks we can discover. If we have time, we'll try hacking on some customizations using the hooks that this package provides!
#gnu #emacs #emacs-lisp #project-el #code-dive #free-software
LEARN SCHEME WITH US:
Want to learn Guile Scheme in a friendly, interactive environment? Check out the "Hands-On Guile Scheme for Beginners" course starting March 16th!
https://systemcrafters.net/courses/hands-on-guile-scheme-beginners/
SUPPORT THE CHANNEL:
? Support My Work: https://systemcrafters.net/how-to-help/#support-my-work
? Subscribe to the Newsletter: https://systemcrafters.net/newsletter/
? https://store.systemcrafters.net
? Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme
SHOW NOTES:
https://systemcrafters.net/live-streams/march-7-2024/
JOIN THE COMMUNITY:
https://systemcrafters.net/community/ (Matrix and IRC chat!)
https://fosstodon.org/@daviwil
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=O6hMwJfaXV8
In this stream, we'll discuss reasons for why communities are valuable to their members and even to those who are not. I want to hear your thoughts on what makes a great community and what our community might be able to accomplish together!
#community #gnu #emacs #guix #freesoftware
SUPPORT THE CHANNEL:
? Support My Work: https://systemcrafters.net/how-to-help/#support-my-work
? Subscribe to the Newsletter: https://systemcrafters.net/newsletter/
? https://store.systemcrafters.net
? Get Your Copy of Mastering Emacs: https://www.masteringemacs.org/r/systemcrafters?utm_source=yt&utm_medium=desc&utm_campaign=scme
SHOW NOTES:
[[https://systemcrafters.net/live-streams/september-22-2023/]]
JOIN THE COMMUNITY:
https://systemcrafters.net/community/ (Matrix and IRC chat!)
https://fosstodon.org/@daviwil
MY CONFIGURATION:
https://config.daviwil.com
https://config.daviwil.com/emacs
https://config.daviwil.com/systems (Guix)
OTHER SERIES:
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
CREDITS:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=71GIs8RcrJM
In this stream, we'll take a closer look at what 'use-package' expressions do in Emacs and then learn how to write the equivalent configuration without it!
My Emacs configuration: https://config.daviwil.com/emacs
If you enjoy this series, please consider becoming a sponsor on GitHub or Patreon:
- https://github.com/sponsors/daviwil
- https://patreon.com/SystemCrafters
You can also leave a tip via PayPal: https://paypal.me/daviwil
Follow me on Twitter for more Emacs content!
https://twitter.com/SystemCrafters
Chat with the System Crafters community on Discord: https://discord.gg/yVD8Gx6
Check out my other video series!
- Emacs Essentials: https://www.youtube.com/watch?v=48JlgiBpw_I&list=PLEoMzSkcN8oPZvSdewHG8uApD7THlLLCV
- Emacs From Scratch: https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ
- Emacs Tips: https://www.youtube.com/watch?v=wKTKmE1wLyw&list=PLEoMzSkcN8oMHJ6Xil1YdnYtlWd5hHZql
- Emacs Desktop Environment: https://www.youtube.com/watch?v=f7xB2fFk1tQ&list=PLEoMzSkcN8oNPbEMYEtswOVTvq7CVddCS
- Emacs IDE: https://www.youtube.com/watch?v=E-NAM9U5JYE&list=PLEoMzSkcN8oNvsrtk_iZSb94krGRofFjN
- Emacs Mail: https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
- Learning Emacs Lisp: https://www.youtube.com/watch?v=RQK_DaaX34Q&list=PLEoMzSkcN8oPQtn7FQEF3D7sroZbXuPZ7
- Craft Your System with GNU Guix: https://www.youtube.com/watch?v=iBaqOK75cho&list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU
Music credits:
Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664
...
https://www.youtube.com/watch?v=zWIByv8JOrg