Skip to main content


Showing posts from 2019

Kotlin Versus Java - A Developer's Rosetta Stone

For programmer's wanting to get to know Kotlin, here is a side-by-side comparison of Java and Kotlin covering features, variables, functions, classes, collections and more.  As to why you would want to get acquainted with Kotlin, there are several reasons. First unlike Java, it's modern and as such does not carry the burden of the past in trying to stay compatible with it at any cost. However, Java is still going strong as we've seen in  "How is Java Doing?-State of Java in 2019"  despite being heralded as the 'old horse' of the programming language collective: Java has always been the favorite - enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it. But for young startups, those fresh to the art of programming or on the other side, those experienced but looking for better alternatives or feeling adventurous, Java is unfortunately not recommended. full article on i-

How is Java Doing?

At this time of year surveys summing up the year bombard us from all sides. Here we have Baeldung's take on the state of Java In 2019. Java continues on, despite being heralded as the 'old horse' of the programming language collective. It is still at number one in the Tiobe Index, is fighting with Javascript and Python for second place on both  PYPL  and  RedMonk , and is third as the most popular language on GitHub by repository contributors (according to  GitHub Octoverse ). It's that timelessness that means that Udacity, which mostly specializes in trendy languages, frameworks and topics such as Kotlin, React, Data Science, Android, AI and Autonomous Vehicles acknowledges the need for a Java Developer Nanodegree, as we outlined in  Enrollment Open for New Java Developer Nanodegree  where we reported that: full article on i-programmer

Introduction to Web Accessibility

It is estimated that at least 15% of the world's population consists of people with disabilities. This  translates to millions who have the same right to information as the rest. The W3C has provided a course on the edX platform to help cater for this often under-served web audience, Designing for inclusion is one thing, avoiding lawsuits is another. Accessibility, especially as regards access to the Internet, is a much debated topic: FULL ARTICLE ON I-PROGRAMMER.INFO

AI for Oceans - Kids Use Computer Science For Good expands beyond teaching the concepts of coding. It moves on to artificial intelligence, AI. Computer Science Education Week starts today and with it Hour of Code events in schools around the world. Teaching coding isn't enough any longer! Kids should also be taught the concepts of AI at the same time! As we've examined in " Artificial Intelligence for K-12 " things evolve rapidly and familiarization with AI from school age is the new norm among the tech education industry: full article on i-programmer

What Eats Your Programming Time

ActiveState has published the results of its 2019 Developer Survey with the title "Open Source Runtime Pains". It provides interesting insights into the challenges faced by coders when working with open source runtimes.   "Coder" used here embraces a wide spectrum of IT jobs such as developers, engineers, data scientists, Q&A, etc. Specifically out of the 1250 survey takers, 65.4% were professional developers,  15.3% were hobbyists, 10.2% students with 9.1% being "others".  full article on i-programmer

Kubernetes for Full-Stack Developers

If you are interested in using containers, in particular Kubernetes, Digital Ocean has provided a  self paced, and free, community curriculum and there's also a  fun introduction from the Cloud Native Foundation. Before you jump into DO's tutorials, there's a more fun alternative resource which introduces the total newbie, including kids, to the same concepts. It's the  The Illustrated Children’s Guide to Kubernetes  by the Cloud Native Foundation starring Phippy, Goldie and Captain Kube and is:   dedicated to all the parents who try to explain software engineering to their children. full article on i-programmer

The Raku Beginner Tutorial

If you want to get to grips with Raku, formerly Perl 6, there is a 30- part YouTube playlist to get you started with it. After splitting from Perl 5 and its renaming from Perl 6 to Raku, a move that has cleared up much confusion (see  Perl and Raku Both Anticipating Newfound Glory  if you missed the story to date)  the time has come to familiarize yourself with the language up and close. There are many ways to get started, such as with a good book like  Think Perl 6  which I awarded a 5-star review when I reviewed it, but what better way to get a quick overview than a few well-made (and free) video tutorials? Yanzhan Yang has provided us with just that and, as a matter of fact, some of the material that he bases his tutorials on comes from the Think Perl6 book. full article on i-programmer

The Open Source Guides To Managing Open Source Software Projects

