teleren/devto huggingface dataset:
DEV logo with HTML and CSS
Tags: html, css
Published: 2020-09-22 17:41:13

Hey! I am going to show you how to make a simple CSS - HTML (mostly CSS) logo.

First, simply make an HTML file with this code in it:

```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>DEV logo</title>
</head>
<body>
    <main>
        <p>DEV</p>
    </main>
</body>
</html>
```
Here we will just get "DEV" printed out on our webpage.

Next, we have to make a file called style.css (we linked "style.css" before) and add some properties to form the text.

First, we have to remove all automatically added margins, because it can scramble our code:

```
*{
    margin: 0;
}
```

Now we can work on the text itself, we have to make it thick with the font-weight operator, make the text bigger with the font-size operator and I found a font family that's similar to the DEV logo's style, so we can add that as well:

```
p{
    font-family: 'Trebuchet MS';
    font-weight: 900;
    font-size: 50px;
}
```

After that, we can put a rounded box around the text with the following code:

```
p{
    border: 5px solid black;
    border-radius: 10px;
    background-color: black;
    color: white;
}
```

And in the end we can put the logo in the middle of the screen:

```
body {
    text-align: center;
}
main{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100vw;
}
```

So the whole style.css would look like this:

```
*{
    margin: 0;
}
body {
    text-align: center;
}
main{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100vw;
}
p {
    font-family: 'Trebuchet MS';
    font-weight: 900;
    font-size: 50px;
    padding: 21px 5px;
    border: 5px solid black;
    border-radius: 10px;
    background-color: black;
    color: white;
}
```

And here is the finished DEV logo:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/wcdn0znh1qbh8khw4n09.png)
How To Create A Bitcoin Wallet Address With Python
Tags: python, blockahcin, bitcoin, programming
Published: 2020-09-22 17:38:59

Hi guys, welcome to article. In this post, i will show you how to how to create a bitcoin address, private key and public key using python.
To get started, we need to install the bitcoin library for python. To do this we need to run the following command line in our terminal(for mac users) or command prompt(for windows users):
**pip install bitcoin**
After installing the bitcoin library, now let;s create the bitcoin address. To do that, we will first create a bitcoin private key, then we will convert that private key to a public key, and once we have our public key, we can finally convert it to our bitcoin address where we can receive funds.

First of all, let's import the bitcoin library into our program
**from bitcoin import ***

To create a private key we will use the code below.
**my_private_key = random_key()**
**print("Private Key: %s\n" % my_private_key)**
After running this code, your output should be similar to the one below:
**Private Key: 11039804bb4e9547f7d7d92d28688eb3c52d23376cb33366d550498998b5ecdc**

Now that we have our private key, we can now convert it to a public key. To do that, we will use the code below.
**public_key = privtopub(my_private_key)**
**print(public_key)**
The code above should give you a similar result to this:
**04398355dbc322a6cf199c17dbc470737e757300789fb42a53aa1b361df0a135e813aab0aa50871a564b387c5c172082351f563ceb46e3f34ca53d025235856d8c**

So far, we have successfully generated a bitcoin private key and public key. Now, we can finally create an address using the public key. To generate an address, we will call the pubtoaddr() function. We can do that with the code below.
**wallet_address = pubtoaddr(public_key)**
**print(wallet_address)**
Now, your wallet address should be something similar to this:
**13y6DovT7AU6dfsquHkZ4VqWj77qhfEyCx**

Your whole code should look like the code below:
**from bitcoin import ***
**my_private_key = random_key()**
**print("Private Key: %s\n" % my_private_key)**
**public_key = privtopub(my_private_key)**
**print(public_key)**
**wallet_address = pubtoaddr(public_key)**
**print(wallet_address)**

That is all for this post. I hope you enjoyed it. I also have the video version of this tutorial you can watch it here:
{% youtube YBnI1Ql3QH8 %}
Or you can watch it directly on youtube here:
https://www.youtube.com/watch?v=YBnI1Ql3QH8

I also have a full course on youtube teaching on how to build a bitcoin wallet like blockchain.com using django. You can check it out here:
https://www.youtube.com/watch?v=22TkO8og4_Q

