teleren/devto huggingface dataset:
WM Motor Joins China EV
Published: 2024-02-04 13:32:16


[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ul5n7urahbyz04auoyt7.jpeg)](https://sites.google.com/view/wmcare/home)
•WM Motor has filed for a Hong Kong IPO to reportedly raise up to $1 billion, competing with a handful of similar listed Chinese EV startups

•The company’s sales have surged in the past few years, but so have costs and competition as China aggressively promotes clean technologies

[As of my last knowledge update in January 2024](https://sites.google.com/view/wmcare/home), WM Motor is a Chinese electric vehicle (EV) manufacturer. However, I don't have specific information about WM Motor joining any particular "China EV Template" as of that time. It's possible that there have been developments or announcements after that date.

To get the latest information about WM Motor and its involvement with any specific initiatives or templates, I recommend checking recent news sources, official press releases from WM Motor, or other reliable ources for the most up-to-date information as of 2024.

[Win WM Motor Joins China EV](https://sites.google.com/view/wmcare/home)
I'm a c# developer, want to start working as a fullstack web. What frontend framework(s) should I learn?
Tags: webdev, fullstack, help, discuss
Published: 2024-02-04 13:25:42

Some background: I've started my professional career as a full stack developer back in late 1999, before the term was popular (perhaps even before it was coined?). 
I've worked a lot with HTML4, CSS3 and Javascript, but some time around 2009-2010 (I think) I got pulled away from Web dev and got into desktop applications - so while I do have the basic knowledge of how things work, I have no experience whatsoever with current frontend frameworks and technologies (Didn't even had the chance to learn JQuery, when it was the shiny new thing).

So, if I want to land a job as a fullstack developer, what should I learn?
Reflecting on My Contribution to ChatCraft: Release 1.1
Published: 2024-02-04 13:12:33

This week has been quite a journey filled with learning, teamwork, and overcoming challenges as I worked on enhancing ChatCraft for the upcoming Release 1.1. Here's a detailed look at what I've experienced and discovered along the way.

## PR Details
- Pull Request: [#374](https://github.com/tarasglek/chatcraft.org/pull/374)
- Description: Created a React-menu component and migrated the MessageBase menu to utilize this new component.
- Lines of Code Changed: 
  - Modified: 470 lines
  - Added: 520 new lines
- Refactoring: Some files underwent refactoring to align with the new changes.


## Getting Started with React-menu Components

My task was to create a new [React-menu](https://szhsin.github.io/react-menu) component wrapped in ChakraUI's theme and update the existing MessageBase menu to use this new component. While it sounded straightforward at first, I soon realized there was much to learn and figure out.

## Learning Together with Amnish

One of the best parts of this experience was collaborating with Amnish, a skilled developer and a classmate of mine. I being pretty weak at CSS part wasn't able to figure out ChakraUI's themeing. Amnish was able to help me fix the CSS part. It was a great opportunity to grow and learn from each other. Collaborating on the same pull request came with its own set of challenges. We had to make sure our changes didn't conflict, so we made it a habit to regularly update our code from the 'react-menu' branch. This helped us avoid headaches and kept our work in sync.

## Pull Request Feedbacks
- The PR underwent extensive review and feedback iterations.
- Initial feedback addressed hover highlighting, submenu handling, borders, and theming.
- Subsequent adjustments involved dividing the menu into separate components for enhanced declarative usage.

## Lessons Learned

Reflecting on this experience, I've learned a few important lessons and more knowledge about React, CSS:
- **Teamwork Matters:** Working closely with others can be incredibly rewarding and can help you grow faster.
- **Keep Git in Check:** Regularly updating your code and managing branches properly can save a lot of time and headaches.
- **Embrace Challenges:** Even when things get tough, facing challenges can lead to valuable learning opportunities.

## Release 1.1
1.1 for ChatCraft was released this friday and I personally had 2 pull requests merged in this one.
For full change information : [Click here](https://github.com/tarasglek/chatcraft.org/releases/tag/v1.1.0)

Stay tuned for more updates as we continue to shape ChatCraft together!

Happy coding! 🚀

Feel free to share your own thoughts and experiences!
Effective nodejs version management for the busy developer
Tags: webdev, javascript, beginners, tutorial
Published: 2024-02-04 12:56:50



I highly recommend setting up nodejs with a version manager, [nvm](https://github.com/nvm-sh/nvm) was and still is a popular option, however, I now recommend and have been using [fnm](https://github.com/Schniz/fnm), a simpler and faster alternative to manage my nodejs versions.

## Install a nodejs version manager: FNM with automatic version switching

[To install fnm, follow the installation steps](https://github.com/Schniz/fnm#installation).

I highly recommend installing the autocompletion, if using zshrc, add this in your `~/.zshrc`:

```bash
# if fnm is installed, add to path and load autocomplete
if [ -d ~/.fnm ]; then
  path+=~/.fnm
  # setup env and allow for automatic node version change when directories contains `.node-version` or `.nvmrc`
  eval "$(fnm env --shell=zsh --use-on-cd)"
  # shell completion
  source <(fnm completions --shell zsh) > /dev/null 2>&1
  compdef _fnm fnm
  compdump
fi
```

Restart your shell to take those changes into account: `exec $SHELL -l`

## Use a nodejs version

Then you can easily install and switch node versions:

```bash
node -v
# install a version
fnm install lts/iron
# switch to version
fnm use lts/iron
# you can switch to a set version by number as well (eg. v20.9.0)
node -v
```

![change node version with fnm use, automatically switch on cd and install new node version with fnm install](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9ghm981w1ih3orslk6e.png)

## Project setup to promote the correct nodejs version

When using node in a project, I recommend:

- Setting up a `.nvmrc` file at the root of your project to declare the used nodejs version:

```txt
lts/iron
```

- Using the same version in your runtime, CI, for example with docker:

```dockerfile
FROM node:iron-alpine
```

- In your project package.json, I recommend using the `engines` field to declare the nodejs version:

```json
{
    "engines": {
        "node": ">=20",
        "pnpm": ">=8"
    }
}
```
as well as using engine-strict in your `.npmrc` file:

```txt
engine-strict=true
```

Another option is using a preinstall hook for pnpm.


## Bonus using pnpm as a package manager

I also recommend using [pnpm](https://pnpm.io/) as a package manager, it's faster and more efficient than npm or yarn with great capabilities concerning monorepo setup. On recent nodejs versions (v16.13+), you can install it easily with:

```bash
corepack enable && corepack prepare pnpm@latest --activate
```

use engines to enforce usage of pnpm or a preinstall hook:

```json
{
    "engines": {
        "pnpm": ">=8"
    }
}
```
or
```json
{
  scripts: {
    "preinstall": "npx only-allow pnpm",
  }
}

```
Selenium
Published: 2024-01-26 10:17:19

selenium is a tool for the automation testing and this tool used to perform certain tasks with minimum human interactions. It provides a way for developers to write scripts in various programming languages (such as Java, Python, C#, Ruby, and more) to automate interactions with web browsers like Chrome, Firefox, Safari, and others. Selenium is often used for web testing, especially for testing web applications, and it supports a variety of operating systems
The Selenium suite includes several components:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pophw50xde8vmv4f6au4.png)
Selenium WebDriver: This is the core component of Selenium that allows you to programmatically control a web browser. It provides a programming interface to interact with web elements, simulate user actions, and navigate through web pages.

Selenium IDE (Integrated Development Environment): This is a browser extension that allows testers and developers to record, edit, and replay interactions with the browser. It's a simpler tool compared to WebDriver and is often used for quick test script creation.

Selenium Grid: This component enables parallel execution of test scripts on multiple machines, allowing for distributed testing. It's particularly useful for large-scale test automation.

Selenium is widely used for automation, particularly in the context of web applications, for several reasons:

1.Web Application Testing
2.Cross-browser Compatibility
3.Community Support
4.Platform Independence
5.Web Scraping and Automation Tasks
6.Programming Language Support
7.Open Source
8.Support for Parallel Execution
9.Integration with Testing Frameworks
At Rally for Border Security in Texas, Fears of ‘Invasion’ and ‘Civil War’
Tags: news, usa, aws
Published: 2024-02-04 12:51:46

A conservative convoy gathered on the Texas border to support the state’s defiant stance on immigration. Despite worries over potential violence, the event was peaceful.Read More, (https://www.toprevenuegate.com/b08cexqubd?key=2b39f8ae681502de86cf028a16b1513b)
Early Adopter's guide to Umbraco v14 - Localization.
Published: 2024-02-04 12:47:34

Given [i made such a fuss about waiting for localisation](https://dev.to/kevinjump/codegarden-2023-37km#:~:text=The%20post%20conference,at%20Copenhagen%20Airport) to be put into the new backoffice. I suppose we should take a look at how you can localize you umbraco package in v14. 

## umb-localize Tag

you can use the `<umb-localize>` tag in your html, just as you might have used `<localize>` in Umbraco previously. 

```html
<umb-localize key="general_close"></umb-localize>
```

## LocalizeController

if your elements are extending `UmbElementMixin` you can use the localizeController which is included. _(you can use it in non UmbElementMixin, you first need to initialize it)_

```ts
this.localize.term('general_close');
```


## Adding your own translations.
To add your own translations to the front end you now need to define them in a language file, and then add a manifest to include it in Umbraco.

### Language file.
the format of the language file is 'section' 'key. So if you wanted a name and a description for your dashboard, you might have the following in a `en-us.ts` file. 

```ts
export default {
    time: {
        name: 'Time Dashboard',
        description: 'what time the server thinks it is'
    }
};
```

### language manifest 
In order to include this in the backoffice you do need to reference it in a manifest and include that. 

```ts
const localizations: Array<ManifestLocalization> = [
    {
        type: 'localization',
        alias: 'time.lang.enus',
        name: 'English (US)',
        weight: 0,
        meta: {
            culture: 'en-us'
        },
        js: () => import('./files/en-us')
    },
    {
        type: 'localization',
        alias: 'time.lang.engb',
        name: 'English (UK)',
        weight: 0,
        meta: {
            culture: 'en-gb'
        },
        js: () => import('./files/en-us')
    },
]
```

> What i found was my back office was running in en(gb) and there is currently no fallback, so i did have to define the language file twice once for en-us and once for en-uk.

### Referencing the languages

now these are loaded you can get them with either `<umb-element>` or `this.localize.term`

e.g 

```html
<uui-box headline="${this.localize.term('time_name')}">
  <div slot="header">
     <umb-localize key="time_description"></umb-localize>
  </div>
</uui-box>
```
DAY 17: Python day 24 & 25
Published: 2024-02-04 12:36:05

##The file system##

- create a .txt file 
- `with open("filename.txt) as` keyword
- `open()` method creates a new file when it doesn't exist
- `read` and `write` methods
- setting a mode `"r"`(read), `"w"`(write), `"a"`(append)


- absolute file path: starts from origin 
root: /
- relative file path: starts from working directory
one step down: ./
one step up: ../


##Intro to CSV(comma-separated values)##
**csv library**
- built-in
- csv.reader(data)

**pandas library**
- dataframe 
- series
- get data in each column by `data.columnname` or `data["columnname"]`. Returns a series
- get data in each row by first getting the column value in the row and searching its index.`data[data.columnname == item]`
- turn series into list through `to_list`
- turn list into dataframe through `pandas.Dataframe(list)`
- turn dataframe into csv file through `dataframe.to_csv("filename.csv")`
Start Your Trial With the IPVanish VPN App!
Tags: webdev, beginners, react, devops
Published: 2024-02-04 12:35:07

[](
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylp5stgeypb4zkanfasy.jpg))Install the app and start your 7 day trial and select the yearly plan.United States
Apple iOS Mobile Install
Click hear now: http://tinyurl.com/kkbedu3w
Back-End Training Yes or No?
Tags: webdev, tutorial, beginners, programming
Published: 2024-02-04 12:12:17

Should we (at [Elanat team](https://elanat.net)) start a web programming tutorial series for beginner programmers?

Things that will be observed in training:
 - The training will be related to the development of systems in the back-end by using the powerful [CodeBehind framework](https://github.com/elanatframework/Code_behind).
 - The tutorials are in C# programming language and under .NET Core version 7.0.
 - All trainings are based on the theory of independence on the server side.
 - The training series will be completely free and public domain; Therefore, copying of the content is allowed and there is no need to comply with the license.
 - In these tutorials, we try to answer all the questions.

**Please share your opinions with us.**
DigiPandit
Tags: beginners, news, learning, testing
Published: 2024-02-04 12:03:54

Adjusting the lens user’s way to make your brand – the brand that users love the most!

In the 21st century, you cannot win the customers with your products, it’s the experience that makes them rave after your brand. DigiPandit – the branding and advertising company, the excellent campaigns are designed blending creativity and technology intelligence, which catalyzes the business growth with phenomenal user outreach and higher engagement levels. Make your brand unforgettable with us.

We Don’t Just Position But Build Your Brand
We offer end-to-end branding services from a multitude of design solutions to creative communications not just for the sake of taking your brand to the epitome of recognition, but for creating a brand that delivers memorable brand experiences. The team of strategists, creatives, designers, and technologists work in rhythm to take the brand beyond logo and product and add intelligence to the creative ideas with user-centered insights, which stirs up the users and evoke interests in the brand.

We Help You Advertise To Take A Digital Leap
Gone are the days when creating a flyer, brochure, or hoardings brings optimal users to the brand. With most of the time users gluing to the mobile, it’s essential to advertise digitally. Our advertising agency offers full-suite advertising services to promote your brand digitally. The insight-driven advertising campaigns are launched with the current brand’s positioning, resistance factors hindering the brand’s growth, and future trends knowledge, which help in keeping your brand on the top-of-the-mind recall.

Why We Are Second-To-None?
The people are searching you on the internet, if you are not spreading brand awareness with authentic content and engaging the right users with the right marketing strategy on the right channel at the right time, then you will probably lose the users forever. DigiPandit – our digital and branding maestros conduct research, create a plan and devise a strategy leveraging bespoke tools to create a campaign that unravels the brand’s true potential. It’s not a one-time job. We work relentlessly with your brand to keep the strategies effective with creative tweaks and twists that deliver better results and ensure faster growth.

Our Work
We don’t like to brag; instead, we would love you to see what we have done so far.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bfd1cvmu1tm4w740ls1n.png)
How to Hire the Best Bitcoin Fraud Recovery Expert
Published: 2024-02-04 12:01:55

Picture this: you're sitting at your computer, feeling like a tech-savvy genius, as you watch the value of your Bitcoin steadily rise. It's like watching a thrilling roller coaster ride, but with dollar signs instead of loops. Life couldn't be better. But then, disaster strikes. In a moment of sheer panic, you realize that your precious Bitcoin has vanished into thin air. Poof! Gone. Cue the heart palpitations and the distinct feeling of wanting to crawl into a hole and never emerge again. How could this happen? Losing Bitcoin is more than just a financial setback. It's like misplacing the key to a vault filled with potential wealth. The urgency to recover those elusive coins becomes all-consuming. Whether your Bitcoin was stolen, lost due to a technical glitch, or simply misplaced in the vast abyss of the internet, you need help. And you need it fast. Because in the world of cryptocurrency, time is money, and every minute counts. Losing Bitcoin can feel like a swift kick to the gut. It's not just the financial loss that stings, but also the emotional toll it takes. You start questioning your own abilities, your decision-making skills, and maybe even your faith in humanity. It's a rollercoaster of emotions that no one deserves to ride alone. Sure, you might think you can play the role of a digital Sherlock Holmes and solve the mystery of your missing Bitcoin all on your own. But let's face it, unless you're a tech wizard with a PhD in cyber-crime, your chances of success are about as likely as finding a unicorn casually grazing in your backyard. That's where professional Bitcoin recovery services step in. They have the knowledge, experience, and the magical powers (okay, not really magical, but close) needed to track down and retrieve your precious digital treasure. Here we have Pro Wizard Gilbert Recovery, the Bitcoin recovery industry's super heroes. Helping people like you restore what's properly yours is their mission, and they accomplish it with a touch of magic, Pro Wizard Gilbert Recovery's staff is an impressive group. They've refined their abilities in the shadowy realm of bitcoin recovery, always staying one step ahead of the hackers, con artists, and general miscreants that lurk on the internet. They are the ideal squad to have on your side because they possess a great deal of technical skill together with wit. Once you've entrusted your Bitcoin recovery mission to Pro Wizard Gilbert Recovery, they kick things off with an initial consultation. They'll listen to your story, ask the right questions, and assess the situation. Consider them your personal therapists for Bitcoin-related trauma. Reach out to Pro Wizard Gilbert Recovery with the given information. Email: prowizardgilbertrecovery(@)engineer.com & https://prowizardgilbertrecovery.xyz
Super Store - E Commerce Multipage Theme Built with Astro, Tailwind CSS and MDX
Tags: webdev, javascript, astro, tailwindcss
Published: 2024-02-04 11:42:30

Super Store - E Commerce Multipage Theme
Built with Astro, Tailwind CSS and MDX

Includes:
– Pages 24
– Sections 50+
– Components 100+

See it live and learn more:
http://lexingtonthemes.com/info/superstore/

A clean and modern e-commerce website theme. It uses a predominantly white background with black text for clarity and readability. The layout is organized and well-spaced, facilitating a straightforward shopping experience.


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

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


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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9v5dvo1q500wrh1eemn.png)
Handling External JS Files in a React Website
Tags: react, beginners, tutorial, devjournal
Published: 2024-02-04 11:37:32

The JS files that we integrated with our React app that we are building from a template, sometimes don't work in the current setup([blog link](https://dev.to/afrozansenjuti/transforming-a-static-web-page-into-a-react-application-3f27)).

If you pay attention to the website in localhost:3000, you can see that the JS doesn't work properly but rather works if you refresh the page. Why is that?

![JS-1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i73wjc0zfdn9ypqpji8i.png)

In the image, the current year is not showing as the associated Javascript has not been loaded. If you refresh the page, the year will appear.

You are loading all the scripts when you add the scripts inside public/index.html . When you are navigating all the pages, all the Javascript codes that are written for every element of the website are removed from the virtual DOM. If you refresh the page, Javascript works. Again, refresh or change to another page; Javascript is not working.

At first when I came across this weird scenario, I was unsure what was happening. I noticed that the copyright year is not visible without a refresh or page change, so I tried to add vanilla Javascript to fix that. Then I noticed the pattern, and it hit me. Somehow, the JS files are getting removed as a result of which the JS functions are not always working.


How to solve this?

Load the plugin and main JS files when the components are inserted into the virtual DOM, that is, inside the componentDidMount(). That way, whenever you change between pages or refresh the app, the JS files are loaded into the virtual DOM of that component. Install loadjs and import into your components. 

```{React}

yarn add loadjs

```
Now, inside each page component, load the necessary JS files using this function before mounting the component:

```{React}
import loadjs from "loadjs";

componentDidMount() {
    loadjs("./js/main.js");
    loadjs("./js/plugins.js");  
}
```
Now all the external JavaScript files will be mounted when component is mounted in the DOM without refreshing.

If you follow these posts, you have learned some tricks and tactics that you probably had to scour through Stack Overflow and Github discussion. Whether you want to build Dunder-Mifflin Infinity v20.0 or a React app from static web page materials, these techniques may come in handy. The code for scotts-totes.netlify.app can be found on my Github - https://github.com/Afroza2/ReactforReal-Turning-into-React-app.