A set of guides detailing the ins and outs of launching, managing, maintaining and contributing to open source projects has been made available. Although created and curated by GitHub, with input from outside community reviewers, they are not exclusive to GitHub products. The guides have something for every role involved in open source software (OSS), be it a manager, a maintainer or simply a contributor. They also serve as reminder of the effort and amount of work an open source project requires in order to be kickstarted as well as maintained. As we skim through them you'll certainly be left overwhelmed by the extent to which OSS needs help and input. full article on i-programmer

The Perl Master Plan -Fact or Fiction?

Will 'the Chill' Braswell, President of the Austin Perl Mongers but mostly know for his work on the RPerl fork, spearheads the "Perl Master Plan" initiative which aims to reinstate Perl as a prime force in the programming world. As an idea and roadmap it seems good. Its execution is not.  The plan proposes a number of targets that the effort should be directed to - Education, Jobs and Performance amongst others. Introducing the focus on Apps the proposal reads: full article on i-programmer

Perl Unicode Forensics

Are character encodings and environment incompatibilities messing with the your data? Why it happens and what to do about it.  A SOAP message is delivered to an Apache server which runs a SOAP::Lite powered Perl CGI script that acts as the SOAP server. The script interacts with Ingres, reading and inserting data. Both Perl and Ingres are fined tuned to speak iso8859/7 Greek. The issue was that the same CGI script produced different results when run under different servers. In the first case the Greek characters sent by the client and consumed by the server are getting into the database as they should do, while in the second case the very same data under the same workflow ends up as "garbage".That is, for example, Greek character capital A, or alpha, ends up as sequence "Γ\201". full article on i-programmer

Cyber.dic - Spellchecking For Tech Terms and Acronyms

Tired of your word processor red squiggling perfectly acceptable technical terms and acronyms? The cyber.dic spellcheck dictionary puts an end to that!  Default spellcheck dictionaries do not include the niche technical terms that most security professionals need to use in their emails, reports, and presentations. Cyber.dic solves that problem by augmenting your word processor’s dictionary with more than 1,700 terms that are likely to be treated with a red underline in your documents. full article on i-programmer

Perl and Raku Both Anticipating Newfound Glory

Perl 6 is going to be renamed to Raku. What will that change herald?  Despite Perl 6 starting out as a community rewrite, Larry Wall still possessed the rights to the name. As such despite the name change calls from prominent and core members of the project's development community, which were funneled into pull requests on its GitHub repository, Larry's approval was still required. He finally gave in in replying to pull request  Path to raku   in Biblical fashion: full article on i-programmer

Learn Python with Microsoft or the University of Michigan

Python is on the rise, predicted soon to overtake Java as the most popular programming language on the Tiobe index. Should you catch up? Yes you should. From general programming, to APIs and web backends to Data Science,  Python shows its strength and versatility. Even Microsoft is looking beyond its .NET wunderkids and shows love with supporting Python deep within its popular IDE's of Visual Studio and VS Code and  even in Windows 10 . The love does not stop there though.It offers educational material in the shape of 44-part YouTube video based course aptly named  "Python for Beginners" . full article on i-programmer

CyberChef - The Developer's Ultimate Toolbox

Encoding, encrypting and converting data formats, open source and collected under one roof inside the browser and all thanks to GCHQ - yes, a government intelligence agency. Are all government agencies falling in love with GHitHub and open sourcing their tools? Of course the recent and hottest headlines belong to NSA's release of its reverse engineering tool Ghidra,but this latest offering from the UK's Government Communications Headquarters (GCHQ) should not go unnoticed or be underestimated. full article on i-programmer

Kite - AI Powered Auto Completion for Python

Productivity is not just associated with saving keystrokes but it comes from making smart suggestions too. This is something that Kite does with its new AI-powered Intelligent Snippets. I discovered Kite back in 2017 and presented its capabilities in  Kite - Smart Copilot For Programmers . Today's news is that it's been updated with AI capabilities, which I'm going to go through after a quick refresher about what this tool is and what is can do for you. Kite is a plugin for your IDE that acts as a coding "copilot", likened to the buddy with whom you do peer coding. Kite integrates with your favorite editor and monitors your typing in order to display highly relevant information. For example, Kite unveils Python packages or function signatures as you type: full article on i-programmer

All You Wanted To Know About AI From DeepMind

