teleren/devto huggingface dataset:
Python Frameworks for building Desktop Applications
Published: 2021-10-05 06:36:27

Python is one of the most potential programming languages that can help develop web, mobile, and desktop applications without a keen knowledge of programming.

A good Framework can make any <a href="https://externlabs.com/blogs/top-10-python-frameworks-for-game-development/">Python programming</a> easier. Python offers various frameworks for different purposes and solutions with integrated tools and functionalities. Frameworks make development focused on application logic rather than common elements; They automate the implementation of tasks. You can work with and without frameworks but you should use frameworks for phone development.

Here are five most user-friendly and effective <a href="https://externlabs.com/blogs/python-frameworks-for-desktop-application/">Python desktop application development frameworks</a>

PyQT

PyQT is an Application and GUI toolkit framework with one of the most powerful and popular Python interfaces. It has the Qt library and python programming language that allows the developer to create programs by coding and create visuals by Qt Designers.

PyQT is free-to-use binding software with open-source widget toolkit QT implemented, a Python framework that can help developers build cross-platform, web, desktop, and mobile applications.

Tkinter

Tkinter is one of the most popular programming frameworks for Desktop apps and GUIs. It is a combination of the Tk and Python GUI frameworks. It is named Tkinter because of its simple UI and UX; development beginners can easily use it for python desktop applications.

Tkinter has an abundant source of codes and reference books that makes it a popular choice. In addition, it has various widgets, like labels, buttons, and almost everything that you might need in your python desktop development process and GUI Designing.

Kivy

Kivy is open-source; OpenGL ES 2 accelerated framework for building new user interfaces and experiences for desktop apps. Kivy empowers its users with easy to write and run codes on cross-platforms. Kivy made python desktop application development fun, easy, and rewarding because of its open-source python library for application development and GUIs. In addition, it comes with 20 widgets that enable developers to design natural UIs.

wxPython

wxPython is one of the best python frameworks for desktop application development with GUIs. It can build cross-platform graphical UI with python programming language. wxPython toolkit allows developers to create interactive and natural user interfaces.

Python development is easy, simple, and fast with wxPython. wxPython is known as a Python extension module that binds GUI elements from wxWidget cross-platform library.

Bottle

Bottle can generate only a single file for each development work created by it. Therefore, bottle is known as the most effective Python desktop development framework. Bottle framework allows developers to build applications closer to the system hardware and quickly builds APIs.
Tools Parse HTML, Kegunaan dan Manfaatnya untuk Blogger
Tags: webdev, php
Published: 2021-10-05 06:10:44

Silahkan pergunakan tools berikut untuk mem-parse kode HTML yang ingin ditampilkan dalam postingan Anda! Semoga bermanfaat.

<a href="https://www.sitedayexe.com/2021/09/tools-parse-html-online-dan-cara.html">Tools Parse HTML</a>
<a href="https://www.sitedayexe.com/p/parse-html-codes.html">Parse HTML codes</a>
Parse HTML Converter Online
Tags: webdev
Published: 2021-10-05 06:08:38

Alat parse HTML online gratis dari Pedomane Blog yang bisa digunakan untuk memparse kode-kode iklan Adsense sehingga bisa dipakai di blog.

Gunakan alat parse html (parser/converter tool) untuk parse kode iklan Google Adsense atau kode iklan lainnya untuk disisipkan di template Blogger (HTML) agar kode bisa terbaca dan iklan tampil di halaman blog Anda.

Cara parse kode iklan Adsense sangat mudah yaitu pertama-tama letakkan skrip iklan Adsense kotak di bawah, lalu klik tombol “Konversi”. Maka kode iklan Adsense hasil parse/convert akan tampil. Silakan disalin kode iklan yang telah diparse tersebut dan tempelkan kode tersebut sesuai dengan kebutuhan Anda.


<a href="https://www.sitedayexe.com/2021/09/tools-parse-html-online-dan-cara.html">Tools Parse HTML</a>
<a href="https://www.sitedayexe.com/p/parse-html-codes.html">Parse HTML codes</a>
Notes on Thread and threading module in python
Tags: python, thread
Published: 2021-10-05 06:05:16

