teleren/devto huggingface dataset:
How to do RDS Schema/Maintenance changes
Tags: aws, rds, migration, schema
Published: 2021-06-09 13:40:51

**RDS Access**

* RDS can be accessed locally via ssh tunnel. This can be achieved by following my below guide.

[https://dev.to/aws-builders/ssh-setup-and-tunneling-via-bastion-host-3kcc]

**General Guide to Schema Changes**

* Try to make the schema changes backwards compatible.

* Separated data sources for each deployment unit (no shared schemas or databases where possible)

**Schema update and data migration**

Relational databases: Use a migration tool to track changes and to automatically update the database.

* Coordinated workflow for deployment and data migration during operation.

* It’s easy without high availability constraints: Shutdown application, update database, deploy new application, restart application.

* It’s hard when high availability is required: Multiple intermediate versions of the application and update application instances step by step.

Example 1:
*Let’s say we want to add a column in a table. How can we add the column while still staying backwards compatible with applications that doesn’t know the new column? If the application reads entries from the table, we simply ignore the new column. If the application writes a new entry, we can use default values for the new column. Indeed, it’s up to our use case if this approach is acceptable, but this way we can change our database independently from the applications.*

Example 2:
*We want to remove a column from a table. First, we have to make the column optional. Now we can take some time to update the accessing applications so that they don’t write or read the column anymore. During this time our schema is backwards compatible. After we’ve updated all applications we can remove the column from the schema.*

**How to do Schema Changes**
1. Setup your tunnel to nonproduction.

2. Take a snapshot of the database point in time.

3. Deploy your schema change via SQL Developer Studio or similar tool.

4. Test Results.

Once testing is complete and you are happy with the changes,

* Setup your tunnel to production database.
* Execute your change.
* Perform testing to confirm change.

**How to roll back**

**Non-production**
Because the data is not important but the schema change is, roll back to the snapshot taken or use your rollback steps to rollback the change.

**Production**
Because the data is important, ensure that your changes can be rolled back.

If the change is permanent and can not be rolled back, then a new table should be used for the schema change and the applications should coordinate the migration of existing data to the new table as well as the strategy required should data need to be migrated back to the original schema.
Exciting time ahead. I joined the Forem🌱 team
Tags: career, meta, design
Published: 2021-06-09 13:37:45

Hello Everyone👋,

My name is Anuj Bhavsar, based in Ahmedabad, India🇮🇳. And I'm proud to announce that I have recently joined the Forem🌱 team as a Product Designer.

I'll be working with @lisasy & @pp designing the experience for empowering communities.

------

###About me😎
I'm a computer science dropped-out student(competitive coding wasn't my cup of tea, and then the creative field came to rescue). I made my way into design industry five years back by self-learning and the help of the online community. I've been working in this industry for the last four years. Before Forem, I've worked with India's biggest Edtech startup Vedantu. Also, I've experience working with a Design studio.

When I'm not designing, I enjoy binge-watching series & movies 🎬, clicking & editing pictures📸 , and watching cute animals on Instagram. I'm always grooving on some tunes on Spotify🥁 while working.

Nowadays I'm into cooking🥘, workouts🏋🏻, dog parenting🐶 , and house decorations🏵.

------

###Why Forem🤔?
Because why not? Where will I find such a dream team dedicated to working towards such a noble and fascinating problem? 

Being a self-taught designer, I know the importance of community. DEV is such an incredible example of that. And Forem is helping creators drive such communities.

The thing I like about Forem+DEV is open-source and the habit of building in public. Transparency is everything in such time. 

------

Excited to work with these talented folks and enhance the user experience for Forem🌱

------

