teleren/devto huggingface dataset:
Learn IoT from scratch #2 - What is IoT and how does it work?
Tags: iot, tutorial, beginners, computerscience
Published: 2021-08-12 02:28:15

## Introduction

This is the #2 post of the IoT series that I am writing, in this article I will talk about IoT basics and how it works. 

&nbsp;

## What is IoT?

The internet of things, or IoT, is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that have the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. When we talk about smart devices, automation, communication between two different devices through the network, this is just possible because of IoT.

Industries, companies in the logistics and security sectors are adopting IoT to become faster, more efficient, improve the decision-making process and also expand the reach of their services. With IoT, these companies can operate in distant areas, which would have been unfeasible until then. Drones, robots and automatic machines are examples of smart devices connected through an IoT system, that has a network behind.

&nbsp;

## How IoT works?

An IoT environment is loosely based on sensors/devices, brokers and client applications. The devices generally are microcontrollers with chips and sensors, these microcontrollers detect variations through its sensors and send it to the connected brokers. Brokers are usually hosted at cloud platforms, and when they receive a new topic that was published from a device, they register it and stream to the subscribed clients (pub/sub). The client applications receive all the information from the devices, and its function is to automate processes, analyse the collected data, display it, generate graphics, Big Data, business intelligence and all these stuff... 
![IoT complete environment](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvx5c17t05a0wy5maw1p.png)
The image above represents, in an illustrated way, the functioning of a complete IoT environment, from the devices/sensors to the client-server application and the dashboard to display the analysed data. In this representation, the devices are doing the communication via satellite, this is because in many cases, the devices are located on distant and remote areas, so the signal is too weak and the only form to have data coverage is to send it by satellite.
3 useful operators when querying MongoDB
Tags: mongodb
Published: 2021-08-12 01:48:55

Hey! I'm Caleb and this is my first post so I hope the information given about this great database will be of much use to you.

We will use the ** Heroes ** collection in this example.

```
db.heroe.find( { clase: { $in: [ "A", "D" ] } });
```
In this example we tell it that from the hero collection it looks for the data that is A or D in class, that is, if it does not find data equal to A it will look for those that are equal to D and display them.

The second operator that we will see is $ or, in mongodb you can make queries where you have 2 options, that is, you can find data that meets 2 things or 3 things you are looking for or there is data that compiles with only 1 of the things you are looking for then you can bring them and make your query more complex for example:

```
db.heroe.find( { $or: [ { clase: "A" }, { nivel: 30} ] } );
```
In this example we tell you that from the hero collection, look for those whose class is equal to A or whose level is equal to 30, if it does not find one of them, it will show us the one that it did find.

The next that we see is an operator that helps us to make a query a little more detailed and I will show you in the example highlighted below:
```
db.heroe.find( { clase: "A"},{ nombre: /^p/ } );
```
As you can see in the example we do the query and we tell it that the hero collection and in class it is equal to A but take a good look at the following, we are telling it that its data begins with py that is operator number 3 of this post, the / ^ / where you can put any letter or number and thus make a more detailed query that can be used for a self-completing type of car or to order your data when displaying them.
A new secure-emailing solution made by a 16-year-old!
Tags: java, programming, privacy, encryption
Published: 2021-08-12 01:15:18

In 2019 "I was 14 years old back then", I read a lot about privacy, surveillance, and decentralization.

Then I've decided to contribute to a safe internet! I failed many times because I was a noob programmer at that time, so I couldn't do anything or achieve anything. Especially I'm in Egypt, so there's nothing to encourage you to do anything xD.

Then I came up with Secure remote controlling, by sending commands to a remote server using AES256 to make remote cyber attacks (eg. Denial of Service), but no one used it.
But what I learnt from this experience is how to make a TCP Server in java, and how to maintain it. It was a huge achievement for me !

And then, I came up with Anonybox, Anonybox is a AES256-encrypted mailbox used to communicate safely under security.
Many versions were not *really* stable. Until 2020, when I've decided to learn more about OOP,TCP, and networking generally.

