teleren/devto huggingface dataset:
How to select last col of each row in grid layout.(CSS HELP)
Published: 2022-01-07 20:33:39

Using 
`grid-template-columns: repeat(auto-fit,100px); `
I am trying to create a responsive grid layout and there is my need to select last column of each row which should say change background-color to RED.
Tried using nth selectors but in vain. Please guide me.
🙏
Beautiful Functions: Psi
Tags: javascript, typescript, functional
Published: 2022-01-07 20:27:57

Continuing on with my [last post](https://dev.to/jethrolarson/beautiful-functions-compose-4ce3), I want to look at another function which I consider particularly elegant, the psi combinator:

```js
const psi = (f) => (g) => (x, y) => g(f(x), f(y));
```

In TypeScript:
```ts
const psi = <A, B>(f: (x: A) => B) =>
  <C>(g: (x: B, y: B) => C) =>
  (x: A, y: A): C =>
  g(f(x), f(y));
```

This is also called `on` in Haskell.

What it does is map a function over both arguments of a binary(two-argument) function. This is similar to the `B` combinator but changed to work on binary functions.

The quintessential usage is when sorting records:

```js
// given a compare function
const localeCompare = (item1: string, item2: string): number =>
  item1.localeCompare(item2);

// and some accessor function that drills into a data structure
const getName = (person) => person.name;

// compose that accessor with the compare function to drill both sides
const compareNames = psi(getName)(localeCompare);

// which can be passed to a sort method for an array of that structure
people.sort(compareNames)
```
Interestingly, this is equivalent to doing a map and then sort, but using psi is theoretically more memory efficient:

```js
// generates an extra array
people.map(getName).sort(localeCompare)
```

Look out for other opportunities to use `psi` and I'm sure you'll find them. Particularly if you're doing data aggregation or processing. 

Pedantic Disclaimer: Psi is usually defined with the binary function as the first argument but I preferred the similarity  to `B` combinator when taking the mapping function as the first.
Rewriting My Personal Website in Next JS and Typescript
Tags: nextjs, typescript, react
Published: 2022-01-07 20:25:55

Previously, I made my basic personal website on pure HTML, CSS, and javascript. The website was very basic and don't have much of the section that does not describe the visitors about myself. Now, I am going to re-write the whole website in NextJS and Typescript.

A Couple of months back, I get started learning Typescript. The Type System of Typescript fascinates a lot about it. I continue exploring Typescript Ecosystem. I used to write Cloud Function using Typescript. The main advantage that we notice is that we were able to complete work at a rapid state with less bug-free experience.

Similarly, I was working with React and Firebase Stack on my Previous work. I heard a lot about Next JS and decided to give it a try. It has been a few months since I started using Next JS and Found less Boilerplate code on Navigation and SSR. I am still working on Next JS.

I have started working on my Portfolio and here is the list of items that I am planning to add to the new Version of My Portfolio.

1. Home Section (Briefly explaining about myself and tech stack I am Familiar with)
2. About Section (Image of me including a detailed explanation about myself)
3. Skills Section (Images containing Tech Images)
4. Projects Section (A grid viewer that contains a detail explanation of Project with Tech Stack)
5. Timeline Section (This Section contains a timeline about how I get started and where I am up to now)
6. Blog Section (A Paginated 4 Blogs that contains images, descriptions, and tags)
7. Contact Section (Contact section should have at least an email and message field for contacting me about their projects or anything. This is connected with my custom express API backend.)

I am Planning to use Next JS as React Framework and Typescript as Programming Language. For Basic Design Stuff, I am plan to get inscription from [uplabs](https://www.uplabs.com/) and [dribbble](https://dribbble.com/). For Front-end design, I will be using Tailwind CSS or Chakra UI. 

For Blog, I will write a custom express API with MongoDB as a Database or I can also fetch all my blogs from [Dev](https://dev.to/) so that I do not need to manage backend and database.

This is my plan to rewrite my Portfolio Website. If you have any suggestions regarding building my Portfolio then you can suggest them in comment section.

Thanks For Reading.
First week of the year
Published: 2022-01-07 20:16:42

First full week of the new year. My kid returned to school for one day by the end of the day they had announced school would be closed for the next two days for winter weather. Snow and sleet were expected to hit during the am rush hour and then stay below freezing. Sure enough it started snow during normal school drop off time and snowed all day long. 

Had to pivot plans for the week. Mostly read stuff and did a lot of networking.

I watched BekhaHW's Cypress speech, Mission Impossible Prep: Testing with Cypress [link](https://www.twitch.tv/videos/1254185014), Cincinnati Software Craftsmanship. It was a great example of some the cool things Cypress can do.

I worked on some content update for a site I manage. No heavy coding just updating text and some links. Users needed new information for the new year.

I finally got to attend a virtual coffee session after having conflicts for the past few weeks.
Getting started with React Native #2 - What we will build
Tags: reactnative, android, ios
Published: 2022-01-07 20:07:27

---
title: Getting started with React Native #2 - What we will build
published: true
description: 
tags: Reactnative,android,ios
//cover_image: https://direct_url_to_image.jpg
series: React Native
---

While learning new technologies, I like to think about projects I want to create with them.
For my project React Native I've chosen a sort of kanban project board, combined with the pomodoro technique I like alot.
The first draft will be pretty basic and will evolve over time.
For all of you, who don't know the pomodoro technique, I love to explain it a bit.
Each pomodoro defaults to 25 minutes. While the pomodoro runs, you work on a chosen task. After 25 minutes, as the alarm rings, you immediately stop working and do something different, like go drink a cup of coffee, do some push ups or sing your favourite song out loud. You have 5 minutes self-care-time now. After those 5 minutes of freedom, you go on with your task. After the 4th pomodoro you earned something wonderful. Next to being on pace with your tasks, you know have 15 wonderful minutes to do whatever you like to. Probably time for a snack.
What's important while in a pomodoro... Don't let yourself be interrupted. These 25 minutes belong your task alone. I know... While on remote work it could be a bit difficult to work on your task without interruption. Kids, loved ones, weird pets or whatever. As someone interrupts you and the cause is not your home burning or something like that, tell them, they get the next pomodoro and add the talk as a new task to your list.
It's a good way to prioritize your time slots and train your surrounding to wait patiently for your prescious time.
After your great day with a lot of productive work on your projects, you have a great overview about how long your tasks took. Like "creating a blasting navigation bar" took about 4 pomodoros... That's about an hour.
Why 25 minutes? Science my friend! The human brain is not capable of working focused for any longer than that. Here a little wink to all teachers out there. Go and change your courses! 😉
Well okay... Now that was more of a pomodoro post, but I guess it's important to know what's my project is about.
Follow me on my journey.
In my next post, we will setup the initial project structure and maybe some workflows, I find handy.
Do you guys use something like pomodoro or other stores of time management? What about kanban boards? If not... What is your way of structures work on projects?
Let me know!
Have a great one!
Matthias
What is Flutter and why it's a game changer in app development
Tags: flutter, sdk, quickblox, chatapp
Published: 2022-01-07 20:04:10

---
title: What is Flutter and why it's a game changer in app development
published: true
description: 
tags: Flutter, SDK, QuickBlox, ChatApp
//cover_image: https://direct_url_to_image.jpg
---
![QuickBlox Flutter SDK](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q1tz1fwidq2hovrgvhle.png)

Flutter is fast becoming one of the most popular choices for cross-platform app development. Easy-to-use with ample documentation and an active developer community, Flutter allows you to build apps for both Android and iOS with a single source code. 

Read our [blog](https://quickblox.com/blog/what-is-flutter-and-why-it-is-a-game-changer-in-app-development/) to learn more about why we think Flutter is a real game changer in the world of cross-platform App development. 

If you’re interested in adding chat messaging or video calling to any Flutter App, check out [QuickBlox Flutter SDK] (https://quickblox.com/sdk/flutter-chat-sdk/), which is free to download.  

Like to code in Flutter? Tell us why in the comments below.
Unlearning in 2022
Tags: devjournal
Published: 2022-01-07 19:57:31

Happy New Year! 

2021 was a year full of change and learning to adapt. Part of that change was enrolling in my SWE bootcamp cohort in September.

I have three months left of my cohort. Three months and I will be a certified software engineer. I've been working on this for five years and it's finally here! 🪅 🎉

With this said, I've been struggling a lot with the fact that I'm starting to apply for dev jobs. I keep telling myself I'm not ready because there is still so much I don't know. 

I get a little frustrated with myself if I can't immediately remember how to write a for loop that I learned in unit 1. Or if I struggle with explaining what problem I'm trying to solve, it can feel so embarrassing. So then I think that maybe I'm in the wrong field. 

This week, I thought about what it is that is keeping me from being vulnerable or accepting when I don't know something. 

This is my first time building applications and learning programming languages in depth rather than the small exposure I got when I was self-learning. All the work experience I've ever had was in retail, administration, and restaurant and I don't have a CS degree. 

In every job I've ever had before the game was usually the same. Be friendly and know how to solve problems like "What do you do if a guest is upset that we put cheese on her burger and she is lactose intolerant?". I've always learned the ropes pretty quickly. Now I feel the complete opposite. 

There is not one solution for every problem and there are changes and updates so frequently that I will always be learning. I'll get better of course, but I need to remove the pedestal I've put myself on and allow myself to be wrong sometimes if I want to. 

So for 2022, I'm going to take this epiphany I had and really put it to use. To go easy on myself, put in the practice, and everything else will fall into place. A year to unlearn a potentially toxic mindset. 

Thanks for allowing me to share some of my story, if you can relate I hope you are kind to yourself this year as well.
Hello guys ->Spring boot-Java

Tags: java, javascript, beginners
Published: 2022-01-07 19:55:42


I hope everyone is well and I wish you more prosperity and creativity.
I have a question about a special topic. Spring boot
I have an excellent background in Java programming and I want to learn the above framework. Can someone help me or guide me to get started correctly?

The second question for those experienced in this field: What are the prospects for work and are there distance training opportunities in this field?


**I hope everyone will participate and express their opinion.
Your friend/Mohamed**



#java  #springboot #java8
[week1] Days 5 - I call jenkins API with a express app
Published: 2022-01-07 19:49:33

## School Project
So today i was working on a school project , and i made a call api consumption from my express app to a jenkins REST API 

### Context
We're making an api with node.js / Express , this  call the api of Jenkins for getting the result of a job

## .env
For making this API we use a .env file wich contain the data necessary to access jenkins, like the user or the token link to the user, we define it like this. 

```
JOB_USER = <jenkins_user>
JOB_TOKEN = <jenkins_token>

JENKINS_URL = <Jenkins url>
```

### Create express server

For insure that our api run proprelie , we created an application/server. You can find information on how to make one [here](https://expressjs.com/fr/starter/hello-world.html) 

### Jenkins Api Call 

We make options for gettings informations from our .env like this  

```javascript 
let options = {
    url : "",
    method: 'HEAD',
    auth: {
        'user': process.env.JOB_USER,
        'pass': process.env.JOB_TOKEN
    }
};
```

now we can make our routage 


```javascript 
    app.get("/jenkins", (req,res) => {
        options.url = `${process.env.JENKINS_URL}/job/[you folder]/job/[you job]/lastBuild/api/json?pretty=true`
        request.get(options, (err, response) => {
            if (!err){                
                let status = JSON.parse(response.body)
                res.send(status.result)
            }
	        else {
	            res.send(err) ; 
	        }	
        })
    })  
```

And with that i can now if my build run properly or i faced some trouble .

Thx for reading , hope you loved it ! 


PS:

if you see any spelling or grammar mistakes, can you notify me (I am still improving my English) ? thank you !
if you have any tips for improving my post feel free to comment on the post
My First Post
Published: 2022-01-18 18:31:25

---
title: My First Post
published: true
date: 2022-01-07 19:28:16 UTC
tags: 
canonical_url: https://blog.seancoughlin.me/my-first-post
---

> A journey of a thousand miles begins with a single step
> 
> [Chinese Proverb](https://en.wikipedia.org/wiki/A_journey_of_a_thousand_miles_begins_with_a_single_step)

Welcome to my very first blog post! I was inspired to create a blog by a [freeCodeCamp New Year's Resolution Challenge](https://www.freecodecamp.org/news/2022-become-a-dev-new-years-resolution-challenge/). freeCodeCamp challenged new developers to take to the internet and blog what they learn while on their programming journey. As a recent college graduate with a degree in Computer Science, I felt inspired to share what I learn as I take my first steps into the professional programming world.

Visit my website [seancoughlin.me](https://seancoughlin.me) to learn about who I am and what I work on. And stay tuned for more blog posts on [blog.seancoughlin.me](https://blog.seancoughlin.me).
POO En Swift :  parte 1
Tags: beginners
Published: 2022-01-07 19:26:00

## ¿Que es POO?
Entendamos que POO, para desarrolladores es la programación orientada a objetos, el paradigma más reciente despues de la programación orientada a eventos.

POO, ha sido creado para contener lo que vendría siendo el código fideo, hojas de código o texto plano muy largo y modelar un poco más cercanas a la realidad

Dentro de poo nos toparemos con los cuatro elementos fundamentales, que pueden variar un poco según el leguaje de programación. 

- Clases <Estoy construyendo este post>
- Propiedades  <Estoy construyendo este post>
- Metodos  <Estoy construyendo este post>
- Objetos  <Estoy construyendo este post>

Junto con ello existen los pilares que son conceptos propios del poo
- Abstracciónn <Estoy construyendo este post>
- Encapsulamiento <Estoy construyendo este post>
- Herencia <Estoy construyendo este post>
- Polimorfismo <Estoy construyendo este post>

Comprendiendo estos ocho conceptos, podrás probablemente llegar a casi cualquier lenguaje con lo mínimo requerido para manejar poo, puede que cambien algunas palabras clave, manejos de memoria pero tendrás las bases del poo.
Steam as VNC for Linux
Published: 2022-01-07 19:09:04

**Problem:**
- Nvidia proprietary drivers conflicts with Xorg `vnc` module.

**Symptoms:**
- `nvidia-settings` shows blank window
- `/var/log/Xorg.0.log` shows: `[ 11510.226] (EE) Not enabling extension NV-CONTROL: maximum number of events or errors exceeded.`

**Solutions:**
1. Recompile Xorg to allow disabling `XFree86-DGA` and `XFree86-VidModeExtension` extensions
OR…
2. **use Steam as VNC server!**

**Why should I want to use Steam as VNC?**
- it's fast and works pretty well
- it has sound streaming support which works really well
- no need for extenal IP, VPN or ZeroTier solutions

**How to do it?**
- Install Steam on remote computer.
- Turn on Remote Play in Settings.
- Go to `Games → Add a Non-Steam Game to My Library` and add text editor like GEdit, Pluma etc. or any other app that will be your session hook.
- Turn on `View → Big Picture Mode`.
- Install Steam on client computer.
- Stream hook program, try to move or resize it so you'll be able to click somewhere else in streaming window in order to bring remote Steam window to front.
- Click power button on Steam in Big Picture Mode to minimize window and use remote desktop.
- Close hook app to stop streaming.
What is front-end ?
Published: 2022-01-07 19:06:35

Front-end web development, also known as client-side development is the practice of producing HTML, CSS and JavaScript for a website or Web Application so that a user can see and interact with them directly. The challenge associated with front end development is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing.

The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant. This is further complicated by the fact that users now use a large variety of devices with varying screen sizes and resolutions thus forcing the designer to take into consideration these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform) and different devices (cross-device), which requires careful planning on the side of the developer.
Django on K8s (Part 0: Introduction)
Tags: django, kubernetes, docker, ubuntu
Published: 2022-01-07 19:05:22

## Introduction

Kubernetes (& cloud-native) are the hottest words in the industry nowadays, everyone is moving to Kubernetes (either on the cloud or onPerm). I was puzzled how to get itwork with Django as Django has a lot of working parts e.g Database engine, caching engine and media files. Lately, I've been working on solving that puzzle and it took me some time, so I decided to write this series of article to show how it can be done.

You just need an Ubuntu 20.04+ laptop or a PC to be able to test and play with us and everything is available on GitHub repo {% github mkalioby/django-on-k8s no-readme %}

The project (we will deploy) is a simple application that let a user logs in and once they log in the system, tell them their 'Welcome request.user.username'

The series is a working-in-progress and  will get updated frequently as we discover more, currently we will start with the following 6 parts

Part I: [Install Docker and minikube](https://dev.to/mkalioby/django-apps-on-kubernetes-part-1-installing-docker-minikube-2h6a)
Part II: [Create an app image](https://dev.to/mkalioby/django-on-k8s-part-ii-create-an-app-image-efm)
Part III: [Run the app on K8s with SQLite](https://dev.to/mkalioby/django-on-k8s-part-iii-running-on-kubernetes-2m91)
Part IV: [Adding storage to persist files](https://dev.to/mkalioby/django-on-k8s-part-iv-adding-storage-25d8).
Part V: [Using a DBMS like MySQL](https://dev.to/mkalioby/django-on-k8s-part-v-running-with-mysql-649)
Part VI: [Advanced topics](https://dev.to/mkalioby/django-on-k8s-part-vi-advanced-topics-477n).
     - Readiness & Liveness checks
     - Executing commands inside containers
     - Rolling updates and rollback
     

So Let's start by [Part I](https://dev.to/mkalioby/django-apps-on-kubernetes-part-1-installing-docker-minikube-2h6a)
Getting started with React Native #1
Tags: reactnative, android, ios
Published: 2022-01-07 18:58:54


## Getting started with **React Native** - together!
Whenever I try to learn new technologies I do it on my own. But why not use the power of the community to achieve new knowledge?
With this _series_ of posts, I'll take you with me on this ride.
I'll show you my way of learning, show you what I've found out and what I think about all of it.
It would be great, if I could help someone getting started as well.
Let me know in the comments, what you would like to learn next.
Have a great day and be even greater!

Matthias
Open source/free scheduler and monitoring tool
Tags: devops
Published: 2022-01-07 18:26:15

I am looking for a piece of software with the following scheduling and monitoring functionality:

- Windows 10 x64 support
- Scheduling various types of apps, e.g. python 3 scripts, bash 
  scripts, console app
- Monitoring all launched apps (running, finished or failed 
  statuses)
- Start/Restart/Pause/Stop a service (I know that my apps should 
  be services in order to support that so it is nice to have)
- Running in parallel multiple subflows with dependencies, 
  possibly multiple dependencies but within 1 subflow everything 
  acyclic (DAG). For example, I launch process 'a'. Processes 'b' 
  and 'c' are waiting for finishing of the process 'a'. Processes 
  'b' and 'c' start together. After each process there is one or 
  more processes that are waiting for the previous processes. For 
  example, after 'b' there is 'd', after 'c' there is 'e'. 'd' 
  start after 'b' ends, 'e' starts after 'c', not earlier and not 
  later. Entire flow is cyclic, which means we return to the 
  initial process. I am attaching a diagram that represents 
  symantically the described flow where each block size roughly 
  represents duration of of its execution and location its start & 
  end. 
![The Diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jpxcw1cz7qkmxxpa8w8u.png)
I tried Power Automate Desktop(free) but it looks like it doesn't have process monitoring and running in parallel several subflows as described above. Is there an open source / free tool that might satisfy my requirements?

Thanks in advance!
What was your win this week?
Tags: discuss, weeklyretro
Published: 2022-01-07 18:22:27

---
title: What was your win this week?
published: true
description: Got to all your meetings on time? Started a new project? Fixed a tricky bug?
tags: discuss, weeklyretro
cover_image: https://cl.ly/188e843c2985/download/Image%202019-02-15%20at%202.36.37%20PM.png
---

Hey there! 


Looking back on this past week, what was something you were proud of accomplishing?

All wins count — big or small 🎉

Examples of 'wins' include:

- Starting a new project
- Fixing a tricky bug
- Reaching a milestone in your career ... or whatever else might spark joy ❤️ 

---

Congrats on your accomplishments this week! 

![Balloons that read "yay"](https://media.giphy.com/media/xUPGcMzwkOY01nj6hi/giphy.gif)