And don't forget to follow me on twitter https://twitter.com/tomitokko3

Thank you for reading this post. Bye for now.
How to install and set up Elementor with Child Theme (Hello Elementor)
Tags: wordpress, elementor, design
Published: 2020-09-22 17:30:23

## Step 1: Initial Setup & Adding a new page

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/40rih5xd4z8zt1z3oczx.jpg)

I. SEARCH for and INSTALL the Elementor plugin. If you prefer to use the premium version, you will have to PURCHASE, UPLOAD and INSTALL the Elementor Pro plugin as well. 
(If you prefer not to pay you don't have to install the Elementor Pro Plugin, just the Elementor plugin. Keep in mind that the premium version has more features. For more information about the differences between the premium and the free version you can check following link: https://themeisle.com/blog/elementor-free-vs-pro/

II. DOWNLOAD the Hello Elementor theme:
https://github.com/elementor/hello-theme

UPLOAD the theme to Wordpress.

DOWNLOAD the Hello Elementor Child theme:
https://github.com/elementor/hello-theme-child

UPLOAD the child theme to Wordpress and ACTIVATE IT.

GO TO Pages and ADD a New Page.
<br/>
## Step 2: Add full width & Publish page

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/m710zepbvc4b7662oaec.jpg)
<br/>
## Step 3: Set page as Homepage & Delete page title and tagline

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k3f3okn3iwyekhcnkewb.jpg)
<br/>
## Step 4: Edit blank page with Elementor

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/pf1osn4ut6r99bn9obyn.jpg)
<br/>

That's it! Now you can edit your site using the Elementor Builder.
How do you prompt a user to install a PWA? 
Tags: 100daysofcode, javscript
Published: 2020-09-22 17:10:22

_My lesson of the day. The browser in use: chrome_

For a PWA to be installable, you need a registered service worker and a manifest file with the relevant fields.

You also need to attach a click event to an element in the HTML file. I added a button tag as the last element of my HTML file and set the display to none in CSS. _Note: The button element is empty._

Next inline is the javascript code:
```javascript
let defferedPrompt;
const addbtn = document.querySelector('.btn');

window.addEventListener('beforeinstallprompt', event => {
	event.preventDefault();
	defferedPrompt = event
	addbtn.style.display = 'block';
});

addbtn.addEventListener('click', event => {
	defferedPrompt.prompt();

	defferedPrompt.userChoice.then(choice => {
		if(choice.outcome === 'accepted'){
			console.log('user accepted the prompt')
		}
		defferedPrompt = null;
	})
})
```
The code explained: 

You listen for the `beforeinstallprompt` event and save the event to a variable. Then attach an event listener to your HTML element and listen for the click event. You also pass in a callback function to the event listener that calls `prompt()` on the saved event. Prompt displays a dialogue box. Using the User choice property you capture the user's action. User choice is a property that returns the users choice. If the users choice equates to accepted the installation begins else the dialog box is closed. You can only call `prompt()` on the deferred event once. Lastly, you set the deferred event to null.

_That's it for day 68_
_Lets do this again tomorrow_
Excelize 2.3.1 is Released – Go library for spreadsheet (Excel) files, support to open the spreadsheet with password protection
Tags: go, excel, xml, office
Published: 2020-09-22 17:19:33

---
title: Excelize 2.3.1 is Released – Go library for spreadsheet (Excel) files, support to open the spreadsheet with password protection
published: true
description: Excelize is a library written in pure Go and providing a set of functions that allow you to write to and read from XLSX files. 
tags: Go,Excel,XML,Office
---

<p align="center"><img src="https://xuri.me/excelize/images/excelize.svg" width="440" alt="github.com/xuri/excelize" /></p>

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data.