###Where you can find me👀
Follow me here on DEV for work-related updates.
[Twitter](https://twitter.com/anujbhavsar50) • [Instagram](https://www.instagram.com/anuj.png/) • [Dribbble](https://dribbble.com/anujbhavsar50)
How to: Remove Old Tweets
Tags: python, twitter, productivity, career
Published: 2021-06-09 13:27:28

Hey 👋 - so you want to remove old tweets? Great, this short guide will provide you with free resources to do so.

Before I begin I want to touch on why I decided to put this article together. As an avid Tweeter I found my feed was cluttered with a mix of personal and professional tweets (_think: dogs, tech advice and food_) and I wanted a clean slate without losing great connections. I decided the best course of action was to delete all of my old tweets. 

It is worth noting that there are many different resources available, I didn't want to pay for a service so I searched for the best 'free' resources there was. 

Here they are:

#####Tweet Delete (package)
Tweet Delete is a small Python package that you can run from your command line after installing, it allows you to delete tweets from a certain date & you can continuously have it running if you wish to expire tweets after a certain period of time. In order to run this package you will require having the latest version of Python and Twitter developer access in order to retrieve the API keys required, this can request by following this [guide](https://developer.twitter.com/en/docs/apps/overview).

#####Tweet Delete (web)
If you would rather not install any packages on your device there is a handy Twitter plugin that you can authorise to access your account that will allow you to delete all tweets up to a limit of 3,000. To utilise this you just need to sign in with Twitter, set your range and submit (👋 tweets). 

#####Links
[Tweet Delete Package](https://pypi.org/project/tweet-delete/)
[Tweet Delete Web](https://tweetdelete.net/delete_tweets/)

Lastly I want to say a huge thanks to the creators for putting these packages together they are incredibly helpful and hope you find them helpful too.
How to connect to ElastiCache Redis
Tags: aws, elasticache, redis, stunnel
Published: 2021-06-09 13:23:27

**Rationale**

If ElastiCache/Redis deployments default encryption for both inflight and at-rest, then this could cause issues with connectivity for some clients, like redis-cli.

**Solution Summary**

[https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/]

**Two parts**

* Deploy EC2 for your app/branch and run stunnel to Redis (then use SSM to SSH into the server and run Redis commands from CLI)
* Use SSM to port forward 2 x ports from your EC2 + stunnel setup to localhost, and connect with a desktop client.

**Steps**

* Using an ec2 I have an ec2 keypair for (app server):

```
INSTANCE_NAME=demo-app
```

* Find the instance ID based on Tag Name

```
INSTANCE_ID=$(aws ec2 describe-instances \
 --filter “Name=tag:Name,Values=${INSTANCE_NAME}” \
 --query “Reservations[].Instances[?State.Name == ‘running’].InstanceId[]” \
 --output text)
```

* To connect to the EC2 to test connectivity

```
aws ssm start-session — target “${INSTANCE_ID}” 
# — — — — — — — — — — — -
# On the EC2
# — — — — — — — — — — — -
```

* Test EC2 connectivity to redis is OK

```
curl -v telnet://master.demo.cache.amazonaws.com:6379
```

* Setup stunnel as per -

[https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/]

* Install stunnel on ec2

```
sudo yum install -y stunnel
```
```
cat /etc/stunnel/redis-cli.conf

fips = no
setuid = root
setgid = root
pid = /var/run/stunnel.pid
debug = 7
options = NO_SSLv2
options = NO_SSLv3
[redis-cli]
 client = yes
 accept = 127.0.0.1:6379
 connect = master.demo.cache.amazonaws.com:6379
[redis-cli-slave]
 client = yes
 accept = 127.0.0.1:6380
 connect = demo.app.cache.amazonaws.com:6379
```
* Run stunnel (as root)

```
sudo stunnel /etc/stunnel/redis-cli.conf
```

* Check if it’s up

```
netstat -tulnp | grep -i stunnel
exit
# — — — — — — — — — — — -
# Back on the laptop
# — — — — — — — — — — — -
```
 
* Create 2 port forwarding tunnels for stunnel redis

```
aws ssm start-session --target $INSTANCE_ID \
 --document-name AWS-StartPortForwardingSession \
 --parameters ‘{“portNumber”:[“6379”],”localPortNumber”:[“6379”]}’
 
aws ssm start-session — target $INSTANCE_ID \
 --document-name AWS-StartPortForwardingSession \
 --parameters ‘{“portNumber”:[“6380”],”localPortNumber”:[“6380”]}’
 ```

* Now test from laptop

```
redis-cli -h localhost -p 6379 -a eNdU35somebigpasswordXpvD ping
```
Applied Data Science Capstone by IBM/Coursera - The Battle of Neighborhoods
Published: 2021-06-09 13:17:31

## Report for the project

For the busy lifestyle in Hong Kong, insufficient time to sleep is a common issues among Hong Kong Workers. In spite of taking leave, they may seek for some refreshment during their working hours, or taking a coffee break in the morning section. One of the chain coffee shop is going to set up their first chain coffee shop in Central, Hong Kong - the Internation Financal Center of the World. They would like to understand the market in Central and seeking for advisory.

With this project, we will try to discover

1. Number of coffee shop in Central, Hong Kong
2. How many direct competitors on the location they have selected

## Preparation

At the starting, we have to include several libraries needed

- request: obtaining information for foursquare
- pandas: DataFrame
- numpy: Mathematical calculation
- folium: Map of visualization

After that, setting corresponding parameters and you will see below once you have set successfully.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dk71wmmi73aip35flji1.png)

# Data Extraction

In this project we are going to use FourSquare as the datasources to provide the life of shops selling coffee

We have to login foursquare with the credential provided, and the parameters to get the list we have to check, after that, we have put the result into pandas DataFrame for further processing

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

After that, we have categorized those shops on the map for easier present to our target audience with below.
​
- Red: Coffee Shop, direct competitor 
- Orange: Cafe, indirect competitor
- Green: Others

Finally we have put our target location onto the map to see what is going on, and found only 7 shops around our target location, and 3 are coffee shops only

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

## Conclusion

With the help of using four square and python, we can locate all the shops near our selected location in an effective manner, with the help of visualization, decision making can be done in proper and effective manner, it helps the chain company to decide whether they should continue their plan on setting up a new plan

According to the plan and map analysed, there are a lot of coffee shops or cafe available in the selected area, it means the demand and capacity for adopting new coffee shop is high since there are several buildings and offices with coffee lovers! It would be a good signal to the investor to continue their plan to set up a new chain store in the designated area
Wednesday Links - Edition 2021-06-09
Tags: java, jvm, rsocket, spring
Published: 2021-06-09 13:14:06

OpenJDK and the Future of Production Profiling (11 min read) 🔮
http://hirt.se/blog/?p=1318

Bye to tiny hole in the floating point spec in Java 17 (30 sec read) 🎈
https://twitter.com/errcraft/status/1400271247129255938

Taming Resource Scopes (12 min read) 🚧
https://inside.java/2021/05/28/taming-resource-scopes/

Are you ready for Valhalla? (5 min read) ⚔️
https://softwaregarden.dev/en/posts/new-java/ready-for-valhalla/

"Wiremock" for RSocket (3 min read) 🚎
https://spring.io/blog/2021/06/02/wiremock-for-rsocket

An Unbelievable Demo (10 min read) 😮
https://brendangregg.com/blog/2021-06-04/an-unbelievable-demo.html
How to grant cross account S3 bucket access
Tags: s3, aws, crossaccount, iam
Published: 2021-06-09 13:13:54

**General Policy**

IAM Role + assume role is always preferred over access keys (if third party is on Amazon and their app can assumerole).
Access keys have to be rotated for best security practices, and they are harder to control/contain.

**Approach**

* Assume you had access key on Account A.

* You want access to a bucket on Account B

* Assume Account B bucket=sample-logs, add the following into its Bucket Policy.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1357935647218",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::AccountA:root"
                ]
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::sample-logs"
        },
        {
            "Sid": "Stmt1357935647218",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::AccountA:root"
                ]
            },
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "arn:aws:s3:::sample-logs/*"
        }
    ]
}
```

* Then on Account A, update user IAM inline policy with the below.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:List*",
                "s3:Get*"
            ],
            "Resource": [
                "arn:aws:s3:::sample-logs",
                "arn:aws:s3:::sample-logs/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

**Setting up IAM Users, Roles and bucket policy**

* If you need access keys, you need an IAM User + policy.

* If a third party can assume role, you just need the role with *sts:AssumeRole* allowed for that account. You also need to update the s3 bucket policy to allow access from that account.
A Tri-Lingual Hackathon
Tags: hackathon, cassandra, datastax, datastaxastra
Published: 2021-06-09 13:07:39

Calling all hackers and developers, individuals and teams, front end, back end and full stack...If you are a hacker or developer then you are exactly who I am speaking to right now.

DataStax is currently hosting a Tri-Lingual event in Spanish, Portuguese and English together with HackerEarth aimed at the Americas & Caribbean region.

Cash prizes, fame, accolades, opportunities, the payoff for winning can be tremendous and we therefor invite anyone and everyone to sign up and take part. IT IS FREE!!!

For Spanish & Portuguese please visit the event page here:
https://festivaldeastros.hackerearth.com/
For English please visit the event page here:
https://festivaldeastrosna.hackerearth.com/

Please ping me with any questions you might have and I will be more than happy to help out.

Happy Hacking everyone!!!
Oracle Java 8'e Sistem Çapında Kural Tanımlama
Published: 2021-06-09 13:06:37

Kurumlarda genele uygulanması gereken Java yapılandırmaları olduğunda sistem çapında uygulanması daha işlevsel oluyor.

Oracle Java 8'de de sistem çapında kullanılacak yapılandırmalar `/etc/.java/` dizini altında bulunuyor.
Aşağıdaki gibi 3 adet dosya oluşturmak gerekiyor.

* **deployment.config**
Bu dosyaya genel yapılandırma bilgilerini giriliyor.

* **deployment.properties**
Uygulanmasını istediğimiz kurallar, değerleri ile beraber bu dosyaya giriliyor.
Diğer kurallara buradan ulaşabilirsiniz.
https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/properties.html

* **exception.sites**
İstisna tutulmak istenen bağlantılar tam adres şeklinde girilmesi gerekiyor.
Mesela, https://www.deneme.com ile bu önek sahibi tüm bağlantılarda, https://www.deneme.com/imza.php ile sadece bu bağlantıya istisna uygulanır.
http ve https protokolünde farklılık varsa onu da belirtmek gerekir.

## **Dizin Ağacı ve Dosya İçerikleri**
```
/etc/.java/deployment/
├── deployment.config
├── deployment.properties
└── security
    └── exception.sites
