Reddit mentions: The best information theory books

We found 321 Reddit comments discussing the best information theory books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 94 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

1. The Information: A History, A Theory, A Flood

    Features:
  • Vintage Books
The Information: A History, A Theory, A Flood
Specs:
ColorBlack
Height7.97 Inches
Length5.14 Inches
Number of items1
Release dateMarch 2012
Weight1.15 Pounds
Width1.05 Inches
▼ Read Reddit mentions

2. Hackers & Painters: Big Ideas from the Computer Age

    Features:
  • O Reilly Media
Hackers & Painters: Big Ideas from the Computer Age
Specs:
Height8.5 Inches
Length5.5 Inches
Number of items1
Release dateMay 2010
Weight0.70327461578 Pounds
Width0.7 Inches
▼ Read Reddit mentions

3. Emergence: The Connected Lives of Ants, Brains, Cities, and Software

    Features:
  • Scribner
Emergence: The Connected Lives of Ants, Brains, Cities, and Software
Specs:
ColorBlue
Height8.4375 Inches
Length5.5 Inches
Number of items1
Release dateSeptember 2002
Weight0.6 Pounds
Width0.72 Inches
▼ Read Reddit mentions

4. The Information: A History, a Theory, a Flood

From theory to the flood
The Information: A History, a Theory, a Flood
Specs:
Height9.66 Inches
Length6.74 Inches
Number of items1
Release dateMarch 2011
Weight2.22 Pounds
Width1.85 Inches
▼ Read Reddit mentions

5. Understanding Cryptography: A Textbook for Students and Practitioners

    Features:
  • Springer
Understanding Cryptography: A Textbook for Students and Practitioners
Specs:
Height9.21258 Inches
Length6.14172 Inches
Number of items1
Release dateJuly 2010
Weight1.65787621024 Pounds
Width0.8751951 Inches
▼ Read Reddit mentions

6. An Introduction to Information Theory: Symbols, Signals and Noise (Dover Books on Mathematics)

Dover Publications
An Introduction to Information Theory: Symbols, Signals and Noise (Dover Books on Mathematics)
Specs:
Height8.5 Inches
Length5.5 Inches
Number of items1
Release dateNovember 1980
Weight0.771617917 Pounds
Width0.75 Inches
▼ Read Reddit mentions

7. The Basics of Information Security: Understanding the Fundamentals of Infosec in Theory and Practice

The Basics of Information Security: Understanding the Fundamentals of Infosec in Theory and Practice
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Release dateJune 2011
Weight0.8598028218 Pounds
Width0.5 Inches
▼ Read Reddit mentions

8. Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

Pragmatic Bookshelf
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Weight1.4 Pounds
Width0.9 Inches
▼ Read Reddit mentions

9. Physically Based Rendering: From Theory to Implementation

    Features:
  • Morgan Kaufmann Publishers
Physically Based Rendering: From Theory to Implementation
Specs:
Height9.4 Inches
Length7.6 Inches
Number of items1
Weight5.4454178714 pounds
Width2.1 Inches
▼ Read Reddit mentions

10. Visualizing Data: Exploring and Explaining Data with the Processing Environment

Visualizing Data: Exploring and Explaining Data with the Processing Environment
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Weight1.55 Pounds
Width0.6 Inches
▼ Read Reddit mentions

11. Data Structures and Algorithms in Java

Data Structures and Algorithms in Java
Specs:
Height9.17321 Inches
Length7.775575 Inches
Number of items1
Weight2.64775176662 Pounds
Width1.18499763 Inches
▼ Read Reddit mentions

12. Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design

Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design
Specs:
Height9 Inches
Length7.3 Inches
Number of items1
Release dateFebruary 2013
Weight0.220462262 Pounds
Width1.5 Inches
▼ Read Reddit mentions

13. Elements of Information Theory 2nd Edition (Wiley Series in Telecommunications and Signal Processing)

    Features:
  • Wiley-Interscience
Elements of Information Theory 2nd Edition (Wiley Series in Telecommunications and Signal Processing)
Specs:
Height9.499981 Inches
Length6.401562 Inches
Number of items1
Weight2.60586393684 Pounds
Width1.618107 Inches
▼ Read Reddit mentions

14. A Discipline of Programming

A Discipline of Programming
Specs:
Height9.25 Inches
Length6.5 Inches
Number of items1
Weight0.4850169764 Pounds
Width0.75 Inches
▼ Read Reddit mentions

15. Hackers and Painters: Big Ideas from the Computer Age

    Features:
  • Used Book in Good Condition
Hackers and Painters: Big Ideas from the Computer Age
Specs:
Height8.5 Inches
Length5.5 Inches
Number of items1
Weight1.2 Pounds
Width0.94 Inches
▼ Read Reddit mentions

16. An Introduction to Mathematical Cryptography (Undergraduate Texts in Mathematics)

    Features:
  • Springer
An Introduction to Mathematical Cryptography (Undergraduate Texts in Mathematics)
Specs:
Height9.25 Inches
Length6.1 Inches
Number of items1
Release dateDecember 2010
Weight1.80558592578 Pounds
Width1.22 Inches
▼ Read Reddit mentions

17. Lectures on the Curry-Howard Isomorphism (Volume 149) (Studies in Logic and the Foundations of Mathematics (Volume 149))

Lectures on the Curry-Howard Isomorphism (Volume 149) (Studies in Logic and the Foundations of Mathematics (Volume 149))
Specs:
Height9.21 Inches
Length6.14 Inches
Number of items1
Weight1.8298367746 Pounds
Width1 Inches
▼ Read Reddit mentions

18. Data Structures and Algorithms in Java

    Features:
  • Used Book in Good Condition
Data Structures and Algorithms in Java
Specs:
Height9.200769 Inches
Length7.40156 Inches
Number of items1
Weight2.25 Pounds
Width1.200785 Inches
▼ Read Reddit mentions

19. Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics)

Used Book in Good Condition
Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics)
Specs:
Height11 Inches
Length8.5 Inches
Number of items1
Weight5.5005334369 Pounds
Width2.06 Inches
▼ Read Reddit mentions

20. Understanding Computation: From Simple Machines To Impossible Programs

Used Book in Good Condition
Understanding Computation: From Simple Machines To Impossible Programs
Specs:
Height9.19 inches
Length7 inches
Number of items1
Release dateJune 2013
Weight1.17 pounds
Width0.77 inches
▼ Read Reddit mentions

🎓 Reddit experts on information theory books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where information theory books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 11
Number of comments: 6
Relevant subreddits: 2
Total score: 11
Number of comments: 2
Relevant subreddits: 1
Total score: 10
Number of comments: 3
Relevant subreddits: 3
Total score: 8
Number of comments: 2
Relevant subreddits: 2
Total score: 7
Number of comments: 3
Relevant subreddits: 3
Total score: 6
Number of comments: 3
Relevant subreddits: 2
Total score: 5
Number of comments: 3
Relevant subreddits: 2
Total score: 5
Number of comments: 2
Relevant subreddits: 1
Total score: 4
Number of comments: 2
Relevant subreddits: 1
Total score: 3
Number of comments: 3
Relevant subreddits: 1

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Top Reddit comments about Information Theory:

u/acetv · 14 pointsr/math

You are in a very special position right now where many interesing fields of mathematics are suddenly accessible to you. There are many directions you could head. If your experience is limited to calculus, some of these may look very strange indeed, and perhaps that is enticing. That was certainly the case for me.

Here are a few subject areas in which you may be interested. I'll link you to Dover books on the topics, which are always cheap and generally good.

  • The Nature and Power of Mathematics, Donald M. Davis. This book seems to be a survey of some history of mathematics and various modern topics. Check out the table of contents to get an idea. You'll notice a few of the subjects in the list below. It seems like this would be a good buy if you want to taste a few different subjects to see what pleases your palate.

  • Introduction to Graph Theory, Richard J. Trudeau. Check out the Wikipedia entry on graph theory and the one defining graphs to get an idea what the field is about and some history. The reviews on Amazon for this book lead me to believe it would be a perfect match for an interested high school student.

  • Game Theory: A Nontechnical Introduction, Morton D. Davis. Game theory is a very interesting field with broad applications--check out the wiki. This book seems to be written at a level where you would find it very accessible. The actual field uses some heavy math but this seems to give a good introduction.

  • An Introduction to Information Theory, John R. Pierce. This is a light-on-the-maths introduction to a relatively young field of mathematics/computer science which concerns itself with the problems of storing and communicating data. Check out the wiki for some background.

  • Lady Luck: The Theory of Probability, Warren Weaver. This book seems to be a good introduction to probability and covers a lot of important ideas, especially in the later chapters. Seems to be a good match to a high school level.

  • Elementary Number Theory, Underwood Dudley. Number theory is a rich field concerned with properties of numbers. Check out its Wikipedia entry. I own this book and am reading through it like a novel--I love it! The exposition is so clear and thorough you'd think you were sitting in a lecture with a great professor, and the exercises are incredible. The author asks questions in such a way that, after answering them, you can't help but generalize your answers to larger problems. This book really teaches you to think mathematically.

  • A Book of Abstract Algebra, Charles C. Pinter. Abstract algebra formalizes and generalizes the basic rules you know about algebra: commutativity, associativity, inverses of numbers, the distributive law, etc. It turns out that considering these concepts from an abstract standpoint leads to complex structures with very interesting properties. The field is HUGE and seems to bleed into every other field of mathematics in one way or another, revealing its power. I also own this book and it is similarly awesome. The exposition sets you up to expect the definitions before they are given, so the material really does proceed naturally.

  • Introduction to Analysis, Maxwell Rosenlicht. Analysis is essentially the foundations and expansion of calculus. It is an amazing subject which no math student should ignore. Its study generally requires a great deal of time and effort; some students would benefit more from a guided class than from self-study.

  • Principles of Statistics, M. G. Bulmer. In a few words, statistics is the marriage between probability and analysis (calculus). The wiki article explains the context and interpretation of the subject but doesn't seem to give much information on what the math involved is like. This book seems like it would be best read after you are familiar with probability, say from Weaver's book linked above.

  • I have to second sellphone's recommendation of Naive Set Theory by Paul Halmos. It's one of my favorite math books and gives an amazing introduction to the field. It's short and to the point--almost a haiku on the subject.

  • Continued Fractions, A. Ya. Khinchin. Take a look at the wiki for continued fractions. The book is definitely terse at times but it is rewarding; Khinchin is a master of the subject. One review states that, "although the book is rich with insight and information, Khinchin stays one nautical mile ahead of the reader at all times." Another review recommends Carl D. Olds' book on the subject as a better introduction.

    Basically, don't limit yourself to the track you see before you. Explore and enjoy.
u/mredding · 5 pointsr/compsci

I can't speak of a specific book that is a comprehensive history of computing, but I will speak to books that speak of our culture, our myths, and our hero's.

Hackers and Painters, by Paul Graham. People are polarized about the man, whether he's too "pie in the sky" - full of shit and ego, or if he speaks as an ambassador to our most optimistic ideals of our (comp-sci) culture. The contents of this book is a collection of his essays that are inspirational. It made me forego the societal pressures within our culture and reject popular opinion because it is merely popular and just an opinion, which is a virtue no matter who you are, where you are, or what you do. All these essays are on his website, though. If you want to review them, I recommend Hackers and Painters (the essay), What You Can't Say, Why Nerds are Unpopular, and The Age of the Essay; his oldest essays are at the bottom of the page and go up - he writes about what he's thinking about or working on at the time, so you'll see the subject matter change over time. So much of this will have direct application to his middle school and high school life. I cannot recommend this book, and the rest of his essays, enough.

If he wants to get into programming, I recommend The Pragmatic Programmer. This book talks about the software development process. I'm not going to lie, I don't know when best to introduce this book to him. It's not a hard read whatsoever, but it's abstract. I read it in college in my first months and said, "Ok," and put it down. Approaching the end of college and my first couple years in my profession, I would reread it ever 6 months. It's a kind of book that doesn't mean anything, really, without experience, without having to live it, when he has an obligation to his craft, his profession. I tell you about this one since you're asking about books to tell him, because this isn't something someone would normally come up across without being told about it.

The Cathedral and the Bazaar is a telling book about the cultural differences between the proprietary monoliths like Apple and Microsoft, and the Free and Open Source Software communities that back such popular software as Linux (the most popular operating system on the planet, running on all top 500 super computers, most server computers on the internet, and all Android phones) and Chrome(the worlds most popular web browser). Indeed, this book directly reflects the huge cultural battle that was duked out in the field, in the industry, and in the courts from the mid-90s and into the 2000s. It advocates helping the community, contributing to something larger than yourself, and that none of us are as good as all of us. To paraphrase Linus Torvalds(inventor of Linux) "Given enough eyeballs, all bugs are shallow."

