teleren/devto huggingface dataset:
Rebase vs Merge
Tags: git, programming, devops, githunt
Published: 2021-11-24 14:11:10

Rebasing e mesclagem são projetados para integrar as alterações de um branch em outro, mas de maneiras diferentes.

Por ex. digamos que temos commits como abaixo, o merge resultará como uma combinação de commits, enquanto o rebase adicionará todas as mudanças no branch de recurso a partir do último commit do branch master:

![git rebase vs marge](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/isv1t9c2zfmxl5n0118e.png)

- Quando você rebase um branch de recurso no master, você move a base do branch de recurso para o ponto final do branch master.
- O marge pega o conteúdo da ramificação do recurso e o integra à ramificação mestre. Como resultado, apenas o branch master é alterado. O histórico de ramificações de recursos permanece o mesmo.
- A marge adiciona um novo compromisso ao seu histórico.

As confirmações serão semelhantes a:

![gitflow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65tim7radtwy6l60n9qz.png)

**Quando rebase? Quando marge?**

Se o branch de recurso do qual você está obtendo mudanças for compartilhado com outros desenvolvedores, o rebase não é recomendado, porque o processo de rebase criará repositórios inconsistentes. Para indivíduos, o rebasing faz muito sentido.

Se você quiser ver o histórico completamente igual ao que aconteceu, você deve usar marge. **Merge preserva o histórico enquanto rebase o reescreve.**

