teleren/devto huggingface dataset:
LEARN GQL WITH ME: Introduction to GQL and The Series
Tags: graphql, javascript, webdev, typescript
Published: 2021-10-28 15:58:38

So I have been building REST APIs for quite some time now. And I actually kind of like them, because when you build several REST APIs, then you find it very interesting and you keep on discovering many things. The people who have built REST APIs will understand what I am trying to express here. 

But since a long time I have been hearing about this new guy (at least new for me, actually its quite oldish) called GraphQL. They say that it can build the most efficient APIs. No API, including REST and SOAP APIs, are as good and efficient as GraphQL, because unlike REST, GraphQL has a single endpoint and gives you a flexible approach of fetching data from the server as a client. Just ask for what you need. Its like the objective type question that a client asks a server, the specific word or the specific data, and the server answers in exact number of words, or exact amount of data it was asked to give.

If you don't get any of it, don't worry. In this series, I am going to be learning GraphQL myself, and whenever I think that okay, I have reached a checkpoint, or learnt enough about a topic in GraphQL or in short gql, that I can explain someone, then I will write a post here, teaching you whatever I learnt last. So this series is called LEARN GRAPHQL WITH ME! Where you literally 'learn graphql with me'....

One thing to make clear, that GraphQL is in a way like REST, that it is a specification and not a module, package or library or framework, no! Its a specification. You can build REST APIs in many languages: JavaScript, Python, Java, C++, Go, PHP, Ruby, etc. Same way, GraphQL is also kind of API, and you can build it with any language. Right now there is no package for building GraphQL APIs in all languages, but in most of the major languages a package or module exists with which you can build GraphQL APIs. In this series, I am going to be learning using JavaScript, and then I even might migrate to TypeScript by the end of this series. But if you have been using a language, which currently does not have a package to implement GraphQL APIs, you have 2 options:

1. Learn a new programming language
2. Learn concepts of GraphQL, and be the first developer among the ones who use the same language as you do to build a package yourself, so that other people can use it (as well as you can use it) to build GraphQL APIs!

Alright so let's meet in the next post, where we will learn something new in GraphQL. And by the way, what I am going to use as a resource to learn GraphQL is called howtographql, developed by the devs at prisma.

{% github howtographql/howtographql %}
These notes come from 9 books I'm planning on reading that pertain to the topic of Ethical Hacking:
Published: 2021-10-28 15:57:01

01.The Pentester Blueprint: Starting a Career as an Ethical Hacker
BY: Phillip L. Wylie and Kim Crawley

02.Social Engineering -- The Art of Human Hacking
BY: Christopher Hadnagy

03.Basic Security Testing with Kali Linux
BY: By Daniel W. Dieterle

04.Metasploit Penetration Testing Cookbook
BY: Abhinav Singh

05.The Hacker Playbook
BY: Peter Kim

06.RTFM: Red Team Field Manual
BY: Ben Clark

07Gray Hat Python -- Python Programming for Hackers and Reverse Engineers
BY: Justin Seitz

08.Malware Analysts Cookbook -- Tools and Techniques for Fighting Malicious Code
BY: Michael Hale Ligh, Steven Adair, Blake Hartstein, and Matthew Richard

09.Inside Cyber Warfare
BY: Jeffrey Carr
Random Ruby — (Bi-)Weekly Email Newsletter
Tags: newsletter, project
Published: 2021-10-28 15:56:08

---
title: Random Ruby — (Bi-)Weekly Email Newsletter
published: true
description: A newsletter for Ruby and Rails devs
tags: newsletter, project
//cover_image: https://direct_url_to_image.jpg
---

Hi there!

I'm making the Random Ruby email newsletter (https://www.getrevue.co/profile/randomruby) and it is about Ruby, Rails, and all the tech stuff around them. 

The newsletter was started in 2016 and in 2017 I took a hiatus, but now I feel like it's time to return to this journey and already sent two issues to the subscribers in October. In each issue, I compile a digest of the most interesting blog posts, news, articles, tools, and projects from Ruby, Rails, and the related world. It usually contains about 8-12 links so you won't be overwhelmed.

