Design Patterns

Nice and neat overview including some criticism … isn’t that refreshing? In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn’t a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations… >> Go to Source...

Eiffel

Not the tower but the programming language. I am surprised how few people know about it and how even fewer dare to use it. But then we love C# and that’s the fashion and it is funky and sexy and does it all … ??? However, have a look and think … Eiffel is an ISO-standardized, object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software. The design of the language is closely connected with the Eiffel programming method. Both are based on a set of principles, including design by contract, command-query separation, the uniform-access principle, the single-choice principle, the open-closed principle, and option-operand separation. Many concepts initially introduced by Eiffel later found their way into Java, C#, and other languages. New language design ideas, particularly through the Ecma/ISO standardization process, continue to be incorporated into the Eiffel language. >> Go to Source...

How An Arcane Coding Method From 1970s Banking Software Could Save The Sanity Of Web Developers Everywhere

Forty years ago, a Canadian bank pioneered a brand new computer system that allowed non-programmers to help write code. The paradigm was so disruptive that it was ignored by computer scientists for decades. But as web apps get increasingly complex, and web devs become increasingly stressed out, “flow-based programming” may be raging back to life. >> Go to...

Trees and Other Hierarchies in MySQL

Great chapter from the unmissable book by Peter Brawley and Arthur Fuller … http://www.artfulsoftware.com/ … Thank you boys! Most non-trivial data is hierarchical. Customers have orders, which have line items, which refer to products, which have prices. Population samples have subjects, who take tests, which give results, which have sub-results and norms. Web sites have pages, which have links, which collect hits, which distribute across dates and times. With such data, we know the depth of the hierarchy before we sit down to write a query. The depth of the hierarchy of tables fixes the number of JOINs we need to write. But if our data describes a family tree, or a browsing history, or a bill of materials, hierarchical depth depends on the data. We no longer know how many JOINs it will take to walk the tree. We need a different data model. That model is the graph (Fig 1), which is a set of nodes (vertices) and the edges (lines or arcs) that connect them. This chapter is about how to model and query graphs in a MySQL database. Graph theory is a branch of topology. It is the study of geometric relations which aren’t changed by stretching and compression—rubber sheet geometry, some call it. Graph theory is ideal for modelling hierarchies—like family trees, browsing histories, search trees and bills of materials—whose shape and size we can’t know in advance. >> Go to Source...
The DIY orchestra of the future

The DIY orchestra of the future

Absolutely fantastic … music always goes and very encouraging to see ideas to bring it back to the people … Ge Wang makes computer music, but it isn’t all about coded bleeps and blips. With the Stanford Laptop Orchestra, he creates new instruments out of unexpected materials—like an Ikea bowl—that allow musicians to play music that’s both beautiful and expressive. Both a musician and a computer scientist, Ge Wang turns ordinary MacBooks and iPhones into complex...

Dan Bricklin: Meet the inventor of the electronic spreadsheet

Dan Bricklin changed the world forever when he codeveloped VisiCalc, the first electronic spreadsheet and grandfather of programs you probably use every day like Microsoft Excel and Google Sheets. Join the software engineer and computing legend as he explores the tangled web of first jobs, daydreams and homework problems that led to his transformational invention. Go and watch it...