background preloader

Resources - What is the single most influential book every programmer should read

Resources - What is the single most influential book every programmer should read

Welcome to Software Secret Weapons - Software Secret Weapons Start - The Top 9½ Books In a Hacker's Bookshelf | GrokCode - Pentadactyl Every hacker should have a good solid dead tree library to draw ideas from and use as reference material. This list has a bit of everything – textbooks you will encounter at top tier computer science universities, books giving insight into the industry, and references you shouldn’t be caught without. It is a list of hackers’ classics. The Mythical Man Month: Essays on Software Engineering – Anniversary Edition by Fredrick P. This is a classic on the human elements of software engineering first published in 1975. The Mythical Man-Month: Adding manpower to a late software project makes it later. No silver bullet: There is not a single strategy, technique, or trick that can exponentially raise the productivity of programmers. I recommend this book not only for programmers, but for anyone managing a software project. The C Programming Language (2nd Edition) by Brian W. Commonly referred to as just K&R, this is the canonical C reference book. by Harold Abelson and Gerald Jay Sussman by Thomas H.

Implementing Regular Expressions Russ Coxrsc@swtch.com This page collects resources about implementing regular expression search efficiently. Articles and Notes “Regular Expression Matching Can Be Simple And Fast” “Regular Expression Matching: the Virtual Machine Approach” An introduction to submatch tracking during efficient (non-backtracking) NFA-based regular expression matching. Supporting programs: “Regular Expression Matching in the Wild” “Regular Expression Matching with a Trigram Index” “IBM 7094 Cheat Sheet” If you want to read Ken Thompson's original 1968 paper (see below), you'll want to take this with you. “Regular Expressions: Languages, Algorithms, and Software” by Brian W. The cleanest, simplest, backtracking implementation you'll ever see. See also Chapter 9 of The Practice of Programming and Chapter 1 of Beautiful Code. Efficient Implementations RE2 regular expression library Efficient automaton-based implementation of Perl-syntax regular expressions (excluding backreferences). M.

Wykłady PW struktury danych, grafy, algorytmy Najbardziej znanym i rozpowszechnionym algorytmem wyszukiwania najkrótszych ścieżek w grafie z jednym źródłem jest algorytm Dijkstry. Został on opracowany w roku 1959r. przez jednego z najsłynniejszych pionierów informatyki - zajrzyjcie od razu do Wikipedii. Algorytm Dijkstry wyznacza najkrótsze ścieżki z jednego wybranego węzła (źródła) do pozostałych węzłów grafu. Algorytm wyszukuje najkrótsze ścieżki z jednego źródła do wszystkich pozostałych węzłów grafu, jednakże może być on w prosty sposób wykorzystany do znalezienia najkrótszej ścieżki między dwoma węzłami – wystarczy zatrzymać algorytm w momencie, gdy poszukiwana najkrótsza ścieżka zostanie znaleziona, a nie potrzebujemy informacji o reszcie pozostałych jeszcze nieokreślonych ścieżek między źródłem a innymi węzłami. Poniżej przedstawiamy przykładowy graf z wyznaczonymi najkrótszymi ścieżkami z węzła znajdującego się w lewym-górnym rogu (o wartości etykiety równej 0): Idea omawianego algorytmu jest następująca. Aplet Przykład

Literate Programming Start - Amazon.com: Thinking Forth (9780976458708): Leo Brodie: Books - Pentadactyl Comparison of Free Bibliographic Managers Beyond My Mind I never realized the scarcity of a good tool for managing personal bibliography database until recently. I was writing a paper and found that it is really difficult to manage hundreds of references and use them in a document. Beside my original research I started researching on this issue and found that no single tool can solve all the required tasks for this purpose. This post is a result of the search for a free tool that will best serve this purpose. Here is how a bibliographic manager works. Figure 1: The bibliographic citation process I will present a comparison matrix on all the available bibliographic managers. Expected Features in a Bibliographic Manager There are six basic requirements expected from a bibliographic manager. Search: Search all the available academic/non-academic databases.Store: Store the reference and possibly a soft copy of the reference. Some Issues about Bibliographic Tools The main hurdle in my opinion is to annotate the reference document. Like this:

The demise of the low level Programmer. « #AltDevBlogADay When I started programming many of the elements we take for granted now, did not exist. There was no DirectX and not many compatible libs were available for the free compilers of the day. So I had to write my own code for most basic programs, keyboard handlers, mouse handlers, video memory accessors, rasterizers, texture mappers, blitters… the programs I wrote then were 100% my own code and I had to be able to handle anything and everything. Personally I’ve always been interested in what was going on under the hood so this suited me just fine. Combine the two and what you get today is someone who enjoys spending 5 days making that single function 20x faster, who revels in reducing the memory footprint of the primary data structure by 1 byte per element across the entire program whilst simultaneously writing a pre-caching system to avoid the special case issues…. who… well you get the picture… I’m an OCD level sport optimizing geek.

Free Programming Resources Start - The Pragmatic Programmer: From Journeyman to Master : Andy Hunt, David Thomas : 9780201616224 - Pentadactyl What others in the trenches say about The Pragmatic Programmer..."The cool thing about this book is that it's great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there." --Kent Beck, author of Extreme Programming Explained: Embrace Change "I found this book to be a great mix of solid advice and wonderful analogies!"

| university lectures computer science Whether your goal is to earn a promotion, graduate at the top of your class, or just accelerate your life, lectures can help get you there. Our archives of lectures cover a huge range of topics and have all been handpicked and carefully designed by experienced instructors throughout the world who are dedicated to helping you take the next step toward meeting your career goals. Lifelong learns can turn their free time turn into self-improvement time. The online lectures on this list are more than lecture notes or a slideshow on a topic -- they were designed for audiences like you, with carefully sequenced themes and topics taught by veteran educators, and often with additional resources for your own independent study. Lecture courses are a valid and vital learning tool, and may be one of the best methods of learning available.

s | Good stuff for serious developers: Programming Tools, Code, C++, Java, HTML5, Cloud, Mobile, Testing matplotlib: python plotting Matplotlib v1.0.1 documentation

Related: