131 private links
At the North America edition of the 2018
Linux Security Summit (LSS NA), which was held in late August in Vancouver,
Canada, Kees Cook gave a presentation on some of the dangers that come with
programs written in C. In particular, of course, the Linux kernel is
mostly written in C, which means that the security of our systems rests on
a somewhat dangerous foundation. But there are things that can be done to
help firm things up by "Making C Less Dangerous" as the title
of his talk suggested.
This is not a new sorting algorithm, but an idea when we need to avoid swapping of large objects or need to access elements of a large array in both original and sorted orders.
A common sorting task is to sort elements of an array using a sorting algorithm like Quick Sort, Bubble Sort.. etc, but there may be times when we need to keep the actual array in tact and use a “tagged” array to store the correct positioning of the array when it is sorted. When we want to access elements in sorted way, we can use this “tagged” array.
The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.
TIOBE checks more than 1030 million lines of software code for its customers world-wide, real-time, each day.
Provides a rank among the most widely user programming languages.
An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.
The term was popularized three years later by the book AntiPatterns, which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in.
Although Python is an easy to learn and powerful programming language as it is known in common parlance, there is nevertheless need of a good introduction and tutorial on the Python language.
Why yet another documentation and tutorial on Python? Aren't there enough websites with tutorials and books dealing with Python? Isn't there already everything said about this great programming language?
These were the questions which came to our mind, when we started this website in June 2010. Yes, there are lots of tutorials and introductions, but we wanted to present a different approach, with other - more interesting - examples, better explanatory diagrams and so on. We had a lot to build on, above all the longstanding experience of Bernd Klein as a computer scientist and Python lecturer. Actually, this online course is based on the material from the classroom training courses of Bodenseo and his book on Python.
A short course that will teach you how to write Python scripts that can take advantage of the processing power of multicore processors and large compute clusters. While this course is based on Python, the core ideas of functional programming and parallel functional programming are applicable to a wide range of languages.
Without question, Linux was created by brilliant programmers who employed good computer science knowledge.
Let the Linux programmers whose names you know share the books that got them started and the technology references they recommend for today's developers. How many of them have you read?
Language Overview:
- As fast to write and edit as it probably gets
- Intuitive and simple - easy to use for non-programmers too
- No indentation, all empty lines and whitespace optional
- No type syntax rules and restrictions on the language level
- Documents map to ubiquitous structural types in all programming languages
- Powerful advanced features - copy, merge, deep merge elements
Usecases:
- Authoring blogs, up to entire websites, from the macro to the micro level
- Generating documentation, invoices, CVs, reports, you name it
- Large scale textfile-based databases and archives
- Configuration files, from the simplest to the most complex
If the code isn’t working the way you think it should, then something about your assumptions is wrong. Look through code to ensure that all the pieces work as you expect them to. Step through the code with a debugger if you can and look for any surprises.
Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks.
It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
Purpose of this Collection
This collection is a presentation of fairly small Python programs. They are aimed at intermediate programmers; people who have studied Python and are fairly comfortable with basic recursion and object oriented techniques. Most programs are very short, not more than a couple of pages and all projects are accompanied with a write-up.
I have found Python to be an excellent language to express algorithms clearly. Some of the ideas here originated in other programs in other languages. But in most cases I developed code from scratch from just an outline of an idea. But one, Lisp in Python was almost a translation exercise from John McCarthy's original Evalquote in Lisp.
From many years of programming these are some of my favorite programs. I hope you enjoy them as much as I do. I look forward to hearing from readers, especially those with suggestions for improvements, ideas for new projects, or people who are doing similar things. You can email me at mailme.html
Many thanks to Paul Carduner and Jeff Elkner for their work on this page, especially for Paul's graphic of Psyltherin (apologies to Harry Potter) and to the teams behind reStructured text and Sphinx to which the web pages in this collection have been adapted.
The other day I was searching for Vim editor cheatsheets on the web. A quick google search brought me so many links to download the cheatsheets. While going through the links one by one, a...
Zeal is an offline documentation browser for software developers.
Related articles
The history and use of parentheses in programming languages, from the beginning of programming to the present day.
Early programming languages only had round parentheses, but later keyboards added brackets and braces.
rapidstring - Maybe the fastest string library ever.
In this article, we offer several different projects, resources, and tutorials that you can use to start building things with Python.
Unlock the Power of Web Components. Polymer is a JavaScript library that helps you create custom reusable HTML elements, and use them to build performant, maintainable apps.
I've been programming in C and C++ for over 25 years. I have a PhD in Computer Science from a top-ranked program, and I was a Distinguished ...
Rocket is a web framework for the Rust
programming language that makes it simple to write fast web applications
without sacrificing flexibility or type safety.