/* ---- Google Analytics Code Below */
Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Wednesday, April 12, 2023

Germany Engaging Africa

Unexpected?

ACM TECHNEWS

Germany Taps Africa's IT Sector to Fill Labor Gap, By Deutsche Welle (Germany)

April 12, 2023

Students at the Innovation Lab at South Africa's University of Johannesburg learn how to develop software, algorithms, or video games.

The program aims to reduce the shortage of skilled IT workers in Germany, while giving some Africans the opportunity to work remotely, without leaving their home countries.

Credit: Maria Giulia Trombini/AFP

German companies hope to address domestic workforce shortages by training young Africans in information technology (IT).For example, German software firm AmaliTech trains Africans as software engineers, offering them paid positions following graduation.

Eckhardt Bode at Germany's Kiel Institute for the World Economy said this model should serve as a template, as Africa can supply much-needed workers via outsourcing or immigration.

Germany’s IT worker shortage is critical, given the unexceptional performance of many IT projects in German public administrations. Said Bode, "The African continent offers great potential to reduce the local labor shortage."

From Deutsche Welle (Germany)

View Full Article   

Wednesday, February 22, 2023

Generative AI Helping Boost Productivity of Some Software Developers

Have been a coder and developer myself, and this has to help greatly once its tailored for coding use.

Generative AI Helping Boost Productivity of Some Software Developers

By The Wall Street Journal, February 22, 2023

Microsoft Corp.’s GitHub Copilot coding program, built with generative artificial intelligence from ChatGPT maker OpenAI, suggests code for developers, who have the option to accept the suggestion.

Credit: Computer Science Degree Hub

A new kind of artificial intelligence that can create a range of humanlike content, from writing to illustrations, is beginning to gain traction in the world of software development.

The technology, known as generative AI, has been pioneered by OpenAI, the lab behind the ChatGPT writing system and the Dall-E visual illustration generator. Those tools, with broad implications for search and other core tasks, have captured growing interest since late last fall. 

The technology's potential to upend software development is particularly acute. Microsoft Corp. , which invested $1 billion in OpenAI in 2019 and pledged as much as $10 billion more in January, is incorporating ChatGPT into its Bing search engine, and earlier incorporated OpenAI's technology into Copilot, its AI system for writing code. 

Copilot, as well as other tools from Amazon.com Inc., International Business Machines Corp. , and startups like Tabnine Inc. and Magic AI Inc., have quickly found a receptive audience among developers seeking a productivity boost.

In contrast to ChatGPT, whose usefulness in the enterprise some technology leaders have questioned, AI coding tools like Copilot, which was first launched for public use last summer by Microsoft-owned coding-collaboration platform GitHub Inc., seem to be capable of solving some real-world business problems right away. The AI model behind Copilot is trained on data from GitHub, which houses a popular open-source community where developers contribute and share code.

From The Wall Street Journal

View Full Article


Thursday, January 26, 2023

ChatGPT and AI Based Program Generation

Further look into explorations ...  been asked about opinion of the space.

In BLOG@CACM

What Do ChatGPT and AI-based Automatic Program Generation Mean for the Future of Software

By Bertrand Meyer

' ... Since the release of the ChatGPT interactive AI assistant it has been surprising to see some of the snide, passive-aggressive reactions from some (not all) members of the software engineering community, in the style of  "it's just inference from bad data". Let's get real, folks, it is truly game-changing. The kind of thing that you witness once in a generation. (The last two times were object-oriented programming and the World-Wide Web.)

Basically, if you need a program element and can describe that need, the assistant will generate it for you. There is no particular restriction on the programming language that you choose, as long as its description and enough examples are available somewhere. The code will be pretty good. (More on the semantics of "pretty" below.) You can ask the assistant for a test suite and various other adornments.

Programmers no longer needed?

Trying this tool seriously is guaranteed to produce a  "Wow" effect and for a software engineer or software engineering educator, as the immediately following step, a shock: "Do I still have a job?". At first sight, you don't. Especially if you are a programmer, there is not much that you can do and ChatGPT cannot.