Rebase é melhor para agilizar um histórico complexo, você pode alterar o histórico de **[commits](https://medium.com/@filissen/git-interactive-rebase-e265bb55952a)** por **[rebase interativo](https://medium.com/@filissen/git-interactive-rebase-e265bb55952a)** . Você pode remover commits indesejados, esmagar dois ou mais commits em um ou editar a mensagem de commit.

Rebase apresentará conflitos, um commit por vez, enquanto que merge os apresentará todos de uma vez. É melhor e muito mais fácil lidar com os conflitos, mas você não deve esquecer que reverter um rebase é muito mais difícil do que reverter uma fusão se houver muitos conflitos.
Is Continuous Learning Helping your Web Development Career?
Tags: webdev, tutorial, productivity, javascript
Published: 2021-11-24 14:09:58

## My Big Question
Hello folks, here's another one and the topic is "Is Continuous Learning Helping your Web Development Career?". This is a critical question that I've been asking myself every now and then. I'll tell you what I think. Hopefully this helps many other developers out there who're asking the same question.

## Quick Facts
Becoming a software developer is something that interests every beginner, every person who has just entered the field. It's interesting at first but it becomes serious when you're depending on writing code to pay bills. Even when you're really beat, you have to write code, cause in most cases its your main source of income. You can't just take a long break or can you? 
Again, when you're a web developer, its more challenging. There's a lot of frameworks and libraries popping up each now and then. You're learning a framework today, tomorrow there's something else. You're using React in your current job, when you move to another company, they're using Vue or even Angular. I know there's so much in common between all of these technologies, but again, how can you be a top notch professional when you're jumping between frameworks or libraries. 
In summary, there's so much to learn! To remain competitive in the software development field, you have to never stop learning. It's a continuous process.

## My Brief Journey
Personally, I started as a PHP/Laravel Developer. I worked for a startup in my town where I developed over 5 web based applications - Fee management system, Tenant Management System and many more. After a few months, there came another guy who knew JQuery really well. He could do CRUD operations without refreshing the page. My former boss developed some interest in him. I was afraid of loosing my job. I had to stay competitive, I had to know SPAs. So I learned Vue js and now I would develop interactive applications with Vue and Laravel. It helped me remain really competitive. I didn't lose my job 😊! I ended up loving Vue js. Now I work as a Frontend developer with Vue.js thanks to learning Vue! That's just one instance. There have been many occasions through my Web Development Career where I've had to learn new stuff just to remain competitive. Most of which I have not used. As a matter of fact, there are times when I feel *spread thin*! (Knowing too much stuff and not being a professional in each)  

## My View
As much as its advisable to keep learning new stuff, I prefer being a professional in one or two frameworks! Pick a language, like Javascript choose a framework, like React, or even Vue. Learn it! Develop solutions, be a Professional React or Vue developer. If anything, be a professional! 

## What's your view?
So what's your view? What's your experience? Let me know in the comment section below.


Cover photo by [Unsplash](https://unsplash.com/s/photos/learning-code)
How to turn a 10x developer into a 1x developer and vice versa
Tags: 10xdeveloper, productivity, teamwork, processes
Published: 2021-11-24 14:04:37

*A lukewarm take on the topic of 10x developers, based on real-life events.*

### How to turn a 10x developer into a 1x developer
* hire the most talented developer you can find;
* put the developer on a project where multiple teams share the code base;
* the team has to have a product owner, a business analyst, and not less than two project managers, all of them can make product decisions;
* final product decisions are actually made by an executive who is accessible once a week for 30 minutes;
* but the same executive can also come by at 7 p.m. and scratch everything that was done during the day;
* the code reviews are mandatory, no pair programming allowed;
* there should be no limit on how long a code review can wait and how many iterations it can take;
* the testing environment should be unstable and inconsistent;
* let anyone ask them questions at any time because the 10x developer knows a lot, and sharing knowledge is essential.

### How to turn a 1x developer into a 10x developer:
* take any senior developer in your team;
* separate them from the rest of the team, put them on a mini-team with 2-3 other people;
* let them focus on a single well-scoped project for days/weeks;
* the mini-team members should have all the skills to move forward without being blocked;
* one person should make all the product decisions, and that person is available at any time;
* track progress and update priorities weekly;
* let them work on a separate branch - no code reviews, no merges, no conflicts;
* take them off all the "obligatory" meetings, let them organize their own processes;
* other team members are not allowed to bother them with questions/discussions.

### On a slightly serious note
The most time-consuming factor is communication - how fast and how efficiently we can convey decisions. Naturally, by increasing speed, we lose quality and vice versa. Maintaining this dynamic balance is what makes it a tough but exciting job. Sometimes you might prefer [a steady team](https://dev.to/aismagulov/why-we-work-in-teams-4g5i) over a high-speed 10x developer.

There are some questions to help with choosing though. How long do you plan to maintain this product? Eventually, people leave - what happens if they leave? What is at stake - the existence of your company? The well-being of your family? Your career? Your yearly bonus?

*Photo by <a href="https://unsplash.com/@zmachacek?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Zdeněk Macháček</a> on <a href="https://unsplash.com/@aismagulov/likes?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>*
Local Notifications using Expo
Tags: javascript, androidclub, react, expo
Published: 2021-11-24 14:03:56

Expo is a very useful framework for developing Android Applications.
There is a lot of documentation all over the net. 
But there is nothing substantial on how to get Local Notifications in your app.

So here is write-up which would surely help you in your journey

{%link https://dev.to/neeleshrj/local-notifications-using-expo-25il %}
GitHub India Externship
Tags: github, externship, internship, challenge
Published: 2021-11-24 13:56:56

# GitHub India Externship
India is home to one of the largest communities of student developers in the world. In 2020 we saw the number of students participating in the GitHub Campus Program increase by 142 per cent, over 100,000 students signed up to our GitHub Student Developer Pack and our campus offering was adopted by more than 100 higher-education institutions in India.

The student ecosystem is integral to the continued growth and pace of innovation in India. However, students do not have enough opportunities to get mentorship that can make them real world ready and enhance their job prospects.

To support this growing community of student developers and to address their needs, we launched GitHub Externships. This builds on GitHub Campus offering by providing students a unique opportunity to engage with companies in India, via fellowship programs, and build the right skills future developers need, to succeed in an enterprise environment. The program connects the dots between Open Source, the next generation of software developers, and successful companies.

The GitHub Externship is a 90-day fellowship program for third or pre-final year students of GitHub Campus Partner schools. The initiative provides hands-on learning with practical and on ground experience. It's collaborative, remote, and happens under the guidance of expert mentors.

Students get to select from a vast variety of Open Source projects listed down by different companies. They get paired with a mentor from participating organizations who will handhold them and review their work on a regular basis. Companies reviews the performance regularly and also provide a monthly stipend.

The organization will be able to get the innovative solutions and minds working on their ongoing projects that will help them scale up their projects and also identify the talented pool of future employees.

## Eligibility
 * 18+ at the time of registration.

 * Must be part of the GitHub Campus Program Institution from India. Check if your institution is eligible or not here

 * Must be in pre-final or final year of their qualifying degree(Bachelor's or Master's) from the eligible GitHub Campus Program institutions.

 * Must be eligible to work in India during the duration of the program.

 * Reside and is eligible to work in India 🇮🇳.

 * Able to communicate in English both written and spoken.

 * Can code proficiently in at least one programming language 👨‍💻.

 * Have access to a good quality internet connection for meetings📡.

 * This is a REMOTE only internship opportunity.

 * Able to commit 30 hours per week to this program.

## [Register](https://externship.github.in/)

### To know more such opportunities follow me on [instagram](https://www.instagram.com/lets__code/)
Programming Interview Questions for Beginners
Tags: programming, beginners, career
Published: 2021-11-24 13:56:53

Are you preparing for an upcoming programming interview? Here we have compiled a list of general programming interview questions that will help you to prepare for the same. 

Programming interviews are designed to test the developer’s proficiency in data structures, algorithms, logic building, and problem-solving rather than just knowledge of a specific programming language.

![Programming Interview Questions ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/468qr6kjgkz7gtlcx8h2.png)

### [Basic Programming Interview Questions](https://www.techgeekbuzz.com/programming-interview-questions/)

1. Name the most common errors that can occur during the execution of a program?
2. What is the difference between a syntax error and a semantic error?
3. How do you define an algorithm?
4. What is a low-level programming language?
5. What is a high-level programming language?
6. What are keywords?
7. What are loops?
8. What is an array?
9. What is debugging?
10. What is the difference between break and continue statements?
11. What are identifiers?
12. Can we use a keyword as an identifier?
13. What are arithmetic operators, and on which data type can they operate?
14. Where do we use the relational operators, and what value do they return?
15. What is machine code?
16. What will happen if we use a break statement inside a nested loop?
17. What is a data structure?
18. What are linear and non-linear data structures?
19. When do we use for loop, and when do we use the while loop?
20. Why use the do-while loop if we have the while loop?

## Conclusion

That sums up our list of the top programming interview questions and answers. We hope you go through these questions first before you go for the interview[.](https://cloudytechi.medium.com/)
PySpark - Databricks -Regression implementation
Tags: spark, python, analytics, azure
Published: 2021-11-24 13:53:36

I'm trying to implement linear regression in Databricks - Jupyter Notebook using PySpark. 

Command: lr_model = lr.fit(train)

Facing the following error: 

org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 60.0 failed 4 times, most recent failure: Lost task 2.3 in stage 60.0 (TID 122) (10.139.64.4 executor driver): org.apache.spark.SparkException: Failed to execute user defined function(StringIndexerModel$$Lambda$6038/1039091081: (string) =&gt; double).
Mapping Components to Data in React JS
Tags: javascript, react, webdev, beginners
Published: 2021-11-24 13:48:41

In this article, I will be showing you how to map components in **React JS**

### Purpose of mapping components to data:
Instead of writing every single component again and again for every single data, we can map components to the data easily by creating an array and map them with `map()` function and will fetch every single data in an array to a single component

For example: 
```js
let arr = [1,2,3,4,5]
const sum = arr.map((e)=>{
   return (e+1);
 });
```
It will add the number to the 1 to every single number inside array `arr`. This same logic applies in React component mapping, and for that I have made a video on that so make sure to check that 👇
{% youtube MQFIP40b-DA %}
* * *
So, this was it; I hope that this article/video might be helpful to you
Create commits for a year of your choosing in Git and Github
Tags: git, githunt, javascript, node
Published: 2021-11-24 13:34:46

Hello folks, 

I have created a simple and silly command-line package that can generate commit logs in your repository for the whole year. 

## To run the package,

- Go to any local repository.
- Run ```npx commit_git```
- Enter the year of your choosing. Eg: 1990
- Enter your commit text. Eg: She sells seashells by the seashore.
- Voila. It automatically pushes your code after committing.

![Commit Streaks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hg68c4mh0ncchun2x8it.png)
 
![Commit Log in github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nr5mef0zowllq2luef6e.png)
What programming resources are you thankful for?
Tags: watercooler, productivity, discuss
Published: 2021-11-24 13:01:54

Thanksgiving is this week here in the US, which means it's a good time to reflect on things you're thankful for.

What programming resource are you most thankful for right now?

Has there been a tutorial you found recently that helped you through something you were having trouble understanding?

Did you start using some new tooling that's improved your process?
Invent the Future from the Future
Tags: startup, ideas, techtalks
Published: 2021-11-24 12:58:09

These are my key takeaways from “[How to Invent the Future](https://www.youtube.com/watch?v=id1WShzzMCQ)”, a brilliant lecture by Alan Kay at Startup School:

Focus not just on problem solving, but on **problem finding**. You can be sure that 95% of everything we do is wrong, inefficient, and will be changed in the future, but it’s hard to see that from now.

Instead of innovating out from the present, invent the future from the future. **Imagine the world 30 years from now**. Think “Wouldn’t it be ridiculous if we didn’t have this?”. Take this initial glimmer of an idea so far out that you don’t have to worry how you get there. Then bring it back closer to the present, **identify an achievable and realistic step towards it**.

Try to see technology of today as the punch card machines in the 70s, and try to replace them with Apple II.

Strive to really advance something very important. Something worth dedicating your life to. Pursue grand visions, not goals.

Because it is difficult, **focus on milestones, not deadlines**. Deadlines can be missed, and are hard to set up realistically when you’re doing something that’s never been done before. Milestones are inspiring to reach, and it’s more encouraging to go from one milestone to another in pursuit of a long term goal.

Don’t worry about having the perfect batting average. Total number of successes matters, not success/failure ratio. Failure is just overhead — an expected cost of trying to do hard things.
Value Arbitrage
Tags: startup, ideas, business, saas
Published: 2021-11-24 12:56:12

<h1 className="h1-header orange">Value Arbitrage</h1>

This is an extremely useful idea that I've learned just recently. In finance, "arbitrage" means buying and selling things in different markets to take the advantage of difference in price. Like buying a toy in India for $15, and then selling it for $25 in the US.

Turns out, you can arbitrage not just products, but also information, knowledge, skill, or even human relationships.

For example, let's say you have met two amazing people who don't know each other. When you introduce them to each other, you generate a massive amount of value for both of them essentially out of nothing - you have given each of them a gift of knowing someone great.

Another example, is arbitraging information. Eliezer Yudkowsky have learned a lot about rationality and human biases from the books he has read, and then parlayed it into his blog, and later a Harry Potter fanfiction - and that has generated a huge amount of value to the people on the internet, who would never have been exposed to these ideas otherwise.

You can also arbitrage skills. That simply means applying good ideas you have learned in one field to a completely different one. I'm constantly applying the skills and ideas I've learned as a 3D artist to my programming process, and, surprisingly, the ideas I've learned from programming are making me a much better artist.

Finally, an unexpected idea that I have discovered, is that you can arbitrage fiction tropes. You can take a trope you have seen in one story, apply it to a completely different genre, and it will create a new and interesting idea. You can take a scifi trope and set it in a fantasy world, or you can take a plot structure from a dramatic tv show and use it in your comedy script.

Smart ideas are often universal. Learn a mental pattern in one field - and apply it elsewhere. Every time I have an epiphany in one of my crafts, I intentionally go through each of the other fields I'm interested in and apply it there. This has helped me to generate a lot of very interesting ideas.
Why Conferences Can Be So Important For You, As A Developer.
Tags: programming, gitcommitshow, beginners, opensource
Published: 2021-11-24 12:55:44

Alright, So now you are probably wondering that why conferences matter, here are some benefits of attending a conference:

## Job Opportunities
- If you are looking for a job, then the best place to look for are conferences, 
most of the time, in these conferences there are partners called ”Hiring Partners”, these are companies which are looking for employees. Their own agents wander and interact with everyone like normal, but when they feel you are the right person for the job, they request you to send your resume! So represent yourself nicely. I have seen a person get an interview from a reputed company at djangocon2021, myself! He did not have any degree he was self taught, so that does not matter!

## Meeting Like Minded People.
- In a conference, you find many like minded people, love python? There will be others who love python there as well! This will lead to constructive discussions, which will change your perspective and knowledge. You can tackle problems together and come to a solution also. You can make friends there! And find people to collaborate with!

## Giveaways/Swags
- This is not  more valuable than the previous point but it is a plus point, in most of these conferences there are many giveaways.

## Knowledge
- This is the most important point of all, when you attend these conferences you build your knowledge, you learn from fellow speakers or even the attendees.

## Personal Branding/Identity
- Conferences are the best place to showcase your skills, projects or Saas products, because you can never know if you are talking to a future client, employer, partner, or consumer. For example, I am now thinking of buying a Saas product, because of the way the person I talked to presented himself and his product.

So now you know why conferences can be very important for you as a developer.

Before you leave reading this blogpost, i would highly recommend a conference which I am also attending:

**Git Commit Show** it’s the world’s largest  2 day conference from November 27 to 28, where you can meet with senior engineers,researchers, scientists, and professors while being at home!

It has all the perks i mentioned earlier, dedicated discord channels for networking, giveaways, and job opportunities!

So I hope I will meet you there at the git commit show!

[**Register Now**](https://docs.google.com/forms/d/e/1FAIpQLSdFuHEOT9i5KBEOL56nbwn6HNGpsgGL55JGwwXYFdjC4kqnHw/viewform)
**Know more here:** https://gitcommit.show 

**Happy Coding**