What are some good computer science resources for a blind programmer?

You might find the Experiences of a Blind Computer Scientist a good read. MIT’s Open Courseware would be a good resource for you with the amount of videos/audio they have. Really though, for the core computer-science topics I find it pretty hard to beat some of the better textbooks out there. Some offer digital versions … Read more

Scala contravariance – real life example

In my opinion, the two most simple examples after Function are ordering and equality. However, the first is not contra-variant in Scala’s standard library, and the second doesn’t even exist in it. So, I’m going to use Scalaz equivalents: Order and Equal. Next, I need some class hierarchy, preferably one which is familiar and, of … Read more

What books should I read to have an undergraduate education in Computer Science? [closed]

Biggest two omissions I see: The Dragon Book Computer Networks For operating systems I prefer the Tanenbaum instead of the Silberschatz but both are good: Operating Systems And about the order, that would depend on your interests. There aren’t many prerequisites, automata for compilers is the most obvious one. First read the automata book and … Read more

C volatile variables and Cache Memory

Firmware developer here. This is a standard problem in embedded programming, and one that trips up many (even very experienced) developers. My assumption is that you are attempting to access a hardware register, and that register value can change over time (be it interrupt status, timer, GPIO indications, etc.). The volatile keyword is only part … Read more

Is Quicksort in-place or not? [duplicate]

Intro to Algorithms from MIT Press qualifies QuickSort as in-place – it sorts the elements within the array with at most a constant amount of them outside the array at any given time. At the end of the day, people will always have differing opinions (is Top-Down Memoization considered Dynamic Programming? Not to some “classical” … Read more