In assessing this observation, it is important to separate the essential from the auxiliary. Any beta release of a new technology is bound to suffer from a few pimples. Instructive in this respect is a look at some of the early reviews of the iPhone (for example those on CNET and on PCMag), lamenting such horrible deficiencies as the lack of Bluetooth stereo. I could complain that the generated code will not compile out-of-the-box, since ChatGPT believes that Eiffel has a "do" keyword for loops (it's loop) and enumerated types introduced by "type" (it doesn't). These bugs do not matter; the tool will learn. What does matter is that if I ask, for example, for a Levenshtein edit distance program in Eiffel, I get something that is essentially right. Plus well-formatted, equipped at the start of every routine (per good Eiffel style rules) with a header comment explaining clearly and correctly the purpose of the routine, and producing the right results. Far beyond the Turing test. (To be more precise: as readers of this blog undoubtedly know, a tool passes the Turing test if a typical user would not be able to determine whether answers come from a human or a program. In this case, actually, you will need to add a delay to the responses of ChatGPT to have it pass the test, since no human could conceivably blurt out such impressive answers in a few seconds.)

What comes after the bedazzlement? The natural question is: "What can I do with this?". The answer -- for a programmer, for a manager -- is not so clear. The problem is that ChatGPT, in spite of its cocky self-assurance (This is your result! It will work! No ifs and buts!) gives you, for a non-trivial problem, an answer that may work but may also almost work. I am no longer talking here about growing pains or bugs that will be fixed, but about essential limitations.  ... ' 

Software Maintenance Mistake Center of Major FAA Computer Meltdown

Good to examine past issues, in particular maintenance that often is not done considering initial design.

Software Maintenance Mistake Center of Major FAA Computer Meltdown    ABC News,   Sam Sweeney; Jon Haworth; Kevin Shalvey, January 11, 2023; et al.

A senior official at the U.S. Federal Aviation Administration (FAA) blamed a software maintenance error for a computer breakdown this past week that grounded domestic flights. FAA officials said earlier the affected Notice To all Air Missions (NOTAM) system sends notifications to pilots of flight hazards and real-time restrictions. The senior official said the breakdown occurred when an engineer unwittingly "replaced one file with another," triggering a series of cascading information technology failures because an updated NOTAM system that lacked redundancies was not in place. The FAA emphasized that a cyberattack was not indicated, while Transportation Secretary Pete Buttigieg said a full investigation is required to prevent future mistakes.  ... '

Wednesday, January 18, 2023

Smart Appliances Could Stop Working After Two Years Due to Lack of Software Updates

Well known, but worth a caution.  Even for large companies.   I worked with a device that allowed me to incidentally get useful testing data from a company.   They stopped making it and the data stream stopped.

Smart Appliances Could Stop Working After Two Years Due to Lack of Software Updates  By BBC News, January 17, 2023

U.K. informed consumer brand Which? warns smart appliances could stop operating after only two years due to a cessation of software updates from manufacturers.

Brands are "abandoning" products like TVs, smartphones, and washing machines, while the risk of hacking also escalates as the appliances age.

Which? said, "Hardly any brands even came close to matching their expected lifespan" with their smart update policies, while others did not clarify the duration of support.

Terminating software support for these products means their functionality cannot improve, and security patches are among the updates manufacturers provide.

"Manufacturers must up their game and provide vital tech updates for their smart products for longer, otherwise the government should consider further intervention in this area, including specifying a minimum number of years that these products have to be supported for," said Which?'s Rocio Concha.

In BBC News 

Thursday, December 29, 2022

Mars Helicopter Ingenuity Aces Flight After Software Update

 Fixing code on the fly ...

Mars Helicopter Ingenuity Aces Flight After Software Update

in Space.com

Tereza Pultarova, November 26, 2022

The U.S. National Aeronautics and Space Administration's Mars helicopter Ingenuity has flown its shortest-ever flight following a software update. The 18-second flight involved Ingenuity hovering over Mars' surface before landing 16 feet (5 meters) from its takeoff point. The flight tested a new software system transmitted to the helicopter from Earth to improve its ability to navigate the rugged terrain the Perseverance rover is traversing in Jezero Crater. The Ingenuity team said the software will use the vehicle's downward-facing camera to identify risky objects, steering the helicopter to avoid them and to find the safest visible landing site....'

Friday, December 16, 2022

Every Company Uses Software, but are they a Software Company?