It's important to know who the hero's are in our culture, and they are diverse and varied, they're not just computer scientists, but mathematicians, physicists, philosophers, science fiction writers, and more. I would find a good book on Nicola Tesla, since he invented basically everything anyway (Thomas Edison was a great businessman, but a bit of a tosser), Richard Feynman was a physicist who is still celebrated in his field, and he even worked for Thinking Machines, back in the day, which was a marvel of it's time. Seymour Cray founded Cray Supercomputers and they have a lasting legacy in the field, a biography on that would be interesting. A biography on Symbolics and their Lisp Machines will make him yearn to find one still functioning (a rare gem that crops up every now and again, though he can run one in an emulator), and about the "AI Winter", a significant historic era (note: the AI Winter is over, and we are in spring, the history is both compelling and enthralling). Anything Issac Asimov published (in nearly every category of the dewy decimal system) is also compelling, and hardly dated. In fact, he's the originator of a lot of modern sci-fi. Charles Babbage invented the modern computer (though it was entirely mechanical in his day, and it wasn't actually built until 1996-2002) and Ada Lovelace was the worlds first computer programmer. A woman! Speaking of women, and it's worth young men learning this about our history, Grace Hopper was a military computer engineer who invented the term "bug".

And speaking of women, someone I have respect for, especially if your boy wants to get into game development is Sheri Graner Ray's Gender Inclusive Game Design, which may be more appropriate when he's in high school, and I consider it required reading for anyone who wants to enter the gaming industry. The book lays out plainly how video games hyper-sexualize both women, and, for some reason surprisingly to many - men, it's disastrous effects it has for the game industry, the game market, and the gaming community, and insights on how we may combat it. I have seen colleagues (men) become indignant and personally offended at reading this book, but were absolutely humbled when they took the fight to Sheri directly (we had a few phone interviews with her, always fantastic). If your boy found a problem with this book, he would do well to read Paul Grahams essay on keeping his identity small... The subject matter is not a personal attack on the individual, but on the blight, and he would be better served finding himself on the right side of history with this one, it would serve him well if he were to pursue this craft, specifically, but also any forward facing media in general.

And I also recommend some good books on math. Algebra, linear algebra, calculus, and statistics. You can get very far, lead an entire career unto retirement without knowing anything more than arithmetic and basic, basic algebra, but he could only serve himself well if he makes the decision that he is going to like maths and chooses to willfully become good at it. Outside the context of school and terrible teachers, it's actually an enthralling subject. Just get him a copy of Flatland, Flatterland, and Sphereland. Try this. There are books about proofs that break them down into laymen terms so that anyone can celebrate how special they are. My wife has a few on the shelf and I can't remember their titles off hand. Also this, the book is the narrative of some witty laymen who discover a whole branch of mathematics from first principles, the surreal numbers, an extension of imaginary numbers. It's really quite good, but might keep him occupied for a couple years in high school.

I should stop here or I never will.

u/CSMastermind · 4 pointsr/learnprogramming

I've posted this before but I'll repost it here:

Now in terms of the question that you ask in the title - this is what I recommend:

Job Interview Prep


  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List


    Read This First


  10. Pragmatic Thinking and Learning: Refactor Your Wetware

    Fundementals


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments


  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams

    Mentality


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development

    History


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List


    Read This First


  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth

    Fundementals


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design


  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets


  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example

    Databases


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience


  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos

    Mentality


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering

    History


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    Specialist Skills


    In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/nationcrafting · 7 pointsr/Anarcho_Capitalism

Hello DrMerkwurdigliebe,

Always nice to get into stimulating discussions, isn't it?

Re: bees. It's a fascinating subject. I did quite a bit of reading on the subject of emergent intelligence. A good summary book, with great insight into the ramifications of the theory, as well as a broad set of connecting information, would be "Emergence: The Connected Lives of Ants, Brains, Cities, and Software" by Steven Johnson. You can find it here. Another book, which was written about 30 years ago but is still very relevant, and more pertinent to the subject of economics and politics, would be "Micromotives and Macrobehavior" by Thomas Schelling, which is available here. Schelling won the Nobel Prize in economics for his work on the subject, but that was a while ago, and the neo-Keynesian flavour of economics (à la Krugman) is sadly back in vogue...

Re: anarcho-capitalism. I do often post on the anarcho-capitalist reddit, but I don't really consider myself as one, for the simple reason that I think any such "isms" imply a level of politicisation and activism that I think are neither relevant to the 21st century, nor do they do advocates for change towards individual-oriented thinking any favours.

I see the nation as a product that one can design, re-design, test, re-launch, modify into v2, v3, etc. thereby increasing its fitness for purpose, as well as the general satisfaction its users will have with it over time. Great houses are not designed by activist architects, great cars are not designed by activist car designers. Sure, there may be a corporate philosophy that informs a particular way of designing a product, but the key thing is that the product's users consume it, they have the power of buying it or not buying it, thereby voting with their consumer feedback or their dollar, and thus further improve it. If you think about how people talk to shopkeepers vs. how they talk to, say, TSA staff, you'll see straightaway that the consumer role puts them in a position of power which, in aggregate, ends up taking the market to greater and greater products.

When you combine this relationship between supplier and consumer with the leverage that capital and technology can give the private sector, its yearly improvement leads to the kind of progress statists can only dream of. For example, the fact that, after about 30 years of privatisation, telephony as a sector has managed to make viable companies like Skype (which give you FREE telephone video calls around the planet) is, to me, a perfect example of just what can be achieved when a system is set up for the free market to provide something that until recently couldn't even be conceived of as a non-state sector.

All food for thought...

All the best,

Nationcrafting

u/phao · 1 pointr/algorithms

You can come back to it later, yes. Why though? You'll need them "now", won't you? I mean, you're going through the book (Skiena's) now, not later. Isn't that right? If you learn it now, you will go through the book better equiped to get its message.