In 2021, I re-made Anonybox, A *kinda* stable version, easy to maintain. Also I made my own minimal DBMS solution as a DB management tool instead of SQL (I like to be independent so I make almost everything I use, even this browser I'm writing on).

I know that a lot of people here have more experience than me, so it would be nice from you to review my project, and tell me what improvements I can make.

Here's the repository link : https://github.com/Praudyogikee/Anonybox
AKA - a simple, private URL shortener/bookkeeper that is hosted locally.
Tags: node
Published: 2021-08-12 00:22:55

AKA is a simple, private URL shortener/bookkeeper for personal use that is hosted locally.

For example, the URL https://long-domain.com/foo/, can be shortened to aka/foo. AKA also allows for sub-routes of shortened URLS. So typing in aka/foo/bar in your browser will redirect you to https://long-domain.com/foo/bar.

AKA provides the same bookmarking that, for example, your bookmarks bar on your browser already provides. However, interacting with your keyboard is faster than interacting with your mouse and GUI. AKA provides short keyboard access to bookmark your most visited websites.

AKA also gives instant access to sub-routes of websites. I've found that when I click on a website on my bookmarks bar, say https://github.com/, I usually have to navigate to some other page that I don't commonly go to, like https://github.com/settings/. Instead of interacting with the GUI on the website to find the settings page, I can have aka/gh point to https://github.com/, and visit aka/gh/settings!

For more information, visit https://github.com/brandonLi8/aka
How to highlight and see a specific command that was executed in the Linux terminal?
Tags: resource
Published: 2021-08-12 00:00:00

---
  title: How to highlight and see a specific command that was executed in the Linux terminal?
  published: true
  tags: Resource
  date: Thu Aug 12 2021 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/highlight-see-specific-command-executed-in-linux-terminal
  cover_image: https://melvingeorge.me/_next/static/images/main-450579d5d1999d6e118c79e88abe422e.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/highlight-see-specific-command-executed-in-linux-terminal)
  
To highlight and see a specific command that was executed in the Linux terminal, we can use the `history` command followed by the `|` operator (pipe operator), then the `grep` command and, the name of the command we need to see highlighted.

```bash
# Highlight and see specific command was executed
history | grep <YOUR_COMMAND_TO_HIGHLIGHT>
```

For example, let's say we need to highlight and see whether the `ls` command was executed in the terminal. To do that we can use the `history` and the `grep` command like this,

```bash
# Highlight and see specific command was executed
history | grep ls
```

The above commands do the following operations:

- First, The `history` command will get all the commands executed in the terminal.
- The output of the `history` command is then piped into the `grep` command and then the `grep` command will highlight the all `ls` commands which were executed.

The output of the above command may look like this,

![ls command being highlighted](https://melvingeorge.me/_next/static/images/ls-command-highlighted-af7cccfda2b1f95df5735daf2e671bdc.png)

See the execution of the above command live in [repl.it](https://replit.com/@melvin2016/highlight-and-see-specific-command-executed-in-lin-terminal#main.sh).

That's all 😃!

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

---
1 deploy per month to 160 per week in 9 months
Tags: cicd, continuousdeployment, lean
Published: 2021-08-18 08:32:12

---
title: 1 deploy per month to 160 per week in 9 months
published: true
date: 2021-08-12 00:00:00 UTC
tags: cicd,continuousdeployment,lean
canonical_url: https://jhall.io/archive/2021/08/12/1-deploy-per-month-to-160-per-week-in-9-months/
---

I was recently invited to be a guest on a podcast in which I talked about my approach to [Continuous Deployment without automated tests](https://jhall.io/lean-cd/). The host asked for an example of this having worked for me in the past, so I shared my experience helping [Lana](https://www.lana.xyz/).

When I joined in January of 2020, only the CTO had the knowledge and ability to deploy software to either the staging or production environment. This meant that, in a best-case scenario, a developer had to contact the CTO via Slack or by walking across the office, and ask him to deploy the latest version of his service. If the CTO had nothing else to do, the deployment could be live within a few minutes.

The more common scenario, of course, was the CTO responding with something like “Actually, before I update that service, I need to update another service it depends on, and tweak some config. I should have time on Tuesday.”

The net effect was that deployments happend probably once per month on average, and often involved many microservices simultaneously. This frequently meant rolling back a specific service (or more than one), and mentally blocking that service for upgrade until any bugs could be isolated and resolved.

My first week with Lana, I met with the CTO and CEO, and discussed my plans for [Lean CD](https://jhall.io/lean-cd/), or Continuous Deployment without automated testing first. The CTO was enthusiastic to no longer be bothered with manual deployments, but they were both naturally concerned about the implications this might have for quality.

As usual, the biggest obstacle to Continuous Deployment was the fear of losing control over quality. I explained that all of the existing checks would remain in place, they would simply happen before the “merge” button is pressed. They tentatively agreed, and let me get to work.

Jump ahead 9 months, and we had every one their (10 or so) microservices running with continuous deployment, and we were regularly doing 160 or more deployments per week.

There were times when defects made it through into production, but this was the case before Continuous Deployment too. And in the new world, neither the CTO, nor any other human, ever got involved in deployments (or rollbacks), because the automation took care of all that, giving control to the developers doing the work.

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
Can we get software development job into big techs after 35
Published: 2021-08-11 23:20:55

Hi, i am a software engineer with 10+ years experience in web development, low code solution development using RPA, BPM etc. I recently got my interest in coding so I have started learning data structure, algorithms, programming using python and c++.

I want to ask can we get software development job into big techs after 35? Do these tech giants only prefer college graduates for core development jobs?
All honest comments are welcome :)
Day 428 : HIPHOP
Tags: hiphop, code, coding, lifelongdev
Published: 2021-08-11 23:09:50

_liner notes_:
- Professional : Had a company-wide meeting. It was good to hear what's happening with the company and how what our team works on has an impact on the company. Pretty cool. Spent the rest of the day trying to debug something in my demo application and styling some Web Components I made. Pretty productive.

- Personal : Last night I was able to assign a domain name to my node media server and get the SSL certificate worked out. So now I can input the domain name into an application as an RTMP endpoint. So it makes it easier than trying to remember the IP address each time. Also, I had to get the domain connected because the Let's Encrypt Certbot does a thing where it pings the website domain and sees if it hits the server you are running tool on to verify that you do own it. So getting the certificate was too bad. I had a bunch of issues trying to get the node media server recognize the file location of the cert and private key. Turns out that since I ran sudo in certbot commands, the folders and files aren't available to other users, only root. So I found a post where I had to create a group, then and users to the group and then make the folders and files available to that group. Still kind of hazy on everything, it was late, but the important thing is that it works. I even created a CodePen so I can see the stream somewhere on the net that wasn't inside of the admin dashboard. I just streamed to the server from my phone and even tried from my Insta360 One R camera and both worked no problem! It's pretty cool. There are 2 options that I tried, streaming an flv file via HTTP and Websockets. It looks like Websockets may have lower latency. Going to play around with it more.

![A large field with some orange flowers in Antelope Valley, CA, USA with mountains in the distance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t70on8nrfmcgkjtxe7gm.jpg)

Today is acknowledged as HIPHOP's Birthday. 48 years! Wow! As for the side project. I've decided that I'm going to go with streaming the flv file from the server. I was thinking about turning it into an HLS stream, but that will require downloading another package and transforming it on the server. I'm already using the most basic server and don't want to add more tasks for it to do and over work it. My plan is to have the flv stream come into a dashboard and then from there send out the feed with some other things I'll add like a watermark and maybe scenes included to the viewers. I'll probably have it transformed into an HLS stream then. We'll see. Now that is done, I want to work on getting a quick site and dashboard put together for the project. A new Marvel series started today, so I'll probably watch the first episode what eating dinner. Then do some site design for the new side project. Probably go through tracks for this week's radio show and call it a night.
  
Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube uq3syNck274 %}
Dev log for Wonder Wanderer 2: Day 11 #LOWREZJAM 😁
Tags: challenge, javascript, devjournal, gamedev
Published: 2021-08-11 23:05:59

### What did I do today? ###
This is one of the days which I made nothing and everything at the same time. I prepared the sprite for the main character's animations, 10 main levels with two variants and...a playable level 1! I tried to do a palette swap, but tomorrow I'll remove it.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g80b4rl98qaeu1tih7bk.gif)
<figcaption>First level of the game with a different palette.</figcaption>
The Most Used Python string Module Constants
Tags: python, programming, codenewbie, beginners
Published: 2021-08-11 23:03:23

## Importing string module

```python
import string
```

## the most used python string module constants

## digits

+ **digits**: returns numbers from 0 to 9 as a string.

```python
import string

print(string.digits) # 0123456789
print(type(string.digits)) # <class 'str'>
```

## ascii_letters

+ **ascii_letters**: lets you get all lowercase and uppercase alphabet letters.

```python
import string

# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_letters) 

# 52 (26 * 2)
print(len(string.ascii_letters)) 
```
 
## ascii_uppercase

+ **ascii_uppercase**: helps you to get all uppercase alphabet letters.

```python
import string

# ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_uppercase) 

# 26
print(len(string.ascii_uppercase)) 
```

## ascii_lowercase

+ **ascii_lowercase**: returns all lowercase alphabet letters.

```python
import string

# abcdefghijklmnopqrstuvwxyz
print(string.ascii_lowercase) 

# 26
print(len(string.ascii_lowercase)) 
```

## ponctuation

+ **punctuation**: lets you get all punctuation symbols.

```python
import string

# !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
print(string.punctuation) 

# 32
print(len(string.punctuation)) 

# <class 'str'>
print(type(string.punctuation))
```

### Summary

+ **digits**: returns numbers from 0 to 9 as a string.
+ **ascii_letters**: returns all lowercase and uppercase alphabet letters.
+ **ascii_uppercase**: returns all uppercase alphabet letters.
+ **ascii_lowercase**: returns all lowercase alphabet letters.
+ **ponctuaion**: returns all punctuation symbols.


### Suggested Posts

+ [All You Need To Know About Python JSON Module](https://dev.to/ayabouchiha/all-you-need-to-know-about-python-json-module-5ef0)

+ [Youtube Courses, Projects To Learn Javascript](https://dev.to/ayabouchiha/youtube-courses-projects-to-master-javascript-3lhc)

+ [part-1: 5 Useful Python String Methods](https://dev.to/ayabouchiha/5-useful-python-string-methods-4pe7)

+ [5 Helpful Python Math Module Methods](https://dev.to/ayabouchiha/5-helpful-python-math-module-methods-44gf)


To Contact Me:

email: developer.aya.b@gmail.com

telegram: [Aya Bouchiha](https://t.me/AyaBouchiha)

Hope you enjoyed reading this post :)
overscroll-behavior
Tags: html, css
Published: 2021-08-11 22:50:11

overscroll-behavior, this CSS properties, allows you to define the scroll zone of your browser in other words to block so as not to scroll down indefinitely as in the image of the article.

I also use it for iframe with GuestOnline on iPhone and on macbook to avoid moving the window in all directions.
It's just a tip that can help you;)

<pre>
html, body {
overscroll-behavior: none;
}
</pre>

Source : https://developer.mozilla.org/fr/docs/Web/CSS/overscroll-behavior
Reconmap release notes (0.9.5) 
Tags: security, pentesting, hacking, infosec
Published: 2021-08-11 22:27:43

Here we are again taking a break from coding to share some of the recent changes to our VAPT (vulnerability assessment and penetration testing) platform.

# Added: Tags

Tags are everywhere. Add tags to vulnerabilities, commands and targets to allow for key information sharing and better searching.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hl7b3w49k2z31jw8na6b.png)

# Added: Link to API docs

Jump from the app to the API spec docs in a second thanks to the added link on the sidebar.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvmnofg65q7kgnbnt8k0.png)

# Added: Application logs now visible through the app

The application logs always existed but were visible to admin with SSH access to the box. While that was good, it wasn't great for those power users than like to see what's going well and bad under the box. Now it is possible to access the application logs right from the app.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sw61qb604vjvwgz5n3o6.png)

# Added: List of client projects

Access the list of client's projects directly from the client's page.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1upaldjxgk07p5kwfk25.png)

# Added: Advanced search

The advanced search allows you search not only in regular entities like security projects, vulnerabilities or commands, but also in templates.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6amddoo0lb9w7znjx91d.png)
 
# Changed: Popups

Instead of redirecting to new pages we are now showing some forms in nice popups that allow you to stay on the same page without losing context of what you were doing.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xmtljw87n401d2azulcv.png)
 
# Fixed: Adding existing members to projects

Before this version it was possible to attempt adding existing members to a project, causing some confusion and bad user experience. Now, once you have added user to a pentest project they are not offered again.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/krzpb1z3jwylo0pvan9s.png)

# Final thoughts

The above is probably not even the half of the things that were added since the last release notes, but a good summary of what has been done in the last 1-2 months. In addition to this list we have done a lot of UI and UX changes, some performance improvements, and a bunch of bugfixes as usual.

I hope you are excited about these changes and the number of new things that are coming next!

If you like to support this project, don't forget to star us on [Github](https://github.com/reconmap/reconmap). Thanks!
This is my fox den
Published: 2021-08-11 22:18:29

:eyes:

Hey, welcome to my little blog. I'm learning HTML, CSS and javascript, planning to introduce things like SASS and React later on. My long-term goal is to find a job as a front-end developer, or become a freelancer.

So, that's what you can expect to find here - posts about my experiences, my progress, the projects I'm working on (or that I already completed), and so on!
Writing an Assembler in Rust, and How I Got the Build to Pass
Tags: rust, assemblers
Published: 2021-08-11 21:50:41

Wassup! I got the thing to compile, and I've added more stuff! Also, Github repository link go go go! (edit: apparently it's displaying the wrong GH-Actions badge here, but it displays correctly on github. Caching issue, maybe?)