Anyway, I just wanted to show the thing I do and if you find it interesting, feel free to subscribe :)
Connecting A Data Factory To An Existing Runtime In Azure
Tags: azure, database, tutorial
Published: 2021-10-28 15:47:37

With Azure Data Factory, we can connect on premise assets to Azure resources, such as an on premise database to an Azure database. At this time, this will require an on premise runtime that communicates with both the on premise resource and the Azure resource. In the video [Connect Azure Data Factory To Existing Runtime](https://www.youtube.com/watch?v=IpvmNyTLDxE), we see how to connect an Azure Data Factory to an existing run time (to set up a runtime on premise, review the video [How To Setup A Runtime for Azure Data Factory](https://www.youtube.com/watch?v=CA7ML8NRM4U), as this video assumes that we have a runtime setup on one of our servers that has been linked to a data factory). While not discussed in the video, we should review the security of our design - we want to be extremely careful connection on premise assets to the cloud. If we will be sending data from an on premise asset, make sure that both the server with the data and the server running the runtime (if different) are isolated.

Before connecting an Azure Data Factory to an existing runtime, we should make sure that the following our true for our environment:

- We've considered all security angles for running a runtime that connects an on premise asset to Azure's cloud.
- We've looked at the scale ahead of time - being aware of the data load that we expect and how we'll parallelize this across assets, environments, etc.  Keep in mind that the runtime may become the bottleneck, if we're using it for multiple assets/environments/etc.  Part of this analysis is ensuring that we're transferring the least amount of data required to meet our objective.
- We have monitoring in place to discover issues as quickly as possible, as if we have any production dependency on this, an outage could be costly.

These pre-requisites are a must, as without this analysis ahead of time, we may face costly issues later.

Once we have our runtime setup, we can grant permissions from this runtime to Azure Data Factories. We will want to consider how many data factories we want to share this with, as well as whether sharing this will comply with some of our other standards. For an example, we should not connect one runtime to our Sandbox-QA-Preproduction-Production environments for multiple reasons - scaling, testing and security, to name a few reasons. The only exception to this would be if we were demonstrating what NOT to do. The same logic applies if we're connecting a runtime to multiple assets within an environment: we want to consider scale early, as it will be more costly if we make adjustments later.
Java 編譯成 WebAssembly 的工具
Tags: java, webassembly
Published: 2021-10-28 15:35:13

古早的年代想在網頁內埋 Java 還有 Java applet 可以用，在 Java applet 式微後，找來找去比較可以的辦法大概就是編譯成 WebAssembly 了吧！

想要把 Java 編譯成 WebAssembly，有下面三個工具可以選用：

- [TeaVM](http://teavm.org/)
- [CheerpJ](https://leaningtech.com/pages/cheerpj.html)
- [JWebAssembly](https://github.com/i-net-software/JWebAssembly)

## TeaVM

TeaVM 是個 Java 到 JavaScript 的轉碼工具。TeaVM 接受的來源是 Java bytecode，意即不只是 Java，只要能編譯成 Java bytecode 的語言，包括 Kotlin 等，都可以透過 TeaVM 編譯成 WebAssembly 或轉碼成 JavaScript。

不過 Java 到 WebAssembly 這一部份還只在實驗階段，只適合拿來當玩具，不適合拿來做工具。

## CheerpJ

與樓上一樣是 Java bytecode 到 WebAssembe 或 JavaScript 的工具。背後有商業公司支持，因此令人感覺發展的完整度也較高，相對來說，商業用途就必須付費，只有非商業用途免費，付費除了買授權外，同時也會有顧問提供技術支援，果然天下沒有白吃的午餐啊。

## JWebAssembly

從名字就可以聯想到 JWebAssembly 只專注於 Java bytecode 到 WebAssembly 的轉換。一樣比較偏玩具性質。

## 小結

一輪調查完畢，雖然三個工具各有特色，也都各有限制，技術上的限制可能是某一些 Java 的特性很難被完整的轉換，非技術上的限制就是錢錢的問題啦，目前並沒有既免費又傻瓜的轉換器這樣的東西存在，不過還是謝謝佛心的 CheerpJ 有提供非商用的免費版給大家。
1 line of code: How to get highest numeric item of an Array
Tags: javascript, webdev, productivity, codequality
Published: 2021-10-28 15:27:07


```javascript
const biggestItem = arr => Math.max(...arr); 
```
Returns the highest coerced numerical item of the array.

---
## The repository & npm package

You can find the all the utility functions from this series at [github.com/martinkr/onelinecode](https://github.com/martinkr/onelinecode)
The library is also published to [npm as @onelinecode](https://www.npmjs.com/package/@onelinecode/onelinecode) for your convenience.

The code and the npm package will be updated every time I publish a new article.

---

Follow me on [Twitter: @martinkr](http://twitter.com/_martinkr) and consider to [buy me a coffee](https://www.buymeacoffee.com/martinkr)

Photo by [zoo_monkey](https://unsplash.com/@zoo_monkey) on [Unsplash](https://unsplash.com/s/photos/fuji)

---
How to Add a README to a GitHub Organization's Profile?
Tags: github, watercooler, tutorial
Published: 2021-10-28 15:21:13

You may already know how to add a README to your GitHub profile (if you don't, have a look at [this article](https://dev.to/iamludal/why-your-github-profile-sucks-1ph9)), but did you know you can also add one to an organization's profile? 🤔

To do so, just head over to the GitHub organization you want to customize, and create a new repository named `.github`.

![GitHub special repository](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nruc4qll5iyaytrlmm0k.png)

As you can see, GitHub already tells you that you discovered a special repository (once again 😛).

> ⚠️ Make sure to set the repository's visibility to __**public**__.

From there, the only thing you have to do is creating a `profile/README.md` file within this repository, that will show up in the organization homepage.

> ⚠️ Make sure to create the `README.md` within the `profile` directory.

![Editing the README.md file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ivnsybnfd8zts2hk9bsz.png) 
 

And here's the final result, on the organization's GitHub homepage:

![Final Result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/amfrvl9oyomdrhv26ap8.png) 

---

## Other Articles by Me

{% post iamludal/why-your-github-profile-sucks-1ph9 %}

{% post iamludal/custom-react-hooks-usecounter-5a73 %}

---

## References

- https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile
#DevCard #Style #github #markdown
Published: 2021-10-28 15:18:56

Hello there!

Since we have to read a lot of things daily here there is an amazing show off for your reading.

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

And the most important is that you can use this everywhere you want to have a cool/better presentation of your path.

How you get it?
https://app.daily.dev/devcard
click the link to generate your own!

and start customizing the one you like: 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrn2egrgiox3u8w5f1l9.png)

Finally go to the article to add that to your #github profile:
https://daily.dev/blog/adding-the-daily-devcard-to-your-github-profile

Happy Coding!!
Tools for Web Designing
Tags: design, webdev
Published: 2021-10-28 15:13:07

Designing is just great thing and demanding skills in digital era of development everyone want to build designing skills and lot of different opportunities are available for designers like Graphic Designs, Product Designs, UI/UX designs Mobile applications designs and etc... but the important thing is to used right tool for right designs. here are some free tools which I used for my personal projects for designing and development.

###**1. Adobe Xd**

Adobe Xd is great tool for designing and development amazing libraries are available inside the adobe xd, you can also used it for various purpose Logo Designs, Product Designs , Web designs etc. get the XD from link 

XD:https://creativecloud.adobe.com/apps/download/xd

###**2. Figma**

Figma is widely usable design platform its used for all type of designs and provide lot of supportive libraries and features like live application interface also Mobile interface available for users.

Figma: https://www.figma.com/downloads/

###**3. Justinmind**

  Justinmind is great tool for Realtime web designs and mobile application interface its completely amazing experience with JUSTINMIND is great tools for Web Designers.

 JustinMind: https://www.justinmind.com/
7 things to do in 15 minutes before your remote job interview
Tags: interview, remote, zoom
Published: 2021-10-28 14:55:44

I often see people come unprepared in one small way or another to the Zoom / Google Meet job interviews, and that could stand in a way between them and the job opportunity of their desires. So perhaps a checklist could be of help here. Here's mine, in the order of priority:

**1] visit a loo**

Pretty self-descriptive action point. Take your medicine preemptively if you're not in a good health.

**2] soundcheck your equipment: mic, headphones, webcam**

Open the application for the upcoming call (Zoom / Google Meet / Skype / ..) and thoroughly check if your hardware is working correctly there. After that check, don't even breathe on your setup: no cable replugging, no operational system reboots, no nothing.

This action point is important enough to even ask for a reschedule if you're discovered technical issues. Don't be afraid to do that.

**3] prepare a bottle of (still) water or a glass of tea**
 
Preferably avoid anything that looks like beer or wine ([kvass](https://en.wikipedia.org/wiki/Kvass), vine juice) or has unobvious packaging. Don't drink alcohol (even if you're tempted to use it as a stress relief tool w/o consequences since you're remote) as you'll definitely need a clear head and a distinctive speech! Sparkling soda is suboptimal due to possible burping.

If you take some medication on a regular basis (cough medicine, antacids, ..), check your stash to be promptly available to you.

**4] find a notepad and a pencil**

Taking notes on a keyboard (especially on a mechanical one, but on a regular one as well) annoys most of the people: they assume you're not listening / you're distracting them. Pencil notes on the other hand are the whole different thing: they're nice and handy and you'd be able to do so much more with the paper (for instance, sketch during a brain teaser). 

**5] remove cats and people from the room**

![tzeentch](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h3svdov7oe6usm1jvzd.jpg)
Tzeentch is trying to score some scratches from me as I type these strokes. But he's not welcome in the room when it's the interview time and neither do significant others and flatmates.

If what you have is only one room, try to warn the people to be quiet for a while and ask them for a favor of watching the pets. (Make some lasagna afterwards as a gratitude!)

**6] have all necessary information and tools ready on your pc**

Open & pin cv and a job opening description ready in the browser. Get your checklist of questions to the firm / project ready. If we're talking a programming interview, keep a console with [repl](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) ready.

**7] notify the interviewer that you're ready**

Join the meeting and throw a brief email / text to the person you've spoken to. Generally that's not a requirement, but it's always nice to be as transparent and proactive as possible — as Harvey Specter said, first impressions last.

Good luck!
The Experience Paradox
Tags: juniordeveloper, changingcareers, codingbootcamp
Published: 2021-11-01 15:02:22

---
title: The Experience Paradox
published: true
date: 2021-10-28 13:22:48 UTC
tags: juniordeveloper,changingcareers,codingbootcamp
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/0*uSsmODoabZUv4c3R)<figcaption>Photo by <a href="https://unsplash.com/@loicleray?utm_source=medium&amp;utm_medium=referral">Loic Leray</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

This is not a new problem. This article is not even a new take. These few words are intended to be the beginning of providing a solution to the problem.

Why write another article? Simply put, there are a vast amount of articles on this problem and all they do is acknowledge the issue as if that takes us from point A to B. So, as boring as it is, let’s look at and acknowledge the problem again and then move through to a solution in the coming days and weeks.

### **The Paradox: A Vicious Cycle**

_This is the briefest summary I can come up with._

Companies want senior developer because there is less ‘risk’ with a senior developer. Senior developers are expensive. So companies consider hiring junior developers. Junior developers come with a risk. Junior developers want the experience they need to move to mid-senior developer to make more money. Companies take the risk. Onboard the junior. Six months to a year later the junior developer leaves for a better offer.

So companies are hiring less junior developers meaning there are a lot of junior developers entering the market. The market is not saturated, even though there are many junior developers because the market wants more senior talent which it cannot get because the growing pool of junior talent cannot grow to senior because for them to grows means risk for companies, and on and on and on.

### The Solution: Who Absorbs the Risk?

We have to ask that question. And, as unfortunate as it may seem, Startups and the Junior Developer will be the one who absorbs most of the risk. From changing careers to finding to gaining the necessary experience, the junior developer absorbs that because it’s too costly for companies to do that.

I’ll explain more in my next article
Adding a feature to Telescope
Tags: opensource, react, hacktoberfest
Published: 2021-10-28 14:45:25

My last Hacktoberfest contribution was to [Telescope](https://github.com/Seneca-CDOT/telescope), the awesome web app used to aggregate blog feeds from the Seneca College open source community.


### New Feature

I worked on a way to easily display all of the Github repos, issues and pull requests links from a blog post into the sidebar.

After a few days of writing the initial work for the [issue](https://github.com/Seneca-CDOT/telescope/issues/2360), I opened a [PR](https://github.com/Seneca-CDOT/telescope/pull/2367) as a draft. Things were far from over! 😄 I received a lot of great feedback and kept adding commits to fix bugs and improve the code. The PR accumulated a total of 73 comments with multiple reviewers involved. I also received help from [Andrew Nguyen](https://github.com/Andrewnt219) for the `filterGitHubUrls()` function in the form of a [PR](https://github.com/menghif/telescope/pull/1) in my own [telescope fork](https://github.com/menghif/telescope).

The basic idea was to receive an array of Github links, filter them by `repos`, `issues`, `pullRequests`, and finally display those in their own individual react component.

```jsx
const GitHubInfo = ({ ghUrls }: Props) => {
  const classes = useStyles();
  const { repos, issues, pullRequests } = filterGitHubUrls(ghUrls);

  return (
    <ListSubheader className={classes.root}>
      <div className={classes.GitHubInfoContainer}>
        {!!repos.length && <Repos repoUrls={repos} />}
        {!!issues.length && <Issues issueUrls={issues} />}
        {!!pullRequests.length && <PullRequests prUrls={pullRequests} />}
      </div>
    </ListSubheader>
  );
};
```

### Final Result

The sidebar used to show only the Author and the blog post's date. Now it shows a more complete overview on the post using the Github data:

![Telescope New Sidebar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xudses9ut6kpp7r0grq2.png)

I loved seeing the excitement for this feature on the Telescope slack channel and I am really happy with the result. It should be released with the next version of Telescope very soon!
Additional tips for writing Playbooks
Tags: ansible
Published: 2021-10-28 14:38:28

Below are a few additional tips for when writing your first few playbooks. These will show you some of the peculiarities of Ansible.

## Management of software
Installation is dependent upon the platform. For Unix-like systems you can use the package manager of the distribution and for Windows there is no package manager provided. Ansible has the chocolatey module, which is a package manager, that allows you to manage software automatically.
```yaml
- name: install chocolatey
  win_chocolatey:
    name:
      - chocolatey
      - chocolatey-core.extension
    state: present
```

## Commands
In general the ``shell`` and ``command`` modules, or ``win_shell`` and ``win_command`` for Windows respectively, should not be used as they are not able to use exception and error handling. Even though modules can do a lot, in some cases you must use the ``shell`` or ``command`` modules.  

There is very little difference between the ``shell`` and ``command`` modules. However the ``shell`` module runs the command in a shell and therefore variables and operations like ``$HOME``, ``>``, ``>>``, and ``|`` are available. On the other hand, ``command`` is safer as it is not dependent on the host environment. 


```yaml
- name: npm install
    command: npm install /<path_to_app_dir>
```

### Running software
There are a couple of options when trying to run a program. One of the options is to run an Ansible shell command. This runs the program in a shell, the same way you would do it from the command line of the device. However many programs have their own modules, which are usually easier to read for humans in the YAML files. If a program needs to keep running after the Ansible configuration, the ``forever`` npm package can be used to prevent the program from stopping after the configuration. Other options do exist to keep software running.
```yaml
- name: start PiCalc
    shell: forever start ./PiCalc/server.js
```