Well, as the title states we'll be addressing software development topics (mainly in English). Topics will be quick and short and most probably aligned with the training "problems", sorry, programs I am involved in. PS. Some links are "internal" (not publicly available): If you are not able to reach it, google will find you a publicly available information source for sure. Happy trails to you.
terça-feira, 2 de março de 2021
SW DEV: Kanban Maturity Model
domingo, 29 de março de 2020
SW Development: MISRA Coding Standards
SW Development: About C++ Adoption (in Embedded)
Pros and Cons of C++17 Features
The latest version of C++ includes features that improve your code, performance, and security. While these are nice features, they're not earth-shattering.
Algorithm Optimization
One of the biggest additions is the introduction of the parallel algorithms library.
Multi-processor systems are required for computer-intensive programs and artificial intelligence. The parallel algorithms library makes it easier to execute standardized algorithms on this type of system.
Cleaner Code
There are two features that will enable cleaner code:
- Selection statements with initializer.
- Structured bindings.
This also reduces keystrokes for those who understand the syntax.
So, these features provide a step up for cleaner code.
Interested in writing cleaner code? Get coding best practices for C++ >>
Better Performance
“Guaranteed copy elision” is designed for improved compiler optimization. So, it may improve runtime performance.
Safety and Security
The latest C++ features will improve the safety of your program and ensure secure coding, including the following:
- Removal of trigraphs and dynamic exception specifications.
- Stricter order of expression evaluation.
- Introduction of std::byte type.
The first two features prevent unspecified or undefined behavior.
The std::byte feature improves type safety. It distinguishes byte-oriented access to memory from accessing memory as a character or integral value. It also improves readability. The intent of the code is clearer.
quarta-feira, 25 de março de 2020
SPARQL query language by W3C
sábado, 21 de março de 2020
Web tracking techniques...
Cookies
A cookie (sometimes referred to as local storage object or LSO) is a data file placed on a device. Cookies can be created through a variety of web-related protocols and technologies, such as HTTP (sometimes referred to as “browser cookies”), HTML5, or Adobe Flash. For more information on third-party cookies that we use for analytics, please review the table of cookies and tracking technologies within this Cookies and Tracking Technologies Policy.
Web Beacons
Small graphic images or other web programming code called web beacons (also known as “1×1 GIFs” or “clear GIFs”) can be included in our online service’s pages and messages. Web beacons are invisible to you, but any electronic image or other web programming code inserted into a page or email can act as a web beacon.
Clear gifs are tiny graphics with a unique identifier, similar in function to cookies. In contrast to HTTP cookies, which are stored on a user’s computer hard drive, clear gifs are embedded invisibly on web pages and are about the size of the period at the end of this sentence.
Deterministic Finger-printing Technologies
If a user can be positively identified across multiple devices, for instance, because the user has logged into a platform such as Google, Facebook, Yahoo or Twitter, it can be “determined” who the user is for purposes of improving customer service.
Probabilistic Finger-printing
Probabilistic tracking depends upon collecting non-personal data regarding device attributes like operating system, device make and model, IP addresses, ad requests and location data, and making statistical inferences to link multiple devices to a single user. Note that this is accomplished through proprietary algorithms owned by the companies performing probabilistic finger-printing. Note also that in the EU IP Addresses are personal information.
Device Graph
Device graphs can be created by combining non-personal data regarding use of smartphones and other devices with personal log-in information to track interactions with content across multiple devices.
Unique Identifier Header (UIDH)
“Unique Identifier Header (UIDH) is the address information that accompanies Internet (http) requests transmitted over an ISP’s wireless network. For example, when a customer types on his or her phone the web address of a retailer that request travels over the network and is delivered to the retailer’s website. The information included in that request includes things like the device type and screen size so that the retailer site knows how to best display the site on the phone. The UIDH is included in this information, and can be used as an anonymous way for advertisers to be able to determine that the user is part of a group that a third-party advertiser is attempting to reach.
It is important to note that the UIDH is a temporary, anonymous identifier included with unencrypted web traffic. We change the UIDH on a regular basis to protect the privacy of our customers. We do not use the UIDH to collect web browsing information and it does not broadcast individuals’ web browsing activity out to advertisers or others.”
Embedded Script
An embedded script is programming code that is designed to collect information about your interactions with the online service, such as the links you click on. The code is temporarily downloaded onto your device from our web server or a third-party service provider, is active only while you are connected to the online service, and is deactivated or deleted thereafter.
ETag, or Entity Tag
A feature of the cache in browsers, an ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL. If the resource content at that URL ever changes, a new and different ETag is assigned. Used in this manner ETags are a form of device identifier. ETag tracking generates unique tracking values even where the consumer blocks HTTP, Flash, and/or HTML5 cookies.
Unique Device Tokens
For each user that accepts push notifications in mobile apps, the app developer is provided with a unique device token (think of it as an address) from the app platform (e.g., Apple and Google).
Unique Device ID
The unique series of numbers and letters assigned to your device."
Source: https://www.voxmedia.com/legal/cookie-policy#your-cookie-choices-and-how-to-opt-out
terça-feira, 4 de setembro de 2018
API: Help on spotting Child Abuse (in photos)
An API using AI to help content managers spotting (automatically) child abuse; by Google:
https://www.engadget.com/2018/09/03/google-ai-tool-detects-child-sex-abuse-images/
Quoting:
"Google offers AI toolkit to report child sex abuse images
It can catch horrific content while reducing the need for human oversight.
Unlike the conventional approach, which simply compares image hashes against known offending images, the AI method can also flag previously undiscovered material. That, in turn, could help authorities catch active offenders and prevent further abuse.
The tool is free to both corporate partners and non-governmental organizations through Google's Content Safety programming kit. While there's no certainty that it'll have a dramatically reduce the volume of horrible images online, it could help outlets detect and report child sex abuse even if they have only limited resources."
sábado, 31 de março de 2018
SW Development: Agile enters aviation?
https://www.flightglobal.com/news/articles/us-auditor-gives-backstory-of-software-reform-on-f-447143/
Quoting:
"Instead of releasing large quantities of new software-cabled capacities in multi-year blocks, the F-22 programme carved up the development work into smaller slices of capabilities that could be delivered every 12-14 weeks, the audit says.
As each new software update is coded, developers perform integrated testing to tackle bugs in more manageable chunks. Rather than waiting until the end of a multi-year block development to begin integrated testing.
The F-22 programme called the new method the Scaled Agile Framework (SAFe), according to the IG. The approach was once limited limited to the F-22 programme, but the idea began to spread last year.
In September, Vice Adm Mat Winter, the F-35’s programme executive officer, said agile-based software development would be applied to future upgrades of the F-35 and the F-22. He did not mention that the F-35 was following the lead of the F-22, which the IG report reveals had started using the incremental method four years earlier."
quarta-feira, 21 de fevereiro de 2018
AI and Software development
The AI fever is coming to the SW Development world. I mean, not developing SW with AI features, but using AI to improve software development (quality and more) Outsystems (a low code platform provider is "catching the train"):
https://www.scientific-computing.com/news/outsystems-launches-centre-excellence-increase-ai-application-development
Quoting:
" new centre will initially focus on three big projects including developing AI assistants by providing best practice patterns, components, and widgets during application design, AI Assistants will make developers more efficient and become the new paradigm for pair programming.
The project will also focus on designing AI-based Analysers that will decrease application maintenance costs. By analysing the structure of complex apps before they are deployed AI-based Analysers will be able to predict issues and monitor real-time usage patterns to make recommendations on how to improve and refactor applications.
Finally they researchers also aim to develop AI-based systems that automatically generate new feature recommendations for new applications based on large data sets of usage, error reporting, customer feedback, adoption rates, and business metrics."
quinta-feira, 30 de março de 2017
What is Scrumban?
What is Scrumban? | Agile Alliance
quarta-feira, 1 de fevereiro de 2017
SW Development: Cross-platform development using Apache Cordova (HTML5, CSS3, JS)?
Quoting:
"Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.
Use Apache Cordova if you are:
- a mobile developer and want to extend an application across more than one platform, without having to re-implement it with each platform's language and tool set.
- a web developer and want to deploy a web app that's packaged for distribution in various app store portals.
- a mobile developer interested in mixing native application components with a WebView (special browser window) that can access device-level APIs, or if you want to develop a plugin interface between native and WebView components."
Start here: Your first app.
Wikipedia article is here.
SW Development: Plugin based development - Apache Cordova
A: A plugin is a bit of add-on code that provides JavaScript interface to native components. They allow your app to use native device capabilities beyond what is available to pure web apps.
- Plugin Search - Apache Cordova
- https://cordova.apache.org/plugins/faq.html
- [npm is the default package manager for the JavaScript runtime environment Node.js]
Example of plugins can be seen in the first link (Plugin Search).