amh-code
full-speed-python
amh-code | full-speed-python | |
---|---|---|
8 | 4 | |
551 | 4,043 | |
- | - | |
10.0 | 1.3 | |
over 1 year ago | about 1 year ago | |
Jupyter Notebook | Makefile | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
amh-code
-
Ask HN: Recommendations for high quality, free CS books online
I recently stumbled on https://en.algorithmica.org/hpc/ which I absolutely loved. It's really well written, comprehensible and concise. It felt like a pleasure to read which I find really rare with CS textbooks and I feel like I've come out of it understanding how computers work a bit better
Does anyone have any similar CS books they'd recommend? Ideally they'd be:
- Algorithms for Modern Hardware
-
Ask HN: How can I learn about performance optimization?
I admire Daniel Lemire’s work on SIMD implementations. [Lemire]
[Lemire] https://lemire.me/en/#publications
I learn a lot by reading my compiler’s and profiler’s documentation.
For Rust, the Rust Performance Book by Nicholas Nethercote et al. [Nethercote] seems like a nice place to start after reading the Cargo and rustc books.
[Nethercote] https://nnethercote.github.io/perf-book/
Algorithms for Modern Hardware by Sergey Slotin [Slotin] is a dense and approachable overview.
[Slotin] https://en.algorithmica.org/hpc/
Quantitative understanding of the underlying implementations and computer architecture has been invaluable for me. Computer architecture: a quantitative approach by John L. Hennessy and David A. Patterson [H&P] and Computer organization and design: the hardware/software interface by Patterson and Hennessy [P&H ARM, P&H RISC] are two introductory books I like the best. There are three editions of the second book: the ARM, MIPS and RISC-V editions.
[H&P] https://www.google.com/books/edition/_/cM8mDwAAQBAJ
- Algorithms for Modern Hardware – Algorithmica
-
Ask HN: Programming Courses for Experienced Coders?
Hello, recently I've enjoyed Casey Muratori's Performance-Aware Programming course[0]. You could read Algorithms for Modern Hardware[1] to learn similar set of stuff though. Casey's course is aimed at bringing beginners all the way to a nearly-industry-leading understanding of performance issues while the book assumes a bit more knowledge, but I think a lot of people have trouble getting into this stuff using a book if they don't have related experience.
I've also found Hacker's Delight Second Edition[2] to be a useful reference, and I really wish that I would get around to reading What Every Programmer Should Know About Memory[3] in full, because I end up reading a bunch of other things[4] to learn stuff that's surely in there.
[0]: https://www.computerenhance.com/p/welcome-to-the-performance...
[1]: https://en.algorithmica.org/hpc/
[2]: https://github.com/lancetw/ebook-1/blob/80eccb7f59bf102586ba...
[3]: https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
[4]: https://danluu.com/3c-conflict/
-
SIMD Everywhere Optimization from ARM Neon to RISC-V Vector Extensions
https://en.algorithmica.org/hpc/ and http://0x80.pl/ have some stuff about this, but the latter can be dense. I've had fun getting my hands dirty with some problems at https://highload.fun/ but there's not much direction unless you go to the telegram chat and ask people questions.
-
Fastest Branchless Binary Search
Other fast binary searches https://github.com/sslotin/amh-code/tree/main/binsearch
full-speed-python
-
Ask HN: Programming Courses for Experienced Coders?
If you're learning Python, and know other programming languages, I have this online ebook [1] that I use with my students so that they learn Python fast enough so that I can teach them about socket programming.
Basically, in each chapter I give a small detailed introduction to the topic and then students do some exercises to solidify things.
[1] https://github.com/joaoventura/full-speed-python
-
Ask HN: Freelancer? Seeking freelancer? (December 2021)
SEEKING FREELANCE WORK
I'm available for Python and Django freelance work, if it's interesting enough. I've 10+ years of professional experience working with that stack. You can check some of my projects at [1] and look at some of my code at [2] and [3].
I'm also a part-time CS Professor (I have a CS PhD - AI - TextMining), so I'm also available for tutoring students 1-1 (or small groups). Topics can include anything from CS curricula, but I have lots of experience introducing people to programming (I have a Python ebook with exercises - fullspeedpython [4]), and building web apps either in Python or Java (intro to programming, databases, networking, html+css, webframeworks, webservices => web apps). If you're new to CS and programming and you're self-learning, I can help you navigate what's important, what's irrelevant and provide you with some guidance.
Giving that I see thousands and thousands of code every semester, I'm also available for doing code reviews or helping with best practices for individuals and teams.
My current rate is 80€-100€/hour.
[1] https://joaoventura.net/projects/
[2] https://github.com/joaoventura/
[3] https://github.com/flatangle/flatlib
[4] https://github.com/joaoventura/full-speed-python
-
Ask HN: Looking for a Book on Algorithms and Data Structures
I’m in the initial phase of structuring a book that aims to teach some simple algorithms and data structures using Python. The idea is that the reader should do the (guided) exercises to learn how to build those data structures. It’s basically “learn by doing”.
For instance, to teach what a stack is I’ll explain the basic idea of a stack, then provide a base class and the reader must implement each method (init, push, pop, peek, etc) given the requirements and intended results of each functionality.
I have a learn by doing ebook about Python (https://github.com/joaoventura/full-speed-python), so it’s like a follow-up to that one. Don’t know if people are interested though..
-
Python books free to read online or download
Cool list! @pamoroso, if you read this comment, I've submitted an issue on the repo to add my own ebook (full-speed python).
If someone stumbles on this on HN, here's the link to the repo [1] and releases [2]. It's basically a simple ebook where each chapter shows a little bit of what you can do with something (numbers, strings, lists, dicts, modules, etc.) and then the reader solves the asked exercises. I use this for my students who already know how to program (BSc and MSc) to get up to speed with Python, so that we can go learn sockets, http protocols, web frameworks, etc..
[1] https://github.com/joaoventura/full-speed-python/
[2] https://github.com/joaoventura/full-speed-python/releases/
What are some alternatives?
sb_lower_bound - Fastest Branchless Binary Search
deps - deps: A terminal UI dashboard to monitor python dependencies across a Github organisation
branchless-binary-search - Binary search implementation that avoids branch instructions
algs4 - Algorithms in C# ported from the book "Algorithms 4th Edition".
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
steering-council - Communications from the Steering Council
tigerbeetle - The distributed financial transactions database designed for mission critical safety and performance.
flatlib - Python library for Traditional Astrology
ThinkingInSimd - An essay comparing performance implications of ignoring AVX acceleration
100_page_python_intro - :snake: Short, introductory guide for the Python programming language :green_book: :zap:
std-simd - std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
algorithms - A collection of solutions to the data structure and algorithm problems