teleren/devto huggingface dataset:
Simple Kqueue Echo Server in C
Tags: socket
Published: 2022-07-23 13:28:00

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

---

There are three important functions when use kqueue.
```c
int kqueue(void);

int kevent(int	kq, 
    const struct kevent* changelist, int nchanges, 
    struct kevent *eventlist, int nevents, 
    const struct timespec *timeout);

EV_SET(kev, ident, filter, flags, fflags, data, udata);
```

> The `kqueue()` system call creates a new **kernel event queue** and returns a descriptor.

> The `kevent()` system call is used to **register events with the queue**, and return any pending events to the user. 

+ **change kqueue**

When you want to change the queue, like delete a socket file descriptor from **kqueue** for example, or add listen socket to **kqueue**, you can call `kevent()` like below:
```c
int kq = kqueue();
struct kevent event;
EV_SET(&event, listen_fd, EVFILT_READ, EV_ADD, 0, 0, NULL);
kevent(kq, &event, 1, NULL, 0, NULL);
```
As the codes above, when we want to change(delete/add) a event to a **kqueue**, there are two steps, first thing we should do is to initialize **kevent** with a file descriptor we want to monitor, secondly is to add this **kevent** to **kqueue** using `kevent()`.

+ **monitor kqueue**

When we want to monitor kqueue, we don't have to provide `changelist` and `nchanges` parameter of `kevent()`. We just need to provide these two parameters: `eventlist` and `nevents`, like below:
```c
struct kevent event_list[MAX_EVENTS];
int num_events = kevent(kq, NULL, 0, event_list, MAX_EVENTS, NULL);
```

+ **remove kevent**

When a client disconnect, we don't care(monitor) the **kevent** associated with this client anymore, so we need to remove this **kevent** from **kqueue**. But we don't have to call `EV_SET()` and `kevent()`, we just need to close this file descriptor. Cause the man page says below:
> Calling close() on a file descriptor will remove any kevents that reference the descriptor.

+ **source code**

