teleren/devto huggingface dataset:
Impact new keynotes, sponsors & trade show
Tags: meteor, hacktoberfest, conference, javascript
Published: 2022-09-14 12:07:19

Impact is quickly approaching and with that we have more announcements to share!

# Keynotes


![Alim Gafar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/phbkiosldtv1oanzk6bd.png)
## Alim Gafar
Alim is most recently known as _Vice President of Strategy & Community Growth_ at Meteor Software, but he has a long history with Meteor as being the main organizer of the Meteor NYC meetups among other involvement. For Impact, Alim will [speak about building up the Ambassador program](https://impact.meteor.com/meetings/virtual/vD5gz3HtED5tutSJz) and what is next.


![Gabriel Engel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3epkvxo1k4fzd5gh7my.png)
## Gabriel Engel
Gabriel is the founder and CEO fo Rocket.chat, first major Meteor FOSS projects. He will give a [keynote](https://impact.meteor.com/meetings/virtual/ooefhCSHHzah5op5d) about how Rocket.chat has grown with Meteor over the seven years since it was originally conceived in 2015.

# New Gold sponsor


![Vazco logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l0xwju2iiyv3x8830jll.png)
## Vazco
If you have been around Meteor for while you have no doubt heard about [Vazco](https://vazco.eu/). The Polish company that builds amazing products with Meteor and gives back to the community. Vazco is back this year as a Gold sponsor of Impact.

# Trade show
Finally the last addition that I will talk about in this post are trade shows. In many conferences there are some sorts of area where vendors, sponsors or sellers get to setup their booth and interact with the attendees, be it to sell their wares, scout for talent or spread awareness for their project. At Impact we will be doing two virtual [trade shows](https://impact.meteor.com/trade-show/organizations).
One on Thursday and one on Friday where attendees can visit the booths of companies and interact with company representatives. Following that there will be period of 4 hours for additional one on one meetings.

--------

That is it for today! Stay tuned for more updates soon!

In the meantime, there is still time to [host a talk at Impact](https://impact.meteor.com/host-a-talk) or have your company [become a sponsor](https://impact.meteor.com/sponsor)!

In any case, you should definitely [sign-up for Impact](https://impact.meteor.com/sign-up)!

--------
If you like my work, please support me on [GitHub Sponsors ❤️](https://github.com/sponsors/StorytellerCZ).
Mobile App Development Company India
Tags: mobile, appdevelop, india, developers
Published: 2022-09-14 12:01:33

We have a proven track record of delivering world-class apps to a diverse range of industries. We are a full-service design and development studio, and as such, we supply our clients with amazing apps that adhere to industry best practices. Our priority is not only completing a project but rather creating solutions that accomplish the required results.

Our team creates unique experiences for every one of our clients in order to engage with them and drive meaningful results.  **[Experienced app developers in India](https://www.indiaappdeveloper.com/services/hire-android-app-developers/)** with a focus on cutting-edge techniques. We design amazing mobile applications that your clients will enjoy and will help your business grow.

## Our Mobile App Development India offers various benefits.

A mobile app can do wonders for your company. App creation isn't rocket science, but it's not easy. A reliable app requires innovation and tech ability. India App Developer focuses on digital solutions rather than old techniques. We mix cutting-edge technology, unique thinking, and top-tier talent to create world-class apps. Hire App Developers if you think an Android and iOS app could be a game-changer for your organization. We've gained the trust of clients throughout the world as a **[Mobile App Development India](https://www.indiaappdeveloper.com/)** with years of experience. This includes the US, UK, Germany, and other European countries. Our clientele loves our high-quality apps.

Effective business software begins with a solid foundation, which we build by incorporating careful design and a simple user experience into our mobile app development process. We also understand technology advancements and market trends in our sector.
SPO600 Lab 1: Open source contribution and how they work.
Published: 2022-09-14 05:49:20

Two open-source software packages I know of are **jQuery** (MIT Licensed) and **VLC Media Player** (GNU General Public License).

jQuery uses **Source Code Management system** (distributed version control) for a master version. The project is hosted on Git and contributors can use GitHub to use contribute to the software. 
The steps for any patch are:

1. Filing an issue (with proper description).

2. If you want to contribute to the issue, you filed or any other issue you can create a fork. Fork is type of a copy of the repository you can work on.

3. Once you have made the necessary changes you can submit a pull request.

4. The pull request will be reviewed by people responsible for maintaining the repository (software code).

5. Once the contributor is sure that your change will not cause any bug in the software he/she will approve your pull request.

6. If you are contributing on a repository for a long period you should sync your fork with the current version of the repository.

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



The Issue: https://github.com/jquery/jquery/issues/4859

This is the pull requested submitted for the issue. This is shown in the same page.

GNU has a different process for contribution:

Each patch can be made if you submit a email for the patch.

Each patch has some requirements.

A description of the problem/bug and how your patch addresses it.

For new features a description of the feature and your implementation. For bugs a description of what was wrong with the existing code, and a reference to any previous bug report (in the GCC bug tracker) and any existing testcases for the problem in the GCC testsuite.

Testcases

If you cannot follow the recommendations of the GCC coding conventions about testcases, you should include a justification for why adequate testcases cannot be added.

ChangeLog

A ChangeLog entry as plaintext; see the GCC coding conventions and GNU Coding Standards for further information.

The git gcc-commit-mklog command from gcc-git-customization.sh (see here) automates a lot of ChangeLog generation.

Bootstrapping and testing

State the host and target combinations you used to do proper testing as described above, and the results of your testing.

The patch itself

Do not include generated files as part of the patch, just mention them in the ChangeLog (e.g., "* configure: Regenerate.").

My opinion on both contribution process.

I think the method used by jQuery contributors is more effective as the many contributors can work on the repository at the same time. The system used by GNU is not as much effective as not many contributors can work on the same issue on the same time.
The Hacker’s Tribute Vol. 94: Develop. Revisit. Repeat.
Tags: hackers, programming, cyberspace, software
Published: 2022-09-14 11:31:37

Welcome to the **most infamous tech publication in the world**, focusing on development, new and improved technologies, and occasionally social issues. 

This week's **Hacker's Tribute** is all about the Lenovo's virtual monitor for your face and the new USB generation, **almost called USB 5**. Plus, you'll get a glimpse into the folksy use of software and VM-based cloning environments for your code. 


The most recent revelations from our Editor-in-Chief **Dan "the Man" Kowalski** are out of this world. See for yourself: [The Hacker’s Tribute Vol. 94: Develop. Revisit. Repeat.](https://softwarehut.com/blog/tech/the-hackers-tribute-vol-94)
1457. Pseudo-Palindromic Paths in a Binary Tree
Tags: algorithms, cpp
Published: 2022-09-14 10:58:27

# Description

Given a binary tree where node values are digits from 1 to 9. A path in the binary tree is said to be **pseudo-palindromic** if at least one permutation of the node values in the path is a palindrome.

*Return the number of **pseudo-palindromic** paths going from the root node to leaf nodes.*

## Example 1:

![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5234bbfb-d1c2-47a2-bf7a-704c120339b7/Untitled.png)

```
Input: root = [2,3,1,3,1,null,1]
Output: 2 
Explanation: The figure above represents the given binary tree. There are three paths going from the root node to leaf nodes: the red path [2,3,3], the green path [2,1,1], and the path [2,3,1]. Among these paths only red path and green path are pseudo-palindromic paths since the red path [2,3,3] can be rearranged in [3,2,3] (palindrome) and the green path [2,1,1] can be rearranged in [1,2,1] (palindrome).
```

## Example 2:

![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9ea78e74-0d51-4a73-af0d-c3957ac3a383/Untitled.png)

```
Input: root = [2,1,1,1,3,null,null,null,null,null,1]
Output: 1 
Explanation: The figure above represents the given binary tree. There are three paths going from the root node to leaf nodes: the green path [2,1,1], the path [2,1,3,1], and the path [2,1]. Among these paths only the green path is pseudo-palindromic since [2,1,1] can be rearranged in [1,2,1] (palindrome).
```

## Example 3:

```
Input: root = [9]
Output: 1
```

## Constraints:

- The number of nodes in the tree is in the range `[1, 105]`.
- `1 <= Node.val <= 9`

---

# Solutions

## Solution 1

### Intuition

### Code

```cpp
class Solution {
private:
    int res = 0;
    void dfs(int mask, TreeNode* node) {
        if (!node) return;
        mask ^= 1 << node->val;
        dfs(mask, node->left);
        dfs(mask, node->right);
        if (!node->left && !node->right) {
            if (mask == 0 || (mask & (mask - 1)) == 0) res++;
        }
    }
public:
    int pseudoPalindromicPaths(TreeNode* root) {
        dfs(0, root);
        return res;
    }
};
```

### Complexity

- Time: O(n)
- Space: O(h)
GitHub Actions in practice: a bit of LiveChat experience
Tags: github
Published: 2022-09-14 10:54:07

### Back in 2018, GitHub introduced a new feature called GitHub Actions. At the very beginning, it served as a useful tool for orchestrating workflows. Based on events, one could perform various effects on GitHub. Over time, the project grew and started to provide more and more possibilities; for example, continuous integration and continuous delivery (CI/CD).

Recently, we created a short introduction to GitHub Actions on our developers blog – [check it out!](https://developers.livechat.com/updates/github-actions/?utm_source=dev.to&utm_medium=referral&utm_campaign=github_actions)

We also share there a bit of our experience with them – for the first time, we used Actions to solve the problem of broken links in our documentation. The code sample that we used is also attached; we hope that it would be useful! 😎
Deno + Lit
Tags: deno, typescript, lit, webdev
Published: 2022-09-14 10:45:28

https://github.com/mindon/deno.lit-and-mw3.demo
![Packup for Web](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k41enkvg0wia2g0eiupm.PNG)
Laravel/Cypress Google SSO Test
Tags: laravel, googlesso, cypress, tutorial
Published: 2022-09-14 10:28:21

This is a working Google SSO Cypress Test. Your mileage may vary.

```
describe('Login', () => {
    it('Login through Google', () => {
        const username = Cypress.env('googleSocialLoginUsername')
        alert(username)
        const password = Cypress.env('googleSocialLoginPassword')
        const loginUrl = Cypress.env('loginUrl')
        const cookieName = Cypress.env('cookieName')
        const socialLoginOptions = {
            username: username,
            password: password,
            loginUrl: loginUrl,
            headless: true,
            logs: false,
            loginSelector: '[href="http://127.0.0.1:8000/auth/google"]',
            postLoginSelector: '.bg-scholarpath-500'
        }

        return cy.task('GoogleSocialLogin', socialLoginOptions).then(({cookies}) => {
            cy.clearCookies()

            const cookie = cookies.filter(cookie => cookie.name === cookieName).pop()
            if (cookie) {
                cy.setCookie(cookie.name, cookie.value, {
                    domain: cookie.domain,
                    expiry: cookie.expires,
                    httpOnly: cookie.httpOnly,
                    path: cookie.path,
                    secure: cookie.secure
                })

                Cypress.Cookies.defaults({
                    preserve: cookieName
                })
            }
        })
    })
})

```
Note: the following 2 lines are critical:

```
loginSelector: '[href="http://127.0.0.1:8000/auth/google"]',
postLoginSelector: '.bg-somestyle-500'
```
Make sure this url matches the url for your google auth route.
Also, _postLoginSelector_ is a class on your "Log in with Google" button. 

You will also need the following plugin:

[cypress-social-logins](https://www.npmjs.com/package/cypress-social-logins)

Add the following to your plugins/index.js file:

```
const {GoogleSocialLogin} = require('cypress-social-logins').plugins

module.exports = (on, config) => {
    on('task', {
        GoogleSocialLogin: GoogleSocialLogin
    })
}

```

That's it! Now try to run it:

`npx cypress open `
New note format!
Tags: beginners, devjournal
Published: 2022-09-13 23:30:19

Synopsis: Well, we had our first class in which expectations were set, and resources were given. Knowing what I know about the course now, I need a new note format. Each number will be a separate post, and contain the bullets that follow it:

Each week's roadmap contains many topics, and each topic will get its own post, covering all the topic's sections. To protect both any future student's educational integrity, and to preserve the rights of the course, these posts will be saved as drafts only, and not published. The projects however will be discussed openly. To help you, I'll share my best method I could think of for my journaling. I'll update this as I make changes as well.

Subject Title.00X (to keep repeated titles in order)
1. Topic
 - Section #1
 - Section #2...Etc...
 - Thoughts about what was learned.
  +Likes and Dislikes
  +Possible uses/applications of the learned material
  +Where have I seen this before? (if applicable)

First class summary

The above note format will be for material. The first class didn't cover material we're learning, so I won't be following the new format for this post. Instead, I'll go over what I did to prepare myself. Maybe it can help you too!

1. Part of the expectations is that I need to devote at least 20-25 hours a week to learning on my own, and that class is to discuss what we learned, not to be taught from scratch. I knew that's what it takes to make this career change, and I am completely committed. So, the first thing I did was make a calendar to budget my time according to their guidelines. I have 4 hours of study time every 6 days, with one day of rest. I have remote class 2 times a week, and in-person class once a week. Sundays are my chosen free day, and oh-me-oh-my am I gonna make the most of them! 😁
2. The second thing I did was set expectations with my household so that I can have the dedicated time I need.
3. The third and final thing I did was to inform work that my schedule would need to change in order to accommodate the class and study time. 

I'm ready!!
Primitive Data Types in JavaScript
Tags: javascript, beginners, tutorial, webdev
Published: 2022-09-14 10:06:42

{%embed https://www.youtube.com/watch?v=rlouM9YzFCQ&t=4s %}
## What is a primitive type?

Data can come in all shapes and sizes. We use the term data type to specify the type of a specific value.

In our everyday language use, we differentiate between letters and numbers and usually, we will use them for different purposes. In programming, it is no different. We call the most basic data types primitives.

The main features of a primitive data type are:

- It is not an object (a collection of keys and values)

- It does not have its own methods (property of an object which is a function)

- It is immutable (it cannot be changed and is read-only).

## The primitive data types in JavaScript

The primitive data types in JavaScript are:

- Number
- Boolean
- String
- Null
- Undefined
- Symbol
- BigInt
Let's briefly take a look at each of these types!

## Number
In JavaScript, there is only one type of number and this can be any numerical value with or without decimals. We can use whole numbers, positive numbers and negative numbers. We can also use decimals (also known as floating-point values).

```
50
//Whole number
1
//Positive number
-1
//Negative number
0.1
//Decimal
```

## Boolean
One of two values true or false (Not wrapped in quotes). A bit like saying yes or no.

```
true
false
```

## String
The string data type refers to any set of characters wrapped inside single or double-quotes. The following would both be examples of strings:

```
"I am a string";
'I am a string';
```

## Null
Represents nothing or a nonvalue but often this is intentionally set. You could create a variable and intentionally set the value of the variable to null. For example:
`let myEmptyVariable = null;
`

## Undefined
Undefined also represents no value. As opposed to null, variables that are defined with no value or variables which have not been declared (created at all) will be given the value of undefined.

```
let a;
console.log(a);
// ---> Returns undefined
```

Undefined is often given to us in the form of an error. Functions will return undefined if no return value is set.

## Symbol
Symbols were introduced in the ES6 version of JavaScript. They are unique identifiers that cannot be mutated and can be created using the function Symbol().

```
const firstSymbol = Symbol();
const secondSymbol = Symbol();
console.log(firstSymbol === secondSymbol);
// ---> Returns false
```

## BigInt
Useful for representing large numerical values, Specifically those over 15 digits long. You can create this by placing n at the end of a literal number. It can also be created by using the BigInt constructor and passing the value into the parameters.

```
const ourInteger = 1118998854361892n;
const ourSecondInteger = BigInt(1118998854361892);
console.log(ourSecondInteger);
// ---> Returns 1118998854361892n

```
Please feel free to post any comments, questions or feedback!
eCommerce Development Services - What They Are, How To Find Them, And Which Ones To Choose
Tags: ecommercedevelopment, ecommercedevelopmentservices, ecommercebusiness, business
Published: 2022-09-14 10:03:12

E-commerce development services include all aspects of building an online store, from designing the layout to programming the back-end. These services can help businesses grow by offering a complete package that includes everything needed to launch and maintain an online presence.

## Design
There are two main categories of eCommerce development services: design and programming. A designer creates the visual elements of an online store, while a programmer builds the back-end functionality. Both are necessary to make an online store function properly.

## Programming
If you need a website designed, then you should consider hiring a web developer. Web developers specialize in creating websites using HTML, CSS, JavaScript, and other technologies. They also use various tools such as Adobe Photoshop, Illustrator, Dreamweaver, and InDesign to create designs.

If you need a website program, then you should consider outsourcing the work to a web development company. These companies typically offer both design and programming services.

## Hosting
A self-hosted site is better one that you host yourself. This means that you install the software and maintain it yourself. You will need to purchase hosting space and pay monthly fees to keep the site online.

A hosted website is maintained by an outside party. You simply upload your files and let them do the rest. There are several different types of hosting plans available, each with varying features and costs.

## Payment Processing
If you choose to go with a third-party payment processor, you will need to provide them with sensitive financial data such as credit card numbers and bank account details. These companies also charge transaction fees.

If you decide to use a self-hosted solution, you will need to set up a web server and manage the security of your website. Self-hosted solutions are typically less expensive than hosted options but require more technical knowledge.

## Marketing
There are two main ways to market an eCommerce store: marketing and sales. Marketing involves advertising your products and services to potential customers. This includes things like social media posts, email campaigns, and search engine optimization (SEO). On the other hand, sales involve selling your products and services to people who are interested in buying them.

## Final Words
The right [eCommerce web design company](https://www.weblineindia.com/ecommerce-development.html) offers an engaging shopping experience that is valuable to the customer. If you hire the right eCommerce development services, it will help you to scale up your business faster and avoid many hassles. We at WeblineIndia have been in business for more than two decades serving clients with utmost dedication.
Bricolage - Doing the Best with What you Have
Tags: philosophy, bricolage
Published: 2022-12-20 23:54:02

---
title: Bricolage - Doing the Best with What you Have
published: true
date: 2022-09-14 10:00:20 UTC
tags: philosophy,bricolage
canonical_url: https://lucas-schiavini.com/bricolage/
---

 ![Bricolage - Doing the Best with What you Have](https://images.unsplash.com/photo-1596464716127-f2a82984de30?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDF8fGJyaWNvbGFnZXxlbnwwfHx8fDE2NjA5MjI1ODI&ixlib=rb-1.2.1&q=80&w=2000)

The world has been inundated with DIY things, Ikea, and all that, but ancient humans have created a word that better encapsulates the idea of "Doing the best with what you have".

## Bricolage

This is one of the few French word exceptions that I like (alongside [Flaneur](https://lucas-schiavini.com/flaneur/)).

Bricolage is "Trial and error with adjustments with whatever pieces are available".

Turkle writes: "The bricoleur resembles the painter who stands back between brushstrokes, looks at the canvas, and only after this contemplation, decides what to do next."([Source](http://www.papert.org/articles/EpistemologicalPluralism.html)).

It is human endeavor improvisation in its best light possible.
git 同步遠端數據庫(git pull、fetch、merge)
Tags: git
Published: 2022-09-14 09:50:30

## 前言



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


上圖可以簡單理解git本地端與遠端的大致上的指令互動。

簡單概括:

`git fetch` 是把遠端數據庫的最新內容拉到本地，用戶在檢查後可決定是否與本地分支合併。

`git pull`是直接把最新內容拉下來直接合併，即為`git fetch + git merge`

## git pull

```jsx
$ git pull <遠端別名> <遠端分支名>:<本地分支名>
```

如果遠端分支是與當前分支合併，那冒號後面可以省略

ex:

```jsx
$ git pull origin dev
```

## git fetch + git merge

```jsx
$ git fetch <遠端別名> <遠端分支名>
```

(省略遠端分支名會把遠端數據庫所有更新取回本地)

取回更新後，系統會自動建一個分支`FETCH_HEAD`

可以查看剛拉回來的信息(檢查是否有衝突之類的)

```jsx
$ git log -p FETCH_HEAD
```

確定好後，可以把`FETCH_HEAD`合併本地分支

```jsx
$ git checkout master          // 切換分支
$ git merge FETCH_HEAD
$ git branch -d FETCH_HEAD     // 刪除分支
```