teleren/devto huggingface dataset:
Who is Alaina Strife??
Published: 2021-02-01 02:53:34

Hello fellow tech friends! My name is Alaina Ann Strife (including the middle name to show how unoriginal I am) and I am currently a junior. Thankful I'm a junior because HOPEFULLY all of this COVID shiz will end soon if people just ya know, listen to medical and federal guidelines. But maybe I am too hopeful. Anyway, I am an IST - Design & Development major here at PSU with a minor in Security Risk Analysis. This upcoming summer I will be an IT intern at Merck, not sure what I am working on yet.  Last summer I interned at Trane, and although the company atmosphere was great, its not too riveting coding for air conditioners.

I am from a ~super~ small town in New York near Ithaca called Horseheads.  Yes, its really called Horseheads.  My friends here like to change it every time they mention it to a different animal and body part - like "Beavertail" or "Monkeyfeet." Its a really pretty area though with lots of vineyards and waterfalls so I recommend visiting sometime!

I absolutely love Penn State, and cannot imagine anywhere else that I would belong right now during my college years.  I will be BIG sad this time next year when they will be kicking me out soon and I will have to be... an adult. Gross. I am a really active person and enjoy working out a lot. I am also on a rules & regulation committee for THON, which I LOVE!

For the future, I hope to be working in a job in the tech field, although I am not sure quite exactly what. While I am a huge lover of coding, developing, and software, I just simply do not want to do that for my whole adult career. If I were to choose exactly what to do, that would be to do a couple of years as a software developer, then to transition into a project lead or manager. I really enjoy working and leading teams and I have a pretty creative side to me. That is ideal. I am also not sure what kind of industry, but after this upcoming internship, I hope to have a better understanding.

On my YouTube channel this semester, I hope to be able to provide you with helpful and fun content that will show you how to do different projects in software and coding, as well as some of the things in tech that interest me. Check out my SHOCKING video below, I hope you enjoy it!

https://youtu.be/zWK3W0SkIOo
About Pigeons, Rear View Mirrors, Bitcoin and Gamestop
Tags: react, node, bitcoin, 100daysofcode
Published: 2021-02-01 02:24:23

Greetings..

First thing to do on a Monday Morning is to publish my newsletter. Throughout the week I try to gather some useful links and post them in a specific format and I believe this would help my readers and the community.

Read about this week's newsletter by clicking this link or using the below URL: 

https://gokhale.me/about-pigeons-rear-view-mirrors-bitcoin-and-gamestop

Until next time, Stay Safe.
Git hacks: self-host a minimal Git repo over SSH
Tags: git, shell, bash, ssh
Published: 2021-02-01 02:20:57