Even more so now that we have things like ChatGPT,   but we still need to understand increasingly deeper context when using the algorithms involved.   Caution is needed all around.  

Every company is a software company: Six ‘must dos’ to succeed

December 13, 2022 | Article  in McKinsey    By  Chandra Gnanasambandam, Janaki Palaniappan, and Jeremy Schneider

As software transforms every industry, leaders must turn to a new playbook.

Marc Andreessen’s observation from more than ten years ago that “software is eating the world”1 needs an update: software is the world. The software industry continues to grow at a massive clip. More and more traditional companies are realizing that to compete and grow in a digital world, they must look, think, and act like software companies themselves.

Per McKinsey research from June 2022, nearly 70 percent of the top economic performers, compared with just half of their peers, are using their own software to differentiate themselves from their competitors.2 Fully one-third of those top performers monetize software directly.

The pressure to evolve is building thanks to three fundamental shifts. First, the accelerated adoption of digital products is driving an effort to embed software in the product and purchase experience through everything from personalization to seamless omnichannel delivery. Second, more of the value in more products and services from more industries is coming from software. For example, the average industrial company expects its share of revenue from software to double over the next three years. Finally, the growth of cloud computing, platform as a service, low- and no-code tools, and AI-based programming assistance are putting unprecedented power into the hands of billions of workers.

Yet while companies might already accept the importance of software (research shows that nearly two-thirds of companies have invested in software as a service or modern commercial software), they still tend to look at software as a capability that they can bolt onto their existing business. That just doesn’t work. Becoming a software business requires foundational change with different skill sets, practices, leadership, and organizational structures.

Three ‘switch to software’ models

It is hard to become a software company—less than 7 percent of all software revenue in the world accrues to nontech companies.3 But models for successful transformation do exist (see sidebar, “Three ‘switch to software’ models”). To understand what works, we analyzed more than 20 software transformations and spoke with a dozen senior executives who have led successful software transitions. The result: six principles that are at the core of any successful effort to become a software company.  ... 

Friday, July 01, 2022

Cognitive Bias in Software Development

Intro to research paper in ACM, considerable, technical, worth understanding

Cognitive Biases in Software Development

By Souti Chattopadhyay, Nicholas Nelson, Audrey Au, Natalia Morales, Christopher Sanchez, Rahul Pandita, Anita Sarma

Communications of the ACM, April 2022, Vol. 65 No. 4, Pages 115-122    10.1145/3517217

Cognitive biases are hardwired behaviors that influence developer actions and can set them on an incorrect course of action, necessitating backtracking. Although researchers have found that cognitive biases occur in development tasks in controlled lab studies, we still do not know how these biases affect developers' everyday behavior. Without such an understanding, development tools and practices remain inadequate. To close this gap, we conducted a two-part field study to examine the extent to which cognitive biases occur, the consequences of these biases on developer behavior, and the practices and tools that developers use to deal with these biases. We found about 70% of observed actions were associated with at least one cognitive bias. Even though developers recognized that biases frequently occur, they are forced to deal with such issues with ad hoc processes and suboptimal tool support. As one participant (IP12) lamented: There is no salvation!

Back to Top

1. Introduction

Cognitive biases are systematic deviations from optimal reasoning17 that influence how we find, evaluate, and remember information. These "shortcuts" to potential solutions can take several forms, and regularly occur in our everyday behavior. For example, confirmation bias (tendency to pay more attention to information that agrees with our preconceptions) is demonstrated in some individuals' characterization of the COVID-19 virus as "just another u," prompting them to engage in social behavior contrary to experts' and health organizations' advice. As with this example, the occurrence of cognitive biases can cause significant impacts on society.

Software developers are not immune from such behavior, and may exhibit biases for several reasons. For example, some biases are a result of attempts to bypass our limited cognitive capacity (for example, availability bias may prompt developers to choose solutions based on examples they readily remember), whereas others are a result of prior experience with a solution (for example, belief perseverance bias may force developers to focus more on the code they believe has the bug), or individual problem-solving styles (for example, hyperbolic discounting bias may encourage developers to choose a solution with smaller and quicker rewards).