```

**deployment.config**
```
# Sistem çapında yapılan yapılandırmaları uygulamaya zorlar.
deployment.system.config.mandatory=True 

# Yapılandırmaların bulunduğu dosyanın tam konumu. Dosya konumunun baş kısmına file:// ekini koymak gerekiyor.
deployment.system.config=file:///etc/.java/deployment/deployment.properties 
```

**deployment.properties**
```
# İstisna bağlantıların bulunduğu dosyanın tam konumunu belirtiyoruz. file:// önekine gerek yok.
deployment.user.security.exception.sites=/etc/.java/deployment/security/exception.sites
```

**exception.sites**
```
# İstisna olarak eklenmek istenen bağlantılar, satır satır yazılacak.
http://signer.vadi.com.tr
https://deneme.com/imza.php
```
🛠 Top 5 tools for any .NET developer
Tags: dotnet, csharp, programming, visualstudio
Published: 2021-06-09 13:05:00

Visual Studio is the best tool for .NET development thanks to all the facilities it offers us.

Although it is very complete, it does not cover all needs. There will always be small parts that we will need to cover with other tools. At ByteHide we are going to the 5 most useful tools. 👇

---

## ✅ Powershell
Although it is widely used by system administrators, programmers today do not usually use it much. In addition, Windows also includes the Windows ISE editor, which can help you write scripts more easily.

---

## ✅ Chocolatey
If you’ve ever used a Linux system, one of its best things is its apt-get package manager. It allows you to install any application on the system from the command line. Windows does not have similar officially supported utilities, but the closest one is Chocolatey.

Chocolatey allows you to install, update or uninstall almost all Windows applications simply by typing in the PowerShell command line.

---

## ✅ Poshgit
Basically, it provides you with built-in Powershell help for use with Git, so you can always see information about the repository in the current folder: the branch it is in, the changes made, etc… It’s a little help, but very interesting.

---

## ✅ LinqPad
If you just want to be able to run code, test ideas in short programs, or start LINQ commands without having to open Visual Studio and create a project, LinqPad is the solution.

LinqPad is agile, fast, and has many options. They can even provide contextual help or allow you to compile small programs.

Although it has a paid version, the free version will cover almost all your needs.

---

## ✅ dotPeek
You can check any .NET assembly (even the platform assembly itself) and see its equivalent code in C # (or IL), get the Visual Studio project, find specific content in the code… and much more.

Essential, apart from the fact that it can be downloaded directly without registering. To obtain more information about each one of them in the documentation.
K8ssandra & the Community
Tags: news, community, cassandra, kubernetes
Published: 2021-06-09 13:01:52

Our goal was to upgrade the experience for everyone to be inclusive, entertaining, motivating and valuable. The K8ssandra team recognizes the value in each and every member of the community. So from the bottom of our hearts … THANK YOU! 

People frequently ask: “Why are you so focused on the community aspect of this project?” Our response is simple: without community there is no project. A community is a group of people sharing a common location, characteristics, or a shared belief system. While this is true for the world at large, I believe there is more to what defines a community: a sense of belonging, being a part of something bigger than yourself, and having that feeling of fellowship with others who share common interests, goals and attitudes. 

Our goal will always be to give the community value and to acknowledge your contributions, ideas and feedback. Without you there is no community, and without a community there is no forward progress with K8ssandra. 

Updated K8ssandra.io Site Features

The refreshed site has many new features to enhance the experience for every visitor. It is a space for us to have conversations, obtain skills, and celebrate contributions with gratitude. Let’s talk about some of the available features and how you can leverage them to your advantage. 

    Community Forum
        This is a central forum where you can ask any and all questions, speak to fellow community members, learn new skills, share new code, and more. 
    Live Chat
        This Discord server is used for live interactions between members of the community.
    Blogs
        A great source for information, features, opinions and examples of how K8ssandra is used in the field. 
    Tutorials 
        Obtain skills and knowledge to be successful using K8ssandra.
    Code, Code and more Code 
        A direct link to the K8ssandra GitHub page where we encourage you to pull, fork, improve and contribute to the code that makes K8ssandra.

K8ssandra for the people!

K8ssandra is an open source project created to help developers deploy Apache Cassandra™ on Kubernetes™ more easily, efficiently and effectively. This project was created for the people, it will be improved by the people, and it will forever be of the people. You make K8ssandra better with every code contribution, every workshop, every new project and every new pair of eyes who look at this and think: “YES! This is exactly what I need.” 

We’re happy you’re here, and hope this site will be useful to you both today and in the future. Look around, investigate, contribute, play, have fun, learn, get inspired, and build your skills.  Most importantly, know that you are here at the beginning of something very special and you are very much appreciated.

Feel free to message me with any question you might have, and thank you for taking the time to read my first post!
Tag page in main menu for empress-blog
Tags: ember, empress
Published: 2021-06-09 12:55:08

If you want to add a link to a particular tag in [empress-blog](https://github.com/empress/empress-blog) to your main menu, you just have to specify `route` as `tag` and `id` as your particular tag. Let's say my tag is going to be called [munro](https://en.wikipedia.org/wiki/Munro):

```sh
❯ ember g tag munro
```

And I want a link to a page that lists all the articles that contain this tag in my main menu. All I have to do is add to config following lines:

```js
// config/environment.js