This post encompasses some notes about thread and 
__Threading__  module in python, that I used as a quick recap.

## What is Thread.
__Thread__ Is a basic unit of CPU Utilization, the smallest unit of processing that can be performed in OS and an entity within a process. One process can have Multiple threads.


## What thread contains?

It contains specific information in a Thread Control Block (TCB) such as :
  - Thread ID which is assign to every new thread.

  - Stack pointer that contains the local variables under thread’s scope.

  - Program counter Or Register that contains the address of the current instruction being executed by the Thread.

  - Parent Process Pointer to point to Process control block 
  __(PCB)__ of the parent process that this thread lives on.




__Threading__  module provides a very simple and intuitive API for implementing multiple threads. *Thread* in this module encapsulates threads and provide an interface to work with them.

 Python has a complicated relationship with threading thanks to its GIL,

To create a new thread is by calling `threading.Thread`


```python

from threading import Thread

def foo():
	print("Hola Hola")

f1 = Thread(target = foo)
# the thread will never be executed unless `start` is called
f1.start()
```
> Note Start will run and terminated. Calling `thread_name.start` again will cause a `RuntimeError`






  [You can find the code in the following repository](https://github.com/Rowida46/Python-for-profesional/tree/main/thread), It's a chapter within a repository for the book [Python for professional Book repo](https://github.com/Rowida46/Python-for-profesional).

## To Read:

- [How to Kill a Thread](https://stackoverflow.com/questions/323972/is-there-any-way-to-kill-a-thread)

- [StoppableThread & ch116.5](https://stackoverflow.com/questions/47912701/python-how-can-i-implement-a-stoppable-thread)
The main 3 point of Null safety in Flutter
Tags: flutter, dart
Published: 2021-10-05 05:58:24

This is would be a quick summary of null safety, explained in 3 points.

1- Question mark  (?)

2- Exclamation mark (!)

3- late keyword 


1 - Question mark (?) = Nullable
This can be used to tell compiler that this variable can be null.

String? name ;

If (?) is removed there would be a compiler error. as this variable could be null.

2 - exclamation mark (!) = Non Nullable
 When converting from String ? (nullable string) to String 
 there would be no error as (nullable string) can contain a 
 value or can be null.

 String name = "ahmed"; (Non nullable)
 String? newName = name; 👌👌

 The problem when converting from String to String ? (nullable 
 string) as String cannot contain a null value.

 String? name ; (Nullable)
 String newName = name; 🤦‍♂️🤦‍♂️ (Compiler error )
 
 And this can be solved in 3 ways : 
 1 -  
 String? name ;
 if( name!=null ){
 String newName = name;
 }

 2- 
 String? name ;
 String newName = name ?? "ahmed";

 3- 
 String? name ;
 String newName = name !;

 last solution is using (!) when we tell the compiler that 
 name cannot be null and you should be sure of that and this 
 is preferred to be used under restricted condition otherwise 
 there would be a runtime error if name is null.  

3- late keyword
This is simply can be used when you assign a value to a variable but later on like when you do in initState() function.

late String name ;
void initState() {
   name = "ahmed"    
   super.initState();
  }

Hope this was a helpful review on Null safety principles in Flutter.
Thank you for reading.
How to Perform Editing in Blazor TreeGrid
Tags: blazor, webdev, dotnet, csharp
Published: 2021-10-05 05:29:37

Learn how to enable editing options in the [Blazor TreeGrid](https://www.syncfusion.com/blazor-components/blazor-tree-grid) component of Syncfusion. You will also learn about the different cell edit types and modes. Also, see how to add command columns in the TreeGrid. 

**Blazor TreeGrid - High-performance Component**

* Load large amounts of data by dynamically loading child data on demand.
* Include flexible UI interactions like expanding and collapsing parent records, dialog editing, and more.
* Attractive UI appearance with built-in themes such as fabric, bootstrap, etc.

Download an example from GitHub: [https://bit.ly/3l21o3j](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbnlzak1QeVFSMnZ4aGpyRGVWa1NSUlFnSkU0d3xBQ3Jtc0tsTzVuVzh3Mi1lemZKSG54aWNmUnhKYnhsQlA4YjhuSUZwd0JWWlNaMTBoaHY3TEhnWl9WYUJETEp2WkJMR0FvMEVlU19mTmtmSFFtdWhacUhjNzZuUjNFWTRyMHNqaFQyRUhtOG92R3Q5SWVmQzVIcw&q=https%3A%2F%2Fbit.ly%2F3l21o3j) 

Refer to the following documentation on the editing feature in the Blazor TreeGrid component: [https://bit.ly/3kRMf7j](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbGFHd2FUUl85QzRaak5MWkhaYzdpNG9idTdkZ3xBQ3Jtc0trekVIeERMbWNYNUlMNzVyUmF1aDB6SmNzd3JZYzVkZDdsNzhRY3h1cExxQmxiUk5HdTNGV1VhQkFkRi1WeHNOUTFJTm95em1oUTV1ZDVqbng1R21PYVd6SkdJLUlocXU4Y01PQU84UlZpWjZqNG9OTQ&q=https%3A%2F%2Fbit.ly%2F3kRMf7j) 

Check out this online example of an editing feature in the Blazor TreeGrid component: [https://bit.ly/3F1FvMa](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbXZ6VEFvOXhUaWEwMDBQSzFRcDF6ZEZ5Wl9CQXxBQ3Jtc0tta3prVnlDMlVpRkk5NDRmTDhZTGgzRWcxTHZTWU9DaVZnckN2QVVTeDFnUUNydGN3YXF2ZC1IUmpENzQ5WUd3NFhTWmRxMS12NVFCTHpPc2lqMDVkT2ppV2tHYUhWbExmbWZiUTNwMmJoMUp3ZUFkQQ&q=https%3A%2F%2Fbit.ly%2F3F1FvMa)

{% youtube 5\_g3yr8ASys %}
I published my first extension. Only for developer
Tags: showdev, javascript, webdev, productivity
Published: 2021-10-05 05:22:13

Hello folks,
Programmer either experienced or beginner they always  copy some codes from stackoverflow , codepen.io and other sites. But copy codes manually using keyboard button **ctrl+c** take some time and effort.

**'Auto Copy Pro'** extension copy automatically codes/text from any websites to your clipboard and you can paste anywhere you want. You just have to select the text.

This simple extension save your time and boost your productivity.

###Download Link
**[Auto Copy Pro](https://chrome.google.com/webstore/detail/auto-copy-pro/dggjedhladcgnhkehemidebdddebfkad)**

Give me feedback please.
I'm a web developer, connect with me on twitter it would be fun.
[@rahmanxyz](https://twitter.com/rahmanxyz)
Automated Website testing with Ghost Inspector
Tags: softwaretestingcompany
Published: 2021-10-05 05:14:48


What is Ghost Inspector?
Ghost Inspector is an automated browser testing tool for continuously checking sites. A considerable lot of those sites run on WordPress. After bunches of interest from clients, Justin Klemm, developer of ghost inspector,developed a plugin to show Ghost Inspector test results directly inside WordPress administrator board. The plugin empowers you to show the most recent test results for a single suite on the dashboard of any self-hosted WordPress installation. Continue pursuing to figure out how to install and set up the plugin.

Ghost Inspector makes it easy to guarantee your site is working appropriately with no programming or testing experience required. Regardless of whether your group is composed of engineers, manual testers or beginners in testing, our instinctive set of devices will permit you to achieve your objectives.

Ghost Inspector is an automated site testing and observing services that checks for issues with your site or application. It does tasks in a browser, a similar way a client would, to guarantee that everything is working appropriately.

To begin, first sign up for a free preliminary account. To make tests, you can install a test recorder in your browser or utilize a hosted test editor. Tests are run from cloud administration. You can set tests to run consistently on a schedule, setup notifications, and control different parts of your testing.

It has the following features:

Test Recorder & Codeless Editor
Video & Screenshot Comparison
Multiple Browsers & Screen Sizes
API & Third Party Integrations
Advanced Test Scheduling
Parallel Testing by Default

Read more, please click on the link below,
https://www.fleekitsolutions.com/automated-website-testing-ghost-inspector/
Number Guessing Game
Tags: javascript, html, gamedev, css
Published: 2021-10-05 05:06:11

# Intro

Hey everyone! This is a number guessing game I made. Let me know if you like the code!

***
# Description/Instructions

Guess the number! Hint: It's between 1-100.

***
# Outro

Thanks for reading and playing! Here are some socials.

Repl Profile: [dudeactualdev](https://replit.com/@dudeactualdev)

Github Profile: [dudeactual](https://github.com/dudeactual)

Github Repository: [Number-Guessing-Game](https://github.com/dudeactual/Number-Guessing-Game)

#### DEMO: [guessing-game](https://Guessing-Game.dudeactualdev.repl.co)
How to create awesome Github profile
Tags: github, markdown, git
Published: 2021-10-05 05:03:41

### In this blog post I'm gonna show you how to create a amazing github profile. This feature is a secret feature provided by github.

I will show you two methods to create github profile readme
  - By writing markdown self
  - By using profile readme generator

First, create a new repository whose name is same as your username. As you can see in below image.
![Create Repo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mkx5ogyir50nor64urso.jpg)

Make this repository public and click on add readme.md and then  finally click on create repository.
![Create Repo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qd4blqyxu8380buzwnbo.jpg)
##Method 1

Now, you can see your profile readme is generated.
Click on that highlighted button in image to edit this readme.
Use markdown to edit this.
![Edit Repo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5at1h0i9gvsy4wnh5i9.jpg)

## Method 2

Visit the link [Here.](https://share.streamlit.io/rahulbanerjee26/githubaboutmegenerator/main/__init__.py)
Enter the information as asked. If you don't have some information like twitter account left it blank.
At bottom click on generate Readme and you get your profile readme. Download it and paste the in the readme you have generated in first method.

In next post I will show you how to write makrdown step by step. 
Stay tuned with me. If you have doubt ask me on comment section.
Ruling Discord since 2021
Tags: showdev, python, discuss, beginners
Published: 2021-10-05 04:56:15

I've made a Discord bot with python, called Tux, heavily Linux Inspired. But with a lot of fun features. It's pretty nice bot, with awesome multipurpose features

Repository: https://github.com/arghyagod-coder/tuxbot

Invite Link: https://discord.com/oauth2/authorize?client_id=888027860823060500&permissions=466003394369&scope=bot
Do you think I should start a newsletter?
Tags: discuss, help, news
Published: 2021-10-05 04:41:55

For a while, I've been considering making a newsletter. If you have a moment, and you're interested in it, I'd like to know these things from you:

- What stuff should I include in the newsletter (blog posts, projects, sites, etc.)
- How would you like the newsletter (email or blog post)?

Can't wait to see your opinions!
Get Automatic Meta Data Audio Duration
Tags: tutorial, javascript, webdev, html
Published: 2021-10-05 04:20:18

When I have a lot of audio list data displayed, the audio duration information presented is also important to display, the problem will arise when the data is large and dynamic. The data display will be as follows.

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

### Prerequire
- Javascript script functions, arrays
- Jquery selection

### Html durasi audio
In the html there is a class `duration-time` which will be used to collect duration data, while {$k} will show the unique sequence/numbering of duration.

```html
<small class="text-muted small pb-3">
    <i class="fas fa-clock"></i> <span src-mp3="http://src.mp3" class="durtime{$k} duration-time" num="{$k}"></span>
</small>
```

### Function Get Duration
This function will retrieve the duration audio meta data which will then be sent to the `cb()` . function

```js
    function getDuration(src, cb) {
        var audio = new Audio();  
        audio.src = src; 
        $(audio).on("loadedmetadata", function(){ 
            var minutes = parseInt(audio.duration / 60, 10);
            var seconds = parseInt(audio.duration % 60);
            if (seconds < 10){ seconds = '0'+seconds; }
            if (minutes < 10){ minutes = '0'+minutes; }
            var durasi =  minutes+":"+seconds;
            cb(durasi);
           // console.log(durasi);
        });     
    }
```

### Running the script
After that, the large amount of data will be collected into an array which will then be queryed and run the `getDuration()` function and the cb() function will be filled with writing data to the `durtime${k}` class based on the `k` order.

```js
  var alldur = $('.duration-time');
  alldur.each(function(){
    var srcs = $(this).attr('src-mp3');
    var nums = $(this).attr('num');
    getDuration(srcs,  function(e){
      $(`.durtime${k}`).text(e);
    });
  });
```
***Done***
DPS909 - Lab 3 Blog
Published: 2021-09-30 03:57:50

## Lab 3
For this week in Open Source Learning, we had to implement two new features, and also learn to use git merge. The functionalities that I chose to implement into my Static Site Generator could be found here:
1. [Issue 1] (https://github.com/roman-rezinkin/RomanStaticSG/issues/19)
2. [Issue 2] (https://github.com/roman-rezinkin/RomanStaticSG/issues/21)

The details could be found by clicking into the issues, but to summarize, I chose to add the ability for the horizontal line within html. With the user specifying the markdown syntax of ("---"), I was able to implement a <hr> tag that would generate the horizontal line.

The second issue addressed the ability for a new command line argument. The user could now have the ability to specify the root html tag language. By using ```python romanssg.py --lang="some language code"``` or ```python romanssg.py -l="some language code"```, the generated html will take the language code and add it into the root html tag. If the user does not specify the command, the default of "en-CA" is used.

I also took the opportunity in Issue 2 to fix my issue of having global variables.

Instead of creating Pull Requests, we had to use the git merge function. Once I confirmed that my code works, I used ```git checkout main```, followed by ```git merge issue19```. This merged issue19 into my main branch. I then gave a quick once over to make sure that the changes were merged into main using my IDE. Following this, I then did ```git merge issue21``` which merged my issue21 into my main branch. I once again double checked that everything worked, and finally was able to run ```git push origin main```

Overall, I learned a new method of merging my code changes between branches, which saves the need for Pull Requests, since I am doing local changes to my own code.
Software Engineering Salaries at Google
Tags: news, beginners, discuss, challenge
Published: 2021-10-05 03:52:28

Google is everywhere in our lives, having built products such as the well-known Gmail, GSuite, and, of course, Google Search. It’s no wonder so many software engineers aspire to work for the company.

Every job needs to pay the bills and some jobs do that better than others. With a job at Google, you’ll have no trouble earning a good salary. Compensation is often top of mind for any software engineer.

![google software engineer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xef2li1ni8yhv1j6swhm.jpeg)

Let's explore how much engineers earn, what benefits they get, and how compensation differs between different seniority levels.

## Google Engineer Levels
Google, like many big technology firms, uses a tier-based system for compensation. Having a scale system also ensures that everyone at similar levels within the company earns a comparable salary.

To understand how much you can expect to earn, it’s important to know the Google software engineer levels:
* Software Engineer II (L3 | 0-1 year of experience)
* Software Engineer III (L4 | 2+ years of experience)
* Senior Software Engineer (L5 | Manager I equivalent)
* Staff Software Engineer (L6 | Manager II equivalent)
* Senior Staff Software Engineer (L7 | Senior Manager)
* Principal Engineer (L8 | Director)
* Distinguished Engineer (L9 | Senior Director)
* Google Fellow (L10 | Vice President)
* Senior Google Fellow (L11 | Senior Vice President)

## Google Software Engineer Salary
Google is definitely one of the top technology firms in terms of compensation. At lower levels, the compensation is equivalent to that offered by many other firms.

![google software engineer salary](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4ptedtua40gyyzxdv4v.png)

The average compensation you’ll earn as a software engineer at Google will depend on your experience and tier-based level. If you get started as an entry-level software engineer, your average total compensation will naturally lean toward the lower end of the scale.

## Benefits of Working at Google
As a software engineer you will also be eligible for a range of benefits, some of which are unique to Google. For instance, Google provides a subsidized on-site chair or table massage to their employees.

The company also provides employees and their families international personal travel year-round. [Google software engineers](https://www.designveloper.com/en/blog/how-much-does-google-pay/) receive $500 after the arrival of a new baby. This seeks to help employees take care of house cleaning, diaper bills, and other related expenses.

These are the three main benefits offered to Google employees:
* Home, financial, and other benefits
* Transportation benefits
* Insurance and wellness benefits

Other benefits are standard among big technology firms. These can be divided into a few different categories.