teleren/devto huggingface dataset:
So it goes: instascrape v2.0.0 is in the works
Tags: opensource, python, datascience, contributorswanted
Published: 2021-01-09 00:46:24

Hello everyone! 

Instagram's been cracking down on web scraping and thus, `instascrape`'s v1.x.x releases are starting to feel dated (despite being less than 4 months old). I've officially started working on what will become `instascrape` 2.0.0 that will be released some point in the near future. 

If you've been experiencing issues with the library, you are not alone and I'm working as fast as I can to get us back to business! With these updates, I'm also going to push forward with a wave of new docs, blog posts, reference material, and features.

# Where I'm at 

Prior to this week, I have been able to roll with Instagram's little changes to their backend through minor and patch releases. 

Unfortunately, their most recent change was significantly harder to figure out. Luckily, 12+ hours and a dozen or so coffees later, I have determined what needs to be done and am implementing it in the code as we speak! :smile: 

# Sneak peak? 

Here are some of the changes and features I am anticipating:
- MASSIVE overhaul/refactor of `instascrape`'s backend implementation (you won't really notice, don't worry) 
- dedicated session and cookie handling 
- official support for `selenium` (webdriver batteries will _not_ be included, just supported) 
- _*possible*_ login capabilities (no guarantees)
- significantly more tools and features outside of the scrapers 
- _likely_ shift away from inplace data modification for stronger method chaining and encapsulation (the only planned breaking change as of now) 

# Will there be breaking changes? 

I'm going to keep the API as consistent with v1.x.x as I can and the changes are not going to be off the wall. You're going to see  99% more new features than you'll see changed features. 

The only thing I recommend you to keep an eye on is the shift away from inplace data modification as this could result in code such as `profile.scrape()` needing to be replaced with `profile = profile.scrape()`. 

# When to expect the update? :watch:

I plan on releasing 2.0.0 sometime before February so you shouldn't have to wait too long. I am in the midst of job hunting and doing some freelance work so I'm working on the lib whenever I get a chance but it likely won't be for at least another week or two. 

# Thanks for reading! 

If you stuck with me this far, thanks so much for reading! Follow me on Twitter [@ChrisGreening](https://twitter.com/home) as I will likely be tweeting there with small updates.

Additionally, you can check in on the progress (or even contribute) on the [major-version-2](https://github.com/chris-greening/instascrape/tree/major-version-2) branch of the repo on GitHub.

Cheers,

Chris  

{% github chris-greening/instascrape %}
Command Line
Published: 2021-01-09 00:41:13

#**_Introduction_**

Command Line is one of best ways to directly interact with information on you computer. Command line is accessed through the command prompt, or cmd on windows and terminal on mac, and is a way to directly send text to your computer.

#**_What Can You Do With Command Line?_**

Command line can be used more a multitude from things! In fact, anything you can do on your GUI, or Graphical User Interface, can be done in Command Line, such as create and editing the name of a folder. Comma line can also be used for more complicated things such as accessing a server in another country that your website per say is hosting off of.

#**_Command Line Commands_**

***ls:*** Lists all of the folders in your current directory
***pwd:*** Displays the current directory
***cd {Location}:*** Switches the pwd to the {Location} as long as it is your current pwd
***cd ..:*** Sets the pwd back one folder, essentially reversing cd {Location}
***clear*** or ***cls:***: Clears the terminal
***cd ~:*** Sets the pwd to the user directory
***cd {Location}/{Location}:*** Sets the pwd two levels deeper but nomenclature must match
***open .:*** Opens the current pwd folder
***mkdir {Name}:*** Makes a folder in the current pwd with the name of {Name}
***touch {File Name}.{File Extension}:*** Creates a file with name {File Name} and a file type of {File Extension}
***open -a "{File Name}":***: Opens the file or shortcut with the exact name in the quotations
***mv {Current File Name}.{File Extension} {New File Name}.{File Extension}:*** Renames the current file to the new name listed
***rm {File Name}.{File Extension}:*** Removes the specified file
***say {text}:*** The Command Line equivalent of console.log

#**_Introduction_**

In conclusion, Command Line is the most efficient way to communicate directly with you computer to preform different tasks and actions, although it may seem inefficient at times. Command Line lets you do almost anything, ever deeper than you could imagine, and even deeper than this list I've provided goes.

#**Sources**

**Information:** Udemy "The Complete Web Developer 2021: Zero To Mastery"  course by Andrei Neagoie
**My Class Teacher:** Matthew Larrubia
Hactoberfest 2020 Swag Arrived
Tags: hacktoberfest, github, opensource
Published: 2021-01-09 00:40:56

Just received my Hacktoberfest 2020 swag. Looking forward to participate again this year.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/j5f6rvk19zl0xq83e4wj.jpg)
Need help - vanity URL using PHP & NGINX.
Tags: php, nginx, help
Published: 2021-01-09 00:32:55

Hi, 

I have a small PHP & NGINX project that I am working on right now but my next goal is to clean-up the "URL".

Currently, the "URL" looks like this -> www.domain.com/user_id?=1. But I really want to clean it up and instead show the "@username" after the root domain like this -> "www.domain.com/@username".

If you have experience working on this kind of feature, your help is much appreciated :)

