python Python uv under discussion on Mastodon
Jump
  • ericjmorey ericjmorey 1 week ago 100%

    Pixi is more than a drop in replacement for Conda. Pixi being able to replace Conda and do everything that uv does (Pixi has incorporated uv into it's tools) seems to make it a more complete toolset than uv alone.

    1
  • selfhosted Selfhosted Caddy and forgejo
    Jump
  • ericjmorey ericjmorey 1 week ago 100%

    There seems to be mixed reactions to this suggestion. I don't know enough to understand why.

    2
  • operating_systems Operating Systems This Month in Redox - March 2024 - Redox - Your Next(Gen) OS
    Jump
  • ericjmorey ericjmorey 1 week ago 100%

    What?

    1
  • python Python uv under discussion on Mastodon
    Jump
  • ericjmorey ericjmorey 1 week ago 80%

    Why is there often no discussion or mention of Pixi along with uv in conversations about Python tooling? Is it because uv has a lot of VC money to get attention while Pixi doesn't?

    3
  • programming Programming I need help getting back into development
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    Or The Odin Project if you don't want to cover Python in the curriculum and just stick to JavaScript.

    https://www.theodinproject.com/

    (The Odin Project also has an option for Ruby along with JavaScript)

    6
  • programming Programming I need help getting back into development
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    A git commit is a snapshot. The node-based tree structure is an artifact of recording pointers to other snapshots and labeling snapshots with a branch name.

    3
  • python Python Freelance python
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    Seems like you should make something less focused on games and solve problems in a different domain.

    3
  • pop_os Pop!_OS (Linux) Is there a way to "alt + tab" to last open in Cosmic?
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    I think they're using it strictly in Tiling mode and are using directional switching. I generally work with only one window visible so I'm not sure how much I'm going to like COSMIC where that workflow seems not to be the primary focus. But it is only in alpha and I'm not actually going to give it a real try until it becomes the default in Pop!_OS. I Hope it's not too big an adjustment for me.

    1
  • python Python Freelance python
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    What have you made using Python so far?

    1
  • pop_os Pop!_OS (Linux) Is there a way to "alt + tab" to last open in Cosmic?
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    I was just guessing based on the SwapWindow name. That you copied definition doesn't help me understand what it's supposed to do.

    I'm surprised that [Super] + [Tab] and [Alt] + [Tab] aren't exactly what you're looking for because System(WindowSwitcher) seems like the name of something that would do exactly what you're after.

    I haven't installed COSMIC, so I can't test it all out myself right now. But it feels like something that should exist as you described.

    1
  • programming Programming Looking for a system/application language that is better than C/C++
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%
    5
  • pop_os Pop!_OS (Linux) Is there a way to "alt + tab" to last open in Cosmic?
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%
  • kotlin Kotlin Lost while learning
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    Please tell us more about what specifically you're stuck on.

    5
  • debian Debian - The universal operating system Debian Developers Figuring Out Plan For Removing More Unmaintained Packages
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    Maybe having an unmaintained extension repo the same way they have an experimental extension repo would allow them to be be even more aggressive and and make it easier to find maintainers for orphaned repos which could be moved back into unstable.

    2
  • microcontrollers MICROCONTROLLERS Beginner Series IV: Deep Dive into Microchip's AVR EA
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    Thank you for putting these resources together!

    And thanks to @minnix@lemux.minnix.dev for doing an awesome job posting great articles to this community!

    2
  • debian
    Orphaning bcachefs-tools in Debian – Jonathan Carter | 29 August 2024 https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/

    29 August 2024 Jonathan Carter writes: > As it stands now, bcachefs-tools is impossible to maintain in Debian stable. While my primary concerns when packaging, are for Debian unstable and the next stable release, I also keep in mind people who have to support these packages long after I stopped caring about them (like Freexian who does LTS support for Debian or Canonical who has long-term Ubuntu support, and probably other organisations that I’ve never even heard of yet). And of course, if bcachfs-tools don’t have any usable stable releases, it doesn’t have any LTS releases either, so anyone who needs to support bcachefs-tools long-term has to carry the support burden on their own, and if they bundle it’s dependencies, then those as well. > > I don’t have any solution for fixing this. I suppose if I were upstream I might look into the possibility of at least supporting a larger range of recent dependencies (usually easy enough if you don’t hop onto the newest features right away) so that distributions with stable releases only need to concern themselves with providing some minimum recent versions, but even if that could work, the upstream author is 100% against any solution other than vendoring all its dependencies with the utility and insisting that it must only be built using these bundled dependencies. I’ve made 6 uploads for this package so far this year, but still I constantly get complaints that it’s out of date and that it’s ancient. If a piece of software is considered so old that it’s useless by the time it’s been published for two or three months, then there’s no way it can survive even a usual stable release cycle, nevermind any kind of long-term support. > > With this in mind ... I decided to remove bcachefs-tools from Debian completely. Although after discussing this with another DD, I was convinced to orphan it instead, which I have now done. I made an upload to experimental so that it’s still available if someone wants to work on it (without having to go through NEW again), it’s been removed from unstable so that it doesn’t migrate to testing, and the ancient (especially by bcachefs-tools standards) versions that are in stable and oldstable will be removed too, since they are very likely to cause damage with any recent kernel versions that support bcachefs. It seems that this is one more iteration of the conflict between Debian's focus on stability vs the desire to use the latest products, tool, and features. I'm happy to see that instead of removing bcachefs-tools completely, that the package has been orphaned so it will be easier for someone to pick up maintenance of the package. I'm excited to see bcachefs get closer to becoming a mainstream filesystem, but it will take time to get there as issues like these will have to be worked through for any LTS/stability focused distribution.

    5
    0
    news Linux and Tech News AnandTech, mainstay of computer hardware reviews, closes after 27 years
    Jump
  • ericjmorey ericjmorey 2 weeks ago 37%

    I wonder if this is because hardware is so cheap now that a central source of reviews isn't all that valuable anymore. Also it seems like YouTube has taken over to capture the value that's left.

    -2
  • microcontrollers MICROCONTROLLERS WeAct RA4M1 - A small board with plenty of GPIOs that's software-compatible with the Arduino UNO R4
    Jump
  • ericjmorey ericjmorey 2 weeks ago 100%

    This looks like a fun device for $0.99

    1
  • selfhosted Selfhosted Why I still self host my servers (and what I've recently learned)
    Jump
  • ericjmorey ericjmorey 3 weeks ago 83%

    Enjoy your Friday

    4
  • machine_learning
    Machine Learning ericjmorey 3 weeks ago 100%
    Learn PyTorch for Deep Learning: Zero to Mastery | Free Online Book | Daniel Bourke www.learnpytorch.io

    > ### About this course > **Who is this course for?** > > You: Are a beginner in the field of machine learning or deep learning or AI and would like to learn PyTorch. > > This course: Teaches you PyTorch and many machine learning, deep learning and AI concepts in a hands-on, code-first way. > > If you already have 1-year+ experience in machine learning, this course may help but it is specifically designed to be beginner-friendly. > > **What are the prerequisites?** > - 3-6 months coding Python. > - At least one beginner machine learning course (however this might be able to be skipped, resources are linked for many different topics). > - Experience using Jupyter Notebooks or Google Colab (though you can pick this up as we go along). > - A willingness to learn (most important).

    7
    0
    selfhosted Selfhosted Why I still self host my servers (and what I've recently learned)
    Jump
  • ericjmorey ericjmorey 3 weeks ago 90%

    Nice article.

    why bother? Why I self host

    Most of this article is not purely about that question, but I dislike clickbait, so I’ll actually answer the question from the title: Two reasons.

    First of all, I like to be independent - or at least, as much as I can. Same reason we have backup power, why I know how to bake bread, preserve food, and generally LARP as a grandmother desperate to feed her 12 grandchildren until they are no longer capable of self propelled movement. It makes me reasonably independent of whatever evil scheme your local $MEGA_CORP is up to these days (hint: it’s probably a subscription).

    It’s basically the Linux and Firefox argument - competition is good, and freedom is too.

    If that’s too abstract for you, and what this article is really about, is the fact that it teaches you a lot and that is a truth I hold to be self-evident: Learning things is good & useful.

    Turns out, forcing yourself to either do something you don’t do every day, or to get better at something you do occasionally, or to simply learn something that sounds fun makes you better at it. Wild concept, I know.

    Contents

    Introduction
    My Services
    Why I self host
    Reasoning about complex systems
    Things that broke in the last 6 months
    Things I learned (or recalled) in the last 6 months

    • You can self host VS Code
    • UPS batteries die silently and quicker than you think
    • Redundant DNS is good DNS
    • Raspberry PIs run ARN, Proxmox does not
    • zfs + Proxmox eat memmory and will OOM kill your VMS
    • The mystery of random crashes (Is it hardware? It’s always hardware.)
    • SNMP(v3) is still cool
    • Don’t trust your VPS vendor
    • Gotta go fast
    • CIFS is still not fast
    • Blob storage, blob fish, and file systems: It’s all “meh”
    • CrowdSec

    Conclusion

    16
  • linux Linux One Of The Rust Linux Kernel Maintainers Steps Down - Cites "Nontechnical Nonsense"
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    He made up hypothetical scenarios that nobody asked about, and then denigrated Rust by attacking the scenarios he came up with.

    This seems to be the textbook description of a strawman argument.

    5
  • linux Linux One Of The Rust Linux Kernel Maintainers Steps Down - Cites "Nontechnical Nonsense"
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    It's also a microkernel and intentional not POSIX compliant (but it's close to compliant). I like the project, but it's very experimental on purpose, so we should set our expectations accordingly. I'd love to see it become a success, but it may not be or it may only be successful in a smaller niche than the current Linux ecosystem.

    That said, it seems very open to new contributors. I hope more people can help it along.

    4
  • linux Linux Is there a good, modern, widely accepted, learning Linux resource?
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    https://www.baeldung.com/linux/ Also has very well written articles on specific topics and tutorials.

    6
  • linux Linux Is there a good, modern, widely accepted, learning Linux resource?
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    Follow up with what is sometimes called the Unix Bible: https://www.oreilly.com/library/view/unix-and-linux/9780134278308/

    6
  • linux Linux Is there a good, modern, widely accepted, learning Linux resource?
    Jump
    linux Linux What is your favorite Intro to Linux guide?
    Jump
    linux Linux Is there a good, modern, widely accepted, learning Linux resource?
    Jump
    python Python Layman's Guide to Python Built-in Functions · Matt Layman
    Jump
  • ericjmorey ericjmorey 3 weeks ago 83%

    This is a great idea!

    Motivation

    The Python docs are ill-suited to novices.

    The content of the built-in functions documentation favors precision and correctness over comprehension for beginners. While this style is great for experienced developers who already understand the finer points of Python’s design, the docs are confusing to novice programmers like a 12 year old who is not far on his journey of learning Python.

    This guide is an opinionated and simplified description of Python’s built-in functions.

    My goal is to provide definitions, in plain English, of each built-in function that comes with Python. Along with each definition is an example that is as simple as I can think of. I ran each example against the latest version of Python as of the time writing this guide.

    I want to be able to share this with my 12 year old son or my 10 year old daughter, so that they can understand and use Python. My hope is that this guide also serves others who would like some plain definitions of what the built-in functions do.

    A note for pedants: I am sacrificing precision and exactness in favor of comprehension. That means I will use substitionary language that I think will communicate more clearly than the exact terminology. If you’re looking for that level of precision, please refer to the standard library docs. Those docs are great for that level of clarity.

    For the rest of us, let’s go!

    4
  • programming Programming iCloud: Who holds the key? (2012)
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    That's a nice addition for those that want security over convenience. I wonder why it took them 11 years after this was written to add it.

    3
  • fediverse Fediverse BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    It provides for control over certain functions, but it is underutilized.

    2
  • fediverse Fediverse BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    4
  • fediverse Fediverse BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse
    Jump
  • ericjmorey ericjmorey 3 weeks ago 90%

    I like the diversity of sphincter options in unicode and encourage their use. Here are a few of my favorites:



    9
  • fediverse Fediverse BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    This is a web service that returns the ActivityPub data for any URL that returns an ActivityPub message. For instance this post (https://lemmy.ml/post/19589249) returns:

    {
      "@context": [
        "https://join-lemmy.org/context.json",
        "https://www.w3.org/ns/activitystreams"
      ],
      "type": "Page",
      "id": "https://lemmy.ml/post/19589249",
      "attributedTo": "https://lemmy.ml/u/hongminhee",
      "to": [
        "https://lemmy.world/c/fediverse",
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "name": "BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse",
      "cc": [],
      "mediaType": "text/html",
      "attachment": [
        {
          "href": "https://podcastindex.social/@js/113011966366461060",
          "mediaType": "text/html; charset=utf-8",
          "type": "Link"
        }
      ],
      "sensitive": false,
      "published": "2024-08-26T11:43:09.033551Z",
      "language": {
        "identifier": "en",
        "name": "English"
      },
      "audience": "https://lemmy.world/c/fediverse",
      "tag": [
        {
          "href": "https://lemmy.ml/post/19589249",
          "name": "#fediverse",
          "type": "Hashtag"
        }
      ]
    }
    

    Prepend https://browser.pub/ to the URL you want to check: https://browser.pub/https://lemmy.ml/post/19589249

    9
  • activitypub ActivityPub BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    So this is a web service that returns the ActivityPub data for any URL that returns an ActivityPub message. For instance this post (https://lemmy.ml/post/19589301) returns:

    {
      "@context": [
        "https://join-lemmy.org/context.json",
        "https://www.w3.org/ns/activitystreams"
      ],
      "type": "Page",
      "id": "https://lemmy.ml/post/19589301",
      "attributedTo": "https://lemmy.ml/u/hongminhee",
      "to": [
        "https://programming.dev/c/activitypub",
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "name": "BrowserPub: A browser for debugging ActivityPub and the ⁂fediverse",
      "cc": [],
      "mediaType": "text/html",
      "attachment": [
        {
          "href": "https://podcastindex.social/@js/113011966366461060",
          "mediaType": "text/html; charset=utf-8",
          "type": "Link"
        }
      ],
      "sensitive": false,
      "published": "2024-08-26T11:44:00.478179Z",
      "language": {
        "identifier": "en",
        "name": "English"
      },
      "audience": "https://programming.dev/c/activitypub",
      "tag": [
        {
          "href": "https://lemmy.ml/post/19589301",
          "name": "#activitypub",
          "type": "Hashtag"
        }
      ]
    }
    

    https://browser.pub/https://lemmy.ml/post/19589301

    3
  • programming Programming iCloud: Who holds the key? (2012)
    Jump
  • ericjmorey ericjmorey 3 weeks ago 100%

    Some key quotes from the article:

    It’s perfectly reasonable for a consumer cloud storage provider to design a system that emphasizes recoverability over security. Apple’s customers are far more likely to lose their password/iPhone than they are to be the subject of a National Security Letter or data breach (hopefully, anyway).

    I wish that companies like Apple could just come right out and warn their users: ‘We have access to all your data, we do bulk-encrypt it, but it’s still available to us and to law enforcement whenever necessary’.

    So what is the alternative?

    Well, for a consumer-focused system, maybe there really isn’t one. Ultimately people back up their data because they’re afraid of losing their devices, which cuts against the idea of storing encryption keys inside of devices.

    You could take the PGP approach and back up your decryption keys to some other location (your PC, for example, or a USB stick). But this hasn’t proven extremely popular with the general public, because it’s awkward — and sometimes insecure.

    Alternatively, you could use a password to derive the encryption/decryption keys. This approach works fine if your users pick decent passwords (although they mostly won’t), and if they promise not to forget them. But of course, the convenience of Apple’s “iForgot” service indicates that Apple isn’t banking on users remembering their passwords. So that’s probably out too.

    5
  • meta Programming.dev Meta I keep getting logged out today. Is it just me?
    Jump
  • ericjmorey ericjmorey 4 weeks ago 100%

    This is a consistent problem for me

    2
  • python Python uv: Unified Python packaging
    Jump
  • ericjmorey ericjmorey 4 weeks ago 100%

    Conda is their primary focus, but they support well more than conda packages.

    2
  • powershell Powershell PowerShell Weekly for August 23, 2024
    Jump
  • ericjmorey ericjmorey 4 weeks ago 100%

    I'm going to need more than a week to process this

    2
  • machine_learning Machine Learning We are Eureka Labs and we are building a new kind of school that is AI native. | Andrej Karpathy | July 16, 2024
    Jump
  • ericjmorey ericjmorey 4 weeks ago 100%

    Lemmy needs a feature where only subscribers can vote by default and mods can allow non-subscribers to vote it they want to.

    1
  • machine_learning Machine Learning What’s Really Going On in Machine Learning? Some Minimal Models | Stephen Wolfram | August 22, 2024
    Jump
  • ericjmorey ericjmorey 4 weeks ago 75%

    What do you think about what Steven Wolfram wrote here?

    2
  • linux4noobs linux4noobs after 4 years of Linux I'm still lost..
    Jump
  • ericjmorey ericjmorey 4 weeks ago 100%

    Listening to this podcast might be helpful along with the links in the show notes: https://linuxunplugged.com/572

    Here's another option: https://fedoramagazine.org/automatically-decrypt-your-disk-using-tpm2/

    I found these on a hacker news comment: https://fedoramagazine.org/automatically-decrypt-your-disk-using-tpm2/

    1
  • webdev
    Web Development ericjmorey 1 month ago 95%
    Deno's Standard Library for JavaScript Finally Stabilized at v1 | 3min 5sec Video | Aug 8, 2024 https://youtu.be/RFhM34rBWnU

    ### Video Description > Many programming languages have standard libraries. What about JavaScript? 🤔️ > > Deno's goal is to simplify programming, and part of that is to provide the JavaScript community with a carefully audited standard library (that works in Deno and Node) that offers utility functions for data manipulation, web-related logic, and more. We created the Deno Standard Library in 2021, and four years, 151 releases, and over 4k commits later, we're thrilled to finally announce that it's 30 modules are finally stabilized at v1. > > Learn more about the [Deno Standard Library]() > > Read about our [stabilization process]() for the library

    20
    14
    machine_learning
    Machine Learning ericjmorey 1 month ago 100%
    Data Science Handbook | Curated resources (Free & Paid) to help data scientists learn, grow, and break into the field of data science | Andres Vourakis | Last update Jul 23, 2024 github.com

    Andres Vourakis writes: > ### Data Scientist Handbook 2024 > > Curated resources (Free & Paid) to help data scientists learn, grow, and break into the field of data science. > Even though there are hundreds of resources out there (too many to keep track of), I will try to limit them to a maximum of 5 per category to ensure you get the most valuable and relevant resources out there, plus, the whole point of this repository is to help you avoid getting overwhelmed by too many choices. This way you can focus less time researching and more time learning. > ### FAQs > > - **How is curation done?** Curation is based on thorough research, recommendations from people I trust, and my years of experience as a Data Scientist. > - **Are all resources free?** Most resources here will be free, but I will also include paid alternatives if they are truly valuable to your career development. All paid resources include the symbol 💲. > - **How often is the repository updated?** I plan to come back here as often as possible to ensure all resources are still available and relevant and also to add new ones.

    16
    0
    ocaml
    OCaml ericjmorey 1 month ago 100%
    How OCaml type checker works -- or what polymorphism and garbage collection have in common | okmij.org | original February 2013 | updated January 9, 2022 https://okmij.org/ftp/ML/generalization.html

    > There is more to Hindley-Milner type inference than the Algorithm W. In 1988, Didier Rémy was looking to speed up the type inference in Caml and discovered an elegant method of type generalization. Not only it is fast, avoiding scanning the type environment. It smoothly extends to catching of locally-declared types about to escape, to type-checking of universals and existentials, and even to MLF. > > Alas, both the algorithm and its implementation in the OCaml type checker are little known and little documented. This page is to explain and popularize Rémy's algorithm, and to decipher a part of the OCaml type checker. The page also aims to preserve the history of Rémy's algorithm. Read [How OCaml type checker works](https://okmij.org/ftp/ML/generalization.html)

    8
    0
    c_lang
    C Programming Language ericjmorey 1 month ago 100%
    Writing a C Compiler | Build a Real Programming Language from Scratch | Nora Sandler | July 2024 | No Starch Press | 792 pages | ISBN-13: 9781718500426 nostarch.com

    ### Book Description Writing a C Compiler will take you step by step through the process of building your own compiler for a significant subset of C—no prior experience with compiler construction or assembly code needed. Once you’ve built a working compiler for the simplest C program, you’ll add new features chapter by chapter. The algorithms in the book are all in pseudocode, so you can implement your compiler in whatever language you like. Along the way, you’ll explore key concepts like: - Lexing and parsing: Learn how to write a lexer and recursive descent parser that transform C code into an abstract syntax tree. - Program analysis: Discover how to analyze a program to understand its behavior and detect errors. - Code generation: Learn how to translate C language constructs like arithmetic operations, function calls, and control-flow statements into x64 assembly code. - Optimization techniques: Improve performance with methods like constant folding, dead store elimination, and register allocation. Compilers aren’t terrifying beasts—and with help from this hands-on, accessible guide, you might even turn them into your friends for life. ### Author Bio Nora Sandler is a software engineer based in Seattle. She holds a BS in computer science from the University of Chicago, where she researched the implementation of parallel programming languages. More recently, she’s worked on domain-specific languages at an endpoint security company. You can find her blog on pranks, compilers, and other computer science topics at https://norasandler.com.

    20
    5
    rust
    Rust ericjmorey 1 month ago 94%
    A table of publicly available Arena crates and their features https://donsz.nl/blog/arenas/

    [Table of Arena Crates](https://donsz.nl/blog/arenas/) For a technical discussion of using arenas for memory allocation with an example implementation, see gingerBill's [Memory Allocation Strategies - Part 2: Linear/Arena Allocators](https://www.gingerbill.org/article/2019/02/08/memory-allocation-strategies-002/)

    17
    0
    rust
    Rust ericjmorey 1 month ago 100%
    Understanding Rust's Trait Objects: Vtables, Dynamic Dispatch, and Memory Deallocation https://www.eventhelix.com/rust/rust-to-assembly-tail-call-via-vtable-and-box-trait-free/

    EventHelix writes: > This article will investigate how Rust handles dynamic dispatch using trait objects and vtables. We will also explore how the Rust compiler can sometimes optimize tail calls in the context of dynamic dispatch. Finally, we will examine how the vtable facilitates freeing memory when using trait objects wrapped in a `Box`.

    18
    0
    gleam
    Gleam ericjmorey 1 month ago 100%
    First impressions of Gleam: lots of joys and some rough edges https://www.ntietz.com/blog/first-impressions-of-gleam/

    > The blog post is the author's impressions of Gleam after [it released version 1.4.0](https://gleam.run/news/supercharged-labels/). [Gleam](https://gleam.run/) is an upcoming language that is getting a lot of highly-ranked articles. > > It runs on the [Erlang virtual machine (BEAM)](https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine)), making it great for distributed programs and a competitor to [Elixir](https://elixir-lang.org/) and [Erlang (the language)](https://www.erlang.org/). It also compiles to [JavaScript](https://www.javascript.com/), making it a competitor to [TypeScript](https://www.typescriptlang.org/). > > But unlike Elixir, Erlang, and TypeScript, it's *strongly* typed (not just gradually typed). It has "functional" concepts like algebraic data types, immutable values, and first-class functions. The syntax is modeled after [Rust](https://www.rust-lang.org/) and its [tutorial](https://tour.gleam.run/) is modeled after [Go's](https://go.dev/tour/). Lastly, it has a very large community.

    10
    2
    machine_learning
    Machine Learning ericjmorey 1 month ago 100%
    Elements of Data Science | Allen B. Downey | July 17, 2024 www.allendowney.com

    July 17, 2024 [Allen B. Downey](https://www.allendowney.com/blog/2024/07/17/elements-of-data-science/) writes: > Elements of Data Science is an introduction to data science for people with no programming experience. My goal is to present a small, powerful subset of Python that allows you to do real work with data as quickly as possible. > > Part 1 includes six chapters that introduce basic Python with a focus on working with data. > > Part 2 presents exploratory data analysis using Pandas and empiricaldist — it includes a revised and updated version of the material from my popular DataCamp course, “Exploratory Data Analysis in Python.” > > Part 3 takes a computational approach to statistical inference, introducing resampling method, bootstrapping, and randomization tests. > > Part 4 is the first of two case studies. It uses data from the General Social Survey to explore changes in political beliefs and attitudes in the U.S. in the last 50 years. The data points on the cover are from one of the graphs in this section. > > Part 5 is the second case study, which introduces classification algorithms and the metrics used to evaluate them — and discusses the challenges of algorithmic decision-making in the context of criminal justice. > > This project started in 2019, when I collaborated with a group at Harvard to create a data science class for people with no programming experience. We discussed some of the design decisions that went into the course and the book in this article. Read [Elements of Data Science](https://allendowney.github.io/ElementsOfDataScience/) in the form of Jupyter notebooks.

    3
    0
    raspberry_pi
    Raspberry Pi ericjmorey 1 month ago 90%
    Why you should fall in love with the RP2350 | Dmitry Grinberg | Aug 8, 2024 dmitry.gr

    > [Dmitry Grinberg](https://dmitry.gr/?r=01.Myself) writes: > > > go replan all your STM32H7 projects with RP2350, save money, headaches, and time. As a bonus, you’ll get an extra core to play with too! "But," you might say, "STMicro chips come with internal flash, while RP2350 still requires an external SPI chip to store the flash". Hold on to your hats... there are now RP2350 variants with built-in flash! They are called RP2354A nd RP2354B and they include 2MBytes of flash in-package. The pinouts are the same as the RP2350A/B, for a bonus! Why two pinouts? Because the "more GPIOs" dream also came true! There is now a variant with more GPIOS, available in an 80-pin package. That’s right! It is epic! > > Read [Why you should fall in love with the RP2350](https://dmitry.gr/?r=06.%20Thoughts&proj=11.%20RP2350)

    9
    0
    microcontrollers
    MICROCONTROLLERS ericjmorey 1 month ago 94%
    Why you should fall in love with the RP2350 | Dmitry Grinberg | Aug 8, 2024 dmitry.gr

    [Dmitry Grinberg](https://dmitry.gr/?r=01.Myself) writes: > go replan all your STM32H7 projects with RP2350, save money, headaches, and time. As a bonus, you’ll get an extra core to play with too! "But," you might say, "STMicro chips come with internal flash, while RP2350 still requires an external SPI chip to store the flash". Hold on to your hats... there are now RP2350 variants with built-in flash! They are called RP2354A nd RP2354B and they include 2MBytes of flash in-package. The pinouts are the same as the RP2350A/B, for a bonus! Why two pinouts? Because the "more GPIOs" dream also came true! There is now a variant with more GPIOS, available in an 80-pin package. That’s right! It is epic! Read [Why you should fall in love with the RP2350](https://dmitry.gr/?r=06.%20Thoughts&proj=11.%20RP2350)

    15
    4
    pop_os
    Pop!_OS (Linux) ericjmorey 1 month ago 98%
    COSMIC ALPHA 1 Released (Desktop Environment Written In Rust From System76) https://system76.com/cosmic

    As the first alpha version of COSMIC Epoch 1, it is incomplete. You’ll most certainly find bugs. Testing and bug reports are welcome and appreciated. New feature requests will be considered for Epoch 2, COSMIC’s second release. [COSMIC Epoch 1 (alpha 1) on the Pop!_OS 24.04 LTS alpha ISO files are available ](https://system76.com/cosmic) Try COSMIC on other Linux distributions Fedora - See instructions NixOS - See instructions Arch - See instructions openSUSE - Coming soon Serpent OS - See instructions Redox OS - includes some COSMIC Components - See Progress https://system76.com/cosmic

    50
    6
    data_engineering
    Data Engineering ericjmorey 2 months ago 100%
    Dremio is offering free pdf copies of "Apache Iceberg: The Definitive Guide: Data Lakehouse Functionality, Performance and Scalability on the Data Lake" https://hello.dremio.com/wp-apache-iceberg-the-definitive-guide-reg.html

    Book Preface: > Welcome to Apache Iceberg: The Definitive Guide! We’re delighted you have embarked on this learning journey with us. In this preface, we provide an overview of this book, why we wrote it, and how you can make the most of it. > > ### About This Book > > In these pages, you’ll learn what Apache Iceberg is, why it exists, how it works, and how to harness its power. Designed for data engineers, architects, scientists, and analysts working with large datasets across various use cases from BI dashboards to AI/ML, this book explores the core concepts, inner workings, and practical applications of Apache Iceberg. By the time you reach the end, you will have grasped the essentials and possess the practical knowledge to implement Apache Iceberg effectively in your data projects. Whether you are a newcomer or an experienced practitioner, Apache Iceberg: The Definitive Guide will be your trusted companion on this enlightening journey into Apache Iceberg. > > ### Why We Wrote This Book > > As we observed the rapid growth and adoption of the Apache Iceberg ecosystem, it became evident that a growing knowledge gap needed to be addressed. Initially, we began by sharing insights through a series of blog posts on the Dremio platform to provide valuable information to the burgeoning Iceberg community. However, it soon became clear that a comprehensive and centralized resource was essential to meet the increasing demand for a definitive Iceberg reference. This realization was the driving force behind the creation of Apache Iceberg: The Definitive Guide. Our goal is to provide readers with a single authoritative source that bridges the knowledge gap and empowers individuals and organizations to make the most of Apache Iceberg’s capabilities in their data-related endeavors. > > ### What You Will Find Inside > > In the following chapters, you will learn what Apache Iceberg is and how it works, how you can take advantage of the format with a variety of tools, and best practices to manage the quality and governance of the data in Apache Iceberg tables. Here is a summary of each chapter’s content: > > - **Chapter 1**, “Introduction to Apache Iceberg” > Exploration of the historical context of data lakehouses and the essential concepts underlying Apache Iceberg. > - **Chapter 2**, “The Architecture of Apache Iceberg” > Deep dive into the intricate design of Apache Iceberg, examining how its various components function together. > - **Chapter 3**, “Lifecycle of Write and Read Queries” > Examination of the step-by-step process involved in Apache Iceberg transactions, highlighting updates, reads, and time-travel queries. > - **Chapter 4**, “Optimizing the Performance of Iceberg Tables” > Discussions on maintaining optimized performance in Apache Iceberg tables through techniques such as compaction and sorting. > - **Chapter 5**, “Iceberg Catalogs” > In-depth explanation of the role of Apache Iceberg catalogs, exploring the different catalog options available. > - **Chapter 6**, “Apache Spark” > Practical sessions using Apache Spark to manage and interact with Apache Iceberg tables. > - **Chapter 7**, “Dremio’s SQL Query Engine” > Exploration of the Dremio lakehouse platform, focusing on DDL, DML, and table optimization for Apache Iceberg tables. > - **Chapter 8**, “AWS Glue” > Demonstration of the use of AWS Glue Catalog and AWS Glue Studio for working with Apache Iceberg tables. > - **Chapter 9**, “Apache Flink” > Practical exercises in using Apache Flink for streaming data processing with Apache Iceberg tables. > - **Chapter 10**, “Apache Iceberg in Production” > Insights into managing data quality in production, using metadata tables for table health monitoring and employing table and catalog versioning for various operational needs. > - **Chapter 11**, “Streaming with Apache Iceberg” > Use of tools such as Apache Spark, Flink, and AWS Glue for streaming data processing into Iceberg tables. > - **Chapter 12**, “Governance and Security” > Exploration of the application of governance and security at various levels in Apache Iceberg tables, such as storage, semantic layers, and catalogs. > - **Chapter 13**, “Migrating to Apache Iceberg” > Guidelines on transforming existing datasets from different file types and databases into Apache Iceberg tables. > - **Chapter 14**, “Real-World Use Cases of Apache Iceberg” > A look at real-world applications of Apache Iceberg, including business intelligence dashboards and implementing change data capture > > [Direct link to PDF](https://www.dremio.com/wp-content/uploads/2023/02/apache-iceberg-TDG_ER1.pdf) > > Dremio bills itself as a "Unified Analytics Platform for a Self-Service Lakehouse". The authors of the book work for Dremio and may have ownership interest in Dremio.

    11
    1
    neovim
    Neovim ericjmorey 2 months ago 87%
    Using and setting up Neovim in Windows 11 (not WSL)

    What issues or frustrations have you encountered in trying to use and set up Neovim in Windows 11? I'm currently writing up my experience with installing, setting up, and using Neovim in Windows and would like to hear from others that have tried the same. What was annoying, difficult, or impossible in your experience?

    6
    2
    pop_os
    Pop!_OS (Linux) ericjmorey 2 months ago 71%
    System76 with Jeremy Soller | Rust in Production Podcast S02 E07 by corrode Rust Consulting | 2024-07-25 corrode.dev

    > Many devs dream of one day writing their own operating system. Ideally in their favorite language: Rust. For many of us, this dream remains just that: a dream. > > Jeremy Soller from System76, however, didn't just contribute kernel code for Pop!_OS, but also started his own operating system, RedoxOS, which is completely written in Rust. One might get the impression that he likes to tinker with low-level code! > > In this episode of Rust in Production, Jeremy talks about his journey. From getting hired as a kernel developer at Denver-based company System76 after looking at the job ad for 1 month and finally applying, to being the maintainer of not one but two operating systems, additional system tools, and the Rust-based Cosmic desktop. We'll talk about why it's hard to write correct C code even for exceptional developers like Jeremy and why Rust is so great for refactoring and sharing code across different levels of abstraction. Listen to [Rust in Production Podcast S02 E07](https://corrode.dev/podcast/s02e07-system76/)

    6
    0
    rust
    Rust ericjmorey 2 months ago 93%
    System76 with Jeremy Soller | Rust in Production Podcast S02 E07 by corrode Rust Consulting | 2024-07-25 corrode.dev

    > Many devs dream of one day writing their own operating system. Ideally in their favorite language: Rust. For many of us, this dream remains just that: a dream. > > Jeremy Soller from System76, however, didn't just contribute kernel code for Pop!_OS, but also started his own operating system, RedoxOS, which is completely written in Rust. One might get the impression that he likes to tinker with low-level code! > > In this episode of Rust in Production, Jeremy talks about his journey. From getting hired as a kernel developer at Denver-based company System76 after looking at the job ad for 1 month and finally applying, to being the maintainer of not one but two operating systems, additional system tools, and the Rust-based Cosmic desktop. We'll talk about why it's hard to write correct C code even for exceptional developers like Jeremy and why Rust is so great for refactoring and sharing code across different levels of abstraction. Listen to [Rust in Production Podcast S02 E07](https://corrode.dev/podcast/s02e07-system76/)

    14
    1
    redox
    Redox OS ericjmorey 2 months ago 88%
    System76 with Jeremy Soller | Rust in Production Podcast S02 E07 by corrode Rust Consulting | 2024-07-25 corrode.dev

    > > Many devs dream of one day writing their own operating system. Ideally in their favorite language: Rust. For many of us, this dream remains just that: a dream. > > > > Jeremy Soller from System76, however, didn't just contribute kernel code for Pop!_OS, but also started his own operating system, RedoxOS, which is completely written in Rust. One might get the impression that he likes to tinker with low-level code! > > > > In this episode of Rust in Production, Jeremy talks about his journey. From getting hired as a kernel developer at Denver-based company System76 after looking at the job ad for 1 month and finally applying, to being the maintainer of not one but two operating systems, additional system tools, and the Rust-based Cosmic desktop. We'll talk about why it's hard to write correct C code even for exceptional developers like Jeremy and why Rust is so great for refactoring and sharing code across different levels of abstraction. Listen to [Rust in Production Podcast S02 E07](https://corrode.dev/podcast/s02e07-system76/)

    7
    0
    neovim
    Neovim ericjmorey 2 months ago 99%
    People that use Neovim really like Neovim | More than any other code editor, people using it want to keep using it | 2024 Stacked Overflow Developer Survey

    Based on answers to the following question: > Which development environments did you use regularly over the past year, and which do you want to work with over the next year? Please check all that apply. Neovim is the most admired code editor in the 2024 Stacked Overflow Developer Survey Source: https://survey.stackoverflow.co/2024/technology#admired-and-desired-new-collab-tools-desire-admire

    121
    52
    neovim
    Neovim ericjmorey 2 months ago 100%
    Which key mapping(s) have you made that you think other Neovim users might like?

    It's broader than a Neovim specific mapping, I've changed the system keyboard mapping of `<Caps Lock>` to `<Esc>` and `<F9>` to `<Caps Lock>`. I think mapping `<Caps Lock>` to `<Esc>` isn't uncommon for Neovim users. But I like having `<Caps Lock>` available for non Neovim purposes.

    16
    10
    learn_programming
    Learn Programming ericjmorey 2 months ago 40%
    People often say they can't think of any ideas to practice coding. Maybe try this suggestion for some inspiration.

    ### I asked some LLM chatbots to give me some silly ideas to try. Below are a few of my favorite responses. --- From [Perplexity.ai](https://www.perplexity.ai/search/hey-give-me-10-stupid-project-j70cAZsbSZ.MkoyeIG5cFg) > Six Degrees of Wikipedia: Creating a program that finds the shortest path between two random Wikipedia articles using graph traversal algorithms. This applies graph theory concepts to explore connections in a large knowledge base. > Emoji Encryption: Using hash tables and cryptographic algorithms to create an encryption system that converts text to emojis. This could be an interesting way to explore cryptography concepts in a fun, visual way. --- From [Gemini.google.com](https://g.co/gemini/share/b570fa16424e) > Procrastination Station: This website creates increasingly elaborate and ridiculous tasks to distract you from what you actually need to do. Dishes? Nah, fold your socks into origami cranes! > Dramatic Password Validator: Forget boring error messages. This program rejects weak passwords with Shakespearean insults or movie villain monologues. --- From [Chatgpt.com](https://chatgpt.com/share/49b0753c-47f1-4d12-87a9-b8f14572f738) > 3. **Time Travel Email Service**: Build a data structure that allows you to send emails to yourself in the past, with time complexity considerations that are totally ignored because it’s time travel. > 4. **Mood-Driven Random Number Generator**: Implement an algorithm that generates random numbers based on the mood of the user, using sentiment analysis on real-time facial expressions.

    -3
    3
    odin
    Odin ericjmorey 2 months ago 100%
    Have you used Odin? Share your experience with and thoughts on using Odin.

    Why did you decide to work with Odin? What did you build with Odin? Where does Odin shine? What could use some polish?

    5
    1
    odin
    Odin ericjmorey 2 months ago 100%
    Introduction to the Odin Programming Language | Karl Zylinski | June 7, 2024 zylinski.se

    [Karl Zylinski](https://zylinski.se) writes: > This article is an introduction to the Odin Programming Language. It is aimed at people who know a bit of programming, but have never touched Odin. It is not a reference guide, rather I try to keep things informal and talk about what I think are important aspects of the language. There will be some notes on differences to C/C++, as Odin in many ways tries to be better C. If you enjoy this article and want to support me, then you can do so by becoming a patron. > > In the recent years most of my programming has been done using the Odin Programming Language, sometimes referred to as Odinlang. Since a year back I create my own video games using Odin. You can find my game CAT & ONION on Steam, it is completely created in Odin. ... > While Odin is a great language, it is currently quite lacking in documentation. There is lots of documentation, but it is scattered and incomplete. I tried to address that by writing this article, which I hope gives a holistic introduction to the language. Read [Introduction to the Odin Programming Language](https://zylinski.se/posts/introduction-to-odin/)

    12
    0
    data_engineering
    Data Engineering ericjmorey 2 months ago 100%
    Postgres vs. Pinecone | Lantern Blog | Narek Galstyan | July 18, 2024 lantern.dev

    July 18, 2024 Narek Galstyan writes: > We were naturally curious when we saw Pinecone's blog post comparing Postgres and Pinecone. > > In their post on Postgres, Pinecone recognizes that Postgres is easy to start with as a vector database, since most developers are familiar with it. However, they argue that Postgres falls short in terms of quality. They describe issues with index size predictability, index creation resource intensity, metadata filtering performance, and cost. > > This is a response to Pinecone's blog post, where we show that Postgres outperforms Pinecone in the same benchmarks with a few additional tweaks. We show that with just 20 lines of additional code, Postgres with the pgvector or lantern extension outperforms Pinecone by reaching 90% recall (compared to Pinecone's 60%) with under 200ms p95 latency. Read [Postgres vs. Pinecone](https://lantern.dev/blog/postgres-vs-pinecone)

    10
    0
    ocaml
    OCaml ericjmorey 2 months ago 100%
    Announcing Godotcaml for Godot 4.2 | Fizzixnerd Blog | Matt Walker | Jun 28, 2024 fizzixnerd.com

    Jun 28, 2024 [Matt Walker](https://fizzixnerd.com/) writes: > This is an extremely early stage of development, but basically at this point it is possible to: > - Call any builtin Godot utility function or method (static, virtual, or otherwise) from OCaml easily, and with documentation comments for the original function intact an available through your favourite OCaml LSP implementation. > - Use Godot (binary) operators in a natural way from OCaml. (Unary operators are currently broken, which I will be investigating!) > - Construct Godot values from OCaml easily, and from OCaml analogues if they exist (e.g. I incur a dependency on Gg for low-dimensional vector math) > - Marshalling in and out of all these functions to/from the OCaml analogues. That is, a method that is in Godot on an object of type ClassyClass taking an int parameter and returning an int will appear in Godotcaml as int64 -> ClassyClass.t structure ptr -> int64, where the ClassyClass.t structure ptr is the “pointer to the Godot object”, commonly called self. (Note that this is always the last argument, to facilitate pipeline-style programming when GDScript programmers have a method-chaining interface.) > - Naturally define a new Godot class in OCaml that inherits from an existing Godot-registered class. (Currently NOT tested with classes defined in GDScript and/or externally.) > - Most of the code-gen for custom engines that define new stock/builtin types and classes, etc. > - Simulated inheritence for stock (and easily extendable to user-defined) classes using module inclusion: That is if Derived inherits from Base, then simply include Base in the module representing Derived, and you get access to all the methods from Base without explicit casting (or in the case of Rust’s gdext, object composition). > - Naturally define a new Godot method in OCaml and have it called from GDScript or another Godot-bound language. (ergonomics still WIP). Read [Announcing Godotcaml for Godot 4.2](https://fizzixnerd.com/blog/2024-06-24-announcing-godotcaml/) See also: [Setting Up a Godotcaml Project (Today)](https://fizzixnerd.com/blog/2024-06-28-godotcaml-basic-setup/)

    6
    0
    data_engineering
    Data Engineering ericjmorey 2 months ago 100%
    Definite: Comparing Iceberg Query Engines (with Duckdb and Iceberg Full Notebook Example) | Steven Wang | 7/3/2024 www.definite.app

    7/3/2024 [Steven Wang writes](https://www.definite.app/blog/iceberg-query-engine): > Many in the data space are now aware of Iceberg and its powerful features that bring database-like functionality to files stored in the likes of S3 or GCS. But Iceberg is just one piece of the puzzle when it comes to transforming files in a data lake into a Lakehouse capable of analytical and ML workloads. Along with Iceberg, which is primarily a table format, a query engine is also required to run queries against the tables and schemas managed by Iceberg. In this post we explore some of the query engines available to those looking to build a data stack around Iceberg: Snowflake, Spark, Trino, and DuckDB. ... > DuckDB + Iceberg Example > > We will be loading 12 months of NYC yellow cab trip data (April 2023 - April 2024) into Iceberg tables and demonstrating how DuckDB can query these tables. Read [Comparing Iceberg Query Engines](https://www.definite.app/blog/iceberg-query-engine)

    7
    0
    rust
    Rust Programming ericjmorey 3 months ago 76%
    Rust has a HUGE supply chain security problem | Sylvain Kerkour | July 2, 2024 https://kerkour.com/rust-supply-chain-security-standard-library

    cross-posted from: https://programming.dev/post/16349359 > July 2, 2024 > > [Sylvain Kerkour](https://kerkour.com/) writes: > > > Rust adoption is stagnating not because it's missing some feature pushed by programming language theory enthusiasts, but because of a lack of focus on solving the practical problems that developers are facing every day. > > > > ... no company outside of AWS is making SDKs for Rust ... it has no official HTTP library. > > > > As a result of Rust's lack of official packages, even its core infrastructure components need to import hundreds of third-party crates. > > > > - cargo imports over 400 crates. > > > > - crates.io has over 500 transitive dependencies. > > > > ...the offical libsignal (from the Signal messaging app) uses 500 third-party packages. > > > > ... what is really inside these packages. It has been found last month that among the 999 most popular packages on crates.io, the content of around 20% of these doesn't even match the content of their Git repository. > > > > ...how I would do it (there may be better ways): > > > > A stdx (for std eXtended) under the rust-lang organization containing the most-needed packages. ... to make it secure: all packages in stdx can only import packages from std or stdx. No third-party imports. No supply-chain risks. > > [stdx packages to include, among others]: > > > gzip, hex, http, json, net, rand > > Read [Rust has a HUGE supply chain security problem](https://kerkour.com/rust-supply-chain-security-standard-library) > > --- > ### Submitter's note: > > I find the author's writing style immature, sensationalist, and tiresome, but they raise a number of what appear to be solid points, some of which are highlighted above.

    9
    6
    rust
    Rust ericjmorey 3 months ago 66%
    Rust has a HUGE supply chain security problem | Sylvain Kerkour | July 2, 2024 https://kerkour.com/rust-supply-chain-security-standard-library

    July 2, 2024 [Sylvain Kerkour](https://kerkour.com/) writes: > Rust adoption is stagnating not because it's missing some feature pushed by programming language theory enthusiasts, but because of a lack of focus on solving the practical problems that developers are facing every day. > > ... no company outside of AWS is making SDKs for Rust ... it has no official HTTP library. > > As a result of Rust's lack of official packages, even its core infrastructure components need to import hundreds of third-party crates. > > - cargo imports over 400 crates. > > - crates.io has over 500 transitive dependencies. > > ...the offical libsignal (from the Signal messaging app) uses 500 third-party packages. > > ... what is really inside these packages. It has been found last month that among the 999 most popular packages on crates.io, the content of around 20% of these doesn't even match the content of their Git repository. > > ...how I would do it (there may be better ways): > > A stdx (for std eXtended) under the rust-lang organization containing the most-needed packages. ... to make it secure: all packages in stdx can only import packages from std or stdx. No third-party imports. No supply-chain risks. [stdx packages to include, among others]: > gzip, hex, http, json, net, rand Read [Rust has a HUGE supply chain security problem](https://kerkour.com/rust-supply-chain-security-standard-library) --- ### Submitter's note: I find the author's writing style immature, sensationalist, and tiresome, but they raise a number of what appear to be solid points, some of which are highlighted above.

    16
    25
    programming
    Programming ericjmorey 3 months ago 90%
    Beating NumPy's matrix multiplication in 150 lines of C code | Aman Salykov | Jul 1, 2024 https://salykova.github.io/matmul-cpu

    Jul 1, 2024 [Aman Salykov](https://salykova.github.io/matmul-cpu) writes: > This blog post is the result of my attempt to implement high-performance matrix multiplication on CPU while keeping the code simple, portable and scalable. The implementation follows the BLIS design, works for arbitrary matrix sizes, and, when fine-tuned for an AMD Ryzen 7700 (8 cores), outperforms NumPy (=OpenBLAS), achieving over 1 TFLOPS of peak performance across a wide range of matrix sizes. > > By efficiently parallelizing the code with just 3 lines of OpenMP directives, it’s both scalable and easy to understand. The implementation hasn’t been tested on other CPUs, so I would appreciate feedback on its performance on your hardware. Although the code is portable and targets Intel Core and AMD Zen CPUs with FMA3 and AVX instructions (i.e., all modern Intel Core and AMD Zen CPUs), please don’t expect peak performance without fine-tuning the hyperparameters, such as the number of threads, kernel, and block sizes, unless you are running it on a Ryzen 7700(X). Additionally, on some Intel CPUs, the OpenBLAS implementation might be notably faster due to AVX-512 instructions, which were intentionally omitted here to support a broader range of processors. Throughout this tutorial, we’ll implement matrix multiplication from scratch, learning how to optimize and parallelize C code using matrix multiplication as an example. Read [Beating NumPy's matrix multiplication in 150 lines of C code](https://salykova.github.io/matmul-cpu)

    17
    0
    machine_learning
    Machine Learning ericjmorey 3 months ago 84%
    Let's reproduce GPT-2 (124M) | Andrej Karpathy | Jun 9, 2024 https://www.youtube.com/watch?v=l8pRSuU81PU&ab_channel=AndrejKarpathy

    Video description: > We reproduce the GPT-2 (124M) from scratch. > >This video covers the whole process: > > First we build the GPT-2 network, then we optimize its training to be really fast, then we set up the training run following the GPT-2 and GPT-3 paper and their hyperparameters, then we hit run, and come back the next morning to see our results, and enjoy some amusing model generations. > > Keep in mind that in some places this video builds on the knowledge from earlier videos in the Zero to Hero Playlist (see my channel). You could also see this video as building my nanoGPT repo, which by the end is about 90% similar.

    9
    1