The DeepMind podcast is hosted Dr Hannah Fry and attempts to give answers to the most frequently encountered questions about Artificial Intelligence. Dr Fry is a widely known mathematician, scientist, broadcaster and YouTuber (see the You Tube  Numberphile  channel amongst others). In thse prodcats she chats with DeepMind engineers and researchers to: "explore topics such as the link between neuroscience and AI, why we use games in our research, building safe AI and how AI can be used to solve scientific problems". Commencing on August 20th, the first 5 parts in this 8 part series have already been published: full article on i-programmer

Can Regular Expressions Be Safely Reused Across Languages?

That is, can I reuse a regular expression crafted in JavaScript verbatim in Python? In doing so, will I get the same results and performance? Enter your languages of interest in place of JavaScript and Python, the question remains the same.  It is a not well kept secret that programmers are huge fans of copying and pasting code snippets, regular expressions included, that are freely available across the web. But unlike copying and pasting code within the boundaries of the same programming language, does copying a regular expression that was crafted in one language into another work as assumed, or would it introduce errors, both semantically and in performance? "Why Aren’t Regular Expressions a Lingua Franca? An Empirical Study on the Re-use and Portability of Regular Expressions"  is a paper that attempts to shed light on the question: are regular expressions truly portable? full article on

Enrollment Open for New Java Developer Nanodegree

Java? I hear you say. Does this old horse stand a chance in the era of cool programming languages? The short answer is yes and Udacity is just launching a Nanodegree to help devs get up to speed with it. Old but timeless, is the answer. Java has always been the favorite - enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it. The reasons are plenty. The one that enterprises value most is backwards compatibility, being notoriously allergic to radical updates and upgrades. Systems that worked 20 years ago, written in Java 5, should be able to compile and run under version 8. Stability is what matters. full article on i-programmer

How AI Discriminates

“Survival of the Best Fit” is a game developed by New York University that demonstrates practically how Machine Learning algorithms can make decisions based on bias.  The game gives you the role of a CEO of a newly funded company which has secured funding and is in the phase of recruiting personnel to staff it. In the beginning you screen the submitted CV's alone. Your screening is based on the criteria of Skill, School Privilege, Work Experience and Ambition and since you do that yourself you can judge applicants according to your experiences and values. In my case I was hiring people with 14% more work experience than the average applicant. full article on i-programmer

Refactoring to Kotlin Codelab

Learn how to convert Java to Kotlin by following Kotlin's idioms with Google Developers Codelabs. Refactoring to Kotlin, which is available in English, Brazilian and Chinese, provides a guided, hands-on coding experience in a running time of just less than an hour. While the latest IDE's do a good job in automatically converting Java code into Kotlin, this doesn't preclude that you also understood the mapping from the one code base to the other.Further you are naturally predisposed to continue writing Kotlin under Java's mentality, following Java's practices and idioms. The  Refactoring to Kotlin Codelab  aims to change that. full article on i-programmer

State of AI 2019 Report

An insightful report  on the future of AI has recently been published on SlideShare. It consists of 130 slides covering the most important machine learning research, industry and political developments over the past 12 months and includes a new section on China and here we look at its most important points. full article on i-programmer

Hasura's Guide to GraphQL

Hausura has provided a mini course on the basics of GraphQL which will be of interest to anyone who want to get to grips with the open source Graph QL engine. Hasura's main product is its Postgres backed GraphQL server, which sports features such as webhook triggers on database events and remote schemas. (As a side note if you are interested in the concept of database events, then you might want to check out  Connecting To The Outside World with Perl and Database Events .)  The topics covered are : GraphQL vs REST GraphQL queries, mutations, subscriptions Setting up a GraphQL client with Apollo Integrating GraphQL queries in your react native app Integrating GraphQL mutations in your app to change data on the server Updating local state after a GraphQL mutation (TextInput) using Apollo cache Automatic updates to local state and UI after mutations Using subscriptions with subscription components Building a real-time feed with notifications using mutations and subsc

Finland's "Full Stack Open" Now Available in English

Written by Nikos Vaggalis    Tuesday, 16 July 2019 Finland's educational system is famous for three reasons: its pedagogical outlook, its technological excellence and its openness to the world.  Sticking to the latter, University of Helsinki's "Full Stack Open 2019" which familiarizes students with the basics of modern web application development, initialy taken in Finish only, has been made available in English too, under the permissive Creative Commons BY-NC-SA 3.0 license: “We wanted to make the course available in English as a way to offer Finnish university education for free to an international audience” full article on i-programmer