module.exports = function (environment) {
  let ENV = {
    blog: {
      navigation: [
        {
          label: 'Munros',
          route: 'tag',
          id: 'munro',
        },
      ]
    }
  }
}
```

## Screenshot

![Munro tag page link preview on empress-blog](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3sh7qkqheye700d931ll.png)
Top Acting Institute India
Published: 2021-06-09 12:51:22

MSAFA is the best Acting & Film making Academy in India and offers an exciting way of learning to the aspiring actors, Editors, Writers and Filmmakers. It’s the best Academy for Acting, Editing, Direction, Writing and Cinematography in Chandigarh. MSAFA focus on the overall development of the students by providing Acting and other courses online or offline. All the courses are Certified Courses. It’s the one of the best Acting school in nearby by areas Panchkula, Zirakpur and Mohali with a stream of Bollywood most experienced and talented actors regularly appearing to share their knowledge with the students.
Looking for a Full stack sw engineer for a fast growing scale-up in Luxembourg!
Published: 2021-06-09 12:40:42

For a smart, innovative and fast-growing company, specialised in providing software solutions for machine learning, data analytics and AI.

They are looking for a good knowledge of Java (or another object-oriented programming language), Typescript/JavaScript and Maven or NPM, Git and Jenkins, Bamboo, GitLab, etc. C and React are a plus.

For more info:
enrica.pellegrini@matassarecruiting.com