(Part 2) Best information theory books according to redditors

Jump to the top 20

We found 321 Reddit comments discussing the best information theory books. We ranked the 94 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.

Next page

Top Reddit comments about Information Theory:

u/TelepathicDorito · 82 pointsr/bayarea

Do you know why PG&E exists at all? What's the historical reasoning behind the quasi public/private monopoly? We wanted efficiency of larger power plants and no rat's nest of power lines across the city from competing power companies. If the city owns and maintains the power lines, there's no rats nest. And we're at a point now where power generation through means of solar and wind allows individuals to set up solar and wind farms however big or small as they can afford. The need to consolidate power generation into the hands of one giant is unnecessary, and all we need is for a public entity to facilitate the infrastructure and transaction between the sellers and buyers.

Each city builds and maintains their own power lines and facilitates the marketplace between buyers and sellers. Then people can build solar and wind farms wherever, sell their power to cities who then sell it to buyers at whatever markup keeps the power lines maintained and pays for regulation of the sellers.

Try reading: https://www.amazon.com/Big-Switch-Rewiring-Edison-Google/dp/039334522X

u/Avinson1275 · 29 pointsr/gis
u/imeaturcheese · 10 pointsr/Anarcho_Capitalism

Risking hyperbole, encryption and cryptography is probably the most important single component of political change in the next one-hundred years. Good book on the subject: http://www.amazon.com/Crypto-Anarchy-Cyberstates-Pirate-Utopias/dp/0262621517

That mostly will give kind of an overview of the history, and I think many would be surprised how closely linked encryption and anarcho-capitalism has been from the beginning.

u/Phyx · 9 pointsr/haskell

> Problem one is ANSI control codes.

This isn't a problem at all, if your library is properly abstracted (and I haven't looked at Vty at all) then all you'd need to do is call the right Win32 API instead of just emitting ANSI control sequences. That is if you want compatibility with older OSes.

If you're only aiming for Windows 10 and higher it supports most if not all VT100 sequences fine https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences

If the library isn't then you can just re-interpret the control sequences back to Win32 api calls, It's not that hard at all, to the point where lots of compilers just do this. See projects like ANSICON that have existed for years https://github.com/adoxa/ansicon.

> Namely, instead of sending an escape sequence, ALT+{Key} escapes the console host entirely and talks to the OS instead, and you get similar behaviors with some CNTRL+{Key} combos. I am not sure if there is any way at all to bypass this behavior.

If you want low level controls, you need to look at the low level console apis instead of the high level ones https://docs.microsoft.com/en-us/windows/console/low-level-console-i-o

Particularly, the only signals I am aware of that the console host actually routes to the OS by default are Ctrl+C and Break. And if you don't this you can just turn off console input processing https://docs.microsoft.com/en-us/windows/console/low-level-console-modes (this is how you get mouse events in the input buffer as well).

Lastly you can even get access to the full underlying screen buffer and manipulate the entire buffer as a char* which allows you to do things not supported by the APIs if you want. (I've used this before to do things like screen scraping of console programs which use TUI like functionality so std redirection didn't work.).

In short, there is no technical reason why Vty shouldn't be able to achieve full feature parity with unix like OSes. The API is more than capable, it's just different, which is why historically you didn't have things like an ncurses port. It would essentially be a rewrite because it's not abstracted correctly.

> Basically, MS threw CMD.EXE in the dustbin about 20 years ago and only recently started to try pulling it out again -

CMD is just a layer on top of conhost which is the actual console host. The limitations of CMD in no way reflect the limitations of window's console host. ConEmu etc all use conhost because it's the only user facing console interface on Windows. https://blogs.technet.microsoft.com/askperf/2009/10/05/windows-7-windows-server-2008-r2-console-host/ explains the architecture behind it. and if you're interested in learning more https://www.amazon.co.uk/Inside-Windows-Debugging-Practical-Strategies/dp/0735662789

u/cpp_is_king · 9 pointsr/gamedev

Yea, I actually recommended one in the post above. Here's a direct link though

