diff --git a/README.md b/README.md index ac966be..814bd87 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ #### Definition description -Definitions have procedural representation aiming to explain behaviors. Each definition is general. It can be a word or a phrase that represent a broad category or concept rather than a specific instance or entity. For instance, *car*, *list*, *human*, *country* represent *general terms*. *My car*, *your todo list*, *Albert Einstein*, *Poland* are singular instances of these general terms or so called *singular terms*[6]. *DefinIT* does not examine *singular terms*. In an analogy to object oriented programming, *DefinIT* examine definitions or classes, but not instances. +Definition can be a word or a phrase that represent a broad category, concept, or a specific instance/entity. For instance, *car*, *list*, *human*, *country* represent *general terms*. *My car*, *your todo list*, *Albert Einstein*, *Poland* are singular instances of these general terms or so called *singular terms*[6]. *DefinIT* mainly focus on *general terms*, but it does not exclude *singular terms*. #### DefinIT structure @@ -73,7 +73,7 @@ While earlier projects focused on nomenclature within a single field, DefinIT ge - Learning a new field of knowledge. - Deepening understanding of a specific topic/term. -- Specifying an unambiguous language that experts in a field use to communicate with each other, improving the quality and clarity of communication. +- Specifying an unambiguous language that experts in a field reference to, improving the quality and clarity of communication. - Enhancing training or tuning data, or parts of prompts, for LLM-based systems. - Studying all specialized terms and concepts within a specific book (as a pre-reading exercise). - Learning all specific terms and concepts within a presentation (to be better prepared for a lecture). diff --git a/presentation/common/generate_qr_code.py b/presentation/common/generate_qr_code.py new file mode 100644 index 0000000..03e5f3d --- /dev/null +++ b/presentation/common/generate_qr_code.py @@ -0,0 +1,25 @@ +import sys + +import qrcode + +is_web_app = sys.argv[1] == "web" if len(sys.argv) > 1 else False +url_web_app = "https://k4liber.github.io/definit-dsa/" +url_github_repo = "https://github.com/K4liber/definit" +url = url_web_app if is_web_app else url_github_repo +img_name = "web_app_qr_code.png" if is_web_app else "github_repo_qr_code.png" + +# Generate the QR code +qr = qrcode.QRCode( + version=1, + error_correction=qrcode.constants.ERROR_CORRECT_L, + box_size=10, + border=4, +) +qr.add_data(url) +qr.make(fit=True) + +# Create an image from the QR code +img = qr.make_image(fill_color="black", back_color="white") + +# Save the image (e.g., as a PNG) +img.save(img_name) diff --git a/presentation/warsaw_python_pizza/JanBielecki_20260505.pdf b/presentation/warsaw_python_pizza/JanBielecki_20260505.pdf new file mode 100644 index 0000000..9aa09bf Binary files /dev/null and b/presentation/warsaw_python_pizza/JanBielecki_20260505.pdf differ diff --git a/presentation/warsaw_python_pizza/img/architecture.png b/presentation/warsaw_python_pizza/img/architecture.png new file mode 100644 index 0000000..29e857d Binary files /dev/null and b/presentation/warsaw_python_pizza/img/architecture.png differ diff --git a/presentation/warsaw_python_pizza/img/architecture_matters.webp b/presentation/warsaw_python_pizza/img/architecture_matters.webp new file mode 100644 index 0000000..0a903f5 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/architecture_matters.webp differ diff --git a/presentation/warsaw_python_pizza/img/brilliant.png b/presentation/warsaw_python_pizza/img/brilliant.png new file mode 100644 index 0000000..b9020a5 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/brilliant.png differ diff --git a/presentation/warsaw_python_pizza/img/challange.png b/presentation/warsaw_python_pizza/img/challange.png new file mode 100644 index 0000000..9166093 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/challange.png differ diff --git a/presentation/warsaw_python_pizza/img/codeacademy.png b/presentation/warsaw_python_pizza/img/codeacademy.png new file mode 100644 index 0000000..fdd2241 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/codeacademy.png differ diff --git a/presentation/warsaw_python_pizza/img/duolingo.png b/presentation/warsaw_python_pizza/img/duolingo.png new file mode 100644 index 0000000..193b29f Binary files /dev/null and b/presentation/warsaw_python_pizza/img/duolingo.png differ diff --git a/presentation/warsaw_python_pizza/img/explorer.png b/presentation/warsaw_python_pizza/img/explorer.png new file mode 100644 index 0000000..288a9f9 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/explorer.png differ diff --git a/presentation/warsaw_python_pizza/img/finite_set.png b/presentation/warsaw_python_pizza/img/finite_set.png new file mode 100644 index 0000000..009cfa5 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/finite_set.png differ diff --git a/presentation/warsaw_python_pizza/img/github_repo_qr_code.png b/presentation/warsaw_python_pizza/img/github_repo_qr_code.png new file mode 100644 index 0000000..0f97e98 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/github_repo_qr_code.png differ diff --git a/presentation/warsaw_python_pizza/img/hierarchy.png b/presentation/warsaw_python_pizza/img/hierarchy.png new file mode 100644 index 0000000..1ccad76 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/hierarchy.png differ diff --git a/presentation/warsaw_python_pizza/img/histogram.png b/presentation/warsaw_python_pizza/img/histogram.png new file mode 100644 index 0000000..550918c Binary files /dev/null and b/presentation/warsaw_python_pizza/img/histogram.png differ diff --git a/presentation/warsaw_python_pizza/img/karpathy.png b/presentation/warsaw_python_pizza/img/karpathy.png new file mode 100644 index 0000000..9f9ffab Binary files /dev/null and b/presentation/warsaw_python_pizza/img/karpathy.png differ diff --git a/presentation/warsaw_python_pizza/img/leetcode.png b/presentation/warsaw_python_pizza/img/leetcode.png new file mode 100644 index 0000000..7720902 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/leetcode.png differ diff --git a/presentation/warsaw_python_pizza/img/lego.png b/presentation/warsaw_python_pizza/img/lego.png new file mode 100644 index 0000000..cab52ce Binary files /dev/null and b/presentation/warsaw_python_pizza/img/lego.png differ diff --git a/presentation/warsaw_python_pizza/img/marked.png b/presentation/warsaw_python_pizza/img/marked.png new file mode 100644 index 0000000..1b0902e Binary files /dev/null and b/presentation/warsaw_python_pizza/img/marked.png differ diff --git a/presentation/warsaw_python_pizza/img/mathematics_fundamental.png b/presentation/warsaw_python_pizza/img/mathematics_fundamental.png new file mode 100644 index 0000000..8f4de61 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/mathematics_fundamental.png differ diff --git a/presentation/warsaw_python_pizza/img/modular.png b/presentation/warsaw_python_pizza/img/modular.png new file mode 100644 index 0000000..2c681c5 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/modular.png differ diff --git a/presentation/warsaw_python_pizza/img/robot.png b/presentation/warsaw_python_pizza/img/robot.png new file mode 100644 index 0000000..8466644 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/robot.png differ diff --git a/presentation/warsaw_python_pizza/img/standards.png b/presentation/warsaw_python_pizza/img/standards.png new file mode 100644 index 0000000..5d38303 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/standards.png differ diff --git a/presentation/warsaw_python_pizza/img/such_modularity.png b/presentation/warsaw_python_pizza/img/such_modularity.png new file mode 100644 index 0000000..89b2460 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/such_modularity.png differ diff --git a/presentation/warsaw_python_pizza/img/test.png b/presentation/warsaw_python_pizza/img/test.png new file mode 100644 index 0000000..5019530 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/test.png differ diff --git a/presentation/warsaw_python_pizza/img/web_app_qr_code.png b/presentation/warsaw_python_pizza/img/web_app_qr_code.png new file mode 100644 index 0000000..23897fe Binary files /dev/null and b/presentation/warsaw_python_pizza/img/web_app_qr_code.png differ diff --git a/presentation/warsaw_python_pizza/img/whats_next.png b/presentation/warsaw_python_pizza/img/whats_next.png new file mode 100644 index 0000000..d1afeec Binary files /dev/null and b/presentation/warsaw_python_pizza/img/whats_next.png differ diff --git a/presentation/warsaw_python_pizza/img/why.png b/presentation/warsaw_python_pizza/img/why.png new file mode 100644 index 0000000..e05d810 Binary files /dev/null and b/presentation/warsaw_python_pizza/img/why.png differ diff --git a/presentation/warsaw_python_pizza/img/x.png b/presentation/warsaw_python_pizza/img/x.png new file mode 100644 index 0000000..9c8251b Binary files /dev/null and b/presentation/warsaw_python_pizza/img/x.png differ diff --git a/presentation/warsaw_python_pizza/slides_scratch.md b/presentation/warsaw_python_pizza/slides_scratch.md new file mode 100644 index 0000000..51e30cc --- /dev/null +++ b/presentation/warsaw_python_pizza/slides_scratch.md @@ -0,0 +1,86 @@ +# Knowledge representation for efficient learning and communication + +- Author: Jan Bielecki +- Event: Warsaw Python Pizza +- Date: 20260509 + +# Gamification of a learning process + +- Its fun to create games. +- Its fulfilling to make something useful. +- Duolingo as an example of gamification in learning. + +# Different learning platforms + +- Codecademy +- Leetcode +- Brilliant +- Coursera +- edX +- Khan Academy +- Udacity + +- Some of the platforms have a gamification element to enhance the learning experience. + +# Let's create the universal platform! + +- standards.png + +# Basic building block of a knowledge representation + +- What is the smallest unit of knowledge that can be checked as "learned" and we can move forward to the next one? + +# First principles thinking + +- Divide and conquer. + +# Definition as the smallest unit of knowledge + +- Examples of definitions. +- Literature overview. +-- "First Glossary of Programming Terminology" +-- "IEEE Standard Glossary of Software Engineering Terminology" +-- UML, Internet, Wikipedia ... + +# Definition properties + +- Key (definition name, field Why? Two same names can exist in different fields.) +- Value (content, dependencies: definitions can rely on other definitions) + +# Structure of definitions + +- DAG. + +# Using Python as a platform for creating and managing knowledge representations + +- Strict format for definitions +- Github Copilot helps with the content creation. +- Tests, visualizations. +- Serializers. + +# POC - Data Structures and Algorithms (DSA) + +- https://k4liber.github.io/definit-dsa/ + +# Why it exists? + +- Efficient learning - by breaking down complex topics into smaller, manageable units. +- DAG structure implies where to start. +-- from the low-level definitions. +-- from the set of descendant definitions of a given definition. +- A living, qualitative and structured glossary for any field of knowledge. +- Improved quality and clarity of training data for machine learning models. + +# What is wrong with such approach? + +- A lot of effort to create a qualitative knowledge representation. +- Who decides a definition content and dependencies? +- DAG structure is an assumption that all knowledge can be represented in a hierarchical manner. +- "Brain rot" content is more addictive then a well-structured knowledge representation. +- "In theory, there is no difference between theory and practice. But in practice, there is."~Benjamin Brewster +-- The brain learns most effectively through active, deliberate practice, and a static knowledge representation may not provide the necessary engagement and feedback for optimal learning. + +# What's next? + +- Explore more high-level concepts (uv, compilation, architecture). +- Creating a more engaging learning experience (questions, active and deliberate practice, tasks). diff --git a/uv.lock b/uv.lock index 147ecbe..c5e59b0 100644 --- a/uv.lock +++ b/uv.lock @@ -5,7 +5,7 @@ requires-python = ">=3.12" [[package]] name = "click" version = "8.3.1" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] @@ -17,7 +17,7 @@ wheels = [ [[package]] name = "colorama" version = "0.4.6" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, @@ -25,7 +25,7 @@ wheels = [ [[package]] name = "definit" -version = "0.4.1" +version = "0.6.0" source = { virtual = "." } [package.optional-dependencies] @@ -52,7 +52,7 @@ dev = [{ name = "pytest" }] [[package]] name = "grimp" version = "3.14" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] @@ -121,7 +121,7 @@ wheels = [ [[package]] name = "import-linter" version = "2.9" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "grimp" }, @@ -136,7 +136,7 @@ wheels = [ [[package]] name = "iniconfig" version = "2.3.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, @@ -145,7 +145,7 @@ wheels = [ [[package]] name = "markdown-it-py" version = "4.0.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] @@ -157,7 +157,7 @@ wheels = [ [[package]] name = "mdurl" version = "0.1.2" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, @@ -166,7 +166,7 @@ wheels = [ [[package]] name = "packaging" version = "25.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, @@ -175,7 +175,7 @@ wheels = [ [[package]] name = "pluggy" version = "1.6.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, @@ -184,7 +184,7 @@ wheels = [ [[package]] name = "pygments" version = "2.19.2" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, @@ -193,7 +193,7 @@ wheels = [ [[package]] name = "pytest" version = "9.0.2" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "iniconfig" }, @@ -209,7 +209,7 @@ wheels = [ [[package]] name = "rich" version = "14.2.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, @@ -222,7 +222,7 @@ wheels = [ [[package]] name = "typing-extensions" version = "4.15.0" -source = { registry = "https://pypi.org/simple/" } +source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },