teleren/devto huggingface dataset:
Mithril : a simple counter
Tags: mithril, component, counter, closure
Published: 2020-04-27 12:11:34

Here is a statefull component in Mithril without any hook...

```js
const Counter = function () {
  let count = 0;
  const increment = () => count += 1;
  const view = function () {
    return  [ 
      m("h3", `Counter : ${count}`),
      m("button", {onclick : increment}, "Inc me")
    ]
  }
  return { view }
}

m.mount(app, Counter)
```
You can test it here : [Simple Counter](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgAcA+AHTQAJeAEjABOMXhDi8M-OMQyMwAVyi86WNvSbFxfALIRihYdArioURbOHyxAIwCeU3nAjrYq2ooYieLAPScPL4AJhAAbuLBALxcIBhsbLHcfLy+fqFhHJQgcDCw1MQQ9AiIIACMiADsACwgAL4U6Ni4pfgAVghUdN7Mpd2yvADCnt7CvFG8SmgFRXwAFACUvMA8-LDadF7aEwAMANyrHmgDENOiOAzjvIvjHB5bvADUE2UHKf3aYRAwAO5XUzN6NclisUvxRMRFMIUshUmD+LwsHNYoQAMyxUwAA2GWxEvEQvAAJMBNgw6piFhRDgjEciQLZFMRiPQMct6NQoBBqABrfE6ajnLQNVIgACS00RMFiC2pvAAuoc6ocIVC+MBeF9frwlWgdTwsPgsCNiHN4mxTDjRgtsmo2NARHhbBhbHlsrl8oVingygAmRA+soAWh2iB29UaIEwODw+GocE6NHojF69NowUcoP4tloAA9Ay4AF6nADmBOzwmCIkD2Zzb34bAwwVCaFLvFROzYtcOPB1pzYjOWh1CcDYUAw9jLUFoPLrvB+EGChgJPp2Ha7KSwGGExdOBP2h0IMAgxZIBLK51nm+3p2rtCZtCwZ7Xbz1aB47pgBUHKXni8Iy52AAOTtLy3Hc0FDWdD2PU9eDKfAAFZzh7II0DHF0VEzXhh1HcdJ2nblQOvNBb3vR9eAQkCULfNBCB9b9+EYHNiEDDBOWLCDVC0EQX1QvtGWQYh7DYGAYhyRRbCwAxYjlBi5wXJdeEqZ8DyPE9iDPRCLyHCRcInXhbCnGdDivcDA2ZNgAKo3VUPwU5iGEWhvx4MAk0DMBsGgfSAHIAHVaGEXkAGUMGObzTDgUK4HzEQIDAF83TyT9PWOPA-TKAA2eo5SoTk0G5EpUEjZo8CkwxjHIKgoXIUoSGINg4EQPw-C8NhuWLWMHz8MqjGgAABH18B2fBqm6gxeqgQ1TnaBMhJEvA4AFCA2GIbKqCjFoQAAEXsKMuQABUckThEKeAgqSgp6iAA)
What is Software Development Sprint?
Tags: scrum, sprint, dailymeeting
Published: 2020-04-27 12:09:29

---
title: What is Software Development Sprint?
published: true
description: Scrum is a framework that allows a team to work together by organizing and managing meetings, tools, and roles. The most important element in scrum is called sprint, which is a short time period in which the team must work together to finish a set amount of work.
tags: scrum, sprint, daily meeting
cover_image: https://asperbrothers.com/wp-content/uploads/2019/09/750_5797-kopia-853x470.jpg
---

To read the whole article please go to https://asperbrothers.com/blog/software-development-sprint/.

We live in a highly competitive world. New products are constantly developed and swiftly brought into the market where companies are pressured to deliver innovative products faster and faster. How else will they find themselves on top of the competition? Simply put, by using scrum. 
In this article you’ll learn about:

Key elements, roles & responsibilities of software development.
4 biggest benefits of software development sprints.
Which tools will help you run your development sprints? 
Scrum is a framework that allows a team to work together by organizing and managing meetings, tools, and roles. The most important element in scrum is called sprint, which is a short time period in which the team must work together to finish a set amount of work.

Here’s everything you should know about what constitutes an effective  software development sprint: 


Software development sprint: key elements, roles & responsibilities 
Each software development sprint involves what we’ll call scrum artifacts (i.e. product backlog, sprint goal, sprint backlog) and scrum ceremonies (i.e. product backlog refinement meeting, sprint planning meeting, daily stand-up meeting, sprint review, sprint retrospective). 

When you’re starting a scrum project, you’ll want to consider the number of sprints that you want to include. Each sprint will last roughly 2-4 weeks. This will help you understand the role of each sprint in accomplishing your goals. 


![scrum](https://dev-to-uploads.s3.amazonaws.com/i/wqjepdfkzvbdm4d1gdhp.jpg)

To continue reading go to https://asperbrothers.com/blog/software-development-sprint/.
Daily Developer Jokes - Monday, Apr 27, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-04-27 12:00:20

---
title: "Daily Developer Jokes - Monday, Apr 27, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Monday%2C%20Apr%2027%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1259a37a785.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

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

<!-- 
Joke text:
A new database query walks into a bar.

The server says "Sorry, cache only."
 -->
Just released sequel-activerecord-adapter gem
Tags: ruby, rails
Published: 2020-04-27 11:45:26

[Sequel](https://github.com/jeremyevans/sequel) is a superb database library for Ruby. However, it can be difficult to get started with it in an app that already uses ActiveRecord, because Sequel requires its own database connection.

So I've created the [sequel-activerecord-adapter](https://github.com/janko/sequel-activerecord-adapter) gem that allows Sequel to reuse the existing ActiveRecord connection for its database interaction.

```rb
require "sequel-activerecord-adapter"

ActiveRecord::Base.establish_connection("postgresql:///mydb")

DB = Sequel.activerecord # reuses the ActiveRecord connection

DB.tables #=> [:users, :articles, ...]

DB[:articles].insert(title: "Sequel ActiveRecord Adapter")
DB[:articles].all #=> [{ title: "Sequel ActiveRecord Adapter" }]
DB[:articles].update(author_id: 2)
```

This means you can now easily use Sequel in parts of your app that might be more performance-sensitive or require more advanced database queries that ActiveRecord doesn't support.

It also means you can use libraries like [Rodauth](https://github.com/jeremyevans/rodauth/) that use Sequel under-the-hood without increased performance and mental overhead that would come with separate database connections.
Adding TikTok Embed Support To Wagtail
Tags: tiktok, embed, wagtail, django
Published: 2020-04-27 11:38:27

TikTok videos are a lot of fun to watch. People get super creative with the limited amount of time they have. No wonder some of our clients requested being able to embed TikTok videos into their CMS pages, mainly blog articles.

The Wagtail docs do cover [adding custom embeds](https://docs.wagtail.io/en/v2.8.1/advanced_topics/embeds.html#custom-embed-finders) to [your configuration](https://docs.wagtail.io/en/v2.8.1/advanced_topics/embeds.html#customising-embed-providers), but at first glance it's not completely straight forward. So we hope to clear things up a bit, by example, in a couple of minutes.

#Adding support for TikTok oEmbed

First, a big and loud "thank you!" to TikTok for [supporting the oEmbed standard](https://developers.tiktok.com/doc/Embed). There are platforms that don't and it makes embedding less trivial, but let's not get into that.

First, fire up your Django settings (`settings.py`) and then add the following:

```python
# CUSTOM OEMBED PROVIDERS
tiktok_provider = {
    "endpoint": "https://www.tiktok.com/oembed",
    "urls": [
        # 'https://www.tiktok.com/@memmesson/video/6797323084085890309'
        r"^http(?:s)?://(?:www\.)?tiktok\.com/@\w+/video/\d+$",
    ],
}
```
This specifies the provider itself. It also tells Wagtail which URLs are considered valid, via the regular expression pattern above.

Now, we need to add that provider to the list of valid providers:

```python
WAGTAILEMBEDS_FINDERS = [
    # Register tiktok
    {"class": "wagtail.embeds.finders.oembed", "providers": [tiktok_provider],},
    # Handles all other oEmbed providers the default way
    {"class": "wagtail.embeds.finders.oembed",},
]
```
That's it! If you now fire up any CMS page that supports embeds, you can simply paste the direct TikTok video link and the embed will load right away.
Why We Love Coding
Published: 2020-04-27 11:37:00

Without programming, a lot of things would have not existed today. Even if they did, they won't work properly.

Today, developers are able to create a lot of things with the help of coding.

Facebook wss developed using php, laravel, etcetera.

https://www.recruitmentboy.com.ng

https://currentschoolgist.com

https://www.myschoolbeam.com.ng

https://www.mytechguide.com.ng

https://www.allgpstracker.com

https://www.financialexpert.com.ng
Using SQLite in .NET Core Azure Web App
Tags: sqlite, dotnet, azure
Published: 2020-04-27 11:34:09

Photo by Verne Ho on Unsplash

*Originally published on my blog at [halldorstefans.com](https://www.halldorstefans.com/using-sqlite-in-net-core-azure-web-app/) on 27. April 2020*

This is going to be a short demonstration on how I use SQLite in my API hosted in Azure.

Few assumptions I'm making:

- Your application is finished and you're ready to deploy to Azure
- Your database is not big

This demonstration is based on [this tutorial](https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vscode?view=aspnetcore-3.1) from Microsoft

1. **Create a Release Package**

    Open your terminal and make sure you're in the right folder.
    In my case, that was at the same level as the '.sln' file was.
    If you don't have a '.sln' file, maybe your have a '.csproj' file.

    Run the following command to create a release package in a subfolder called publish:

    ```dotnet
    dotnet publish -c Release -o ./publish
    ```

2. **Copy database to the new folder**

    This step is kinda the only difference versus the Microsoft tutorial :)

    Copy-Paste your database, for example 'my.db', into the newly created 'publish' folder.

3. **Publish to Azure**

    There are few ways to publish to Azure.

    I usually start in the [portal](portal.azure.com) and create what I need there.

    Then, since I'm using Visual Studio Code and have the Azure App Service extension, I do the following:

    1. Right-click the publish folder and select Deploy to Web App...
    2. Select the subscription I want to use to create the Web App
    3. Select the Web App I want to deploy to
    4. Hit 'deploy' in the pop-up window

4. **Set Connection String**

    Once the app has been deployed to Azure, you set your connection string in the Azure App Service.

    You can find the setting under *Settings -> Configuration -> Connection strings.*

    There you create a new connection string, for example:

    |||
    |---|---|
    | Name | SQLiteConnection |
    | Value | Data Source=mydb.db; |
    | Type | Custom |

5. **Ready**

    Your application will now use the database in the publish folder that was deployed to Azure.

Hope this helped.

If you want to migrate from SQLite to Azure SQL Database, you can use [this tutorial](https://docs.microsoft.com/en-us/azure/sql-database/tutorial-sqlite-db-to-azure-sql-serverless-offline) for that. 
*I did try to do this, but I was in a hurry and it failed. Might try again later.*

---

Thank you for reading. For weekly updates from me, you can sign up to my [newsletter.](https://email.halldorstefans.com/)
What is the purpose of accessibility testing?
Tags: testing, a11y
Published: 2020-04-27 11:32:14

Testing a web application so as to ensure that every single client can without much of a stretch access the site is known as Accessibility Testing. The specific and committed part of testing that guarantees that sites are surely viable around there is classified "Web Accessibility Testing". 

The myth about Testing Website Accessibility Testing

Myth1: It's costly. 

Fact: Precaution is in every case superior to fix, so we can consider availability issues at the structure stage itself and lessen the expense. 

Myth 2: Converting out of reach site to get to is a tedious one. 

Fact: We can organize things and simply take a shot at fundamental needs. 

Myth 3: Accessibility is plain and exhausting. 

Fact: Accessibility doesn't imply that a site should just contain content. We can likewise include pictures and make it progressively alluring however the point to be noted is that it ought to be available for all. 

Myth 4: Accessibility testing is for visually impaired and incapacitated individuals. 

Fact: Software is helpful for all and thus this testing is for all the clients.

Importance of Accessibility Testing

Simple and proficient access to clients with disabilities or difficulties 

Builds a piece of the overall industry and crowd reach 

Improves practicality and effectiveness 

Fulfilled existing and future legitimate necessities and follows morals 

Support internationalization

Assist in access for low-transmission capacity clients. 



Key Points for <a href="https://www.testingxperts.com/services/accessibility-testing/ca-en">website accessibility testing</a> satisfaction

Using simple language. 

Predictable Navigation. 

Connection content ought to be clear. 

Divide large sentences into small simple sentences.

Try not to utilize marquee content. 

Provide appropriate images where possible.
All about Wifi range extender setup?
Tags: netgearextendersetup, newextendersetup, netgearwifiextendersetup, netgearnewextendersetup
Published: 2020-04-27 11:32:10

If you want to know "how to choose a right wifi extender for your place?" Then don't take any doubt in your mind. Just check Mywifiext or contact at 1 866-606-3055 and get the best solution of your problem regarding to netgear extender setup or new extender setup.

You can also visit the site... <a href="https://mywifiext-net.support/netgear-extender-setup/">https://mywifiext-net.support/netgear-extender-setup/</a>
Gabut Mode On: Bikin Aplikasi Inventaris Kosan (Bagian 1 - Rencana)
Tags: webdev, vue, tailwindcss, bahasa
Published: 2020-04-27 10:59:27

## Halo.

Pada kesempatan ~~menghindar dari pekerjaan kantor~~ ini, saya punya rencana untuk membuat aplikasi inventaris kosan berbasis web. Masih rencana.

Saya akan membagikan prosesnya, dari awal sampai (semoga) selesai, dengan harapan bisa menjadi bahan ajar untuk kawan-kawan semua. Disini saya akan menggunakan [VueJS](https://vuejs.org) dan [TailwindCSS](https://tailwindcss.com). Bagi yang belum siap, ada baiknya kembali ke JavaScript atau CSS dulu. Daripada buang-buang waktu buat pusing. Hehe. Tapi kalau pusing adalah jalan ninja kalian, ayo pusing bareng!

---

Aplikasi ini (nantinya) akan saya gunakan sendiri untuk mendata barang-barang yang ada di kamar kosan saya, bukan untuk hal-hal berbau bisnis properti kosan hlo, ya.

Sebelum aplikasinya jadi, sudah pasti ada beberapa ritual yang mesti saya lakukan dulu. Yang pertama adalah perencanaan. Seperti kata pepatah, entah yang mana:

> Hasil yang baik adalah buah dari perencanaan yang baik. - Ngarang, 2020

Mari kita mulai.

---

## Konsep

> CRUD -> To Do App -> Inventaris Kosan App

Konsepnya sederhana aja. Pada dasarnya aplikasi ini hanya pengembangan dari tutorial JavaScript untuk pemula. Kalian yang bisa JavaScript pasti pernah membuat aplikasi To Do App, atau semacamnya, yang menggunakan fungsi CRUD (Create, Read, Update, ~~Dadakan~~ Delete).

## Alat dan Bahan

Karena mengutamakan yang saya mampu dan sukai, saya akan menggunakan [VueJS](https://vuejs.org) dan [TailwindCSS](https://tailwindcss.com). Selain itu, tidak menutup kemungkinan untuk menambah alat dan bahan yang lain. Siapkan juga Google. Pasti butuh.

## Fitur

Untuk mengerti fitur apa saja yang akan ada pada suatu produk, bisa dimulai dari user stories, atau cerita-cerita user. Siapakah yang dimaksud user? Ya calon pemakai aplikasinya. Disini saya berasumsi calon pemakainya cuma 1, yaitu saya sendiri. Maka, sebagai user saya ingin aplikasi ini bisa:

1. Mencatat barang-barang saya
2. Menampilkan daftarnya
3. Mengubah data barang
4. Menghapus barang
5. Kalau bisa ya ada total harga barang-barangnya
6. Makasih banget nih kalau misal bisa di-PDF-in
7. ...

Mulai aneh-aneh mintanya. Namanya juga klien.

## MVP

Iya in aja dulu. Catet. Tapi untuk saat ini saya harus fokus ke MVP, atau Minimum Viable Product, atau produk seadanya yang penting bisa dipake dulu. Ini dia fitur-fitur yang terpilih untuk dieksekusi duluan:

1. Mencatat barang-barang
2. Menampilkan daftarnya
3. Menghapus data barang

---

Cukup sampai di sini. Silakan ngopi-ngopi dulu. Ketemu lagi di bagian [selanjutnya](https://dev.to/farishan/gabut-mode-on-bikin-aplikasi-inventaris-kosan-bagian-2-analisa-35di). Dadah.
Expired domains
Tags: expired, domains, expireddomains
Published: 2020-04-26 12:05:21

Climbing on the Searching Engine ladders is tedious work. Especially Google has some set of algorithms for ranking which are not exactly known to anyone but some proven techniques which are working perfectly for decades are applicable. Backlinks are most important factor for ranking on Google. Competition on search engines is increasing day by day. Now a days everyone is focusing on micro niche. 
Why am I narrating this story of ranking ranking and ranking on search engines? How is it related to expired domains?

The Answer to the above question is that Expired domains have been important from many years in the ranking process on search engines. Expired domains provide backlinks which assist in ranking process of keywords. But there are good and bad domains. Good domains have these factors:
 1) Domain Authority:
       Domain Authority should be high.
 2) Page Authority:
       Page Authority must be high.
 3) Spam Score:
       Spam score of domain should be less. Check spam score of your domain on <a href="https://spamscorechecker.net">https://spamscorechecker.net</a>
 4) Backlinks:
       Backlinks should be relevant and not spammy.
 6) Google Index:
       The domain should not be penalized by google. Google index should be checked be checked.
 This expired domain website <a href="https://expiredomains.today/">https://expiredomains.today/</a> has all these options. Another very important tool of this site is the vast search options which include:
  1) Keyword
  2) DA/PA selection
  3) Spam score
  4) Status (free or premium)
Find high quality domains here and make great site which will rank on Search engine with less efforts.
The Front End Podcast - Episode #6
Tags: career, podcast, frontend
Published: 2020-04-27 10:29:16

Choo choo, here's the podcast train, arriving at episode 6 of [The Front End](https://thefrontendpodcast.site). 

In this episode front end recruiter [Emily Beardshaw](https://www.linkedin.com/in/emily-beardshaw-08a93017b/) talks about improving your CV to maximise your hiring chances, the state of the front end job market, and keeping your job search cool in a crisis.

Listen to episode 6 today on the following channels:

- Apple Podcasts > https://podcasts.apple.com/gb/podcast/the-front-end/id1499349107
- Pocket casts > https://pca.st/osul2zsa
- Spotify > https://open.spotify.com/show/4GuAxptrtY8Es5iHwp09dT
- Anchor > https://anchor.fm/the-front-end

## About episode 6

Emily Beardshaw is a front end recruitment specialist working for Yorkshire-based firm, Oscar Technology. She's seen the ups and downs throughout the interesting times of COVID-19 and how to keep focussed during challenging times. Emily shares her knowledge of what employers are looking for in today's front end job market, as well as some valuable pointers on making your CV stand out.

## Listening direct

Want to listen directly from here?

{% spotify spotify:episode:0R9GmGENlLW5LnszS6wWEu%}

## Want to be a guest or sponsor the show?

I'm definitely looking for guests to talk about a range of different development topics from careers to origin stories, learning and professional growth, frameworks and more.

Similarly, we're looking for sponsors to fill promotional slots within the show. 

You can find out more here:

- [Being a guest](https://thefrontendpodcast.site/guests)
- [Sponsorship information](https://thefrontendpodcast.site/sponsorship)

Thanks for listening!
now 
Tags: serverless, deploymenteasy
Published: 2020-04-27 10:27:12

---
title: now 
published: true
description: Serverless deployment 
tags: Serverless, Deployment easy
---
In recent times, my mentor advice me to use "now - Serverless deployment for web app". Seriouly it is quite easy and friendly to build our simple web app to show demo to anyone anywhere..
Day-15 Reverse words in a string
Tags: python, challenge
Published: 2020-04-27 10:24:02

##### Background
This problem statement is a part of LeetCode's card Arrays and Strings. Under the sub-heading Conclusion.

##### Problem Statement
Given an input string, reverse the string word by word.

##### Example 1
```
Input: "the sky is blue"
Output: "blue is sky the"
```
##### Example 2
```
Input: "  hello world!  "
Output: "world! hello"
Explanation: Your reversed string should not contain leading or trailing spaces.
```

##### Example 3
```
Input: "a good   example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.
```

Note:
   1. A word is defined as a sequence of non-space characters.
   2. Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.
   3. You need to reduce multiple spaces between two words to a single 
      space in the reversed string.

##### Solution Approach 1
1. Replace double space with single space. 
2. Remove leading and trailing spaces.
3. Reverse.

```
class Solution:
    def reverseWords(self, s: str) -> str:
        s.replace("  ", " ").rstrip().lstrip()
        string = s.split()
        string.reverse()
        return ' '.join(string)
```

##### Learnings and takeaways from the above snippet
1. We have hardcoded 2 spaces. Hardcoding in programming should never be done.
2. If count of consecutive spaces is increased. The code would fail.
3. Using built-in method reverse() could appear as a shortcut. 

##### Updated solution overcoming the shortcomings listed above.
1. s.lstrip().rstrip().split(). Takes care of multiple spaces, leading spaces, trailing space.
2. replace reverse() with implementation of reverse.

```
class Solution:
    def reverseWords(self, s: str) -> str:
        string = s.lstrip().rstrip().split()
        start = 0
        end = len(string) - 1
        while start < end:
            temp = string[start]
            string[start] = string[end]
            string[end] = temp
            start += 1
            end -= 1
            
        return ' '.join(string)
``` 
Ps:
Last section of the post. Which starts from learnings from the shortcomings of the above snippet is updated after seeing the first comment.
#PureCSS - Responsive Lady in Blue Potrait
Tags: codepen, css, purecss
Published: 2020-04-27 10:18:47

---
title: #PureCSS - Responsive Lady in Blue Potrait
published: true
tags: codepen, css, purecss
---

<p>Responsive Lady in Blue Potrait using HTML and CSS</p>

{% codepen https://codepen.io/AsyrafHussin/pen/zYvwemL %}
My Portfolio 👨🏼‍💻
Tags: webdev, react, nextjs
Published: 2020-04-27 10:10:15

## My Portfolio

Since I planned to work in Germany or the US as a career, I created my new portfolio homepage. I used **reactjs**, **nextjs** in the project and this is my first project using dark mode.

I write here because: I would like you to get a few feedback, learn more about me, support them if you are a beginner, check out my open source projects I've done so far.

My portfolio : http://beratbozkurt.net/