teleren/devto huggingface dataset:
Introducing Anvil’s Python-based Data Files API
Tags: python, webdev, programming, news
Published: 2022-12-08 20:06:41

# The New Data Files Service

Python has lots of great libraries for interacting with files, large datasets and machine learning models. And today we are happy to announce a new feature in Anvil to make it easier than ever to use large files and machine learning models in your Python code. **We are launching Anvil's new [Data Files Service](/docs/working-with-files/data-files)**.


![Data Files Panel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pqy5rodrd7tv6pcodtjn.png)

---

## What are we releasing?

Data Files are files that you, as the app developer, can attach to your app. These files are available in your [Server Modules](https://anvil.works/docs/server#server-modules). Data Files can be uploaded and accessed using the new built-in Data Files service.

There's a new API to access and manage Data Files. Accessing files is as simple as using square brackets:

`data = pandas.read_csv(data_files['my_spreadsheet.csv'])`

---

# What can I use it for?

Any application that uses bulk static data! For example, you might build a dashboard that queries a CSV of static data using `pandas`. Or you might build an app around a machine-learning model, which loads a file of stored weights into PyTorch, Tensorflow or scikit-learn.

---


## Get started right now

Check out our [Quick Start guide](/docs/working-with-files/data-files/quickstart) to learn about using the Data Files Service.

#### [Data Files Quickstart Guide](https://anvil.works/docs/working-with-files/data-files/quickstart)

---

## Deploy a machine learning model

We've got a brand new tutorial to show you how to deploy an ML model and use it in your Anvil app:

#### [Deploy an ML model with the Data Files Service](https://anvil.works/learn/tutorials/deploy-machine-learning-model)


---

## More about Anvil

If you're new here, welcome! [Anvil](/) is a platform for building full-stack web apps with nothing but Python. No need to wrestle with JS, HTML, CSS, Python, SQL and all their frameworks – just **build it all in Python**. Check out our 80 second overview of Anvil:

{% embed https://www.youtube.com/embed/3V-3g1mQ5GY %}

---

## [Try Anvil for free!](https://anvil.works/build)

---

{% user codingwithryan %}
Load balancer Quick Overview
Published: 2022-12-08 20:01:42

A load balancer is a device that distributes network traffic across multiple servers. It is used to improve the availability and reliability of a website or application by ensuring that incoming requests are distributed evenly across multiple servers. This helps to prevent any single server from becoming overloaded and ensures that the website or application remains available and responsive to users.

Load balancers can be used in a variety of different scenarios, including in web applications, e-commerce sites, and other applications that receive a high volume of traffic. They can be configured to distribute traffic based on different criteria, such as the geographic location of the user, the type of request, or the availability of the server.

In summary, a load balancer is a tool that helps to improve the performance and availability of a website or application by distributing incoming traffic across multiple servers. This can help to prevent any single server from becoming overwhelmed and ensures that users can access the website or application without any interruptions.


One example of how a load balancer can be used is in a web application that receives a high volume of traffic. In this scenario, the load balancer can be configured to distribute incoming requests evenly across multiple web servers. This ensures that no single web server becomes overwhelmed, and that the web application remains available and responsive to users.

Another example is in an e-commerce site that has a large number of users accessing it at the same time. In this case, the load balancer can be used to distribute incoming requests across multiple application servers, ensuring that the e-commerce site remains available and can handle the high volume of traffic without any interruptions.

Additionally, a load balancer can be used to improve the security of a website or application by distributing incoming requests across multiple servers that are located in different geographic locations. This can help to protect against distributed denial of service (DDoS) attacks, which attempt to overwhelm a website or application with traffic from multiple sources.

Overall, there are many different ways that a load balancer can be used to improve the performance, availability, and security of a website or application. The specific use case will depend on the specific requirements and needs of the application or website.
Kubernetes (k8s) and Cloud Run
Published: 2022-12-08 19:56:50

Kubernetes (k8s) and Cloud Run are two different technologies that are often used together. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications, while Cloud Run is a managed platform for deploying and running containerized applications on Google Cloud.

Kubernetes is a powerful and flexible tool for managing containerized applications, but it can be complex to set up and operate. Cloud Run, on the other hand, is a fully managed service that makes it easy to deploy and run your containers without having to worry about the underlying infrastructure.

One key difference between the two is that Kubernetes is designed to run on-premises or in any cloud environment, while Cloud Run is a cloud-native service that runs only on Google Cloud. This means that if you want to use Cloud Run, you'll need to host your applications on Google's cloud platform.

Another key difference is that Kubernetes is more geared towards running stateful applications that require persistent storage, while Cloud Run is better suited for stateless applications that can be run on demand.

In summary, Kubernetes and Cloud Run are both useful tools for managing containerized applications, but they are designed for different use cases and work best when used together.
JOBPKDO- you may be the next one who gets the job through Twitter
Tags: atlashackathon22, javascript, react, webdev
Published: 2022-12-08 19:38:08

## What I built
I've built a platform, titled as **JOBPKDO** which allows people to search for job tweets that come through Twitter daily.

## Inspiration
(What made you decide to build this particular app? What inspired you?)
Recently I secured a full-time job as a full-stack dev in a Start-up company & the best thing about the job is I got it from Twitter. So I thought if I make a platform like this then it would be easy for everyone to search for jobs like me.

**Now the question arises why people can't search through Twitter ?**
You know there are lots of unnecessary tweets which may distract a user, but JOBPKDO brings only **JOB-specific tweets** for you.


### Category Submission:
Choose Your Own Adventure


### App Link
[https://jobpkdo.vercel.app/](https://jobpkdo.vercel.app/)

### Screenshots

- Features

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

- Jobmarket Page

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

- Bookmarks Page

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


### Link to Source Code
Repo Link - [https://github.com/Gulshanaggarwal/v2.jobpkdo](https://github.com/Gulshanaggarwal/v2.jobpkdo)

### Permissive License
Apache-2


### How I built it
(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)
I've used MongoDB Atlas to save users' login data & bookmark data. Yes, during the project I first-time used **Typescript** which is a totally new learning experience for me.


### What's next?
**Notification & Reply features** are the two features that are currently under development. The notification feature will notify you for the tweets you saved directly to your mailbox.
The Reply feature is a totally advanced feature where users need to register to the platform for once only & then they can reply to a tweet with our JOBPKDO handle while using Twitter, JOBPKDO will auto-save the job for them.

🏁 That's all about the project. Suggestions & reviews are welcome ♥

![bye](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4y2iyj4wx43l4et8v98.png)
Using Nemo in Fedora
Tags: linux, gnome, productivity, desktop
Published: 2022-12-08 19:35:00

---
title: "Using Nemo in Fedora"
published: true
description: "How to use the Nemo file manager in Fedora"
tags:
    - linux
    - gnome
    - productivity
    - desktop
published_at: 2022-12-08 20:35 +0100
---

File managers are used a lot. GNOME comes with its own file manager called [**Files**](https://gitlab.gnome.org/GNOME/nautilus) (formerly known as _Nautilus_) which is good enough for most operations. However, every time I do heavy work with it, there is one major feature that is missing: split view.

Split view was part of Nautilus up until version 3.6 where it was removed to reduce the complexity of the software. However, there are at least _dozens_ of us that just work better with a split view file manager so, what's the alternative?

For me is [Nemo](https://github.com/linuxmint/nemo/). Nemo is the file manager that [Linux Mint](https://linuxmint.com/) maintains and uses by default in its desktop environment. It is a fork of Nautilus so is similar and migrating to it is painless.

As of today my Linux distribution of choice is [Fedora](https://getfedora.org/), so Nemo is not installed by default, as expected. Fortunately, installing it is as simple as:

```bash
$ sudo dnf install nemo-5.4.3-1.fc37.x86_64
```

You can install extensions to Nemo too, for example to be able to use [File Roller](https://wiki.gnome.org/Apps/FileRoller) you just do:

```bash
$ sudo dnf install nemo-fileroller-5.4.1-2.fc37.x86_64
```

There is one minor thing we have to fix though, there isn't any launcher to access the software we just installed. You can launch it from the terminal just typing `nemo` but that's not ideal for a GUI application.

To add a new icon to the GNOME launcher for Nemo, you just have to create its _Desktop entry_ file and place it in `~/.local/share/applications`.

```
[Desktop Entry]
Encoding = UTF-8
Name = Nemo File Manager
Exec = /usr/bin/nemo
Icon = nemo
Type = Application
Categories = Development
```

To find the location of the Nemo executable, you can use `which`:

```bash
$ which nemo
/usr/bin/nemo
```

And that's it! Now once you are inside Nemo you can press `F3` and the side panel will show up.
Sigh, what AI supported Web Component development will look like
Tags: webcomponents, javascript
Published: 2022-12-08 19:26:21

**Update:** I wrote a GPT that generates Web Components in seconds:  
https://chatgpt.com/g/g-quK0nMtwZ-create-or-refactor-your-web-component

<hr>

```javascript
constructor(){
  const template = name => document.getElementById(name).content.cloneNode(true);
  super()
    .attachShadow({mode:"open"})
    .append(
        template("BOARDSTYLE"),
        template("GAMEBOARD")
     );
}
```

is perfectly **valid** code!

But because 10 years of Web Component blogs have replicated statements like:

![](https://i.imgur.com/lrqMd0a.png)

Our AI generated Web Components will be as stupid.

Source: https://chat.openai.com/chat


![](https://i.imgur.com/bxjGy4r.png)

And its stuborn in its answers:

![](https://i.imgur.com/8txPAUG.png)

<br>
<hr>
<br>

{% jsfiddle https://jsfiddle.net/WebComponents/62f1eLay result,html,js %}
Big Data management and its significance?
Published: 2022-12-08 19:17:09

Big data management is effectively handling, organizing, or using significant amounts of organized and unstructured data that belong to an organization. A high degree of data quality and accessibility for business intelligence and big data analytics applications is the aim of big data management. Businesses, governments use big data management solutions, and other organizations to deal with rapidly expanding data pools that generally contain many terabytes or even petabytes of data stored in various file formats. [Big data management](https://www.certocean.com/blog/what-is-big-data-management-and-its-significance/66) involves big data integration and data mining....
How I used web workers to make my react app stop freezing
Tags: react, webdev, programming, javascript
Published: 2022-12-08 19:12:04

## The Problem:

I have been working on this site – [app.sidekik.xyz](https://app.sidekik.xyz). It polls the users hard-drive every few seconds and reads their code, detects changes & then rebuilds the UI to interact with that code. As you can imagine that reading large files is heavy work and the app started to become slow when reading a large number of large sized files 🐢.
 
## The why?

In the browser there is only 1 thread, the main thread, which is the only thing taking user inputs and updating the UI. Now, if you run JS code which is eating up too much of its resources, then the app's UI will start to suffer. So yea 😬.

## The Solution:

With web workers, we get setup another thread, then offload any amount of work to this thread, thus reducing the load on the main thread and making it not hang 🚀.

## Basis Code:

**First** get `npm i workerize-loader`.  This enables loading any es6 module as a worker and then call the functions it exports. It also supports async/await, which makes it much easier to interact with the worker functions.

Here is my worker file: src/workers/bg.js

```
import md5 from "md5";
import readJsonObjFromFileHandle from "../helpers/readJsonObjFromFileHandle";

export async function getFileMd5(fileHandle) {
  const fileJsonObj = await readJsonObjFromFileHandle(fileHandle);
  const fileStringObj = JSON.stringify(fileJsonObj);
  const fileMd5 = md5(fileStringObj);
  return fileMd5;
}
```

**Then** i load this worker in my app like this:

```
import { useEffect } from "react";
import worker from "workerize-loader?name=bg!../workers/bg";
import worker from "../workers/bg";

const workerRef = useRef();

useEffect(() => {
  workerRef.current = worker();
  return () => {
    workerRef.current.terminate();
  };
}, []);
  
```

**Note:** Here I am setting up 1 worker to run when the app starts up and then letting it run as long as the app is there. **I found this to perform better** than creating a then terminating the worker, on a need only basis.

Upon loading the App now, we can see there is a worker.

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

**Next,** we just have to use this worker in my polling function:

```
const readFiles = () => {
  const fileMd5 = await workerRef.current.getFileMd5(fileHandle);
// rest of application logic here to use the files md5
}
setInterval(readFiles, 2000);
```

## The result:

Now the app is no longer slow, as the main thread is no longer running code to read files & check their md5's.

🎉🥳🎉🥳
re:Invent Queueing Guide
Tags: queueing, reinvent, aws
Published: 2022-12-08 18:56:10

Having a great live re:Invent has a lot to do with your success rate at getting to see the sessions you want.

I was quite disappointed when I discovered that all the sessions I wanted to see were already fully booked 6 hours after reserving seats was possible for re:Invent 2022. I felt "lucky" that I could get on the "waiting-list" for 3 sessions...

But on Monday morning freshly arrived in Las Vegas I decided to use my "Lowlands-strategy". Lowlands is a popular music festival in the Netherlands with around 60.000 visitors and 5 big stages and a few smaller ones. If you want to see a good band play there, you have to go at least one hour before the starting time to the venue and camp there with the groupies until the show starts.

On re:Invent this strategy worked out perfectly for me. I never had a full room, because I was always near the front of the walk-up queue. Being one hour in the line did not feel like a huge sacrifice either. I often had my laptop with me and otherwise there was always someone to have a nice "preview"-chat with about the session we were waiting for. 

The "downside" of the strategy is that the achieved number sessions per day could be a bit lower than you anticipated. I achieved 3-4 sessions per day this way. But hey I never expected to see any of them :-)

Details of the queue: 

60 min before session - start forming 2 queues "walk-up" and "reserved". Try find a spot near a wall so you can give your back a rest.

30 min before session - start of allowing reserved seats

10 min before session - start of allowing in walk-ups

Note: After being let in, you can leave for a toiletbreak and come back in :-) Before being let in you can of course agree with your neighbours that you can have your spot back.

Note: Being on the "waiting-list" for a session does *not* mean you will have any priority when doors to the room are opened (30 minutes before the start of the session). 

Note: If you have a reserved seat and come after 10 minutes before the start of the session: you will be sent to the end of the "walk-up" queue and probably not make it in.

Note: I hope this blog does not inspire everyone to adopt this strategy for next year's re:Invent, because I guess it doesn't work then....

Anyway hope to see you next year on re:Invent ;-)
Outreachy blog1: Introduce yourself.
Tags: outreachy, internship, opensource, mboalab
Published: 2022-12-08 18:55:54

## Who am I?
Hi there, My name is Agien Petra Ukeh, also known as _PDOC_. I have a Bachelor of Technology in Software Engineering, and I am interested flutter mobile Application development. Currently, I am a data analysist using #SPSS, and an academic research assistant/writer. I have great project management skills, social media and community management experience, coupled with graphic design skills. My interest in Telemedicine is my main interest in the [Mboalab](https://github.com/Mboalab) community for which I am interning on working on a digital Stethoscope application.

## My core values
- 
Fulfilment: 

Nothing brings me more joy than when i feel fulfilled. My fulfillment comes from making an impact in my community. From being the marketing lead of my GDSC, to being an organizer at the WTM of my community, each time there is an impactful event, i derive so much joy.

> "Success without fulfillment is the ultimate failure.” - Tony Robbins

- Vision

I like to see the not now but the then aspect of anything i do. When i believe in something or someone, I try my best to make sure i give in my best. 

> "Life is indeed like a spoon. You never can tell" - Petra Ukeh

- Accuracy

As a researcher, I believe so much in accuracy. It is either it or not it. Words such as close to it are hardly used by me.

> "Fast is fine, but accuracy is everything.-Wyatt Earp" 

- Goodness

Strange enough, I believe the world is full of goodness, and i give everyone a shot at being good. I just believe we are born with consciences and it could only be a thing or two that will cause someone to act otherwise. 

> "The world is full of good people, If you can not find one, be one"

- Constructive criticism

I believe in honest opinions and as such, when i am positively criticize, for some reason, it gives me joy as it always gives me room to grow. Given that i like learning, this value of mine is my most satisfying value. 

> "He who has the right to criticize, has a heart to help" - Abraham Lincoln

## My motivation for Outreachy.
I've always enjoyed community contributions but had no experience with international/open source communities. When i heard of Outreachy from a past intern during one of our events, I felt like this is it for me. So, I got to the website, and found out more about the internship. I then applied, and coming across Mboalab increased my motivation. I had contributed to this organization for two cohorts, but was not shortlisted. I did not stop, and each time, I got better and learnt alot. I was so excited about getting selected for this particular organization, and I intend to input my best, and showcase the amazing projects this organization is incharge of.
Phase-4: How did I get here?!
Tags: flatiron, beginners, react, rails
Published: 2022-12-08 18:52:06

I think maybe it is a surprise to me more than it is to anyone else that I have made it all the way to the end of Phase 4 at FlatIron. 

Never did I think I would endeavor to start this journey, but to think that I would actually reach the near-end to it? Unimaginable.

**I have failed utterly to have a blog that teaches anything about tech so I figured I would continue on that road.**

I've never been quite sure what to say here when it comes to the end of the phases. Despite learning so, so much I never feel as if I'm at the liberty to teach you anything.

I don't think I've ever felt imposter syndrome this strong and this often before. Even when I was taking my EMS certification. I genuinely feel that saving a human life was easier than coding has ever been.

Communication with others has never been my strong point, which is why I've always felt I understood a computer better. However, computers are also bad at communicating with humans and very finicky (how relatable).

I guess I forgot to factor in that I am also a human (despite how hard I've tried to be the opposite) and I would also have a bit of an up and down relationship with my dear computer. 

But we made it! We're here! Phase-5 is on the horizon! Do I deserve to be here? I'm unsure.

I'm currently in project mode, as I have been with all the other blogs I've quickly written in a panic.

We are at the point of building an entire frontend and backend. The frontend being React and the backend being Rails.

I've completely surprised myself by being more interested in backend and data handling. I'm an artist and have been drawing and making little artistic projects since I was young. I thought that the styling process of the front end would suit me better, but it's entirely the opposite.

It reminds me of being in school, when math started making sense more than anything else. Everything else felt nuanced, causing me to get caught up and confused by the subtle shades of grey. Math was black and white, it made sense.

However, being a full-stack developer means dealing with all shades and everything in between.

I have to learn to develop both skills fully in order to be a software engineer that any company would invite to their team. 

**Phase 5 is quickly approaching like an enemy in a video game where you hear the boss music playing long before you ever see them.**

Let's see if, left to my own devices, I can come up with something that proves I've spent almost 15 weeks working my *** off.

See you then!
Simple Terminal Game
Tags: beginners, python
Published: 2022-12-08 18:30:45

## What I built
A simple terminal game.  Create a character and battle it out until you are defeated.



### Screenshots

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

 

### Link to Source Code
https://github.com/tarasoffM/terminal-game/blob/main/script.py



## Background
This program is a project I chose to create to satisfy the requirements of the first module for an online course I am following.  The goal was to show an understanding of classes and methods.