Mostrar mensagens com a etiqueta SW Development. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta SW Development. Mostrar todas as mensagens

terça-feira, 2 de março de 2021

SW DEV: Kanban Maturity Model

Now that kanban is more and more being used for software development...

Kanban Maturity Model
Quoting: 
"The Kanban Maturity Model codifies more than 10 years of experience implementing Kanban across diverse industries, in businesses small to extremely large. It plays an important role in creating unity, alignment, a sense of purpose and good governance. Use it to gain a better sense of achievement, provide better products and services, delight your customers, and realize superior business results."

Downloadable Key KMM Resources:
- KMM Organizational Culture
- KMM Managed Evolution
- KMM Outcomes and Benefits
- KMM Overview
- KMM Graphic
- KMM Triage Tables
- First KMM case study from BBVA, second largest Spanish bank

domingo, 29 de março de 2020

SW Development: MISRA Coding Standards

An article (from a tool provider, not affiliated) on MISRA C and C++ coding standards and some example rules:
https://www.perforce.com/resources/qac/misra-c-cpp

SW Development: About C++ Adoption (in Embedded)

An article on (the lack) of the latest C++ adootion, C++ 17 and the possible reasons, and the statement that 70% of embedded systems being developed in C:

https://www.perforce.com/blog/qac/should-i-adopt-cpp17

Quoting:
"

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.

Learn more about the changes from C++14 to C++17"

quarta-feira, 25 de março de 2020

SPARQL query language by W3C

SQL, NoSQL, SPARQL?
The summary:
https://en.m.wikipedia.org/wiki/SPARQL
The cheat sheet:
www.iro.umontreal.ca › spar...PDF
SPARQL By Example: The Cheat Sheet

sábado, 21 de março de 2020

Web tracking techniques...

... from a cookie consent form (cookie policy). Do you know them all?

Quoting:
"Definitions

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."

quarta-feira, 1 de fevereiro de 2017

SW Development: Cross-platform development using Apache Cordova (HTML5, CSS3, JS)?

Cross-platform development using Apache Cordova (previously known as Phonegap)?


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

Q: What is a Cordova plugin?
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.
Cordova plugins are being used for instance by Outsystems Now (native web apps) to extend functionality of the mobile apps.
Example of plugins can be seen in the first link (Plugin Search).