teleren/devto huggingface dataset:
Lessons in Reliability: Margaret Hamilton's Software Engineering Approach
Tags: reliability
Published: 2023-08-11 12:43:41

We tend not to think about reliability as part of the user experience research when developing a system, and this can go terribly wrong when not taken into consideration.

While reading the [Google SRE book](https://sre.google/sre-book/preface/) I came to know about [Margaret Hamilton](https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)) and her involvement in NASA’s [Apollo program](https://en.wikipedia.org/wiki/Apollo_program), and how reliability has been built-in to avoid a potentially catastrophic situation for the astronauts.

![Margaret Hamilton in 1969](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rwduh2db8x50p63yc2kn.jpg)

When dealing with space missions, there is little to no room for error. Any software glitch or failure could have catastrophic consequences for the astronauts and the entire mission.

> [One example of the value of Hamilton's software work occurred during the Apollo 11 mission. Approximately three minutes before Eagle's touchdown on the moon, the software over rode a command to switch the flight computer's priority processing to a radar system whose 'on' switch had been manually activated due to a faulty written operations script provided to the crew. The action by the software permitted the mission to safely continue.][1]

When developing any system, not just those in aerospace, it's crucial to consider reliability as part of the user experience. Mistakes will happen, eventually, no matter how much training. We are prone to error, especially while performing repetitive tasks. We ought to build systems with safeguards against ourselves.

> [As Margaret says, "a thorough understanding of how to operate the systems was not enough to prevent human errors"][2]

Unreliable systems can lead to frustration, loss of productivity, potential damage or harm, and in the worst case (when dealing with life-support systems), death. Users depend on software and systems to perform their tasks efficiently and securely. How reliable is the software depends on how easily a mishap can be undone, automatically recover, or even better, totally prevent the misbehavior.

As software engineers, reliability should be at the forefront of our minds as we build the technology that shapes the world around us. Margaret Hamilton knew that back in 1969. 

[1]: https://www.nasa.gov/home/hqnews/2003/sep/HQ_03281_Hamilton_Honor.html
[2]: https://sre.google/sre-book/preface/

---

If you liked this post, consider subscribing to my newsletter [Bit Maybe Wise](http://bitmaybewise.com/).

You can also follow me on [Twitter](https://twitter.com/bitmaybewise) and [Mastodon](https://mastodon.online/@bitmaybewise).
Front End Vs Back End Vs Full Stack Web Development
Tags: webdev, programming, beginners, react
Published: 2023-08-11 12:15:48

Web development has evolved significantly over the years, giving rise to various specialized roles within the field. Front End, Back End, and Full Stack are three distinct domains of web development, each with its unique responsibilities and skill sets. In this article, we will explore the differences between Front End, Back End, and Full Stack development, as well as the essential skills required for each role.

Read Here - [Front End Vs Back End Vs Full Stack Web Development](https://www.techaedu.com/post/front-end-vs-back-end-vs-full-stack-web-development)
All about Machine Learning
Tags: ai, machinelearning, webdev, data
Published: 2023-08-11 11:54:01

Machine learning is an important component of the growing field of data science.
I am here to give glimpse of how simple ML is and lets begin with some common problem types there detail understanding and what algorithms is used to resolve each problem type also we will explore each every by deep diving in it. 
![Image showing Ml problem types and there respective algorithms](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/16ocpokqvn83p4u06yn4.png)
Use Square Bracket Notation for headache-free coding
Tags: javascript, coding, beginners
Published: 2023-08-11 11:46:53

Ok! So this happened! I failed an interview because I overlooked the basic!

### <u>There are two ways to access property values of an object in javascript:</u>

1. Dot notation ( `user.name` )
2. Square Bracket notation ( `user["name"]`)

And most of the time, property names are known and simple and dot notation comes naturally to many of us.
![South Park character](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExcjQzcmVuN2h6Ymk0MXJ3cmlwcXNueXpoaTlqNHpwb29pcm9qbGd4dSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l0HlRwP39C0KRQW4M/giphy.gif)

But there is a catch. Read on!

---


## Objects

### TL;TR - 

> `Square bracket notation saved you from breaking your head compared to dot notation.`
> When you defined a key into a variable and wants to add it as new property into an object, it will only work if square bracket notation is used.
> ```
> let user = {
>   name: "John",
>   age: 30
> };
> let key = "gender";
> user.key = "male";
> alert( user.gender ) // undefined
> user[key] = "male";
> alert( user.gender ) // male
> ```

---



`Use dot notation:
`When an object is already defined and you just want to read the property provided all property are single word. 
_Single word: "name"_

`Avoid dot notation:
`When an object is already defined and you just want to read the property but few or all property are multiword. 
_multiword: "first name"_

```
let user = {
  name: "John",
  age: 30,
  "likes birds": true  // multiword property name must be  quoted
};

user.likes birds = true // this would give a syntax error
```

`Use square bracket notation:`
I mean in all case (at least from what I know, feel free to comment )

few examples: Works for all operators like charm

```
let user = {};

// set
user["likes birds"] = true;

// get
alert(user["likes birds"]); // true

// delete
delete user["likes birds"];
```

`Avoid square bracket notation:`
![adult male swinging](https://media.giphy.com/media/0w2ykqyxEZJmV2Ct4e/giphy.gif)
Guess we'll never know....

---

Read more about [Objects](https://javascript.info/object)
How a Browser renders a page for a user
Tags: webdev, beginners, programming, tutorial
Published: 2023-08-11 11:35:39

In this article I explain the steps your browser takes to convert HTML, CSS, and JavaScript into a working website you can interact with.

•	Receiving the HTML document and Constructing the DOM:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f9e0xiib5qtvws8fxdid.png)
•	Parsing The HTML
In this step the browser receives the HTML file and changes its format into a readable form for the user to understand.
``` javascript
<html>

<head>
    <script src="index.js"></script>
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>

<body>
    <div>
        <p>Sample 1</p>
        <p><span class="text">Sample 2</span></p>
    </div>
</body>

</html>
```



•	Fetching External Files:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/le0p3htvuggy72c165eh.png)
``` javascript
    <script src="index.js"></script>
    <link rel="stylesheet" href="style.css">
```



•	Applying CSS:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xarbd3giolac4hvb6v4l.png)
``` javascript
body {
    font-size: 5px;
}

p {
    font-weight: bolder;
}

.text {
    color: red;
}
```
CSS has something called the cascade. The cascade is how the browser determines what styles are applied to an element.
This is important because the browser has to recursively go through the CSS tree structure and determine the styles that affect a particular element.



•	The Render Tree:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t35frql7ziw69v295ae8.png)



•	Layout:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q2tn6lhobvethumdcz7s.png)



•	Painting:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xveaafo4lukgv11286kj.png)



•	JavaScript:
Most modern websites contain JavaScript now so the browser will have to fetch its files and execute it after rendering the page. JavaScript adds interactivity to the page to enhance user experience. It can trigger animations and fetch data. JavaScript can also remove and add elements from the DOM tree, and you may modify the CSSOM properties of an element via JavaScript as well.



In conclusion, the process of how a browser renders a webpage is complex, involving different components within the browser. From parsing and constructing the DOM to applying CSS styles, calculating layouts, and executing JavaScript, each step plays a vital role in transforming raw code into the visually appealing and interactive web pages we interact with daily
How much Experience do you need for an Internship?
Tags: webdev, codenewbie, interview
Published: 2023-08-11 11:35:00

We have a new episode live about Internships. What can you get out of them and what does needing more experience mean?

https://youtu.be/MhgLFGYKTdw

{% youtube https://youtu.be/MhgLFGYKTdw %}
Ubuntu 22.04 - Using NTP and Disabling It
Tags: ubuntu, ntp, timedatectl, netplan
Published: 2023-08-11 11:29:16

#1. Configuring NTP with Netplan

Netplan is a tool used for network configuration management on Ubuntu. You can use Netplan to control the use of NTP over DHCP.

**1.1. Opening the Netplan Configuration File:**

The Netplan configuration file is usually found under the /etc/netplan/ directory. To edit this file, use:

```bash
sudo nano /etc/netplan/00-installer-config.yaml
```

**1.2. Adding NTP Settings:**

In the opened file, you can prevent NTP from being used over DHCP by adding the following configuration:

```yml
network:
  ethernets:
    ens18: # This should be changed according to your network adapter's name.
      renderer: networkd
      dhcp4: true
      dhcp4-overrides:
        use-ntp: false
  version: 2
```
Save your changes and exit the file.

#2. Applying the Configuration

To apply the configuration, run the following command:

```bash
sudo netplan apply
```
This command will activate the changes you made.

#3. Default Usage of NTP

By default, Ubuntu has DHCP set to use NTP. However, in certain situations, you may want to disable this feature.


**3.1. Default Usage of NTP over DHCP:**

By default in Netplan, DHCP is set to use NTP with the <u>**use-ntp: true**</u> setting. However, if you want to disable this feature, you need to set the <u>**use-ntp: false**</u> value under **dhcp4-overrides**. This has been shown in the configuration mentioned above.

**REFERENCES:**

- https://netplan.readthedocs.io/en/latest/netplan-yaml/
- https://cloudinit.readthedocs.io/en/latest/reference/network-config-format-v2.html
Software engineers and... cement?!
Tags: career, machinelearning, deeptech
Published: 2023-08-11 11:25:37

Ever wondered what impact software engineers can have in decarbonising a massive industry like cement? It's well worth checking out the [latest MCJ Collective podcast](https://www.mcjcollective.com/my-climate-journey-podcast/alcemy) with Cody Simms interviewing Leopold Spenner of alcemy.

It's such a great example of the magic that can happen when two individuals with deep expertise in different domains meet. In this case, data scientist Robert Meyer with control theory and reinforcement learning expertise and Leopold Spenner an industrial engineer with deep knowledge of cement, meeting at Entrepreneur First in Berlin.

The discussion includes the satisfaction of seeing the real impact the software is having, challenges integrating with legacy software systems, building trust in the answers the software provides - and the fact they've already saved their customers 80,000 tonnes of CO2 in the space of 3 years.
Applying machine learning to climate
Tags: machinelearning, career, climatechange
Published: 2023-08-11 11:21:20

[Climate Change AI](http://climatechange.ai) have a really fantastic video series on the application of machine learning to climate - and the challenges from their recent summer school program, that I just had to highlight!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bpzbu6nzie57winrv2zp.png) 

There's such a diverse set of potential applications shared, and each of these is an hour-long deep dive:

* Monitoring, Reporting, and Verification
* Climate Science
* Buildings & Cities
* Agriculture, Forestry, and Other Land Use
* Biodiversity and Ecosystems
* Power & Energy Systems
* Impacts and Regulation of AI & Climate
* Transportation
* Human & Social Systems
* plus some lightning talks on Computational Chemistry and Circular Economy

A massive thanks to all the speakers involved - you rock 🎉 It's well worth dipping into the areas of interest for you. The [YouTube playlist can be found here](https://youtube.com/playlist?list=PLpPW7qLmXhdQpTltohDniAZLjnSgY17jZ).

And if you're interested in more text-based material, there's an [excellent research paper](https://dl.acm.org/doi/10.1145/3485128) published last year exploring this area (the authors also feature in the videos above).
Planet Crust, the driving force behind Corteza, announced the release of Corteza 2023.3.3
Tags: release, newfeatures, lowcode, opensource
Published: 2023-08-11 11:07:41


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a5hn1xoxdgo792dhq2tu.png)

Planet Crust, the driving force behind Corteza, has released a new update of Corteza that includes new features, changes and fixes: https://www.planetcrust.com/planet-crust-releases-corteza-2023-3-3

Corteza is a 100% open-source low-code, rapid application development, business process and integration platform.
Understanding Vertex AI on Google Cloud: Key Terms Explained
Tags: programming, ai, beginners, learning
Published: 2023-08-11 11:06:50

Google is making the AI model publicly available, which it has used for BARD and other products like Gmail, Google Docs, etc.

Quite often, we want to implement a chatbot for us, that can interact with humans as humans. For that purpose, google is making our life more accessible, by providing a pre-trained model readily available, rather than we need to implement it by ourselves.

For Chat models, Google is providing a service named **Vertex AI.**

In this blog, we will introduce some of the terms used by Google Vertex AI and will clarify things I felt you should grasp easily that drove me crazy while going through it. 

No doubt Google has documented everything, but sometimes it becomes hard to understand. So I’m trying to make it more clear, especially for developers!

## Table Of Contents

- What is Vertex AI?
- What is Generative AI Studio?
- What is a Model Garden?
- What are Foundation Models?
- What is Custom Model?
- What is fine-tuning of a Model?
- What is a Prompt Tuning of a Model?
- What is the PaLM 2 Model?
- What is PaLM API?
- Conclusion


What is Vertex AI?
It’s a service provided by Google Cloud, that lets you train and deploy Machine Learning(ML) models and AI applications. For more information visit [Vertex AI](https://cloud.google.com/vertex-ai).

Want to be a Vertex AI pro? We've got you covered. Head over to our definitive terminology guide on [Canopas Blog](https://blog.canopas.com/google-cloud-vertex-ai-terminologies-you-will-worth-understand-53248983a10a) and elevate your knowledge.
Adding Your Resume To Your LinkedIn
Published: 2023-08-11 11:04:35

## The TL;DR

In this article you will:
- Follow a complete walkthrough of how to add your resume to your LinkedIn

## The Premise

Recently I attended a LinkedIn event where recruiters in the industry gave free feedback on job seeker's LinkedIn "tagline" and profile in order to gain more traction in their job search. One of the big callouts I received was how I had included my resume in my LinkedIn and featured it prominently so that recruiters who were interested could easily download the document for their reference. Other attendees at the same event have reached out asking for help / a walkthrough of how to add their resume to their LinkedIn profile. This article aims to provide them (and folks like you) with a brief, but complete, walkthrough of how to accomplish this task.

## The Execution

1. Navigate to your profile on LinkedIn
2. Scroll down a little bit and underneath "Resources" you should see a "Featured" section. In that section click the plus (`+`) icon in the upper right hand corner.

    ![Locating The "Featured" Section's '+' Icon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4i5aamji9jgekar5veo8.jpg)

    {% collapsible **Wait! I Don't See A "Featured" Section!** %}
    If you don't see a "Featured" section on your profile don't fret! You can turn on this feature by clicking on the "Add profile section" button underneath your heading:

    ![The "Add profile section" Button](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9hpjna36bxvw8j888ucv.jpg)

    Clicking on that button will display a modal on your screen. Within that modal, expand the "Recommended" section (1) and click the "Add featured" option (2).

    ![The "Add featured" option](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bmrbzlhnvnmg5wjfve0g.jpg)

    You'll be redirected to a new page where you can add "Featured" items to your profile.

    {% endcollapsible %}

3. After clicking the plus (`+`) icon, a dropdown menu will appear. From that dropdown select "Add media". A pop-up window of your file system will appear. Navigate to the copy of your resume that you want to add to your LinkedIn and click "Open"

    ![The "dropdown" Menu](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ei43oyk55lx1xjejxl5o.jpg)

4. A modal will appear on your screen with a "thumbnail" version of your resume and two text boxes / fields that you can edit - one for your Resume's "Title" (1) and one for your Resume's "Description" (2). Change the text in the "Title" text box / field to "Resume" (or something similar for clarity as it will automatically default to the file name of the resume you you selected). There's no need to add a "Description" unless you really want to add one. Once you've changed the "Title", click the blue "Save" button (3) in the bottom right hand corner of the modal.

    ![The "Add media" Modal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qwvrfn9ctvperadnqvuv.jpg)

Congratulations - you've now added your resume to your LinkedIn!
How To Learn Any Programming Topic
Tags: programming
Published: 2023-08-11 10:53:18

As the title says. Want to learn a specific programming topic? In this video I'll show you my personal approach that has served me well over the last decade. 

What is your own approach to learning programming languages/frameworks and services? Let me know!

{% embed https://youtu.be/kVwRFlYa3jk %}
Windows Talker (Part 3)
Tags: tutorial, python, speaking, programming
Published: 2023-08-11 10:41:00

Hello!
Today we're going to look at the latest improvements to Windows Talker - the third version has just been released.
I guarantee it's definitely worth reading to the end!

Do you like my items? Then I would be happy about a like and a comment!
Thanks!

The 3rd version can be found here on Github:
{% embed https://github.com/SchBenedikt/WinTalker %}

But what are the new features?
In fact, there are exactly two - but still very important functions. Now we have built-in speech recognition that recognizes what app you want to open or what action you want to take.

Unfortunately, this only works with the English language. You like another language support? Feel free to write it in the comments!

The second great feature is the voice output. Here a text is said during each action that is carried out. So we have a fully functioning voice input and output.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68vf39pdtqnawadj32h1.png)

To get more information about how you can program a function for my app yourself or to always get new functions, I would be happy if you register on our learn platform. Here you will always find the latest updates!
https://learn.schächner.de/course/view.php?id=6
Thank you for reading,
schBenedikt
State With Jetpack Compose
Tags: android, kotlin, architecture, beginners
Published: 2023-08-11 10:37:45

![Gif of a cat vampire](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6hlgt1bbjobthkt95awj.gif)

Hello, fantastic person on the internet! Hope you're doing well.

When migrating from XML to Compose, it can be difficult to understand certain concepts.

&nbsp;

## State

There is no way to update the UI after it has been drawn. What you can control is the state of your UI. When UI state changes, Compose reconstructs the components of the UI that have been altered.

&nbsp;

## Unidirectional Data Flow

Since composables accept states and expose events, the **unidirectional data flow (UDF)** pattern aligns perfectly with Jetpack Compose.

The UDF is a design pattern in which state flows downward and events flow upward.

![Photo showing the flux of the UDF](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p8uo5tyufeoid4b9mjbp.png)

&nbsp;

## Functions

To declare a variable for controlling the state of a UI component, we need to understand certain functions:

- remember
- rememberSaveable
- mutableStateOf()

**mutableStateOf()** is an observable type for Compose. Used when the value can change at some moment.

**remember** assists in retaining state throughout recompositions. However, the state is not preserved during configuration changes.

**rememberSaveable **is very similar to remember. It automatically saves any value that can be stored in a Bundle.

&nbsp;

## Alright, how can we observe that in practice?

Imagine that we have a text field where the value can change depending on the user type. 

To effectively work with this component, we can utilize state.
Declare a variable responsible for capturing the value of our component:

{% embed https://gist.github.com/MariaLuiza-CS/bd06ab7667496fd384d44fa5d705e20e %}

Now, let's simply assign the variable to receive the value from the text field:

{% embed https://gist.github.com/MariaLuiza-CS/7624d10e9f0151fe4899e27ca10d071c %}

This enables us to capture the variable of whatever the user types. Even if they change the value, since we are constantly updating the value of the `text` it doesn't matter.

As a result, things like **TextField** don't automatically update like they do in imperative **XML** based views.

&nbsp;

##Conclusion

By combining a declarative UI paradigm with efficient state handling and architecture patterns, Jetpack Compose empowers developers to create apps that are not only visually stunning but also robust, maintainable, and future-ready. 

Embracing Jetpack Compose is not just a technological choice, but a strategic one that propels Android app development into a more innovative and efficient direction.

Happy coding ❤

---

Please let me know what you think in the comments…

Connect with me 👇

[Linkedin](https://www.linkedin.com/in/marialuiza-cs/)

[GitHub](https://github.com/MariaLuiza-CS)

[Instagram](https://www.instagram.com/luiza.android)

[Twitter](https://twitter.com/luiza_android)

[Medium](https://medium.com/@MariaLuiza-CS)

![Gif of a mushroom](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nsf2hjl5wygi6rha59n1.gif)