Although these cognitive biases often result in desired solutions, they may also cause significant negative consequences. Controlled lab studies have identified the harmful effects of specific cognitive biases on several aspects of software development such as defect density,1 requirements specification,6 originality of design,18 and feature design.4 Mohanani et al.9 conducted a survey of 65 such studies. However, despite these efforts, we still do not understand how cognitive biases manifest in the real world, and how they influence developer actions, behavior, and decision-making in situ. Only by understanding real-world behavior, we can begin to understand how to curtail such nonoptimal behavior.

Here we present results from a two-part field study examining to what extent cognitive biases occur in a developer's daily work activities. We consider how frequently, and when, certain biases occur. We also list some current practices and tools that developers currently use to mitigate biases.  .... ' 

Sunday, June 05, 2022

Companies in Need of Supply Chain Software

Seeing new issues in the space.

Companies Are on a Shopping Spree for Supply Chain Software  in SuplychainBrain

Podcast, disussion.

The wallets are open: Companies are investing heavily in software for optimizing the supply chain. But will the trend continue?

In a time of severe congestion plaguing the supply chain (caused in part by a literal plague), companies are desperate to speed up and streamline the movement of goods to market as much as possible. So it’s no surprise that they should be making big purchases of software for that purpose. That’s the finding of the 2022 Technology Predictions Report from GP Bullhound, a technology and investment firm. On this episode, we’re joined by partner and supply chain head Jonathan Cantwell, who delves into the results of the report. We’ll learn just where the money is going, and whether the spending trend can continue in light of unsettling economic trends such as higher inflation and interest rates, and the looming possibility of recession. Can technology solve the supply chain crisis? Hosted by Bob Bowman, Editor-in-Chief of SupplyChainBrain.   .... ' 

Saturday, June 04, 2022

LEGO Expands to More Software Engineering

 Lego to Expand Online Ambitions by Tripling Total of Software Engineers,  By Financial Times. May 10, 2022

Lego’s biggest announced digital project is a partnership with Epic, the maker of the Fortnite game, to develop a so-called metaverse specifically for children to be launched within the next 12 months.

Lego has announced that it will boost its software investments by several hundred million dollars and  triple its number of software engineers to 1,800 by the end of 2023. CEO Niels Christiansen said the company views its physical and digital products as "one experience."

Said Christiansen, "On that digital journey we're really upping and increasing our capabilities, and we're insourcing capabilities that were done by consultants before."

This comes after Lego opened a digital hub in Copenhagen, Denmark, last month, where about 400 software workers will be based.

The company also operates software centers in London and Shanghai.

In partnership with Epic, the maker of Fortnite, Lego plans to roll out a metaverse for children within the next 12 months.

From Financial Times

View Full Article - May Require Paid Subscription   

Saturday, May 28, 2022

On Coding and Software in Quanta Mag

On a  Coding Guru of note, I used his LaTex system.

How to Write Software With Mathematical Perfection   by Sheon Han

Leslie Lamport revolutionized how computers talk to each other. Now he’s working on how engineers talk to their machines.

Leslie Lamport may not be a household name, but he’s behind a few of them for computer scientists: the typesetting program LaTeX and the work that made cloud infrastructure at Google and Amazon possible. He’s also brought more attention to a handful of problems, giving them distinctive names like the bakery algorithm and the Byzantine Generals Problem. This is no accident. The 81-year-old computer scientist is unusually thoughtful about how people use and think about software.

In 2013, he won the A.M. Turing Award, considered the Nobel Prize of computing, for his work on distributed systems, where multiple components on different networks coordinate to achieve a common objective. Internet searches, cloud computing and artificial intelligence all involve orchestrating legions of powerful computing machines to work together. Of course, this kind of coordination opens you up to more problems.

“A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable,” Lamport once said.   .... ' 

Wednesday, November 24, 2021

Should We Trust Computers?

 Good talk  given by Prof Martyn Thomas  CBE in the Gresham College lecture series  published Oct 29 2015.   https://www.youtube.com/watch?v=8SZfjvlbpMw

Tuesday, October 12, 2021

Static Analysis

Short intro to the idea and its application to managing software: 

In “Static Analysis: An Introduction,”      author Patrick Thomson provides a perspective on the history, current state and future of static analysis, an important tool in helping programmers manage the complexity of modern software. At stake is software quality, he says, as empirical studies indicate that a codebase's complexity -- and the ability for programmers to understand the software -- correlates with its rate of defects.

