July Week 4
Written by Editor   
Saturday, 30 July 2022

Our weekly digest lists the week's news, new titles added to our Book Watch Archive and our weekly book review. This week's first featured article comes from Raspberry Pi IoT In C Using Linux Drivers. The other is a short tutorial in which Mike James introduces the Genetic Algorithm  and creates a program to solve the "blind knapsack" problem using it.

To receive this digest automatically by email, sign up for our weekly newsletter. 

IP2

July 21 - 27, 2022 

Featured Articles  


Raspberry Pi IoT In C Using Linux Drivers - The I2C Linux Driver
Harry Fairhead
article thumbnail

Linux drivers make working with devices so easy - assuming you know how. Here's how to get a Raspberry Pi to work with the i2c bus using the standard driver.

 


The Genetic Algorithm
Mike James
article thumbnail

Genetic algorithms are easy to understand and easy to implement. In this short tutorial we look at the theory and create a program to solve the "blind Knapsack" problem. And we consider a favourite xkcd cartoon and the terrible warning it contains...


Banner

Programming News and Views   

Pythonic Code Automatically
27 Jul | Mike James
article thumbnail

Python is different in that its community has a strong sense of what makes code "pythonic". It means that beginners and interlopers are easy to spot and easy to put down - "dude your code is NOT Pythonic". Now a research team has automatated the act of refectoring code to make it Pythonic.



Amazon Initiatives For Monetizing Alexa
27 Jul | Kay Ewbank
article thumbnail

Amazon has announced a number of improvements for working with Alexa at its recent Alexa Live 2022 conference. There's news of a Skill Developer Accelerator Program (SDAP) for third-party skill developers to build custom skills and grow their businesses with Alexa and the prospect of increased revenue.



New NodeJS Database Driver for Oracle Released
26 Jul | Nikos Vaggalis
article thumbnail

Version 5.4 of node-oracledb, the Node.js and TypeScript module for accessing the Oracle Database, has been released and is available from npm.



PyPi Insists On 2FA For Critical Projects
26 Jul | Kay Ewbank
article thumbnail

PyPi, the Python Package Index, which is the official repository of third-party open-source Python projects, has got tough with its requirements for critical projects. The plan is that two-factor authentication will now be mandatory for developers maintaining critical projects.



Generating Sentences Is Not Evidence of Sentience
25 Jul | Sue Gee
article thumbnail

Blake Lemoine, the Google Engineer who was placed on administrative leave in June after claiming that LaMDA, Google's conversational AI is sentient, has now been fired after Google conducted its own investigation. 



JetBrains Launches Containerized Development Environment
25 Jul | Kay Ewbank
article thumbnail

JetBrains has launched an on-premises beta version of Space, its integrated team environment and collaboration software.



The Power Of Tetris To Improve Human Performance
24 Jul | Sue Gee
article thumbnail

This is a new twist on human computer interaction. Today's teenagers have evolved, or at least have evolved new behaviors, in order to excel at Tetris.



Unicode 15 Adds Shaking Head Emoji
22 Jul | Kay Ewbank
article thumbnail

The beta review period for Unicode 15 is underway, with a smaller number than usual of new emojis. Those that are proposed include a shaking head and pushing hands, and the team at Emojipedia have come up with their annual interpretation of how the potential additions might look.



RoboCup 2022 - What's The Score?
22 Jul | Lucy Black
article thumbnail

This year's RoboCup took place in Bangkok, Thailand and attracted about 1,400 participants from 39 countries and regions who compete against each other in 17 disciplines.



Microsoft Probes What Makes Employees Thrive
21 Jul | Sue Gee
article thumbnail

Microsoft's People Analytics Team has moved from conducting one lengthy annual survey that tracked "employee engagement" to shorter more focused surveys every six months. The results of the first one reveal what it takes to make employees thrive.



Google's Carbon Is Trying To Be A Better C++
21 Jul | Mike James
article thumbnail

Of course, some would say that this isn't difficult as almost anything would be better! Is C++ in need of a replacement? Yes it is - but the problem is that there is a lot of it about.


 

Banner

Books of the Week

If you want to purchase, or to know more about, any of the titles listed below from Amazon, click on the book jackets at the top of the right sidebar. If you do make Amazon purchases after this, we may earn a few cents through the Amazon Associates program which is a small source of revenue that helps us to continue posting.

Full Review 

Kay notes: 

This is the fourth edition of a book widely regarded as a classic since its first publication over twenty years ago.
It book became a classic for good reasons. It has a definite feel of a textbook, but the material is well written and the recommendations for further reading probably make it worth getting without the usefulness of the rest of the material. Recommended.

Added to Book Watch 

More recently published books can be found in Book Watch Archive.

From the I Programmer Library

Latest publications: 

 

pythonObject2e360

This month sees the publication of the revised second edition of Programmer's Python: Everything Is An Object in which Mike James reveals how Python has a unique and unifying approach with regards to class and objects. This is the first of a set of titles at intermediate level for the programmer who wants to understand what makes Python special and sets it apart from other programming languages, hence the strap line "Something Completely Different - which is, of course, a reference to the Monty Python TV and film brand that inspired Guido Van Rossum to name his new language. The subject is roughly speaking everything to do with the way Python implements objects. That is, in order of sophistication, metaclass; class; object; attribute; and all of the other facilities such as functions, methods and the many “magic methods” that Python uses to make it all work. 

 

pythondata360

This is the second of that Something Completely Different titles and explores the way that data is treated in a distinctly Pythonic way. What we have in Python are data objects that are very usable and very extensible. From the unlimited precision integers, referred to as bignums, through the choice of a list to play the role of the array, to the availability of the dictionary as a built-in data type, Python behaves differently to other languages and this book is what you need to help you make the most of these special features. There are also complete chapters on Boolean logic, dates and times, regular expressions and bit manipulation.

MIke James is now working on the third book in the series, Programmer's Python: Async which not only covers the latest asyncio in depth, but has all you need to know about the many approaches to async that Python provides - threads, processes,futures,tasks, schedulers. This is the book you need to understand all the options, trade-offs and gotchas. 

These books aren’t for the complete beginner and some familiarity with both object-oriented programming and Python is assumed, with the first chapter providing a quick recap. They also share an Appendix on using Visual Studio Code from Python.

 

Trick180

Programmers think differently from non-programmers, they see and solve problems in a way that the rest of the world doesn't. In this book Mike James takes programming concepts and explains what the skill involves and how a programmer goes about it. In each case, Mike looks at how we convert a dynamic process into a static text that can be understood by other programmers and put into action by a computer. If you're a programmer, his intent is to give you a clearer understanding of what you do so you value it even more.  

Last Updated ( Saturday, 30 July 2022 )