teleren/devto huggingface dataset:
What the heck is even reverse engineering? SRE Explained.
Tags: beginners, programming, tooling
Published: 2022-01-27 16:45:28

*Explanation*
`basically you turn binary back to source code`
_Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accomplishes a task with very little (if any) insight into exactly how it does so. SRE means software reverse engineering.
There are two components in reverse engineering: redocumentation and design recovery. Redocumentation is the creation of new representation of the computer code so that it is easier to understand. Meanwhile, design recovery is the use of deduction or reasoning from general knowledge or personal experience of the product to understand the product's functionality fully. It can also be seen as "going backwards through the development cycle." In this model, the output of the implementation phase (in source code form) is reverse-engineered back to the analysis phase, in an inversion of the traditional waterfall model. Another term for this technique is program comprehension. The Working Conference on Reverse Engineering (WCRE) has been held yearly to explore and expand the techniques of reverse engineering. Computer-aided software engineering (CASE) and automated code generation have contributed greatly in the field of reverse engineering._

_Software anti-tamper technology like obfuscation is used to deter both reverse engineering and re-engineering of proprietary software and software-powered systems. In practice, two main types of reverse engineering emerge. In the first case, source code is already available for the software, but higher-level aspects of the program, which are perhaps poorly documented or documented but no longer valid, are discovered. In the second case, there is no source code available for the software, and any efforts towards discovering one possible source code for the software are regarded as reverse engineering. The second usage of the term is more familiar to most people. Reverse engineering of software can make use of the clean room design technique to avoid copyright infringement._

_On a related note, black box testing in software engineering has a lot in common with reverse engineering. The tester usually has the API but has the goals to find bugs and undocumented features by bashing the product from outside._

*How to do it/Tooling for it*
So most of the time source code doesn't come raw instead in binary.
We can disassemble the binary to assembly using something called a disassembler. 
I use something called [Ghidra](https://ghidra-sre.org/)[made by NSA]
Getting Started with IBM Cloud CLI Search
Tags: ibmcloud, cli
Published: 2022-01-27 16:29:27

# Overview
This guide will show you how to get started using the IBM Cloud CLI [resource search](https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_resource#ibmcloud_resource_search) function to locate resources on your account.  

The examples are divided in to two sections:
 - Cloud = IBM Cloud Resources.
 - IaaS = Classic Infrastructure (SoftLayer) Resources.  

> If you do not have the IBM Cloud CLI installed you can refer to this [doc](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli) for installation instructions. Alternately you can use [IBM Cloud Shell](https://cloud.ibm.com/docs/cloud-shell?topic=cloud-shell-getting-started) which has all of the tools we will need out of the box.  

## Search Cloud Resources (Cloud)
```shell
$ ibmcloud resource search 'name:devcluster'
```

### Search by resource name and return CRN  (Cloud)
```
$ ibmcloud resource search 'name:devcluster' --output json | jq -r '.items[].crn'
```

## Search by resource tag (Cloud)
```shell
$ ibmcloud resource search 'tags:ryantiffany' --output json
```

### Return resource names (Cloud)
```shell
$ ibmcloud resource search 'tags:ryantiffany' --output json | jq -r '.items[].name'
```

### Return resource CRNs (Cloud)
```shell
$ ibmcloud resource search 'tags:ryantiffany' --output json | jq -r  '.items[].crn'
```

### Return resource types  (Cloud)
```shell
$ ibmcloud resource search 'tags:ryantiffany' --output json | jq -r  '.items[].type'
```

## Search classic infrastructure (IaaS)
```shell
$ ibmcloud resource search -p classic-infrastructure --output json
```

### Search classic infrastructure by tag (IaaS)
```shell
$ ibmcloud resource search "tagReferences.tag.name:ryantiffany" -p classic-infrastructure --output json
```

#### Return resource types (IaaS)
```shell
$ ibmcloud resource search "tagReferences.tag.name:ryantiffany" -p classic-infrastructure --output json | jq -r '.items[].resourceType'
```

#### Search by tag and filter on virtual instances (IaaS)
```shell
$ ibmcloud resource search "tagReferences.tag.name:ryantiffany _objectType:SoftLayer_Virtual_Guest" -p classic-infrastructure --output json 
```

#### Search IaaS Virtual instances by Tag and return FQDNs
```shell
$ ibmcloud resource search "tagReferences.tag.name:ryantiffany _objectType:SoftLayer_Virtual_Guest" -p classic-infrastructure --output json | jq -r '.items[].resource.fullyQualifiedDomainName'
```

#### Search IaaS Virtual instances by Tag and return instance ID's 
```shell
$ ibmcloud resource search "tagReferences.tag.name:<tag>
Rancher Desktop is now 1.0
Tags: kubernetes, containers, rancher, rancherdesktop
Published: 2022-01-27 16:01:30

Hosted the Release [Event](https://www.youtube.com/watch?v=Iyj-9mgk34E) for Rancher Desktop. Find out more about at our [Global Online Meetup](https://more.suse.com/Global-Meetup-Rancher-Desktop.html).
Customize your GitHub Profile
Tags: javascript, webdev, beginners, programming
Published: 2022-01-27 16:01:07

GitHub is version control system and open source platform its helps you to Collab with other developers, find community of your particular domain, Learning environment and lot of things you can do with GitHub so is extremally important to optimized your GitHub profile and keep it up to date with your development.

##How to Customize GitHub Profile
Your profile is your identity so keep your identity neat and clean but how?
You can customize your GitHub profile
by creating repository with your GitHub username. Then you can customized your profile but wait if your are beginner or new to programing and also developer the easiest way to customize our profile with GitHub documentations.
Link [GitHub documentations. ](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)

Tip: Recently I visit free course for GitHub profile customization and the content provide in course is absolutely great.
[Free GitHub profile Customization Course](https://www.eddiejaoude.io/)

[Complete Process with Step by Step for GitHub profile Customiation](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme)

Hot Tip: The easiest way use prebuild features for customizing GitHub profile visit here and Customize your profile.
[GitHub Readme Generator](https://rahuldkjain.github.io/gh-profile-readme-generator/)

I recently customized my GitHub profile Visit share your suggestions in comment box.
[GitHub Profile](https://github.com/ganeshpatil386386)
Recursion Post Recursion Post
Tags: algorithms, javascript, beginners, programming
Published: 2022-01-27 15:24:26

In the time since graduating from Flatiron School's software engineering program, I've been looking for ways to shore up my knowledge and expand on the concepts taught in the course. Free Code Camp's curriculum has been awesome for that- little bite sized mini-Labs that you have to solve before moving onward. In going through those tests as a study review, I did run into a concept in Javascript programming that I wasn't familiar enough with: recursion.

I mostly knew recursion as being a pitfall for beginner developers that forgot to close a loop, or set a condition going the wrong direction so as to continue forever. Ctrl-C was my way to escape her siren clutches before melting my computer's processor from the inside out. But it turns out it can be harnessed to solve Javascript problems with some clean and easily readable code.

```
const recursiveFunction = (n) => {
    if (n == 0) {
       console.log("This is the base case")
    } else {
       console.log(n)
       recursiveFunction(n - 1)
    }
}
```
Above is a fairly basic function using recursion to countdown from whatever number is provided as an argument when invoked. Programmatically, it works similarly to a for loop, going through each case, operating on it (in this case console logging the present number) and then decrementing it and doing likewise until the loop is done. But the setup is a little different in recursion: you're gonna start with a 'if' statement, that will represent your **base case**- ie. the condition that will stop it from calling itself endlessly. In our case that's the passed in number reaching 0, and it console logs and never calls again. Boom, our function did what we wanted it to do, and we don't have so smash Ctrl-C. 

The 'else' statement is where we operate, calling the very same function within our defined function, only with the passed in number being decremented by 1 in our case- or otherwise operating on that argument so we call it again and again until we hit that base case.

Free Code Camp has a very in-depth look at the concept in terms of using them in your algorithms- I highly recommend taking a deeper dive than my primer on the subject if you're like me and would like to add this to your problem solving arsenal: https://www.freecodecamp.org/news/understanding-recursion-in-programming/
Paracetamol.js💊| #33: Explica este código JavaScript
Tags: javascript, webdev, spanish, beginners
Published: 2022-01-27 15:13:20

## **Explica este código JavaScript**

```js
function greeting() {
  throw "Hello world!";
}

function sayHi() {
  try {
    const data = greeting();
    console.log("It worked!", data);
  } catch (e) {
    console.log("Oh no an error!", e);
  }
}

sayHi();
```

-     A: `"It worked! Hello world!"`
-     B: `"Oh no an error!" undefined`
-     C: `SyntaxError: can only throw Error objects`
-     D: `"Oh no an error! Hello world!"`

Respuesta en el primer comentario.


---
AMOCRM TEST
Published: 2022-01-27 14:55:26

```php
<?php

namespace Classes\AmoCrm;

class AmoCrmClassCompany
{
    public $amo;

    public $phoneF = 173279;
    public $emailF = 173281;

    public function __construct() 
    {
        $this->amo = app('client')->crm();
        $this->l = logger('crm/AMOCRM');
    }


    public function companySearch($array)
    {
        $this->amoCRM = $array;
        $amo = $this->amo;
        $contact = null;
        if (!empty($this->amoCRM['phone'])) {
            $contacts = $amo->companies()->searchByPhone($this->amoCRM['phone']);
            if ($contact = $contacts->first()) {
                $contact->cf()->byId($this->emailF)->setValue($this->amoCRM['email'],'WORK');
                $contact->save();
                return $contact;
            }
        }

        if (!$contact && !empty($this->amoCRM['email'])) {
            if (filter_var($this->amoCRM['email'], FILTER_VALIDATE_EMAIL)) {
                $contacts = $amo->companies()->searchByEmail($this->amoCRM['email']);
                if ($contact = $contacts->first()) {
                    $contact->cf()->byId($this->phoneF)->setValue($this->amoCRM['phone'],'WORK');
                    $contact->save();
                    return $contact;
                }
            }
        }

        return false;
    }

    public function companyCreate()
    {
        $amo = $this->amo;
        if (!empty($this->amoCRM['companyName']) && !empty($this->amoCRM['phone'])) {
            $contact = $amo->companies()->create();
            $contact->responsible_user_id = $this->amoCRM['responsible_user_id'];
            $contact->name = $this->amoCRM['companyName'];
            if (isset($this->amoCRM['phone'])) {
                $contact->cf()->byId($this->phoneF)->setValue($this->amoCRM['phone'], 'WORK');
            }
            if (isset($this->amoCRM['email'])) {
                $contact->cf()->byId($this->emailF)->setValue($this->amoCRM['email'], 'WORK');
            }
            // Тип организации
            if (isset($this->amoCRM['type-object'])) {
                $contact->cf()->byId(177033)->setValue($this->amoCRM['type-object']);
            }

            
            $contact->save();
            return $contact;
        }  
    }

    public function contactCreate($entity, $data)
    {
        $this->amoCRM = $data;
        $amo = $this->amo;
            $contact = $entity->createContact();
            $contact->responsible_user_id = $this->amoCRM['responsible_user_id'];
            $contact->name = $this->amoCRM['contactName'];
            $contact->save();
            return $contact;
    }
}
```
Configure Email over SMTP with SilverStripe
Tags: php, silverstripe
Published: 2022-01-27 14:47:59

If you have used SilverStripe CMS, a lot of it may seem intuitive to you. But as a newcomer there may be a few things you might wish there were more documentation on. For me, one of those things was how to configure the CMS to use my mailtrap.io account for my development environment. For today, that is what we will do.

> Mailtrap is a service that catches all outbound mails from your application and let you view them on their website. You will see a mail as in most mail clients, with the addition of switching views between different outputs: HTML, HTML-source, Text, and Raw. Suffice to say; this is not something that would be a good idea to use on a production-server. Mailtrap uses SMTP, so when we are configuring here for Mailtrap - the same configurations can be used for your SMTP service with updated values.  

We will configure the following environment variables (be it in `.env` or "first class environment variables"):
```yaml
SS_SEND_ALL_EMAILS_FROM="example@smtp.mailtrap.io"
APP_SMTP_USERNAME="example"
APP_SMTP_PASSWORD="password"
APP_SMTP_HOST="smtp.mailtrap.io"
APP_SMTP_PORT="2525"
```

> If you are using Mailtrap, you will find your SMTP credentials at https://mailtrap.io/inboxes/ and then click on "My Inbox" or the inbox you want to use for your specific project if you have multiple inboxes. Under "SMTP Settings" -> "Integrations", click on PHPMailer to get a pretty good idea on which values are which.  
 
Having configured your environment variables, we will have to update our configurations as well. Open up `app\_config\email.yml` (or create it if it doesn't exist). We will update our email service to use SMTP:  
```yaml
---
Name: project-emailconfig
After:
  - '#emailconfig'
---

SilverStripe\Core\Injector\Injector:
  Swift_Transport:
    class: Swift_SmtpTransport
    properties:
      Host: '`APP_SMTP_HOST`'
      Port: '`APP_SMTP_PORT`'
      Encryption: tls
    calls:
      Username: [ setUsername, ['`APP_SMTP_USERNAME`'] ]
      Password: [ setPassword, ['`APP_SMTP_PASSWORD`'] ]
      AuthMode: [ setAuthMode, ['login'] ]
```

Having updated SilverStripe like this, it may be a good idea to visit the `dev/build` URI (or run `?flush`) to update the application to use it. This was appareantly a step that I missed.
Frontend Olympics Coding Challenges
Tags: javascript, react, angular, vue
Published: 2022-01-27 14:53:18

## Code yourself to the top on this new coding challenge!

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

Fight your way through several front-end challenges and get rewarded by the DevOlympics community!
A Complete Explanation to DevSecOps
Tags: security, devops, tutorial
Published: 2022-01-27 14:48:17

{% youtube 2cnKp3K3uKw %}

---

## Devsecops

It's one of the buzz words currently.

Everyone wants to do it and everyone has a different vision of it, even a specific explanation. 

In the following video, I will not present the Truth to you, but rather my point of view and the clearest possible explanation through an example that should speak to everyone.

When you're in the real world, you have something precious and you're trying to protect it at all costs, you build something solid and with a very specific way of creating it.
 
Well, DevSecOps is not that different. so come with me, let's go back in time and discover computer security and DevSecOps through an example.

DevSecOps and creating a castle in not that different.

---

*If you like this content, push the like button, that helps spread the message.* 👍🏼
*If you think it can be useful to anyone in your network, share it.* 📨

---

Video produced by [Wild & Secure](https://wildnsecure.com), your consulting firm to all things security and real estate.
If you want to receive weekly quality content about security, subscribe to our newsletter on our website.
DataTrends 2022
Published: 2022-01-27 20:00:34

---
title: DataTrends 2022
published: true
date: 2022-01-27 14:42:00 UTC
tags: 
canonical_url: https://dataroots.io/research/contributions/trends-video
---

Watch our experts share our views on :

- What type of data do we currently work with?
- How are the AI use cases evolving?
- How much time does it take to leverage value from AI/data?
- What has been the biggest evolution in infrastructure to support the AI cases
- Where is the market in terms of AI adoption and maturity?
- What is the role of the EU citizens, how are they included in AI projects/development?  

<iframe width="200" height="113" src="https://www.youtube.com/embed/tvOqvE-hZyA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Want to Boost Your Web Development by 10X
and Be More Productive?
Tags: webdev, productivity, javascript, tutorial
Published: 2022-01-27 14:26:36

Join us for our free webinar with [special guest speaker Adrian Twarog](https://www.brighttalk.com/webcast/11505/526396?utm_source=Devto&utm_medium=Leads%20Acquisition&utm_content=AdrianWebinar-Jan22&utm_campaign=526396), the Tech YouTuber celebrity, on JavaScript development tools for 10x faster development and more. 

It's on Friday, January 28 at 10:30 am (Central Time).


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

Why is this webinar worth watching? You'll learn how to:

**Save programming time**

- Decrease coding effort

- Use better JavaScript tools

- Automate manual coding into automated solutions

- Reducing tedious tasks

- And much more...


[WAIT NO LONGER, SECURE YOUR SEAT NOW!](https://www.brighttalk.com/webcast/11505/526396?utm_source=Devto&utm_medium=Leads%20Acquisition&utm_content=AdrianWebinar-Jan22&utm_campaign=526396)
Practice making pipelines with kedro
Tags: python, kedro
Published: 2022-01-27 14:10:44

---
canonical_url: https://waylonwalker.com/til/practice-kedro/
published: true
tags:
- python
- kedro
title: Practice making pipelines with kedro
---

I am a huge believer in practicing your craft.  Professional athletes spend most of their time honing their skills and making themsleves better.  In Engineering many spend nearly 0 time practicing.  I am not saying that you need to spend all your free time practicing, but a few minutes trying new things can go a long way in how you understand what you are doing and make a hue impact on your long term productivity.

**practice** building pipelines with _#kedro_ today

Go to your playground directory, and if you don't have one, make one.

``` bash
cd ~/playground
```

Install pipx in your system python.  This is one of the very few, and possibly the only python library that deserves to be installed in your system directory, primarily because its used to sanbox clis in their own virtual environment automatically for you.

``` bash
pip install pipx
```

From inside your `playground` directory, start your new kedro project. This is quite simple and painless.  So much so that if you mess this one up doing something wild, it might be easier to make a new one that fixing the wild one.

```
pipx run kedro new
# answer the questions it asks
```

> I use this quite often to try out new things in a safe place.

## Make a virtual environment.

### Using Conda

Conda is a fine choice to manage your virtual environments.  It used to make things so much easier on windows that it was almost required. Nowadays getting python running on windows has become so much easier that this is less so.

``` python
conda create -n my-project python=3.8 -y conda activate my-project python  -m pip install --upgrade pip pip install -e src
```

> one great benefit of conda is that it lets you choose the interpreter
> to go with your virtual environment.

Your new environment will be listed in your list of conda env here.

``` python
conda info --envs
```

### Using venv

`venv` is what I use now.  Nothing against conda, it works great.
`venv` just feels a bit lighter and more common.  I've actually grown to
appreciate that the `venv` is right where I put it, most often in the project directory.

```
python -m venv .venv source ./.venv/bin/activate python  -m pip install --upgrade pip pip install -e src
```

### using pipenv

`pipenv` is another fine choice.  I like how in one command it makes the
environment and activates it for you.  `pipenv` also puts virtual environments in the global directory.

```
pipx run pipenv shell python  -m pip install --upgrade pip pip install -e src
```

## Make pipelines

Now go make some pipelines with your new project, try something wild, break it, and make anther.
#AzureML – Sample 🐍 Python app to consume a image classification Azure Machine Learning HTTP REST Endpoint
Tags: englishpost, azuremachinelearning, azuremldataset
Published: 2022-01-27 17:40:17

---
title: #AzureML – Sample 🐍 Python app to consume a image classification Azure Machine Learning HTTP REST Endpoint
published: true
date: 2022-01-27 14:00:00 UTC
tags: EnglishPost,AzureMachineLearning,AzureMachineLearning,AzureMLDataSet
canonical_url: 
---

<p>Hi !</p>

<p>In my previous post I wrote</p>

<ul><li>How to create a custom dataset with images to be used on a Azure Machine Learning Designer project. </li><li>How to use the custom data set and how to train an image classification model. </li><li>How to publish the model to be used as a WebService / HTTP REST endpoint.</li></ul>

<p>Each endpoint provides a set of code samples in C#, Python and R. The code is autogenerated, and because we are working with binay images, the generated code will be huge !!! This is because it will include a Base64().toString() serialization of the file. </p>

<figure class="wp-block-image size-large"><img src="https://brunocapuano.files.wordpress.com/2022/01/binary-code-included-on-the-code-sample.jpg?w=886" alt="binary code included on the code sample" class="wp-image-35173"/></figure>

<p>Based on the original code, I created a sample code in Python that will read a local file, encode the file and then make the http request.</p>

{% gist https://gist.github.com/elbruno/eb1776d704882101930e63bdaaabe39e %}

<p>It works almost without a change, and here is a sample output that also includes a call to the next sample, which process the JSON response, this sample may also help!</p>

<figure class="wp-block-image size-large"><img src="https://brunocapuano.files.wordpress.com/2022/01/azure-ml-sample-client-calling-endpoint.jpg?w=1024" alt="azure ml sample client calling endpoint" class="wp-image-35177"/></figure>

{% gist https://gist.github.com/elbruno/92580ff1635a9b7a4f591cc1dc6e66b0 %}

<p>Tomorrow I'll show a live webcam real-time analysis using the Azure ML Endpoint to detect Squirrels or Space Wolves!</p>


[Continue reading #AzureML – Sample 🐍 Python app to consume a image classification AzureML HTTP REST Endpoint](https://elbruno.com/2022/01/27/azureml-sample-%f0%9f%90%8d-python-app-to-consume-a-image-classification-azureml-http-rest-endpoint/)