Thomson draws distinctions between static and dynamic analyses such as valgrind, which extracts facts from a program as it runs, and model checking, which verifies the correctness of a separate external specification of a program.

Not all static analyses are feasible. As a codebase becomes larger, it takes more time to parse and traverse, notes Thomson, requiring more sophisticated and efficient analyses. Additionally, many static analyses are computationally expensive. Perhaps the most important barrier to adoption of static-analysis tools is the requirement that programmers change their behavior to account for the discovery of issues such as false positives and false negatives.

Looking toward the future, Thomson says the subfield of static analyses targeted toward detection of security vulnerabilities becomes more valuable and continues to attract industrial and research attention.

Queue is ACM's magazine for practicing software engineers. Written by engineers for engineers, Queue focuses on the technical problems and challenges that loom ahead, helping readers to sharpen their own thinking and pursue innovative solutions.   ... ' 

Wednesday, July 14, 2021

Emergency and Crisis Software Development?

 ACM writes about fast, even emergency software development.   We had something like that at the start of the pandemic.  How (and how well) was it done. How could it be done better.  How could this be applied say to emergencies like emergent ransomware?     Or to an asteroid approaching the earth. Or even much slower motion crises?   Will algorithms and software now more often be a big part of life on earth?  How do we prep for that?  Analytics were developed in WWII.   Here kind of a case study, not a solution.  Below an intro and link to the full article. 

Software Development in Disruptive Times

Creating a software solution with fast decision capability, agile project management, and extreme low-code technology

João Varajão, ALGORITMI Research Center, Department of Information Systems, University of Minho, Portugal

The current pandemic has brought challenges rarely seen before. It has made evident a world that is strongly globalized, capable, and characterized by a high interdependence of resources and means, but that is also fragile and has a high potential for contamination—not only in the physical sense but also concerning information, ideas, processes, and other aspects.

Given the novelty of the situation, one may be tempted to think that this is a unique situation that will soon be overcome, returning eventually to the (apparent) stability that existed previously. However, the reality indicates that this view is, at best, illusory and that we live in an age in which societal fragilities and instabilities will be increasingly evident (optimistically, awareness of them will also become more acute). In other words, crises have always been part of human evolution, and they must be seen as inevitable and recurring realities that need quick and effective responses. The key is to be prepared for them and act accordingly.

As history has so often demonstrated, difficult times enhance society's ability to adapt, and lead to the search for better solutions. Information technologies, which in recent decades have revolutionized the lives of people and businesses—sometimes more or less quietly, sometimes with a bang—are inevitable since they provide cost-effective solutions to the increasingly complex problems of an interconnected and interdependent world. This is easy to understand from a simple example: if, in this pandemic, there had been a global shutdown of the technological infrastructure that supports the Internet, the world would indeed be experiencing a much more complicated and chaotic reality than we are living—and it is already quite hard for everyone.

It is in this context that the software-development project described in this article is worth reporting on since it involves several disruptive aspects that are fundamental in a world that requires solutions "thought today" to be "made available yesterday." From the point of market-opportunity awareness to the availability of a fully functional software product, this project took three weeks to complete and involved several state-of-the-art practices and tools: fast decision making; agile project management; and extreme low-code software-development technology.

From Opportunity Awareness to the Decision to Go Forward

On March 12, 2020, the coronavirus outbreak was officially declared a pandemic by the World Health Organization. On the same day, the CEO of Quidgest, a medium-sized software house, identified the pandemic as an opportunity for the company and wrote a plan for creating a web-based software product, together with a preliminary list of requirements (related to monitoring, control, innovation management, and eradication of diseases). This plan was then sent to the sales and marketing teams (both national and international), as well as the research and development teams for feedback. Note that the sales and marketing teams had developed several contacts with government administrations, hospitals, retirement homes, etc., that provided broad insight into the project's market potential.

The response from all teams was quick and positive, so the company decided to go forward with the project starting on March 13 (one day later).   ..... 

Wednesday, June 30, 2021

Interaction of Law, Software, Evidence, Compliance

 When software acts as evidence.   And also when it further acts in conjunction with compliance-required  data.    Brought up as part of a study of compliance-based systems, and integration of smart contract concepts. 

