teleren/devto huggingface dataset:
What are your basic metrics for judging a website as a Product Manager or Developer?
Tags: discuss, freelance, developer, productivity
Published: 2020-02-11 04:06:43

---
title: What are your basic metrics for judging a website as a Product Manager or Developer?
published: true
description: 
tags: #discuss #freelance #developer #productivity
---

Every website development project has its requirements. A lot of times, these requirements come from the purpose of the website. 

That being said, there are some basic requirements we expect some web development projects to have as product managers or developers. These may include

- SEO friendliness
- Low time-to-first-byte (TTFB)
- Low time-to-first-interaction (TTFI)
- Accessibility

Others may include PWA, performance-related metrics and so on.

What are the basic standards you try to meet when you have a web development project (personal or contracted)?
What's new in iOS 13 SDK?

Tags: software, ios, developer, webdesigning
Published: 2020-02-11 03:58:43

What's new in iOS 13 SDK?

IOS 13 has at last been turned out to people in general, firmly followed by 13.1. I'm certain you'll be shipping your next application refreshes with it, on the whole, we should experience an agenda of basic things.
•	The PencilKit Framework has discharged with iOS 13. It permits engineers to effectively coordinate a drawing situation for hand-drawn substance by taking contribution from an Apple Pencil or client's fingers. 

•	On Device Speech Recognition utilizing SFSpeechRecognizer permits engineers to do stuff like disconnected translations, discourse investigation and significantly more. This would absolutely support Voice-based AI applications. 

•	The SwiftUI system has gotten the most eyeballs this year. It lets you assemble cool and imaginative UIs in a totally extraordinary manner. You should know about this except if you've been living under a stone. 

•	Combine is a Reactive Programming Framework. 

•	RealityKit structure is utilized to reenact and render 3D content effectively. Manufacture far better AR applications! 

•	Project Catalyst permits us to effortlessly port iOS applications to macOS. Simply tick the checkbox to include macOS as an objective. This should work in Mac OS 10.15 or more.
Absolute Paths in Svelte
Tags: svelte, javascript, tutorial, sapper
Published: 2020-02-11 03:52:28

In order to avoid lengthy relative path imports like this:

```javascript
import Component  from "../../../../components/Component.svelte";
```

Gross.

`@rollup/plugin-alias` to the rescue!

Start by installing it into dev dependencies:

`yarn add -D @rollup/plugin-alias`

Next, add the plugin into your rollup config.

Note: Make sure to add it to both server and client bundles if you're using SSR in Svelte.

```javascript
// rollup.config.js
import alias from '@rollup/plugin-alias';

const aliases = alias({
  resolve: ['.svelte', '.js'], //optional, by default this will just look for .js files or folders
  entries: [
    { find: 'components', replacement: 'src/components' },
    { find: 'metadata', replacement: 'src/metadata' },
    { find: 'util', replacement: 'src/util' },
  ]
});

...

export default {
  ...
  plugins: [
    aliases
  ]
  ...
}
```

Now we can do:

```javascript
import Component from "components/Component.svelte";
```

yay!
Stopping a runaway Rails server
Tags: rails, ruby, productivity, gems
Published: 2020-02-11 03:50:59

_Many of us have been there. You hit `ctrl-c` on you Ruby on Rails server, but nothing happens. No matter what keys you hit on your keyboard, the Rails server is still running, and you can't stop it. You have a runaway train on your hands._

## The Problem

If you have ever developed with Ruby on Rails, there is a good chance you have encountered a runaway Rails server. This is basically an instance of the Ruby on Rails server that you cannot easily stop. 

Two examples of when you may need this is if you try to start your Rails server and get an error message that one is already running, or you get into a weird state with pry and `ctrl-c` won't stop the server in a timely manner.

Regardless of how you got to this point isn't really important, you have a runaway train on your hands, and you need to stop it.

Here is how you can do that:

## Shutup

`shutup` is a gem to help you quickly stop a running Rails server.

To install the gem, make sure you have Ruby installed. 

Type the following into your command line:

```sh
gem install shutup
```

Now, whenever you have a Rails server you want to stop, just type the following in your command line to shut it down:

```sh
shutup
```

If the command succeeded, you should see something like this:

```sh
➜ shutup
Killed process id: 46707
```

