teleren/devto huggingface dataset:
Studying Structure and Interpretation of Computer Programs (SICP)
Tags: sicp, tutorial, codenewbie, scheme
Published: 2023-03-28 12:45:12


I recently came across [this](https://teachyourselfcs.com/) simplified roadmap for studying Computer Science. The first subject on the list is programming.

Now, It could feel a bit like a downgrade to study programming if you've been introduced to more high-level packages that can do magic with just a few lines of code. However, for someone like me who has never been formally introduced to CS, I knew that it would be worth the time to learn more about the basics, especially that the resource recommended for learning about programming, is known to be the world's best CS book.

So, the knowledge presented in the book is in a sense ageless as it dives into different concepts such as black-box abstraction and conventional interfaces directed at managing complexity.

Just finished the first two lectures and already had a couple of aha moments. Also had to set up my machine so that I can run Scheme, the programming language used in the course, which is a dialect of the programming language Lisp.

Now, Studying Brian Harvey's, Spring 2011, lectures. Can be found [here](https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter) and keeping track of my progress using [this](https://github.com/MostafaWahdan/Studying-SICP/) Github repo. and below is a summary of what it took me to be able to run the same compiler being used in the course which was no easy task at all.

- Followed [this](https://youtu.be/IL7Jd9rjgrM) tutorial to set up WSL2 on my machine. It gets into how to create a GUI interface too, but that won't be needed for the purposes of this setup.
- Once I had Ubuntu up and running, I tried multiple variations of Scheme, the language used in the book, and the course. Tried Drracket's "simply-scheme" and MIT-scheme which were recommended by most but faced a bit of trouble running some of the lecture programs. Eventually, I used [this](https://github.com/bzliu94/cs61a_fa07/blob/master/README.md) guide to install STk-simply, which is the same compiler used in the lectures, hence, it got me exactly the same output for all the lecture programs.
- So at this point, I have STk-simply running a REPL interface. Still what I don't have is an integration between the compiler and a text editor so that I can edit larger programs and run them in the REPL.
- For that, I chose emacs as my text editor. Wasn't straightforward as it was the first time I deal with it, had to learn a couple of shortcuts to get along.
- Last but not least; needed to set the integration between emacs and STk's scheme. Had to twirl a bit searching for how to set that one up and eventually, thanks to [this](https://www-users.cs.umn.edu/~gini/1901-07s/emacs_scheme/) article, one line of code did the magic. Just had to add this line (set-variable (quote scheme-program-name) "stk") to "~/.emacs.d/init.el"
How to force update a mobile app when a new version is available?
Tags: webdev, javascript, programming, tutorial
Published: 2023-03-28 12:35:28

[](https://www.inconceptlabs.com/blog/force-update-mobile-app-when-new-version-available)his is one of the frequently asked questions by mobile developers. And still, we find it helpful to share our experience and recommendation for this case.

First of all, let’s understand the problem. Many users may argue that you need to release the new version and App Store and Google Play will handle the distribution for all users. And users will automatically get new updates installed if the appropriate settings are ON. While in most cases this is true and you should not force your users to upgrade to every new version, there still can be cases when you have to get rid of older versions.

Here are some real-world examples from our experience:

If your app is using server-side APIs to get data, then inevitably there will be API changes during the active development period. While it is a good practice to have backward compatibility, you can’t endlessly support the old versions, and one day you would love to upgrade all order users and get rid of that deprecated API.
Sometimes, there are some nasty errors pushed to the production, and you only realize it when users start complaining. In this case, you just quickly give a hotfix and wish all your users will get the new fixed version immediately.
For collaborative applications, when you support multiple platforms (iOS, Android, web) you need some breaking changes to be pushed for all versions.

https://www.inconceptlabs.com/blog/force-update-mobile-app-when-new-version-available
Resolvendo problemas no HackerRank: Prazos na Biblioteca
Tags: javascript, beginners, programming
Published: 2023-03-28 12:32:44

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje, iremos ajudar a criar um sistema de biblioteca que irá multar se necessário, os que entregam os livros após o prazo determinado, ele irá calcular os com base na data inicial que ele foi pego e sua devolução e analisar se é necessário multar ou não. Vejamos agora uma explicação detalhada e sua resolução.

**Library Fine -**

A biblioteca local precisa de sua ajuda! Dadas as datas de devolução esperadas e reais de um livro da biblioteca, crie um programa que calcule a multa (se houver necessidade). A estrutura de taxas é a seguinte:

- Se o livro for devolvido antes ou na data prevista para devolução, nenhuma multa será cobrada.

- Se o livro for devolvido após o dia previsto de devolução, mas ainda dentro do mesmo mês e ano da data prevista de devolução: 15 * números de dias atrasados.

- Se o livro for devolvido após o mês de devolução esperado, mas ainda dentro do mesmo ano civil da data de devolução prevista: 500 * números de meses atrasados.

- Se o livro for devolvido após o ano civil em que estava previsto, será aplicada uma multa fixa de 10,000.

Para que possamos entender corretamente, analisemos um exemplo:

- d1, m1, y1: retorna data de entrega: dia, mês e ano.
- d2, m2, y2: retorna data de vencimento: dia, mês e ano

_d1,m1,y1 = 14,7,2018_
_d2,m2,y2 = 5,7,2018_

Como o caso acima o livro foi entregue no dia 14, quando a data de vencimento da entrega era dia 5, o livro foi entregue com um atrasado de: 14-5 = 9 dias. Logo, a pessoa será taxada em: 15 * (14-5) = 135.

Vejamos agora e execução de nosso código:

```
function libraryFine(d1, m1, y1, d2, m2, y2) {
    // Write your code here
  if (y1 > y2){
    return 10000;
  } 
      
  if (y1 == y2 && m1 > m2){
    return 500 * (m1 - m2);
  }
        
  if (y1 == y2 && m1 == m2 && d1 > d2){
    return 15 * (d1 - d2);
    }    
       
  else {
    return 0;
  }  

}
```

No código acima, foi passado todos os parâmetros anteriormente citados.

Ele começa declarando a função `libraryFine`que tem diversos parâmetros (`d1, m1, y1, d2, m2, y2`). Começamos com uma estrutura condicional `if`que ao `y1`for maior que `y2`, retornaremos 10000.

Se `y1`for igual a `y2 e `m1` for maior que `m2`, a multa será: 500 * (`m1-m2`).

Se o `y1`for igual a `y2 e `m1` for igual`m2`, mas `d1`for maior que `d2`, a multa será de: 15 * (`d1-d2`).

E caso qualquer situação fora dessas acima aconteça, logo o livro foi entregue no prazo e com isso, o retorno será 0.

O input de resultado será:

```
2 7 1014
1 1 1014

input de resultado será: 3000
```

Assim, concluímos mais um _Resolvendo problemas no HackerRank: _ até a próxima.
My First Post
Tags: webdev, beginners, codenewbie, programming
Published: 2023-03-28 12:31:52

Hi everyone!

Let me introduce myself:

My name is Yuri ([@codingyuri on Twitter](https://twitter.com/codingyuri)), and I'm currently working in developer relations and writing documentation/technical articles.

I took a little break from social media because of things I've been dealing with, like getting laid off and getting rejected from interviews.

But, I'm back now, and part of my comeback is to start to be active on the Dev.to community.

I'm currently not as technical as I wish to be. I know enough to write documentation and explain a demo, but I'm unable to write the demo myself or code something by myself.

One of my goals is to become a developer and get more involved with coding!

I'll be sharing more of my journey and what I've been learning so far through tutorials, tips, etc.

Hopefully you'll jump on this journey (once again) with me!
My notes on Javascript functions and related things.
Tags: javascript
Published: 2023-03-28 12:27:47

I write some writeup thoughts while learning on frontendmaster.

### Execution context
When a function is invoked, keep in mind that that function will attach to 2 things:
- thread: the ability to run the code in the function from top to the bottom;
- local memory: where the function saves their local variables & inner reference values.
That 2 things is called execution context.

### Block scope
Only the functions can create its own execution context, other code block, loops,... don't create.
So all the variables and values once involved in that function will be locked in and can't be accessed outside.

### Closure
The ability of accessing values from outer scope. To deeply understand closure you should have a notion of what execution context is.

### Higher order function
HOF is an idea of passing function as an argument to another function. This concept give us an idea of freely modification make our code more reusable.
Class And Object
Tags: beginners, programming, tutorial, oops
Published: 2023-03-28 12:19:31


Class :) — Class is a group of object which have common Properties

1. Class is a set of object which shares common characteristics/ behavior and common properties/ attributes.

2. Class is not a real-world entity. It is just a template or blueprint or prototype from which objects are created.
3. Class does not occupy memory.
4. Class is a group of variables of different data types and a group of methods.

For Examples :

Class is a 10th Standard and 10th Standard is a group of Student (many Student) . Then class is a 10th is Standard.

Object :) — Object is a represents real-life entities.An object is called an instance of a class.

An object consists of :

1. State: It is represented by attributes of an object. It also reflects the properties of an object.
2. Behavior: It is represented by the methods of an object. It also reflects the response of an object with other objects.
3. Identity: It gives a unique name to an object and enables one object to interact with other objects

For example, suppose Bicycle is a class then MountainBicycle, SportsBicycle, TouringBicycle, etc can be considered as objects of the class.
`useState` and `prevState`
Tags: react
Published: 2023-03-28 12:09:19

There's a way to update your React state more efficiently using the `prevState` with a callback in `setState` function.

```javascript
const [name, setName] = useState('');
const [address, setAddress] = useState('');
const [phone, setPhone] = useState('');

// we have to update them separately in handlers
const handleNameChange = (arg) => setName(arg);
const handleAddressChange = (arg) => setAddress(arg);
const handlePhoneChange = (arg) => setPhone(arg);
```

In the above case, if we have more fields that means the handlers will grow in a repetitive way. To solve this problem, I have a clever way to nest them in an object and make use of `prevState` in `setState`.

```javascript
const [formData, setFormData] = useState({});

const handler = (formProps) => (newValue)
 => setFormData(prevState => 
   ({...prevState, [formProps]:newValue})
 );
```
Meet dbForge Edge - Brand New Multidatabase Solution by Devart
Tags: sql, mysql, oracle, postgres
Published: 2023-03-28 12:08:12

Devart has released a new multidatabase solution in the dbForge product line - dbForge Edge. The solution includes four database IDEs that cover a wide range of tasks across multiple database management systems. 
 
Devart, one of the leading developers of database management software, ALM solutions, and data providers for the most popular database servers, has rolled out a brand new product - [dbForge Edge](https://www.devart.com/dbforge/edge/?utm_source=dev.to&utm_medium=referral&utm_campaign=pr_edge_27.03.2023), a professional solution for the development and management of SQL Server, MySQL, Oracle, and PostgreSQL databases. 

The new product includes the following key feature groups that can run on different database systems, including Microsoft SQL Server, MySQL, MariaDB, Oracle, PostgreSQL, and Amazon Redshift: 
- Database design: Сreation of entity-relationship diagrams for the visualization of database structures and logical relationships between tables. 
- SQL coding assistance: Сontext-sensitive object and keyword suggestions, intelligent phrase completion, instant syntax validation, highly customizable formatting, and refactoring with auto-correction of references. 
- Visual query building: Coding-free visualization of queries and subqueries and visual editing of JOIN and WHERE conditions. 
- Query profiling: Visualization of query execution plans, detection of bottlenecks in query performance, comparison of differences in query profiling results, and optimization of slow queries. 
- Database comparison & synchronization: Comparison and synchronization of schemas and table data using automatically generated sync scripts. 
- Data management: Visual data editor, data import and export in 10+ most popular formats, generation of realistic test data. 
- Data analysis: Master-detail browser, pivot tables, customizable data reports  
- Database administration: Management of user accounts with privileges and permissions, server session management, events tracking, table maintenance, and index defragmentation. 

To learn more about the recent release, refer to  
https://blog.devart.com/meet-dbforge-edge-your-ultimate-multidatabase-solution.html 

About Devart 

Devart is one of the leading developers of database management and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and mobile development projects. 

For additional information about Devart, visit https://www.devart.com/.
New Beginnings
Tags: webdev, beginners, programming, aws
Published: 2023-03-28 11:57:50

Welcome to my first post! 

This will only be a small introduction to myself since I don’t have any projects or updates to post. 

I’m currently an employee with AWS working towards getting certified in Front-End Web-Development with Flatiron. My goal, to be able to look into jobs in 2024. 

My interest in coding started late into 2022 but I found a strong passion for it as well as the community it comes with. I look forward in testing my abilities as well as sharing what I learn with you all!
How to Choose the Right Web Hosting Provider for Your Website?
Tags: website, webdev, hosting, design
Published: 2023-03-28 11:43:27

Choosing the right web hosting provider is crucial for the success of your website. With so many options available, it can be overwhelming to choose the best one. In this blog post, we’ll discuss the factors you should consider when choosing a web hosting provider for your website.

Determine your website’s needs: Before choosing a web hosting provider, you need to determine the needs of your website. For example, if you have a small blog, you can go for shared hosting, while if you have a large e-commerce site, you might need a dedicated server.

Uptime and Reliability: The uptime of your website is crucial, as downtime can result in a loss of traffic and revenue. Look for a web hosting provider that guarantees at least 99% uptime.

Speed and Performance: The speed of your website is important for user experience and search engine rankings. Look for a web hosting provider that uses fast servers and offers features like Content Delivery Networks (CDNs) to improve website speed.

Customer Support: Good customer support is important in case you face any issues with your website. Look for a web hosting provider that offers 24/7 customer support through phone, email, or chat.

Scalability: As your website grows, you may need more resources to handle the traffic. Look for a web hosting provider that allows you to easily upgrade to higher plans or add more resources as needed.

Security: Website security is critical to protect your website and user data from hackers and cyber threats. Look for a web hosting provider that offers security features like SSL certificates, malware scanning, and backups.

Cost: Cost is an important factor when choosing a web hosting provider. Look for a provider that offers competitive pricing and transparent billing. Be wary of providers that offer cheap plans with hidden costs and limitations.
Reputation and Reviews: Do some research on the web hosting provider you are considering. Look for reviews from other customers and check their reputation online. Avoid providers with a history of poor customer service, security issues, or downtime.

In conclusion, choosing the right web hosting provider requires careful consideration of your website’s needs, uptime, speed, customer support, scalability, security, cost, and reputation. By taking the time to evaluate these factors, you can choose a web hosting provider that meets your requirements and helps your website succeed.
AWS Re/Start Boot camp
Tags: aws, beginners, cloud, career
Published: 2023-03-28 11:42:31

I am just about to complete my first boot camp and I thought I would give a brief review on how I found the experience.

My initial suspicion that the boot camp was designed to get you in the door and push the sale of other (AWS) courses as I had previously found on other courses was greatly disproved. 

I found the course a good mix of AWS products knowledge followed by tutorials and challenges alongside the basics to use the products as Linux, Python etc.

The only downside I found was that due to the amount of content to cover you may not get as long to study on a particular area you liked in class. This is where self study steps in.

If anyone is seeking a solid foundation to build on or just additional knowledge in the AWS or Cloud spheres I would highly recommend it.

If anyone has any thoughts or suggestions on boot camps or other studies it would be great to hear.

https://aws.amazon.com/training/restart/
DATA CLEANING IN SPSS
Tags: python, spss, data, datascience
Published: 2023-03-28 11:35:45

## Data Cleaning in SPSS

> Data Cleaning is the process of preparing data for analysis by removing or modifying the data that is incorrect,missing,irrelevant,duplicated,or improperly formatted.

## Why is it important to clean the data.
This data is usually not necessary or helpful when it comes to analyzing data because it may hinder the process or provide inacurrate results.

## Steps of Data cleaning.

- Missing Value Analysis
- Out-of-the-Range Values
- Detecting and Removing OutLiers

## Or just follow this brief article given here below:
__SPSS offers a variety of tools to clean and prepare data for analysis. Here are some steps you can follow to perform data cleaning in SPSS:__

__Import the data into SPSS:__ The first step is to import the data into SPSS by selecting File > Open > Data. Ensure that the data is in a suitable format, such as CSV or Excel.

__Check for missing values:__ Use the Frequencies procedure to check for missing values in your dataset. Missing values can be indicated by a blank space or some other symbol in your data. You can replace missing values with the mean, median, or mode of the variable, or delete cases with missing data.

__Identify and handle outliers:__ Use the Descriptive Statistics procedure to identify outliers in your data. Outliers are extreme values that can skew your results. You can remove outliers by deleting the cases or transforming the data.

__Check for duplicate records:__ Use the Data > Select Cases > Duplicate Cases procedure to identify any duplicate records in your dataset. You can remove duplicates by deleting the cases.

__Recode variables:__ Use the Transform > Recode into Different Variables procedure to recode variables as necessary. For example, you may need to convert text data to numeric data or group data into categories.

__Rename variables:__ Use the Variable View window to rename variables to more meaningful names. This will make it easier to understand your data and create tables and charts.

__Check for data entry errors:__ Use the Data > Validate > Data Entry procedure to check for data entry errors, such as incorrect values or inconsistent responses.

__Save the cleaned dataset:__ Once you have completed the data cleaning process, save the cleaned dataset by selecting File > Save As. Give the dataset a new name to differentiate it from the original dataset.
New ElxPro course!
Tags: elixir
Published: 2023-03-28 11:22:51

ElxPro is an immersive online training program designed for individuals who are eager to master the Elixir language through hands-on experience. The program is rigorous and demanding, ensuring that participants receive comprehensive training. ElxPro was created by Gustavo Oliveira, who has plenty of experience as an Elixir developer.

This course is fully in English. His course in Portuguese is a success here in Brazil

If you use my [affiliate link](https://go.hotmart.com/F73840549I), you can help support my projects, such as [Elixir em Foco](https://www.elixiremfoco.com/) and the [Elixir, Erlang and the BEAM with Adolfo Neto](https://www.youtube.com/c/ElixirErlangandtheBEAMwithAdolfoNeto) YouTube channel.

There's currently a limited-time special promotion (until March 31st) for the course, which includes a bonus Q&A session about career development and securing employment as an Elixir developer.

This is the link [https://go.hotmart.com/F73840549I](https://go.hotmart.com/F73840549I).

PS: I have used ChatGPT three for writing this post.
Direct Admission in Dr. DY Patil Medical College through NRI Quota
Published: 2023-03-28 11:19:05

[Dr. D.Y. Patil Medical College](https://www.topmedicalcolleges.co.in/dr-dy-patil-medical-college-pg-nri-quota-fee-structure/), Pune is one of the leading medical colleges in India, offering excellent education and training to students who wish to pursue a career in medicine. Students admitted to the college are exposed to a wide range of clinical experiences, and the college also provides a range of specialized courses in areas such as surgery, obstetrics, and gynecology. 
Apart from that, 15% All India quota and 85% state quota, and Deemed Universities in India offer admission to NRI students under the 50% NRI quota reserved by the Medical Council of India. These medical  seats for admission are majorly divided in All India quota and State quota, where 15% of seats belong to All India Quota and 85% to State Quota. (For Indian Resident Students) Apart from All India Quota and State Quota, there is also a 15% reserved special quota for NRI (non-Indian residentials) called as NRI Quota. Checkout for more details.