I'm recommending this only because it's the one book on the topic that I've read and it was really good. There's others too, like this one, but I haven't read them so I can't comment.

Any book about reverse engineering can only teach you the most basic things. But it teaches you enough that once you're on your own, you aren't lost. If you want to develop the skills further, just start disassembling OS functions and figuring out how they work.

Another book that's tangentially related is this one. It isn't about reverse engineering specifically, but rather about debugging (usually without source code), which is obviously a critical skill.

u/winterkoninkje · 9 pointsr/haskell

If you're truly interested in plumbing the depths of the correspondence, I'd suggest taking a look at Sørensen & Urzyczyn which gives a good deal of discussion on not only how things correspond, but also on when and how they do not (or do not in the way expected). If you're unable to shell out for the excellent book (or are unwilling to support Elsevier), I just found an online copy of an earlier version which, though not as complete, probably contains much of the same wisdom.

u/whackylabs · 8 pointsr/opengl

Ray tracing in a weekend would be a good start. Followed by the pbrt

u/woodyallin · 7 pointsr/statistics

I'm an avid R user. If you're new I would recommend R in a Nutshell. It's concise and if you already know a scripting language, R will be a easy transition. Also it's handy for quick references.

For really amazing graphics I would highly recommend the R Graphics Cookbook. Easy to follow examples and sexy-ass figures.

I'm a computational biologist and I have never seen anyone use SAS except for maybe older people. I learned a little bit in undergrad for a stats class, but I just used R instead lol. MatLab is also powerful and highly used, I might start trying that too.

Good luck.

u/pandrewski · 5 pointsr/BusinessIntelligence

Not even 1/10 decent. It looks like it's theory only. Try this book: http://www.amazon.com/Server-2012-Solutions-Experts-Voice/dp/1430234881
It describes whole BI process from the begining to the end on simplified life like examples and excercises. There is almost non knowledge required. Ofcourse basic SQL skills will be helpfull.

u/ffualo · 5 pointsr/askscience

For mathematical statistics: Statistical Inference.

Bioinformatics and Statistics: Statistical Methods in Bioinformatics.

R: R in a Nutshell.

Edit: The Elements of Statistical Learning (free PDF!!)

ESL is a great book, but it can get very difficult very quickly. You'll need a solid background in linear algebra to understand it. I find it delightfully more statistical than most machine learning books. And the effort in terms of examples and graphics is unparalleled.

u/ssylvan · 4 pointsr/programming