And, besides, it isn't that difficult. It's not trivial by any means. You can try some alternative resources.

  • MIT has a course on math for CS, which include several topics which serve as a foundation to, among many things, proving things correct in CS. I don't believe the course will directly help you, but it seems worth to take a look (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ - notice the video lectures link on the side).
  • "Foundations of Computer Science", this is a book (http://www.amazon.com/Foundations-Computer-Science-Principles/dp/0716782847/) and they cover the topic of proofs in there too. It's a very good book for all I can remember.
  • Dijkstra's books. He has two books that I know can help you on this: "Structured Programming" (http://www.amazon.com/Structured-Programming-P-I-C-studies-processing/dp/0122005503/) and "The Discipline of Programming" (http://www.amazon.com/Discipline-Programming-Edsger-W-Dijkstra/dp/013215871X/).

    I'm not sure why you're interested in deferring this to later. Personally, I believe having seen how proofs of correctness are somewhat done is way more worth it than seeing the algorithms themselves, although some algorithms are pretty educational (like quicksort and also binary search for example). Because even though you won't prove programs correct in practice, knowing how a proof might be devised helps you in writing programs that are easy to prove, and those have to be simple. The whole idea of structured programming that Dijkstra had in mind was to help with this. It's way more intuitive to reason about "while (i < 10) { <do something> }" than a bunch of goto's. In the while-loop case, you can clearly see that upon termination, i >= 10 is true for example. And you can also clearly derive some properties about the body of the loop inductively by analyzing previous iterations.

    A lot of good readable code techniques can be put in terms of easy to prove code. Like small functions that do very little, are very cohesive, and work collaboratively. Same for objects. It's way easier to prove correct a bunch of small pieces that work together by some simple means of combination, than a huge big thing.

    Good luck.
u/LIFE_SIZE_GIRAFFE · 6 pointsr/Showerthoughts

No, you're confusing wealth and money. Wealth is anything of value, and because people are constantly working to make products and deliver services, wealth is ever-increasing. Money is somewhat of a net sum of zero, but this is not as much of a problem because people can increasingly accumulate wealth.

If you build yourself a house, you have created wealth. No one loses anything from your efforts. If you then choose to sell the house, money will be transferred, but this is incidental and not very important because the buyer of the house can create their own wealth, say, through making trinkets. Them trading their (large number of) trinkets for your house benefits both parties. Money is just a means to trade the wealth created by one person for the wealth created by another. In this example, assuming a fair trade of trinkets to house, both parties are better off, and no one loses wealth.

Because wealth and money are different, everyone can gain wealth without anyone having to lose wealth. Money will change hands, but this is necessary to conveniently trade wealth.

I highly recommend the book Hackers & Painters by Paul Graham. In chapter 7, he discusses this topic at length.

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/adventuringraw · 2 pointsr/learnmachinelearning

I always like finding intuitive explanations to help grapple with the 'true' math. It's really hard to extract meaning sometimes from hard books, but at some point, the 'true' story and the kind of challenging practice that goes with it is something you still need. If you just want to see information theory from a high level, Kahn's Academy is probably a great place to start. But when you say 'deep learning research'... if you want to write an original white paper (or even read an information theoretic paper on deep learning) you'll need to wade deep into the weeds and actually get your hands dirty. If you do want to get a good foundation in information theory for machine learning, I went through the first few chapters so far of David MacKay's information theory book and that's been great so far, excited to go through it properly at some point soon. I've heard Cover and Thomas is considered more the 'bible' of the field for undergrad/early grad study, but it takes a more communication centric approach instead of a specific machine learning based approach.

Um... though reading your comment again, do you also not know probability theory and statistics? Wasserman's all of statistics is a good source for that, but you'll need a very high level of comfort with multivariate calculus and a reasonable level of comfort with proof based mathematics to be able to weather that book.

Why don't you start looking at the kinds of papers you'd be interested in? Some research is more computational than theoretical. You've got a very long road ahead of you to get a proper foundation for original theoretical research, but getting very clear on what exactly you want to do might help you narrow down what you want to study? You really, really can't do wrong with starting with stats though, even if you do want to focus on a more computer science/practical implementation direction.

u/faintdeception · 11 pointsr/learnprogramming

The amount of planning you have to do scales with the complexity of the project.

Professors drill the importance of planning, documentation and unit testing into students because it is extremely important and once you start your career if you're a poor planner it's going to come back to haunt you.

However, when you're working on a simple project that's not intended for public release you don't have to go overboard with docs unless you just want to practice.

My own process usually starts with me jotting down an idea; I find that writing it out helps me to get a better grasp on the overall feasibility.

Once I'm satisfied that I actually have something I can implement I'll diagram the flow of the application, and maybe do some wire-frames.

I usually find that this is enough of a launching pad for a simple personal project.

Professional projects are a different ballgame, because as I said, the amount of planning you have to do scales with the complexity and size of the project. It's in the professional environment that all of the things your professors are teaching you will become really important.

So, to answer what I think was your question,

>So how does one end up with 20 classes connected with each other perfectly and a build file that set everything up working flawlessly with unit test methods that check every aspect of the application?


This comes about more in the implementation phase than the planning phase. I've heard it said that in war "no plan survives contact with the enemy" and you'll find this to be true in software development as well. Even when you plan really well you'll sometimes have to go back to the drawing board and come up with a new plan, but that's just part of the process.

Some books that I recommend on the topic are Hackers and Painters - Paul Grahm and I think every software dev should have a copy of Design Patterns

The former is a collection of essays that might give you some useful perspective on the process of writing software.

The latter is more of a reference book, but it's helpful to become familiar with the patterns covered in the book so that you don't find yourself re-inventing the wheel every time you begin a new project.


As for the other part of your question (apologies for addressing them out of order)

>My new "bottleneck" writing code is the structure. I end up having huge classes with way to many public methods. I might as well just write a script with everything in one file. Almost anyway.. I try to write OO, but I often get lazy and just end up with not very elegant systems I would say.

Don't be lazy, because as you're already seeing, it comes back to bite you in the ass.

As you're writing your code you have to be mindful of the complexity of the project as it grows around you, and you have to periodically take a step back and look at what you've created, and re-organize it. This kind of goes back to what I was saying earlier about no plan surviving enemy contact.

So when you find yourself creating a new class that you hadn't thought about, be mindful of where you put it.

Should you create a new file (yes, of course you should), new folder?

Do you have a bunch of similar classes doing the same thing? Should they inherit from one another?

Be especially mindful of copy and pasting from one are of your code to another, generally speaking if you're doing this you should probably be writing a function, or using inheritance.

It's up to you as the developer to make sure your project is organized, and now-a-days it's really easy to learn how to best organize code by looking through other peoples projects on github, so there's really no excuse for it.

Hope that helps, good luck.

u/TheFakeITAdmin · 2 pointsr/sysadmin

Don't get me wrong- BackTrack, Kali, Pentoo, etc. are all amazing tools but to recommend this to someone coming from a helpdesk role might be a bit much to grasp.
Learning how to work with the distros and the wide range of tools is great but you have to learn about the theories behind analyzing protecting the infrastructure and software.

OP, you might start with some books (these have helped me a lot in my career in security)-

CompTIA Security+ Study Guide (not a bad book and the cert is easy, provides the basics of IT security)

The Basics of Information Security: Understanding the Fundamentals of InfoSec in Theory and Practice (an easy read)

Gray Hat Hacking The Ethical Hackers Handbook (is an intro to the security world and a lot of info, more in-depth)

IT Security is an awesome field and like most IT is has many separate areas within it to learn.
Check out the links below for more info on training (there are others available these are just ones I've used and SANS has a lot of additional resoures)-

SANS Institute

InfoSec Institute

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/keconomou · 1 pointr/netsec

I was hoping to get specifically into crypto/privacy. I've been learning from these books:

  • http://www.amazon.com/Understanding-Cryptography-Textbook-Students-Practitioners/dp/3642041000

  • http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?s=books&ie=UTF8&qid=1348702359&sr=1-1&keywords=concrete+mathematics

    and supplementing that with the Coursera Cryptography I class

    my eventual goal is to do either information security or penetration testing, but pen testing seems like one of those jobs that sounds great and seems so cool that everyone wants it. Like the job equivalent of planning on being a rock star.

    I've got a working knowledge at least of Java, but no programs to show for it yet (which was the source of my wanting this advice here.)

    Also, I have been doing this without a college, and don't really plan on going to college at any point soon.

    I do want to look into certifications, they were something I've had an eye on, but the opinions on their use is so varied on them I just figured I'd wait to get them until after I had a working knowledge base, then just blow through them to have the piece of paper.

    I've read around that the CISSP takes 5 years to take credit for, and the associates is like 3 or so. While I do want the most laudable one (i've read the DoD/Gov'ts cert requirements and it cares a LOT about the CISSP), That would mean 3-5 years of a catch-22 of not having the job to get the CISSP exp. with, because it would be my only cert so far and I can't take credit for it, therefore I have no certs and can't get exp.

    I've messed around with backtrack and armitage, and got through as much of Hacking Exposed (6th edition) to know at least the process, but haven't applied any of it and it seemed like it might be better to learn how things work before subverting details and breaking protocols for fun and profit.

    I do plan on getting the CISSP, but I'm not gonna start that process until I already have a job in the field i can use as experience to get more jobs, otherwise I'll just be sitting on my hands.

    Does that all seem alright, or do you have any advice? Sorry for talking your ear off, if that's what i did just now.
u/Elynole · 4 pointsr/gamedev

The application that you're trying to make (per you, similar to Futhead.com) is data-centric, and therefore, I'd say it'd be about time for you to learn proper data storage, manipulation and querying.

If you're looking to build anything near this website, then you're probably going to want to start learning SQL - as you'll most likely be doing complex queries for your site.

I would check out CodeSchool's SQL courses, it's a slow, easy course covering the basics of the language.

Once you feel comfortable querying data, start learning a database technology. If websites will be your aim, then I suggest MySQL just due to the infinite number of resources that are MySQL and web related. (My preference is Postgres, but the tutorials revolving around Postgres and web development are much less common, however the official documentation for Postgres is much better than MySQL).

Play around with the database, learn to create some tables, insert some data, query the data, etc. When you're ready to take the next step, I'd encourage you to pick up the book Database Design for Mere Mortals. It's a great entry-level resource into learning relational database theory and its practical application.

Once you've learned to store your data, manipulate your data, and query your data then throwing the data you currently have in your excel spreadsheet will be a breeze. As will connecting your site/application to the database.

I do not recommend programming around parsing an excel spreadsheet if you're at all serious about this project.

u/FieldLine · 1 pointr/PurplePillDebate

>And that's something that puzzles me. All these AI guys searching for the Secret of ConsciousnessTM, and no one ever stopping to ask, hey, what if there is no secret?

To be fair, there isn't much active research being done among computer scientists in private industry to search for the Secret of Consciousness^TM (as far as I know). While it's cool to dream about futuristic robots and computers that can pass the Turing Test, there isn't much money to be found by directly developing a generalized AI, and academics for the most part don't produce shit in the way of practical science. So private industry focuses on generalizing algorithms only to the extent of performing a specific task, while guys like me hope that eventually these tasks will become general enough that we can arbitrarily decide that we've created a strong AI.

>What if there is no strong AI barrier other than computational limits of modern computers?

>Every time we figure out how the brain does something, we find brute-force computation rather than sophisticated algorithms.

Once you move into the realm of practically unlimited computational power you can dispense of algorithms altogether. But where's the elegance in that?

It reminds me of a funny historical note that took place during the development of Fourier Analysis. While mathematicians were trying to prove the convergence of Fourier series, dragging around the Dirichlet Kernel in all their proofs, the engineers were perfectly happy using the dirac delta approximation. 30 years later when the mathematicians finally came up with a formal proof that allowed them to use the dirac delta approximation as well and were like "look how awesome this is", the engineers were like "duh, where have you guys been."

Point is, there's no elegance in saying that the Secret of Consciousness^TM lies in a brute force approach. That would be admitting that our brains, as awesome as they are, are just glorified roombas.

I'm just an EE guy who likes algorithms on the side, but as a real computer scientist you can probably answer this better than I can - if we disregard computational efficiency, can't every algorithm be explicitly programmed simply using an if/else control flow?

For what it's worth, I'm fairly certain that you are correct that the brain isn't wired efficiently, but has the luxury of getting away with it because it has billions of neurons offering a huge advantage in raw computational potential. Not that this statement is worth much, as it is just a gut feeling that I can't back up.

>Every time we get computers to solve a heuristic problem, we cease to think it as belonging to the field of "artificial intelligence".

Disagree. One can draw a distinction between what is and what isn't a learning algorithm, but I would consider a roomba to be a rudimentary artificial intelligence. But that comes down to personal preference and a lack of precise language.

>Would we stop thinking of ourselves as conscious, self-moving minds? Would we dispense with the notion of "free will"? Or would we merely re-arrange the notion of identity?

You can ask these same questions despite the fact that we don't know what's running under the hood of the consciousness machine. If you believe in science then you believe that everything in nature has some kind of logical explanation without the hocus-pocus of religion and morality, even if modern science isn't there yet.

The only question that remains is where it all began. But that's a discussion for another day.

u/karlfreeman · 22 pointsr/ruby

Some great suggestions here around complimentary languages. Let me chime in on the tools. Depending on where you want your career to go deploying Ruby without Heroku wouldn't hurt at all.

  • When to use Varnish / Nginx and why
  • Why Capistrano is a popular way to deploy code
  • How to demonize and monitor ruby processes
  • Why people use Chef
  • Knowing the key difference between how Unicorn scales and Puma
  • Understanding Git, Git merging strategies and having an awarness of Git Flow style branching models
  • etc...

    I've made no assumption on what you already know so please don't feel like you need to know all of this but as Rubyist these are things I look for in candidate's that I hire :).

    PS: I've not included Databases in all of this which I think is obvious to say is important when fleshing out a CV.

    PPS: Two books I would recommend highly (can easily be read on holiday in the sun)

  • Seven Languages in Seven Weeks
  • Seven Databases in Seven Weeks

    Both of these books are fairly light hearted, give you a grounded understanding of the core differences in languages and databases, assume your a programmer already and IMO are very interesting reads for someone that is keen to look at languages from different angles. Prolog == mind blown

    Good Luck
u/hitmanactual121 · 1 pointr/HowToHack

I realize this is an old post, but I figured I would add my two cents in:

If you have no Linux Knowledge, I would recommend these two books:
http://www.amazon.com/Introduction-Unix-Linux-John-Muster/dp/0072226951

http://www.amazon.com/Introduction-Linux-Manual-Student-Edition/dp/0072226943/ref=pd_bxgy_b_text_y

I would also recommend getting a book on windows server:
http://www.amazon.com/Mastering-Microsoft-Windows-Server-2008/dp/0470532866

After going over those you should have a fundamental understanding of Unix/Linux

Then I would recommend this if you need to brush up on your basic networking knowlege:

http://www.amazon.com/CompTIA-Network-Deluxe-Recommended-Courseware/dp/111813754X/ref=sr_1_1?s=books&ie=UTF8&qid=1369292584&sr=1-1&keywords=network+%2B+delux+guide

Some security theory wouldn't hurt: I'd recommend these in no particular order:

http://www.amazon.com/The-Basics-Information-Security-Understanding/dp/1597496537/ref=pd_rhf_se_s_cp_7_FHWA

http://www.amazon.com/gp/product/1597496154/ref=s9_simh_se_p14_d0_i6?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=auto-no-results-center-1&pf_rd_r=6289C56ED33B4C108B60&pf_rd_t=301&pf_rd_p=1263465782&pf_rd_i=itia2300

And now we actually start getting into penetration testing:

http://www.amazon.com/Metasploit-The-Penetration-Testers-Guide/dp/159327288X/ref=pd_rhf_se_s_cp_3_FHWA

http://www.amazon.com/The-Basics-Digital-Forensics-Getting/dp/1597496618/ref=pd_rhf_se_s_cp_6_FHWA

http://www.amazon.com/Advanced-Penetration-Testing-Highly-Secured-Environments/dp/1849517746/ref=pd_rhf_se_s_cp_8_FHWA

http://www.amazon.com/Nmap-Network-Scanning-Official-Discovery/dp/0979958717/ref=pd_rhf_se_s_cp_10_FHWA



Full disclosure: I have used all these books in my studies. I am not affiliated in any way with these authors, this also isn't something you can just "master" in 24 hours; you may however learn a few cool tricks early. My advice would be to keep at it, not only read these books, but setup Virtual environments to test these concepts in.

Those books I listed should give you a fundamental understanding of: Linux, Windows server, Networking, Information security theory, computer forensics, and basic penetration testing.

I would also recommend you take up a scripting language, Python is pretty simple to learn if you haven't already, and insanely powerful in the right hands.

Oh, one thing I forgot. NEVER EVER EVER run Kali linux as your primary distribution, setup a duel-boot and use something like Debian as your "casual" computer, and then souly use Kali or backtrack as your "Network security distro"

Ninja edited by myself


u/33virtues · 7 pointsr/Antshares

hey folks. been really enjoying chatting with some of you here on reddit and on slack. Slack (and here too) has really been exploding in numbers over the past few days. Watching the Western community come together and engage our ambassadors from the East reminds me of a book I read when I was younger called Emergence: The Connected Lives of Ants, Brains, Cities, and Software

"An individual ant, like an individual neuron, is just about as dumb as can be. Connect enough of them together properly, though, and you get spontaneous intelligence. Web pundit Steven Johnson explains what we know about this phenomenon with a rare lucidity in Emergence: The Connected Lives of Ants, Brains, Cities, and Software. Starting with the weird behavior of the semi-colonial organisms we call slime molds, Johnson details the development of increasingly complex and familiar behavior among simple components: cells, insects, and software developers all find their place in greater schemes.

Most game players, alas, live on something close to day-trader time, at least when they're in the middle of a game--thinking more about their next move than their next meal, and usually blissfully oblivious to the ten- or twenty-year trajectory of software development. No one wants to play with a toy that's going to be fun after a few decades of tinkering--the toys have to be engaging now, or kids will find other toys.

Johnson has a knack for explaining complicated and counterintuitive ideas cleverly without stealing the scene. Though we're far from fully understanding how complex behavior manifests from simple units and rules, our awareness that such emergence is possible is guiding research across disciplines. Readers unfamiliar with the sciences of complexity will find Emergence an excellent starting point, while those who were chaotic before it was cool will appreciate its updates and wider scope."



With aligned economic incentives we're building the next generation of blockchain tech together, and we all get to witness it in realtime. What a unique moment in history, a first. Sell if it's painful, we'll support you when you buy back lower (or higher lol). Hopefully we can still stay focused on the long-term payoff but the immediate goals. Whether it's Neo or not (that depends largely on us and what our emergent collective behavior is), I'm pretty confident that self-assembling organizations utilizing the blockchain is how we solve a lot of the world's pressing issues. This is how we win.

u/iguot3388 · 1 pointr/AskReddit

I noticed most of these posts are about fiction. I feel like all the books I read change my life, but the biggest ones that changed the way I look at the world have been:

Pop Science books by Steven Johnson (Emergence, Everything Bad is Good For You, Where Good Ideas Come From) and Malcolm Gladwell (Blink, Tipping Point, Outliers). These books changed all of my preconceived notions, and gave me a drive to search for intelligent outside perspectives. Emergence was especially influential. I approach Emergence in an almost religious way, you can see "God" or whatever you would call it, in Emergent intelligent behavior, a more science-friendly conception of God, I feel the same way when I watch Koyaanisqaatsi.

A Brief History of Everything by Ken Wilber. Most people either like Ken Wilber or hate him. To me, he gives a good model of looking at religion, spirituality, science, society, myth, and the way different people think similar to Joseph Campbell. If you ever wonder why religious people think a certain way, and scientific people and postmodern philosophers think a different way, this is the book.

The Shock Doctrine by Naomi Klein. I didn't even finish this book because I got to depressed. It may be pretty biased, but it is really one of the best geopolitical books out there. I learned everything I needed to know about foreign policy and the economic conflict going on around the world.

EDIT: Another great one is The Book by Alan Watts

u/spgamer21 · 0 pointsr/unpopularopinion

> Anybody can sing but not everybody can sing well, that is a skill that takes practice.

Anybody can sing and anybody can sing well but not everyone is born with a good voice plus it takes luck to land yourself to music industry. Good voice is not equal to success. Some of the best voices I have heard on x Factor went completely unsuccessful. Luck, luck and luck + Skills! However, YouTuber need LUCK not skills. Completely irrelevant to what I was saying originally. You are just pushing me to the edge and trying to win. I will advice you to stick to your OP aka "Is Youtuber hard work?". If not, I will not bother replying.

> do not believe you can do what PewDiePie does

I can scream louder than PewDiePie.

> MOST people who work on YouTube make below minimum wage

Really? Source please? Anyway, irrelevant to HARD WORK. IRRELEVANT TO WHAT I SAID! SERIOUSLY! DO YOU EVEN KNOW HOW TO DISCUSS!? angry.gif



> editing, acting, writing/scripting, directing, producing

  • YouTube editing is easy. If you think it's hard then it's your problem..

  • YouTube acting is not acting. I hope you are not serious.

  • Nobody writes scripts on YouTube. Even Smosh don't. VSauce reads everything off wikipedia. AsapScience reads everything off books they are about to advertise. I'm not saying it's not okay but it's definitely not hard work when compare to a real job.

  • You know what directing mean?

  • Producing what?


    You wrote such a loooooong post for what? To defend them with no.. umm.. no logic? I'm speechless. I really am.
    Btw, I am not anti-YouTuber. I sound like one becaues you are Pro YouTuber who think they work hard.


    I am a programmer but I don't whine how my job is hard. However, now I'm going to whine to you. I work on game engine graphic programming side and it is really really really tough. I need to study a lot and get a lot of new skills or I am fired.

    What is my everyday life is like?

  • Wake up at 6:00am, Take shower, eat, morning exercise blah blah blah..

  • Go to work at 9:00am.

  • Solve new programming related problems. Lots and lots of math, geometry and physics(for lighting).

  • 1:30pm eat lunch with co-workers who are my only friends because of my full-time job and talk about science(We love talking about alien and simulation world).

  • Good! No overtime today! 7:00pm get home with headache. Study new technology. OH, new version of vulkan is released? Time to STUDY and impress my BOSS! If I don't, I will never be a senior game engine programmer.

  • Eat dinner say goodnight to MYSELF and sleep. :/

    You see? An average YouTuber have nothing to do and spends most of his time whining how media is insulting them and how they work hard for nothing and haters gonna hate bullshit blah blah blah.. huh.



    PS: I only earn around $4000 a month! Companies prefer using their money to advertise their games using YouTubers. Who does nothing other than scream at top of their lungs and here are people like you who call it a hard work.. Try reading this book from amazon using "look inside". You will learn that there is so much to learn before you can even get into a game engine programming job! It is just one of 25 books.

    PPS: This is what whining is like.


    Edit:

    > I downvote ignorance, sorry.

    Funny how the ignorant one is you.
u/pstryder · 2 pointsr/atheism

Actually, you are quite behind. The research of the past 10 years has made astonishing strides in deciphering the way the brain works.

For instance: The old 'we only use 10% of our brain' myth. Completely shredded. Almost our entire brain is active while we are concious, and much of it is active while we sleep.

The idea of 'this part does x, and this part does y' has been shown to be inaccurate in many cases. a lot of lower level functionality is region specific, but much of our higher order thinking process lights up MANY regions of the brain.

Basically, the thinking is that consciousness is an emergent property, (a result that is more complex than the sum of it's parts. I recommend this book as a primer on the concept.)

Each neuron makes VERY simple decisions based on it's local environment, and then executes an action, that changes the local environment of the neurons it is wired to. As these reactions happen concurrently among trillions of neurons simultaneously, the result is something far more complex than the simple decision made by any single neuron.

The principles have been applied to many fields of research and is yeilding some very interesting results.

A picture is emerging of a brain that while having certain regions specialized for various tasks, is very flexible and processes information throughout, rather than a specific area being responsible for consciousness. Certain areas are of course more important than others, but it takes a whole brain to produce a whole consciousness.

While exciting, this research has also shot down some favorite Sci-Fi ideas. For instance: the odds are EXTREMELY low that something like the Matrix, (downloading skills directly into a brain) is even remotely possible.

The brain is a highly adaptive neural network, showing extreme variability between individuals, and environments. There's some really interesting work done in the past few years indicating that certain training actually re-wires the brain. (programming or mathematics, for example.)

The general scientific consensus at this point is that there is no way for any kind of consciousness to survive after death, as consciousness requires a physically alive and functioning brain to be manifest as an emergent property.

(Side note: this research also forces us to re-consider exactly what we consider consciousness. I remember being told as a child that lower life forms, (dogs, cats, etc) do not have anything we would recognize as consciousness. The recent research shows that consciousness as we experience it is not a binary condition, (you have it or don't) but an analog condition. (a sliding scale from simple stimulus response up to experience as we know it.))

u/katyne · 3 pointsr/learnprogramming

Head First is a good introductory book. Super easy and fun to follow, they use a lot of analogies and visual aids while being light on "heavy" terminology, so you don't feel overwhelmed. It's a great intro book and you shouldn't worry about it being outdated, they don't get into specifics they just explain the basic concepts of OOP and Java syntax (and that hasn't changed since 2005 :) However this book alone is not enough if you're serious about Java development, - especially if you want to develop for a compex framework like Android, a more serious follow-up is required. Something like Data Structures and Algorithms in Java or Program Development in Java. Just don't buy the expensive late editions, I assure you Java hasn't changed much since 2000s, they mostly just keep adding libraries, something you shouldn't worry about for now. ).

u/Pirsqed · 1 pointr/AskReddit

I know you already mentioned Huxley, but I have to first say Brave New World. Just because, man, nothing else could have really opened my eyes to a relative morality at such a young age. "Let's just purposefully grow people. Then let's have them embrace their sexuality at a really young age. Oh, and there are these other 'savages' that practice many of the old ways. We don't talk about them much. Oh, and all the old religion got mashed up when we put all the people together, so they sort of worship this Christ type mother earth type thing. It's cool. They're fine."

Then there's The Metamorphosis of Prime Intellect (click for online free version published by the author.)

Where do I start with this book? First, I would say it's both sexually and violently graphic. That's not the point, though. The point is: What happens when we actually do have a god that can, and will, give us whatever we want? Whatever we want, that is, except death. Everyone is immortal and everyone can invent their own world to live in. What happens? Really really good stuff. A short book, but just blew my mind.

Finally, I'm finding it hard to decide between Classic Feynman: All the Adventures of a Curious Character, The Information, and Freakonomics. Each of these really expanded the way I think of things and how I look at the world around me. I'd recommend any one of them, it just depends on what you're interested in.

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/BarnabyCajones · 9 pointsr/slatestarcodex

I first came across him as a wide ranging essayist sometime shortly after the first dot com crash (where he made a bunch of money). I actually remember when Graham started writing essays about startups; I was pretty annoyed, because I really enjoyed a lot of his essays before that point, and the startup stuff struck me as much less interesting. To be honest, when I first came across Scott, my first reaction was that he kind of reminded me of Graham at his best, in his prior-to-startup essayist phase. Take that for what it's worth.

I'm thinking here of essays like Grahams "Why Are Nerds Unpopular", for example : http://www.paulgraham.com/nerds.html

I would say that the thing that stuck out to me about Graham during that phase was that he was clearly a very sharp programmer, but he also was very interested in society and culture and thought about them in a way that was interesting and often surprising, more like a really sharp pundit with a more humanist orientation than most smart programmers I know. Even when he was generalizing, which he often was, he'd be working around some big idea that would linger after the end of his essay.

A curated selection of his essays is here : https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554

u/[deleted] · 1 pointr/nova

> Meneed - what do you want to do in Cybersecurity? What is your current work experience? What high-level things are you good at? What's your personality like?



Pen testing. My work experience is not IT/security related. Depends on what you mean by high level? I'm good at the job I had in the military (again, not IT/security related but it isn't infantry or anything like that). I like to learn and participate. This is why I was looking for something resident.

> There are MANY different roles and career paths in "Cybersecurity". I'd suggest talking to people in the field, find out what they actually do, and figure out what sort of work you gravitate toward the most. Some disciplines are highly technical - others are less so. Figure out where you want to go before you start.
> I recommend picking up a copy of this book - I've shared this with interns and some past IT colleagues who were looking to get into infosec. Easily digestible, broad but not deep, gives you a good intro and frame of reference for stepping into deeper water.
> https://www.amazon.com/dp/1597496537/ref=cm_sw_r_cp_ep_dp_Fq9kybAWZ5HMN

Will look into it

u/grandzooby · 4 pointsr/compsci

Not exactly hardware focused, but I really enjoyed Gleick's "The Information, A History, A theory, A flood"

http://www.amazon.com/The-Information-History-Theory-Flood/dp/1400096235/

It does a great job of looking at computing in terms of information and its history. I loved the look at prominent figures like Babbage, Lovelace, Turing, etc.

u/lurking_quietly · 3 pointsr/askmath

Thanks for the explanations! For a legal link to this text, here's Amazon's (US) page for Elements of Information Theory, Second Edition by Cover and Thomas.

>First, entropy is always positive, so you are indeed correct that those values should not be negative. Second, those values given are not relative entropy, but conditional entropy.

In the original paper to which OP linked, the last line reads

>Since [; H(C|X_2) > H(C|X_1), ;] the second component is more discriminative.

As I understand it, you're explaining that entropy is always positive, so these values were computed incorrectly with respect to sign. Accordingly, this would mean that [; H(C|X_1) \approx 0.97 > 0.72 \approx H(C|X_2), ;] instead, right? (Or does the FUBARness extend to these computations, too?) And in general, is the claim that [; H(C|X_i) > H(C|X_j) ;] implies that [; X_i ;] is the more discriminative component still true? (Or again, more FUBARness?)

Oh, and OP (/u/hupcapstudios)? This is a response from someone who actually understands this material. By contrast, I was just trying to apply formulas semi-blindly, aided by a little Googling.

u/binxabinx · 10 pointsr/math

So, basically, I've gone through roughly the same arc of interests as you. Math major, got into graphic design, got into web design, got into programming, started wondering how I was going to tie it all together. Luckily, my school's honors program offers students the opportunity to design their own thesis, regardless of what major you come from. So, I did mine in:

Data Visualization. The point of this is to take data (math!) and represent it (programming!) in a simple, understandable, and elegant manner (design!). I love it. I feel like it's my calling. No idea if you'll be drawn it it as much as I am, but here's some links to browse through:

u/knotdjb · 6 pointsr/crypto

Being a "techy" isn't really useful with learning and understanding crypto. There's many cryptographers that are mathematicians who barely use computers. Cryptography is a multi-faceted discipline but the typical divide is between mathematicians and computer scientists.

So having a foundation in math & computer science is very useful.

In any case, Simon Singh's book is a good introduction. It is a pleasant read but a bit fluffy.

Although not specifically crypto, I would start with Network Security by Kaufman et al. It primarily discusses network security but gently introduces some cryptography primitives.

Another book from a mathematician perspective is this book.

Then there's joy of cryptography which is a formal treatment using a notion of provable security (a bit of a different take to Katz & Lindell Modern Cryptography), which computer scientists tend to have a boner for.

u/FeepingCreature · 1 pointr/raytracing

> You'll need a renderer, acceleration structure, scene manager, main class, and object loader at the very least.

Strictly speaking imo you just need render loop and scene graph.

struct Ray { Vector3f start, direction; }
class SceneObject { RenderHit trace(Ray&); }

and

SceneObject& world = ...;
for (y = 0; y < 480; y++) {
for (x = 0; x < 640; x++) {
auto ray = pixel_to_ray(x, y);
auto hit = world.trace(ray);
PutPixel(x, y, hit.emissive_color);
}
}

Then doing acceleration is as simple as adding a BoundingBox object. You can add a scene loader, but you don't really need to; you can just build your scene manually. (This strongly depends on if you want to load existing .objs and the like or build your scene manually, PoVRay style.)

Re BRDFs, just use diffuse to start, it looks reasonable and is trivial. Just get something pretty rendering, then iterate.

If you want a dirt simple scene description format that's trivial to parse, I've had good experiences with something Forth based. You just need identifiers and numbers, there's basically zero high-level grammar to parse. S-expressions are also easy, they're basically just nested arrays or identifiers. Or you can just grab a library and use JSON or XML.

Forth example:

skyground.sky = Y 0- Y 10 plane V1 shine V0 color
skyground.ground = Y V0 plane 0.6 0.4 0.4 vec3f 0.4 0.4 0.6 vec3f checker
skyground = ( -- obj ) sky ground group

Lisp (S-expression) example:

(let
((scene
(group
(plane +Y -Y)
(sphere (vec3f 0 0 5) 1)
(color black (shine white (plane -Y (
100 Y))))))
(scene' (fuzz (pathtrace 10 scene))))
(render scene')))


Also if you have a lot of money to splurge, Physically Based Rendering: From Theory To Implementation has everything.

Oh by the way: path tracing is trivial to implement and makes your image look a lot better. (Also render a lot slower, but them's the breaks.) Just add random rays in addition to your shadow rays.

u/OceansOnPluto · 5 pointsr/compsci

This is a little less scholarly and a little more geared towards history, but it's a fascinating read and one of the best books I've read in the last couple of years. It doesn't start with Claude Shannon, but rather with different ways that human beings have disseminated information to each other (talking drums, the telegram, etc), over the years. Definitely, after you're done with everything else, put this on your list, it's great.

Edit: Apparently I forgot the link. http://www.amazon.com/The-Information-History-Theory-Flood/dp/1400096235

u/misplaced_my_pants · 2 pointsr/learnmath

Well there are a lot of useful links in this /r/math post (check the comments, too).

In addition to Khan Academy, there's MIT OCW, Paul's Math Notes, and PatrickJMT. There's also the Art of Problem Solving books.

But really, you don't need to watch calculus videos if you're going to take classes this summer. Your time might be better spent doing the exercises on Khan Academy to make sure there aren't gaps in your knowledge.

I highly recommend books by James Gleick, specifically Chaos, Genius, Isaac Newton, and The Information. Also, Polya's How to Solve It, GEB (join us in /r/geb!), and GH Hardy's A Mathematician's Apology. Here are some lists of popular math books.

You might find this collection of links on efficient study habits helpful.

u/OSUTechie · 2 pointsr/ITCareerQuestions

Yes, most Gov jobs require at least Sec+.

Depending on how much you did as an LEO you may look into computer forensics. Network Security etc. You may also want to beef up knowledge of networking as well. So either the Net+ and/or CCNE cert.

Books are always a good place to start. I don't know about this one but have read a few other books by this publisher that have been pretty good.

Ones I have read/skimmed:

u/ABC_AlwaysBeCoding · -2 pointsr/webdev

Been doing webdev for at least 20 years.

In 2000 I started on ASP then ASP.NET, on SQL 7 and IIS. Then, somehow, the fact that every solution allowed or even discussed had to come from Microsoft finally started to nauseate me around the time I read the book The Cathedral and the Bazaar, which I recommend to everyone.

What sealed the deal was then reading Hackers & Painters by Paul Graham. Both of these books were sort of life-changing.

Quit my corporate job and went open-source (no easy feat) and never looked back. Open source cookies just taste better than Microsoft cookies.

The fact that Microsoft finally "found religion" here is practically irrelevant. Same bad-cookie taste. They still want all your monies to belong to them.

Programming within a walled garden with one entity making all the money off it... I realized that that's not really in the spirit of programming, frankly. The pioneers of Open Source were correct. That is the way forward for us. Well, most of us with free-spirited hearts and souls, anyway.

Microsoft still gives me nausea. I really wish my gaming computer didn't have to be Windows. At least OS X has some open-source parts, and then there's Linux and Debian and FreeBSD and all the other open source derivatives.

Just stay far, far away from PHP. /opinion /endrant

u/ericGraves · 3 pointsr/askscience

This is a truly great answer.

To be clear though, your friend may or may not actually be correct. It comes down to what he said exactly. The amount of information per symbol is based entirely on the noise distribution, and not changed by bandwidth. If your friend said the capacity of the channel, instead of data rate, then yes he is correct. But if he used the exact words of data rate, then he is wrong. There is a lot going on here, so I will give you an overview.

There are two distinct parts that give us BW log2(1+S/N), the first being the maximum (symbols/second) which you can send symbols over a channel without incurring ISI, which is 2 BW, and the second being the channel capacity (bits/symbol) of a gaussian noise channel 1/2 log2(1+S/N). The channel capacity is not actually a function of the bandwidth. But channel capacity is something devoid of the concept of frequency.

The product of these two, giving us bits/second, is BWlog2 (1+S/N). This term is often confused with capacity, which it is not. This is the maximum capacity of the model given we wish to avoid ISI. Thus in practice, the actual bits/second very much does depend on bandwidth. In fact the relationship is linear.

Honestly, though, entering into a debate on this subject should be approached first by jumping into the subject of communications. If you really want to converse on this subject, you will first need to learn digital signal processing and information theory. Those are the two entry level texts in the field. Although you may be able to find them both by just google searching.

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/kyoseki · 5 pointsr/vfx

No problem.

A solid understanding of python & logic also helps, but 90% of the dicking around you'll be doing will be in VEX, which is pretty much just vector math.

The handy thing about Houdini is that geometry operators and shaders are both written in the same language, so you can prototype operations in SOPs and then copy/paste the code/VOPs to the shader context and as long as you remember to handle the space transforms (shaders default to camera space, SOPs default to object space) everything just works.

This masterclass on fluid solvers is fantastic, it's what made DOPs really click for me, this is a good example of the math;
https://vimeo.com/42988999

Other books worth reading;
https://www.amazon.com/Fluid-Simulation-Computer-Graphics-Second/dp/1482232839/ref=sr_1_1?s=books&ie=UTF8&qid=1480804002&sr=1-1&keywords=fluid+simulation+for+computer+graphics+second+edition - full explanation of how fluid solvers work internally, probably overkill for most artists, but helpful if you want to break things, namely FLIP & Pyro.

https://www.amazon.com/Advanced-RenderMan-Creating-Pictures-Kaufmann/dp/1558606181 (this is quite old and deals solely with the old REYES algorithm, but contains a lot of information on how renderers work internally and a lot of it applies to VEX, which was designed to be very similar to RSL).

https://www.amazon.com/Physically-Based-Rendering-Third-Implementation/dp/0128006455/ref=sr_1_1?s=books&ie=UTF8&qid=1480803895&sr=1-1&keywords=physically+based+rendering This is an explanation of the workings of physically based renderers, but it's quite heavy going.

u/HasFiveVowels · 1 pointr/IAmA

To anyone interested in reading about this stuff, I'd very highly recommend "The Information" by James Gleick. It's probably my second favorite book and discusses information starting with African tribal villages sending messages with drums, going through to the telegraph, Shannon's creation of Information Theory, etc. A decent amount of the book is dedicated to Shannon and it's generally a great read.

u/dajigo · 1 pointr/hardware

There's an excellent, inexpensive book I love on the topic. Introduction to information theory: symbols, signals, and noise. I strongly recommend it.

Edit: You don't need to be an expert in maths to get the gist of the book, the exposition is great.

u/JamesR · 5 pointsr/programming

In Hackers & Painters, Paul Graham submits that hacking is more art than science. I think probably that's true of great hacking, but for many people I've worked with it's a means to an end like you say, not a form of creative expression.

I'm not a great hacker (I've also worked with great hackers so I know what their work looks like), but I still relate to Graham's essay quite a bit and try to make code that I and others think is beautiful.

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/accretion · 2 pointsr/atheism

In the book The Information: A History, A Theory, A Flood James Gleick has a really good description of a meme. He obviously talks about Dawkins' usage relating to genes from The Selfish Gene, but further extends this to the idea of ideas. In our reddit-world, this manifests itself as the memes we all know and love. In real life, a meme could further be things such as cliches, a popular song, a propagated symbol (i.e. mcdonald's arches) etc.

What I'm getting at is that here at r/atheism, Dawkins is a meme, (even before this picture of him with big white text that people will edit into funny sayings) because to many of us here he represents the idea of atheism and we talk about him all the time.

u/Lehona · 3 pointsr/programming

Yeah, he's visiting the US frequently but is currently in Germany (who knows when he'll leave again, though).

I can recommend his book as well: https://www.amazon.de/Understanding-Cryptography-Textbook-Students-Practitioners/dp/3642041000

It's a really good introduction to cryptography for beginners, very easy to understand the fundamentals.

u/FxChiP · 2 pointsr/pics

According to Information: A History, A Theory, A Flood by James Gleick (which seems to have gotten some of this information from Claude Shannon et. al.), it's at least partially because the English language (and quite a few other forms of communication) have a fair amount of redundancy built in to ensure that the intended message gets across one way or another. There's an expectation fulfilled by most of the given text (and also by cultural influence, I think) there that the message is, in fact, supposed to be a certain way. Maybe that's stating the obvious, but similar messages have been reinforced so much that we can probably recognize dick-boasting by, well, only four or five letters and possibly a space.

... Maybe someone else can explain better than I have. (Still a really good book though.)

u/RomashkinSib · 3 pointsr/crypto

Implementing SSL/TLS

https://www.amazon.com/Implementing-SSL-TLS-Joshua-Davies/dp/0470920416/ref=sr_1_4?keywords=openssl&qid=1550253200&s=gateway&sr=8-4

practical guide to implementing SSL and TLS. All examples are written in C with the implementation of DES, AES, RC4, Large Integer Arithmetic, RSA, Deffie-Hellman, HMAC, DSA, Elliptic Curve, X.509.

​

For me, the best theoretical books on cryptography, but without deep immersion in mathematics:

Understanding Cryptography: A Textbook for Students and Practitioners

https://www.amazon.com/Understanding-Cryptography-Textbook-Students-Practitioners/dp/3642041000/ref=sr\_1\_1?crid=3700J8SGJK4QP&keywords=understanding+cryptography&qid=1550253725&s=gateway&sprefix=Undes%2Caps%2C295&sr=8-1

and it goes better with video lectures https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg

​

A good book on cryptanalysis for symmetric algorithms:

The Block Cipher Companion (Information Security and Cryptography)

https://www.amazon.com/Cipher-Companion-Information-Security-Cryptography/dp/3642173411/ref=sr_1_fkmrnull_1?crid=NNR5L5I1VYK2&keywords=block+cipher+companion&qid=1550253926&s=gateway&sprefix=The+Block+cipher+%2Caps%2C340&sr=8-1-fkmrnull

​

good exercise: http://cryptopals.com/

​

u/Quinnjaminn · 3 pointsr/cscareerquestions

Copy pasting my response to a similar question:

Edited to have more resources and be easier to read.

It's hard to draw the line between "essential" and "recommended." That depends a lot on what you want to do. So, I will present a rough outline of core topics covered in the 4 year CS program at my university (UC Berkeley). This is not a strict order of topics, but prerequisites occur before topics that depend on them.

Intro CS

Topics include Environments/Scoping, abstraction, recursion, Object oriented vs functional programming models, strings, dictionaries, Interpreters. Taught in Python.

The class is based on the classic MIT text, "Structure and Interpretation of Computer Programs." Of course, that book is from 1984 and uses Scheme, which many people don't want to learn due to its rarity in industry. We shifted recently to reading materials based on SICP, but presented in python. I believe this is the reading used now. This course is almost entirely posted online. The course page is visible to public, and has the readings, discussion slides / questions and solutions, project specs, review slides, etc. You can find it here.

Data Structures and basic algorithms

DS: Arrays, Linked Lists, Trees (Binary search, B, Spaly, Red-Black), Hash Tables, Stacks/Queues, Heaps, Graphs. Algorithms: Search (Breadth first vs depth first), Sorting (Bubble, radix, bucket, merge, quick, selection, insert, etc), Dijkstra's and Kruskal's, Big-O analysis.

This class uses two books: "Head First Java" and "Data Structures and Algorithms in Java" (any edition except 2). The class doesn't presupposed knowledge in any language, so the first portion is covering Object Oriented principles and Java from a java book (doesn't really matter which), then moving to the core topics of data structures and algorithms. The course page has some absolutely fantastic notes -- I skim through these before every interview to review. You can also check out the projects and homeworks if you want to follow along. The course page is available here (note that it gets updated with new semesters, and links will be removed -- download them soon if you want to use them).

Machine Structures (Intro Architecture)

Warehouse scale computing (Hadoop Map-Reduce). C language, basics of assemblers/compilers/linkers, bit manipulation, number representation. Assembly Language (MIPS). CPU Structure, pipelining, threading, virtual memory paging systems. Caching / memory hierarchy. Optimization / Performance analysis, parallelism (Open MP), SIMD (SSE Intrinsics).

This class uses two books: "The C Programming Language" and "Computer Organization and Design". This class is taught primarily in C, so the first few weeks are spent as a crash course in C, along with a discussion/project using Map-Reduce. From there in jumps into Computer Organization and Design. I personally loved the projects I did in this class. As with above, the lecture slides, discussion notes, homeworks, labs, solutions, and projects are all available on an archived course page.

Discrete Math / Probability Theory

Logic, Proofs, Induction, Modular Arithmetic (RSA / Euclid's Algorithm). Polynomials over finite fields. Probability (expectation / variance) and it's applicability to hashing. Distributions, Probabilistic Inference. Graph Theory. Countability.

Time to step away from coding! This is a math class, plain and simple. As for book, well, we really didn't have one. The class is based on a series of "Notes" developed for the class. When taken as a whole, these notes serve as the official textbook. The notes, homeworks, etc are here.

Efficient Algorithms and Intractable Problems

Designing and analyzing algorithms. Lower bounds. Divide and Conquer problems. Search problems. Graph problems. Greedy algorithms. Linear and Dynamic programming. NP-Completeness. Parallel algorithms.

The Efficient Algorithms class stopped posting all of the resources online, but an archived version from 2009 has homeworks, reading lists, and solutions. This is the book used.

Operating Systems and System Programming

Concurrency and Synchronization. Memory and Caching. Scheduling and Queuing theory. Filesystems and databases. Security. Networking.

The Operating Systems class uses this book, and all of the lectures and materials are archived here (Spring 2013).

Math

Those are the core classes, not including about 4 (minimum) required technical upper division electives to graduate with a B.A. in CS. The math required is:

  • Calculus 1 and 2 (Calc AB/BC, most people test out, though I didn't)

  • Multivariable calculus (not strictly necessary, just recommended)

  • Linear Algebra and Differential Equations.

    Those are the core classes you can expect any graduate from my university to have taken, plus 4 CS electives related to their interests. If you could tell me more about your goals, I might be able to refine it more.
u/SheepHurrDerr · 1 pointr/UCONN

I took most of these classes last semester so I might be able to help.

2100: I think the book will depend on the professor for this class, but mine was [this] (http://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/ref=sr_1_1?ie=UTF8&qid=1425927129&sr=8-1&keywords=data+structures+and+algorithms+in+java) one. If you could avoid taking it with Huang I would, he's pretty bad and makes the class a lot more painful than it needs to be.

2300W: I'm assuming Keith Barker is going to be the only one teaching this class again, which is good because he is a very good and fair teacher. I don't remember what the book is but you don't really use it anyway so it doesn't matter.

2500: I am currently taking this class with Russell, but I think he's only teaching this class because they changed the format of the class. However if he is teaching it again next semester I would reccomend him, he's pretty good. [Here is the book we used for the first half of the semester.] (http://www.people.vcu.edu/~rhammack/BookOfProof/)

u/p_whimsy · 2 pointsr/laravel

In college we read Database Design for Mere Mortals, and I thought it was pretty amazing (if a bit dry). Helps I had a great professor though.

https://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp/0321884493

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/glancedattit · 1 pointr/visualization

I would check out Ben Fry's book first.

Then Beautiful Visualization.

There is another good McCandless eyecandy.

Manuel Lima did an amazing book on network visualization with excellent essays from other people. Visual Complexity. Network vis is very difficult and if you want to "game up" understanding the taxonomy he built for network vis will give you a real perspective on the taxonomy in other types of vis.

There are things outside of the "take data and render visualization" world that are critical to data vis, imo. For moving data vis, start with the godfather, Muybridge

And look way way back for the long human history of data vis in cartography with stuff like Cartographia.

Hope to see some more books and discvoer a reading list on this thread! Great idea for a post.

u/DiscoUnderpants · 1 pointr/atheism

Hmmm for a biologist I am not really that sure. It is a branch of mathematics mostly statistical... Shannons original book/expanded paper is available here and I have read this but they are very engineery if you know what I mean.

But I think that kind of illustrates the point... creationist types seem to see some profound truth in information theory... but it is really a field developed to deal with the transmission of messages in a general way and dealing with errors in the transmission.The entire reason for it is to come up with ways to minimise errors in message transmission and that is all EEs care about... that they get the same message at the receiver that was sent by the transmitter.

To expand this to biology I suppose you coudl roughly say that the message is the gemone being transmitted down the generations. The the way errors are dealt with is entirely different... selection takes care of the "bad" messages. But evolution as far as I know does nto have the goal to replicate the same information... but rather the opposite.

NINJA EDIT : Clauge E Shannon shoudl be a lot better know for his contributionto humanity.

u/mightcommentsometime · 2 pointsr/math

My favorite relaxing math book was Chaos, Making a New Science by James Gleick

And The Information by James Gleick Was pretty good too.

u/mjedm6 · 3 pointsr/math

They may not be the best books for complete self-learning, but I have a whole bookshelf of the small introductory topic books published by Dover- books like An Introduction to Graph Theory, Number Theory, An Introduction to Information Theory, etc. The book are very cheap, usually $4-$14. The books are written in various ways, for instance the Number Theory book is highly proof and problem based if I remember correctly... whereas the Information Theory book is more of a straightforward natural-language summary of work by Claude Shannon et al. I still find them all great value and great to blast through in a weekend to brush up to a new topic. I'd pair each one with a real learning text with problem sets etc, and read the Dover book first quickly which introduces the reader to any unfamiliar terminology that may be needed before jumping into other step by step learning texts.

u/MotorbikeMacomber · 1 pointr/nova

Meneed - what do you want to do in Cybersecurity? What is your current work experience? What high-level things are you good at? What's your personality like?

There are MANY different roles and career paths in "Cybersecurity". I'd suggest talking to people in the field, find out what they actually do, and figure out what sort of work you gravitate toward the most. Some disciplines are highly technical - others are less so. Figure out where you want to go before you start.

I recommend picking up a copy of this book - I've shared this with interns and some past IT colleagues who were looking to get into infosec. Easily digestible, broad but not deep, gives you a good intro and frame of reference for stepping into deeper water.

https://www.amazon.com/dp/1597496537/ref=cm_sw_r_cp_ep_dp_Fq9kybAWZ5HMN

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

u/Mathemagicland · 9 pointsr/pics

Morse code does take character frequency into account, it just doesn't do so perfectly.

>In the name of speed, Morse and Vail had realized that they could
save strokes by reserving the shorter sequences of dots and dashes for the
most common letters. But which letters would be used most often? Little
was known about the alphabet’s statistics. In search of data on the letters’
relative frequencies, Vail was inspired to visit the local newspaper office
in Morristown, New Jersey, and look over the type cases.
He found a stock of twelve thousand E’s, nine thousand T’s, and only two hundred
Z’s. He and Morse rearranged the alphabet accordingly. They had
originally used dash-dash-dot to represent T, the second most common letter; now
they promoted T to a single dash, thus saving telegraph
operators uncountable billions of key taps in the world to come. Long
afterward, information theorists calculated that they had come within 15
percent of an optimal arrangement for telegraphing English text.

Source: The Information: A History, a Theory, a Flood, by James Gleick

u/EGKW · 1 pointr/Art

Thanks for the upvote. Have one from my side too. :-)
But that certainly isn't a semaphore station but indeed a windmill.
Semaphores and semaphore stations became somewhat popular starting from the end of the 18th century. The Ruisdael-painting dates from halfway the 17th century.
Furthermore (Chappe) semaphores had 2 arms, with 1 articulation each. The Ruisdael windmill clearly has 4 blades or sails.
If you want to learn some more about semaphores and sempahore stations there's an insightful chapter on that subject in James Gleick's book The Information.

u/MrCloudkicker · 2 pointsr/books

I didn't see this listed yet, The Information. Some of the science/math is a bit more intensive, but it still has that great conversational tone, biographical strands, and is very interesting.

u/lisbonant · 2 pointsr/iamverysmart

For a historical and theoretical overview that doesn't get too technical but is still comprehensive and fun to read, I highly recommend The Information by James Gleick. If you dig Zero, I think you'd dig this.

u/_node_ · 1 pointr/learnprogramming

I loved: Hackers & Painters and I think it fits the "about software but not a dry tech spec manual" genre.



Side note: Enjoy CS50 and I highly recommend at least watching CS75

u/multiquine · 5 pointsr/programming

I will accept that the premise of the post is

> In today’s post I will cover which messages we shuffle between
> the server and clients and their purpose, how the game world is
> fundamentally managed, and how we use an Actor class to help
> manage scene objects.

and therefore accept that the post does comply with its expression of intent.

However, I feel that there is something worthwhile to add, namely
expressing how a solution came to be about; in particular, I have always shared Dijkstra's sentiment from the back of A Discipline of Programming, namely

> "A second reason for dissatisfaction was that algorithms are
> often published in the form of finished producs, while the
> majority of the considerations that had played their role during
> the design process and should have justified the eventual shape > of the finished program were hardly mentioned. ..."
>
> — Edsger W. Dijkstra

For me the takeaway of the above quote is that when the design process is missing from the content matter assimilating the knowledge into one's own self becomes the labour of the reader as opposed to the challenge that the author has to overcome, thereby distributing the burden on the many as opposed to the few.

u/JoinXorDie · 1 pointr/datascience

If you want theoretical / mathematical I would suggest reading a few math, stats or engineering books.

Dover is a great place to find some cheaper reading material. They republish old scientific and math texts that were popular in their time in a smaller sized paperback. They're a nice size to bring around with you and they don't cost much.

Math and stats findings of today build on this knowledge, and much of it is still used in state-of-the-art applications. Or, that math/stats is used as part of some state-of-the-art algorithm. Lots of the newest ML algorithms are blending math from a variety of areas.

Statistical analysis of experimental data

Principals of Statistics

Information Theory

Statistics Manual

Some theory of sampling

Numerical Methods for Scientists and Engineers (Hamming)

Mathematical Handbook for Scientists Engineers

Handbook of Mathematical Functions: with Formulas, Graphs, and Mathematical Tables

==

There is also the Data-Science Humble Bundle for more technical / practical skill building.

u/ascii_genitalia · 4 pointsr/askscience

Another relevant wiki for you to consider. Many modern theorists dispute the strong Whorfian hypothesis, where language strictly precedes thought.

I'd also recommend The Information as an interesting exploration of the history of human intelligence.

u/an-anarchist · 5 pointsr/cryptography

Yes and no. If you're asking these questions you'll probably be very interested in Claude Shannon's work. Take a read of his seminal information theory paper: http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf

For an easy read and a fun intro take a look at "The Information: A History, A Theory, A Flood":
https://www.amazon.com/Information-History-Theory-Flood/dp/1400096235/

u/tkfu · 1 pointr/trees

The Information: A History, A Theory, A Flood.

I'm reading it right now (cough, cough), and it's amazing. It'll really blow your mind. It's about everything from African talking drums to quantum physics, presented in a really easy to read and understand way, with a really engaging story.

u/kitlane · 2 pointsr/AskReddit

I only heard of it today (via reddit of course) but maybe gephi is what you need. I'm sure there are others.

Some visualisations will be created with languages such as Processing. This Book might be of interest.

u/JohnDoe_John · 2 pointsr/ITCareerQuestions

> MSCA: SQL Server

Is a good choice. At the same time I see such programs and certificates as credentials for those who already have some experience.

If you

> have a good working knowledge of relational databases in general and know the general dialect of SQL pretty well already

it might be the right choice. It is not perfect but quite good.

> I've done a bunch of practice on sqlzoo.net and gone through a few database/SQL courses on Lynda.com

Take a look at https://lagunita.stanford.edu/courses/Home/Databases/Engineering/about and https://academy.vertabelo.com/blog/18-best-online-resources-for-learning-sql-and-database-concepts/ also.

A bit more:

Books from

https://en.wikipedia.org/wiki/Christopher_J._Date

https://www.amazon.com/Seven-Databases-Weeks-Modern-Movement/dp/1934356921/

https://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/0131873253

u/Navichandran · 1 pointr/ABCDesis

Yeah it was great. Alan turning was a genius.

One of my favorite books about information theory and entropy for all the nerds out there:

http://www.amazon.com/The-Information-History-Theory-Flood/dp/1400096235

u/novalsi · 4 pointsr/dataisbeautiful

I highly recommend Visualizing Data by Ben Fry, the guy who created ZipDecode. It's a very well-written, and accessible, and it goes through explanations of the Processing framework in a very hands-on way.

You're gonna love it!

u/flipstables · 2 pointsr/Database

Relational databases operate the same way under the hood. There are significant differences between how postgresql and sql server work, but in the end, once you know one relational database, it will translate pretty well to others.

If you really want a tour on different databases, try this:

http://www.amazon.com/Seven-Databases-Weeks-Modern-Movement/dp/1934356921

It showcases 7 different approaches to databases.

u/professorlamp · 2 pointsr/learnpython

Check out the book 'Visualizing Data'. It's written in Java but it talks about a buttload of different methods to display your data including quite a hefty chapter on maps!

LINK : http://www.amazon.co.uk/Visualizing-Data-Explaining-Processing-Environment/dp/0596514557/ref=sr_1_1?s=books&ie=UTF8&qid=1373782455&sr=1-1&keywords=visualizing+data

It's a very good book, I just wish I could read java a bit better...

u/Marvilloso · 2 pointsr/compsci

A little off topic, but I can't recommend this book enough: http://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554

Also, if you aren't already on Hacker News:
http://news.ycombinator.com

Good luck!!!

u/kirankuppa · 4 pointsr/Database

I strongly recommend Database Design for Mere mortals. Though your question is on SQL, I am not sure if you are that specific.

Query language is a way in which you can express your understanding of the concepts (entities), how they relate to each other (relationships) and the business a particular database is addressing. Being able to write excellent queries depends on how well you understand the database structure itself.

That's why understanding database design is actually more relevant to your query, IMO. Think of it this way - once you understand the database structure, you understand everything about the company's business.

u/venomousplatypus · 2 pointsr/books

I'm not sure if this is what you are referring to, but I enjoyed reading Hackers and painters by Paul Graham.

Maybe you would also like cyberpunk? William Gibson is an obvious choice.

u/TheAethereal · 12 pointsr/crypto

Mathematical Notation: A Guide for Engineers and Scientists has helped me out a lot. It isn't really a "math book", in that it doesn't really teach you concepts. But it tells you what things are and what they do in general. So if you don't know what Σ means, it will tell you, and at least give you a place to start.

For crypto you probably also want a book on number theory.

Also, Understanding Cryptography: A Textbook for Students and Practitioners is the best intro to cryptography book I've come across. I found it easy to understand (relative to other books).

u/sceadu · 1 pointr/lectures

I would definitely encourage everybody to take a look at the book and buy it if you're interested (just take a look at the reviews :P) http://www.amazon.com/Understanding-Cryptography-Textbook-Students-Practitioners/dp/3642041000/

u/nineelevglen · 11 pointsr/javascript

dont really think you've been learning in the right places. you're getting a bunch of things mixed up.

first node is backend, just like rails and php etc. javascript can be used both in front and backend. which is unique.

You have to break it down to one question: what do you need it for? do you need a single page application (backbone, angular etc)?
do you have a backend? do you need a backend? (yes you do)
do you just need fast rendering and not a single page att all? (node.js with hapi or express).
do you need a document database (mongo, couch) or a graph (neo4j, level) or a relational (mysql, postgres), or maybe an in memory (redis, level)? use the one thats best for the need.

pick the tools to do the job not the other way around.

learn about the MEAN stack, read seven databases in seven weeks.

u/halifaxdatageek · 1 pointr/SQL

Sorry I'm coming in here so late, but "Database Design for Mere Mortals" is where I learned from.

Good tables, good relationships, good life.

Warning: Databases are not easy. There's a reason that some folks specialize in them.

u/ST0NETEAR · 2 pointsr/The_DonaldBookclub

Startups are much more complex than real-estate deals, so you aren't going to find as concise of a book as the Art of the Deal, Zero to One as recommended in another comment is a great one though.

For the ethos of startups I would recommend: Hackers and Painters by Paul Graham
https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554

For the nitty gritty of deal making with VCs (I still haven't made it all the way through this one, as it gets very in depth for someone who isn't quite at the point of looking for funding) this seems to be the go-to:
https://www.amazon.com/Venture-Deals-Smarter-Lawyer-Capitalist/dp/1119259754

u/ReinH · 2 pointsr/AskComputerScience

The Annotated Turing is fantastic! Also check out Turing's Cathedral for some insight into how his 1936 paper influenced computing into the next few decades and The Essential Turing to read Turing in his own words.

For a look at how Turing influenced information theory (and a fascinating general introduction to its history), check out The Information.

u/unknownmat · 2 pointsr/LifeProTips

> more that the problem you are solving should be clear, and you should have an understanding of how you are going to solve it. Then start writing code by all means, even if you havent planned any code structure specifically

Ok. But then I would argue that this is similar to the process that writers follow. Maybe Palahniuk didn't know everything that would happen in Fight Club, but he surely knew that (spoiler) Tyler Durder was an alternate personality of the protagonist (disclaimer: Haven't read the book).

> I will go off and read some Paul Graham

I recommend it. Check out his book Hackers And Painters.

u/galaxy_X · 2 pointsr/compsci

This book is great if you have prior knowledge of programming languages.

Data Structures and Algorithms by Goodrich and Tamassia

[edit] It was my Uni book and I realized that it is expensive however, they generally have the older edition free if you google hard enough.

u/CalvinLawson · 2 pointsr/DebateAnAtheist

Yeah, Adams is a deep one. That little book is deceptively simple, it's more about how we tell ourselves stories to explain the universe than actually presenting a serious theological cosmology. Read at your own risk; it will mess with your head.

You might also like this book.

As to infinite recursion; that's not actually known yet. Either everything began at some point or it's infinite; and there's evidence that leans either way. But there's certainly no need for a God there at all, infinite universes make as much sense as an infinite god. More sense even, as we have at least one example of a universe, albeit it might be finite.

All I'm saying is that emergence does not support a theistic god that is more complex than what it is creating. The opposite, in fact, if there is such a thing as a "creator" emergence points us to a force of nature like natural selection, not some glorified planner in the sky.

u/walker6168 · 3 pointsr/AskHistorians

You should organize it by tech. Remember that numbers are tools. You're going to end up talking about what they were for more than the maths. Navigation, architecture, calendars, all of those would develop at different rates in a civilization and have math supporting it.

Just as two examples:

The beginning of basic numbers as a system would have been merchants and people accounting for debt/business transactions. There were a lot of mechanisms for doing this in early civilization via the temples, tribes, or governments. For details on that you should check out Debt: The First 5000 Years.

Computers are a different branch that deal with information transmission. James Gleick's outstanding book The Information: A History, A Theory, A Flood is a concise history of how we go from drum codes in the Congo to the Difference Engine to Turing's computer language.

u/putaindedictee · 5 pointsr/math

Doctor J. H. Silverman has written extensively on the topic, having been infected with the elliptic curve bug himself. I recommend his book "An Introduction to Mathematical Pathography", which contains a great introductory account of the fascinating consequences of the elliptic-curve-itis.

u/scarletham · 3 pointsr/finance

Love stuff like this and this.

u/ArkhamStorage · 2 pointsr/crypto

Our CEO recommends Understanding Cryptography: A Textbook for Students and Practitioners as a more technical reference. It teaches the modular arithmetic and other technical fundamentals required for really understanding the math behind crypto. It provides a good background on symmetric and asymmetric cryptographic schemas and includes a good bit of the technical history behind DES, AES etc.

https://www.amazon.com/gp/product/3642041000/ref=oh_aui_search_detailpage?ie=UTF8&psc=1

u/steelypip · 1 pointr/DebateReligion

> What I don't see is why this distinction is particularly relevant to the point that information is a particular arrangement of matter and energy, as opposed to a third fundamental component of the universe...

You need matter and/or energy for information to be encoded, but it is something separate from any particular arrangement of matter and energy. The same information can be encoded in many different ways, and it is still the same information. Beethoven's 9th symphony is still Beethoven's 9th symphony whether it is encoded in pits burnt on a CD with a laser, an MP3 file stored on my hard drive, or a book of sheet music.

I recommend reading The Information: A History, A Theory, A Flood by James Gleick for an introduction to history of information theory as a science.

u/turning_tesseract · 1 pointr/compsci

For Algorithms and Data Structures, I would recommend the book by Goodrich and Tamassia. There are three versions of the book that you can choose from, depending upon which programming language you are most comfortable with - Java, Python, or C++ .

u/trashacount12345 · 2 pointsr/neuro

If you're interested in the more computers-and-signal-processing side of neuroscience, you'll need a bunch of math. If you're interested, check out this book (http://www.amazon.com/An-Introduction-Information-Theory-Symbols/dp/0486240614/ref=sr_1_1?ie=UTF8&qid=1371748392&sr=8-1&keywords=information+theory). I read it after going to college, so it may have a smidge of calculus in there, but at least the beginning (which is all the interesting stuff) is simple enough to not need it.

Information theory is one of those math topics that makes you rethink more than just math, hence the recommendation.

u/NotSelfReferential · 1 pointr/politics

Good - hope you do! Really changed my worldview, and made me think in the same way you seem to assume that I don't.

https://www.amazon.com/Emergence-Connected-Brains-Cities-Software/dp/0684868768

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/SQLSavant · 1 pointr/learnprogramming

I would highly suggest keeping the composite key for Team_Players (player_id, team_id) as it provides Referential Intergrity and ensures that a player cannot be a part of more than one team at once.

Instead of navigating all of this on your own - I'd also like to suggest picking up a book on Database Design.

Database Design for Mere Mortals is my recommendation. It's a short read, easily digestible and will do you wonders when working to create this database.

u/antiantiall · 3 pointsr/math

Here is a very good book that is meant for math majors. It includes the needed algebra and number theory background. I am using it for an independent study on cryptography, and absolutely everything is referenced if you want to delve deeper into a certain topic.

u/strozzy · 1 pointr/java

I used the 2nd edition of this when I was studying Java. It was good then so I'm assuming the later versions are just as good. http://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383267

u/truancy-bot · 3 pointsr/math

In a way more general approach (and in my view), information is surprise. Anything else is just already known data presented in a certain way. I recommend The information by James Gleick for a detailed (and philosophical) analysis of this question.

u/creatio_o · 2 pointsr/crypto

I liked Understanding Cryptography: A Textbook for Students and Practitioners by Christof Paar et al. when I took an Introduction to Cryptographic Algorithms course at my university. I helped make something more clear.

u/ashtondrakestorm · 1 pointr/battlestations

The Cube: HERE
The Bottom Book: [HERE] (http://www.amazon.com/The-Basics-Information-Security-Understanding/dp/1597496537/ref=sr_1_3?ie=UTF8&qid=1406954470&sr=8-3&keywords=introduction+to+information+security)

Those are just decorative books and refresher books. I work as an information security consultant. I have a ton of books at home and pdfs on my computer. :)

u/SethBling · 18 pointsr/mindcrack

That was how I learned about genetics and evolution, but the actual book that directly inspired this was Emergence.

u/mortrevere · 2 pointsr/cryptography

Understanding Cryptography by Springer is a great book.

u/Tamatebako · 1 pointr/suggestmeabook

I really enjoyed Richard Holmes' The Age of Wonder and also Chaos and The Information by James Gleick.

u/mrdevlar · 1 pointr/StonerPhilosophy

Please read this:

The Information

It will resolve your question.

u/lehyde · 3 pointsr/BitcoinSerious

First you need some cryptography background. Especially asymmetric encryption, digital signatures and hashing. Then read the original Bitcoin whitepaper.

I haven't read it myself but An introduction to Mathematical Cryptography seems to be good but it's maybe a bit more in depth than what you are looking for.

u/enriquemontalvo · 1 pointr/webdev

Sometimes that's the best way to learn. When I'm unfamiliar with something I do some research try to get an idea of what is commonly used and when to pick what. I try to pick the simplest thing possible. Sometimes it's a guess and leads down the wrong path, but you learn and adjust.

For persistence I'd recommend starting with PostgreSQL or MariaDB/MySQL unless your application really needs something else.

Also read Seven Databases in Seven Weeks.

u/solid7 · 1 pointr/learnprogramming

Database design for mere mortals is an excellent reference I've kept throughout the years. It has my recommendation.

u/chasonreddit · 2 pointsr/Libertarian

You might post these singly. There is a lot of room for discussion in each one.

Your last two caught my eye. I suggest, if you have not read them, two books simply named Complexity and Emergence.

Happy Cakeday.

u/zabchob · 2 pointsr/programming

This sounds like something I'd be interested in reading about. Do you know of any studies or articles about the shrinking range of movement of young people?

You might be interested to read Paul Graham's thoughts on how suburbia poisons youth. (Amazon page)

u/vmsmith · 4 pointsr/statistics

A couple of these have been mentioned already:

  • Fooled by Randomness -- Nassim Nicholas Tabeb
  • The Black Swan -- Nassim Nicholas Taleb
  • The Drunkard's Walk
  • The Signal and the Noise (I'm almost finished reading it, and it's very good)

    [Note: Nassim Nicholas Taleb is an overbearing, insufferable egotist, but he says very interesting things, and I think his books are worth reading. I think he had an AMA on Reddit not too long ago.]

    Somewhat related, you might also consider The Information, by James Gleick. It pays to know something about the where and how the raw material of statistics.
u/SchurThing · 1 pointr/math

It's a good time for history of computer science books. We had Gleick's The Information last year, and George Dyson (Freeman's son) just published Turing's Cathedral.

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/fasnoosh · 1 pointr/Database

I found this book really useful: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design https://www.amazon.com/dp/0321884493/ref=cm_sw_r_cp_api_-XVEyb2Y4PZX3

Walks you through the design process, and it's tool/language agnostic, so it explains the concepts without getting into the weeds with the code

u/TheCaterpillar · 1 pointr/wikipedia

For a very good read on entropy that requires only high school math check out:
http://www.amazon.com/Introduction-Information-Theory-John-Pierce/dp/0486240614

u/doubleyouteef · 5 pointsr/learnprogramming

DDaRT followed by Seven Databases in Seven Weeks was very a useful refresher for me.

u/_INTER_ · 4 pointsr/java

If you want to get a head start at the college, I'd rather get more fundamental programming knowledge. Get a book about algorithms and datastructures (e.g. this or this, first few Google results pointed me to a PDF).

Well of course practical knowledge is also never bad.

u/ThePaternalOverseer · 1 pointr/Philippines

Hackers and Painters by Paul Graham? Di ko pa sya tapos basahin tbh pero gusto ko sya. Especially yung unang chapter about the us nerds. haha

u/kanak · 6 pointsr/compsci

I would start with Cover & Thomas' book, read concurrently with a serious probability book such as Resnick's or Feller's.

I would also take a look at Mackay's book later as it ties notions from Information theory and Inference together.

At this point, you have a grad-student level understanding of the field. I'm not sure what to do to go beyond this level.

For crypto, you should definitely take a look at Goldreich's books:

Foundations Vol 1

Foundations Vol 2

Modern Crypto

u/TomorrowPlusX · 11 pointsr/programming

I don't have a good answer for you. I've always found programming fascinating, and (in the early 2000s when I was doing this stuff) I had just read Emergence and it got me thinking about these kinds of problems.

I'd done lots of coding - I'd even written my own software-rasterizing 3d engines back in the 90s for fun, but to do this stuff I taught myself opengl and then read lots of papers from the 80s about stuff like Rodney Brooks' Subsumption Architecture

Then, I just started writing code and when I fucked up, I backtracked and kept trying until things worked.

It helped I was in my 20s (I'm old now, and have a familiy and responsibilities).

But here's the thing: I'm not a computer scientist. I'm not even really a programmer. I studied painting in college. I just happen to really love programming so I figure the stuff out on my own. I work professionally as a graphic designer and "interaction" programmer, which is a bullshit term for somebody who designs & codes.

But my degree is in fine arts, so, shrug.


Really, all it takes is a willingness to dive into something which you know fuck-all about headfirst and just let yourself drown until you start grokking it. I did plenty of calculus and whatnot in high school, but I never really got linear algebra until I started writing opengl and dealing with matrices and quaternions, etc etc. You just have to be willing to make yourself learn.

As humans we've got these big brains. Barring actual problems like mental handicaps, the vast majority of us are all capable of learning things we didn't expect we could learn. It's just that most of us want to watch TV or play video games.

Give yourself a hard problem you find interesting and I guarantee you can surprise yourself.


u/zorkmids · 3 pointsr/gamedev

Shirley's Fundamentals of Computer Graphics is a good textbook.

Pharr's Physically Based Rendering goes more deeply into the fundamentals.

u/purple_urkle · 2 pointsr/ExplainLikeImHigh

[6] To check if regions are still there. Because nothing hits us harder then the earth. Moving feels good. Here's a book. [8]

u/Blindocide · 2 pointsr/DebateReligion

You should check out this book called The Information. it talks about information theory and how all material interactions are really just transferring information in the form of momentum and spin.

While I was hallucinating on 2C-E, after reading about schroedinger's cat, I had actually theorized that quantum interactions are, at a base level, information transfer. It was interesting to see that come up in a book way after I had thought of it.

/boast

u/c3534l · 2 pointsr/learnmath

From the ground up, I dunno. But I looked through my amazon order history for the past 10 years and I can say that I personally enjoyed reading the following math books:

An Introduction to Graph Theory

Introduction to Topology

Coding the Matrix: Linear Algebra through Applications to Computer Science

A Book of Abstract Algebra

An Introduction to Information Theory

u/jewdass · 2 pointsr/AskReddit

I agree with the other posters who suggested Dennett and Hofstadter... They also collaborated on a book called "The Mind's I"

Another suggestion would be "Emergence: The Connected Lives of Ants, Brains, Cities, and Software"

u/tnachen · 3 pointsr/cscareerquestions

You don't, just try them on your own computer or even spend some money with AWS could do.

I recommend going through this: http://www.amazon.com/Seven-Databases-Weeks-Modern-Movement/dp/1934356921

u/ominous · 2 pointsr/programming

A Discipline of Programming. Classic but expensive. Read the first few chapters at your library before buying.

Polya's How to Solve It!

The Mythical Man-Month

Finally, The Pragmatic Programmer.

u/science_diction · 1 pointr/atheism

EMERGENCE. IT'S A THING...

http://en.wikipedia.org/wiki/Emergence

http://www.amazon.com/Emergence-Connected-Brains-Cities-Software/dp/0684868768

http://en.wikipedia.org/wiki/Emergentism

Fucking LEARN. Read a book - not a book that claims to be the divine word of a god - especially when WRITING SOMETHING DOWN CAUSES MISUNDERSTANDING.

u/protestor · 1 pointr/desabafos

Fun fact: meu professor de lógica era formado em Engenharia Civil.

Outra coisa: sua indecisão entre computação e artes me lembrou desse cara (ele acabou juntando esse e outros artigos que ele escreveu e publicou um livro, chamado Hackers and Painters).

Mas então, pegue esse diploma mesmo se não for trabalhar na área. Você já ganhou competências gerais em informática (algo sempre muito bom) e específicas em várias áreas técnicas da computação. Você pode se dar bem criando arte no computador, talvez arte para jogos ou para publicidade por exemplo.

u/Caleb666 · 2 pointsr/compsci

I beg to differ about your suggested Algorithms text. It has lots of bad Amazon reviews: http://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383267

CLRS is your bible. It's not overly verbose, it describes the algorithms and data structures very well, it proves almost everything. The people that complain about their use of pseudocode don't deserve to be programmers. The pseudocode is very very easy to convert to working code without much thinking.

u/Naeuvaseh · 1 pointr/SQL

I recommend [SQL Queries for Mere Mortals ($36.64)](SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL (3rd Edition) https://www.amazon.com/dp/0321992474/ref=cm_sw_r_cp_apa_nCQrybW9TPPNN) and [Database Design for Mere Mortals ($31.57)](Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) https://www.amazon.com/dp/0321884493/ref=cm_sw_r_cp_apa_CDQrybA2508FS)

Both helped guide me through my masters program, and they are fairly affordable.

u/pmigdal · 8 pointsr/MachineLearning

For canonical references, there is Thomas, Cover, Elements of Information Theory. For a shorter one, I like Probability and Information Theory chapter in the http://www.deeplearningbook.org/.

And if, for some crazy reason, you speak Polish, I wrote a short post Prawdopodobieństwo a informacja.

u/sharjeelsayed · 22 pointsr/learnprogramming

Architecture of a Database System
http://db.cs.berkeley.edu/papers/fntdb07-architecture.pdf

Readings in Database Systems
http://www.redbook.io

Computer Science 186, 001 - Spring 2015 UCBerkeley Introduction to Database Systems - Joseph Hellerstein
https://archive.org/details/UCBerkeley_Course_Computer_Science_186

Stanford's Databases MOOC
https://cs.stanford.edu/people/widom/DB-mooc.html

Database Design by Caleb Curry
https://www.youtube.com/playlist?list=PL_c9BZzLwBRK0Pc28IdvPQizD2mJlgoID

Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition)
https://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp/0321884493

More at http://Learn.SharjeelSayed.com

u/_imjosh · 6 pointsr/node

Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) https://www.amazon.com/dp/0321884493/

u/smugglerFlynn · 3 pointsr/compsci

Simple and to-the-point book:
Database Design for Mere Mortals by Michael J. Hernandez

Leads you through requirements analysis to actual database design and refactoring, explaining all the needs for constraints, keys and other stuff on the way.

u/breakfast-pants · 1 pointr/reddit.com

who robbed who?

u/arundelo · 2 pointsr/programming

> the word 'vaporware' is starting to appear in combination with 'arc'.

PG himself put the words together in Hackers and
Painters

(in the glossary if I remember correctly).

u/mfbrucee · 1 pointr/askscience

Emergence: The Connected Lives of Ants, Brains, Cities, and Software

http://www.amazon.com/gp/aw/d/0684868768?pc_redir=1409138398&robot_redir=1

u/TroyHallewell · 1 pointr/todayilearned

I don't remember the details. But I do remember that this book goes into a bit of detail on how communication through the drums occurs.

https://www.amazon.com/Information-History-Theory-Flood/dp/1400096235

u/doubtingapostle · 1 pointr/math

If you've taken Linear Algebra already, I might recommend this book for the up and coming mathematician who wants to mess around with cryptography but hasn't taken abstract algebra yet.

u/Not_SubredditSim_SS · 1 pointr/SubredditSimulator_SS

I don't think it should've been nominated and I was about 3 or 4 generations. your name on his arm. Fionn only writes about NA Kelsey is the one a lot of the book I used http://www.amazon.com/Introduction-Mathematical-Cryptography-Undergraduate-Mathematics/dp/1441926747.

u/usesbitterbutter · 1 pointr/technology

Read Hackers & Painters (www. amazon.com / Hackers-Painters-Big-Ideas-Computer/dp/1449389554)

u/amacg · 1 pointr/startups

If you're doing a technology startup especially, a couple of books from the YC guys: Hackers and Painters and Founders At Work.

u/KLM_SpitFire · 2 pointsr/computerscience

I purchased the following two books:

u/jnazario · 6 pointsr/compsci

i recently read Pierce's An Introduction to Information Theory and was pleased. while it's not recent it's a good intro, if thats' what you're looking for. also it's a dover edition so it's priced very low.

u/Aeelorty · 0 pointsr/freemasonry

But you did memorize something to do all those actions. Verbatim is not always necessary for proficiency but we should strive for that whenever ritual is concerned to avoid unintentional changes. The language we use does hint at all kinds of things. Changing a preposition could change meaning and disrupt a series of connections. If you want a more in depth rational for why I say memorization is important I suggest The Information by Gleick.

u/pookypocky · 1 pointr/MSAccess

As you figured out, this isn't an SQL issue, it's a database normalization issue.

You wouldn't have a table of winners and a table of losers -- you'd have a table of teams, and a table of matches that links them together, and a table of players, and a table of stats. and you'd link them all together using various linking tables.

I used this book when learning about setting up databases.

u/colo90 · 2 pointsr/compsci

you must be referring to this book; you seem to have forgotten to include a link (or the name) to the book you're referring to

u/nullsucks · 1 pointr/programming

> All I'm saying is that you can't just take a mutable data structure, never mutate it and say "look how bad immutable data is!"

I haven't done that.

You started this subthread with some hand-wringing over how "The problem with (mutable) values is that they can create a lot of overhead".

It's unseemly for you to back away from that now with "Yes, you make a slight performance tradeoff by going persistent, but that tradeoff is much smaller than you might think – in most cases it is dwarfed by the I/O you do."

It is also possible to reason about imperative code with mutable state. That's the main topic of EWD's A Discipline of Programming.

u/rickg3 · 4 pointsr/FCJbookclub

I read books 4-6 of the Dresden Files. I blame Patrick Rothfuss for getting me started and duckie for keeping me going. Coupla assholes. After I finish the other 8 books, I have some nice, solid non-fiction lined up.

In no particular order, I'm going to read:

The Information by James Gleick

The Better Angels Of Our Nature by Steven Pinker

The Math Book by Clifford A. Pickover

The Know-It-All by A.J. Coastie Jacobs

And others. I'm gonna nerd out so hard that I'll regrow my virginity.