{% github AshtonSnapp/chasm %}

So, I got the lexer to work. Finally. It compiles. I've done a few things since last post to 1) get the thing to compile, and 2) whittle down on the number of compiler warnings. First off, the error from last time was fixed by actually passing strings into the lexer. I did that by making a function which takes a file and verbose flag and makes a lines iterator over the file, which feeds each line into the lexer. Then it checks for errors. Hopefully someday this assembler will have errors that are as helpful as rustc's, but for now they're just "hey there's an error on this line and it has this byte span. what, you want the character span? Good luck, Unicode is strange." I also had to implement all of the callback functions, and then it finally compiled.

But I still got compiler warnings to deal with. First, some warnings said that certain enum variants were never constructed. Simple fix, just implement (derive) the `serde::Serialize` and `serde::Deserialize` traits on everything that isn't a function inside the `lex.rs` file. I probably did some other stuff to get rid of other warnings, but I'm not perfect and neither is my memory

What I do know is that I have two warnings left to get rid of, and they're confusing. Apparently, certian callback functions are apparently never used, those being `instruction_large` and `instruction_xlarge`. Only those two. I have no idea why it's just those two functions, and I have no idea why they aren't being used. It's a mystery.

Well, besides those two remaining warnings, the lexer is finished. Including the two warnings, I've still got some work to do before I can move on to the parser. Nevertheless, I hope all of you have an awesome day!