teleren/devto huggingface dataset:
What was your first own computer?
Tags: watercooler, discuss, question, hardware
Published: 2019-11-15 13:30:51

When I was a kid, we had a computer since the mid-90s and my whole family was using it for playing games or later dial into the Internet (when you're at least my age, you know exactly how that sounded 🖀😅).

I got my first **own** computer later - it was an _Acer Travelmate 220_ laptop with both floppy and CD drive! It was a great feeling to have an own computer right on my own desk 😲!
Because you paid Internet per minute back then, I downloaded the whole [selfhtml](http://selfhtml.org/) website to get a local copy and be able to teach myself HTML. I also took my first steps in Javascript on that machine!

What was your first computer?
TypeORM With NEST JS Basic Tutorial
Tags: node
Published: 2019-11-15 13:11:00

TypeORM with Nest Js to integrate the database with our application. But before starting with TypeORM, let us have a brief look over the concept of Object-relational mapping(ORM).

Wikipedia defines Object-relational mapping as a technique for converting data between incompatible <a href="https://en.wikipedia.org/wiki/Type_system">type systems</a> using <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented</a> programming languages. In other words, ORM is a programming technique in which a metadata descriptor is used to connect object code to a relational database. Object code is written in object-oriented programming (OOP) languages such as C++, JAVA, etc. we will be using TypeScript for creations of our object-oriented programming.

In addition to the data access technique, ORM also provide
simplified development because it automates object-to-table and table-to-object conversion, resulting in lower development and maintenance costs.

Now, when we have a good idea about what is the notion of ORM is, let us understand what TypeORM is.

TypeORM: TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8).

Topics:

Creating a model( or Table )
Primary / Auto-generation column
Relationship between two or more models.
Our Project
Creating a model/ Table

The first step in the database is to create a table. With <a href="https://codersera.com/blog/nestjs-typeorm-graphql-dataloader-tutorial-with-typescript/">TypeORM</a>, we create database tables through models. So models in our app will be our database tables.

You can see <A href="https://codersera.com/blog/typeorm-with-nest-js/">Complete code</A>
Syncfusion Xamarin Controls Now Part of Microsoft Visual Studio Dev Essentials!
Tags: news, dotnet
Published: 2019-11-21 11:34:53

---
title: Syncfusion Xamarin Controls Now Part of Microsoft Visual Studio Dev Essentials!
published: true
date: 2019-11-15 13:08:32 UTC
tags: news, dotnet
canonical_url: https://www.syncfusion.com/blogs/post/syncfusion-xamarin-controls-now-part-of-microsoft-visual-studio-dev-essentials.aspx
cover_image: https://www.syncfusion.com/blogs/wp-content/uploads/2019/11/tile-2.jpg
---

We are delighted to announce the addition of Syncfusion’s Essential Studio for Xamarin as an exclusive benefit to members of [Microsoft Visual Studio Dev Essentials](https://aka.ms/dev-essentials-program).

This exclusive benefit provides a six-month subscription to Syncfusion Essential Studio for Xamarin, including access to over 145 essential controls, like grids, charts, and list views for building powerful line-of-business Xamarin applications targeting iOS, Android, UWP, and macOS from a single C# code base.

This subscription includes:

• The best data grid and charts on the market and several unique controls like diagram, image editor, picker, and kanban board.

• Components for Xamarin native as well as Xamarin.Forms applications to build iOS, Android, and Universal Windows Platform apps from a single code base.

• Syncfusion controls that have been optimized for great performance even on modest hardware.

![xamarin listview control](https://www.syncfusion.com/blogs/wp-content/uploads/2019/11/xamarin-listview-control.gif)

_Xamarin ListView Control_

Ready to start building? Visual Studio Dev Essentials members can log into the [benefits portal](https://my.visualstudio.com/Benefits) to activate this new benefit.

Not a member? Join [Visual Studio Dev Essentials](https://aka.ms/dev-essentials-program) today!

The post [Syncfusion Xamarin Controls Now Part of Microsoft Visual Studio Dev Essentials!](https://www.syncfusion.com/blogs/post/syncfusion-xamarin-controls-now-part-of-microsoft-visual-studio-dev-essentials.aspx) appeared first on [Syncfusion Blogs](https://www.syncfusion.com/blogs).
Why do we get that silly CORS error?
Tags: webdev, javascript, node
Published: 2019-11-15 12:57:33

Have you ever had that experience where you are working on a frontend project and decide to just fire up a small backend service to support it, or are hitting a public API to fetch some generic data and as soon as you hit your first endpoint, you get that irritating **CORS error** in the console and you don't know what you did wrong?

I created a short animated video on the same topic trying to explain why we run into such situations often. Do check it out:

{% youtube Qf2V6v1pdRY %}

Hope that helped, Cheers!
Handling data breaches in cloud; security assessment in Go; & scalability challenges
Tags: todayilearned, security, go, distributedsystems
Published: 2019-11-15 11:00:16

*TL;DR style notes from articles I read today.*

### [How to avoid data breaches in the cloud](http://bit.ly/2KkK8WQ)

- Draft a good data loss prevention (DLP) policy. Build a solution against breaches as well as unauthorized extraction & deletion.
- Implement encryption in transit as well as at rest: TLS/SSL connections are a must, as are IPsec VPN tunnels.
- Deploy your own advanced network monitoring tools. Use intruder detection tools to watch your entire ecosystem of applications.
- Beware of a too-complicated ecosystem. Its layers can create blind spots. 
- Consider using API-based cloud access security brokers (CASBs). 
- Use micro-segmentation to restrict access privileges to those who need them, for only the timeframe they need them and only to the level of access they need. 

*[Full post here](http://bit.ly/2KkK8WQ), 4 mins read*

---

### [Security assessment techniques for Go projects](http://bit.ly/2Oi4O2Q)

- Static analysis tools like gosec, go-vet, and staticcheck can help catch low hanging fruits not included in compiler errors & warnings.
- Dynamic analysis techniques like fuzzing, property testing & fault injection should be used for deeper results.
- Dynamic testing tools like [dvyukov/go-fuzz](https://github.com/dvyukov/go-fuzz) let you quickly & effectively implement mutational fuzzing. 
- [google/gofuzz](https://github.com/google/gofuzz) can help by initializing structures with random value.
- For property testing, the [leanovate/gopter](https://github.com/leanovate/gopter) framework addresses the shortcomings of other testers.
- The build directives of the compiler can be used to perform name linking, and avoid renaming while getting testable access to desired functions.

*[Full post here](http://bit.ly/2Oi4O2Q), 15 mins read*

---

### [Scalability problems: Hidden challenges of growing a system](http://bit.ly/2qfck6K)

- Two main challenges of scaling distributed systems: centralization and synchronization.
- When one node has too much control, the main source’s capacity/capability limits the entire system in terms of resources it can handle or users it can serve. 
- When scaling up, the system can run into computational limitations, storage limitations, and network limitations.
- Synchronous communication over a WAN is not only slower, but also less reliable compared to a LAN. 
- Synchronous communication across larger geographies can be an obstacle to scaling. 

*[Full post here](http://bit.ly/2qfck6K), 8 mins read*

---

*[Get these notes directly to your inbox every weekday by signing up for my newsletter, in.snippets(), here.](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is)*
Scala role with Depop in London
Tags: scala, career
Published: 2019-11-15 10:41:59

Hey guys,

Here is another role I quickly wanted to share :)

We are looking for mid-senior Scala engineers to join Depop. Depop currently has over 1 million daily users and over 17 million overall. They are looking to expand their engineering team, which is where you come in!

About the position:

*Job title*: Scala Engineer

*Seniority level*: Mid/Senior

*Technologies / Language requirements*: Scala

*Start time*: N/A

*Job type*: Full time

*Remote allowed*: No

*Salary*: up to £90k


About the company:

*Company name*: Depop

*Company description*: Depop is a fast-growing micro-service ecosystem creating a Social market app that allows users to post, buy and sell fashion items in an easy way. Currently has 17 million registered users with over 1 million active every day!

*Location*: London

*More info*: You can apply for the job and find all the details of the position here: https://bit.ly/2rMrosY
A REST API Solution to Merge Documents in .NET
Tags: mergedocuments, restapi, dotnet, groupdocs
Published: 2019-11-15 10:23:13

In this tutorial, I will show you how to merge Word documents easily and accurately without losing the formatting and contents. I am using [GroupDocs.Merger Cloud](https://products.groupdocs.cloud/merger), REST API solution to merge and split a wide range of document formats on any platform, without installing any plugin or software. It supports all common file formats, like PDF, Microsoft Word documents, Excel spreadsheets, PowerPoint presentations, plain and formatted text, and a long list of supported document formats.

I will upload source documents to cloud storage from local disk and merge.

Here are the Steps to Merge Word Documents:

  * [Sign up](https://docs.groupdocs.cloud/display/gdtotalcloud/Creating+and+Managing+Account) with groupdocs.cloud and get App SID and App Key to authenticate your rest API calls
  * Create a new project in Visual Studio
  * Install GroupDocs.Merger Cloud SDK for .NET [NuGet Package](https://www.nuget.org/packages/GroupDocs.Merger-Cloud/)
  * Use this code to merge multiple documents

```csharp
var configuration = new GroupDocs.Merger.Cloud.Sdk.Client.Configuration(MyAppSid, MyAppKey);
var apiInstance_Document = new GroupDocs.Merger.Cloud.Sdk.Api.DocumentApi(configuration);
var apiInstance_File = new GroupDocs.Merger.Cloud.Sdk.Api.FileApi(configuration);

var pathToSourceFiles = @"C:/Temp/input/";
var remoteFolder = "Temp/";
var joinItem_list = new List<JoinItem>();
try
{

    DirectoryInfo dir = new DirectoryInfo(pathToSourceFiles);
    System.IO.FileInfo[] files = dir.GetFiles();
    foreach (System.IO.FileInfo file in files)
    {
        var request_upload = new GroupDocs.Merger.Cloud.Sdk.Model.Requests.UploadFileRequest(remoteFolder + file.Name, File.Open(file.FullName, FileMode.Open));
        var response_upload = apiInstance_File.UploadFile(request_upload);
        var item = new JoinItem
        {
            FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
            { FilePath = remoteFolder + file.Name }
        };
        joinItem_list.Add(item);
    }

    var options = new JoinOptions
    {
        JoinItems = joinItem_list,
        OutputPath = remoteFolder + "Merged_Document.docx"
    };

    var request = new JoinRequest(options);
    var response = apiInstance_Document.Join(request);

    Console.WriteLine("Output file path: " + response.Path);
                
}
catch (Exception e)
{
    Console.WriteLine("Exception while Merging Documents: " + e.Message);
}
```

That's it, Isn't that simple. [Read for more details](https://blog.groupdocs.cloud/2019/11/14/a-rest-api-solution-to-merge-and-split-documents-groupdocs-merger-cloud/).
Choosing an organization for Google Summer Of Code 
Tags: gsoc, scraping, opensource
Published: 2019-11-15 10:17:29

The first thing we do while preparing for gsoc is choosing an organization. And checking the gsoc archive for the past few years for every organization to see their projects etc is a time-consuming process.

So, I have extracted all the organizations participating from the last 4 years in gsoc. 

[ Github repo for this project ](https://github.com/nishantwrp/gsoc-organizations-site)
[ Website for this project ](https://gsoc-organizations.netlify.com/)
Clipart for Custom Product Designer for Magento
Tags: magentocustomproduct, magentoproductdesigner, onlineproductdesigner
Published: 2019-11-15 10:12:06

Magento custom product designer allows the user to create any design on the product, and order the product for that design so that, the admin would let it know to the custom design and print that design in the product as required. Doing this becomes easy with this extension. Custom product designer extension for Magento allows a whole lot of functionalities along with just simple design.
Using Online Product Designer for Magento, the admin would need to add predefined Clipart images that a user would be able to see and add on the product while designing. It is easy to use for the user point of view, as they would be able to see the most used clipart images in the design panel and add that image in the product for their product design.

Adding the Clipart Images is so much easy for admin, as no prior knowledge of any coding is required by admin to do so. Just login to the admin panel and Go to the Custom Product Designer menu. From there select Manage Clipart. In here admin would able to see all the Clipart images, on extension installation, we have already added most of the clipart images in the extension itself, which would be visible on the page.

From the Manage Clipart Listing page, add/edit the Clipart image, admin can also delete the unwanted Clipart images from the list, or could simple Disabled the Clipart image which is not required on the frontend.
Name — Enter the name of the Clipart image
Enabled — This must be Selected to YES so that it would be visible in the front website if you are not sure that this image would be shown later, Then you can leave it NO in here and it would be only visible in admin and not in the front website.
Sort Order — In frontend Website, Clipart Images are shown in the Popup box, to set the images to be shown in particular order, set sort order for all images in numeric form, leave it to 0 for default sort order.
Clipart Image — Choose Clipart Image from Browse from your Computer System. You can choose the following Image formats for Clipart Image — JPG, JPEG, GIF, PNG, and SVF.
To delete the old image from Clipart you have to select Delete Image from the form so that it doesn’t use up your space on the web.

Note -SVG images are vector-based graphics in XML format which are mostly used for Clipart everywhere, try to use SVG images in Clipart.
In Front to view Clipart images click on Add Clipart link and all the added Clipart images by admin would be shown, popup model. Please note only Enabled Clipart images would be visible in here with sort order as defined in the admin.

Get This Extension At: https://www.purpletreesoftware.com/custom-product-designer-magento.html
Video Playback Metrics: New Synthetic Testing Tool StreamOrNot
Tags: uncategorized
Published: 2020-02-09 15:28:39

---
title: Video Playback Metrics: New Synthetic Testing Tool StreamOrNot
published: true
date: 2019-11-15 09:45:32 UTC
tags: Uncategorized
canonical_url: https://dougsillars.com/2019/11/15/video-playback-metrics-new-synthetic-testing-tool-streamornot/
---

Video content on the the web is increasing - with such an immersive medium - it is pretty much a . no brainer.  However, a few months ago, I looked into how the web is using video on the web, and found that slow video startup times and stalls are much more common than we … [Continue reading Video Playback Metrics: New Synthetic Testing Tool StreamOrNot](https://dougsillars.com/2019/11/15/video-playback-metrics-new-synthetic-testing-tool-streamornot/)
How does Ruby method lookup work? 🤔
Tags: ruby, help, explainlikeimfive, beginners
Published: 2019-11-15 09:44:48

Salut people!

I'm in the process of writing [a beginners' introduction to Ruby classes and objects](https://dev.to/mercier_remi/a-beginners-introduction-to-ruby-classes-and-objects-jjc) (18th Nov update: it's live!). 

While talking with a friend about how classes inherit from their ancestors and the parent `Class` class, we realized we didn't know how exactly the method lookup works in Ruby.

My first (and wild) guess was: Ruby uses the `method(:some_method).owner` then check the ancestors' chain. But can't really wrap my head around this.

Anyone around here would like to have a go? 🙏
What is a Fork Bomb in Linux and how to stop it?
Tags: linux, ubuntu
Published: 2019-11-15 09:24:45

A fork bomb (also known as a rabbit virus) is a denial-of-service attack that consists of a process that constantly replicates itself to exhaust all available system resources, slowing down or crashing the system due to resource starvation.

![What is a Fork Bomb in Linux and how to stop it?](https://imgur.com/wGtKsWk.png)

Here's an example of the most popular fork bomb in Linux:

```
:(){ :|:& };:`
```

> NOTE: do not run this on your system as it would crash the system!

Here's a quick rundown of all elements:

* `:()` - Define the function. The `:` is the function name and the opening and closing parenthesis means that the function does not accept any arguments

* `{ }` - These characters show the beginning and end of the function

* `:|:` - Here it loads a copy of the function `:` into memory and pipe its own  output to another copy of the `:` function, which has to be loaded into memory as well

* `&` - This starts the process as a background process

* `:` - The final `:` executes the function and hence the chain reaction begins


If you have a multi-user system, the best way to protect it against such attacks is to limit the number of processes a user can have by using PAM for example.

If you are already logged into the system you could do the following to stop the fork bomb:

* Run a SIGSTOP command to stop the processes of the user who ran the fork bomb: 

```
killall -STOP -u someuser
```

For more information about the history of the fork bomb and other examples I would recommend checking this Wikipedia page:

https://en.wikipedia.org/wiki/Fork_bomb
YSPKA #4: Plop JS
Tags: yspka, javascript, codegeneration
Published: 2019-11-15 09:22:42

I always had a special place in my heart for code generation. There’s a lot of good tools out there, but one tool that I really like is [plop](https://plopjs.com/). The difference between plop and many other tools is that you can generate multiple files at the same time, and it is interactive. 

It uses [Handlebars](https://handlebarsjs.com/) for the templating and [Inquirer](https://github.com/SBoudrias/Inquirer.js/) for the interactive prompt. 

I’ve used it a lot when creating JavaScript components in Angular and React   

Go ahead and be lazy and generate repetitive code tasks instead of writing them by hand.
Top VScode Shortcuts For Mac and Windows
Tags: vscode
Published: 2019-11-15 09:05:09

In this article, you find some useful shortcuts of VScode which help you to build or frame your programs. Shortcuts in the programming are important because it makes everything easy and quick for the developers. Shortcuts are like playing with your keyboard.

To use the shortcuts you have to install some pluggings and VScode extensions to accelerate your program flow and have a great experience. Shortcuts are some fast codes that help the front-end developers to the program easy as well as quickly done.

What is VScode?

Visual studio code is source code editor developed by Microsoft for Windows, Linux, and macOS. It is used for debugging, syntax highlighting, intelligent code completion, as well as code refactoring. VScode is free and open-source which is released under the permissive MIT license.


Foremost, the Vscode is an editor which delightfully frictionless edit, build and debug your program. And in less time to execute the ideas, that’s why the developers, especially front-end developers use this to frame their application.

In VScode there is some extension which makes fiddling codes more easy and fun by changing colors and auto-debugging tools.

Now next move to the <a href="https://codersera.com/blog/top-vscode-shortcuts-for-mac-and-windows/">shortcuts of VScode.</a>
Question: how to create sass/css packages
Tags: sass, packages, npm, css
Published: 2019-11-15 09:03:45

---
title: Question: how to create sass/css packages
published: true
description: discussion over web technologies to publish sass packages
tags: sass, packages, npm, css
---

Hello people! I'd like to create a sass packages and I'd like to hear which tools do you use to manage, publish, etc.

I've realized that for the creation of JS packages, there's ton of documentation, but I haven't found much info on sass, css.

I don't really want to maintain webpack scripts, so I'm looking for some already pre-cooked libraries or skeletons.

Some questions I can think of:

1. Which tools do you use to create bundles? (webpack, parcel?, etc)
2. How do you publish? is there something to keep in mind?

Thanks!
Learning How to Write Go REST APIs on a Pixelbook: Day 2
Published: 2019-11-15 07:08:50

Day 2 is here, so let's jump back into our series on setting up our Pixelbook (or any chromebook, really) for developing web services with Go. 

I left off at testing out my installation of go, and seeing it work properly from the terminal. The next thing I'll do is setup my default file system for working in go, such that I don't need to setup a `$GOPATH`, but also it just matches my mental model for working here. 

One interesting note about Chrome OS, is that all your files that live in `userspace` do _not_ map to the home path like it would in a traditional environment (think a default Ubuntu install, or OS X). So, when you share files between Chrome OS and its linux container, it gets mounted on the `/mnt/chromeos` path. That was a nice surprise for me, because I can now safely make my linux home root my root path for code. 

I start out by setting up my default folders for go, so from the user home, I create my directories: `mkdir go; mkdir -p go/src go/bin;` and now I'm ready for code. 

Next, I installed Atom for my development. I tried to get VS Code going but I just wasn't happy with its UI performance. I installed Atom by downloading the `.deb` package from https://atom.io/. Once saved in my downloads folder, I right-clicked on it, and selected `Install using Linux (Beta)`, and a short wait later, it was installed. 

Next, I installed a couple of packages to help with go development (`go-debug`, `go-plus`, `gotests`, `gounit` and `go-signature-statusbar`), and get prepped for developing in Go.

Next, I prepare my tools for getting started in building some REST API Services using go - namely, the stack I will use ([Gorilla Mux](https://gorillatoolkit.org/mux), PostgreSQL and Heroku for deployment, and the frontend will either be React or Vue - I haven't decided yet). I also add a couple of env variables for my local machine: `APP_ENV` (which is always set to local, and I will use in _any_ language I write in) and `GO111MODULES=true` (so I can use go modules to manage dependencies). 

After a day of research and tinkering, I called it a night, and I'll pick up where I left off tomorrow by writing my first lines of code for a project I have brewing.