teleren/devto huggingface dataset:
Kitchen Cabinets Adelaide
Published: 2022-07-10 11:26:19

In Adelaide, TC Interiors is the top provider of kitchen cabinets. We can handle every step of your [kitchen cabinet renovation](https://www.tcinteriors.com.au/kitchen-cabinets-adelaide/), from planning to completion. This includes giving you access to all the services required for updating your kitchen cabinets. We dispose of the installed cabinets after properly removing them. Along with installing pre-made kitchen cabinets, we also offer custom cabinet design services. Many people prefer custom cabinetry, and we can accommodate you. This enables you to have the cabinets you want that are a great fit for your requirements. Before installing new cabinets, it is crucial to accurately measure the space in your kitchen. This gives us the opportunity to determine whether the cabinets you desire will fit in the available area. We work with you to install cabinets so that they look amazing and are problem-free, getting your cabinets precisely fitted as you desire. We collaborate with clients to build cabinets exactly how they want, which has made us a popular choice in Adelaide. This involves making adjustments as you go.
ความต่างกันระหว่าง Webpage, Website, web application
Published: 2022-07-10 11:22:17

## Webpage

หมายถึงหน้า (page) หนึ่งหน้าที่ประกอบไปด้วย HTML, CSS, Javascript

## Website

หมายถึงกลุ่มของ Webpage ที่มีการเชื่อมต่อ (Link) กันระหว่าง webpage และส่วนใหญ่จะเป็นการแสดงข้อมูล และ ผู้ใช้แต่ละคนได้คอนเทนต์เหมือน ๆ กัน (less dynamic content) เช่น wikipedia.com, company website ต่างๆ 

## Web application

หมายถึง Website ที่มีการปฏิสัมพันธ์ (Interactive) กับผู้ใช้มากกว่า และผู้ใช้แต่ละคนอาจจะได้คอนเทนต์ที่แตกต่างกัน (more dynamic content) เช่น facebook.com


Credit: [Introduction to front end development](https://www.coursera.org/learn/introduction-to-front-end-development)
Image from: [icons8.com](https://icons8.com/license)
IT Outsourcing partnership email offers and why bore me senseless - an email reply
Tags: commercial, marketing, outsourcing
Published: 2022-07-10 11:11:25

A good sign of your SEO and content marketing is starting to work is that you are getting software companies offering to take on your spare work. Unfortunately, most of these companies just throws a lot of technology at you without explaining anything about their passions and motivations.

My thoughts are that the odds are stacked against small technology consultancies. To get attention they have to make products and/or collaborate with other software consultants to drive more traffic to their organisation. Not necessarily just their website. 

I have started to add a few businesses that seems to be committed to this ethos on my partners page - it shows intent and motivation beyond just getting hourly rates. 

## What do you think? 

## My reply

_Hi there.

Thanks for getting in touch. It looks like your company is another relatively generic software outsourcing company? The only companies we can look to partner with are collaborative. They would review what we do, find synergy, share content marketing possibilities, and potentially develop products. From your website, it provides almost zero idea about what the capabilities of your company are. Sure, it says you do mobile development, web development, across many stacks, do you have any specific patterns, approaches that makes your company better than others? Any products you have developed yourselves that you are proud of? How about some developer stories of project successes?

In no way is this to diminish the probability your business have competent staff or could be an effective outsourcing partner. It just becomes very hard to know what really motivates your business above just getting an hourly rate through another company. How can we know that your company can deliver?

The final thing is, our website quite clearly says, don't just contact us asking us if we have any spare work. Our website discusses how we can collaborate, but it doesn't appear this has been read through at all - that isn't cool. We would rather share ideas, increase network effect, and potentially work together once trust is there.

Apologies if this sounds harsh._
Creating Chat Bot in Slack
Published: 2022-07-10 11:06:41

## What is bot? (from slack)
A bot is the same as a regular app: it can access the same range of APIs and do all of the magical things that a Slack App can do.

But when you build a bot for your Slack App, you're giving that app a face, a name, and a personality, and encouraging users to talk to it.

Your bot can send DMs, it can be mentioned by users, it can post messages or upload files, and it can be invited to channels - or kicked out.

## Creating a bot:
* Create a slack app choosing the workspace.
* Then navigate to the created app and add bot permissions under `OAuth & permissions`, it will automatically create a bot user.
* Hurray! your slack bot is created.

> Users need to install the app to use it's bot features

## Installing app:
* App can be distributed publicly for users to install it from slack app directory.
* App can also be installed through slack [OAuth flow](https://api.slack.com/authentication/oauth-v2#asking)

## Bot features:
### 1. Webhooks:
We can create webhook urls for a channel or user of the team and can use the webook url to post messages to selected target.
### 2. Slash commands:
With slash commands we provide utilities to interact with bot.
Ex: /get-users-list, and provided redirect url which handles the commands request and sends payload.
### 3. Events:
We can subscribe to the events provided by slack and upon triggering we can handle it with provided redirect url.
Ex: team-join, user_change...


>To enable user interactivity with bot enable `Allow users to send Slash commands and messages from the messages tab` under `App Home`

>With slack block kit we can create interactive forms, surveys, send formatted messages, and more. Explore [slack block-kit](https://api.slack.com/block-kit)
params.require(...)
Published: 2022-07-10 10:51:19

```rb
params = ActionController::Parameters.new({
  person: {
    name: "Francesco",
    age:  22,
    role: "admin"
  }
})

permitted = params.require(:person).permit(:name, :age)
permitted            # => #<ActionController::Parameters {"name"=>"Francesco", "age"=>22} permitted: true>
permitted.permitted? # => true

Person.first.update!(permitted)
# => #<Person id: 1, name: "Francesco", age: 22, role: "user">
```
How to find the odd and even numbers in python ?
Tags: python
Published: 2022-07-10 10:49:56

This is a simple program in python to detect the odd and even numbers from a list generated when the user gives his/her numbers automatically.

Basically here the logic is `if (num %2 == 0)` then it's even or else odd.

```python
def myFunction():
    list1 = []
    while True:
        userInp = input("Enter your number or press q to exit\n")

        if userInp == "q":
            evens = []
            odds = []

            for i in range(0, len(list1)):
                if int(list1[i]) % 2 == 0:
                    evens.append(list1[i])
                else:
                    odds.append(list1[i])
            print("Your list of numbers: ", list1)
            if len(evens) == 0:
                print("No even numbers detected.")
            else:
                print("Even numbers are:", evens)
            if len(odds) == 0:
                print("No odd numbers detected.")
            else:
                print("Odd numbers are:", odds)
            break
        else:
            try:
                userInp = int(userInp)
                if userInp not in list(list1):
                    list1.append(userInp)
            except ValueError:
                print("Error: You have entered a non integer or a decimal fraction number.")

if __name__ == "__main__":
    myFunction()
```
How to generate random strings using python ?
Tags: python
Published: 2022-07-10 10:46:47

In this post, you will learn how to generate random strings in python.

```python
import random
import string

def generate_random_strings():
    chars = string.ascii_lowercase+ string.ascii_uppercase+ string.digits
    size = 12
    randomString = ''.join(random.choice(chars) for __ in range(size))

if __name__ == "__main__":
   generate_random_strings()
```
Free resources for Modern Developers
Tags: beginners, programming, career, computerscience
Published: 2022-07-10 10:46:39

One bundle to rule them all!

Knowledge is the cleanest fuel to accelerate your career. With a deluge of information, getting started is easy but identifying the right direction is nearly impossible.

"Learning" is hijacked by "keeping up with trends."

**Don't panic!**

The solution is simple. Stick to the fundamentals. Computer Science is a juxtaposition of mathematics and electronics.

**_Software Engineering = People + Programs_**

The following list was curated during 20+ years as an engineer and 15+ years as a software professional.

Explore programming and people management fundamentals through podcasts, conference talks, and books. The collection covers the following categories.
[https://rougeneuron.gumroad.com/l/bibliography](https://rougeneuron.gumroad.com/l/bibliography)

- Free video learning resource links
- Programming/Software Podcasts
- Software Engineering Podcasts
- Data Engineering & Distributed Systems Podcasts
- Business Podcasts
- Artificial Intelligence Podcasts
- Personal Podcast Picks
- Algorithms and Data Structures
- Compiler Design and tools
- Computer Architecture
- Computer Graphics
- CPP Language
- Databases
- Distributed Systems and tools
- File Systems
- Machine Learning and AI
- Mathematics
- Networking
- Operating Systems
- Programming and Software Engineering
- Security
- Advertising and Marketing
- Business Management
- Economics
- Evolution
- Finance and Behavioural Economics
- People management, including self
- Philosophy
- Psychology
- Spirituality
Spring Boot Elasticsearch - indexer command - Part 6 Tutorial
Published: 2022-07-10 10:38:56

Hi, the 6th article devoted to the theme: “How to work with ElasticSearch using Java Spring Boot” already ready for reading. Here will speak about initial loader which would be used for creating elasticsearch mapping and indexing some initial test data to ElasticSearch index. All details are here: "[Spring Boot ElasticSearch - initial loader, indexing test data](https://sergiiblog.com/spring-boot-elasticsearch-initial-loader-indexing-test-data/)". Have a pleasant reading.
What is Docker ? (Docker Series - I)
Tags: webdev, beginners, docker, tutorial
Published: 2022-07-10 10:35:00

Docker is a open platform to package your code ,run, deploy, ship anywhere. 

**Why docker ?**
Let's say my application stack contains of MongoDB, Redis, NodeJ.  Are we sure that these libraries and dependencies compatabile with the OS we are using ?("Matrix from hell"). Herecomes the docker, it seperates the application running from the infrastructure.

**How docker does that ?**
Containers !!. Docker does that with the help containers.
It is a loosely isolated environment , light-weight, runnable instance. Isolation and security lets us run many containers on the same host by sharing the os kernal.

The above issue can also be handled by virtualisation, We need to create seperate VM instance for each dependancies to run which could be a overhead to maintain. 

 
**Docker Container vs Virtualisation**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l66b02sltdmb5n1eurt7.png)

**What I can use Docker for?**

1. Fast and consisten delivery of application:
2. Responsive Deployment, portable and scaling 
3. Running more workload on same hardware
Mantine Themes in Storybook 🤯
Tags: react, storybook, mantine, themes
Published: 2022-07-10 10:34:49

Are you currently using [Storybook](https://storybook.js.org) and [Mantine](https://mantine.dev) component library to develop your React application?

If so, my newly published storybook addon might make your life easier!

### Key Features

- Easily have Storybook display your custom theme for all Stories.
- Switch between multiple custom themes (e.g. dark and light mode) directly from the Mantine Theme addon panel.


### See it in action 

This link will take you to the test Storybook, click on the _Mantine Theme_ addon to switch between two predefined themes & see the Mantine button reflect it.

{% embed https://josiahayres.github.io/storybook-addon-mantine/?path=/story/mantine-button--primary %}

### How to install

You can get the [Storybook addon here](https://storybook.js.org/addons/storybook-addon-mantine).

1. `npm i -D storybook-addon-mantine`
2. Register the addon `.storybook/main.js`
3. Provide your theme(s) to the addon `.storybook/preview.js`

[See full details on my GitHub page](https://github.com/josiahayres/storybook-addon-mantine#register-the-addon)


### What's next?

I'd like to be able to showcase the values of the currently selected theme, and eventually customise the theme directly from storybook. 

Would you use this functionality if it existed? Is it sufficient being able to configure the themes in the storybook preview file?
Leetcode Solutions: Sum of Digits in the Minimum Number
Tags: leetcode, python, programming
Published: 2022-07-10 10:16:19

Given an array A of positive integers, let S be the sum of the digits of the minimal element of A.
Return 0 if S is odd, otherwise return 1.


```py
def get_min(arr):
    min_number = str(min(arr))
    total = 0

    for digit in min_number:
        total += int(digit)

    return 0 if total % 2 != 0 else 1

```
Jump game II leetcode problem
Tags: dp, dynamicprogramming, java
Published: 2022-07-10 09:48:38


Given an array of non-negative integers nums, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Your goal is to reach the last index in the minimum number of jumps.

You can assume that you can always reach the last index.

 

Example 1:

`Input: nums = [2,3,1,1,4]
Output: 2
Explanation: The minimum number of jumps to reach the last index is 2. Jump 1 step from index 0 to 1, then 3 steps to the last `index.

Solution : Using Memoization dp (top-down approach)

```java
class Solution {
    public int jump(int[] nums) {
        if(nums.length==1)return 0;
        int dp[] =new int[nums.length];
        Arrays.fill(dp,10001); // since max length is of 10^4 , hence max jump can't exceed 10^4
        return solve(nums,0,dp);
    }
    int solve(int[] nums,int index, int dp[]){
        //base cases
        if(index==nums.length-1) return 0;
        if(index>=nums.length)return 10001;
        if(dp[index]!=10001) return dp[index];
        //since we are allowed to move i+1,i+2,....i+k give i+k <=i+nums[i]
        for(int i = index+1;i<=index+nums[index] ;i++){
                dp[index] = Integer.min(dp[index],1+solve(nums,i,dp));
            // since every jump that we will make from current index 'index', hence min distance will be distance from current index 'index' to the last index;
        }
        return dp[index];
    }
}
```
How to customize Django Admin site by itself ?
Tags: webdev, django, python, design
Published: 2022-07-10 09:44:32


Hello Developers✌,
In this tutorial you are going to learn how you can customize Django Admin site by itself.

First install 3rd party package called `django-admin-interface`
```
pip install django-admin-interface
```

Add package to installed apps in `settings.py` file.
```python
# project/settings.py

INSTALLED_APPS = [
    # Add package before the django.contrib.admin
    'admin_interface',
    'colorfield',

    # django apps
    'django.contrib.admin',
    ...
]
```

Add following at bottom of `settings.py` file.
```python
X_FRAME_OPTIONS = "SAMEORIGIN"
SILENCED_SYSTEM_CHECKS = ["security.W019"]
```

Run migrate to apply migrations.
```
py manage.py migrate
```

then collect the static files.
```
py manage.py collectstatic
```

If you do not have configured static settings then update your `settings.py` file like following.
```python
STATIC_URL = '/static/'
STATICFILES_DIRS = (str(BASE_DIR.joinpath('static')),)
STATIC_ROOT = str(BASE_DIR.joinpath('staticfiles'))
STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
```
then run the server.
```
py manage.py runserver
```
Go to `localhost:8000/admin`

Click on the `themes` model.

![Themes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4p2sesca8nr4cxfu13o2.png)

click on the django entry to update the admin interface.

![change the entry django](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bzvd3v960affp39j4fox.png)

You will see there are so many options to update the UI.

Change the colors, title, logo, etc. as you like.
First version 0.0.1
Tags: fastapi, mongodb, mongotech, motor
Published: 2022-07-10 09:32:21

Three weeks of work and we have the first release Three weeks of work and we have the first release Three weeks of work and we have the first release https://github.com/MongoTech/app/ version 0.0.1. I can say that it was quite interesting for three weeks and we were able to do something +43,195 lines of code. From the first wave, 2 people out of 9 were able to survive, now there are still 5 new people but I can not say anything yet. Planned the next iteration at 3 weeks somewhere, there we will already write the code it was all warm-up. From the pleasant, I myself was somehow able to make up a site https://mongodb.tech/ well, so very fast hand if anyone wants to help come. On the project, my biggest pain was still vue.js so if there are those who want to help come I pulled the topic and then everything came up. We participate there in some startups if something burns out I will tell. Well, I still don't mind 5 bucks, otherwise you have to pay for mail. If there are still those who want to, then you https://t.me/MongoTech here. It was also confirmed that 25% of the page's subscribers are Krakow so maybe you will be interested https://t.me/KrakowFriday. All liu and hug put a like and subscribe, on YouTube likes on any occasion greet and generally come to visit.
Hi, everybody, Nice to meet you.
Tags: react, mongodb, vue, javascript
Published: 2022-07-10 09:27:04

Hi.
I am Tani Kichiro from Japan.
Nice to meet you.
I want to develop my technical skills with you.
I am full stack developer who has experience over 5 years.
Mostly in ReactJS, VueJS, ExpressJS, MongoDB, MSSQL, NextJS and so on.
I am learning React Native which is one of the hottest libraries in mobile app development.
Thanks in advance to help me with technical issue and help me getting some jobs with above stacks.
Thanks again for reading my first blog.
Best Regards.
I Simply Want To Build
Published: 2022-07-10 09:15:48

It all started when I saw a mud house project at school. I was only five years old, and I remember being astounded. The mud house was about the height of a red-paint bucket, had a green aluminum roof, and had four rooms with orange bulbs dangling from the roof each. I took turns with my classmates flipping the bulb switches, our excitement going through the roof anytime the orange light came on. 

This project sparked my curiosity so much that I decided to build my own. I spent the majority of my childhood and adolescence attempting to do so. I recall spending the money I received for my 16th birthday on building materials (cardboard, gum, cartons, and so on).

I tried numerous times to replicate the mud house project, but I always failed. It's either that I couldn't figure out how to make it work or that I ran out of resources to do so.

When I was 18, I became interested in programming. A friend recommended it to me. He told me I could build things with it. I was intrigued because I had always wanted to build something. I resolved to find out how I could do so.

I've spent the last five years of my life learning and building websites. I adore the fact that I can build anything I want using only my PC. I am no longer limited by how many resources I can obtain, but rather by how much I can imagine. Every day, I jump out of bed, eager to explore my world of limitless possibilities.

Not only do I want to build things, but I also want to build them well. This motivates me to learn about a variety of programming languages, frameworks, and software development domains. I currently have experience with front-end development, backend development, mobile app development, and DevOps.

Programming inspired me to create software, but I still want to do more. I'm hoping that one day I'll be able to build my mud house project.

I love creating things. Let's talk about it if that's something you're interested in.

Twitter - [@drayfocus](https://twitter.com/drayfocus)

LinkedIn - [Ayomide Akinola](https://www.linkedin.com/in/drayfocus/)

Cheers!
What the hell is CDN?
Tags: systemdesign, cdn, network, webdev
Published: 2022-07-10 09:12:21


![Content delivery Network Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbk0f05q68kt79xw8yzc.png)

Recently, the Cloudflare outage knocked many popular services such as Coinbase, Discord, Udemy etc. But do you know what Cloudflare is? 🤔

Cloudflare is a CDN company.✔️

**Ok But, What do you mean by CDNs**

A content delivery network (CDN) refers to a geographically distributed group of servers that work together to deliver Internet content quickly.

CDN allows the quick transfer of assets needed for loading Internet content including HTML pages, javascript files, stylesheets, images, and videos.

Major giants like Meta, Netflix, and Amazon etc serve the majority of their traffic through CDNs.

🤔**Ok, so what are the benefits of CDN?**

Improving website load times. - By distributing content closer to website visitors by using a nearby CDN server, visitors experience faster page loading times.

Reducing bandwidth costs- Bandwidth consumption costs for website hosting are a primary expense for websites.  CDNs are able to reduce the amount of data an origin server must provide through caching and other optimizations, thus reducing hosting costs for website owners.

Increasing content availability and redundancy - Large amounts of traffic or hardware failures can interrupt normal website function. A CDN can handle more traffic and withstand hardware failure better than many origin servers due to its distributed nature.


🤔**Now tell me, how do CDN works?**

CDN is a network of servers linked together with the goal of delivering content as quickly, cheaply, reliably, and securely as possible. 

In order to improve speed and connectivity, a CDN will place servers at the exchange points between different networks.

Internet exchange points (IXPs) are the primary locations where different Internet providers connect in order to provide each other access to traffic originating on their different networks.

By having a connection to these high-speed and highly interconnected locations, a CDN provider is able to reduce costs and transit times in high-speed data delivery.😉

**CDNs are Best!**😉