If it fails, you will see:

```sh
➜ shutup
Error reading the pid file.
```

## Conclusion

You could achieve the same effect with Bash or ZSH aliases, or just running the entire process by hand, but this gem removes the need to do that. It's a simple gem, but it's one I install whenever I install a new version of Ruby. 

Check it out at: [lorenzosinisi/shutup](https://github.com/lorenzosinisi/shutup)

Happy coding!!
Stranger Things Intro
Tags: codepen
Published: 2020-02-11 03:49:28

<p>Source also available on Github, with more information: <a href="https://github.com/wbobeirne/stranger-things" target="_blank">https://github.com/wbobeirne/stranger-things</a></p>

{% codepen https://codepen.io/AntBravo/pen/JjddJjp %}
Slack vs MS Teams > Message Searching
Tags: msteams, slack, searching
Published: 2020-03-31 03:29:44

---
title: Slack vs MS Teams > Message Searching
published: true
date: 2020-02-11 03:36:19 UTC
tags: msteams, slack, searching
canonical_url: https://medium.com/tech-epic/slack-vs-ms-teams-message-searching-7ef60728eb1
---

#### Why don’t MS Teams apply **Truncation Search Algorithm?**

![](https://cdn-images-1.medium.com/max/1024/1*T7cVgWttbRTEGUYSlqBUkA.png)<figcaption><a href="https://tryshift.com/blog/apps-hub/microsoft-teams-vs-slack/">https://tryshift.com/blog/apps-hub/microsoft-teams-vs-slack/</a></figcaption>

### Search

> Both [MS Teams](https://teams.microsoft.com) and [Slack](https://slack.com) allows searching through all chat sessions, putting an end to the nightmare of trying to find one comment among thousands. If you’ve opted for the free version of [Slack](https://slack.com), however, the search function only applies to the 10,000 most recent messages.

> Microsoft’s WhoBot tool helps with search in [MS Teams](https://teams.microsoft.com). This search bot crawls your entire company intranet to surface the data you’re looking for. It also helps you access subject matter experts within your organization so you can find the best person for what you’re looking for.

Anyway Slack allows you to search through 10,000 most recent messages by using [Truncation Search Algorithm](https://libguides.mit.edu/c.php?g=175963&p=1158679) while [MS Teams](https://teams.microsoft.com) doesn’t allow this.

Example : I have a message “ReplySlack” in both Slack and MS Teams.

[**Slack**](https://slack.com) : try searching with “ReplyS\*” and found the message.

![](https://cdn-images-1.medium.com/max/1024/1*EHZQSEaoAf4nm37FMsuyRA.png)

[**MS Teams**](https://teams.microsoft.com) : try searching with “ReplyS\*” and can not found the message.

![](https://cdn-images-1.medium.com/max/1024/1*BF1Bt2GYb0jiXjyDUQP8JQ.png)

[**What is a wildcard?**](https://apus.libanswers.com/faq/2235)

[**Slack Review: Messaging, Calls, Integrations and Other Features**](https://www.chanty.com/blog/slack-review/)

* * *
ILIKE condition in Oracle SQL
Tags: ilike, oracle, sql
Published: 2021-05-24 12:55:57

---
title: ILIKE condition in Oracle SQL
published: true
date: 2020-02-11 03:32:19 UTC
tags: ilike,oracle,sql
canonical_url: https://medium.com/tech-epic/ilike-condition-in-oracle-sql-19fa27206bb
---

#### **Using Case Sensitivity (alternative to **ILIKE**)**

![](https://cdn-images-1.medium.com/max/1024/0*p8vpe38U5orn79a1)<figcaption>Photo by <a href="https://unsplash.com/@whiterainforest?utm_source=medium&amp;utm_medium=referral">White.RainForest ∙ 易雨白林.</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

### LIKE

The LIKE conditions specify a test involving pattern matching. Whereas the equality operator (=) exactly matches one character value to another, the LIKE conditions match a portion of one character value to another by searching the first value for the pattern specified by the second.

The following query finds the salaries of all employees with the name ‘SM%’. Oracle interprets ‘SM%’ as a text literal, rather than as a pattern, because it precedes the LIKE keyword:

```
SELECT salary 
    FROM employees 
    WHERE 'SM%' LIKE last\_name;
```

### ILIKE

There are noILIKEcondition in Oracle SQL, but you still can have alternative way to do it.

**Using Case Sensitivity (alternative to **ILIKE**)**

Case is significant in all conditions comparing character expressions that the LIKE condition and the equality (=) operators. You can use the UPPER function to perform a case-insensitive match, as in this condition:

```
UPPER(last\_name) LIKE 'SM%'
```

REF : [https://docs.oracle.com/cd/B13789\_01/server.101/b10759/conditions016.htm](https://docs.oracle.com/cd/B13789_01/server.101/b10759/conditions016.htm)

* * *
The Building an Indie Business Podcast- Interview with Brendan Weinstein
Tags: podcast
Published: 2020-02-11 03:21:58

In this episode you'll learn:
 why companies are staying private longer,
the realities of raising money,
insights into Product Hunt's NYC meetup,
and about income-sharing agreements

https://overcast.fm/+RG5jZfKnY
[Episode Page](https://baib-podcast.com)
[Revenue Research](https://revenueresearch.co/)
Find Brendan on Twitter [here](https://twitter.com/BMWeinstein7)
#helpmeout
Tags: helpmeout
Published: 2020-02-11 03:08:48

I developed a very simple queuing system using NodeJS for my server. It is connected to network so clients can connect and communicate through server. One problem I encounter is when clients call at same time, they get to call same number. One solution I have in mind is to make a queue on calling api route but don't know to do it. Can you help me out? please.
Conceitos de NodeJs
Published: 2020-02-11 02:52:04

NodeJs é uma plataforma backend utilizando a linguagem Javascript.
Desenvolvida em cima da V8, maquina que roda atrás do Chrome, utilizada para interpretar a linguagem Javascript no Chrome.

Quando se desenvolve com NodeJs você não tem interações com o usuário final, as únicas interações com o usuário são através das rotas.

NodeJs é feito em uma arquitetura event-loop. Isso quer dizer que ela é baseda em eventos, (na maioria das vezes são rotas).
Ela fica verificando as funções que foram adicionadas em um pilha, chamada call stack.
Need Help with The Final Project.
Tags: help, javascript, computerscience
Published: 2020-02-11 02:44:03

Hello Amazing Dev.

I want to get help from all of you related to the formulation of ideas or topics about my final project. In this final project, I want to implement a programming language or framework, especially on websites. 

I plan to do research on finding the fastest path in a certain area using certain algorithms or methods. But I am still lacking in the existing problems and focus of research. I hope to get feedback and ideas from all of you guys.

Thanks.
Don't Let ICANN Increase the Wholesale Domain Name Price
Tags: inclusion, startup
Published: 2020-02-11 01:28:57

ICANN is considering letting Verisign increase the wholesale costs of Domain Names by up to 70% over the next 10 year period. For me, Domain Names (especially .COM) are an easy way for anyone to build an online brand or business. While this price increase is negligible for a lot of people, this impacts entrepreneurs in developing nations looking to establish a brand for their online business.

Everyone should be angry and upset over this, as the continued corporatisation of the internet threatens it's openness and core foundations. Please, go and send an [Email to ICANN](mailto:comments-com-amendment-3-03jan20@icann.org).

I've written a letter to them already to encourage them to not proceed with this change that will limit innovation. It's below. For more information, see the [Namecheap Article](https://www.namecheap.com/blog/icann-allows-com-price-increases-gets-more-money/).

To Whom It May Concern

I am both a customer of the .COM domain system and a seller as a wholesaler through my Hosting Business.

The .COM domain name enjoys a de facto "default" status that encourages most new domain names to flow through to the .COM registrar, even after the introduction of the new gTLDs and country-specific TLDs. In the same way that the .ORG domain name should be managed and reserved for the enrichment of public organisations, .COM domain name should be made freely available to all people at a relatively cheap price. As we see an ever increasing amount of entrepreneurship, we see a massive decrease in the cost of compute; if anything we should see the wholesale prices for domain names lower. This should be done to make the internet more free and open, and encourage everyone to get domain names. I love domain names, and for me I would love it if domain names proliferated to the same extent as email addresses.

I make a note of ICANN's vision which is "To be a champion of the single, open, and globally interoperable Internet". I do not see how increasing the price of Domain Names, which will only increase the operating costs of small business and individuals and not affect incumbent players in all markets (which the price increase will not even be noticeable). This action is completely in opposition of this vision. Please also refer to one of ICANN's Strategic Goals: "Sustain and improve openness, inclusivity, accountability, and transparency". How are you making the system more inclusive if the cost of a .COM domain name is about eight times more than what one third of the world's population makes per day? If anything, ICANN should be focusing on reducing the wholesale .COM domain price to make it more open and available.

I wholeheartedly disagree with this move to make obtaining .COM domains harder. ICANN should reconsider this decision.

Regards,

Adam Hammond
Using JPQL on orm.xml file with Spring Data JPA
Tags: spring, jpa, repository, xml
Published: 2020-02-11 01:06:39

This is the post #5 of the series "Querying your Spring Data JPA Repository".

And this is a quick one.

# Remember our JPQL?

Yeah, what if for some reason you want to externalize the query to a XML file. Why, you ask? Well, I'm not sure. More on that at the end of this post.

# Just put it on a orm.xml file!

The file must be at `resources/META-INF/orm.xml`:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm"
        version="2.2">

    <named-query name="Restaurant.activeGrabngoByCity">
        <query>from Restaurant r where r.active = true and r.grabngo = true and r.city like concat('%', :city, '%')</query>
    </named-query>

    <!-- You can have more...
    <named-query name="Restaurant.otherMethodName">
        <query>from Restaurant where whatever ... </query>
    </named-query>
    -->

</entity-mappings>

```

As always, let's highlight some things:

- The `entity-mappings` tag must be exactly what you see here. Just copy and paste this part.
- The attribute `name` on the tag `named-query` specifies the method the query will relate to. Whenever the method is called this JPA query is executed.
- The query had to go over a small change, did you notice? We added a `concat` to form the last portion of the `where`clause. Without it an `unexpected token: %` error would be thrown.

You'd also have to change other things, like replace `<` with `&lt;` and `>` with `&gt;`, which is the way to use those characters in XML.

# The benefit

I can think of one benefit which is the ability to change the query without recompiling the application. This is questionable, though, but... well... it's possible.

To be honest here, there's way more you can do on this file related to persistence and JPA. In fact, you could configure everything JPA-related on this file and ditch annotations. Everybody, though, is moving out from XML-based configuration to Annotations-based configuration.

Yet, this is still something to learn, I believe. I just like how complicated things get over time, and this is one manifestation of this complexity.

# The example app

The working app is [here](https://jpa-queries-blog-post.herokuapp.com/) (wait for Heroku to load the app, it takes a few seconds on the free tier).

# Commits related to this post

There's only [this](https://github.com/brunodrugowick/jpa-queries-blog-post/commit/8548e75043ede44252d2c9514c6c12e7993b32a6) (and I promptly reverted afterwards).

{% github https://github.com/brunodrugowick/jpa-queries-blog-post no-readme %}
Angular Route Guards Simplified
Tags: angular, typescript
Published: 2020-02-11 00:33:38

Within Angular Routing, we can add a key (*canActivate*) to each route object as shown below.

```javascript
{
    path: "dialog",
    component: DialogComponent,
    canActivate: [canActivateService]
},
```
The Angular Router logic will first call the service we've named *canActivateService* to determine to proceed further. The *canActivateService* must implement the *CanActivate* interface.

**CanActivateService**

The *CanActivate* interface ensures a function named *canActivate* exists. The router calls the *canActivate* function prior to allowing the route to continue.  

```javascript
import { ActivatedRouteSnapshot, RouterStateSnapshot } from "@angular/router";
import { Injectable } from "@angular/core";
import { CanActivate } from "@angular/router";
import { RestangularService } from "./restangular.service";
import { EventService } from "./event.service";

@Injectable({
   providedIn: "root"
})
export class canActivateService implements CanActivate { 

constructor(private rs: RestangularService, private es: EventService) {}
   // returns a true or false promise
   canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
      return this.rs.getIdentityInfo();
   }
}
```

**Can Promises be used?**

In the code above, we are using a Restangular HTTP request (Observable) to get user info. We've wrapped it in a promise so that the canActivate function passes back a Promise<boolean> to the router. 

```javascript
   // returns a true or false promise
   getIdentityInfo(): Promise<boolean> {
      // Convert the observable to a promise.
      let prm = new Promise<boolean>((resolve, reject) => {
         // this is the observable
         this.Restangular.one(this.IDENTITYINFO)
            .get()
            .subscribe(
               result => {
                  this.EventService.IdentityInfoEvent.emit(result);
                  // resolve the promise
                  resolve(true);
               },
               error => {
                  // we take control on error showing an error
                  this.EventService.OpenError(ErrorModel.Create(error));
               }
            );
      });
      return prm;
   }
```
When we resolve the promise to true, the user is allowed to navigate, otherwise, and error is shown. 

We are easily able to add other criteria to the route guard, as we've neatly separated the code into following the [SRP principal](https://en.wikipedia.org/wiki/Single_responsibility_principle).

In the future we'll add canDeactivate which decides if the user can leave the page (in case they haven't saved their data). 

All told; a pretty simple and nice routing feature out-of-the-angular-box.

JWP2020
How to Check Django Version
Tags: django, python, linux, unix
Published: 2020-05-12 14:24:38

---
title: How to Check Django Version
published: true
date: 2020-02-11 00:00:00 UTC
tags: django, python, linux, unix
canonical_url: https://tech.serhatteker.com/post/2020-02/how-to-check-django-version/
---

You can use one of the below methods to check which version of Django you
installed:


1. Using python bin:

    ```bash
    $ python -m django --version
    3.0.5
    ```

2. Using `pip freeze`:

    ```bash
    $ pip freeze
    asgiref==3.2.7
    Django==3.0.5
    pytz==2020.1
    sqlparse==0.3.1
    ```

    This method gives you all python packages that you installed. To see only Django:

    ```bash
    $ pip freeze | grep Django
    Django==3.0.5
    ```

3. Using `pip show`:

    ```bash
    $ pip show django
    Name: Django
    Version: 3.0.5
    Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
    Home-page: https://www.djangoproject.com/
    Author: Django Software Foundation
    Author-email: foundation@djangoproject.com
    License: BSD
    Location: /home/serhat/tmp/django/.venv/lib/python3.8/site-packages
    Requires: pytz, asgiref, sqlparse
    Required-by:
    ```

4. Using `django` module itself:

    Open a python console:

    ```bash
    (.venv)  user@host $ python
    Python 3.8.1 (default, Feb 12 2020, 16:30:11)
    [GCC 7.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    ```

    then type:

    ```python
    >>> import django
    >>> django.VERSION
    (3, 0, 5, 'final', 0)
    ```

All done!
Why You Should Write Small Git Commits
Tags: technology, javascript, programming, softwareengineering
Published: 2020-02-12 21:32:27

---
title: Why You Should Write Small Git Commits
published: true
date: 2020-02-11 00:07:44 UTC
tags: technology,javascript,programming,software-engineering
canonical_url: 
---

[![](https://cdn-images-1.medium.com/max/2600/1*0rhFthwFYv_OD1jWBXRCAQ.jpeg)](https://medium.com/better-programming/why-you-should-write-small-git-commits-c9a042737aa6?source=rss-3a534b5053e6------2)

Small commits that are easy to understand are the backbone of great software development

[Continue reading on Better Programming »](https://medium.com/better-programming/why-you-should-write-small-git-commits-c9a042737aa6?source=rss-3a534b5053e6------2)
Roles in Data Science
Tags: datascience, machinelearning
Published: 2020-02-11 00:05:14

'Data Science' is an umbrella term that means many things. It's important to remember this is a science, and there are subspecialties that you can apply yourself in.

What is necessary when starting a data science project at a client is to ask, ‘What does data science mean at your company?’

**Data Analyst** 
Analyzes the data (ba dum tss). Uses any descriptive analytic methods to gather insights.

**Data Scientist**
Exploratory data analysis, able to extrapolate some prediction from the data using machine learning.

**Data Engineer** 
Data pipelines & ETL

**Machine Learning Scientist**
Designs new algorithms. ML/Stats/Math PhDs. Theoretical aspects of ML. Produces ML Academic papers.

**Machine Learning Engineer**
Focused on productionizing/implementing the techniques, packaged for other’s use. Can ingest an ML Academic paper.