teleren/devto huggingface dataset:
Excel Gets Python Powers, But Microsoft Keeps Control
Published: 2023-08-24 04:46:50


### Table of Contents
- Introduction
- Running Python Code in Excel
- Benefits for Data Analysis
- Reliance on Microsoft Azure Cloud
- Privacy and Performance Considerations
- Microsoft's AI Strategy
- Conclusion

## Introduction
Microsoft has announced a new collaboration with Python creator Guido van Rossum to bring Python programming capabilities to Excel. This integration aims to enhance Excel's power for data analysis tasks. However, it comes with a notable dependency on Microsoft's cloud infrastructure.

## Running Python Code in Excel

![Running Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j5zc04jb5z5ezca2ubks.gif)

The new functionality introduces a "PY" formula in Excel that allows running Python code against data in the spreadsheet. For example, users can now easily generate Pandas data frames or access plotting libraries like Matplotlib and Seaborn from within Excel. This provides the ability to create custom data wrangling and analysis functions using Python.

## Benefits for Data Analysis

Access to Python's mature data science stack directly from Excel spreadsheets is an exciting development. Pandas, NumPy, and other libraries offer powerful tools for cleaning, manipulating, and analyzing data sets. Bringing these capabilities into Excel makes them more accessible to non-programmers and domain experts who rely on spreadsheets.

## Reliance on Microsoft Azure Cloud

![Microsoft Azure Cloud](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/smlhxhd6sz0qn9i8zx7e.png)

While the integration with Python is a technical achievement, Microsoft has designed it to run the Python code on their Azure cloud platform rather than natively on the user's machine. This remote execution brings some notable drawbacks compared to local Python environments.

## Privacy and Performance Considerations

Requiring cloud connectivity means processed data must be transmitted external to the user's machine. This raises potential privacy concerns for sensitive data. Additionally, native local execution of Python code could offer better performance by avoiding latency and bandwidth constraints of cloud connections. 

## Microsoft's AI Strategy

The cloud dependency aligns with Microsoft's strategic push to be the premier platform for enterprise AI development. By controlling the Python environments, Microsoft positions Azure as the gateway for organizations to harness analytics and AI. This could give Microsoft an edge over competitors in the cloud services market.

## Conclusion

Enabling Python in Excel is a major advancement that will empower Excel users to take advantage of Python's immense capabilities for data analysis. However, the reliance on Microsoft's cloud ecosystem gives the tech giant tighter control over the technology while presenting some downsides for privacy and performance compared to a local implementation. Organizations should weigh the benefits against the strategic considerations when adopting this new integration.
Currying in Javascript
Tags: javascript, currying
Published: 2023-08-24 04:44:14

**WHAT IS CURRYING IN JAVASCRIPT?**

Currying in JavaScript transforms a function with multiple arguments into a nested series of functions, each taking a single argument. Currying helps you avoid passing the same variable multiple times, and it helps you create a higher order function.

OR

Translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument (partial application)


**Why Is Currying in JavaScript Useful?**

- Currying helps you avoid passing the same variable again and again.

- It helps to create a higher order function.

- Currying transforms a function with multiple arguments into a sequence/series of functions, each taking a single argument.

- Currying allows greater code clarity in certain cases. What does clarity mean? Reading the function provides clear indication of its functionality.

- Currying can help to eliminate redundant code by allowing developers to create specialized functions that share common functionality. This can lead to a more streamlined code base that is easier to maintain.




I can't think of an instance where currying—by itself—is useful in JavaScript; it is a technique for converting function calls with multiple arguments into chains of function calls with a single argument for each call, but JavaScript supports multiple arguments in a single function call.


```js

// Here are some examples:
// Using Closure
// Example: 

function sum(a) {
  return function(b) {
    return function(c) {
      return a + b + c;
    };
  };
}


// Using Bind
// Example: 
function sum(a, b, c) {
  return a + b + c;
}

const curriedsum = sum.bind(null, 1);

console.log(curriedsum(2, 3)); // outputs 6

// Using Lodash (Third Party Library)
// Example: 
const _ = require('lodash');

function sum(a, b, c) {
  return a + b + c;
}

const curriedsum = _.curry(sum);

console.log(curriedsum(1)(2)(3)); // outputs 6
console.log(curriedsum(1, 2)(3)); // outputs 6
console.log(curriedsum(1)(2, 3)); // outputs 6

// Other Example
// Example: 
function Welcome(name) {
  var greetingInfo = function (message) {
    console.log(message + " " + name);
  };
  return greetingInfo;
}

var myFunction = Welcome("John");
myFunction("Welcome "); //Output: Welcome John
myFunction("Hello Mr."); //output: Hello Mr.John


// Example:
const ob = {
  name:"zeeshan",
  age:28
}

function userInfo(obj){
  return function userObj(prop) {
    return obj[prop];
  }
}
console.log(userInfo(ob)('name'))


const multiArgFunction = (a, b, c) => a + b + c;
console.log(multiArgFunction(1, 2, 3)); // 6

const curryUnaryFunction = (a) => (b) => (c) => a + b + c;
curryUnaryFunction(1); // returns a function: b => c =>  1 + b + c
curryUnaryFunction(1)(2); // returns a function: c => 3 + c
curryUnaryFunction(1)(2)(3); // returns the number 6


```
The spiciest moments of the first GOP debate
Published: 2023-08-24 04:44:10


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20in9lcgi1d82r0aea0v.jpeg)****