GANPaint: Using AI For Art

What if tools powered by Neural Networks could save artists considerable amounts of time, or even enrich their work?   GANPaint Studio offers a glimpse into the creative tools of the future: The tool takes a natural image of a specific category, e.g. churches or kitchen, and allows modifications with brushes that do not just draw simple strokes, but actually draw semantically meaningful units – such as trees, brick-texture, or domes The innovation lies in that its paint tools/brushes don't paint with pixels but are object aware and instead paint those objects into the picture.A brush is associated with a group of neurons which themselves are associated with trees therefore using this brush paints trees; others can do doors or windows. full article on i-programmer

PyRobot - Python for Robotics

We've grown accustomed to hearing about Python being used for pretty much everything, albeit mostly for data science. It's time to consider it for robotics too.  The same way Python provides a higher level of abstraction over programming concepts, so does PyRobot but for robotics; abstracting away the low-level controls from the high-level motion generation. It's an open source framework springing out of the collaboration of Facebook's AI Research and the Robotics Institute of Carnegie Mellon University, which aims to make researching for robotics a much easier proposition by providing a much more accessible software development environment. full article on i-programmer

Fuchsia Casts Shadow on Future of Android and Chrome

Fushia's existence was akin to a conspiracy theory until Google finally confirmed it at I/O 2019 in May. What does it mean for the rest of Google's operating systems?  It's not a secret that despite its omnipresence at the mobile devices front, Android OS has its own share of problems, both as an end user but also as a developer platform. Fragmentation of version releases and their cumbersome updating, instability, security and privacy are the concerns plaguing the end user. Developing for the platform is not a smooth operation either. full article on i-programmer

Does OpenAI's GPT-2 Neural Network Pose a Threat to Democracy?

Undoubtedly OpenAI's Neural Network for deep text generation was built with good intentions, but can its sheer power become a recipe for disaster? GPT2 started life as a what word follows next predictor, just as Gmail or the virtual keyboards in our mobile devices do. For that purpose it was trained with a massive 40GB dataset, a database collected from sites around the web heavy in text, mostly news sites. The dataset was fed into the Neural Network in order to build a linguistic model as a basis for predicting the next word. That, of course, means that it can generate text, well as far as the next word goes. However, it turns out that the model became so good at it that it also learned to generate complete meaningful sentences: full article on i-programmer

Percona's DBMS Popularity Survey

Open Source vs. Commercial, Public Cloud vs. On-Premise vs. Hybrid Cloud? Which one? Last month ScaleGrid attended Percona's Live event, got the insight on the most used "databases" by Percona's clients in 2019 and made a report out of it. I'll ignore the fact that the report mistakenly uses the term "database" in place of (R)DBMS, so that I can just focus on the juicy stuff. The popularity categories are broken down into: Top Databases Used: Open Source vs. Commercial Cloud Infrastructure Analysis: Public Cloud vs. On-Premise vs. Hybrid Cloud Polyglot Persistence Trends: Number of Databases Used & Top Combinations So first of all, the lowdown on the top Open Source "Databases". full article on i-programmer

Learn VIM with the OpenVim Interactive Tutorial

Software development is flooded with IDE's and text editors, the general consensus being that VSCode is the most popular. What about Vim? Hardcore Linux devs who like to get their hands dirty still prefer the timeless and venerable Vim. Personally, I think that anyone working with a Linux shell should first learn to use Vim. I use it for writing Perl, shell scripts or manipulating text without craving the bells and whistles that VSCode offers. When I started out with Vi(m), there were just a few text-based tutorials, but now they come in a variety of formats, and certainly when I was starting out I would have found such a good flashy and interactive guide most helpful. full article on i-programmer

Dashing Diademata, the Future of ROS

The new distribution of ROS2, code named "Dashing Diademata", is the first Long Time Support release following last year's "Crystal".  Along with it, there are many new features that aim to establish ROS as an industry wide standard, to be used safely in commercial applications. But Diademata also breaks ties with its ROS1 predecessor, a move that signifies time to upgrade. full article on i-programmer

Cooperative AI Beats Humans at Quake CTF

