teleren/devto huggingface dataset:
Django Soft UI - Bootstrap 5 and Django 3.2.6 LTS
Tags: webdev, django, bootstrap5, appseed
Published: 2021-09-08 16:44:29

---
title: Django Soft UI - Bootstrap 5 and Django 3.2.6 LTS
published: true
description: A simple way to get started with Django and Bootstrap 5 and code a modern Dashboard. 
tags: webdev, django, bootstrap5, appseed
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j1gbnzv4pqxbj2gpty8o.jpg
---
Hello coders!

This (short) article presents a simple way to get started and code a [Django Dashboard](https://appseed.us/product/django-soft-ui-dashboard) using the latest **Django** version (3.2.6 LTS), **Bootstrap 5** and a `modern open-source` design: **Soft UI**. For newcomers, **Django** is a leading web framework built-in Python by experts using a `batteries-included` concept.

*Thanks for reading!* - Content provided by **[App Generator](https://appseed.us/)**.

---

**Step #1** - Clone the sources 

```bash
$ git clone https://github.com/app-generator/django-soft-ui-dashboard.git
$ cd django-soft-ui-dashboard
``` 

---

**Step 2** - Start the project in Docker

```bash
$ docker-compose pull
$ docker-compose build
$ docker-compose up
```

Once the commands are executed we should see [Django Soft UI](https://django-soft-ui-dashboard.appseed-srv1.com/) (DEMO Link) running in the browser. 

--- 

![Django Soft UI - Open-source seed project crafted with latest Django, Bootstrap 5 and Soft UI.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94t4iye8vu06vcst4twh.gif)

--- 

## Product Features

- Latest `Django` Version: 3.2.6 LTS
- **Soft UI** - `Bootstrap 5` Design
- `development-ready` codebase
- Authentication, Pythonic footprint 
- `Docker` support for an easy production deployment. 

--- 

> Thanks for reading! For more resources, feel free to access:

- [Open-Source Dashboards](https://appseed.us/admin-dashboards/open-source) - a curated list provided by AppSeed
- Free [React Dashboards](https://dev.to/sm0ke/react-dashboards-open-source-apps-1c7j) - a popular article published here on Dev
What Is The Alternative To Xcode For Windows For Mobile App Archive, Sign And Simulation?
Tags: xcode, appcircle, mobile, devops
Published: 2021-09-08 16:37:46

<a href="https://appcircle.io/blog/alternative-xcode-for-windows-app-archive-sign-simulation/" link rel="canonical" ><img src="https://appcircle.io/wp-content/uploads/2020/04/Android-Env-Vars-Gradle-845x321.png.webp"></a>

Reading Time: 2 minutes
People frequently ask, “How to download and install Xcode on Windows for iOS development?” or similarly “Xcode on Linux”. The volume of queries to find a working Xcode for Windows has recently been more augmented as people are forced to work from home with no access to their macOS devices.

You can still do iOS development on Windows with code editors in a crude way or by using the cross-platform frameworks, but you would be missing out crucial Xcode features such as iPhone and iPad simulators and archiving and signing iOS applications on Windows.

There are certain technical workarounds to use Xcode for Windows as we mention in other posts, but each has their own complexities regarding building, previewing and distributing mobile applications.

Moreover, you will encounter additional issues if you want to use multiple Xcode versions such as beta or if you are using a cross-platform framework to develop your iOS app, which requires specific dependencies besides Xcode itself, so you would also be looking to seek an alternative to use such dependencies on Windows.

Instead of struggling with all of these issues, you can use Appcircle for an automates and simple mobile CI/CD experience on any environment.

Appcircle is a complete DevOps platform that can replace many of the post-development operations done with Xcode, from app builds to simulators.




What is the Advantage of Appcircle as an Alternative to Xcode for Windows?
You can just connect your git repository without the need for Xcode and Appcircle will handle the full CI/CD processes of your app in your browser, whether you are using Windows or Linux or any other operating system. Appcircle even works on tablets so in a way, you can use Xcode on iPad for app signing and previews.

Get started with Appcircle right away for archiving, signing and submitting iOS apps along with running apps on simulators.

[![ContactUs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c9pfolgwlhw0k8nzem9v.png)](https://appcircle.io/contact?utm_source=devto&utm_medium=post&utm_campaign=what_is_the_alternative_to_xcode_for_windows_for_mobile_app_archive_sign_and_simulation)
[!] CocoaPods could not find compatible versions for pod "cloud_firestore": In Podfile:
Published: 2021-09-08 16:36:56

###Error message
[!] CocoaPods could not find compatible versions for pod "cloud_firestore":
  In Podfile:
    cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)


####Solution

1. Go to ios/Pods/Local Podspevs directory in your project
2. Check every json file to find highest required ios version. Mine was "ios": "10.0" in some of them
3. Go back to ios/ directory
4. Open Podfile file
5. Uncomment # platform :ios, '9.0' and replace 9.0 with version from 2. step, for example 10.0.
# platform :ios, '9.0' > platform :ios, '10.0'
6. Run pod install, error should be gone
CUSTOMER SUCCESS STORY: WEBEE STREAMLINES THE DEPLOYMENT OF HUNDREDS OF APPS WITH APPCIRCLE
Published: 2021-09-08 16:27:30

<a href="https://appcircle.io/blog/customer-success-story-webee-streamlines-the-deployment-of-hundreds-of-apps-with-appcircle/" link rel="canonical" ><img src="https://appcircle.io/wp-content/uploads/2021/03/webeeprefer-appcircle-845x321.png.webp"></a>

Reading Time: 2 minutes

Overview
--------

WeBee is an award-winning guest engagement platform, which provides a mobile guest engagement solution with social distancing and contactless features for more than 150 hotels in 20 countries globally. Hotel guests can make any of their requests via their smartphones (iOS & Android) without a need for face-to-face communication.

Their digital solution enhances guest experience and improves guest satisfaction. Users can handle everything through the app, such as reservation, transfer opportunities, check-in/out, or in-room dining/laundry/housekeeping requests.

Challenges
----------

WeBee uses a mono-repo (single codebase) approach to create and deploy multiple white-label apps for Google Play Store and Apple Store.

End-users experience different interfaces as the hotel-specific apps have different branding with dynamic app name, icon, and content supplied by the clients' content management systems.

WeBee's database runs on AWS, and it directs user requests from the end user apps to the staff app of the specific hotel. Those apps are updated with new features from a single, unified codebase, but required separate app builds for each white-label client. Thus, the team manually signed unique apps and submitted them to the app stores from different publisher accounts.

That was taking a tremendous amount of time and manual effort before they met Appcircle.

> Appcircle upped the game for us for achieving the highest efficiency in deploying and managing hundreds of mobile apps under different brands, strengthening our leadership with our unique focus on mobility.
>
> Ozgur ZanFounder -- [WeBee](https://www.getwebee.com/)

Results
-------

WeBee streamlined and automated mobile DevOps processes with Appcircle.

-   They manage all updates efficiently as tagging code commits with hotel name triggers build for specific clients.
-   Appcircle can then automatically build any requested version of the app with the specific customizations for that client.
-   They use the Appcircle online emulator/simulator to provide clients instant app previews, where they can approve the final version immediately.
-   Publishing the client apps under their own publisher accounts has also been automated. WeBee linked various Google Play IDs and Apple Developer IDs to lead deployments in Appcircle.

The mobile CI/CD pipeline of the WeBee apps is fully automated with tagged pushes from a single codebase, resulting in significant improvements in productivity and time-to-market.
Getter not found: 'nullable'. @nullable
Published: 2021-09-08 16:19:14

Error message : 
###../../../Developer/flutter/.pub-cache/hosted/pub.dartlang.org/riverpod-0.11.2/lib/src/common.freezed.dart:121:4: Error: Getter not found: 'nullable'.
  ###@nullable                                                             
   ###^^^^^^^^  

###Solution
The issue is coming from riverpod urrent version, updating it to the latest version will fix the issue.

Refactoring the code is required in order to make the app working and fix the breaking changes 

References : [Riverpod Migration](https://riverpod.dev/docs/migration/0.13.0_to_0.14.0/)
I used to publish my blog articles but now I commit them!
Tags: devjournal, devops
Published: 2021-09-08 16:14:06

![blog pipeline setup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y36ch3epa9k08yarcxaw.png)

I've setup CI/CD pipeline for my blog! And it's amazing!

For a context, the [blog](https://anjandutta.com) is a static site built with Gatsby. And, there is no CMS to manage the content from the "backend". 

To be honest, now that I have set up the deployment pipeline, I don't need one in near future.

But I am feeling amazingly good about it!


If you ask me what is the difference?

Well, I used to publish my blog articles but now I commit them!

> It's not a choice, it's a requirement.

In Gatsby, every article is a markdown formatted document.

To publish any article, we build the project and deploy the files.

So, unless there is a pipeline in place, you have to build the project every time after writing new content. Then upload the bundle in the assigned s3 bucket.

Now, all I have to do is to open the terminal:

`git add .`
`git commit -m "article names"`
`git push origin bucket_name`

That's all.

*The AWS CodePipeline handles rest of the steps:*

- The code is pushed into a AWS CodeCommit repository.
- Every new commit initiates a new build.
- Next, AWS CodeBuild runs the build command and creates an artifact.
- The Artefact is then pushed to s3 bucket.

Automated it all.

I am sure, I am not the only one to follow this path. But as a developer, looking at my blog now, it feels more complete. 

Now I can focus only on the content because I have one less thing to worry about.

Thanks for reading!
And so begins my Open Source adventure.
Tags: opensource
Published: 2021-09-08 16:14:02

Hello! My name is Andre Willomitzer. I am a student at Seneca College currently in my 5th semester of Computer Programming and Analysis. As you can see, I have a faithful fuzzy companion Rosie.

My programming journey initially began in 2017, when I was working at the Catholic School Board. I happened to see a few YouTube videos about programming (web development). When I first saw everything that went into making a web page I was amazed because when you use a website you don't think all that much about it. From there I bought a Udemy course called Zero To Mastery. I practiced for 6-7 months myself, but eventually decided to pursue schooling which is how I ended up at Seneca!

Although I am currently residing in Toronto, Canada, I know that through OSD600 at Seneca I will get the opportunity to interact with developers across the globe (even fellow students). One of my main goals of the program is to leverage knowledge by more experienced developers to learn how to improve my own code.

Another thing I hope to accomplish is to learn more about the web development realm such as working on browsers, using frameworks, testing, or using an API to solve a problem. 

Overall, this is a very spooky experience doing everything in the open but one that I know will make me a stronger programmer. 

The repo I have chosen to fork is: 
https://github.com/brave/brave-browser

I have chosen it because it has a variety of levels of difficulty for bugs, and has a variety of components that need fixing including even small CSS fixes.

All the best and happy coding everyone :)

Andre Willomitzer
Python lazy loading of an attribute
Tags: python
Published: 2021-09-08 16:04:07

*(Image from [Adrian Swancar](https://unsplash.com/@a_d_s_w))*

It's not something complex but it's very useful anyway to do not wait or stress your infrastructure... for nothing!

## Lazy loading (and caching) of an attribute
The idea is to have an empty attribute that will get its value only when accessed the first time. To illustrate, I used a class **Gift** with an attribute **price** that is slow to compute:
```python
import time

class Gift():
    _price = None

    def __init__(self, what):
        self.what = what

    def costly_computation(self):
        print("Costly computation")
        time.sleep(2)
        return 10

    @property
    def price(self):
        if not self._price:
            self._price = self.costly_computation()
        return self._price
```
The costly computation will only affect when accessing the attribute, and it will happen only one time (first access) :smiley:

## See it in action
```
>>> from gift import *
>>> g = Gift("Sunglasses")
>>> g.price
Costly computation
# ...
# ... freezes a bit
# ...
10
>>> g.price
10
```

That's all :kissing_smiling_eyes:
Smart Contract de una colección de NFTs
Tags: blockchain, solidity, nft, nfts
Published: 2021-09-08 15:50:47

---
title: Smart Contract de una colección de NFTs
published: true
description: 
tags: #blockchain, #solidity, #NFT, #NFTs
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvb84dp3v8id248k08rx.png
---

Aquí un smart contract básico de colección de NFTs ERC-721. En este video lo lanzamos en un Testnet, subimos la metadata e imágenes a Github y vemos el resultado en OpenSea.

{% youtube q6c0XkfU3rw %}

```solidity
// contracts/GameItem.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract MyNFT is ERC721 {
    uint256 public MAX_TOKEN = 5;
    uint256 public PRICE = 0.01 ether;
    address public CREATOR = 0x0000000000000000000000000000000000000000;
    uint256 public token_count;

    constructor() ERC721("My NFT", "MNFT") {}

    function _baseURI() internal view virtual override returns (string memory) {
        return "MIURL";
    }

    function mintNFT(address to) public payable
    {
        require(token_count < MAX_TOKEN, "Sold out");
        require(msg.value >= PRICE, "Must pay price");
        _mint(to, token_count);
        token_count  += 1;
    }
    
    function withdrawAll() public
    {
        (bool success, ) = CREATOR.call{value:address(this).balance}("");
        require(success, "Transfer failed.");
    }
}
```

**Gracias por ver este tutorial!**

Sígueme en dev.to y en [Youtube](https://www.youtube.com/channel/UCNRB4tgwp09z4391JRjEsRA) para todo lo relacionado al desarrollo en Blockchain en Español.
Lists in Dart
Published: 2021-09-08 15:44:09

In the Dart programming language, there is no `Array` construct. Instead, we use the `List` structure. This `List`
structure, which we use to hold more than one data, is also divided into two:

* Fixed length
* Growing structure

Below you can see the definitions of these two features. `List` structure can take variable data type according to the
values it will take. The data is sequential. We can easily perform functions such as adding and deleting data to
the `list` structure with ready-made methods.

```dart
//Fixed length
List<int> numbers = new List(3);
List<int> numbers2 = [1, 2, 3];

//Growing structure
List<String> words = new List();
```

Follow my blog for more [baransel.dev](https://baransel.dev/).
Python challenge_4
Tags: beginners, tutorial, python, programming
Published: 2021-09-08 15:36:01

##Type check

level of challenge = 2/10

Write a function named only_ints that takes two parameters.

Your function should return True if both parameters are integers, and False otherwise.

For example, calling only_ints(1, 2) should return True, while calling only_ints("a", 1) should return False.


####My solution 
```
def only_ints(num_1, num_2):

    if type(num_1) == int and type(num_2) == int:
        return True
    else: 
        return False

print(only_ints("tito", 2)) 
```

####Another solution 
```
def only_ints(a, b):

    return type(a) == int and type(b) == int
```
Add your solution in the comment :)
Two new sections on my video course on webpack
Tags: javascript, webpack, esbuild, bundling
Published: 2021-09-08 15:35:30

I've published a [webpack 5 course](https://bit.ly/webpack-course), and today I completed two additional sections:

- Managing CSS
- Getting ready to deploy

# Managing CSS
Continous with the application used in the previous sections, and introduce the concepts related to dealing with CSS with webpack. We start with CSS living completely outside of wepback, go through styles being inlined to JS, and end with CSS managed & output by webpack. Along the way, we learn how to set up the first plugin - MiniCssExtractPlugin.

# Getting ready to deploy
This section covers how to turn the same simple application into a complete end-to-end example of how to take source code & use webpack to turn it into a deployment-ready bundle. 

# Future of the course
The course is far from complete, but I just finished all the sections I already planned for. Let me know in the comments what you would like to cover in such a form, and I'll see if I can include it in one way or another.

# My other courses
* [esbuild](https://bit.ly/esbuild-course) - a tool that does similar work as webpack, but much faster. This course is already a paid version, but if you let me know in the comment, I'll see if I can get any coupons.
Averting resource leaks due to an exception/error(not only about try-with-resources!!!)
Tags: java, discuss, todayilearned, c
Published: 2021-09-08 15:24:54

I came across a project on Github (https://github.com/mabrarov/exception-safety), which describes an approach to prevent resource leaks due to throwing an error or exception.
The main difference from simple try-with-resources (If you don't know what it is: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html) is that resource remains opened if an exception or error doesn't throw. It saves time for creating/opening resources every time.
An instance of the Guard is put in try-with-resources instead of a real resource.
Firstly, in the try-with-resources block, the guard gets a link to a resource. Then we do whatever we want with the resource, if an exception/error occurs, the guard closes the resource.
At the end of the block, we should don't forget about releasing of the resources: the guard drops its link to the resource.
I think it can be a powerful thing, what about you? Maybe are you doing with such cases in another way?
CPAN Release of Time::Verbal module
Tags: perl, cpan
Published: 2021-09-08 15:09:37

---
title: CPAN Release of Time::Verbal module
published: true
description: 
tags: perl, cpan
//cover_image: https://direct_url_to_image.jpg
---

[Time::Verbal][time-verbal-cpan-home] 1.1.1 made its way to CPAN.

This module does one little thing: converting time durations to verbal formats, rounded to some "sensible" unit. Just as how you would say such thing as a human.

```
my o = Time::Verbal->new();
say $o->distance( time(), time() - 4567 );
#=> about 1 hour
```

Besides the default English format, other 67 languages identified by these ISO language codes are supported:

ar bg bn-IN bs ca cy da de-AT de-CH de dsb el en-AU en-GB en-US eo es-AR es-CL es-CO es-MX es-PE es et eu fa fi fr-CA fr-CH fr fur gl-ES gsw-CH he hi-IN hi hr hsb hu id is it ja ko lo lt lv mk mn nb nl nn pl pt-BR pt-PT rm ro ru sk sl sr-Latn sr sv-SE sw tr uk vi zh-CN zh-TW

I don't know all these languages (nor their language codes), but [Locale::Wolowiz][locale-wolowiz-cpan-home] does. Or, at least it is the library that does the translation, given a bunch of JSON files that contain the body of translations.

So here's how you say "about 1 hour" in Vietnamese:

```
my o = Time::Verbal->new( "locale" => "vi" );
say $o->distance( time(), time() - 4567 );
#=> khoảng 1 giờ
```

A default version of translations of all the above-mentioned 68 languages are provided  with `Time::Verbal` itself and is ready to use once installed properly -- a usual `cpan` or `cpanm` or `cpm` command would suffice. However, in case some customize version is need because, say, you wish to provide better UX to whom speak the Vulcan variant of Klingon, you need to create a file named after the language code -- which can be arbitrary such as `tlh-Vulcan`. You would create `tlh-Vulcan.json` and put it under `/app/i18n`, or really any directory of your choice, then do:

```
my o = Time::Verbal->new(
    "locale" => "tlh-Vulcan",
    "i18n_dir" => "/app/i18n"
);
say $o->distance( time(), time() - 4567 );
#=> Chaq wa' rep
```

Disclaimer -- I don't know if that's how Vulcanized Klingon speaks. Don't take my example as if it is authentic.

To prepare the translation, take a look of the json files under the default `i18n_dir`, which can be printed by running this oneliner:

```
perl -MTime::Verbal -E 'say Time::Verbal->new()->i18n_dir'
```

It shouldn't be difficult to grasp the structure of those translation files and produce a new one. It is however, very difficult to start describing the schema of thoes json file as an indolent developer.

The translations are accquired from [rails-i18n][rails-i18n-github-home] project -- which is one of the first modules that does things like this.

[time-verbal-cpan-home]: https://metacpan.org/pod/Time::Verbal
[locale-wolowiz-cpan-home]: https://metacpan.org/pod/Locale::Wolowitz
[rails-i18n-github-home]: https://github.com/svenfuchs/rails-i18n

----
Originally posted at <https://gugod.org/2021/09/cpan-release-of-time-verbal/>
Switching accounts in dev.to
Tags: help, discuss, accounts
Published: 2021-09-08 15:04:06

Switching account feature is available in G-Mail, Youtube etc 

I want that feature in dev.to

A quick reply(about when will the work start or it wont start) would be appreciated.

Thanks for reading my post please press the like and the unicorn button while going.
Thank you
Darsh kulthia
Neues Kadence Starter Template: Surf Shop
Tags: wordpress, kadencewp, wordpressthemes
Published: 2021-09-08 15:49:15

---
title: Neues Kadence Starter Template: Surf Shop
published: true
date: 2021-09-08 15:01:36 UTC
tags: WordPress,KadenceWP,WordPressThemes
canonical_url: https://bloggerpilot.com/kadence-surf-shop/
---

![](https://bloggerpilot.com/wp-content/uploads/2021/09/kadence-surfshop.png)

Das Kadence Pro Surf Shop Starter Template Review: Viele kleine...

Der Original-Artikel erschien auf [Neues Kadence Starter Template: Surf Shop](https://bloggerpilot.com/kadence-surf-shop/).
Write your snippets with ultisnips and convert to json
Tags: nvim, ultisnips, snippets, lua
Published: 2021-09-08 14:58:46

## Introduction
Almost everyone who uses vim became curious about neovim, and among all of these geek guys the great majority has used ultisnips at least for a while. This little article aims to help you to convert ultisnips to vscode format, not because vscode but because the json format is becomming very common. I have found [a site](https://opensourcelibs.com/lib/convert-snippets) that teaches us how perform this task:

    npm i -g convert-snippets

Usage

    convert-snippets source_file target_file

Automatically detects `source_file` format and generates `target_file`

## Sharing experiences
What do you use as snippet engine? Have you ever used neovim? Share your snippets and experiences in the comments section!