teleren/devto huggingface dataset:
What are the modern examples of Embrace, Extend, and Extinguish?
Tags: discuss, microsoft, opensource, github
Published: 2022-01-24 09:40:20

Some time ago Microsoft was well known for their EEE strategy for overtaking the IT markets. Firstly they created a tool using open and popular standards, then created a proprietary extension which quickly gained popularity and finally used this extension to control all the market and extinguish their competitor.

Currently, I see nothing has changed in Microsoft and sometimes, you can still hear about open source anti-trust activities like removing at the last moment support for hot reloading from .NET https://github.com/dotnet/sdk/pull/22217 and locking conversation. Just because PR spread over the Internet they reverted commit.

In 2018 Slack chat moved from open source IRC and XMPP to their protocol making it difficult to swap messenger clients https://www.theregister.com/2018/03/09/slack_cuts_ties_to_irc_and_xmpp/ Anyone who wanted to stay with their ecosystem since then had to use their proprietary client.

Some developers are afraid of the recent activity of Microsoft in the IT toolchain: GitHub, NPM, Copilot, TypeScript, Codespaces, VS Online and so on. Most of these tools are open source at the ground level, but they contain proprietary code and every time we are using them we are helping Microsoft to centralize the industry.

What are others recent EEE examples you heard about?
Custom Route Files - Laravel
Tags: php, laravel, programming, beginners
Published: 2022-01-24 09:31:01

Sometimes we want to put our Route in a different file than the web.php file in order to be more organized. Today we will learn how to create a new Route file
- Create a new routes/static.php file (the name is arbitrary)
```php
// File routes/static.php
```
- Add a middleware stack to app/Http/Kernel.php
```php
// File app/Http/Kernel.php
 
    /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
 
        'api' => [
            // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
            'throttle:api',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
        //add
        'static' => [
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ], 
    ]; 
```
- Update app/Providers/RouteServiceProvider.php to load our new route file, and apply our new middleware stack
```php
// File app/Providers/RouteServiceProvider.php
     /**
     * Define your route model bindings, pattern filters, etc.
     *
     * @return void
     */
    public function boot()
    {
        $this->configureRateLimiting();
 
        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));
 
            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
            //add
            Route::middleware('static')
                ->namespace($this->namespace)
                ->group(base_path('routes/static.php'));
        }); 
    }
```
I hope you enjoyed the code and this method will help you in your future projects .
Is IOS app development hard?
Tags: iso, apple
Published: 2022-03-02 22:04:50

---
title: Is IOS app development hard?
published: true
date: 2022-01-24 07:33:42 UTC
tags: iso,apple
canonical_url: https://i-store.org
---