Who said that only humans can collaborate? AI not only managed to break this barrier too, but it also managed to beat humans at their very own game. Fun aside, Capture the Flag competitions are difficult to win even for humans. In a competition like this, each competing team comprising of two or more teammates occupies a basecamp identified by a distinct flag. The team has to protect its flag at all cost, but at the same time capture and hold the other teams' flags in order to win the competition. It's the exact same thing happening when a country gets conquered, the winner folding the home flag to replace it with its own symbol. In tech slang, that's the definition of 'owned'. full article on i-programmer

Artificial Intelligence for K-12

The AI for K-12 Initiative wants to kick-start the discussion on how to incorporate learning about AI in the United States school curriculum, ultimately leading to national guidelines.  The AI for K12 working group led by Professor David Touretzky, an AI researcher at Carnegie Mellon University was announced a year ago by the AAAI (Association for the Advancement of Artificial Intelligence, formerly the American Association for Artificial Intelligence). The project is in collaboration with the Computer Science Teachers Association and AI4All, a nonprofit that works to increase diversity and inclusion in artificial intelligence.  full article on

SAP's Creating Trustworthy and Ethical Artificial Intelligence

With the ink hardly dry on the pages of the EU Ethical AI Guidelines manifest, a free online course exploring the issues they raise is already in prospect on the openSAP platform. Run by members of the very same group, the European Union’s High-Level Expert Group on Artificial Intelligence, who wrote the guidelines and in cooperation with SAP's online education platform, a course with the title   Creating Trustworthy and Ethical Artificial Intelligence  has been made accessible to anyone with an interest on AI or ML: full article on

Wolfram Engine for Developers Now "Free" + Wolfram Client Library for Python

The Wolfram Engine, which powers the Language as well as Wolfram's desktop and cloud products, is being released as free for developers (with limitations) so that it can be tried out and bundled into their software engineering projects.  The range of the software projects into which the Engine can be bundled and the environments it runs is outstanding. It can run on Linux, Mac, Windows, desktop, server.It can be called from scripts or programming languages such as Python or Java, and can inter-operate with sockets, ZeroMQ and MQTT amongst others. full article on

Udacity's Developing Android Apps with Kotlin

Kotlin is everywhere, well at least for Android. This new Udacity course shows how developing for the platform has radically changed. Java people, things don't look that good. Since our epic journey through the  Android Developer Nanodegree , things have changed a lot, dramatically a lot.Caveat, to be able to follow along this course you have to first know Kotlin, if not then it's best to start with a course purely on Kotlin such as the  Udacity Kotlin BootCamp for Programmers , which is free. Alternatively get a copy of  The Programmer's Guide To Kotlin ,  part of the I Programmer Library   and   newly available as a print replica Kindle Edition. Saying that, it's not just the introduction of Kotlin that has changed the face of development but the whole revamping of the platform, the libraries and the way of building apps. Admittedly, developing for the platform has never been an easy task to undertake. Memory leaks, notorious Fragment handling and Asynchronous pr

Kickstart Coding With Endless OS

Endless is a Linux distribution that comes with all the usual office and entertainment apps. It also includes a range of games involving visual coding with blocks or JavaScript, designed to kick-start kids into coding. Version 3.5.8 of the distribution comes with the following games, some employing visual block-based coding and others being text-based full article on i-programmer

A Reverse Engineering Workshop for Beginners

A Reverse Engineering workshop for absolute beginners comes from cybercrime researcher Ophir Harpaz. It is available, for free, online. What do people usually do in their free time ? They watch movies, read a book, go for a walk. Not Ophir, she spends her time reverse engineering binaries! However, she's not the only one with this interest, therefore she's compiled this magnificent web version of her 2018 Reverse Engineering workshop to share her experience with those of us who share her passion. So Reverse Engineering in this context is considered to be figuring out what a program does by examining the instructions the program "gives" to the CPU. full article on i-programmer

Google Promotes ChromeOS at Google I/O

Google seems determined to push heavily for ChromeOS judging from the announced goodies at its annual developer event, Gogle I/O.But is it at the expense of its other well-loved operating system, Android? ChromeOS is an ever-evolving operating system. At last year's Google I/O, its integration with Linux was announced, so that devs could use it create Linux apps. This year you can also create Android apps more easily than before. full article on i-programmer

Machine Learning Applied to Game of Thrones

No-one wants the beloved series to end. Some, like the geeks at Pachyderm, have gone to great lengths to extend its life span, to the point of employing ML to serve the Iron Throne.  This is a new example of  style transfer  where ML identifies the essential characteristics of a genre in order to create its own examples, such as we've seen before with  art   and even with  cooking . But first of all, what is Pachyderm and where does that word come from? full article on i-programmer