GitHub: [github.com/xuri/excelize](https://github.com/xuri/excelize)

We are pleased to announce the release of version 2.3.1. Featured are a handful of new areas of functionality and numerous bug fixes.

A summary of changes is available in the [Release Notes](https://github.com/xuri/excelize/releases/tag/v2.3.1). A full list of changes is available in the [changelog](https://github.com/xuri/excelize/compare/v2.3.0...v2.3.1).

Release Notes
------------
The most notable changes in this release are:

#### Notable Features

* Support open spreadsheet with password protection by ECMA-376 document standard encryption, relate issue #199
* Add checking and limits for the worksheet
* Extend pivot table functionality: support set the header, style, and table options for the pivot table
* Security vulnerabilities and patches 

#### Improve the Compatibility

* Compatible with Go 1.15, fix unit test failed on Windows and potential race condition, relate issue #689
* Default row height compatibility with Apache OpenOffice and Kingsoft WPS&trade;
* Improve compatibility for phonetic hint and sheet tab color

#### Bug Fixes

* Fix `RemoveRow` slice bounds out of range cause panic in some case, resolve #686
* Fix stream writer generated corrupted files issue
* Fix the scale for add picture not work, resolve #691

#### Miscellaneous

* Unit tests update and typo fixed
* [Documentation website](https://xuri.me/excelize) with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
* Welcome join [the Slack channel](https://join.slack.com/t/xuri/shared_invite/zt-eriqdkeo-wV04zcCdBiiZveFgY86Wzw) to meet other members of our community
Learn Python by Building 3 Small Apps
Tags: vscode, python, beginners, dev
Published: 2020-09-22 17:16:07

---
title: Learn Python by Building 3 Small Apps 
published: true
description: Learn Python 3 by building apps step by step
tags: vscode,python,beginner,dev 
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/4fd80er2565zbvtvf5a0.png
---

Hello everyone, 

I've been streaming Python on my [Twitch Stream](https://twitch.tv/mbcrump) and I've discovered that traditional ways of learning programming such, "How to manipulate strings", etc isn't necessarily the best way for folks to learn. Instead, I've taken the approach of building 3 small Python apps that incorporate the skills to be a successful app developer. 

Update: I've recently published the next 3 apps, then they can be found below (video+source code):

{% link https://dev.to/mbcrump/learn-python-by-building-3-small-apps-part-2-5bc1 %}

**App 1 - Basic Calculator** - create a basic calculator and refactor the code into methods

[Source code](https://github.com/mbcrump/EthicalHacking/blob/master/python/stream1-basic-calculator.py)
Video (11 mins)

{% youtube KvA4P5XNUFg %}

**App 2 - Guess the number** - import namespace and create a game where the player guesses the number that the computer guessed

[Source code](https://github.com/mbcrump/EthicalHacking/blob/master/python/guess-the-number.py)
Video (9 mins)

{% youtube MQW-ikHz9K0 %}

**App 3 - How many days until...** - Work with dates, find the difference in days between two dates. 

[Source code](https://github.com/mbcrump/EthicalHacking/blob/master/python/03-date-difference.py)
Video (7 mins)

{% youtube R_Nh87agpQ8 %}


Conclusion

Stay tuned for [future streams](https://twitch.tv/mbcrump) as we build out 7 additional Python apps from scratch or you can watch the condensed version by subscribing to my [YouTube](https://youtube.com/mbcrump). 

Stay connected with me on social platforms for daily software development news.

-[Twitter](https://twitter.com/intent/follow?screen_name=mbcrump) | [Twitch](https://twitch.tv/mbcrump) | [Instagram](https://instagram.com/mbcrump) | [YouTube](https://youtube.com/mbcrump) | [GitHub](https://github.com/mbcrump) | [Website](https://www.michaelcrump.net)
Software Engineering Bootcamp Week 3 (project week)
Published: 2020-09-22 17:09:27

Today is Tuesday of the 3rd week of the coding bootcamp, this week is project week, for my first project I have to create a website using HTML, CSS, and JS. I also have to create and receive an API request using axios.get.

for my project I decided to make a website where you can search for a super-hero name and receive data using SuperHero API.

I attached an image as an example of W.I.P : https://i.postimg.cc/JhHjsp0h/Screen-Shot-2020-09-22-at-1-07-56-PM.png

There's still a-lot that I want to do (especially in the CSS department), but I'm happy with the progress so far.
Database Selection for Mobile Apps
Tags: database, cassandra, sqlite, mysql
Published: 2020-09-22 17:08:10

If you're creating a completely new mobile app or want to add more functionality to the current app, it can be difficult to determine the suitable database with the many options available today. There are lots of chances that your current database might not be sufficient to handle millions of users and frequent updates. I have compiled a few databases that might come in handy for you.

<b>Databases that you can select from:</b>
<ol>
<li>MySQL: It is very simple to use the SQL database that is open source and multi-threaded.</li>

<li>Redis: It is used for data caching in mobile apps. It is also open-source, low maintenance, and key/value store.</li>

<li>MongoDB: It is a schemaless, JSON document database, also popularly known for its robustness and flexibility.</li>

<li>PostgreSQL: It is a strong, open-source object-based, relational-database that is extremely customizable.</li>

<li>Memcached: It is a distributed cache system that is multi-threaded, and is being used majorly for caching objects to accelerate applications by alleviating database load.</li>

<li>MariaDB: It is a famous open-source relational database that was developed by the original developers of MySQL.</li>

<li>Cassandra: It is an absolutely free and open-source, NoSQL database that is created to manage a huge amount of unstructured data at any scale.</li>

<li>SQLite: It is an embedded database properly used to provide local data storage capabilities on smartphones.</li>

<b>How to Select a Database?</b>

Have a look at how you can select an appropriate database for your mobile application:
<ul>
<li>Make sure that it supports the right client platforms</li>
<li>It must secure data at rest and in motion</li>
<li>It should be a flexible data model. For instance, NoSQL databases offer proper flexibility</li>
<li>It should be able to resolve data conflicts effectively</li>
<li>It has to sync at the right times and with the right partitions
Understand if you are looking to build sync or just buying.</li>

<I>So, now that you are aware of the little things that are necessary for selecting the correct database, you can go on and get your hands on one.</i>
Kiralık Sunucu Fiyatları
Tags: dedicated, dedicatedserver, cheapvps, verigom
Published: 2020-09-22 17:07:08

Kiralık Sunucu , size özel en uygun fiyat garantisi ile kiralık sunucu çözümlerimizi deneyimlemek, yüksek donanımlar ile yüksek performans almak isterseniz hemen web sitemizi ziyaret edin. Verigom kurumsal ve bireysel bir çok projenizde size özel dedicated server paketleri ile sorunsuz ve kesintisiz bir sunucu kiralama hizmeti sunuyor. Kiralık sunucu hizmetlerine müşterilerimizin istediği tüm işletim sistemleri talebe özel kurularak teslim edilmektedir.

Kiralık sunucu hizmetlerinin yanı sıra, hizmete ek olarak alabileceğiniz fortinet donanımsal ddos çözümleri için canlı destek hattımızdan bizlerle iletişim kurarak bilgi alabilirsiniz. 

Aşağıdaki sayfa üzerinden bilgi alabilirsiniz.
https://www.verigom.com/dedicated-server
Intro to Bootstrap
Tags: beginners, css, webdev, typescript
Published: 2020-09-22 16:42:38

In order to become a bootstrap expert you will need to first grasp the fundamentals of HTML and CSS. Without this, you will not understand how to implement bootstrap and will find yourself becoming frustrated with a program designed to make your life easier.
<b><h3>Brushed up on your HTML & CSS?</h3></b>
Great now you're ready to dive into bootstrap! First, I bet you're wondering, "what exactly is bootstrap?". Well, bootstrap is a library that, in short, makes web development shorter and easier. It also makes pages more responsive. Getting started is as easy as copying and pasting the CDN located at [get boostrap here](https://getbootstrap.com). From there the documentation is very user friendly and most elements can be styled by simply adding bootstrap specified classes to them.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ebbi54rf62nanu8wmtpg.png)

In the example above changing your alert button is as simple as adding the class of "alert alert-primary", "alert alert-dark" and so on. The first class of "alert" tells bootstrap to make the div rounded and thin, essentially making it into an alert bar. The second class will tell bootstrap the color you would like your alert bar. Primary is blue, secondary is gray, and danger is red. There are many other colors too, and all it takes is a few minutes to read the documentation on how to specify which color you want. 

<b><h3>The only thing left to do is try it out!</h3></b>
I suggest looking at examples [here](https://getbootstrap.com/docs/4.5/examples/) and playing around with it until you feel more comfortable implementing this into your own personal project. 
<h5><i>Here is to consistent, responsive, and beautiful websites in a fraction of the time.</i></h5>
Reduce Platform Migration Costs With Structured Content
Tags: headless, dxp, digitalexperience
Published: 2020-09-22 16:33:09

With the emergence of headless content management systems (CMSs) and with many digital experience platforms (DXPs) further embracing MVC development methodologies, content modeling and structured content are getting a lot of attention. The decoupling of the presentation of content from the management of content has several benefits, however, you most often hear how it helps front-end developers choose the best tools and marketers reuse content across channels. Typically, absent from this conversation is how it delivers sizeable advantages to IT organizations from a budget, procurement, and flexibility standpoint  

Two reasons why this might be:  

- Content modeling and structured content are new concepts for many, and the main selling point thus far has been multi-channel marketing. 
- The biggest proponents of the approach are usually platform providers, and their focus will always be getting you to move to them, not switching away.
  
> Once you structure your content, you can take it anywhere.  

![Shows field-based content being migrated between multiple systems.](https://dev-to-uploads.s3.amazonaws.com/i/215xreuf34dt6bbo4aj7.png)


Content migrations are usually the most expensive and unpleasant parts of any website rebuild or re-platform because most websites are an amalgamation of unstructured or poorly structured content. However, once your content is structured, all future migrations can be a straight-forward database- or API-driven content copy of the fields.  

The good news is that you do not have to wait until your next migration to start structuring your content. You can implement new content types in your existing system alongside your current content. The most common approach we see here is to pick a few simple types start with (press releases, basic pages, events) and start creating new items using the new types while updating templates to work with both sets of content. This allows you to stop creating content that will be problematic for your next migration or redesign while starting to transition the content teams to a different approach slowly. As you and they gain confidence, more content types can be transitioned, and you explore migrating your existing content items. 

Structured content reduces platform migration costs because it largely eliminates the content migration hurdle. This allows organizations and leaders to move forward without having to see the future.  

Because you can move, you can’t be locked in.  
- Because needs will change, you can make the right decision for “now.”  
- Because you can load your content anywhere, you can make meaningful comparisons.  
- Structured content models are a boon to marketers and developers, while also a money-saving, flexibility-creating opportunity for the entire IT organization.  

If you want to talk strategies about how to start structuring content on your current website now, feel free to reach out to me, I love talking content strategies.
problem with this Javascript code, im noob btw
Published: 2020-09-22 16:30:43

we have an array of numbers and we only want to print out the even ones:  (part of code is missing in the note i have and i cant figure it out!)

	let numbers = [1, 2, 3, 4, 5, 6]
	var i = 0;
	while (i 
        if (numbers[i] % 2 != 0) { continue; }    print(numbers[i]);}
Django, Rails or Laravel? My choice ... Finally ...
Published: 2020-09-22 15:24:52

---
title: Django, Rails or Laravel? My choice ... Finally ...
published: true
description: 
tags: 
series: Django, Rails or Laravel?
//cover_image: https://direct_url_to_image.jpg
---

It was not obvious, all three frameworks have their pluses and minuses. The ideal would be to have a custom framework with the advantages of one and the advantages of the other :-)

I must say that I learned a lot and had a lot of fun comparing these three frameworks. However, all good things come to an end. My project is due to start soon, so I had to choose now.

So without fanfare I announce that after three months of evaluation I chose ... Laravel

There are many reasons for this choice. Laravel offers in my opinion an excellent mix of speed and efficiency of development.

The framework is very popular and the packages available are very numerous and very professional and well documented.

The official Laravel documentation is really very well constructed and very clear. It is therefore easy to do a search to quickly find the desired subject.

The training tools are also very numerous and very professional. For example, Laracasts.com offers hundreds of high quality training videos. It will be an essential tool to continue my learning.

Finally, the Laravel team and community are very passionate and continue to intensively develop and improve their framework.

That being said, it is not perfect I know that very well. But for my purposes and comparing to Rails and Django, in my opinion it was my best option.

In the next week I will continue to share my journey with you and publish several posts on Laravel and PHP.

To be continued...