Well, having mastered Swift along with iOS App Development and thence having bagged a high-paying iOS App Development job fresh out of college at IBM(US $92,800), by showcasing to the recruiters my skills in iOS App Development by the means of my popular app published on the [Apple](https://i-store.org) App Store, I would state that iOS App Development in itself is pretty simple to acquire skills in and can be successfully mastered in a fairly short span of time, typically 3–4 months, when one devotes about three hours a day into learning and practicing the subject. However, there is a caveat.

As a beginner, much of the learner’s interest lies in the hands of the tutor and the manner in which the course is delivered to the learner. Inefficient coaching can pretty quickly lead to the learner losing interest in the subject. In worst cases, this can significantly alter the direction of one’s career.

Well, to master iOS App Development, I had left no stone unturned. I had learnt from plethora of courses, books, PDF material, etc., but I always used to hit a wall a few days into the learning. In most cases, I felt that the author/tutor was in a hurry to get to the end of the course and was not educating the rationale behind writing those pieces of code and assuming that one is well versed with the Swift programming environment. But, that is not the case with someone who is a beginner.


See, when it comes to mastering iOS App Development, the most productive way is to opt for an effective learning resource - the one that makes the learning curve linear and progresses on difficult topics only after providing enough insights and examples on the concepts, the one that considers that students are new to the domain and are not well adept with the iOS App Development environment, the one that provides in-course support in the form of solving the doubts the students might have in a concept or while solving practice problems.

In my learning journey, I came across several resources in which I found that while explaining a concept/solving programming questions, the author applies a logic that has not been taught yet. This leads the learner to skip to those sections of the tutorial where that particular topic is discussed. The concepts taught in those sections in turn apply logic that belongs to another concept, discussed in another part of the resource. Often, this is a repetitive cycle.

However, expertise in iOS App Development is a highly sought-after skills in today’s time and the candidates who possess such skills are highly preferred by recruiters for the reason that humans are increasingly becoming reliant on their mobile phones for almost every purpose - profession, entertainment, socialization, purchases, etc. For every such purpose, there exists an app that we tend to rely on, and this is the very industry almost ever business wants to tap the customers of.
A C++ algorithm to compute the coefficients of a function development in a spherical harmonics convergent series
Tags: cpp, programming, computerscience, algorithms
Published: 2022-01-24 09:23:19

Hi guys, I am particle physics PhD student passionate about coding. I like to implement small physical and mathematical models in different programming languages, in order to train myself. 

Now I want to show you a small project I recently finished, in which I performed a C++ main algorithm to compute the coefficients of a function development in a spherical harmonics convergent series.

All the algorithms (included integrals and derivatives) have been created from scratch (in fact the derivative doesn't work 100% well at higher orders, lol).
Hope you like it and if you have suggestions about how to improve it let me know (don't forget to leave a star on GitHub, thanks).

GitHub repository: https://github.com/JustWhit3/SAFD-algorithm
Modifying Expectations
Published: 2022-01-24 09:07:52


Hi everyone!

In today's blog post I will be talking about all the progress I made over the past weeks, the hurdles I encountered and how my current progress has differed from what was planned originally.

Midway into my internship, I can gladly say that I have accomplished several milestones with my project. Over the past seven weeks there has been immense learning involved. Looking back at myself before the project I can see how much experience and improvement  I have gathered. 
&nbsp;
<img width="100%" style="width:100%" src="https://media.giphy.com/media/xT5LMHxhOfscxPfIfm/giphy.gif">
&nbsp;
## Project Milestone  

Back in November, when I applied for the KCIDB project I submitted a project timeline, to serve as a road map through my internship period. The timeline was reviewed by my mentor and he made some changes to make the process more realistic. 

I spent a week familiarising myself with the project, to understand how KCIDB and its tools works and I closed a pull request I did not complete during my contribution phase. 

For the remaining six weeks, I have been following the timeline with my mentor. Although we had to reprioritise the tasks and my mentor added some tasks for me to work on.

So far I have worked on :

- Improving the CI/CD pipeline 

- Added test to the project

- Updated the notification flow of the system 

- Learnt how Google cloud platform works, wrote test to monitor cloud functions, Pub/Sub topics, Schedulers, Firestore and BigQuery database deployment

## Roadblocks
&nbsp;
<img width="100%" style="width:100%" src="https://media.giphy.com/media/3orifa811IlFG0hgQM/giphy.gif">
&nbsp;
Some task took longer than expected. Working on the notification task was slightly challenging at first. It was necessary for me to understand how the project works, so as not to break any existing feature. I have discussed the struggles I faced in this [blog-post](https://dev.to/maryam/everybody-struggles-1f0m). 

These roadblocks delayed my progress. As I had to manually test my updates and was not sure what to check out for. Over this entire time, my mentor was very supportive of me.


## The road further
The goal of the next half of my internship would be to add new features to KCIDB and write more tests to support the system.

I am immensely grateful to my mentor and the KernelCI community for being an integral part of my learning experience.
JS Definitive Guide Ch. 2
Published: 2022-01-24 09:06:15

Chapter 2: Lexical Structure:

JS ignores spaces and for the most part ignores line breaks. This allows us to format code easily in a readable way.

Variables can be declared starting with a letter, - or $.

There are a few reserved keywords that should be avoided.
I did not know that you can declare a variable called let using var in the global scope, mindblown!

You can use unicode escape characters. However, it is important to normalize them if used in declaring a variable because you might otherwise have two indistinguishable variables.

Semi colons do not have to be used but if not... there can be some weird interpretations.

Certain statements always invoke semi colon behaviour:
1. return, break, continue (needs to be on same line as what returning)
2. ++ (needs to be on same line as its variable)
3. arrow (needs to be on the same line as the parameter list)
Best Learning Path to Master NextJS
Tags: javascript, webdev, react, nextjs
Published: 2022-01-24 09:00:35

Hello a Begineer Here. Trying to learn NextJS after learning a bit of React. If you are a NextJS Developer, can you please guide me towards your best way to mastering Next? As a NextJS developer what mistakes did you make at the beginning learning phase? What should I mostly focus on, what should I avoid as a begineer? What learning resources do you suggest? Currently I am going through Fireship's Next-Firebase course. I find it great. What else should I do?
JS Definitive Guide Ch. 1
Published: 2022-01-24 08:57:41

As I enjoy this book I will leave quick reviews for each chapter, hopefully sharing a bit of my thoughts 🚀🚀🚀

### Ch. 1 Introduction to Javascript

His comment syntax is cool explaining:
=> the statement returns something
! the statement throws an exception
== means reassignment of the variable after the statement

Even cooler the tests for this book run off that comment syntax

?. Conditional operator returns undefined if it could not access that property.

Functions are declared whereas methods are accessed on the object.
An AWSome open source project to create a S3 explorer for AWS
Tags: aws, opensource, s3
Published: 2022-01-24 08:55:43

**<u>Notification 1 :</u>** All code related to this blog post can be found at :

https://github.com/awslabs/aws-js-s3-explorer/tree/v2-alpha

## **<u>How did I discover this gem?</u>**

Recently , while working on a personal project , I had to come up with some sort of a S3 explorer UI . It was a small part of a bigger thing I was doing , and I wanted to let my users use my web console to navigate S3 buckets they have access to and perform read operations . While there are a number of standalone third party S3 explorers available on the web , I wanted something that would seamlessly integrate with my webpage , and preferably written in JS.

The other option was me having to write a lot of code to come up with a solution that is not the selling point/ core intention of my project anyway . In these cases , I always try to find open source solutions readily available on the market that can be integrated into my app . Saves the trouble of developing , and testing a isolated section of the app.

While searching I found this app at https://github.com/awslabs/aws-js-s3-explorer

## **<u>So , what can we do with it ?</u>**

The readme section of the git repo is wonderfully written by the author and will get you started in a few minutes .

"**AWS JavaScript S3 Explorer (v2 alpha) is a JavaScript application that uses AWS's JavaScript SDK and S3 APIs to make the contents of an S3 bucket easy to browse via a web browser. We've created this to enable easier sharing and management of objects and data in Amazon S3.**" - From the author's readme page

However , there is one thing I would like to point out . There are 2 separate branches in the git repo for 2 different projects . Quite similar , by the alpha-v2 branch is the one I am talking about as that suited my use-case better .

In the alpha-v2 version , support for private buckets and upload/delete of s3 objects are supported.

## **<u>Ok , so where to go from here?</u>**

The project simply consists of a html page , a js file and a css file . This can be easily integrated into any existing projects and customised as per the needs of the developer . For example , in my case I don't even want the user to see the upload/delete buttons . So , I will simply make the necessary changes .

It is powered by an Open Source license so feel free to code away.

Do let me know if you find a better alternative or tell me how exactly you customized the app for your use-cases.
Printing my name Riyas using Star *
Published: 2022-01-24 08:23:09

```
public class Main
{
	public static void main(String[] args) {
	  System.out.println("*****");
	   for(int i=0;i<3;i++)
	   {
	       System.out.print("*");
	       for(int j=0;j<3;j++)
	       {
	           System.out.print(" ");
	       }
	       System.out.print("*");
	       System.out.println("");
	   }
	   System.out.println("*****");
	   for(int i=0;i<5;i++)
	   {
	       System.out.print("*");
	       for(int j=0;j<i;j++)
	       {
	           System.out.print(" ");
	       }
	       System.out.print("*");
	       System.out.println("");
	   }
	   System.out.println("");
	   for(int i=0;i<5;i++)
	   {
	       System.out.println("*");
	   }
	   System.out.println(" ");
	   for(int i=0;i<5;i++)
	   {
	     for(int j=0;j<i;j++)
	     {
	         System.out.print(" ");
	     }
	     System.out.print("*");
	     for(int k=0;k<5-i;k++)
	     {
	         System.out.print(" ");
	     }https://www.onlinegdb.com/online_java_compiler#debug_window_display_expression
	     System.out.print("*");
	     System.out.println(" ");
	   }
	   for(int i=0;i<5;i++)
	   {
	       for(int j=0;j<5;j++)
	       {
	           System.out.print(" ");
	       }
	       System.out.print(" *");
	       System.out.println(" ");
	   }
System.out.println("");
for(int i=0;i<5;i++)
{
    for(int j=0;j<5-i;j++)
    {
        System.out.print(" ");
    }
    System.out.print("*");
    for(int k=0;k<i;k++)
    {
         if(i==2)
    {
        System.out.print("**");
        break;
    }
        System.out.print(" ");
    }
   
    System.out.print("*");
    System.out.println("");
}
System.out.println("");
System.out.print("*****");
for(int i=0;i<5;i++)
{
    System.out.println("*");
}
System.out.print("******");
System.out.println("");
for(int i=0;i<5;i++)
{
  for(int j=0;j<5;j++)
  {
      System.out.print(" ");
  }
  System.out.print("*");
  System.out.println(" ");
}
System.out.println("******");
	}
}

```
Como usar o .env?
Tags: beginners, npm, tutorial, javascript
Published: 2022-01-24 08:22:38


## Why
Quando você precisa guardar informações como hash de senha de banco de dados, host ou portas de alguma aplicação e você precisa pública isso em um site de hospedagem de código-fonte e arquivos com controle de versão, por exemplo, o GitHub. Nesse caso, ficará exposto e todos terão acesso as suas informações confidenciais. Pra isso, o gerenciador de variáveis de ambiente **dotenv**, juntamente com o `.gitignore`, chegam dando um abraço e acolhendo suas informações, deixando informações confidenciais protegidas.

## How

Ao criar um arquivo package.json, digitando um `npm init -y` no terminal, você terá um arquivo simples. Aproveita e já cria um script simples também pra auxiliar iniciar a página inicial do projeto, ao qual criei com o nome de index.js `"start: node index"`.

Em seguida, vamos instalar o dotenv!

No mesmo terminal, digita `npm i dotenv` pra instalar, você verá que é bem rápido e aparecerá na dependência do seu package.json com a versão que foi instalada.

![O script pra iniciar e a dependência instalada](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovgp29dqmdt1hc4zfcr3.png)

**Tudo pronto e instalado!**

Agora, dentro mesma pasta principal, cria um arquivo chamado `.env` e pra testarmos uma variável de ambiente qualquer, colocamos `TESTE=deixaOLikeECompartilhaEssePost`. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gucbvomca0x1xzx52ouf.png)
 
Em seguida, vai no arquivo principal(o nosso que criei foi `index.js`) e escreve `require('dotenv').config()` no cabeçalho do arquivo, assim que iniciar o projeto, ele já executará.

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

Rodando um `node index` pelo terminal, aparecerá a variável de ambiente que está guardada em um arquivo .env, conforme configuramos.

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

Assim, caso queira publicar algum projeto que tenha informações confidenciais em alguma variável de ambiente em um repositório no GitHub, podemos criar um `.gitignore` e colocar as variáveis de ambiente dentro de um arquivo dotenv e postar, pois o git ignore esconderá.

![Exemplo de variáveis de ambiente dentro de um arquivo .gitignore](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8q42mysrwfbkkyvu1j3y.png)
Striver's SDE Sheet Journey - #17 Grid Unique Paths
Tags: programming, beginners, java, computerscience
Published: 2022-01-24 08:11:59

> **<u>Problem Statement</u> :-**

_Given a matrix m X n, count paths from left-top to the right bottom of a matrix with the constraints that from each cell you can either only move to the rightward direction or the downward direction._

> Example


**Input** :  ` m = 2, n= 2`

**Result** : `2`

##  <u>Solution 1</u>
_by using recursive call for the downward and rightward direction. by doing that we can able to find out all the possible paths_

**step-1** in the 2D matrix, we first start at (0,0), and then we make two recursive calls in the direction of the bottom & right to reach the destination.

```
      (0,0)
     /     \
  (1,0)   (0,1)

```


**step-2** when the recursive call goes out of the boundary of the matrix, we will simply return 0.

in the 2x2 matrix, path (2,0) is out of boundary.

```
      (0,0)
     /     \
  (1,0)   (0,1)
  /
(2,0) -> return 0

```

**step-3** when the recursive call reaches the destination or end of the matrix, we will return 1.

```
          (0,0)
         /     \
      (1,0)   (0,1)
     /   \
 (2,0)   (1,1) -> return 1


```

**step-4** we will sum the result from left & right recursive call and return the ans.

**step-5** to avoid recomputing, we will use another matrix to store the result of the recursive call for future use.
whenever we found the same sub-problem, we simply return the result from the matrix instead of recomputing.


see the java implementation

## Java

```java
class Solution {
    public int uniquePaths(int m, int n) {
        
        int totalPaths = 0;
        int[][] dp = new int[m][n];
        
        for(int i=0; i<m; i++) Arrays.fill(dp[i],-1);
        
        totalPaths = findPaths(m,n,0,0,dp);
        
        return totalPaths;
   
        
    }
    
    private int findPaths(int m,int n,int i,int j,int[][] dp){
        
        if(i == m-1 && j == n-1) return 1;
        
        if(i >= m || j >= n) return 0;
        
        if(dp[i][j] != -1) return dp[i][j];
        
        return dp[i][j] = findPaths(m,n,i+1,j,dp) + findPaths(m,n,i,j+1,dp);
        
    }
}
```
EmoniNail – Negative Side Effects or Legit Fungus Relief?
Published: 2022-01-24 08:10:04

That isn't frequent. That is an outcome proven time and time again. Occasionally you have to say take this job and shove it. My EmoniNail is always OK, but your [EmoniNail ](https://ipsnews.net/business/2021/12/16/emoninail-nail-fungus-treatment-really-effective-or-waste-of-money/)Reviews doesn't make or break you. Truly, I'm giving away my EmoniNail Reviews secret. We're going to lose sleep over using it. Like gals always say, "Discretion is the better part of valor." 

I believe in banding together to beat the odds. Even so, easy come, easy go. I wouldn't want you to wager your EmoniNail Reviews when that was heard on TV recently. How do you avoid it? By what means do laypersons achieve moderately priced EmoniNail Reviews pointers? This gives you better odds to have a better EmoniNail Reviews. By doing this, always remember to match your abilities to the needed game plans for that activity. 

Click Here=> [https://ipsnews.net/business/2021/12/16/emoninail-nail-fungus-treatment-really-effective-or-waste-of-money/](https://ipsnews.net/business/2021/12/16/emoninail-nail-fungus-treatment-really-effective-or-waste-of-money/)
Enjoy Programming-Themed Humor? Here's today's daily developer joke!
Tags: jokes, dailydeveloperjokes
Published: 2022-01-24 08:00:07

---
title: "Enjoy Programming-Themed Humor? Here's today's daily developer joke!"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e125997196ca.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q___: Why are keyboards always working so hard?

___A___: Cause they have two shifts!
 -->