OpenSSH Version 8.0 Released

The OpenSSH suite, a complete SSH protocol 2.0 implementation which includes a sftp client and server, reaches version 8.0. The release mainly fixes a vulnerability (CVE-2019-6111) in the scp protocol that: more info on i-programmer

Python & Webassembly Plus Science Equals Pyodide

Based on Iodide, we now have Pyodide which allows a Python interpreter to run inside the browser and create living documents there, thus bringing data science to the browser. As we've seen in " Run VSCode in the browser ", portability is the new trend sought after. And with that we mean the ease of running everything inside the ubiquitous browser, be it an IDE, a game or an interpreter.  Pyodide is the Python offspring of Iodide, the attempt to bring Javascript and science to the browser. Iodide was already a success, but since Javascript had no well-defined scientific stack whereas Python does, the idea of replacing JavaScript with Python was suggested. And thus, Pyodide. full article on i-programmer

How Do Open Source Deep Learning Frameworks Stack Up?

As the popularity of deep learning increases, finding application in all sorts of cases, so does the popularity of the various DL frameworks and libraries, making it difficult to choose between them. To provide an informed choice academic researchers devised and ran benchmarks.  The results are published a a pre-print on with the title "A Detailed Comparative Study Of Open Source Deep Learning Frameworks". full article on i-programmer

Run VSCode in the Browser has open sourced its cloud-server component which allows VSCode to run on a remote server fully accessible through the browser.  What is the advantage of that? Code on your Chromebook, tablet, and laptop with a consistent dev environment. Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. Preserve battery life when you're on the go as all intensive computation runs on your server, plus you're no longer running excess instances of Chrome. Code-server is available as a single binary or Docker image and can be self hosted  locally , which of course beats the purpose of portability, or on remote servers such as a VPSs' on  Digital Ocean full article on i-programmer

An annotated analysis of the EU Ethics Guidelines For Trustworthy AI

Having seen the potential of AI, the European Commission has released a set of ongoing guidelines on how to build AIs that can be trusted by society. We present an annotated analysis. It is refreshing to see that the EU Commission follows the trend in the technological advancements, setting up pilot groups to understand how these advancements can be used for its own prosperity. Examples of that are the EU Blockchain Observatory which we've looked into in the article  "EU Blockchain Observatory and Forum Blockchain AMA"  or the EU bug bounty initiative which we've looked into in  "EU Bug Bounty - Software Security as a Civil Right" . The Commission's instrument in this case is the High-Level Expert Group on AI (AI HLEG), an independent expert group set up in June 2018. The aim of the HLEG is to draft two deliverables:  AI Ethics Guidelines  and  Policy and Investment Recommendations . It's the former that we'll be focusing on here. The aim

A MIT Crash Course On Hacker Tools

MIT has provided an online version of crash course on navigating the command line, using a text editor and version control, automating mundane tasks, managing packages and software and configuring your environment.  Being at least familiar with the command line and knowing how to set up a programming environment is an essential aspect of today's college classes, even not those directly associated with Computer Science.This MIT class, originally presented on-campus during the winter break, aims to fill that gap by familiarizing students to those handy computing practices. We've felt the importance of that in the article  "How To Successfully Teach Computing Disciplines To The Uninitiated"  where we saw how you can turn a student with little background in computation into a competent programming computer user, witnessing how SciNet, the supercomputer department of the University of Toronto, teaches computing disciplines to graduate students in emerging fields such

Functional Programming Patterns With RamdaJS

An interactive course on Educative's platform exploring the underlying principles of FP in Javascript with aid of the small RambdaJS library. It is addressed to programmers already familiar with Javascript at intermediate to advanced level. Let me start by saying that this is obscure the concepts with each other. It's also interactive as you won't have to leave your browser window to run the code examples. All the code is embedded within the course's web pages and runs in place, hence there's no need to open a separate browser tab or window in order to load a code playground. However, if that is your preferred way of doing things, there's also a dedicated RambdaJS playground available at full article on

"Risk-First Software Development: The Menagerie" book review