Yeah, the point quad tree splits at a single point, whereas the kD tree split along one axis, and then makes two independent splits in the sub-trees (which usually won't end up splitting at the same location, and depending on the exact implementation may even split along the same axis again).

This book is amazing: http://www.amazon.com/Foundations-Multidimensional-Structures-Kaufmann-Computer/dp/0123694469/ref=sr_1_1?ie=UTF8&qid=1373259783&sr=8-1

There's approximately 10x more spatial data structures, and variations thereof, then you can even imagine, and that book covers basically all of them.

u/uldu · 4 pointsr/UMD

First off, from a fellow transfer student, Welcome to UMD!

You'll be fine with your preparation so far. A lot of people go into 131 with little or no programming experience and do fine, and you'll already have a leg up on them.
I would download eclipse at http://www.eclipse.org and start looking through the textbook from the beginning.
Here is the class web pages list for the CS department: https://www.cs.umd.edu/class/
You can find course webpages for nearly every course offered there. Many have lecture slides and projects that you can look through and work on. Many will possibly be reused for your class. Some (NOT all) are password protected, just skip them.

The best thing about Java (IMHO) is the publicly available documentation. C has next to none, Ruby's is always missing stuff or has incorrect info. The java documentation is really well-done though.
If you haven't used Java before, the javadoc for Java SE 7 can be found here: http://docs.oracle.com/javase/7/docs/api/
Get used to navigating it. The different "packages" are easy to navigate in the top left frame. In my 131 class I think the only ones we used were in java.lang and java.util.

For any math reqs you still need, I'd advise learning all the material beforehand, the math dept. is notorious for having some TAs that are cruel graders.

A note on books...I've taken 131/132/216/250/330/351, and not once has the "required" book actually been needed in the class. The 132 book I used http://www.amazon.com/Data-Structures-Abstraction-Design-Using/dp/0470128704/ref=sr_1_4?s=books&ie=UTF8&qid=1374108009&sr=1-4&keywords=data+structures was a useful reference to have for Java, but It mostly covers data structures which aren't used as much in 131. 216's Pointers on C was fairly useful as well.
The Association for Women in Computing group on campus does book sales, w/ textbooks for $5-$10 each. Never anything assigned for a class, but it's a good place to get a cheap book for a language/topic you're interested in or as a supplement.

If you're interested in Artificial Intelligence and have room on your schedule, I highly recommend taking CMSC289I w/ Dr. Reggia. There's no programming experience required and it's an excellent overview of AI concepts.

Well, that's all I've got.

u/PhantomProcess · 3 pointsr/Rlanguage

I'd recommend reading R in a nutshell.

u/longlivedeath · 3 pointsr/programming

> Pierce's book is THE book on this subject in my opinion.

Barendregt's "Lambda Calculus" is usually cited as the standard reference on the subject. I wouldn't recommend it as an introduction, though.

u/cunttard · 3 pointsr/crypto

An Introduction to Mathematical Cryptography if you're starting out.

Introduction to Modern Cryptography for a focus on provable security.

u/QuantumHoneybees · 3 pointsr/computergraphics

I don't think you'll get a lot out of this subreddit as most people here seem to be beginners. I hope I am proven wrong, though.

I have implemented path tracers before but never using MLS. I'd suggest you check out PBRT and their source code implementation for MLS if you are still stuck. That's the best I can help you with. Good luck!

u/jlrobins_ssc · 3 pointsr/programming

Very nice ELI5 for R-trees and such. Can someone suggest a good book to dig deeper, like algorithm to query points in the R-tree given a bounding box when the bounding box spans more than one R-tree 'partition' box?

Cursory search reveals Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics). Can anyone recommend that book or suggest a better one for wanting to finally learn to code up, say, an R-tree or a BSP tree?

u/[deleted] · 2 pointsr/netsec

Network Security by Kaufman, Perlman, and Speciner.

Excellent book that covers all general aspects of network security, cryptography, security protocols and historic weaknesses. I think the authors commentary is fairly hilarious, especially Radia Perlman -- of algorhyme fame.

If you're into cryptography and cryptographic protocols, a good starting point is: An Introduction to Mathematical Cryptography (note: if you have access to springerlink through your school, I recommend just double-sided printing the chapters for free, much more convenient for reading if that's your thing.)

u/jambarama · 2 pointsr/statistics

It all comes down to what you're comfortable with, but I'm going to buck the trend and say SAS is more powerful & easier to use than R/SPSS (their syntax is similar). I don't have any experience with STATA or other statistical packages, other than matlab which seemed kind of clunky with statistics.

I've found SAS 9.2 to be computationally faster, relatively easy to learn, and compatible with more datatypes. Earlier versions of SAS were much crummier - lousier graphics, pickier on data input and code, etc - 9.2 is a huge leap forward.

R is excellent too. R has more flexibility, more packages & options, and far more niche uses. I just have a preference for the way SAS handles data, the way it takes code, and the transparency of the code relative to R/SPSS.

That said, SAS is insanely expensive and when my university license expires early next year, I'll probably stick with R. If cost is an issue, go with R, and get a good manual.

u/t3rtius · 2 pointsr/compsci

That's actually some good advice, which I kinda took when finding my way. More precisely, I started head first with the theory for the Curry-Howard-Lambek correspondence. While I was almost comfortable with Lambek's part, at least to begin with, I started reading more on lambda calculus and proof theory, including all the technical intricacies of completeness, undecidability, universality etc. I can even recommend the book I used, it's Sorensen and Urzyczyn's Lectures on the CH Isomorphism.