Thank you!
New Beginnings Old Code
Tags: csharp
Published: 2021-01-09 00:26:57

series: [“Ordinary Geeks Covid Tracker”]

I  have the general framework for my idea for this covid tracker program built out in my head.  I am worried about getting my android/ios builds done in time and published.  Not sure how to let the judges see that part.  First though, I have to find documentation for how to start a web api server using Digital Ocean.

I have the weekend.  The Hackathon has officially begun!
Set Up A Global .gitignore
Tags: git, tips
Published: 2021-01-11 13:08:31

---
title: Set Up A Global .gitignore
published: true
date: 2021-01-09 00:00:00 UTC
tags: git,tips
canonical_url: https://blog.jonstodle.com/set-up-a-global-gitignore/
---

If you've been using git for any amount of time, you've come across `.gitignore`. I'm not going to go through how it works, but did you know you can set up a _global .gitignore?_

What do you put in this global .gitignore? My recommendation is caches and auto-generated files and directories created by your operating system, and your editor/IDE of choice. I share my .gitignore across multiple operating systems, so I've ended up with quite a comprehensive one.

As a starting point, I think this one works pretty well: [global .gitignore starting point](%5Bhttps://www.gitignore.io/?templates=rider,linux,macos,windows,clion+all,monodevelop,intellij+all,visualstudio,jetbrains+all,visualstudiocode%5D(https://www.gitignore.io/?templates=rider,linux,macos,windows,clion+all,monodevelop,intellij+all,visualstudio,jetbrains+all,visualstudiocode))

What to put in the repository .gitignore? I recommend putting caches and auto-generated files and directories created by tooling used by your code or on your code, and auto-generated files and directories specific to the repository.

My rule of thumb for where to put a specific ignore clause is to consider at what "level" the choice was made to use the tool that creates the files and directories I want to ignore were made. Personal choices, like what operating system to use, which editor or IDE, etc are ignored in the global .gitignore. Choices made for a specific repository is put in the local .gitignore.

Even though a lot of you repositories share the same ignore clauses (all your JavaScript repositories ignore `node_modules`, for example) - **don't put that in your global ignore**. That just means that someone else is going to commit node\_modules by accident.

You can put your global .gitignore wherever you like in your file system. Personally I prefer my `home` directory. Then you tell git where the global .gitignore file is located by saving it to the git config:

```

# macOS / Linuxgit config --global core.excludesfile ~/.gitignore# Windowsgit config --global core.excludesfile %USERPROFILE%\.gitignore\*\*
```

Happy coding!
How to kill a Node.js process running at a specific port in Linux?
Tags: node
Published: 2021-01-09 00:00:00

---
  title: How to kill a Node.js process running at a specific port in Linux?
  published: true
  tags: Nodejs
  date: Sat Jan 09 2021 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/kill-nodejs-process-at-specific-port-linux
  cover_image: https://melvingeorge.me/_next/static/images/main-ee51268a22e4193dc8fa0d4f5f9fb394.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/kill-nodejs-process-at-specific-port-linux)
  
To Kill a Node.js process running at a port, you can use the `lsof` (List of Open files) Linux command.

For our use case, Let's consider we want to kill a Node.js process at port `3000`.

For that, we can use the `-i` flag in the `lsof` command and then pass the internet addresses we want to match. The `-i` flag selects the lists of files any of whose Internet address matches the address specified in it.

It can be done like this,

```bash
lsof -i tcp:3000

# Or
# lsof -i tcp:<YOUR_PORT_NUMBER>
```

After that, it will show an output with all processes associated with the port number and its corresponding `PID` like this,

```bash
COMMAND   PID         USER
node    33092         johndoe
```

Now all you have to do is get the `PID` number.

After that use the `kill` command and pass the `-9` flag to `SIGKILL` the process (This will tell the OS to stop running the process) and then pass the `PID` of the process.

It can be done like this,

```bash
kill -9 33092
```

Now you have successfully killed the Nodejs process running at PORT 3000. 🚀

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

---
Pain: Embed a widget on a website.
Tags: productivity, agile, widgets
Published: 2021-01-08 23:47:45

---
title: Pain: Embed a widget on a website.
published: true
description: Complicated process.
tags: productivity, agile, widgets
---

It's often complicated to embed code on a website, even for technical people. Any idea of how to improve this process? 

Take a look: https://woxo.tech/instagram-widget
ShouldIKeepWatching - Digital Ocean Hackathon
Published: 2021-01-08 23:38:58

## What I built

A web app to help you decide whether or not to invest any more time in a TV show you're watching. No one wants to waste their time on bad TV!

### Category Submission: Random Roulette


### App Link
https://shouldikeepwatching-kpcfk.ondigitalocean.app/

### Screenshots
![hackathon_screen_1](https://dev-to-uploads.s3.amazonaws.com/i/sk2mn5386ch9momamzzg.PNG)
![hackathon_screen_2](https://dev-to-uploads.s3.amazonaws.com/i/xn3tq1qguih45rzvq9oe.PNG)
![hackathon_screen_3](https://dev-to-uploads.s3.amazonaws.com/i/nrqtw1vgvbil3io85wq5.PNG)
   

### Link to Source Code
https://github.com/bmpickford/shouldikeepwatching

### Permissive License
MIT

## Background
With great new TV shows coming out every other week, it's hard to know what's actually worth watching, especially if you're going to be investing your time in lots of seasons. I'm always hesitant to start a TV show that I know is going to go downhill (e.g. Heroes, Dexter) so I want to know upfront how bad it gets. This heatmap I created for the TV shows, gives a quick visual representation of a TV show so I know what I'm in for.

### How I built it 
I used NextJS (for the first time) to try and explore the realm of SSR using React. It was a suprisingly nice developer experience, and a much smaller learning curve than expected. Will definitely look to NextJS for future projects that could benefit from SSR.
A powerful HTTP router and URL matcher for building Deno web servers with dragon🐉.
Tags: dohackathon
Published: 2021-01-08 22:59:49

## What I built

I built a simple, fast and low HTTP router and URL matcher for building Deno servers.

### Category Submission: 

framework, middleware, http-matcher, deno, server

### App Link

https://github.com/xanny-projects/dragon

### Screenshots


```ts
import { Application, RequestMethod, HttpRequest, HttpResponse } from "https://deno.land/x/dragon@v1.0.6/lib/mod.ts";

const app = new Application();

const r = app.routes({ maxRoutes:2 });

r.Path("/hello")
 .withMethods(RequestMethod.GET)
 .handleFunc(async function (Request: HttpRequest, ResponseWriter: HttpResponse) {
      ResponseWriter.withBody("Hello Dragon").send();
  });

r.Path("/demo")
 .HandleFunc(async function (Request: HttpRequest, ResponseWriter: HttpResponse) {
    ResponseWriter.withBody("Hello Dragon Demo").send();
  });

app.listenAndServe({ port: 8080 });
```


### Description
 
Dragon is a _simple_, _fast_ and _low_ **HTTP** router and **URL** matcher for building **Deno** servers. If you need performance and good productivity, you will love it.

### Features

- Developer friendly, very expressive and help the developer in their daily use, without sacrificing performance and security.
- Lightweight and modular design allows for a flexible framework.
- Focus on high performance.
- Middleware support, incoming HTTP request can be handled by a chain of middlewares and the final action.
- Excellent and fluent documentation.

### Link to Source Code
https://github.com/xanny-projects/dragon

### Permissive License

Apache-2.0 License


### How I built it 
(How did you utilize DigitalOcean’s App Platform? Did you learn something new along the way? Pick up a new skill?)
I have used DigitalOcean for the first time, I don't have much idea of other features that DigitalOcean provides but it was pretty easy to deploy the app and I really liked it.
Learn HTML basics in 15 minutes for Absolute Beginners | HTML Tutorial (2021)
Tags: html, tutorial, beginners
Published: 2021-01-08 22:49:19

If you want to build a website, the first language that you need to learn is HTML.

In this video, we are going through the basics of HTML and we are going to build a basic website using only HTML.

By the end, you will understand HTML and will be unable to use it to create basics websites


Video:

{% youtube pMJ0NI3OkYA %}

__________ 🔖  Tutorial Structure __________

- INTRODUCTION --
[00:00]   - Introduction

-- HTML basics --
[00:24]   - HTML element
[01:48]   - HTML nesting
[02:07]   - Element Attributes
[03:28]   - Most common HTML elements
[04:32]   - Block-level and Inline elements
[05:51]   - Other topics
[06:20]   - Beginner Commom Mistakes

-- HTML document --
[07:22]   - HTML document explain

-- Build Pancake recipe page --
[08:43]   - Setups
[09:28]   - Header Section
[10:33]   - Main Section
[13:39]   - Footer Section

-- Happy coding --
[15:41]   - Happy Coding

 __________ 🐣 About me __________

- I am the founder of https://devchallenges.io/
- Follow my Twitter https://twitter.com/thunghiemdinh
- Join Discord https://discord.com/invite/3R6vFeM
Are you someone who loves ...
Tags: linux, archlinux, vim
Published: 2021-01-08 22:44:01

I know this social platform is targeted developers, but I am not one. 
I was into programming almost 20 years ago, but my career path took a different turn completely non-tech related.
I always love the idea of just learning stuff on the computer.
I am not a developer and don't know how to.

I spend my free time learning how to config things on my ArchLinux and CLI related programs to my liking. I just bought a domain name for the sole purpose of using it as an email
email is HaxNet@tekniq.xyz and you guessed it, the website is https://TekNiQ.xyz I even spent the time to put a forum on it.
Figuring how to edit the css and php files. I searched the internet a lot to figure how to do certain things.
On the way, I learned how to use ftp in the terminal
```
`ftp yourdomainname`
`lc \your\current\local\directory\`
`lcd \your\path\to\where\you\will\download\the\files`

`mget filename` this is to download a single file your directory
`mput filename` this is to upload a single file to your ftp directory
`mput *.png` this is to upload all files with that extension, 
```
this would require you to keep pressing y to confirm
to stop this just type
```
`prompt` to have the Interactive mode *OFF*
```
While I was working on my neomutt to input my new email address. I had to create adjust the keybinds so I can go directly to the folder I wanted, this was a pain because I had multiple email accounts from different servers. I am just going to make it 2-3 accounts instead of 6 haha

if you are using neomutt and you have a signature set, but noticed when you are reply, it is always at the bottom.
A simple command to bring it to the top is

```
set sig_on_top="yes"
```
such a simple thing, but I couldn't find it anywhere. I had to go IRC via weechat (CLI software for IRC)

anyways, let me know what type of CLI programs you use.

Feel free to email me!

Regards,
HaxNet
[TekNiQ's Forum](https://TekNiQ.xyz)
Am I Smart Enough to Be a Software Developer?
Tags: career
Published: 2021-01-09 15:01:49

---
title: Am I Smart Enough to Be a Software Developer?
published: true
date: 2021-01-08 22:40:32 UTC
tags: "career"
canonical_url: https://martincartledge.io/am-i-smart-enough-to-be-a-software-developer/
---

![street](https://i.imgur.com/odURUIf.jpg)

The tech industry is great at a lot of things, but instilling confidence is not always one of them.

If you are struggling with feeling comfortable in your place in the software industry, let me tell you this: _You are smart enough_.

Do you like coding? You are smart enough.

Do you enjoy CSS? You are smart enough.

Do you write bugs? You are smart enough.

Do you make mistakes? You are smart enough.

The software industry is not like what you see on NCIS.

There are so many different niches in this industry and it is not possible for one person to know it all.

If you are currently employed as a software developer, let me take a moment to tell you this: _You are smart enough to be where you are_.

Looking to break into the industry? Feel like you do not have what it takes? If you work hard at it, you will land a job, _You are smart enough_.

At the end of the day, we are all human beings.

No one has it all figured out.

It is okay not to know everything, no one ever will.

Being yourself is the best thing you can do.

Be comfortable in the things you know, and content with the things you do not know.

Your strengths are someone’s weaknesses.

We all need each other.
TypeScript: Use Mapped Type to implement a Proxy
Tags: typescript, mappedtype
Published: 2021-01-08 22:39:55

---
title: TypeScript: Use Mapped Type to implement a Proxy
published: true
description: 
tags: TypeScript, MappedType
//cover_image: https://direct_url_to_image.jpg
---

There is a piece of code in TypeScript's document about [Mapped Types](https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types) which illustrates how to use mapped type to implement a proxy. It clearly defines what the type of a proxy for a value is, i.e. `Proxy<T>` and what the type of a proxified object is, i.e. `Proxify<T>`. However, the implementation of the **proxify** function is left empty. In order to strengthen my understanding of the mapped type, I decided to implement it. 
```TypeScript
type Proxy<T> = {
    get(): T;
    set(value: T): void;
};

type Proxify<T> = {
    [K in keyof T]: Proxy<T[K]>;
};

function proxify<T extends object>(o: T): Proxify<T> {
    const result = {} as Proxify<T>;
    for (let key in o) {
        let rawValue = o[key];
        result[key] = {
            get: () => rawValue,
            set: (value) => {
                rawValue = value;
            },
        };
    }
    return result;
}

let props = { rooms: 4 };
let proxifiedProps = proxify(props);
proxifiedProps.rooms.set(5);
console.log(proxifiedProps.rooms.get()); // output 5
```
As you see, it's not difficult however it can help learners like me to get a better understanding of the concept.
Day 284 : Remove 45
Tags: hiphop, code, coding, lifelongdev
Published: 2021-01-08 22:36:37

_liner notes_:
- Professional : Had another good day. Got up early to finish some updates to a section of the documentation I am working on. I've been adding the different functions to a demo to make sure everything is working how the documentation says it is supposed to. I'll add example code where there aren't any yet. Pushed up my updates and changes to the respository. Then I had a bunch of meetings.

- Personal : Last night, I looked into why my site isn't updating. Looks like it stopped working a couple of days ago. I tested the API endpoint I'm using and it's pulling the latest data from the blog. Looked at the logs and the update function has stopped running. Went to the Google Cloud Scheduler in my dashboard of the project and there's an error, like I can't see the dashboard error. That could be the issue. Since I've last created the function, looks like Firebase has added the ability to set up a cron job right from the Function. Going to see if I can get that working this weekend.

![A gigantic mesa in the background with a forest in front in Chief Joseph Mountain, Montana, USA](https://dev-to-uploads.s3.amazonaws.com/i/y3xfgefn0eh4oucuj4pc.jpg)

Pretty much went through tracks for the radio show after work. Still got some tracks already to go from the last show so I don't have to do too much to get everything ready. We are like one week into the new year and there's been a lot of new dope joints that have been released. Once I finish that, if there's time, I'm going to work on my new side project. Oh and remove 45!

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube yzxKomdvs_8 %}
[Paper WGC 2021] Initiating FAIR geothermal data in Indonesia
Tags: writing, productivity, geothermal, indonesia
Published: 2021-01-08 22:36:36

![](https://lh3.googleusercontent.com/nRzqhtO-RhtKr2n0sumZ-8hkRVPf385D3DRKq6rsM6qNwK3Ohrcs1TIR2mnnxCRmSTh1QZFddNKu7S15sqx6sXEl7lrDoMQl-Tpb8dIPYkcFOHCqi9lAeDgkz3RpWMZnphjaVI6R)

Tautan ke [versi pdf](https://pangea.stanford.edu/ERE/db/WGC/papers/WGC/2020/07008.pdf?t=1610143958).

Artikel ini pertama muncul di [blog ini](https://derwinirawan.wordpress.com/2021/01/09/paper-wgc-2021-initiating-fair-geothermal-data-in-indonesia/).

Ibu, Bapak, dan rekan-rekan Yang Terhormat.

Berikut ini adalah draft manuskrip tentang data terbuka di dunia geotermal yang telah kami kirimkan ke World Geothermal Congres 2021 di Reykjavik (modus presentasi daring). Dalam makalah ini kami menekankan keuntungan yang tidak dapat dinilai langsung (intangible) kegiatan berbagi data (data sharing) yang melebihi berbagai keuntungan yang dapat dinilai langsung (tangible). 

Latar belakang dari penulisan artikel ini adalah tentang minimnya data sains kebumian, terutama data-data yang dibuat oleh entitas bisnis (perusahaan geotermal dan pertambangan pada umumnya). Padahal data itu nilai ekonominya pada periode tertentu bisa jadi sudah sangat rendah bagi perusahaan. Data yang sama akan memiliki manfaat juga bagi pihak lain, misal Pemerintah Daerah (Pemda) yang membutuhkannya dalam rangka perencanaan dan pengembangan wilayah. Beberapa kasus bencana alam geologi, misal gunung lumpur mestinya bisa dihindari kalau Pemda memiliki data bawah permukaan yang cukup.

Dalam implementasinya, memulai sebuah repositori data (atau repositori apapun) relatif mudah. Namun semuanya akan ditentukan oleh kebijakan institusi yang dibangun dari konsensus warganya.

Makalah ini juga merupakan salah satu wujud rancangan dokumen Renstra Fakultas Ilmu dan Teknologi Kebumian, Institut Teknologi Bandung.

Tautan ke [versi pdf](https://pangea.stanford.edu/ERE/db/WGC/papers/WGC/2020/07008.pdf?t=1610143958).

Semangat 2021 untuk dapat menghasilkan #365figures #365writings.