This first volume of the Risk-First series, looks at managing software projects under an alternative perspective.  This book draws on the author's long lasting experience with software projects and is based on empirical rather than scientific evidence; "Is it scientific? No. Is it correct? Almost certainly". During his career, Rob Moffat came to the conclusion that things don’t match up with the way the books say they should be done. This view was formed when he observed that:  Development Teams put a lot of faith in methodology. Sometimes, this faith is often so strong it borders on religion. For some, this is Prince2. For others, it might be Lean or Agile. Developers put a lot of faith in particular tools too. Some developers are pro-or-anti-Java, others are pro-or-anti-XML. All of them have their views colored by their experiences (or lack of) with these tools. full article on i-programmer

How To Successfully Teach Computing Disciplines To The Uninitiated

How can you turn a student with little background in computation into a competent programming computer user? Could the solution be R and data science. This topic is addressed in a research paper on how SciNet, the supercomputer department of the University of Toronto, teaches Computing Disciplines to graduate students in emerging computational fields such as biology and medical science. Toronto University specifics aside, the research paper contains valuable insight on how to construct a successful course on just about any subject in general.SciNet despite not a teaching department but rather a research consortium, offers this course to the University's students in partnership with other University departments such as the Institute of Medical Science, the Physics Department or the Department of Physical and Environmental Sciences. full article on i-programmer

TCAV Explains How AI Reaches A Decision

Why is it important to understand the inner workings of a neural network? Read on to find out and to be introduced to Google's machine-to-human translator tool, TCAV (Testing with Concept Activation Vectors)  As AI becomes more and more integrated into all aspects of human activity and life there's a pressing need to find a way to peek into its decision making process.This is very important in sectors such as Healthcare, that are critical to humans' wellbeing. Take for example SkinVision, a mobile app that by taking a picture of a mole can decide if its malignant or not. Would the diagnosis be incorrect or misinterpreting a malignant mole as benign could have dire consequences.But the other way around is not without defects as well.It would cause uninvited stress to its users and turn them into an army of pseudo-patients who would come knowing down their already burned out practitioner's door. full article on i-programmer

Computer Science Curriculum From Minecraft

Teaching Computer Science at school just got easier as Microsoft is making a 30-hour curriculum, targeted at students in the age range 11 to 16, available as a free download. The curriculum is based on Minecraft Education Edition, a version that offers special features for educators, and Microsoft MakeCode, a block- and JavaScript-programming editor as means for teaching the basics of coding and computational thinking skills. The course is comprised of 10 units with each focusing on specific computer science concepts and programming skills. Teaching all units and lessons will require approximately 30 hours of instruction, with each unit including 1-4 lessons of approximately 45-60 minutes each. more info on i-programmer

LiteCLI - SQLite Client with Autocomplete

LiteCLI is a new open source command line client with many good features. Built in Python it is hosted on GitHub. There are quite a few SQLite GUI clients, such as DB Browser and Sqliteman, but not that many command line/terminal ones. Despite being command line, the new offering, LiteCLI, is feature rich, including: full article here

The Enduring Influence Of Postgres

A historical recollection of the Postgres project and its impact on the DBMS industry provides an insight into the key features of the object-relational database as conceived by Mike Stonebraker. Looking Back at Postgres,   freely available as an pdf, is an essay that also forms part of the just released book  "Making Databases Work The Pragmatic Wisdom of Michael Stonebraker" . It comes from Joseph M. Hellerstein, a prominent research member of the UC Berkeley Postgres project, which was led by the Stonebraker think tank from the mid-1980's to the mid-1990's, and takes us on a magnificent tour through the evolution of the Postgres project. During that journey, Hellerstein pauses on its milestones to elaborate on its forward thinking that planted the roots of the technologies that shape the database industry today, decades after the project's conception. full article here

Neural Networks In JavaScript With Brain.js

A fun and practical introduction to the underpinnings of AI.  Working with AI is increasingly easier thanks to new and versatile libraries which encapsulate all the logic so you don't have to, to the extent that  your AI skills are worth less than you think : As exciting as the progress is, it’s bad news for both companies and individuals who have invested heavily in AI skills. Today, they give you a solid competitive advantage, as training a competent ML engineer requires plenty of time spent reading papers, and  a solid  math background to start with. However, as the tools get better, this won’t be the case anymore. It’ll become more about reading tutorials than scientific papers. If you don’t realize your advantage soon, a band of interns with a library may eat your lunch The truth is that it is the combination ... full article here