The article below was pointed to me by Bruce Schneier in his blog:  'Risks of Evidentiary Based Software'   , where there is likely to be useful comments on the topic.  Other comments?   ....

Dangers Posed by Evidentiary Software—and What to Do About It  in Lawfareblog.com  By Susan Landau   ...   '

Friday, June 25, 2021

Software Verification

Not something we did formally in the enterprise, a couple of experiments with externally developed systems. but its high time it were included. 

Formal Software Verification Measures Up   By Samuel Greengard

Communications of the ACM, July 2021, Vol. 64 No. 7, Pages 13-15  10.1145/3464933

The modern world runs on software. From smartphones and automobiles to medical devices and power plants, executable code drives insight and automation. However, there is a catch: computer code often contains programming errors—some small, some large. These glitches can lead to unexpected results—and systematic failures.

"In many cases, software flaws don't make any difference. In other cases, they can cause massive problems," says Kathleen Fisher, professor and chair of the computer science department at Tufts University and a former official of the U.S. Defense Advanced Research Projects Agency (DARPA).

For decades, computer scientists have imagined a world where software code is formally verified using mathematical proofs. The result would be applications free from coding errors that introduce bugs, hacks, and attacks. Software verification would ratchet up device performance while improving cybersecurity and public safety. By applying specialized algorithms and toolkits, "It's possible to show that code completely meets predetermined specifications," says Bryan Parno, an associate professor in the computer science and electrical and computer engineering departments at Carnegie Mellon University.

At last, the technique is being used to verify the integrity of code in a growing array of real-world applications. The approach could fundamentally change computing. Yet, it is not without formidable obstacles, including formulating algorithms that can validate massive volumes of code at the speed necessary for today's world. The framework also suffers from the same problem every computing model does: if a verified proof is based on the wrong assumptions, it can validate invalid code and produce useless, and even dangerous, results.

"Formal verification is simply a way to up the ante," Fisher explains. "It's a way to modernize and improve the way software is written and ensure that it runs the way it is supposed to operate."  ... ' 

Wednesday, May 19, 2021

Emergence of AI Factories

 Most interesting, what are the particular skills involved?   Software tools at what level.   Linkages to data?  Considerable effort if there are 60 projects underway. 

Mayo Clinic, Others Use 'AI Factories' to Speed AI Development   By The Wall Street Journal, May 18, 2021

Mayo Clinic and other organizations are using an assembly-line approach to artificial intelligence (AI) development, where small teams use a common set of software tools and procedures to speed the production of AI applications while cutting costs.

The Minnesota-based healthcare provider launched what it calls its AI factory in September and is now getting into full production, with about 60 projects under way, said James Buntrock, vice chair of the department of information technology at Mayo Clinic.

"It's [a] more consistent process to produce algorithms," Mr. Buntrock said.

One application in development aims to analyze medical images to identify and classify "biomarkers"—measurable medical signs, such as excess abdominal fat—which could help predict patient health. Mr. Buntrock declined to quantify the speed and cost savings of the AI factory effort, but said they are significant.

The main reason companies are turning to the AI factory model is to increase their success rate with AI, said Erick Brethenoux, a vice president analyst at technology research and advisory firm Gartner Inc.

From The Wall Street Journal

Monday, April 27, 2020

Critical Role of Human Performance in Software

Software is ultimately a collaboration between people and machines.  People still need to be adaptive in critical systems.     Which needs to lead to better designing of such systems.    Here quite a considerable look at the problem.

Revealing the Critical Role of Human Performance in Software
By David D. Woods, John Allspaw
Communications of the ACM, May 2020, Vol. 63 No. 5, Pages 64-67 10.1145/3380468

Four articles, published across the March through May issues of Communications, highlight how people are the unique source of the adaptive capacity essential to incident response in modern Internet-facing software systems. While it's reasonable for software engineering and operations communities to focus on the intricacies of technology, there is not much attention given to the intricacies of how people do their work. Ultimately, it is human performance that makes modern business-critical systems robust and resilient.

