Web. Reference. Code. Perl. Git 1. Git 2. Git 3. Git 4. Rail Spikes: Why programmers should play Go. Software development is the art of managing complexity using a limited number of rules, structures, and patterns. Programmers should play Go. Go in 28 words or less. The beauty of Go is its combination of simplicity and complexity. On the one hand, go has only a handful of rules. Place stones, don’t get completely surrounded, control territory. Like chess, the mechanics can be picked up in a few minutes, though Go only has a single type of “move”, and only one edge case (the ko rule). While chess is quite complex and rich, such that it took a 30-node supercomputer to defeat the reining chess champion, no computer comes close to defeating even a skilled amateur Go player. Managing complexity So how does one play Go, given this near-infinite complexity?
But there’s more: Go has several sorts of patterns. Finally, there are joseki. Patterns in Go, patterns in software design Each of these Go patterns has a rough programming analogue. Shapes in Go aren’t unlike software design patterns. Raw Sockets Basics Presentation Tutorial. Description: Raw Socket programming is probably one of the most important topics in network security. Almost most of network security consists of either monitoring a network or protecting it from an attack. Network monitoring requires that everything going on in the host network can be seen by the security device. This is accomplished by what is called Packet Sniffing. Also, techniques used to actively protect a network generally inject their own custom built packets - this is done by using Packet Injection.
In this 2 part video presentation, we will look at the basics of Packet Sniffing and Packet Injection and try and understand how to make Packet Sniffing and Packet Injection programs. Tags: programming , Disclaimer: We are a infosec video aggregator and this video is linked from an external website. Comments: Best Programming Quotations -- "Measuring programming progress by lines of code is like measuring aircraft building progress by weight." via reddit.com. 5 ways to be a better programmer « Michael’s Techbox. To me the definition of a better programmer is one who writes code that produces the desired result with less errors. Some people might define a good programmer as one that has a vast understanding of programming languages and concepts, while this is true this definition can only take you so far – ultimately ALL programs are written to perform a function and as error free as possible.
If the average programmer had an infinite amount of time for testing and deployment then almost ALL code would be released error free, but obviously all projects were due yesterday and usually we’re developing under less than perfect conditions, and at times pushing ourselves to the max to achieve the desired outcome. Besides this the industry is generally not that concerned with deep or stress testing applications and at times your rushed out code is just expected to work. And finally – above all else take errors very seriously and fix them ASAP, its ok to have some error drag (bugs) in your application. Never Trust a Programmer via reddit.com. The big programming related subreddits round up : programming. These guys are reviewing programming books, I like it via reddit.com. Programming magic: Rituals and habits of effective programmers. Top ten Internet resources for programmers. 1. A year ago, this website didn't exist.
Now, it's at the top of this list of Internet resources for programmers! Stack Overflow is a place where programmers like you and me ask questions and answer them. Some things that make it great are: each question and answer can be 'voted' on (either +1 or -1), and the answers with the greatest number of votes appear at the top near the question; only programming related questions are allowed, and everything else is 'closed' down; any discussions on the answers go into the 'comments' section which is hidden by default - this means that flamewars and such nonsense are much less here, and mostly hidden from our view too.
But I can go all day about what makes it tick, but you won't really see how good a resource it is until you actually go there and try to search for some programming question you've been having. 2. (actually, RSS feeds from programming blogs) 7. comp. heirarchy in Google groups. Let’s discuss the matter further » Blog Archive » Reading Code: A Computer Science Curriculum.
By Brandon Rhodes • Home I developed the following ideas about how to teach computer programming during a recent conversation with Daniel Rocco, a professor at the University of West Georgia, and Georgia Tech grad student Derek Richardson, and I wanted to expand on the ideas here on my blog. I have been heavily influenced by reading Greg Wilson, and, for all I know, he or someone else may have already put these ideas together into something like the outline below. The first day of class To teach computer programming, a professor ought to stride into the room on the semester's first day, explain that a computer program is a text file full of instructions for the computer to follow, and then proceed to check out an example from version control. His desktop should be displayed on a big screen in front of the class. The class now has the tools they need to complete their first assignment. Test suites, and debugging How should class be conducted?
Invariants, and further progress The second half. About Siafoo. Siafoo is dedicated to sharing code and programming experience and learning from what others have shared. Siafoo is here to make coding less frustrating and to save you time. Siafoo's philosophy can be summed up by two popular maxims. First, Don't Reinvent the Wheel. In other words, try to spend your time solving your problem instead of doing menial tasks. Don't have any code to contribute? Want to experiment? 1 Cool Features 1.1 The Homepage The homepage has been designed to provide quick access to relevant information. 1.2 Snippets of Code Post and share snippets of code, syntax highlighted in one of over 40 Supported Languages and their combinations. Send snippets or embed them in your blog or webpage.
If you'd like, you can try out Siafoo's syntax highlighting (even without being logged in). 1.2.1 What is a Snippet? Like an obscenity, a snippet can not be defined, but you'll know it when you see it. 1.5 Libraries 1.7 Groups 1.8 Access Controls 1.9 Version Control 1.10 reStructured Text # 's. Thinking Serious » The 8 Essential Tools for Programmers. One of the books that was recommended reading, and remains in my library, was The Pragmatic Programmer: From Journeyman to Master . Chapter 3 talks about the basic tools needed for any programmer. Here is a review and description of the tools I use and consider fundamental. 1. Plain Text There are many advantages to using plain text as the format of choice for programming. I prefer to use XML based formats (XHTML being the primary format) for much of what I do, since primarily I program web applications. 2.
To save countless hours and improve your productivity tremendously, invest some time daily into learning more about how to use the shell. 3. 4. Another reason text formats are so useful is that changes are easily tracked using version control. 5. In my C++ days, GDB saved me many hours of painful bug chasing. 6. Now that you have all those text based files, you need to be able to quickly manipulate them. 7. The code generator I use most often is the one Symfony provides. 8. Project Euler. What is Project Euler? Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context. Who are the problems aimed at? The intended audience include students for whom the basic curriculum is not feeding their hunger to learn, adults whose background was not primarily mathematics but had an interest in things mathematical, and professionals who want to keep their problem solving and mathematics on the edge.
Can anyone solve the problems? The problems range in difficulty and for many the experience is inductive chain learning. What next?