background preloader

Programming

Facebook Twitter

503 Over Quota. Algorithms in Java, Parts 1-4, 3rd edition by Robert Sedgewick. Addison Wesley, 2003. Quicksort is Optimal by Robert Sedgewick and Jon Bentley, Knuthfest, Stanford University, January, 2002. Dual Pivot Quicksort: Code by Discussion. Bubble-sort with Hungarian (“Csángó”) folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania. Select-sort with Gypsy folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania. Sorting Out Sorting, Ronald M. Programming is terrible—Lessons learned from a life wasted. EMF2012.

Main Page - APIDesign. Introduction to Artificial Intelligence - Fall 2011.

Martin Fowler

Programming, Motherfucker. The Real Meaning of Model-Driven Architecture. Leading-Edge JavaThe Real Meaning of Model-Driven ArchitectureAn Interview with No Magic from JavaOne 2007by Bill Venners with Frank SommersJune 27, 2007 Summary In this interview with Artima, Andrius Strazdauskas, Gary Duncanson, and Daniel Brookshier of No Magic discuss the goals of Model Driven Architecture, or MDA, and explain why they think it can improve programmer productivity and software quality. In this interview, I discuss Model-Driven Architecture, or MDA, with Andrius Strazdauskas, R&D Manager, Gary Duncanson, President and CEO, and Daniel Brookshier, Chief Architect of No Magic. Prior to this interview my understanding was that MDA was an attempt to program in pictures or diagrams, and I was skeptical. My impression was that MDA proponents were claiming that you could do a high-level design, and push a button to generate the code, without worrying about all those little details that pop up when you actually do code by hand.

Post your opinion in the discussion forum.

Aosd

Digipedia.pl: Dokumentacje - Wiedza - Technologie. Top 10 Secure Coding Practices. Top 10 Secure Coding Practices Validate input. Validate input from all untrusted data sources. Proper input validation can eliminate the vast majority of software vulnerabilities. Be suspicious of most external data sources, including command line arguments, network interfaces, environmental variables, and user controlled files [Seacord 05]. Heed compiler warnings. Compile code using the highest warning level available for your compiler and eliminate warnings by modifying the code [C MSC00-A, C++ MSC00-A].

Bonus Secure Coding Practices Define security requirements. Bonus Photograph I found the following photograph on the Web, and I'm still trying to figure out who owns the rights to it. I like this photograph because it illustrates how the easiest way to break system security is often to circumvent it rather than defeat it (as is the case with most software vulnerabilities related to insecure coding practices). References [Saltzer 74] Saltzer, J. [Saltzer 75] Saltzer, J. The First Few Milliseconds of an HTTPS Connection. Convinced from spending hours reading rave reviews, Bob eagerly clicked “Proceed to Checkout” for his gallon of Tuscan Whole Milk and… Whoa!

What just happened? In the 220 milliseconds that flew by, a lot of interesting stuff happened to make Firefox change the address bar color and put a lock in the lower right corner. With the help of Wireshark, my favorite network tool, and a slightly modified debug build of Firefox, we can see exactly what’s going on. By agreement of RFC 2818, Firefox knew that “https” meant it should connect to port 443 at Amazon.com: Most people associate HTTPS with SSL (Secure Sockets Layer) which was created by Netscape in the mid 90’s.

This is becoming less true over time. Client Hello TLS wraps all traffic in “records” of different types. The next two bytes are 0x0301 which indicate that this is a version 3.1 record which shows that TLS 1.0 is essentially SSL 3.1. The handshake record is broken out into several messages. Server Hello Checking out the Certificate. The Art In Computer Programming. The Programmers’ Stone. Art and Computer Programming. By John Littler 06/30/2005 Art and hand-waving are two things that a lot of people consider to go very well together. Art and computer programming, less so. Donald Knuth put them together when he named his wonderful multivolume set on algorithms The Art of Computer Programming, but Knuth chose a craft-oriented definition of art (PDF) in order to do so.

Is Programming Art? What the heck is art anyway, at least as most people understand it? What do people mean when they say "art"? My goal here is to discover whether programming is art and whether there's anything useful to discover by regarding it as an art. My goal is also to find out what some accomplished programmers think. I'm putting together an article for O'Reilly on the subject "art in programming" which was prompted by Donald Knuth's three volume set in which "art" is pretty much defined as craft ... which is pretty much not the modern definition of the word for a lot of people. Opinions on Art and Programming Also: Why It Matters.

ProgrammingLanguageTheoryTextsOnline < Techno < TWiki. 1974 ACM Turing Award Lecture.

Data structures