As business-critical software systems become more successful, they necessarily increase in complexity. Ironically, this complexity makes these systems inherently messy so that surprising incidents are part and parcel of the capability to provide services at larger scales and speeds.13 Studies in resilience engineering 2,12 reveal that people produce resilient performance in messy systems by doing the cognitive work of anomaly response; coordinating joint activity during events that threaten service outages; and revising their models of how the system actually works and malfunctions using lessons learned from incidents. People's resilient performance compensates for the messiness of systems, despite constant change.

Thus, incidents that threaten service outages are endemic as an emergent side effect of the increasing complexity of the interdependencies required to provide valuable services at scale. Incidents will continue to present challenges that require resilient performance, regardless of past reliability statistics. It is the cognitive work, coordination across roles, and adaptive capacity of people that resolve anomalies as they threaten to grow into service outages.4 To be more specific: modern business-critical systems work as well as they do because of the adaptive capabilities of people; and without the cognitive work that people engage in with each other, all software systems eventually fail (some with increasingly catastrophic impact, given the criticality of the services they provide). ... "



Friday, March 13, 2020

The Value of the FuzzBench

A means to support debugging code and thus searching for code vulnerabilities.  We used it the early days.  Google uses it and recently published some public capabilities.  See a past article here on this: Fuzzing for Testing Coding Security Vulnerabilities, from the ACM.

Below was brought to my attention here from  Steve Gibson's Security Now. #758   Podcast
https://www.grc.com/sn/SN-757-Notes.pdf


The Fuzzy Bench
Posted last week to the Google Open Source Blog:
https://opensource.googleblog.com/2020/03/fuzzbench-fuzzer-benchmarking-as-service.html

“FuzzBench: Fuzzer Benchmarking as a Service”
Monday, March 2, 2020

WikiPedia defines fuzzing this way:
     “Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks. Typically, fuzzers are used to test programs that take structured inputs. This structure is specified, e.g., in a file format or protocol and distinguishes valid from invalid input. An effective fuzzer generates semi-valid inputs that are "valid enough" in that they are not directly rejected by the parser, but do create unexpected behaviors deeper in the program and are "invalid enough" to expose corner cases that have not been properly dealt with.” .... 

So, fuzzing is an interesting way to uncover bugs in programs. Rather than having a single highly-skilled hacker with knowledge of all past vulnerabilities carefully and methodically trying this or that in attempt to exploit something that might be possible, fuzzing is like the thousand monkeys all pounding on typewriters to see whether any of them might, by pure happenstance, hit upon something novel and useful.

 In another of Google’s “working to make the world a better place because we have plenty of money, so why not?”, last week they posted the explanation of their latest initiative: We are excited to launch FuzzBench, a fully automated, open source, free service for evaluating fuzzers. The goal of FuzzBench is to make it painless to rigorously evaluate fuzzing research and make fuzzing research easier for the community to adopt.   .... 

Thursday, January 02, 2020

Andreessen Top 10 Podcasts of the Year

Andreessen Horowitz

Our Top 10 Podcasts of 2019
by a16z Editorial

It’s that time of year again, where we share some of our most popular podcasts of the year. This is the year we also launched a NEW show, 16 Minutes — where we cover recent news headlines, the evergreen a16z Podcast way (and which you can subscribe to separately in your favorite podcast app) — as well as launched a special new series, Hustlin’ Tech (co-hosted by Ben Horowitz) that helps anyone use tech to help themselves.

And since it’s the end of a decade, be sure to also check out our 2018, 2017, 2016, 2015, and 2014 roundups if you’re newer to the a16z Podcast and want to catch up on more evergreen classics from the last (half-)decade — as well as special episodes marking a decade of Andreessen Horowitz itself. Finally, this year, we finally shared some of the behind-the-scenes that goes into making the podcast… with no small thanks to our guests, editors (old and new!), and as always, *you*: our fans. Here’s to the next decade!

1. Entrepreneurs, Then and Now
2. Inside Apple Software Design
3.  Fintech for Startups and Incumbents
4. So You Wanna Build a Software Company in Healthcare?
5. For the Billions of Creatives Out There
6. A Podcast About Podcasting
7. Innovating in Bets
8. Product-Market SALES Fit (What Comes First?)
9. What Times Is It? From Technical to Product to Sales CEO
10. The Environment, Capitalism, Technology   .... "