teleren/devto huggingface dataset:
COBOL - not dead; not dying; not even idle (#3)
Tags: cobol, legacy
Published: 2020-04-17 02:31:30

I have no idea what the provenance of Granite Geek is, but a few days back they published [Calling all COBOL cowhands!](https://granitegeek.concordmonitor.com/2020/04/09/calling-all-cobol/). 

On the page is a link to an article on Medium's OneZero entitled [IBM Rallies COBOL Engineers to Save Overloaded Unemployment Systems](https://onezero.medium.com/ibm-rallies-cobol-engineers-to-save-overloaded-unemployment-systems-eeadf13eddce). 

That links to an item on IBM's own site, written by Meredith Stowell, Vice President, IBM Z Ecosystem, entitled [IBM and Open Mainframe Project Mobilize to Connect States with COBOL Skills](https://newsroom.ibm.com/2020-04-09-IBM-and-Open-Mainframe-Project-Mobilize-to-Connect-States-with-COBOL-Skills). 

Finally, that links to [IBM and Open Mainframe Project Mobilize to Connect States with COBOL Skills](https://www.ibm.com/community/z/talent/), also written by Meredith Stowell.

So not only is COBOL not going away anytime soon, there's actually serious money to be made knowing and programming in it. You have been told!
The Importance of Finishing Projects you Start
Tags: motivation, productivity, youtube
Published: 2020-04-17 05:57:03

When I started down the path of development and design, I was excited. I wanted to build <strong>all the things</strong>. And to a certain degree, I started to. But before I knew it, I had hundreds of little projects that were either half complete or less.

Today's topic I want to bring awareness on is finishing what you start, especially projects. Too often people get excited when it comes to building out something new. There is a rush knowing you can do it, and getting started. But this honeymoon phase wears off. New ideas come by. Before you know it, your project is just another GitHub repository that will never receive any more commits and won't be completed.

This can continue on for years. 
{% youtube A9W8jjNjtAk%}
<strong>[Youtube: Importance of Finishing Projects](https://youtu.be/A9W8jjNjtAk)</strong>

So I am going to stay this once. Having one or two completed projects is vastly superior to having ten times as many uncompleted ones.

For me, when I finally committed to finished a single project, it took me over a year. It was to build a VPN service. But once it was done, I was able to use it to not just earn passive income.

<strong>This one project was the stepping stone for helping me get my first development job.</strong>

Since then, I always set aside one goal or project I want to do each year.

This year it is starting a youtube channel to teach others programming and thing's I've learned along the way. What about you? How many projects have you left incompleted?

I hope this article helps you decide to finish at least one upcoming project and see it through. Feel free to share things you've already made.

Hard work can take you far.

## Follow and support me: 
Special thanks if you subscribe to my channel :)
* [🎞️ Youtube](https://www.youtube.com/channel/UCvM5YYWwfLwpcQgbRr68JLQ?sub_confirmation=1)
* [🐦 Twitter](https://twitter.com/adrian_twarog)
* [💬 Discord](https://discord.gg/nGdThpE)
* [❤ Patreon](https://www.patreon.com/adriantwarog)

## Want to see more:
I will try to post new great content every day. Here are the latest items:
* [Adobe XD to Fully Responsive WordPress Site](https://dev.to/adriantwarog/adobe-xd-to-fully-responsive-wordpress-site-16e0)
* [Adobe XD to HTML Full Process](https://dev.to/adriantwarog/adobe-xd-to-html-full-process-ao6)
* [Full Tutorial on how to use SASS to improve your CSS](https://dev.to/adriantwarog/full-tutorial-on-how-to-use-sass-to-improve-your-css-57on)
* [Creating a Mobile Design and Developing it](https://dev.to/adriantwarog/creating-a-mobile-design-and-developing-it-5c4o)
What is Continuous Integration and Continuous Delivery?
Tags: cicd, developers, devops, codequality
Published: 2020-04-17 05:20:56

We all follow few rules while writing code. Few of the basic rules involves indentation, syntax, maximum letters in a line, etc.,

I being a developer, I always wanna push good code. This can only be achieved by testing what you have written. At least I wanna meet my basic rules of writing code.

But is it possible to test each line of your code during a tight schedule?

There were times when my pull request was rejected for improper alignment of code. Also, there were times when I broke our Staging environment due to my code change. This is all because of lack of testing.

For example, if you are a javascript developer, you can run js lint before sending a pull request and resolve if it throws an error. What if you have changes in multiple repositories?

How will you test optimized by utilizing time? Here, Continuous Integration comes in to picture.

### What is Continuous Integration?

Continuous Integration is a software development practice of testing each change done in your central repository automatically by running automated builds and tests.

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

From the diagram, we can see: Developer does a code change and pushes changes to his/her own repository. As soon as he/she commit changes a webhook is triggered by the version control, in my case am using Github. Now, the commit webhook will trigger a build which actually runs all your test cases. You can use any CI/CD platform to run your build, amusing [JFrog Pipelines](https://jfrog.com/pipelines/).

Now if your build fails, you can go back and do the required changes. If your build passes then you can raise a pull request and send it for review.

I believe the goal of Continous Integration is to find and address bugs as soon as possible. This improves your code quality, system quality and reduce the time it takes to validate any new updates.

### What is Continuous Delivery?

Continuous Delivery follows the testing that happens in CI and push to staging/production environments continuously.

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

The core idea here is to deliver the code to QA or any user base so that it can be regularly reviewed. The main motivation of all this is to improve your software and of course to ship good code.

I hope you find this post helpful 🙂
Unspecified Location Constraint
Tags: aws, s3, awscli
Published: 2020-04-17 05:14:37

---
title: Unspecified Location Constraint
published: true
description: 
tags: aws, s3, awscli
---

I was creating an AWS S3 bucket using AWS CLI, but I was getting below error while creating bucket

#### Problem:

###### Command:-

```
aws s3api create-bucket --bucket abhishek-qa-state-store --region us-west-2                                                                                                                                    
```

###### Error:-
```
An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region-specific endpoint this request was sent to.
```

#### Solution:

For any other region than `us-east-1` in AWS, we need to define the `LocationConstraint`. Below is the command which will create a bucket for you in any other region apart from `us-east-1
`

###### Command:-

```
aws s3api create-bucket --bucket abhishek-qa-state-store --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2                                                                         
```

###### Output:-

```
{
    "Location": "http://abhishek-qa-state-store.s3.amazonaws.com/"
}
```

More info available here

[AWS S3 Location Constraint](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-location.html)
Micplustech
Published: 2020-04-17 05:10:07

https://micplustech.com/jamb-direct-entry-registration-form/
https://micplustech.com/jamb-cut-off-mark/
https://micplustech.com/jamb-registration-form/
https://micplustech.com/jamb-admission-letter/
https://micplustech.com/list-of-approved-jamb-cbt-centres-for-2020-2021-utme-de-registration/
Succeeding as a SaaS Startup
Tags: saas, startup
Published: 2020-04-17 04:36:36

Here is a post I made regarding independent SaaS startups. If you are looking to start your own, give it a look:

https://new.blicio.us/tips-to-succeed-as-a-saas-startup/

> Software as a Service (SaaS) is one of the hottest business models of internet-based businesses, and if done right, it can be quite profitable with little overhead. More than half of the world’s organizations are reliant on SaaS services, and big companies like Microsoft are serving such applications.
iOS/Android icon path
Tags: ios, android, icon, flutter
Published: 2020-04-17 03:53:12

A note to where you put your icon images when developing (using appicon.co generated images)

Android
<project root>/android/app/src/main/res
*replace the folder mipmap-hdpi, mipmap-mdpi, mipmap-xhdpi, mipmap-xxhdpi and, mipmap-xxxhdpi with the folders generated by appicon.co

iOS
<project root>/ios/Runner/Assets.xcassets
*replace the folder AppIcon.appiconset with the folder generated by appicon.co
Xcode and iOS compatible version 
Tags: ios, xcode
Published: 2020-04-17 03:42:01

A quick note to what version should your Xcode is, in order to run your app during development.

Xcode *major* version MUST be 2 behind, and *minor* has to be equal or ahead from your iOS version.

e.g. 
Xcode version 11.2.1 and iOS version 13.2 --> Compatible!
Xcode version 10.1 and iOS version 13.1 --> Not compatible!
Xcode version 11.4 and iOS version 13.3 --> Not compatible!

To check your iOS version, go to Settings/General/About
and for your Xcode, either on the first screen (where it says Version), or    at about Xcode window.
Thread safe IOS universal cache SwiftlyCache
Published: 2020-04-17 03:41:57

In IOS development, cache is more or less used to reduce network requests. There are many cache frameworks developed with Objective-C on the network, but the cache framework developed by swift is relatively less. Swiftlycache is a cache framework developed by me(https://github.com/hlc0000/SwiftlyCache)

Features:
Support all data types complying with the codable protocol
Objects can be evicted with least-recently-used algorithm
It can be configured to automatically recycle objects or manually recycle objects when receiving memory warnings or when the application enters the background
Using subscript can make reading and writing data more convenient
Support reading data using sequence generator

Division of responsibilities of members:
Cacheware: it provides some basic interface protocols. Multicache, memorycache, diskcache, etc. all abide by this protocol
Multicache: multicache, call memorycache and diskcache related methods
Memorycache: it is responsible for small capacity, relatively high-speed memory cache, thread safety, asynchronous operation, automatic and manual cache cleaning
Memorystorage: the bidirectional linked list class used by memorycache
Linkednode: double linked list node class
Diskcache: responsible for handling large capacity, relatively low speed disk cache, thread safety, asynchronous operation support, automatic and manual cache cleaning
Diskstorage: diskcache internal implementation class
Diskstorageitem: used to load disk cache data

If you are interested, you can go to my GitHub to learn more details. You can see the performance comparison between swiftlycache and other caches... If you can support it, it will be my great honor. Thank you
Php Send Mail
Published: 2020-04-17 03:28:12

I agree that many newbies don't use Php nowadays. But this post is for noobs like me at Php :)

After installing Sendmail on ubuntu server 14.04 / 16.04, I tried sending mail from my PHP script and it was painfully slow. I thought I had not configured Apache / Nginx properly. Me being a noob at this tried to delete the snapshot and reinstalled with ubuntu 14.04 (earlier one being ubuntu 16). Still, the issue persisted. After a lot of googling I kind of figured a solution.

Initially determine the hostname of your server by typing:

```
hostname
```
This will reveal your hostname.

Then go to `/etc/hosts`

```
sudo vi /etc/hosts
```

Modify the line with IP to read as:
```
127.0.0.1    localhost localhost.localdomain ashwin
```
(where “ashwin” is my server’s hostname, you should add your server’s hostname — duh!)


Finally, I ran

```
sudo sendmailconfig
```

Answer Y to all the questions asked to rebuild/reload Sendmail configuration.

That’s it, Send Mail started working!

Hope this helps for people who struggled with installing a new server in Digital Ocean / AWS and trying to send mail!


That’s the end of this blog post! 
Thanks for reading! If you like it, please hit ♥️
How to Paginate with Django?
Tags: django, python, webdev, tutorial
Published: 2020-04-17 03:20:16


Pagination is a common navigation technique of dividing content into discrete pages. It helps make the content more organized, and thus improving user experience.

So, how do we paginate data in Django?
First thing we need to do is update our views to  paginate the data.
We will look at both `Function-Based Views` and `Class-Based Views`.

# Function-Based View

We need to import paginator from `django.core.paginator` which splits a Query-Set into Page objects.
Consider we have 45 blog posts and we want to display at most 10 posts per page.
```
from django.shortcuts import render
from django.core.paginator import Paginator
form .models import Blog

def blogposts(request):
	blogs = Blog.objects.all()
	paginator = Paginator(blogs, 10)
    
	page_number = request.GET.get('page')
	page_obj = paginator.get_page(page_number)
	return render(request, 'index.html', {'page_obj': page_obj})


```
The above example will Paginate the blogs Query-Set in pages of 10. This will create a 5 pages result. The first 4 pages with 10 blog posts each and the last page with 5.

# Class-Based View
In class based views we can use  `paginate_by` attribute to specify the number by which to paginate the queryset.
```
from .models import Blog
from django.views.generic import ListView

class blogposts(ListView):
    model = Blog
    paginate_by = 10
```

# Template
After updating the views we need to update our template.
To be able to navigate between posts we need to add links in our template.

```
<!--
 code to display blog posts ...
-->
<div class="pagination">
    <span class="step-links">
        {% if page_obj.has_previous %}          
            <a href="?page={{ page_obj.previous_page_number }}">previous</a>
        {% endif %}
        
        <span class="current">
          {{ page_obj.number }}
        </span>

        {% if page_obj.has_next %}
            <a href="?page={{ page_obj.next_page_number }}">next</a>
        {% endif %}
    </span>
</div>

```
This displays a previous-next links with current page number. 
<br>
This is a simple example of pagination but you can get more creative with it. You can follow this [link](https://docs.djangoproject.com/en/3.0/ref/paginator/) for more information about Paginator class.
Servber - Marketplace for doers 🚀
Tags: showdev, react, startup
Published: 2020-04-17 02:21:32

We just launched a new product called servber.com a place where collaborators and people with amazing talent can come and join us to showcase and get paid for their talent. Anyone can sign up for free and list their talents or skills or offerings and get paid for them! 

This is a tremendous time to get started on a side hustle and we predict this product will take off solely because of that but we need your help so dev.to do your thing please.
Curb Run: Get notified when grocery pickup slots are available
Tags: twiliohackathon
Published: 2020-04-17 01:38:04

Curbside pickup is the safest option for getting groceries right now, for store employees and people buying groceries alike. But slots can be frustratingly hard to get.

Chances are you live in an area with several different grocery stores, so why not look at all grocery stores in a reasonable driving distance to increase the chances of finding a slot?

Curb Run automates this whole process by scanning the individual grocery store websites for you. We'll send you a text as soon as a pickup slot becomes available.

It started out as a small script hacked together because it was difficult to manually check for timeslots across multiple Wegmans stores in our area. After several friends and neighbors expressed interest, we decided to turn it into an app. Fast forward to today we managed to add support for dozens of grocery stores.

## What we built
#### Category Submission:
Interesting Integrations, Exciting X-Factors

## Demo Link
https://curb.run

## Link to Code
https://github.com/minicodemonkey/curbside

## How we built it
Curb Run was built on Laravel, using Tailwind and VueJS for the frontend. The trickiest (and most interesting) part of building the app was to unravel the data from the various grocery store chain websites.

It was also a big eye-opener for some of the crazy mergers, acquisitions and partnerships that have been established over the years for many American grocery store chains. This was definitely visible through shared "under the hood" technology for some of the sites.

![Chains we support](https://i.imgur.com/lr93GUk.png)
![Map of stores](https://i.imgur.com/hrc19ve.png)
Periodization for Programmers Part 0
Tags: career, productivity, learning, motivation
Published: 2020-04-17 01:26:56

First a bit about myself, I'll keep it brief as I only want to provide context.
I'm have been both programming and cycling/lifting for about 10 years on and off.
I also have been diagnosed with OCD and I use the tool described below to combat some of the inefficiency OCD introduces. I know that this is not required to succeed, but I both find it helpful and find it fun.

Periodization is a way to organize long term training. It can be found in both the strength training world and cycling. For a while know, I've had an inkling that it could be applied to mental training or more generally it could be used by knowledge athletes (read knowledge workers). It was not until I read the book Elastic Habits by Stephen Guise that it occurred to me that it was not only possible but could possibly work very well.

I'm going to drop some links that I will expand on in the next posts, because I know if I don't publish this it will not get done.

https://jamesstuber.com/periodization/
https://medium.com/superintelligence/blocked-periodization-a-new-method-to-enhance-learning-4b73e501d672
https://www.strongerbyscience.com/in-defense-of-program-hoppers-dup-revisited/
https://www.lesswrong.com/posts/Abfyno2jNpDomFvmr/success-and-fail-rates-of-monthly-policies
https://minihabits.com/
The Best Programming Language to Learn
Published: 2020-04-17 00:37:26

Programming is a lot like Linux. It is a lot less scary once you actually get into it. That being said, what is the ONE language you should learn? The one that will determine your career? Simple. C++. I am not joking, here's why.

C++ is an extension to C. If it makes it easier, think of it like TypeScript and JavaScript, but lower level with different syntax. Why C++ in particular? First, it can run plain C code in any sane C++ compiler. Second, you can learn everything lower level and can aim higher level if you so wish.

But I am an **x** developer, and C++ doesn't fit my work: Other than web development, this isn't an issue but let's say it is. You still have one core thing to do, learn the absolute core. If you focus on Web-Dev (somewhere where C++ actually doesn't make sense), then learn the core of programming by doing C++ part-time.

But C++ is complicated: That's why I choose C++. As if you want to learn how Linux works, use Arch, not Ubuntu. If you just need to get a job done and you don't want to learn too much, then learn Python. Python is a wonderful language for those who don't care to actually program (just get things working). This isn't an insult to Python, by the way, it is the selling point of why even I use it even though it isn't my favorite. But C++'s complexity can prepare you for jumping languages as you wish.

But **y** language seems more my taste: Cool, learn C++ anyways. At the VERY least, just look into how it works and what everything is. How I wrote Fibonacci in 35 languages (before it became a team project with 60 languages, 2 others that weren't to the cut we required) is that I learned from doing... originally JavaScript... and applied what I knew in JavaScript and looked how the things were done in that language. 

But I like other styles like LISP and Java: C++ is still valuable. It teaches you the core of programming, and LISP and Java styles don't add too much else than a syntax overhaul. You will be doing the same things in C++ than in Java. 

I am a functional programmer: ... Yeah then don't learn C++. C++ is an OOP and while it can still be applied, Haskell and Elixir are far leaps from C++. Unless it is a mixed language like F# where it can be functional and OOP.

Okay, where do I go learn C++: YouTube has many good tutorials. I recommend [C++ Tutorial 2020 by Derek Banas](https://www.youtube.com/watch?v=6y0bp-mnYU0) and [C++ Tutorial for Beginners from Giraffe Acadamy (uploaded by freeCodeCamp)](https://www.youtube.com/watch?v=vLnPwxZdW4Y) at least to start. Then feel free to go elsewhere and learn a tutorial by whomever.
TerminusDB Webinar - TerminusHub, what's the deal?
Tags: database, git, operation, interview
Published: 2020-04-17 01:19:16

---
title: TerminusDB Webinar - TerminusHub, what's the deal?
published: true
description: In TerminusDB HQ, we are working very hard to make TerminusHub happened. It is an epic journey and it has a grand vision - to share and collaborate data like GitHub. So, what’s the deal regarding TerminusHub? When can we use it? What can I do with it? Will it be free? This week, I will interview Kevin Feeney, CEO of TerminusDB, (again) to ask about the current state of Hub and answer all the questions that we have in mind.
tags: database, git, operation, interview
---

In TerminusDB HQ, we are working very hard to make TerminusHub happened. It is an epic journey and it has a grand vision - to share and collaborate data like GitHub. So, what’s the deal regarding TerminusHub? When can we use it? What can I do with it? Will it be free? This week, I will interview Kevin Feeney, CEO of TerminusDB, (again) to ask about the current state of Hub and answer all the questions that we have in mind.

You can access all our webinars as podcasts here: <https://podcast.terminusdb.com/>