teleren/devto huggingface dataset:
🗞️ Capacitor, Figma User Conference,Search Console Speed Report, Visual Studio Online...
Tags: news, angular, figma, devops
Published: 2019-12-20 15:00:58

---
title: 🗞️ Capacitor, Figma User Conference,Search Console Speed Report, Visual Studio Online...
published: true
date: 2019-11-04 05:00:00 UTC
tags: news, angular, figma, devops
canonical_url: https://ajonp.com/blog/aj-s-week-in-web-november-06-2019
series: ajweekinweb
---

{% youtube 341a1K46SKQ %}

# AJ's Week In Web Links

[https://github.com/facebook/react/releases/tag/v16.11.0](https://github.com/facebook/react/releases/tag/v16.11.0)

[https://github.com/angular/angular/blob/master/CHANGELOG.md#900-rc0-2019-10-31](https://github.com/angular/angular/blob/master/CHANGELOG.md#900-rc0-2019-10-31)

[https://next.angular.io/guide/updating-to-version-9](https://next.angular.io/guide/updating-to-version-9)

[https://blog.angular.io/announcing-the-capacitor-ngadd-schematic-732fd90f40fa](https://blog.angular.io/announcing-the-capacitor-ngadd-schematic-732fd90f40fa)

[https://www.figma.com/blog/lets-create-figmas-first-user-conference-together/](https://www.figma.com/blog/lets-create-figmas-first-user-conference-together/)

[https://github.com/GoogleChrome/puppeteer/releases/tag/v2.0.0](https://github.com/GoogleChrome/puppeteer/releases/tag/v2.0.0)

[https://pptr.dev/](https://pptr.dev/)

[https://webmasters.googleblog.com/2019/11/search-console-speed-report.html](https://webmasters.googleblog.com/2019/11/search-console-speed-report.html)

[https://devblogs.microsoft.com/devops/azure-devops-roadmap-update-for-2019-q4/](https://devblogs.microsoft.com/devops/azure-devops-roadmap-update-for-2019-q4/)

[https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-online-public-preview/](https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-online-public-preview/)
A simple Sinatra Auth
Tags: sinatra, ruby, heroku, tailwindcss
Published: 2019-11-08 15:14:37

---
title: A simple Sinatra Auth
published: true
date: 2019-11-04 04:40:07 UTC
tags: sinatra, ruby, heroku, tailwindcss
canonical_url: https://leonardofaria.net/2019/11/04/a-simple-sinatra-auth/
---

Imagine you want to protect the content of a website created with Next.js, Hugo or your favourite static site generator. Github doesn’t offer this feature or Netlify offers authentication only in their paid plans. [Decided to create something simple with Sinatra, TailwindCSS and ready to go in Heroku](https://bit.ly/sinatra-auth).

[![Sinatra Auth screenshot](https://leonardofaria.net/wp-content/uploads/2019/11/sinatra-auth.jpg)](https://bit.ly/sinatra-auth)

_Also posted on [my blog](http://bit.ly/2K1NHBc). Follow me on [Twitter](https://twitter.com/leozera)_
Object-Fit CSS Property is my Favorite, What's your favorite Property?
Tags: css, html, tutorial, discuss
Published: 2019-11-04 04:27:04

I love Object-Fit because, resizing images is the worst. Having to crop images to fit inside a gallery can be annoying when your programs are running slow or you're in rush. Resizing using CSS is an option you should consider. 

Let's say you have different sized images, and you want to create a gallery of images 300px x 300px or a consistent width and height. How would you go about accomplishing this? Let me know in the comments. I usually crop if I don't intentionally make the images the same image size. I was in a time crunch, my photo editor kept crashing, so I searched "resize image css" and the property I was looking for, popped up, and voila: Object-Fit. Below is the code I used to resize my images.

``` css 
.resize {
object-fit: cover; /* The image keeps its original aspect ratio and the image area is completely covered. */
width: 300px;
height: 337px;
}
```

Here is a link to the article I found: https://alligator.io/css/cropping-images-object-fit/

One thing I wonder is if the original image, although cropped, has an impact on load time if the dimensions aren't intrinsically reduced.
Feelings about GopherCon VietNam 2019
Tags: go, conference
Published: 2019-11-04 04:15:39

---
title: Feelings about GopherCon VietNam 2019
published: true
description: Feelings about GopherCon VietNam 2019
tags: golang, conference
---

# GopherCon VietNam 2019
2019-11-02
Capella Gallery Hall

The most interesting topic for me is "CloudRetro." Thanks speakers!

I'm very surprised. In Gopher con VietNam, most of the speakers have presentations in English. Most of the questions and answers are also in English. I can understand easily because the speakers talk in English. Awesome! But the reaction of attendees is better the speaker in Vietnamese :sweat_smile: 

People in the booth ask something to me, but Vietnamese is difficult :sweat: 
A few attendees use their laptops. There are desks only the front row.


## Tanuki
Tanuki is one solution for dependency hell. https://github.com/sausheong/tanuki

In my understanding, the speaker wants to talk about "the Unix philosophy." 
But this approach seems each handler has dependencies. This means each handler has its own dependency hell. This is still thought experiment.

## SRE

The fundamental introduction of SRE: [Google - Site Reliability Engineering](https://landing.google.com/sre/)

We need to understand "error budgets" more.
5 key principles for SRE

- Metrics & Monitoring
- Capacity planning
- change management
- Emergency response
- Culture

Start with Service Level Objectives
SLO and/or error budget

## CloudRetro

This topic is crazy :heart_eyes: 
https://github.com/giongto35/cloud-game/wiki/FAQ
We can play a video game on the cloud server via a web browser, and the server encodes video and audio, then we can see this video. We can share the game state by permanent link.

Open-source Cloud Gaming Service For Retro Games
Video demo: https://www.youtube.com/watch?v=GUBrJGAxZZg
[giongto35/cloud-game Web-based Cloud Gaming service with Retro Game](https://github.com/giongto35/cloud-game)
Kafka Gotchas – The Must-Know
Tags: kafka, microservices, eventsourcing
Published: 2019-11-04 03:51:02

I've assisted several large clients in building a microservices-style architecture using Kafka as a messaging backbone, having a reasonably good understanding of its abilities and the use cases that really bring them out. But I'm not a Kafka apologist by any stretch; any technology that has gone through such a rapid adoption curve is bound to polarise its audience and rub certain developers up a wrong way, and Kafka is no exception. Like anything else, you need to invest a significant amount of time in getting across Kafka and event streaming in general, before you become fully proficient and can harness its might. And be prepared to face one or two frustrations, to put it mildly, along the way.

I've compiled a list of shortcomings that may cause developer frustration, or catch out unsuspecting first-timers. In no particular order:

# Too many tunable knobs
The number of [configuration parameters](https://kafka.apache.org/documentation/#configuration) in Kafka can be overwhelming, not just for newcomers but also seasoned pros. Possibly with the sole exception of the JVM, I cannot think of another technology that has this many configuration parameters. This isn't to say that the config options aren't necessary; but one does wonder how many of those parameters could instead be replaced by ergonomics, much like Java did with G1. So rather than specifying a plethora of individual thresholds and tolerances, let the operator set a performance target, and have the system derive an optimal set of values that best meet this target.

[Read the rest of the story on Medium.](https://itnext.io/kafka-gotchas-24b51cc8d44e)
Delta-Eos - Starting to look like a game
Tags: ruby, gamedev, showdev
Published: 2019-11-04 03:33:13

---
title: Delta-Eos - Starting to look like a game
published: true
description: 
tags: ruby, gamedev, showdev
series: delta-eos
---
So I had a couple of hours this week and put a bit of time into my night-time project I am likely to never finish. So my game is starting to look like a game. What's changed? Let us go through it.


![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/y1d1qw8928othe4th3k3.png)

# Objects

I can now render objects eg. computers, doors, force-fields which are defined as a JSON file accompanied by a layout file.

here we can see objects defined, You'll notice the keys are single characters. These characters will show up in the layout file.

```json
{
  "name": "Holding Area",
  "objects": {
    "1": {
      "handle": "door",
      "character": "X",
      "exit_action": "down",
      "exit_room": "hall",
      "exit_position": {
        "x": 19,
        "y": 0
      }
    },
    "2": {
      "handle": "door",
      "character": "X",
      "exit_action": "right",
      "exit_room": "security_office",
      "exit_position": {
        "x": 0,
        "y": 2
      }
    },
    "F": {
      "handle": "force_field",
      "character": "┅"
    },
    "G": {
      "handle": "force_field_decker",
      "character": "┅"
    },
    "D": {
      "handle": "character_decker",
      "character": "D"
    }
  }
}

```

## Layouts of Rooms

Room layouts are defined as a text file. Here you see a bunch of Ws. That is hardcoded to stand for a wall. Any other character is mapped to the JSON file to match to an object. 

```
  WWWWW  WWWWW  WWWWW    
  W   W  W D W  W   W    
WWWFFFwWWWGGGWWwWFFFWWWWW
W                       W
W                       2
W                       W
W                       W
W                       W
W                       W
WWWWWWWWWWW1WWWWWWWWWWWWW

```

I have a class called `RenderWalls` just to handle how to set the correct wall piece so they are seamless. This is end result here:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/jak78ths0g6x549auets.png)

## Dialog Panel

On the right side, I've added a panel/column which is where all dialogue will appear. When a player is not interacting with objects or characters then it displays stats. The stats are not actually coded in yet but just to help me think about how this game will work.


![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/uydpwbjiropvrfsgd552.png)

This is quite good progress for maybe 3 hours so far.
I am currently working on the story engine which determines the state logic of conversations.



Here's a gif, it might take a little bit of time to load.
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/vt1hhsrytxl3824p4o1l.gif)
Linked Lists
Tags: computerscience, algorithms, datastructures, csharp
Published: 2019-11-04 02:58:10

## Resources

1. [Linked list overview and implementation](https://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/linked%20lists.html)
1. [Linked list overview](https://www.interviewcake.com/article/python/data-structures-coding-interview#linked-lists)
1. [Detailed overview and implementation](https://brilliant.org/wiki/linked-lists/)

Takeaways:

* Insertions and deletions are `O(1)` (constant time). 
* Searching for an element is `O(n)` (linear), and not cache friendly*
* Space is `O(n)`. But it's important to note that the effective memory is double that of a regular array. This is because each node contains value/data _and_ a reference/pointer to the next node. This means Linked Lists use [an extra 4 bytes](https://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/linked%20lists.html) of memory for each element.
* There are 3 common types of Linked Lists: singly linked, doubly linked, and circularly linked. 
* Each node in a Singly Linked List has a pointer to the next node. This means traversal can only happen in one direction.
* Doubly Linked Lists have two pointers per node, one for the next node and one for the previous node. Traversal can be in both directions.
* In Circular Linked Lists the tail (last node) has a pointer to the head node (first node). 
* Although it is common for Linked List implementations to only maintain a reference to the head node, some implementations also keep track of the tail node.

*Linked Lists, unlike Dynamic Arrays, aren't required to be stored in continuous blocks of memory. This means each node in a Linked List does not have to be stored next to other nodes belonging to the same Linked List. For this reason, the CPU cannot effectively cache the contents of a Linked List as well as it can an array. 

Here's the finished implementation of a Singly Linked List with test code:

{% gist https://gist.github.com/jbolton209/bf6074ce58519f3f0d7983ddbe8938d8 %}


As always, please let me know if you noticed an error with anything in this post.
Create an Azure Cosmos DB using MongoDB API
Tags: azure, azurecosmosdb, mongodb
Published: 2019-11-04 02:23:18

In this [tutorial](https://github.com/patricksameerajayalath/AzureTutorials/blob/master/Create%20an%20Azure%20Cosmos%20DB%20using%20MongoDB%20API.pdf) I’m going to show how to:

•	Create an Azure Cosmos DB/MongoDB API
•	Add data to the Azure Cosmos DB
•	Query Azure Cosmos DB through Data Explorer
•	Query Azure Cosmos DB through MongoDB Shell



![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/m8revkq6nlhfbletz637.jpg)


You can find the PDF version of this tutorial [here](https://github.com/patricksameerajayalath/AzureTutorials/blob/master/Create%20an%20Azure%20Cosmos%20DB%20using%20MongoDB%20API.pdf).

You can find all my Azure/.Net tutorials [here](https://dev.to/patricksameerajayalath) and [here](http://sameerajayalath.blogspot.com/).

Enjoy !!
Open Source Licensing Evolution at Diffusion 2019
Tags: diffusion, opensource, licensing
Published: 2019-11-06 00:11:22

---
title: Open Source Licensing Evolution at Diffusion 2019
published: true
date: 2019-11-04 02:07:41 UTC
tags: Diffusion, open source, licensing
canonical_url: https://blog.fission.codes/open-source-licensing-evolution-at-diffusion-2019/
cover_image: https://s3.fission.codes/2019/11/Screenshot-2019-11-03-18.02.33.png
---

Boris gave this talk at [Diffusion 2019](https://diffusion.events) in Berlin.

{% vimeo 369824474 %}


The slides and links to licenses and other resources are [available on Notist »](https://noti.st/bmann/aOkl8w/open-source-licensing-evolution)
Are you participating in GitHub's Game Off 2019?
Tags: discuss, github, gamedev
Published: 2019-11-04 01:48:27

GitHub's annual game-focused hackathon, [Game Off](https://github.blog/2019-11-01-game-off-2019-theme-announcement/), is officially underway! This year's theme is **Leaps and Bounds**, which is open to interpretation and can be applied to many aspects of game design.  The event runs throughout the entirety of November, with contributors being given the option to work on games individually or as a team.

Are you planning to participate?  Do you have a game idea in mind?  Let me know in the comments!
Hi Scott, I think I'm about to do the right thing ;)
Tags: creativewriting, tech, 100daysofcreativewriting, scotthanselman
Published: 2019-11-04 00:16:51

---
title: Hi Scott, I think I'm about to do the right thing ;)
published: true
description: I'm motivated to take a bold step towards technical writing
tags: creative Writing, Tech, 100daysofcreativewriting, scott hanselman
cover_image: https://thepracticaldev.s3.amazonaws.com/i/7ywxi4ehi71o41u1aarv.png
---

<h2>Hi guys!!</h3>

<em>If you wanna be a world class software engineer, you need to learn new things everyday</em>

<p><b>Disclaimer: Deliberate situations require deliberate actions. I'm about to take actions by sharing my words and contributing my little quota to the world, one blog post at a time. I challenge you to do same and together, we create a more supportive and happy world!!</b></p> 

<br>

<p>I'm currently on a path to becoming a world class frontend web engineer. My plans was to lock myself indoor and just absorb every JavaScript content I could find out here on the Internet but after listening to Scott Hanselman speak at the Concatenate Conference Lagos, I think it's worth it if I start sharing my words, thoughts, and ideas out here by writing articles about them.</p>

<p>So I'm challenging myself by sharing my thoughts and ideas as I paddle through the path to mastery in JavaScript. I challenge myself to write at least one blog post every day on this platform for <b>100 days.</b></p>

<p>I know it's gonna be tough at first but I believe it's worth it by the way. Besides, Ideas are worth sharing so let's make it open source!!</p>
The Ongoing State of JavaScript Errors
Tags: errors, webdev, javascript, errormonitoring
Published: 2019-11-04 17:32:53

---
title: The Ongoing State of JavaScript Errors
published: true
date: 2019-11-04 00:00:00 UTC
tags: error, webdev, javascript, errormonitoring, errorhandling
canonical_url: https://trackjs.com/blog/global-javascript-error-statistics/
cover_image: https://trackjs.com/assets/images/blog/2019-11-04-global-javascript-error-statistics/title.png
---

Today, we’re releasing [TrackJS Global Error Statistics](/global-stats/) to the public. This aggregated production data is a useful measure of **the state of client-side JavaScript errors and the quality of the web**. We break it down by the most common errors, browsers, and operating systems.

<!--more-->

We did this a few years ago with the [State of Client-Side JavaScript Errors](/blog/the-state-of-client-side-javascript-errors/). It was quite useful, but very time consuming to produce. We haven’t had time to do it again since 2015, with all the other things we’ve been building.

But this time is different. We built the reports to calculate everything automatically. Our system calculates aggregate metrics and publishes them every week, and the [error statistics report](/global-stats/) parses out some numbers.

[![Global Error Statistics](https://trackjs.com/assets/images/blog/2019-11-04-global-javascript-error-statistics/global-errors.png)](/assets/images/blog/2019-11-04-global-javascript-error-statistics/global-errors.png)

We’ve been aggregating data since early September, so we don’t have a lot of history yet. But as we gather more, the report will become more useful. When you feel like the web is getting buggier, we’ll have objective data for you to reference.

The report also pulls data on the most common errors. I review that data and write summaries about the error, and why they happen. No surprise, the #1 error continues to be `Script Error`.

As patterns develop in the report, we’ll be writing a lot more about the global error data and what it means. If there is something you’d like to see, please [let us know!](mailto:hello@trackjs.com).
Being lazy: not bad after all
Tags: programming, loop, python
Published: 2019-11-03 19:58:51

It's common for a programmer to refer to himself/herself as being "lazy". This is because of a belief that "laziness" begets innovation.

For instance Imagine you are tasked to write  "I'm lazy" 3 times on the screen.

This can be achieved in Python  by  writing the following code:

print("I'm lazy") 
print("I'm lazy") 
print("I'm lazy") 

This is easy right. Well now what if you are asked to write this same sentence 1,000,000 (one million) times. Hahaa, I guess you will say this is punishment. 

A lazy programmer will find a way to get the work done with minimum effort.

Well once upon a time, there lived a "lazy" programmer who was faced with a similar problem then he invented a concept in programming called LOOP.

A loop is a programming structure that provide a way to repeat a piece of code until a certain condition is reached. In our case the condition is met after we write the sentence one million times.

Now let's use a LOOP to solve our problem. The code is as follows:

for counter in range(1000000):
  print("I'm lazy") 

...and that's all. The job is done! 

Incredible easy, isn't it? With 2 line of codes we are able to write "I'm lazy" one million times. How the LOOP  works is beyond the scope of this post. 

Computer was invented to automate our everyday "boring" repetitive tasks.

"Copy => paste" was invented because someone doesn't want to be writing the same thing over and over again.

TV remote was invented because someone was feeling "lazy" get up and change the channel over and over again.

Now you have it. The next time you find yourself feeling "lazy" about doing something, instead of complaining, you should rather start thinking about  how you can create a solution for the benefit of yourself and humanity.

“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” - Bill Gates : quotes.
4 Angular NgForOf Exported Values I Was Not Aware Of - first, last, even, and odd
Tags: angular, typescript, webdev
Published: 2019-11-04 08:21:00

---
title: 4 Angular NgForOf Exported Values I Was Not Aware Of - first, last, even, and odd
published: true
date: 2019-11-04 00:00:00 UTC
tags: Angular,typescript,webdev
canonical_url: https://www.leonelngande.com/4-angular-ngforof-exported-values-i-was-not-aware-of-first-last-even-and-odd/
---

Angular's [NgForOf](https://angular.io/api/common/NgForOf) provides exported values that can be aliased to local variables. Until today, I've only been aware of the `index` exported value, turns out there's [a couple more](https://angular.io/api/common/NgForOf#local-variables).

Four of them in particular are very applicable in my day-to-day usage of Angular: `first`, `last`, `even`, and `odd`.

* **first**

`first`, a boolean value, is true when the item is the first item in the iterable.

* **last**

`last`, a boolean value, is true when the item is the last item in the iterable.

* **even**

`even`, a boolean value, is true when the item has an even index in the iterable.

* **odd**

`odd`, a boolean value, is true when the item has an odd index in the iterable.

Not leaving out `index`, a number representing the index of the current item in the iterable.

Here's a usage example in which we alias the above five exported values to local variables:

```html
<li *ngFor="let user of users; index as i; first as isFirst; last as isLast; even as isEven; odd as isOdd">
  {{user}} <span *ngIf="isFirst">default</span>
</li>
```

And that's it 🙂, hope this is useful to you in some way.
Started to learn HTML/CSS, then JS, now I'm just overwhelmed. Please help.

Published: 2019-11-03 23:45:47

After learning the basics of the languages I listed above, I decided to try and expand my knowledge of web development. When I started doing my research I was just overwhelmed by the vast amount of.. Stuff.

Angular? Rust? SQL? PHP? Node? React? Bash? Ruby? What the fuck?

What are any of these? Where do I start? Why are there so many? What else am I missing? How can I possibly learn all of this? Seriously... what?

https://100001.onl/	https://1921681254.mx/