Did you know it's super easy to [self-host a git repo over SSH](https://hostedgitea.com/article/self-host-a-minimal-git-repo-over-ssh)? If you're not looking for a full web based git interface (like GitHub, [Gitea](https://gitea.io/en-us/) etc.) you can use the steps below to set up a simple repo over SSH. All you need is SSH access to a server that you own. You can set up as many self-hosted repos as you like. It can even be as simple as a raspberry Pi on your local network.

There are two simple parts to this. First you set up the remote server one time only. Next you add the remote server as a `remote` for your local repo. After that you can just `git push` as normal.

## Remote setup

To get started SSH into the box where you want the repo to be hosted:

	ssh user@example.com


Next you're going to create a folder for the repo, `cd` into it, and create a bare git repo:

	mkdir my_repo_name.git
	cd my_repo_name.git
	git init --bare

If you want to also serve a read-only copy of this repo over HTTP, then make sure the folder is in a public web root, and run this:

	git update-server-info

## Local setup

Now you can add this git remote to your existing git repo just like normal:

	git remote add origin user@example.com:my_repo_name.git
	git push -u origin master

There you go, you now have a self-hosted remote you can push to over SSH.

If you want this to be a **backup repo only** you can add it with a name other than `origin` like this:

	git remote add backup user@example.com:my_repo_name.git
	git push backup master

After this any time you want to push to `backup` instead of `origin` you just do: `git push backup`.

Enjoy your self-hosted private git repo!

P.S. If you're looking for [a hosted private git repository with a web interface](https://hostedgitea.com/) check out hostedgitea.com.
Recomendando - O mítico homem-mês
Published: 2021-02-01 01:27:40

# Impressão
Foi muito maneiro ler este livro, pois me deu uma visão de como o mundo do desenvolvimento de software progrediu até o momento que estamos agora e como alguns dos problemas e dilemas vividos desde a década de 90 continuam vivos e problemáticos até hoje. Acredito que este livro vai me ensinar coisas novas a cada momento que eu ler ele e por eu não viver coisas envolvendo gerenciamento de pessoas acabou não significando muito para mim, sendo assim é uma segunda leitura garantida daqui a alguns anos.

# Coisas maneiras que aprendi:
## Não existe bala de prata
Existe um limite para a produtividade dado o ambiente perfeito, sendo assim contornar isso exige abordagens inteligentes.

## A coisa mais importante de um projeto é manter todos Cientes dos conceitos por trás de sua construção
Uma igreja construída por vários arquitetos só finaliza com o sentimento pensado pelo primeiro se todos os seguintes estiverem cientes e alinhados com esse pensamento conceitual.

## Cozinhar leva tempo, se pretende apressar o tempo para cozinhar saiba que a comida não estará boa
Desenvolver um software leva tempo e este tempo deve ser respeitado apressar um desenvolvimento de forma negligente só tornará o software ruim e/ou problemático.

## A torre de babel falhou por falha de comunicação
A comunicação durante o desenvolvimento de software é extremamente importante.

# Conclusão
Existem outras coisas que pude aprender, porém, no momento foi o que consegui lembrar. Caso você tenha interesse pelos desafios que existem em gerenciamento de desenvolvimento de software, esta é uma boa leitura.

![Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--uLCaazgs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5991methcmv4ojwolws2.gif)
Difference Between Message vs Event vs Command
Tags: eventdriven, message, command
Published: 2021-02-01 01:23:28

Recently, I'm relearning event-driven architecture and publisher-subscriber systems. I often found words like `message`, `event`, and `command`. Those words can be confusing for someone who want to learn event-driven architecture. Even though they have many common elements, they have different purposes and different properties.

## Message

Message is a request from one system to another contain a payload of all data required for processing. It can use a different format based on a contract that exists between two systems. A message has no special intent that makes it generic but also less meaningful. That's why we can use two more concepts on top of the messages.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/o31oo3nconk6wijn4h43.png)
<figcaption>Message is a generic form for command and event</figcaption>

## Command

Command is a message from one system to another for an action to be taken. It represents a possible future and can be validated, approved, rejected, processed, and replied.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/1c1llzkyji71mikguzir.png)
<figcaption>Sender send a command to receiver</figcaption>

Example:

Alice asked Bob to purchase an iPhone.

The key command is: **Buy an iPhone**

## Event

An event is a message to inform something has already happened in the past. An event represents the past, and it never changes once it's happened. It's **immutable**, and we can't approve or reject events in the past.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/gc0ty7og47q1qojvz1wc.png)
<figcaption>Receiver send an event to notify sender</figcaption>

Example:

After receive a command from Alice, Bob go to Apple store and buy a new iPhone. Bob inform Alice he already purchased an iPhone.

The key event is: **iPhone already purchased**

## Conclusion

- Message is a generic request.
- Command is a message to perform an action.
- Event is a message to inform an action has been performed.

## Source

- [Messages vs Events vs Commands - Thomas](https://tuhrig.de/messages-vs-events-vs-commands/)
- [Difference Between Event and Message - Brad Irby](https://bradirby.com/2019/10/difference-between-events-and-messages/)
- [Commands vs Events - Marcus Stenbeck](https://stenbeck.io/commands-vs-events/)
Pika, pika... I mean Pico!
Tags: raspberrypi, pico, electronics, maker
Published: 2021-02-01 01:22:29

Such excitement when Raspberry Pi announced their new product, their Pico microcontroller. What's interesting is the it included simultaneous announcements from partners like Adafruit, Sparkfun... see https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/.

We ordered one from Pimoroni and PiHut with accessories. It's a race to see which one will reach us. Former was ordered via German site but we are not sure if it will be shipped from UK. If you are curious, PiHut's order gave us a tracking number, so they are pipped ahead. I'm also curious if we will be stung by customs if they are being shipped from UK.

![IMG_6175](https://dev-to-uploads.s3.amazonaws.com/i/a7n3vxg00lwiqd3fvh2t.jpeg)

I saw in #sbc channel on [irishtechcommunity's Slack group](http://irishtechcommunity.com/) that [Easons](https://www.easons.com/) has copies of the Hackspace with free Pico. So I headed out and picked up a copy (there were 4 copies in Eason's in Blanchardstown Shopping Centre).

BTW, you can download it as a free PDF if you want to read this month's Hackspace: https://hackspace.raspberrypi.org/issues/39

A few days later, Mick suggested we should play with Pico, so that's what we did last night. I was planning a whole unboxing and demo video. Will do that when our orders arrive from either Pimoroni/Pihut (or both). This is like a sneak preview.

![E389E548-3F72-42ED-81D7-E98467C9EA49_1_105_c](https://dev-to-uploads.s3.amazonaws.com/i/w8h1vzyoi911b61t1ai4.jpeg) 
 
You don't see it here in this pic, but we were trying to get the neopixels light up, and we did, but only the first few, we haven't done much more with it. I'll try and take lots of pics and document our tinkering with Pico and the rest of its accessories arrive.

P.S.: This post was in draft for a bit, and since I started this draft, the pico from Pimoroni arrived and we hope the PiHut one will arrive this week (probably tomorrow as it's still held in An Post in Dublin).

P.P.S.: Raspberry Pi had a recent live chat with Eben Upton on Youtube, here it is:

{% youtube Hd6ekoQRkaY %}
5 Free resources to prepare your app for a Product Hunt launch
Tags: showdev, startup, beginners, productivity
Published: 2021-02-01 01:20:09

# Short intro

This post is part of a series about getting an app ready for a release. Focusing on Product Hunt now. 

It's my first time doing it, so I just decided to document the process and the resources I found.

If you're curious, this is my app: [iplan.to](https://iplan.to), a free habit tracker.

![how it works](https://dev-to-uploads.s3.amazonaws.com/i/31ir3fahcdxndlfobvex.gif) 

# [The Hunt Checklist](https://thehuntchecklist.com/)

This website allows you to check 3 key things for a successful PH launch:

1. Check which is the best time to post in your local timezone.
![Screenshot_2021-01-31 The Hunt Checklist](https://dev-to-uploads.s3.amazonaws.com/i/2i1kmv3lvp031d98x49o.png)

2. Preview how your app will look on the site.
![thum](https://dev-to-uploads.s3.amazonaws.com/i/plebisdytgmtjeataef4.png)

3. Prepare your first comment using this template
![tips](https://dev-to-uploads.s3.amazonaws.com/i/g0uyhxmceejqdwj41bmc.png)

# [500 Makers](https://makernetwork.app/500makers)

An updated list of the top 500 PH Makers, useful if you are trying to find a hunter.

![500](https://dev-to-uploads.s3.amazonaws.com/i/3bg0yjno9deq8h4nduae.png)

# [When To Launch](https://whentolaunch.app/insights)

![ph](https://dev-to-uploads.s3.amazonaws.com/i/qqatwz5z38h5k1gy5j03.png) 

This is an an analytics platform based on Product Hunt to let makers know the optimum time to launch their product to receive maximum traction based on data.

# [Gyazo](https://gyazo.com)

![asd](https://dev-to-uploads.s3.amazonaws.com/i/nyv4ez9g7y97c7t7p8pe.gif)
 
Gyazo is an open-source and free screenshot program for Windows, macOS, and Linux. It allows you! It allows you to quickly create screenshots or GIFs and upload them to the web, producing a unique URL to the screenshot.

You can use it to quickly create the GIFs you'll need to submit your app. They are not required, but suggested!

# [Kapwing](https://www.kapwing.com/)

![kap](https://dev-to-uploads.s3.amazonaws.com/i/szd1wr4ubgzrloya7erc.png)

If you are preparing GIFs, you'll probably appreciate this free online tool. You can resize, crop, trim, edit and add effects to your captured videos. Super useful, and you just need to register to remove the watermark!

# Thanks

I hope these tools also help you to prepare your launch. Any feedback or suggestion is appreciated! 👋
EuroPython 2021: Getting ready
Tags: europython, ep2021, conferences
Published: 2021-02-01 01:05:32

We're happy to announce the pre-launch website for this year's [EuroPython 2021](https://ep2021.europython.eu/):

![ep21](https://dev-to-uploads.s3.amazonaws.com/i/2k3gai526ov8gvod3ps1.png)

The site comes with an [FAQ page](https://ep2021.europython.eu/faq/), which lists all the information we have for you at the moment. We're repeating the most important part here:

EuroPython 2021 will be held online from July 26 - August 1, 2021,
using the following structure:

* 2 x workshop/training days (July 26 - 27)
* 3 x conference days (July 28 - 30)
* 2 x sprint days (July 31 - August 1) 

The next steps are preparing the main conference website, adding content, organizing the call for papers (CFP), setting up the ticket system, the financial aid program, getting everything tested and deployed.

# Want to join the fun ?
We'll have busy weeks ahead of us. If you want to help, please consider contacting us with details on where you would like to contribute. Please write to volunteers@europython.eu.

# Distributed conferencing
We are also looking into setting up what we call EuroPython Nodes, where attendees can join small groups around the world to attend EuroPython 2021 together. Please see our [FAQ entry](https://ep2021.europython.eu/faq/#nodes) for details. The idea is still in flux and we'd like to get some feedback from user groups or companies interested in participating.


PS: We have also moved our blog off of Tumblr and onto our own infrastructure. Hope you like the new design.

Enjoy,
EuroPython 2021 Team
https://www.europython-society.org/

---

###### (Note: Original article via https://blog.europython.eu/europython-2021-getting-ready)
Exploring file types in Linux
Tags: linux, filetypes
Published: 2021-02-01 09:07:17

---
title: Exploring file types in Linux
published: true
date: 2021-02-01 00:18:58 UTC
tags: linux,filetypes
canonical_url: https://www.solarwinter.net/exploring-file-types-in-linux/
---

## My setup
 ![Exploring file types in Linux](https://www.solarwinter.net/content/images/2021/02/6B5ED754-735E-40C9-BDEB-1623D52BDB75.jpeg)

I don't actually run a Linux desktop, strictly speaking - I use [MobaXTerm](https://mobaxterm.mobatek.net) on my Windows laptop to ssh in. Moba runs an X server, so I can open windows from the Linux machine as if they were native Windows ... windows.

(I feel that sentence got away from me a little.)

My Linux usage is probably slightly atypical, but I'm willing to bet there's quite a few of us doing that now.

## The problem

Recently I had a problem getting Firefox to open a file manager window. Since it was opening a filer window, rather than a specific file type, the [usual Firefox settings](https://support.mozilla.org/en-US/kb/change-firefox-behavior-when-open-file) didn't help me.

## Brief tangent... MIME types

If you don't want to know the why, skip to the next section. 😊

MIME is (strictly speaking) an email standard. MIME types are a general/specific pair describing the nature of a resource. For example:

- text/html
- image/jpeg
- application/octet-stream

It turns out that (a) the database of file types that's been built up is quite extensive, and (b) this is useful for helping programs other than email apps to know how to handle something.

## The solution

We finally got there.

The MIME type of a directory? `inode/directory`

(“What's an inode?” is a whole other post... [the Wikipedia article](https://en.m.wikipedia.org/wiki/Inode) will have to do for now!)

So - what I needed was to change the default program used to open that type. Enter [xdg-mime](https://man.archlinux.org/man/xdg-mime.1):

```
xdg-mime default nemo.desktop inode/directory 

```

(Note: the tool takes [.desktop files](https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/) rather than the program path.)

## Useful extras

I also found a couple of other useful things:

1. `file -bi` will give you file’s best guess at a MIME type
2. `xdg-open` should act like `open` does on macOS, which is great as I find that really useful.
3. There's a whole ton of stuff in this area if people are curious for more.

(Post image thanks to [Alexander Sinn](https://unsplash.com/@swimstaralex).)
Announcing epiblog
Tags: epispot, epiblog
Published: 2021-02-01 02:16:19

---
title: Announcing epiblog
published: true
date: 2021-02-01 00:05:58 UTC
tags: epispot, epiblog
canonical_url: https://epispot.github.io/epiblog/post/2021/02/01/announcing-epiblog.html
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/fh8a125c9c5ssuv3uua5.png
---

Announcing epiblog, an all-new blog for epispot, epidemiology, or anything related to epispot! Now, if you’re reading this, I presume you already know about epiblog, so let me explain exactly what epiblog is. epiblog is a community of developers and fans of epispot, where you can share ideas and code through blogging. You can subscribe through RSS to get updates on epiblog.

# How to Write

First, read the contributing guidelines, and submit a PR to the github repo. Yes, it’s that simple.

# Release Notes

In addition to normal articles, in-depth info about new releases for the epispot package or any of our other creations will be published here, and announcements for epispot.

# That’s it!

Yep, that’s it. You now know about epiblog. Ready, set, Blog!
Import All Named Exports into One Variable
Tags: javascript, webdev, modules
Published: 2021-02-02 22:17:28

---
title: Import All Named Exports into One Variable
published: true
date: 2021-02-01 00:00:00 UTC
tags: ['javascript', 'webdev', 'modules']
canonical_url: https://chan.dev/posts/import-all-named-exports-into-one-variable/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/jsdg5dd82zbwpuar4ipy.jpg
---

We can import all of a JavaScript module's contents into a single variable with `* as`.

```
import * as stringUtils from "./string-utils.mjs";
```

Now `stringUtils` can reference any exports in `string-utils.mjs` using property access syntax.

```
import * as stringUtils from "./string-utils.mjs";stringUtils.chant("we will");stringUtils.hype("rock you");
```

## Where is this a good practice? [#](#where-is-this-a-good-practice%3F)

Importing all named exports into a single variable is great feature for application code.

Consider these UI modules that have a similar export signatur.

**`email.js`**

```
export Item …;export List …;export ListItem …;export Controller …;
```

**`contact.js`**

```
export Item …;export List …;export ListItem …;export Controller …;
```

[Renaming all of these named exports](https://chan.dev/posts/import-and-rename-named-exports/) is super irritating!

```
import { List as EmailList, ListItem as EmailListItem, Controller as EmailController,} from "./email.js";import { List as ContactList, ListItem as ContactListItem, Controller as ContactController,} from "./contact.js";
```

By reducing moduling imports to a single reference, we eliminate the need to rename the colliding exports.

```
import * as Email from "./email.js";import * as Contact from "./contact.js";// Email.List, Contact.List, Email.Item, Contact.Item, etc.
```

And these namespaces guarantee that we never experience a collision between named exports.

## My take [#](#my-take)

This is my preferred way to import named exports. It has eliminated pointless hours spent justifying local references between modules I don't control.

## Go pro [#](#go-pro)

This is part of a course I'm build on modules at [lunch.dev](https://www.lunch.dev/).  
When live, members get access to this and other courses on React.

<script src="https://cdn.podia.com/embeds.js" async="async"></script>[Join lunch.dev for videos](https://www.lunch.dev/member)
How to open a new tab without getting blocked by the browser using JavaScript?
Tags: javascript
Published: 2021-02-01 00:00:00

---
  title: How to open a new tab without getting blocked by the browser using JavaScript?
  published: true
  tags: JavaScript
  date: Mon Feb 01 2021 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/open-new-tab-without-getting-blocked-by-browser-javascript
  cover_image: https://melvingeorge.me/_next/static/images/main-2ba4b1e7ebc4920b97a3d1696bf2cbc6.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/open-new-tab-without-getting-blocked-by-browser-javascript)
  
To open a new tab without getting blocked by the browser, you need to use the `window.open()` method inside a click handler or any function which will be triggered by a user.

The browser will block all other invocation of the `window.open()` methods that are not triggered by the user.

This feature is implemented to reduce the abuse of opening tabs automatically when a user visits a website for showing ads and spam etc.

For example, Consider a button where if we click on it will open a new tab with `https://google.com` url. Let's give the button an id of `googleBtn` liek this,

```html
<!-- Button which open google.com -->
<button id="googleBtn">Open Google<button /></button>
```

First let's get the reference to the button,

```js
// get refernce to the button
const googleBtn = document.getElementById("googleBtn");
```

Now let's add a `click` event handler to the button so that when the user clicks it will invoke the `window.open()` method with URL `https://google.com`.

**NOTE: If the `window.open()` method is not inside a function that is not triggered by a user, the browser will block it saying it is a popup.**

```js
// get refernce to the button
const googleBtn = document.getElementById("googleBtn");

// add click event handler to button
googleBtn.addEventListener("click", () => {
  window.open("https://google.com");
});
```

Now if you click on the button, the browser will open a new tab with the URL without blocking it.

See this example live in [JSBin](https://jsbin.com/ruditaxupu/2/edit?html,js,output).

### Feel free to share if you found this useful 😃.

---