teleren/devto huggingface dataset:
Best Machine Learning tutorials
Tags: machinelearning, tutorial, python, beginners
Published: 2020-01-26 18:19:12

---
title: Best Machine Learning tutorials
published: true
date: 2020-01-26 00:00:00 UTC
tags: machine learning, tutorial, python, beginners
cover_image: https://thepracticaldev.s3.amazonaws.com/i/5utyapkdiyto0aeeau0t.jpg
canonical_url: https://wpanas.github.io/2020/01/26/best-ml-tutorials.html
---

# Introduction

The best way to learn something is to start doing it. This thought guides me through my career and it never failed me.In this short article, I will give you a quickstart to master machine learning.

Before you start doing tutorials about machine learning, you should learn Python. There are many resources to do that. For newbies I recommend [learnpython.org](https://www.learnpython.org/). For those, who are familiar with programming, go straight to [Learn Python 3 in Y minutes](https://learnxinyminutes.com/docs/python3/).

The sad truth of machine learning is that the most work is with preparing the data. The best library to do it in Python is pandas. Fortunately, you can learn it in [10 minutes](https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html#min) tops.

# Main Part

Best tutorials are not enough to start doing machine learning. You must have data, a lot of data. It is the heart and blood of machine learning.

Fear not! You will find tutorials and the data at [kaggle](https://kaggle.com). All you need to do is sign up, and you can start learning right away. You don’t need to install any software at your computer. All the tutorials are interactive Python environments called [notebooks](https://ipython.org/notebook.html). They are runnable in the browser without preparation.

Here you can find [the most liked tutorials prepared for beginners](https://www.kaggle.com/notebooks?sortBy=voteCount&group=everyone&pageSize=20&tagIds=13102). If you aren’t a beginner, then kaggle gets you covered as well. You can take a part in competition and win money! Here is the [list of current competitions](https://www.kaggle.com/competitions). If taking part in a competition is too much for you right now, you can challenge yourself another way. Try to find solution for a competition that is already over. You can also pick any of [available datasets](https://www.kaggle.com/datasets) and start training estimators on your own.

# Conclusion

Learning new skill in 2020 is super easy. One of the new skills that you will learn this year can be machine learning. Follow my article and start learning yourself and your machine right now.

Last, if you want to expand your knowledge even more, be sure to follow the blog [Machine Learning Mastery](https://machinelearningmastery.com/blog/). The author is Jason Brownlee PhD. Reading his posts is a great way to complement the knowledge gained from tutorials.
FaeCMS - Getting Started
Tags: ruby, rails
Published: 2020-01-25 23:59:43

<h1><center>A CMS Documentation Clarification</center></h1>
*********************************************************

I've started a couple of side projects for community organizations that are pushing me into new areas of development. Along with open-source contributions, these are giving me a sense of what IRL development feels like beyond my own personal projects. 

In one case I initially thought I needed an open source CMS which led me to running through a side-by-side installation of several options like a [pig race](https://www.youtube.com/watch?v=XDDwErNg52A). Documentation for most was spotty but [AlchemyCMS](https://alchemy-cms.com/about) and [GhostCMS](https://ghost.org/) were best documented and -although very different- tied for the win. 

Even though I'm now looking into CRM options for both projects instead, I'm going to provide some guidance through my process that resolved a number of issues I ran into getting started with [FaeCMS](https://www.faecms.com/). Not all of the steps below were in the documents, and some were only found through extensive googling and problem solving on my own. 

*********************************************************
<h1><center> Let's get started! </center></h1>
*********************************************************

My current environment versions are `ruby 2.6.1p33` and  `Rails 6.0.2.1` and the [repo](https://github.com/JaredHarbison/faeDEV) is currently just the corrected boilerplate.

Naturally I started with running `rails new FaeDEV` then `bundle add fae-rails`.

Following the docs, `rails g fae:install` did not work. I found that I needed to opt out of a Rails 6 dependencies autoloading mode called [zeitwerk](https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#rails-autoloaders) by adding `config.autoloader = :classic` to config/application.rb. 

Upon running `rails g fae:install` per the docs, the install broke. Based on the error messages I determined it was down to an ActiveRecord issue. I added '[4.2]' to the end of 'ActiveRecord::Migration' in each migration file. I was then able to run `rails db:create && rails db:migrate`. 

The final error I worked through before successfully spinning up the server was solved by adding '//= link fae/application.css' and '//= link fae/application.js' to app/assets/config/manifest.js. 

A run of `rails s` and a visit to localhost:3000 now led me to creating the first user for the project. 

*********************************************************
<h1><center> That's all folks! </center></h1>
Name three CSS Properties You Were Surprised Existed
Tags: css, codenewbie, discuss
Published: 2020-01-25 23:27:28

Here's mine:

*empty-cells*
Specifies whether or not to display borders and background on empty cells in a table

*hanging-punctuation*
Specifies whether a punctuation character may be placed outside the line box

*writing-mode*
Specify whether lines of text are laid out horizontally or vertically:
6 Things I've learnt as a Student Fullstack Developer at Lambda School
Tags: wecoded, firstyearincode, codenewbie
Published: 2020-01-25 23:23:09

Sometime last year, I got tired of the ‘regular’ in my life and decided I needed to up my skills. As much as I’ll love to say I wanted to learn how to code, I actually dreaded the very thought of coding. It sounded like an interesting task for ‘geeks’ but an uphill one for me. Don’t blame me, cos my first experience with it was terrible(earlier in my undergraduate level).

Anyway, back to last year, I told a very good friend of mine of my interest in coding and he recommended Lambda School to me. Incidentally, Lambda School’s application was to close the next day. With so much zeal, I applied and was hopeful. Like you know, I got the offer letter (yaay!) and was enrolled as a Lambda Student for the Full Stack Web Development Track.

Here are 6 solid things I’ve learnt so far ( 6 months) a Software Developer

1. Show up Each Day and stay committed: Lambda School has been one of the toughest thing I’ve had to do because of how fast paced the environment is and even though when we started back in August, I had little or no idea about the concepts being taught, I resolved to show up each day. Today, I can see how much I’ve learnt and this has taught me to stay committed to a cause despite initial challenges that may arise.

2. Be vulnerable enough to learn: This is by far one of the hardest things to do. I mean, it’s easier to struggle alone with no one knowing than to come out in the open to let people know you really have no idea what to do. I learnt so much from one of the teams during build week through pair programming. Imagine if I had acted as if I knew so much, no learning would have been done, would have struggled and probably still be struggling.

3. Collaboration: This is definitely not a cliche…trust me guys..lol. I have had to work in teams and build apps within a week (build week). Learnt so much about communicating my thought, ideas and most importantly listening to other team members. This is such a vital skill I’m glad I’ve honed and still grooming.

4. Learn things in bits: Truth is there’s never an end to learning and when you’re starting off your career as a developer, it is easy to get overwhelmed with the vast tech stacks out there. There’s no need to be. Learn things in bits, practice those bits and you’ll see everything will begin to make sense.

5. Know what you want: The first few months in Lambda were really tough and if I didn't really know I wanted to be a Full stack Developer, dropping out would have been an option. What I'm trying to say is your dream keeps you going in the midst of challenges.

6. Surround yourself with people that can help you: I honestly don’t know how I’ll have coped if I didn’t have the help I’ve gotten from friends, particularly Segun Adebayo. Reviewing my codes and putting me through every detail has been his job description for the past 6 months.

All in all, I’m glad for this experience in Lambda School and look forward to an exciting year. What’s one thing you’ve learnt as a software Developer?
AlchemyCMS - Getting Started
Tags: rails, ruby
Published: 2020-01-25 22:39:45

<h1><center>A CMS Documentation Clarification</center></h1>
*********************************************************

I've started a couple of side projects for community organizations that are pushing me into new areas of development. Along with open-source contributions, these are giving me a sense of what IRL development feels like beyond my own personal projects. 

In one case I initially thought I needed an open source CMS which led me to running through a side-by-side installation of several options like a [pig race](https://www.youtube.com/watch?v=XDDwErNg52A). Documentation for most was spotty but [AlchemyCMS](https://alchemy-cms.com/about) and [GhostCMS](https://ghost.org/) were best documented and -although very different- tied for the win. 

Even though I'm now looking into CRM options for both projects instead, I'm going to provide some guidance through my process that resolved minor issues I ran into getting started with AlchemyCMS. While the steps below are found in the documentation, the process avoids some very minor hiccups for intermediate developers and potential roadblocks for beginners. 

*********************************************************
<h1><center> Let's get started! </center></h1>
*********************************************************

My current environment versions are `ruby 2.6.1p33` and  `Rails 6.0.2.1` and the [repo](https://github.com/JaredHarbison/AlchemyDEV) is currently just the corrected boilerplate.

Naturally I started with running `rails new AlchemyDEV`.

I only needed two additional gems to get running with `bundle add alchemy_cms alchemy-devise && bundle update`.

In config/routes.rb I added `mount Alchemy::Engine => '/'`.

Per the docs, I installed Alchemy into the project with `bin/rake alchemy:install` then Devise with `bin/rails g alchemy:devise:install`. 

A run of `rails s` and a visit to localhost:3000 should lead you to creating the first admin user for your project. 

*********************************************************
<h1><center> That's all folks! </center></h1>
A Comparison of All Good Things... and Star Trek Picard
Tags: startrek, picard
Published: 2020-01-25 22:08:03

---
title: A Comparison of All Good Things... and Star Trek Picard
published: true
canonical_url: https://www.funkysi1701.com/posts/a-comparison-of-all-good-things-and-star-trek-picard-nb0
description: A Comparison of All Good Things... and Star Trek Picard 
tags: StarTrek, Picard
---

The final episode of Star Trek: The Next Generation features a few scenes set 25 years into the future. That episode aired May 1994. The newest Star Trek TV show Star Trek Picard has just aired its first episode and this is 25 years and 8 months after that episode. This article may contain minor spoilers for the first episode of Star Trek Picard, you have been warned.

I thought it would be interesting to compare the two time periods.

##Fate of Picards crew

In All Good Things... all of Picards crew are still alive except one. Deanna Troi passed away but it is never revealed how.

In Star Trek Picard, we know Data has died as featured in the feature file Star Trek Nemesis. From the trailers we know Riker and Troi are still alive. We do not know the fate of Crusher, LaForge and Worf yet, but I am going to assume they are still alive somewhere.

In both timelines we have one dead crew member.

##Living arrangements

In both time lines Picard is living in France at his vineyard. 

In All Good Things... we do not know who Picard is living with, it is assumed he lives alone, which is why Geordi feels the need to check on him, once he learns about his Irumodic Syndrome.

In Star Trek Picard we learn that Picard is living with a Romulan couple, due to the involvement Picard made to save the Romulan people when their star went supernova. Picard appears older but for the most part in good health, he can't for example run up a flight of stairs (he is 92 so not surprising really!) and is plagued by dreams from his past.

##Romulan Neutral Zone

In All Good Things... there is no Neutral Zone, the Romulan empire has been taken over by the Klingons.

In Star Trek Picard one would assume there is no Neutral Zone as well because the Romulan star system was destroyed. A handful of Romulans survived mostly due to the actions of Picard.

##Looks

As we have seen Patrick Stewart does not appear to be ageing. Below is a comparison of how he looks in the two time frames.

![All Good Things..](https://i0.wp.com/www.funkysi1701.com/wp-content/uploads/2018/08/all-good-things.jpg?w=584&ssl=1)

![Star Trek Picard](https://gamespot1.cbsistatic.com/uploads/scale_super/1581/15811374/3625097-star%20trek%20picard.jpeg)

I really enjoyed the first episode of Star Trek Picard and it is going to be interesting seeing what other similarities and differences there are between it and All Good Things...
Eleven Years using a POC, time to rewrite? 
Tags: dlang, discuss
Published: 2020-01-25 21:55:52

I read a lot of code. I also have done most of my programming solo. I don't think it was clear to me how much code of others I would read in comparison to others.

I would see examples for solutions in one language and try replicating them in D. I would utilize projects and scripts written by others but not maintained and would debug and fix issues. 

I built a test script POC back in 2009 (11 years ago) and that POC, with years of maintenance and growth, is still providing me confidence that the project will function in critical areas as expected. 

Well the POC is up for a rewrite because it is written in D. Setting aside bias in this is hard, but I did not rewrite the excel sheet with VBA scripts, someone else did. I didn't rewrite the VB gui that replaced it, though I did start explaining logic by putting it in C#. I did rewrite some D scripts to msbuild, then went back when no one helped. I have rewritten some scripts from powershell and Python because they weren't setup to work with the deployment sequence they would be a part of.

-------

OK, so bias aside... 

The code base is no longer a POC, like most POCs it has made itself into a production like solution. It has documentation, unittests, build system, and has been through cycles of bug fixes.

If we look at any particular validation it would seem easy to get started, but to build out the library system to have these validations work together and share effort, that requires a plan and architecture and vetting. And of course I'm asked to ignore functionality used by the project which utilizes the most functionality. 

Then you add in the testing effort. By ignoring functionality, the costs can be reduced in the short term but harder to track as at that point you're not looking at the prior implementation.

-------

On the other side. No other developer or tester has used D. To support the tool, some new knowledge specifically around D would be needed, probably even some investment on personal time.

There would be a need to learn not only where code lives which performs certain actions, but what it means for code to execute at Compile time. Compiler errors will be different then they are use to.

-------

People aren't like me. Every time I look back at the code to concider rewrite, I see all those hours to build, simplify, and debug, and I just don't want to do it again. Am I wrong? I think someone else should help out maintaining and at that point (with the knowledge of what is in the system) they decide.
How to think of failure
Tags: inspirational, beginners, motivational
Published: 2020-01-25 21:48:01

---
title: How to think of failure
published: true
description: 
tags: inspirational,  beginner,  motivational
---

How many times has it cut your mind you could be setting yourself for failure? Once, twice, ..., N time. 

Regardless of the number of times you have nurtured this thought, this is you on the path of doing something great for yourself. 

I have learned quite a number of lessons about life and the very ones are,

- You will fail.
- Only your passion would get you that far.
- Self-happiness is a result of a mindful state of reasoning.


To get started with, think of failure as a form of discipline. A guideline to do something in order to achieve something great. Every time you fail at something, that was you trying something new/unique and way out of your comfort space. 

No matter how perfect you are, how precise you try to be, you will at some point fail but it cleaver to know that failure is not a setback but rather an indication that you on verge of achieving something great.


Failure should be seen as a process and if you try hard enough, you will eventually fail your way to success. 


Don't be afraid to fail. Fail forward.
Prefer Books Over Blog Posts
Tags: books, codenewbie, learning
Published: 2020-01-25 21:38:30

Learning how to become a better software developer is a daunting task. There is so much to learn and it seems like everything is changing constantly.

Because of this, it's easy to dismiss books as a resource for advancing your skills. Surely everything that people wrote about 10 years ago cannot still be relevant today, right?

Wrong!

Even though frameworks and even programming languages come and go (or at least become less popular), the concepts behind them stay the same.

The internet is an amazing resource for learning (especially dev.to 😉). But free resources in the form of a 700-word blog post usually cannot even scratch the surface of their topic. 

It's also really hard to separate good blog posts from bad ones especially if you are new to the topic they are discussing. Nobody reviews blog posts (the comment section on hackernews excluded). It's even extremely rare to have someone proofread a blog post before posting (yes, nobody proofread this 😅).

Books, on the other hand, are a lot more work. They are written, proofread, edited, rewritten, approved and finally published and printed. Now all of this doesn't necessarily mean that the content is going to be good, but that's where book reviews come in.

As software developers, we will never be able to stop learning. When investing our time we have to make sure it's well spent. Because of this I strongly recommend you prioritize reading books over blog posts. Of course, read everything that you can or want, but try to spend more time on books than blogs. 

If you don't know where to start, here's a quick list of books that I think are worth your time. All of them have been published for a long time and are still very much relevant today.

* The Pragmatic Programmer by David Thomas, Andrew Hunt
* The Phoenix Project by Gene Kim, Kevin Behr (also see The Unicorn Project that came out late last year)
* The Mythical Man-Month by Fred Brooks
* Code by Charles Petzold
* Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
* Refactoring by Martin Fowler
* Test-Driven Development by Kent Beck
* Domain-driven design by Eric Evans

Have a book you think every developer should read? Let me know about it in the comments!
How do you organize development projects on your computer?
Published: 2020-01-25 21:10:50

I have tried different methods to keep development projects on my computer organized but between work projects, open source, side projects, issue reproductions, demos, and little test projects, it gets tough. I did a quick peruse through my computer and counted over 100 repos (some on GitHub, some not). They are all over the place, and I have only had this computer for 3 months! 😱
How to split a git repository
Tags: git
Published: 2020-01-25 21:19:26

---
title: How to split a git repository
published: true
date: 2020-01-25 20:58:02 UTC
tags: git
canonical_url: https://on-sw-integration.epischel.de/2020/01/25/how-to-split-a-git-repository/
---

Say your git repo consists of a subdirectory “app” and a subdirectory “database” (or “frontend” and “backend” or “team-a” and “team-b”) and you realize each directories content should be in its own repository. Here is how to split the repo.

To create a repo that consists of the content of the “database” dir and its history, execute

```
git filter-branch --prune-empty --tag-name-filter cat --subdirectory-filter database -- --all
```

and then push it to a new remote:

```
git remote rename origin old-origin
git remote add origin <new-remote>
git push -u origin --all
git push -u origin --tags
```

This is what Gitlab states on a newly created project page. However in

```
git push -u origin --all
```
 “-all” should be replaced with “–mirror” because “-all” pushes all local branches only so you would need to checkout all branches you want to keep. “–mirror” pushes remote branches, too.

In the same fashion apply “filter-branches” to the “app” directory.

**How does it work?** ["git filter-branches"](https://git-scm.com/docs/git-filter-branch) rewrites git revision history of the mentioned branches by applying filters:
* The mentioned branches states "--all" so filters are applied to all branches of the repo (you need "--" before "--all" because otherwise "--all" would get interpreted as a revision) 
* "--subdirectory-filter" means "only look at the history which touches this directory" and also make that directory the root of the repo. 
* "--prune-empty" removes any empty commits that may get created
* Git itself recommends using "--tag-name-filter cat" when not stated, it simply updates tags (apparently "--all" does not include tags).