Since planning began in 1985, the Perseus Digital Library Project has explored what happens when libraries move online. Two decades later, as new forms of publication emerge and millions of books become digital, this question is more pressing than ever. Perseus is a practical experiment in which we explore possibilities and challenges of digital collections in a networked world. For the mission of Perseus and its current research, see here.

Mandarin Chinese is the first foreign language I’m learning by myself, and I’m surprised there are so few universal best practices. Resources with hacks and tricks(like for Chinese) are a great starting point, but they still leave room for delusions.

Here are some of mine.

This book is a product of my own endeavour of understanding category theory. It is just that as I am explaining something, I am understanding it better. It is aimed at programmers, as well as anyone else who is interested in this stuff.

The main reason I am interested in Category Theory is that it allows us to formalise some common concepts that we use in our daily (intellectual) lives. Much of our language is based on intuition and rightfully so: relying on intuition is a very easy way to get your point across so it is understood by other human beings. However, that is part of the problem: sometimes intuition makes it too easy to communicate with someone. So easy that he might, in fact, understand things that you haven’t actually said. For example, when I say that two things are equal, it would seem obvious to you what I mean, although it isn’t obvious at all (how are they equal, at what context etc). That is the place when we might want to provide a more rigorous definition of what am I saying (even if I did not have one, to begin with). But providing such definition in natural language, which is designed to use intuition as a means of communication, is no easy task. It is in these situations that people often resort to diagrams to explain their thoughts. Diagrams are ubiquitous in science and mathematics because they are an understandable way to communicate a formal concept clearly. Category theory formalises the concept of a diagram and their components - arrows and objects and creates a language for presenting all kinds of ideas.

In this book, we will visit those formalisms and along the way, we would see all other kinds of mathematical objects, viewed under the primsm of categories.

Read More

A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages.

Read More

Every now and then, I read a question about learning how to break ciphers, or more generally how to become a cryptographer/cryptologist. From my viewpoint, the most important part of learning this skill is not advanced mathematics, but instead first learning how to think like a cryptographer. When you go to break a cipher, there are no instructions on how to do it. You simply need to get your hands dirty with the function under consideration and look for things that do not seem desirable for a secure function of that type. While having a bag of tricks is going to help, ultimately it’s your creativity, persistence, and skills that are more likely going to make the difference.

Read More

Nice. I’ve always wanted to read through the wiki page on fallacies but this seems like a nice summary.

This is the personal website of Dr. Kenneth Kuttler. You can download these books as a PDF, or read them online without downloading.

If you view the books online the website will keep track of where you were at in each respective book so you can come back and continue reading where you left off.

This is an introduction to complex numbers. It includes the mathematics and a little bit of history as well. It is intended for a general audience. The necessary background in a familiarity with ordinary real numbers (all positive and negative numbers and zero) and algebra.

Data Structures and Algorithms is about solving problems efficiently. A bad programmer solves their problems inefficiently and a really bad programmer doesn’t even know why their solution is inefficient. So, the question is, How do you rank an algorithm’s efficiency?

The simple answer to that question is the Big O Notation. How does that work? Let me explain!

In general, an automaton is a process for updating an array of cells where each cell is in one of a finite number of states and updating is according to a rule based on local neighborhoods and that rule is applied to every neighborhood. General introductions include [5-7]. The Game of Life is a 2-dimensional automaton that evolves from generation to generation using the following rule on each 3 by 3 neighborhood: if the center cell is dead (0) then it becomes alive at the next generation if exactly 3 of its eight neighbors are alive; if the center cell is alive (1), then it remains alive if 2 or 3 of its eight neighbors are alive. A Larger than Life (LtL) automaton has five parameters: r, a, b, c, d. The radius r defines the size of the neighborhoods which are 2r+1 by 2r+1. Let s denote the number of alive cells in an 2r+1 by 2r+1 neighborhood, including the center. Then a dead cell becomes alive when a ≀ s ≀ b and an alive cell remains alive if c ≀ s ≀ d. In this notation, the Game of Life is the LtL rule 1 3 3 3 4 automaton. Notice that LtL automata easily generalize to n-dimensional automata. In Section 2 we will consider the 1-dimensional case before turning to the more traditional 2-dimensional LtL automata.

In the 1990’s and later David Griffeath and Kellie Evans investigated many LtL automata. Indeed, it was the topic of Evan’s PhD thesis [8]. We will mention the particular LtL automata from [1] in Section 3 but the interested reader can find a wealth of material on their web pages [9-10] and in their publications [11-15].

Read More

A community for sharing resources/materials on learning and education.

Created on Sep 28, 2020
By @gurlic