Mike Pence and Chris Christie knocked Vivek Ramaswamy as a know-it-all novice.

Nikki Haley leaned into being the only woman on stage.And no matter whether former President Donald Trump is convicted of a crime, he still has the support of most of his rivals.

The first Republican presidential debate of the 2024 election did not lack for fireworks, even with the absence of its frontrunner Trump.

Here’s a look at the must-see moments of the two-hour showdown: [read more ](https://tinyurl.com/y8nhhenw)
My Portfolio Website: A Showcase of My 6 Years of Experience as a Software Engineer
Tags: webdev, javascript, react, portfolio
Published: 2023-08-24 04:37:23

I'm excited to share my new portfolio website with you! This website is a showcase of my 6 years of experience as a software engineer. I've worked on a variety of projects, from small personal projects to large enterprise applications.

The website is built with ReactJS and Next.js, and it's hosted on Netlify. I chose these technologies because they're both powerful and easy to use. I also wanted to use a cloud-based hosting solution so that my website would be accessible to anyone, anywhere.

The website is divided into three sections:

- **About**: This section provides an overview of my experience and skills.

- **Projects**: This section showcases my work on various projects.

- **Blog**: This section will be used to share my thoughts on technology, software engineering, and other topics, but for now this is beta so no posts.

have a strong background in front-end development, with experience in ReactJS and Next.js. I am also proficient in back-end development with Node.js, Express and Python. I have also worked with MongoDB, MySQL and AWS for DevOps tasks.

I hope you enjoy my portfolio website! If you have any questions, please don't hesitate to contact me.

Link: https://ronakjain2012.netlify.app/
Stainless Steel 310S Sheets & Plates Stockists
Published: 2023-08-24 04:36:35

The [Stainless Steel 310s Sheets and Plates](https://www.padmavatisteel.com/stainless-steel-310s-sheet-plate-manufacturers-suppliers-importers-exporters-stockists.html) keeps running with historic features and are plan as indicated by client unequivocal necessities. The Stainless Steel sheets and plates of evaluation 310S are made by using the top class grungy material. It has features like high bore, exceptional, easy to fit, disavow in high temperature and weight condition. The Stainless Steel sheets plates are made by satisfy far reaching and adjoining standards of various endeavors measures. These Stainless Steel sheets and plates materials are given ISO accreditation and are shown to various testing to ensure its quality before transport and thing to the client.
Debounce Example
Tags: javascript, react
Published: 2023-08-24 04:28:08

React Functional Component
```js
import React from "react";
import { render } from "react-dom";

const debounce = (func, delay) => {
  let timer;
  return (...args) => {
    clearTimeout(timer);
    timer = setTimeout(() => {
      func(...args);
    }, delay);
  };
};

const printData = (data) => {
  console.log("data", data);
};

// const getData = debounce((input) => printData(input), 5000);
// OR
const getData = debounce(printData, 5000);

const App = (props) => {
  return (
    <div>
      <h2>Debounce Example List</h2>
      <input type="text" onChange={(event) => getData(event.target.value)} />
    </div>
  );
};

render(<App />, document.getElementById("root"));

```

React Class Based Components

```js
import React from "react";
import "./EmployeeList.css";

class EmployeesList extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      employees: this.props.employees,
      searchTerm: "",
    };
    this.filterMethod = this.debounceSearchResult(
      this.filterMethod.bind(this),
      5000
    );
  }

  debounceSearchResult(func, delay) {
    let timer;
    return function () {
      let context = this;
      let args = arguments;
      clearTimeout(timer);
      timer = setTimeout(() => {
        func.apply(context, args);
      }, delay);
    };
  }

  filterMethod(e) {
    console.log(e);
    this.setState({
      searchTerm: e.toLowerCase(),
    });
  }

  render() {
    return (
      <React.Fragment>
        <div className="controls">
          <label className="format-label">Please Enter employee Name</label>
          <input
            type="text"
            className="filter-input"
            data-testid="filter-input"
            onChange={(e) => this.filterMethod(e.target.value)}
          />
        </div>
        <React.Fragment>
          <div>
            <ul className="employees-list">
              {this.state.employees.map((employee) => {
                if (
                  employee.name.toLowerCase().includes(this.state.searchTerm)
                ) {
                  return (
                    <li key={employee.name} data-testid="employee">
                      {employee.name}
                    </li>
                  );
                }
              })}
            </ul>
          </div>
        </React.Fragment>
      </React.Fragment>
    );
  }
}

export default EmployeesList;

```
Do Not Save: A Social Templater That Lets You Send Messages Without Saving Numbers
Tags: webdev, javascript, react, sideprojects
Published: 2023-08-24 04:18:06



**Do Not Save**: A Social Templater That Lets You Send Messages Without Saving Numbers

Do Not Save is a social templater that allows you to send messages to people on **WhatsApp without saving their numbers**. This is a great way to protect your privacy and still stay connected with friends, family, and colleagues.

To use Do Not Save, simply create a template message and enter the recipient's WhatsApp phone number. You can also add variables to your template message so that you can personalize it for each recipient. Once you're finished, click the "Send" button and your message will be sent to the recipient without saving their number to your phone.

Do Not Save is currently in beta, but it is a powerful tool that can help you stay connected with others without compromising your privacy. If you're looking for a way to send messages on WhatsApp without saving numbers, then Do Not Save is a great option.

Here are some of the benefits of using Do Not Save:

- Protect your privacy: Do Not Save allows you to send messages on WhatsApp without saving the recipient's number to your phone. This helps to protect your privacy and prevent your phone number from being shared with others.

- Stay connected: Do Not Save makes it easy to stay connected with friends, family, and colleagues without having to save their numbers. This is a great way to stay in touch with people who you don't see or talk to very often.

- Personalize your messages: Do Not Save allows you to add variables to your template messages. This means that you can personalize each message for the recipient. This is a great way to make your messages more meaningful and engaging.
If you're looking for a way to send messages on WhatsApp without saving numbers, then Do Not Save is a great option. It's a powerful tool that can help you stay connected with others while protecting your privacy.

To learn more about Do Not Save, please visit the website: https://donotsave.netlify.app

GitHub: https://github.com/ronakjain2012/whatslink-web
Ethernaut Level 2 Walkthrough - Fal1out
Tags: web3, security, ethernaut, smartcontract
Published: 2023-08-24 04:16:43

This level reminds me of that Todd Howard game which 4th installment was heavily criticized and memed out because of the errors present in the game. This level indicates the very same scenario.

The very first hint to solve this level is given right at the title of the level name.


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

You notice that underline on the L1? That is our way out to solve this level.

Let’s start by understanding our contract first by understanding each function present in there.

- **Fal1out():** This function is commented as the constructor of the contract which indicates the one calling out this function is the owner of this contract. Usually when a contract’s constructor is called the one deploying the contract is the owner if it is not changed by some other condition or method.
- **allocate():** This function allocates the amount to the allocator.
- **sendAllocation():** This function requires you to have allocations more than zero in order to send them.
- **collectAllocations():** This function collects all the allocations and is locked by the ‘onlyOwner’ modifier which requires you to be the owner of the contract to utilize this function.
- **allocatorBalance():** This function simply returns the allocations by an allocator.

Now we see that we need to take ownership of this contract and unlock the ‘collectAllocations()’ method to collect all the allocations and finish the level. 

Now look at the very first function of this contract which is commented as the ‘constructor’ and look at the contract’s name. Notice how both the constructor and contract name is different? This is the conflict that we need to take advantage of. As our very first hint at the title also highlights the spelling mistake between ‘Fallout’ and ‘Fal1out’ so this implies that there is no constructor declared for the contract.

Now when we deploy the contract by clicking ‘Get new instance’ button we can see that there is actually no owner declared for the contract by the following commands. 


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

This is due to the typo in the constructor which implies that it is never called and hence the contract is deployed without an owner.

So in order to simply become the owner we have to call the ‘Fal1out’ function and unlock the ‘collectAllocations()’ method to collect all the allocations.

This can be done by the following command and can be verified.


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

As you can see we called the ‘Fal1out()’ function and became the owner of the contract all we have to do is finally call the ‘collectAllocations()’ function to finish the level.


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

Now simply click on ‘Submit Instance’ button and get done with the level.
🎉 CodePen picked my Pen 🌟
Tags: webdev, codepen, css, ui
Published: 2023-08-24 03:52:03

My latest CodePen project, where I created a **SCI FI CARD HOVER EFFECT**, got picked by the CodePen team! 🎉🏆

{% codepen https://codepen.io/Smit29/pen/BavyNNp %}
Elevate Your SaaS Business with AI Integration
Tags: webdev, javascript, beginners, programming
Published: 2023-08-24 03:30:00

## Introduction:
Unlock the power of Artificial Intelligence for your SaaS business with [Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot). Imagine achieving stability, scalability, and sustainability without the need for a tech team or writing a single line of code. This blog introduces Sttabot – the ultimate platform to seamlessly integrate AI into your business, revolutionizing customer support, product innovation, and sales experiences.

## AI-Powered Possibilities:

**1. Build Tailored AI Models:**
[Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot) opens doors to limitless AI functionalities. Craft diverse AI models for various aspects of your business, from customer support to employee recruitment, enabling you to take charge of every facet with ease.

**2. Transform Customer Support:**
Automate customer support with Sttabot's AI capabilities. Create AI models that learn from your support documentation, responding accurately to customer queries. Enhance customer satisfaction by providing instant solutions.

**3. Innovate with AI Products:**
Fuel innovation using [Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot)'s no-code AI infrastructure. Craft novel AI-driven products that cater to your business and users. Construct cross-selling and upselling tools that redefine user experience in minutes.

**4. Elevate Sales Experience:**
Revolutionise sales through AI. Develop recommendation systems that elevate customer buying journeys. Create product discovery and match-making interfaces that harness AI's potential to the fullest.

## Effortless Integration:

**5. Build in Seconds:**
[Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot) thrives on simplicity. In less than 60 seconds, construct an AI application that aligns with your business goals. Enjoy rapid AI integration with unparalleled ease.

**6. 1-Click Site Integration:**
Seamlessly infuse AI into your website or core platform with just one click. Sttabot's seamless integration process ensures that your users experience AI-driven enhancements without disruption.

**7. Custom Branding at Your Fingertips:**
Tailor your AI apps to reflect your brand identity flawlessly. With [Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot), white-labeling and adding custom branding takes mere moments, allowing your AI solutions to seamlessly blend into your business.

## Conclusion:
[Sttabot](https://www.aiforme.wiki/ai/tools/Sttabot) is your gateway to AI-driven success. With its intuitive interface, quick integration, and capacity to build bespoke AI models, Sttabot transforms your SaaS business into an AI-powered marvel. From customer support to product innovation and sales excellence, Sttabot empowers you to achieve your business goals with AI efficiency. Elevate your SaaS journey and seamlessly integrate AI with Sttabot, redefining your approach to stability, scalability, and sustainability.
How to solve Access to XMLHttpRequest has been blocked by CORS policy
Published: 2023-08-24 03:21:48



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsoahbb0rnovudu7720h.png)
**There are two ways this can be handled:**

Temporary Front-End solution so you can test if your API integration is working:
Click on window -> type run and hit enter -> in the command window copy:

**chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security**

This will open a new "Chrome" window where you can work easily. This is a temporary solution. Every time you will have to work with this chrome window.

Permanent solution:
In the backend code, the developer needs to add an annotation **@Crossorigin** right above the CRUD api call method.

Lot of developers wasting there time trying to fixing this issue.these are the two easy solutions.
Manager Handbook for Distributed AntDB-T - P22
Published: 2023-08-24 03:06:04

Inspection tool
AntDB provides the inspection tool to inspect the current database. The tool provides binary runtime software for both linux x86 and windows x86 environments; help for use is as follows:

```
[root@adb01 atool]# ./adb_tool_linux_x64 -h
Usage of ./adb_tool_linux_x64:
  -adblog int
        Check the AntDB database log for ERROR|FATAL|PANIC level information and output: 0: Not enabled by default 1: Enabled
        This parameter is not valid when adbtype is set to the centralized version
  -adbtype int
        AntDB type: 0 (default centralized version) 1 (distributed version)
  -command string
        The node executes the command of the OS: default ls -l
        This parameter is used with oscmd (default "ls -l")
  -dbname string
        Database name (default "postgres")
  -host string
        Host IP (distributed version connects to GTMC nodes) (default "10.1.194.37")
  -oscmd int
        The node executes the OS command: 0: Not enabled by default 1: Enabled
        When this parameter is enabled, none of the other parameters are valid
  -password string
        User password (default "123123")
  -port int
        Database port (default 6432)
  -querynode int
        DISTRIBUTED VERSION QUERY NODE: 0 (DEFAULT CN&GTM) 1(DN) 2(ALL)
        This parameter is not valid when adbtype is set to the centralized version
        This parameter is not valid when the distributed version generates inspection reports
  -sqltext string
        The default blank of the executed SQL statement represents the generation of inspection reports
        Non-null represents the execution of the entered SQL statement
  -user string
        Database user(default "antdb")
```
The example of generated inspection report is as follows:

```
./adb_tool_linux_x64 -host 10.1.194.37 -port 6432 -dbname tpcc -adbtype 1  -user antdb -password "123123" -querynode 1 > report.log 
```
Check the overall status of the database by viewing the logs.