{% embed https://gist.github.com/shwezhu/96299b523e41a5a6bf01b634dad4ce25 %}

+ **reference**

[kqueue](https://www.freebsd.org/cgi/man.cgi?query=kqueue&apropos=0&sektion=0&format=html)

[Streaming Server Using Kqueue](https://nima101.github.io/kqueue_server)
Deployment on AWS
Tags: deploy, devops
Published: 2022-07-25 05:19:08

AWS developer associate certification exams have 22% of weightage and will be around 14 questions.

## Contents

1. Deploy written code in AWS using existing CI/CD pipelines, processes and design patterns.
2. Deploy applications using Elastic Beanstalk.
3. Prepare the application deployment package to be deployed to AWS.
4. Deploy serverless applications.

## Deploy written code in AWS using existing CI/CD pipelines, processes and design patterns

- Continuous Integration
- Continuous Delivery
- Continuous Deployment

Useful services:

1. AWS CodeCommit
2. AWS CodeBuild
3. AWS CodeDeploy
4. AWS CodePipeline
Top 5 Youtubr channels for learning JavaScript
Tags: javascript, beginners, programming, tutorial
Published: 2022-07-25 21:11:07

in this article i will give you the best channels for learning javascript :
so let's get started
## 1.Programming with Mosh :
click here =>[Programming with Mosh](https://www.youtube.com/c/programmingwithmosh)
## 2.Dave Gray :
click here => [Dave Gray](https://www.youtube.com/c/DaveGrayTeachesCode)
## 3.freeCodeCamp.org :
[freeCodeCamp.org](https://www.youtube.com/c/Freecodecamp)
## 4.Clever Programmer :
click here => [Clever Programmer](https://www.youtube.com/c/CleverProgrammer)
## 5.Bro Code :
click here => [Bro Code ](https://www.youtube.com/c/BroCodez)
## for know other information about learning javascript
click here => [Article](https://lodstare.blogspot.com/2022/07/javascript.html)
## connect with me on : 
- [YouTube](https://www.youtube.com/channel/UCEDF5YBStH5cWnqK2U4BCkw)
- [Twitter](https://twitter.com/ayoub_el_achab)
- [Instagram](https://www.instagram.com/ayoub_el_achab_/)
- [Git Hub](https://github.com/Lodstare)
- [Linkedin](https://www.linkedin.com/in/ayoub-el-achab/)
Need Advice: Going to College for Software Developer
Tags: beginners, computerscience, discuss
Published: 2022-07-26 17:57:02

Hello everyone.

I'm going to college this August for an Associates and then Bachelors in Computer Science with a Concentration on Software Development.

Looking through the courses they offer, it's hard to decipher exactly what I'm going to learn and for the sake of career potential, and I'm trying to find out what things I should be learning about in my spare time to compliment my coursework in college.

To start with, its Southern New Hampshire University. They said I could either get a Bachelors in CS or IT, but everything I've read online points to CS. I've read countless job posts on Indeed for Software Engineering/Development, and almost all point to CS, so I changed majors today to CS. 

The problem is though, I also compiled a list of no less than 100 common skills/expertise that jobs report looking for; I've come to understand that breaking it down, they are different programming languages, frameworks, APIs, certifications, proficiency in variants of Java or Javascript like Vue.js and scripting languages, etc.

Since this degree is Computer Science and not specifically for Software Engineering, I'm not sure what I need to compliment my learning with during my 4 years of college. I want to make sure I'm fully rounded for the highest chance of success when I finish college, and my career plan is to obtain my Associates so I can begin work, at least as an intern, to have job experience in the field and title, and start a portfolio of projects to show during interviews. 

So where should I start? With wanting to jump-start my career with an Associates in CS while continuing to earn my Bachelors, what terms and things should I start researching now? Databases? Algorithms? If you started all over again and your plan was mine, how would you structure your learning path so you would be ready to start at a company when you obtained your Associates?

I look forward to hearing from all of you, and thank you in advance for helping me succeed. 

Thank you,
Patrick
𝗘𝗹𝗲𝗺𝗲𝗻𝘁.𝗴𝗲𝘁𝗕𝗼𝘂𝗻𝗱𝗶𝗻𝗴𝗖𝗹𝗶𝗲𝗻𝘁𝗥𝗲𝗰𝘁() 𝘮𝘦𝘵𝘩𝘰𝘥
Tags: react, webdev, frontend, javascript
Published: 2022-07-26 18:53:33

𝗘𝗹𝗲𝗺𝗲𝗻𝘁.𝗴𝗲𝘁𝗕𝗼𝘂𝗻𝗱𝗶𝗻𝗴𝗖𝗹𝗶𝗲𝗻𝘁𝗥𝗲𝗰𝘁() 𝘮𝘦𝘵𝘩𝘰𝘥 𝘳𝘦𝘵𝘶𝘳𝘯𝘴 𝘢 𝘋𝘖𝘔𝘙𝘦𝘤𝘵 𝘰𝘣𝘫𝘦𝘤𝘵 𝘱𝘳𝘰𝘷𝘪𝘥𝘪𝘯𝘨 𝘪𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯 𝘢𝘣𝘰𝘶𝘵 𝘵𝘩𝘦 𝘴𝘪𝘻𝘦 𝘰𝘧 𝘢𝘯 𝘦𝘭𝘦𝘮𝘦𝘯𝘵 𝘢𝘯𝘥 𝘪𝘵𝘴 𝘱𝘰𝘴𝘪𝘵𝘪𝘰𝘯 𝘳𝘦𝘭𝘢𝘵𝘪𝘷𝘦 𝘵𝘰 𝘵𝘩𝘦 𝘷𝘪𝘦𝘸𝘱𝘰𝘳𝘵.

𝘛𝘩𝘦 𝘋𝘖𝘔𝘙𝘦𝘤𝘵 𝘰𝘣𝘫𝘦𝘤𝘵 𝘵𝘩𝘢𝘵 𝘪𝘴 𝘳𝘦𝘵𝘶𝘳𝘯𝘦𝘥 𝘪𝘴 𝘵𝘩𝘦 𝘴𝘮𝘢𝘭𝘭𝘦𝘴𝘵 𝘳𝘦𝘤𝘵𝘢𝘯𝘨𝘭𝘦 𝘵𝘩𝘢𝘵 𝘦𝘯𝘤𝘰𝘮𝘱𝘢𝘴𝘴𝘦𝘴 𝘵𝘩𝘦 𝘸𝘩𝘰𝘭𝘦 𝘦𝘭𝘦𝘮𝘦𝘯𝘵, 𝘪𝘯𝘤𝘭𝘶𝘥𝘪𝘯𝘨 𝘱𝘢𝘥𝘥𝘪𝘯𝘨 𝘢𝘯𝘥 𝘣𝘰𝘳𝘥𝘦𝘳-𝘸𝘪𝘥𝘵𝘩. 𝘛𝘩𝘦 𝘭𝘦𝘧𝘵, 𝘵𝘰𝘱, 𝘳𝘪𝘨𝘩𝘵, 𝘣𝘰𝘵𝘵𝘰𝘮, 𝘹, 𝘺, 𝘸𝘪𝘥𝘵𝘩, 𝘢𝘯𝘥 𝘩𝘦𝘪𝘨𝘩𝘵 𝘢𝘵𝘵𝘳𝘪𝘣𝘶𝘵𝘦𝘴 𝘥𝘦𝘧𝘪𝘯𝘦 𝘵𝘩𝘦 𝘵𝘰𝘵𝘢𝘭 𝘳𝘦𝘤𝘵𝘢𝘯𝘨𝘭𝘦'𝘴 𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯 𝘢𝘯𝘥 𝘴𝘪𝘻𝘦 𝘪𝘯 𝘱𝘪𝘹𝘦𝘭𝘴. 𝘖𝘵𝘩𝘦𝘳 𝘵𝘩𝘢𝘯 𝘸𝘪𝘥𝘵𝘩 𝘢𝘯𝘥 𝘩𝘦𝘪𝘨𝘩𝘵, 𝘢𝘭𝘭 𝘱𝘳𝘰𝘱𝘦𝘳𝘵𝘪𝘦𝘴 𝘢𝘳𝘦 𝘳𝘦𝘭𝘢𝘵𝘦𝘥 𝘵𝘰 𝘵𝘩𝘦 𝘷𝘪𝘦𝘸𝘱𝘰𝘳𝘵'𝘴 𝘵𝘰𝘱-𝘭𝘦𝘧𝘵 𝘤𝘰𝘳𝘯𝘦𝘳.

source MDN Web docs
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5n3a51uxcke47o66xi35.jpeg)
sketchmypic All-in-one photo effect tool to add spark to your selfies and pictures!
Tags: onlinetool, sketchimages, free, colorsketc
Published: 2022-07-27 02:16:32

The [Sketchmypic](https://sketchmypic.com/) drawing suite is a full-featured drawing package with immense functionality for amateurs and professionals alike. The creative sketch features you get with this app include converting an image to a pencil sketch and an image to a colored pencil sketch effect.
Apart from the sketch filters this app also turns your photos and selfies into amazing artistic paintings. Images can be converted to watercolor paintings, oil paintings, and black-and-white paintings with the Sketchmypic app.
The app has some amazing effects of turning your pictures into pixel images, cartoon images, pop art & ASCII text art.
PrivcacyIN Open Class
Tags: machinelearning, zeroknowledge, platon, privacy
Published: 2022-07-28 07:51:59


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

PrivacyIN will broadcast an open class on cryptography on 28th Aug. The lecturer is 
wangxiao, assistant professor at Northwestern University. 

scan to sign up.

This session will introduce a ZK system (Mystique)and show the protocol implementation in LatticeX-Rosetta
[Algorithms] 9 - Product of Array Except Self
Tags: algorithms
Published: 2022-07-28 21:53:00

[Link for the problem](https://leetcode.com/problems/product-of-array-except-self/)

[Link for the solution](https://github.com/neetcode-gh/leetcode/blob/main/cpp/neetcode_150/01_arrays_%26_hashing/product_of_array_except_self.cpp)

#### Overview

To solve the problem is pretty easy. But the given conditions are what make this problem very tricky. I would like to introduce the problem because the solution is pretty unique.

#### Problem in detail

The constraints for this problem are: 

- Time complexity:  O(n)
- Space complexity: O(1) 
- Cannot use division

> Notice that the problem will not count the returning array as an extra space.

It seems almost impossible to solve the problem with those constraints. Especially achieving O(1) space complexity without using division drove me crazy to think about the solution. So I gave it up and looked at the solution.

#### Solution

The solution was something that I have never seen, but easy to understand. First, we need to think how to get the products without itself. It is actually the product of left side of an element and the right side of an element.

```
[ 1, 2, 3, 4 ]

ex) product without 1

- left side: 1 (does not exist)
- right side: 2*3*4 (without 1)
- left side * right side = 1 * 24 = 24


ex) product without 3

- left side: 1*2 (does not exist)
- right side: 4 (without 3)
- left side * right side = 1 * 2 * 4 = 8

```
Next, we need to find the way to get prefixes and postfixes in a linear time, and using only constant space. Actually this part is very hard to come up with by ourselves. 

The way to create prefixes is:

1. Set up a variable prefix, initialized with 1.
2. Push the prefix to the returning array.
3. Keep multiplying prefix as loop goes through.

> Notice that the first prefix is always going to be 1 since there is no element on the left side of the first element.

After the step, we will get an array that filled with prefixes for each element. Now all we need to do is get postfixes for each element and simply update the returning array by multiplying those postfixes.

#### Code implementation

```cpp

    vector<int> productExceptSelf(vector<int>& nums) {
        vector<int> res;
        int prefix = 1;
        for (int i = 0; i < nums.size(); i++)
        {
            res.push_back(prefix);
            prefix *= nums[i];
        }
        int postfix = 1;
        for (int i = nums.size()-1; i >= 0; i--)
        {
            res[i] *= postfix;
            postfix *= nums[i];
        }
        return res;
    }
```
Projeto - Stone
Published: 2022-07-29 02:40:03


Nesse projeto, fiz um clone da página do banco Stone. Onde usei HTML e CSS para desenvolver a Landing Page.
No código procurei fazer padrões, já que vi que em algumas seções sempre tinha **Texto e imagem**, então procurei padronizar para poder economizar na hora de estilizar no CSS. Usei **GRID** para fazer a divisão de textos e imagens nas seções que tinha ambas.

**Link do projeto:** https://lucasfelipedonascimento.github.io/page-stone/

---

Também usei o https://excalidraw.com/ para fazer o protótipo do projeto, onde fiz a divisão da página em seções para facilitar o trabalho na hora de codar.
60 Days of Data Science and Machine Learning
Tags: python, datascience, machinelearning, ai
Published: 2022-08-24 07:09:06

Hello, everyone.

Following are third week of this series. You can find them on my github repository. You can run all the notebook on colab or jupyter as well.

- [Day 15 - Repression Part2](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Day_15_Regression_Part2.ipynb)

    Topic : Support Vector Regression, Decision Tree Regression and Random Forest Regression

- [Day 17 - Kaggle's Annual Machine Learning and Data Science Survey Part1](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Day_17_Kaggle%E2%80%99s_Annual_Machine_Learning_and_Data_Science_Survey_Part1.ipynb)

    Topic : Data Cleaning, Preprocessing, EDA and etc

- [Day 18 - DecisionTreeRegressor and RandomForestRegressor](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Day_18_DecisionTreeRegressor_and_RandomForestRegressor.ipynb)

    Topic : Implement Regressor with Decision Tree and Random Forest

- [Day 19 - Kaggle's Annual Machine Learning and Data Science Survey Part2](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Kaggle%27s_Annual_Machine_Learning_and_Data_Science_Survery_Part2.ipynb)

    Topic : Data Cleaning, Preprocessing, EDA and etc

- [Day 20 - Detailed Crypto Analysis](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Day_20_Detailed_Crypto_Analysis.ipynb)

    Topic : Basic intuition to buid model to predict

- [Day 21 - Detailed Analysis of the Netflix Content](https://github.com/levintech/60-Days-of-Data-Science-and-ML/blob/main/Day_21_Detailed_of_the_Netflix_Content.ipynb)

    Topic : Detailed analysis of the Netflix Content


Hope my work would be little bit helpful for AI enthusiastic.
If that, please star that repository then follow me on **Github** and **Dev.to**

https://github.com/levintech
https://dev.to/levintech
Best Regards.
Hibernate & JPA Tutorial - Crash Course
Tags: java, tutorial
Published: 2022-08-24 10:26:52

Ever looked for a comprehensive tutorial to Hibernate & JPA that is fun and entertaining at the same time? 

[This video](https://www.youtube.com/watch?v=xHminZ9Dxm4) is a crash course into the [Hibernate](https://hibernate.org/) & JPA universe.  

We'll start with getting the correct project dependencies, annotating our classes with JPA annotations and setting up a SessionFactory. This allows us to execute basic CRUD operations, HQL and Criteria queries. 

Afterwards we can simply JPAify our code, switching out a couple of classes and you'll understand how Hibernate / JPA & Spring Boot play together. 

By the end of it, you'll have a good (initial) understanding of how to use it and what your future Hibernate / JPA learning journey entails.


{% embed https://www.youtube.com/watch?v=xHminZ9Dxm4 %}
JavaScript: Node.js (built in modules)
Tags: javascript, beginners
Published: 2022-10-14 23:05:39

1. An error must be thrown to halt the program. `console.log(new Error('this is an error'))` doesn't stop program from running.
2. `console.table()` print out the elements in an object as a table

3. `console.assert()` print out false if the statement in the parenthesis is falsy.

4. process is a global module. (Buffer, Error are also global module)

```
process.argv[0] returns the path of node;
process.argv[1] returns the file name;
process.argv[2] returns the first word in user input;
```
5.node uses error-first call back function
```
const callbackFunc = (err, data)=>{err? console.log(err): console.log(data)}
```
6.`fs` is the built in module to interact with file system
[Difference between fs.writeFile() and fs.createWriteStream()](https://www.makeuseof.com/node-write-files-learn/)
* `fs.writeFile()` requires all the content of the file at once;
* `fs.createWriteStream()` supports sequential writing.

```
const writeableStream = fs.createWriteStream('text.txt')
process.stdin.pipe(writableStream);
//output: all the input from terminal when the terminal is open.
```
* `fs.createWriteStream()` can also work with `fs.createReadStream()` to copy file from one to another
```
let readableStream = fs.createReadStream("test.txt");
let writableStream = fs.createWriteStream("test2.txt");
 
readableStream.on("data", function(chunk) {
    writableStream.write(chunk);
});
```
7.event module provides an `EventEmitter` class. Example of creating an instance of EventEmitter class:
```
const events = require('events');
const myEmitter = new events.EventEmitter();
```
* Each instance has a `.on()` method which assigns a callback function to a named event. The first argument is the name of the event as a string, the second argument is the callback.
* Each instance also has a `.emit()` method which announces the named event has occured. The first argument is the name of the event, the second argument is the data that should be passed into the callback function.

8.`console.log()` is a thin wrapper of `process.stdout.write()`, to receive input from a terminal, use `process.stdin.on()`
9.`Buffer` module has several methods to handle binary data.
* `.alloc()` creates a new Buffer object. 
* `.toString()` transfer the Buffer object to a string.
* `.from()` can create an Buffer from a string
* `.concat()` joins all the buffer objects in an array into one buffer object.(this method comes in handy because a Buffer object can't be resized.)
```
const buffer = Buffer.alloc(5,'b');
console.log(buffer); //output: <Buffer 62 62 62 62 62>
console.log(buffer.toString()) //output: bbbbb
const buffer1 = Buffer.from('hello')
const buffer2 = Buffer.from('world')
console.log(buffer1) //output: <Buffer 68 65 6c 6c 6f>
const bufferConcat = Buffer.concat([buffer1, buffer2])
console.log(bufferConcat) //output: <Buffer 68 65 6c 6c 6f 77 6f 72 6c 64>
```
10.`setImmediate()` execute the callback function inside after the **current** poll is completed.
What is a CRUD?
Published: 2022-08-27 22:48:28

In this my concise article, you will understand the different between CRUD and RESTFul API.

When building an API, we want our model to provide four basic functionalities which are the four major functions 
used to interact with database applications in which we refer to as create, read, update, and delete
resources known as CRUD. This CRUD is essential operations needed in building an endpoint API.

RESTful APIs most commonly utilize HTTP requests. Four of the most common HTTP methods in a REST environment are GET, POST,
PUT, and DELETE, which are the methods by which a developer can create a CRUD system.

```
Create: Use the HTTP POST method to create a resource in a REST environment
```
```
Read: Use the GET method to read a resource, retrieving data without altering it
```
```
Update: Use the PUT method to update a resource
```
```
Delete: Use the DELETE method to remove a resource from the system
```


```

NAME		DESCRIPTION								                                    SQL EQUIVALENT
Create		Adds one or more new entries.					                        	Insert
Read		Retrieves entries that match certain criteria (if there are any).	        Select
Update		Changes specific fields in existing entries.				                Update
Delete		Entirely removes one or more existing entries.				                Delete
```
PostgreSQL Materialized Views
Tags: postgesql
Published: 2022-08-27 08:07:44

---
title: PostgreSQL Materialized Views
published: true
description: In this article, we reviewed PostgreSQL materialized views and how to create, update, update, and delete them.
tags: postgesql
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---
This guide describes what PostgreSQL materialized views are and when you should consider working with them - https://blog.devart.com/postgresql-materialized-views.html
Lifecycle changes after API 28
Tags: android, mobile
Published: 2022-08-27 12:41:01

Some time ago, I was going through the documentation about the infamous Activity class. All was good and even uneventful until I came across an interesting paragraph stating the following:

![Diagram of the lifecycle changes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9qgxccdp0vei3st3f6n.jpg)

A question popped up in my head- but why the change in the order?

My first idea was to search for any articles on the topic. Sadly, with no result.

Then, I decided to go through the source code of the Activity class. There was also nothing that could provide some insight on the topic.

My last resort was to search for some discussions on Stack Overflow. To my surprise, there was a useful reference to the Android documentation.

![A possible reason for the changes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4plwb7fa34u6aprebzlr.jpg)

Although the last paragraph throws some light on the topic, I was still not satisfied with it.

After initiating a discussion on Stack Overflow, I can conclude the following - First of all, it’s hard to come up with a precise answer to this question without actually involving some engineers from Google. For sure, they will be able to give enough information on the topic. Thus, the following statement is just speculation. The one possible reason behind this change is **consistency**. Before API 28, we couldn’t be 100% sure that the code in on Save Instance State will be executed at all. That can lead to losing important data and the inability to properly recreate the state. With the changes introduced in API 28, we can now be sure that our data will be saved.

Thanks to [Martin Marconcini](https://stackoverflow.com/users/2684/martin-marconcini) for giving his 5 cents on the topic.

Feel free to share, comment & give your opinion on the topic!
Catch the Attention of Future Employers as an Early-Career Developer \\ Umbraco Codegarden 2021
Tags: beginners, career, codenewbie
Published: 2022-08-27 16:56:00

![Title slide of the talk: Catch the Attention of Future Employers as an Early-Career Developer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g2be9ty3w7ciuriu7m7g.png) 

[This is my talk from Umbraco's Codegarden 2021. ](https://www.youtube.com/watch?v=dKpRag1x8X8)

In it, I cover different ways to catch the attention of future employers through building a solid portfolio of personal projects.

At the end of 2019, I decided I wanted to change the trajectory of my life and career by making a transition into the wonderful world of tech and software engineering.

I spent all of 2020 learning new concepts and then applying those concepts into personal coding projects. As my skills improved, so did my portfolio.

Throughout the process, I made sure to share my progress on platforms like Twitter and Dev.to. It was awesome to build a community of other folks who were on the same path that I was. 

Near the end of 2020, I was contacted by my now-colleague who was looking into building his team at a very early-stage start-up at the time. Fast forward a week and a half later after a couple of interviews and a pair programming exercise, and I had a job offer in hand for my first role as a junior software engineer!

In this talk, I cover some of the key actionable insights I gained over my year of making a career transition into software engineering!

Here's [the link to the talk](https://www.youtube.com/watch?v=dKpRag1x8X8), and [here's a link](https://www.youtube.com/watch?v=SpooRwrXI-k) to the subsequent panel discussion after the talk. Enjoy!