Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs a greater flexibility to efficiently handle new situations without recompilation. Metaprogramming can be used to move computations from run-time to compile-time, to generate code using compile time computations, and to enable self-modifying code. The ability of a programming language to be its own metalanguage is called reflection. Reflection is a valuable language feature to facilitate metaprogramming. Metaprogramming was popular in the 1970s and 1980s using list processing languages such as LISP. LISP hardware machines were popular in the 1980s and enabled applications that could process code. They were frequently used for artificial intelligence applications. (Wikipedia).
A typical metauni experience involves a series of boards, often with dense technical content. Having a convenient way of getting a fullscreen view of these boards is crucial. This video is a brief introduction to the feature. Music by Lucas Cantor.
From playlist Metauni
A short demo of getting a keycode for a board at metauni and using it to view the board in a web browser, and of using a URL for a board to jump into metauni at the exact location of a board. Music by Lucas Cantor.
From playlist Metauni
Adding Vectors Geometrically: Dynamic Illustration
Link: https://www.geogebra.org/m/tsBer5An
From playlist Trigonometry: Dynamic Interactives!
Storyboard - a bit of fun with deep learning for vision and storytelling
A bit of fun for Christmas! Draw something, add some text and click "Tell a Story" to get a poem, or a short story, incorporating the elements. Available at metauni for anyone with scribe permissions (make a Storyboard pocket). Music by Lucas Cantor.
From playlist Metauni
Composing Trig & Inverse Trig Functions (2)
Evaluating compositions of #trig & inverse #trig functions: More quick formative assessment via #geogebra: https://www.geogebra.org/m/rwpkkmt7 & https://www.geogebra.org/m/hcw4fr6t #MTBoS #ITeachMath #trigonometry #precalc #math #mathchat
From playlist Trigonometry: Dynamic Interactives!
Projection of One Vector onto Another Vector
Link: https://www.geogebra.org/m/wjG2RjjZ
From playlist Trigonometry: Dynamic Interactives!
Composing Trig & Inverse Trig Functions (1)
Create a #GeoGebra lesson out of https://www.geogebra.org/m/byevwtd8 , have remote & in-class Ss join, & observe everyone’s thinking in real time! Here, evaluating compositions of #trig & inverse trig functions: https://www.geogebra.org/m/ezkfbxsu
From playlist Trigonometry: Dynamic Interactives!
Modeling with Trigonometric Functions! (Formative Assessment w/Feedback)
Link: https://www.geogebra.org/m/cuCwguXP BGM: Simeon Smith
From playlist Trigonometry: Dynamic Interactives!
Ruby Conf 2013 - Preferring Object-Orientation to Metaprogramming
By Steven Harms Metaprogramming in Ruby is a mixed blessing: it makes many impossible things possible. This quicker, easier, more seductive path, however, can lead to contorted code that's difficult to maintain and can be hard to understand. So what's the alternative? For many uses of met
From playlist RubyConf 2013
Practical Meta Programming Modeling Thought by Steven Harms
I have completed a second major release of a library that fully conjugates Classical Latin verbs in each of their 133 froms * 5 standard paradigms. Owing to the irregularity of human communication, modeling the provision of unambiguous answers (return values) to ambiguously asked things (f
From playlist Ruby Conference 2011
RubyHack 2019: GraphQL Migration: A Proper Use Case for Metaprogramming? by Shawnee Gao
RubyHack 2019: GraphQL Migration: A Proper Use Case for Metaprogramming? by Shawnee Gao Integrating GraphQL Ruby includes repetitive and straightforward processes that can be metaprogrammed. I will detail metaprogramming a GraphQL API from a demo app and explain the benefits of this desig
From playlist RubyHack 2019
Garden City Ruby 2014 - Simple Ruby DSL Techniques: Big Project Impact!
By Aman King Will showcase real-world project code, highlighting custom-written Ruby DSLs that contribute to project success by improving team productivity. Ranging from simple authentication rules to complex social networking capabilities, DSLs can help tackle cross-cutting requirements
From playlist Garden City Ruby 2014
RubyConf 2016 - Metaprogramming? Not good enough! by Justin Weiss
RubyConf 2016 - Metaprogramming? Not good enough! by Justin Weiss If you know how to metaprogram in Ruby, you can create methods and objects on the fly, build Domain Specific Languages, or just save yourself a lot of typing. But can you change how methods are dispatched? Can you decide th
From playlist RubyConf 2016
Meta-programming for Dummies - RedDotRubyConf 2017
Speaker: Weiqing Toh, Software Engineer, Ministry of Education The construct of the Ruby language allows for meta-programming, or 'code which modifies code at runtime'. However, meta-programming is a double-edged sword; as much as it is useful, it could very easily be misused by teams as
From playlist RedDotRuby 2017
ArrrrCamp 2013 - You gotta try this by Avdi Grimm
A talk about metaprogramming, coding for fun, and the joy of sharing. Help us caption & translate this video! http://amara.org/v/FG4G/
From playlist ArrrrCamp 2013
Writing Equivalent Polar Coordinates Quiz
Link: https://www.geogebra.org/m/MxAvq5Yt
From playlist Trigonometry: Dynamic Interactives!
Category Theory 1.1: Motivation and Philosophy
Motivation and philosophy
From playlist Category Theory
RubyConf 2019 - Investigative Metaprogramming by Betsy Haibel
RubyConf 2019 - Investigative Metaprogramming by Betsy Haibel When was the last time you got an un-Googleable error? The kind that takes you and your lead three days to debug, with weird generic stacktraces deep in framework internals? What if you could approach that bug with something ot
From playlist RubyConf 2019
Ditch the Tricks: Estimating Trig Ratios: Conceptual Quiz Questions
Link: https://www.geogebra.org/m/F5a9GDd6
From playlist Trigonometry: Dynamic Interactives!