Yes, there are easier ways and more introductory books and also Barendregt's bible at the other end of the spectrum, I know. I just find it more motivating to keep in view this correspondence at all times.

u/singlelinelabyrinth · 2 pointsr/WGU_CompSci

Completely backwards; I learned earlier disc math in bits and pieces from various college algebra books (e.g., this, there were others but I can't recall their titles) and the bulk of my disc math/comp sci theory/graph theory/big-O from this one which I have no reason whatsoever to believe is the best way to do it and which dramatically over-emphasizes grammars and Turing machines compared to WGU curriculum and, I think, college curricula in general. It was also kind of a heavy lift since my disc math was weak coming into it, I think I spent more time on the one-chapter 'review' of discrete math than I did on any other three chapters in the book.

u/ArmlessRobot · 2 pointsr/Random_Acts_Of_Amazon

http://www.amazon.com/gp/aw/d/158488360X/ref=mp_s_a_1_3?qid=1376553772&sr=8-3&pi=SL75

It looks fancy, and seems like it could come of some use. I don't really know much about this though, but I tried. Thank you for the contest!

u/ethereumcpw · 2 pointsr/ethereum

> I haven't done proper research, but i personally feel it is an over-ambitious or rather an extremely pretentious project.

Agreed--it’s either ambitious or over-ambitious, depending on your view of what is possible. But if it’s not in this category, it’s not a zero-to-one project and therefore, not interesting enough (at least to me) for the time and effort.

By doing some proper research, you may come to the conclusion that such an endeavor is possible. Read some good books on Peer-To-Peer technologies, like this one and try to figure out why many distributed computing projects in the past all failed and why that should not be the case today. Also try to read some academic papers on distributed computing, grid computing, etc. There are a lot of those. Think about reputation systems and what kind of businesses they’ve enabled. You’re on this board, so I’m sure you have a good idea about how Ethereum enables new things to come to life. And importantly, do research on the team.

> with all these icos, it looks like a blockchain bubble is around the corner. Don't get me wrong, Blockchain will definitely invaluable just like the internet. Companies without substance or created just to ride the hype fall.

Agreed--it is a minefield out there. A bunch of projects look like nothing more than a scam. Others are legit but probably won’t work for one or more valid reasons. This is consistent with any technological breakthrough of the past, whether it’s the invention of the railroad, automobile, computer, internet, and now the blockchain; it's part of the package. And one day, among all the rubble, some very large enterprises will come out of this, just like what happened in those other breakthrough technological periods. And the rewards will go to those who have put in the time and effort to understand which of these projects will add a lot of value to the world and be able to keep their competitive position for a long time.

u/repmack · 2 pointsr/Anarcho_Capitalism

Crypto Anarchy, Cyber States, and Pirate Utopias. This is a book he has specifically recommended. I bought it, but I haven't read it yet.

http://www.amazon.com/Crypto-Anarchy-Cyberstates-Pirate-Utopias/dp/0262621517/ref=sr_1_fkmr0_1?ie=UTF8&qid=1412398841&sr=8-1-fkmr0&keywords=crypto+anarchy+cyber+state+pirate+utopias

u/assertchris · 2 pointsr/programming

Thanks for the reference. This is one of the main sources of learning for me. The recursive descent parsing sections are almost completely inspired by it.

Another great resources is Understanding Computation (http://www.amazon.com/dp/1449329276), which inspires much of the automata sections.

I will of course credit both of these resources when I get to their sections, but the former (which is excellent) takes very long to get to building a compiler (and is also a bit dry) and the latter never actually builds a compiler. I am hoping to combine the best bits of these in short sections.

> and probably better also

Professor Aiken is a brilliant teacher. The course is long, but well worth the time. Thanks for the reference.

u/moose04 · 2 pointsr/java

We used this one: http://www.amazon.com/Data-Structures-Abstraction-Design-Using/dp/0470128704/ref=sr_1_4?ie=UTF8&qid=1371444411&sr=8-4&keywords=data+structures

but probably because it was written by the cis department. however, i did find the text to be very helpful.

u/last_useful_man · 2 pointsr/learnprogramming

I have to say linux profiling has seemed to me to be a fast-moving target, meaning you'll get scattered results if you search. But, there's this which seems up-to-date: http://en.wikipedia.org/wiki/Perf_%28Linux%29

Then there's Ulrich Drepper's 'What every programmer should know about memory' (long series, but worth skimming at least, if your code is memory intensive. At least read about cache-coherency and cache-lines): http://lwn.net/Articles/250967

But the biggest thing is to get the algorithms right. Sounds like you want image-processing books. Also, GPUs are just absolutely the right place to do this stuff, and there are probably libraries already out there for it; speaking of which, did you know about OpenCV? It even has some stuff implemented on the GPU (as CUDA). I root for OpenCL, but the fact is, almost everything out there, libraries, and books, is written for CUDA.

> All the software is written in C++: I am interested in unlearning bad habits and writing better and easier to maintain code.

I suggest Effective C++ if you haven't read it yet. Also, Herb Sutter's 'Exceptional C++' series (a 'digest' version is C++ Coding Standards: 101 Rules, Guidelines, and Best Practices).

Never read it myself, but I hear 'Code Complete' is good. Maybe, too, Martin Fowler's Refactoring book - it shows lots of little awkward, problematic patterns and what to do about them, with good discussion. Each cleanly separated out - it will refer back and forth, but you can read the bits one-at-a-time. Good bathroom reading :)

Re: algorithms: Ugh, I don't know. It sounds like you'll want some metric data structures, dealing with space as you do. There's http://www.amazon.com/Foundations-Multidimensional-Structures-Kaufmann-Computer/dp/0123694469, and I don't know what else, maybe some Knuth? But probably, you should learn undergraduate-level data structures and algorithms, Big O stuff. Any used CS Data Structures + Algorithms book should help with that.

Do not fear spending money, as a former boss said, "books are free" ie they pay for themselves if they save you an hour's debugging later. Good luck!

u/elimc · 2 pointsr/compsci

Understanding Computation:
http://www.amazon.com/dp/1449329276

Turning Machines were just one part. There were also great explanations of the halting problem, automata, parsing, static analysis, etc . . . I don't consider myself the smartest guy in the room, but even I was able to follow most of it. It uses Ruby to let you reproduce all of the ideas with code.

u/TheOtherP · 2 pointsr/trackers

Not quite what you want but there's this.

u/Dr-Harlow · 2 pointsr/videos
u/extrintr · 1 pointr/2b2t

I've got a book suggestion for you:

https://www.amazon.com/Seven-Concurrency-Models-Weeks-Programmers/dp/1937785653

It will make you sound less retarded to people who actually know something about writing concurrent code.

u/CowFu · 1 pointr/learnprogramming

I actually have one right in front of me on my desk

Pro SQL server 2012 BI Solutions kind of pricey at $48, you can probably find it cheaper somewhere else.

It covers how to do the entire process, creating a data warehouse, etl process, cubes, reports, etc starting with large scale overviews, then planning, defining a team, then dives into the technical of actual implementation. It's an extremely expansive book, and also like 800 pages.

I've only read the first few chapters but it's great IMO.

u/vilhelm_s · 1 pointr/programming

I agree that it's a great book, but in my experience, it's more useful as a motivator than as a source of information. That is, after reading Girard's cryptic and tantalizing off-hand remarks, you are dying to know what on earth he is talking about.

For readers who are new to lambda calculus or proof theory, I'd recommend supplementing it with a gentler text like Sørensen and Urzyczyn's Lectures on the Curry-Howard Isomorphism (book, shorter free online version), which contains actual explanations. :)

u/RHoneyMonster · 1 pointr/Rlanguage

www.r-bloggers.com is my favourite site, if I'm ever looking for a how-to guide I will click their links first.

The only book I have bought on R is R In A Nutshell, but I didn't find it very useful.

u/geodude247 · 1 pointr/gis

Have you tried the packages spdep, spatstat, gstat? In the class I took on this subject, we used these packages along with maptools and GISTools to avoid Arc entirely. This book was our reference:
https://www.amazon.com/Introduction-Spatial-Analysis-Mapping/dp/1446272958

If I'm not mistaken, the package spdep was developed by the authors of these books:
https://www.amazon.com/Applied-Spatial-Data-Analysis-Use/dp/1461476178
https://www.amazon.com/Spatial-Statistics-Geostatistics-Applications-Information/dp/1446201740

Were you instructed to use geoRglm?

u/FourWordUserName · 1 pointr/computerscience

Noam Chomsky hasn't done much for Computer Science lately. I believe he's primarily a political activist now, though I may be wrong.

Anyhow! My Theory of Computing course used Languages and Machines: An Introduction to the Theory of Computer Science. Another course used Programming Language Pragmatics.

The former focuses entirely on formal languages and machines. The latter focuses more on the specifics of programming languages (lexical analysis, syntax analysis (i.e., parsing), semantic analysis, etc).

I don't remember if either book properly introduces Kleene Algebra. Even if they don't introduce it, they certainly make use of it (especially Languages and Machines). In the event that it isn't introduced, try to educate yourself on the subject. Very interesting topic (and also the building blocks of regular expressions!).

u/coel · 1 pointr/LaTeX

More Math into Latex is excellent. You can get the short course (first few chapters of the book) free here.

u/cowgod42 · 1 pointr/LaTeX

This does not answer your question, but it is usually preferable not to have vertical relation symbols, and not to worry about the vertical alignment, except at the first equals sign (this is done with "align"). Instead, you usually want things more like this:

A ~ B ~ C
~ D ~ E ~ G
~ H ~ I

and so on.

More to your question, I know there is a way to save an alignment place and recall it later, but I don't remember how to do it. Another option might be to use the "split" environment.

Sorry I couldn't be of more help. An excellent resource for these kinds of questions is this book. Good luck!

u/Curiosity · 1 pointr/math

I took a cryptography class and we used this textbook:

http://www.amazon.com/Introduction-Mathematical-Cryptography-Undergraduate-Mathematics/dp/0387779930

It's very easy reading and covers quite a few cryptographic techniques. That said it can be frustratingly light on the mathematics (some number theory/algebra results are given without proof and the section on the number field sieve is vague) but it generally gives references for the 'harder' mathematics.

As others have noted the preqs for cryptography are generally number theory and abstract algebra.

As a final note: I didn't personally find cryptography very interesting but this might have been due to courses de-emphasis on the mathematical details. The field feels somehow shallow, you learn many tricks and become extremely comfortable working in finite fields but the punchlines were less dramatic than any other subject I've studied. This is a field where the Quadratic sieve was a big deal. I mean it's a nice trick but amounts to a (imho) unexciting computational improvement.

u/Chris2048 · 1 pointr/programming

Some books do, find me a cheap copy of The Lambda calculus or An introduction to Kolmogorov Complexity!

u/Slowhand09 · 1 pointr/privacy

OK, given enough time and motivation, you can narrow down stuff. Overly sensationalistic story. And hardly breaking news. Glance over Database Nation: The Death of Privacy in the 21st Century (2001)

u/Proton116 · 1 pointr/csbooks

I'd recommend [Computer Science: An Overview by Glenn Brookshear] (http://www.amazon.com/Computer-Science-Overview-12th-Edition/dp/0133760065) or Computer Science Handbook by Allen B. Tucker if you want a more in-depth overview of theoretical topics.

u/cthechartreuse · 1 pointr/javascript

Honestly, it really made sense after studying theory of computation. Looking at nondeterministic finite automata and how it relates to core regular expression rules, it's not too tough to string together some pretty useful expressions. I know it's not popular to talk about academic topics to pull a concept together, but it really helps in this case.

Here's a book I recommend to people who don't have the time or inclination to do a comp sci 4-year program:

https://www.amazon.com/Understanding-Computation-Machines-Impossible-Programs/dp/1449329276

*edit added book