teleren/devto huggingface dataset:
Free Image and Video Placeholder

Tags: javascript, webdev, html, productivity
Published: 2021-10-18 10:35:07

Hey everyone, 
Imgsrc.space is the best Placeholder service ever. It's just like searching on google images but *you won't even need to leave your coding environment*. We have a vast a library of around **3 million** images and videos, so all you have to do is enter your search term and we will do  the rest. Totally free. 
[Imgsrc.space](https://imgsrc.space)


#How To Use Our Placeholders?
Well there are 2 ways to use them
1. The easy way - Works everywhere no platform dependence
2. The easier way - Works in your web pages with a js library

##The easy way

###Get a specific image
Just add the search term you want at the end of the url after / and we will deliver it. Simple.
```
https://imgsrc.space/cat
```
![Image of a cat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u9xsmwlp7lhqvj0nk6u9.jpg)

###Resizing images
Imgsrc.space can also resize the images for you. To enter your desired dimensions put an "?" at the end of the search term and then your enter your desired height and width. Here "h" stands for height and w stands for width. They must be separated by an &

```
https://imgsrc.space/architecture?h=400&w=400
```
![Image of architecture 400by400](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xouey169tek2r5u8gi9t.png)

###AutoResizing images
If you only provide a single dimension parameter (i.e only height or width) Imgsrc.Space would automatically resize the other parameters accordingly


```
https://imgsrc.space/paris?h=400
```

![Image of Paris](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jkxo4z2btrw3ue3jh595.png)

###Getting a specific Video
To get a specific image just enter the search word in the image source after a dot and a space followed by an -v

```
https://imgsrc.space/ocean-v
```
[try it](https://imgsrc.space/ocean-v)



##The easier way
If you are writing html pages, then we have a good news, you can use our js library to make things easier.

```
<script src="https://cdn.jsdelivr.net/gh/imgsrc-space/imgsrc.space-js-library/main.js" > </script>

``` 
Copy and paste the above script tag to the ***TOP*** of your html page (in the head tag), and that's it.

Now to use a image just enter a "dot followed by a space and then your search term ".Here are some examples of what you can do with it:

```
<img src=". cow" >
```
```
<img src=". dog?h=500&w=70" >

```
```
<img src=". sunset?w=700" >
```
```
<video> <source src=". car-v" type="video/mp4"> </video>

```
You can find more details in this [documentation](https://imgsrc.space/documentation.src/index.htm#Using-our-JS-library)

Hope this would save you guys some time. Happy coding 😀👍🏼
How to expose LocalHost to internet ? Easy way 📶
Tags: webdev, programming
Published: 2021-10-23 07:31:52

Have you ever wanted to show to your friends your awesome web page, API, etc. But you found that this project is running on localhost? 🤔 

Well, there is a way to **expose this localhost to the internet** and get an https URL **easy and for free** 😎

For this we can use this app:

### Ngrok
Ngrok give you the ability to expose a specific port of your localhost and share an http/https URL to your friends.

#### How to use
1.- [Download Ngrok here](https://ngrok.com/download) and open it

2.- When you open first time the ngrok.exe it will be installed automaticaly, for use it you have to open a command prompt and type: 
**ngrok http _PORT_**

in example, if we want to expose a web page and its server is running on port 8080, we will type:
**ngrok http 8080**
![command prompt ngrok command](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o8y83vix8ryjdrqfjs9c.png)
So when we run this command, we will get this:
![Ngrok running process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyjafavvy49cf9q152yk.png)

That means we can copy this new URL and paste it on our browser and we could access to our page/api/etc from every pc, as if we were on localhost 😎.

We'll have 2 hours to expose our localhost, but don't worry, when this time get's over, we can re-run ngrok command and it will work again!!

If you liked this tutorial like it and follow me if you want! Thank you for reading
Set up .env in react project tips
Tags: react, javascript, webdev
Published: 2021-10-24 18:54:47

Found this tips while i'm fetching issue set up .env variable in react project 

- The .env file should be in the root for you application folder. That is one level above your src folder, the same place where you have your package.json
- The variable should be prefixed with `REACT_APP_`
You need to restart the server to reflect the changes in your code.
- You should access the variable in your code like this
`process.env.REACT_APP_SOME_VARIABLE`
- No need to wrap your variable value in single or double quotes.
- Do not put semicolon `;` or comma `,` at the end of each line.

[Source One](https://kiranvj.com/blog/blog/react-environment-variables-not-working/0)
[Source Two](https://stackoverflow.com/questions/53237293/react-evironment-variables-env-return-undefined)
Ruby on Rails will be dead soon! 
Tags: ruby, rails, webdev, beginners
Published: 2021-10-26 14:22:41

Yes! I was also surprised and a little bit agitated when I saw similar headlines on tech blogs and magazines few years back. I thought maybe that's right, I don't see much people learning Ruby On Rails these days neither I see much job posts for Rails developer position. Maybe I should learn django? Or maybe I should learn nodejs(express)? If you are also on your early stage of career, these questions must be itching your bones too. And especially, if Rails is the first framework you are working on, you must have been dealing with few more issues too. 

For example, people say that Ruby/Rails ecosystem is not really the future because it does not have Machine Learning Capabilities and it is too slow. Some also say that Rails is not that scalable giving the example of Twitter. I also think to some degree that they are right. But should you be worried about it and start learning something else?

Actually you don't need to. If you are learning Rails then you must have shaped your future into being a web developer. So why should you even worry about Machine Learning when you are learning web development? You are worrying then, you are on the wrong path. If you really want to learn both then you can still learn it side by side. What really works according to my experience is that, Rails has the convention over configuration ideology that gives you the bird's eye overview of overall web development ecosystem which you can transfer to any another framework of choice.

A lot of technologies evolve over time but Rails has been there for a while now as a mature framework which has answers to most of the problems faced by web developers. So if you are learning/coding on Rails, then you don't need to worry now. These technologies that have been around for more than decade will take time to die. 

Don't forget to share your thoughts too.
Happy Coding!
How To Enable Real-Time Merge Conflict Detection In Android Studio
Tags: webdev, programming, git, productivity
Published: 2021-10-27 15:38:56

Ah, the dreaded resolve conflicts popup. You've finished crafting the perfect code, just a quick merge in of master (ahem, main) before you submit your PR, and then... 💥


![img-1-full.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629385750547/721xAlFE_.png)

If only there was an early warning system for merge conflicts so you could be better prepared or even avoid the conflicts in the first place I hear you say? Well if you are an Android Studio user today is your lucky day!

Firstly, you'll need to install and set up GitLive (the latest version requires the Bumblebee Beta version of Android Studio). Then if you right click the gutter on Android Studio, you will see the option to “Show Other's Changes".


![img-2-full.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629381420172/JVuFzhdCH.png)

It will be disabled if the file open in the editor is not from git or there are no other changes to it from contributors working on other branches (aka you are safe from conflicts). If it's enabled there will be one or more change indicators in the gutter of the editor.

![img-3-full-2.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629386027868/TLFjoPsMb.png)

These will show you where your teammates have made changes compared to your version of the file and even update in real-time as you and your teammates are editing.
 
![key indicators-dark.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629718675385/q7tgwkk83.png)

If you've made a conflicting change you will see the bright red conflict indicator. These conflicts can be uncommitted local changes you have not pushed yet or existing changes on your branch that conflict with your teammates’ changes.
 
Click your teammate’s icon in the gutter to see the diff between your version and theirs, the branch the offending changes are from, and the issue connected to that branch if there is one.


![img-5-full-3.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1629386020142/OYnNBrg8F.png)

From this popup you can also cherry-pick your teammate’s change directly from their local version of the file. For simple conflicts this can be a quick way to resolve them as identical changes on different branches will merge cleanly.
 
Unfortunately, it's not always possible to resolve a conflict straight away but with the early warning, you'll be better prepared, avoiding any nasty surprises at merge time! 

Check out [this blog post](https://blog.git.live/gitlive-11.0-Real-time-merge-conflict-detection) or the [GitLive docs](https://docs.git.live/docs/mergeconflicts/) if you want to learn more.
Symbolica's Console Newsletter Interview
Tags: showdev, watercooler, githunt
Published: 2021-10-26 17:03:27

---
title: Symbolica's Console Newsletter Interview
published: true
description: This week we chatted to Jackson Kelley in the Console newsletter about our open-source symbolic executor.
tags: showdev, watercooler, githunt
cover_image: https://cdn.substack.com/image/fetch/w_1000,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09e15c36-e7b8-4247-9dbc-81fa9e00d056_720x720.png
---

At [Symbolica](https://www.symbolica.dev) we’re building a cloud-hosted symbolic execution service. Symbolic execution lets you explore every reachable state of your program so that you can write tests without worrying about missing any edge cases. As a bonus we also automatically detect if any states can cause invalid memory access and other undefined behaviours, like divide by zero, without you having to write any additional tests.

The core of our symbolic executor is open source and this week we got to chat with Jackson Kelley for the [latest edition of the Console newsletter](https://console.substack.com/p/console-76) about our project. We talk about our backgrounds and influences and get into the details of some of the technical challenges that we’ve been tackling as we continue to build Symbolica.

{% github Symbolica/Symbolica %}

Each edition of [Console](https://console.substack.com/) is a curated list of interesting open source projects along with an interview of the creators of one of the projects, delivered to your inbox every week. It’s a great way to discover new open source projects and hear from the creators behind the code. If you like open source it’s worth signing up.
Djinn CI a simple continuous integration platform
Tags: showdev, go, ci, tooling
Published: 2021-10-26 17:20:34

Djinn CI is a simple continuous integration platform that I have been developing in my free time. It has reached the stage where I'm happy enough with its stability to start debuting it to people.

Djinn CI is [open source][0] software, so you can host it on your own infrastructure. There is, however, also a [hosted][1] version that you can pay to use should you not wish to host it yourself. To start using Djinn CI you can either create an account or sign in with GitHub or GitLab.

Detailed below is a list of some of the features on offer in Djinn CI,

* Build objects (files placed inside of a build environment), and build artifacts
* Multi-repository builds
* Cron jobs (repeatable builds on a schedule)
* Namespaces for organizing builds and their resources and for working with collaborators
* Build tagging and auto ref-tagging of builds submitted via push events
* Custom QCOW2 images for builds that use QEMU
* Integrates with GitHub and GitLab
* Namespace webhooks for namespace events

Whilst I am happy with the stability of the software, and it's feature set, there is always room for improvement. So, if you're looking for a new CI tool to use, please check this out, and feel free to reach out to me if you have any questions. You can find my contact details in my profile, via my website or Twitter.

[0]: https://github.com/djinn-ci/djinn
[1]: https://about.djinn-ci.com
De-Comment Program in C
Tags: c, showdev, programming, systems
Published: 2021-10-26 19:55:24

De-commenting is one of the primary tasks of the C preprocessor. This article demonstrates a simplified C program to remove comments from source-code.

## DFA Design
The deterministic finite state automaton (DFA) expresses the required de-commenting logic. The DFA is represented using the traditional "labeled ovals and labeled arrows" notation. Each oval represent a state. Each state is given short name with detailed descriptions of the left. Each arrow represent a transition from one state to another. Each arrow is labeled with the single character that causes the transition to occur.
![DFA](https://github.com/eyuelberga/decomment-program-c/raw/v1.0.0/assets/dfa.png)

## Usage

```sh
$ ./decomment <file_path>
```

- If the program is run without <file_path> argument, the code to be decommented will be read from the standard input and displayed[decommented code] on the standard output
- If <file_path> argument is given, the code to be decommented will be read form the file and displayed in the standard output.

The full source-code for the project is on GitHub:

{% github eyuelberga/decomment-program-c %}
SEEKING: Machine Learning Engineer in Louisville Colorado
Tags: machinelearning, python, career, linux
Published: 2021-10-27 03:34:11

Hello, I'm seeking a Machine Learning Engineer for a client of mine in Louisville Colorado. Please share my post.

Qualifications needed:

Bachelors degree in Computer Science
Relevant qualifications in Machine Learning
2-3 years experience
LIDAR Recognition/Training datasets for object recognition in LIDAR
Unity 3D
Python language Bindings
CUDA programming
OpenCV
Agile / Scrum team environment
JSON Based Restful Web Services
AWS, Docker and Kubernetes
Basic Linux




Must Haves for this position include:

Proven experience using Python with at least one popular AI library (TensorFlow, PyTorch or OpenAI)
Demonstrable capability to use with Keras or Cafe
Experience with Pose Estimation (MediaPipe or OpenPose) for objects (not human pose estimation) and Object recognition with segmentation (not just bounding boxes)
Machine Learning Experience (Model training and tuning, Data preparation, Neural networks for prediction with input data of numerical text, categorical text with high cardinality and numerical text derived from pixel information retrieved through image object recognition and/or segmentation)

Please see this link for the job description: https://loxo.co/job/elngt2r4rpywbfzh?t=1635305569413

Or visit my website: https://expectllc.com
Where should i start from?
Tags: help
Published: 2021-10-27 11:36:24

{Use the questions/pointers below to guide your post — don't forget to delete the placeholder text!}

What is your question/issue (provide as much detail as possible)?
Hi Everyone, I love opensource community and tools, but keeping that aside i have no idea where to start or what should i do to become a member of opensource community, same goes with github hacktoberfest

What technologies are you using?
I have been working on deployments for devops projects

What were you expecting to happen?
Just want to be a member of opensource community as an regular contributor

What is actually happening?
I just look around people who are same as me are doing alot out there

What have you already tried/thought about?
I have thought about contributing to some opensource projects but i get stuck, like what should i do..

Please try to avoid very broad "How do I make x" questions, unless you have used Google and there are no tutorials on the subject.

#help #hacktoberfest
Use pipeline instead of pipe
Tags: node, javascript, programming
Published: 2021-10-27 13:57:21

Stream data is very common in Nodejs. There is a module called [Stream](https://nodejs.org/api/stream.html#stream_stream) which provides an API for implementing the stream interface. Streams make for quite a handy abstraction, and there's a lot you can do with them - as an example, let's take a look at **_stream.pipe()_**, the method used to take a readable stream and connect it to a writeable stream.

A very common use for **_stream.pipe()_** is file stream.

```
const fs = require("fs");
let readStream = fs.createReadStream("./myDataInput.txt");
let writeStream = fs.createWriteStream("./myDataOutput.txt");

readStream.pipe(writeStream);
```

Above is a simple example shows that we use **_pipe_** to transfer the data from the read stream to the write stream.

However there is a problem when using the standard source.pipe(destination). Source will not be destroyed if the destination emits close or an error. You are not able to provide a callback to tell when then pipe has finished.

To solve this problem, we can use **pipeline** which introduced in Nodejs 10.x or later version. If you are using Nodejs 8.x or earlier, you can use [pump](https://github.com/mafintosh/pump).

```
const { pipeline } = require('stream');
let readStream = fs.createReadStream("./myDataInput.txt");
let writeStream = fs.createWriteStream("./myDataOutput.txt");

pipeline(readStream, writeStream, error => {
   if (error) {
      console.error(error);
   } else {
      console.info("Pipeline Successful")
   }
});
```

![That's it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0jo2j1kiu328nrkakcxj.gif)

---

##That's it~🎉

##Thank you for reading
you may also read [Backpressuring in Streams](https://nodejs.org/en/docs/guides/backpressuring-in-streams/) which explains more detail on why you should use pipeline.
Communicate interface inheritance omission with type definition
Tags: typescript
Published: 2021-10-27 17:04:51

You can easily tell members about inheritance omissions using TypeScript type definitions.You can check the sample introduced [here](https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgMIFcDOYD2BbAUSihymQG8AoZG5aEqAfgC4LraO8JNM4BzCM2xRQfADTsONBDgAmg4aIkcAvpTWVQkWIhQAlbgAccITCiocs0Vhak0QcLq0Ug+k5Go1gAnoZQBBAAUASWQAXmQAHgAVOgAPSBBZTGR0EABrEBwAdxAAPgAKKAgARxZkAxL0bjAASmRKMLzkWIgEiCSUjGx8IgZkRhbkVgBybtxCYlJkLWh4JBmQAAtoYDA4EAXiquBi2RHKSjbjKDBkGVMzuENgViDQiIL6prYOYrB0KBAKFWQ4FI23nUhwu2GQeDgoHCyCe4WatmkJjBxUwxlMKAi12AkQMqKREEKtQA3MDKBDQE8iUA).


Suppose you have the following type definition:
```ts
interface CustomError {
    error?: {
        message:string,
        code:string,
    }
}

interface Response {
    user: {
        name: string
    }
}

type API = <T extends unknown>(req?: Request) => T 
```

Response needs to inherit from CustomError, but you can't understand it without reading the type definition carefully.
In such a case, I will tell you the technique to easily tell the user.

Add a message prompting inheritance to the type definition.

```ts
type API = <T extends unknown>(req?: Request) 
=> T extends CustomError 
? T : 'CustomError interface inheritance required'
```

The user can notice because a message prompting inheritance is displayed in the response when using.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lv52ur3oqm4tczc83hbp.png)

I don't think it's the intended use, Maybe you should know it as one technique.
Producing the MVP vs Becoming the MVP
Tags: beginners, react, advice, focus
Published: 2021-10-27 19:32:03


As web developers we can all agree that most of us enjoy programming because it allows us to build beautiful, dynamic, applications from practically nothing but a keyboard, monitor and an internet connection. Lets face it, typing a few lines of code and getting visual confirmation almost instantaneously is pretty cool! On the other hand, with this great power comes great responsibility, most of us are learning these skills constantly to become employed either as a freelancer or as part of a team of other developers --both of which do carry some responsibility. This is where being the MVP and making the MVP are two different hurdles that all of us will have to overcome. Personally in just the first few phases of Flatiron's Bootcamp I have come face to face with this challenge on many occasions.

What do I mean by MVP and MVP, are they not the same? Letter wise, yes. Acronym wise, absolutely not. Becoming the Most Valuable Player on your team (even a team of one as a freelancer) and making the Minimum Viable Product are vastly different when it comes to setting out project goals and achieving your deliverables for a client, employer, or your instructor. Personally, I have succumbed to the allure of wanting to code 15-30 different ideas all at once and make the next epic web page the internet has ever seen...for a project that had 3-5 deliverables required to satisfy expectations. Those deliverables are the Minimum Viable Product, and are nonnegotiable. 

The urge to become the MVP of your team can be challenging to resist. When it comes to road mapping towards the deliverables and trying to finesse solutions to code bugs along the way, ideas are great. However, a lot of ideas in the beginning, paired with excitement for a project, can lead to you and your team spending precious time coding the 'many' instead of coding the 'few'(main deliverables). Its been my experience that the best course of action is to write out what you need (the minimum viable product). Once that is clear to everyone involved, a wire frame --or drawing-- of the components that will render the content, data, and functionality in your app to meet the the core deliverables can act as your road map. This is not to say that brainstorming ways to accomplish the MVP goes without some creativity; coding is a learned art where many paths can lead to the same goal. New and seasoned programmers just need to strive for and meet the goals set by the MVP first, then the framing and additional goals can be accomplished.

An individual or team that meets the standards as the minimum of their goals first, then stretches them with new ideas and creative thoughts are the real MVPs. They all just have to...

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