teleren/devto huggingface dataset:
What is a good starter FPGA project?
Tags: beginners, programming, tutorial, fpga
Published: 2022-12-28 09:20:13

That depends on your skill level. When you are new to [FPGA programming](https://www.icdrex.com/tag/fpga-programming/), doing a tiny little project on a small SBC, such as a PYNQ or Zedboard, to turn an LED on or off is a good first start, as your hurdle will be how to use the design tools. But that is just a toy project with very little use but to expose you to the tool flow, which is non-trivial in FPGAs.

If you are familiar with the basic RTL design flow, then a more interesting starter project, one that is more reasonable as it creates flexibility in further experimentation, is to build a soft core. The whole RISC-V ecosystem enables you to pick one of dozens of cores depending on your appetite for complexity. When you are able to create a soft core and make it receive programs, say assembly programs initially, but later fully compliant OS objects, then you have something that you can program to deliver functionality in a more reasonable form.

FPGA based systems have this separation between the hw design and the sw or firmware design. Typically, you create a hw entity that is adding value by combining some input, either directly through GPIOs, or indirectly by interfacing to a discrete chip like a USB controller or an ADC, do some processing on this input data, and drive some output, again either directly through GPIOs, or indirectly by interfacing to another subsystem, for example a DAC. Once you have the basic Input -> Processing -> Output pipeline setup, you will find that the processing now becomes more of a software problem, and thus designing a soft core that can take a sw blob of some kind is a net benefit, as a HUGE time sync for an [FPGA project](https://www.icdrex.com/10-potential-fpga-projects-for-beginners-in-2023/) is to generate the bitstream. So you want to minimize the number of times you need to do that.

If all of the above is old hat, then directly jump to existing FPGA platforms that offer specific functionality, such as SDR in the LimeMicro boards, or open source oscilloscopes (ScopeFun) or logic analyzers. They will have a particular design flow, but also a lot of infrastructure pieces in place.
Building a free Open-source portfolio template using HTML, CSS and JS | Part 3
Tags: beginners, html, css, webdev
Published: 2022-12-28 09:00:12

On the 15th of May in 2020 I [wrote here](https://dev.to/nisarhassan12/free-open-source-portfolio-template-for-developers-ih) about the free open source portfolio template that anyone could use for free.

<blockquote>
    <div>
        GitHub <a href="https://github.com/nisarhassan12/portfolio-template" target="_blank">Repo Link →</a>
    </div>
    <br/>
    <div>
        Check out the <a href="https://portfolio-template.surge.sh" target="_blank">live demo here →</a>
    </div>
</blockquote>

Since then it has got 395 stars on GitHub and 128 forks.

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

I have started a [video series](https://www.youtube.com/watch?v=1nchVfpMGSg&list=PLwJBGAxcH7GzdavgKlCACbESzr-40lw3L) on YouTube where I'm going to build it from scratch using HTML, CSS and a little bit of JavaScript. 

Come join me in the journey [here is the link of the video](https://www.youtube.com/watch?v=4nO-wuacvaE).
{% youtube 4nO-wuacvaE %}

[https://www.youtube.com/@nisarhassan12](https://www.youtube.com/@nisarhassan12) if you find it worthy. Thanks
Interacting with Metamask using vanilla Javascript
Tags: blockchain, javascript
Published: 2022-12-28 08:57:32

When I first started using Metamask I wondered how applications could ask me to connect the extension or sign transactions. In this thread I will talk about how to control Metamask using code.

In the browser we have an object called window which allows us to access its properties, such as the size of the screen or the storage of cookies. What Metamask does is add or inject a new property called ethereum.

To connect we use the request function and as arguments the eth_requestAccounts method and an empty list of parameters.The next snippet asks to connect Metamask and shows the account on the screen. If it is not installed or if the request is cancelled, it will show an error.

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

The request method allows us to request information from the blockchain using the node we have in Metamask. The eth_requestAccounts method is defined in EIP1102 and is the standard way to connect a user to a dApp. But we can not only do that.

We can also extract information such as the ether balance from a wallet, the chainId or the last block of the blockchain selected in Metamask, among others. We can find all these methods in the Ethereum documentation. https://ethereum.github.io/execution-apis/api-documentation/

Note that these methods send their response encoded in hexadecimal. F.e, if we use eth_blockNumber to know the number of the last block, it will return something similar to this: 0x1cc57e6. The following snippet shows how to convert the value to base 10.


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

From here you just have to follow the official documentation of both Ethereum and Metamask to continue advancing, in the same way that we ask for information we can also send transactions, although you have to sign them first, but I'll leave that for another day.

I have made a small demo that you can see in the following link, the web asks to connect using Metamask to then show both the chain and the wallet information.

https://jsfiddle.net/ismaventuras/8kgvu4e2/4/
Using Machine Learning and AI to create Hyperlambda
Tags: chatgpt, openai, machinelearning, lowcode
Published: 2022-12-28 08:56:17

A couple of days ago I started studying OpenAI's APIs with the goal of creating a Hyperlambda machine learning algorithm that produces perfect Hyperlambda code given natural text as its only input. Today I released the first BETA release of my research and development, and I'm already at an accuracy level of roughly 90%. Watch the following video for a demonstration.

{% embed https://www.youtube.com/watch?v=V0ZBjeTxiFU %}

## How it works

OpenAI allows you to start out with one pre-defined model or _"engine"_. Then you can provide training material to the engine, which are questions with answers. The more data you provide, the higher the accuracy of the result later becomes. With less than 700 snippets of Hyperlambda code associated with prompt questions, I was able to teach OpenAI most of Hyperlambda's syntax, bringing accuracy up to roughly 90%. **Notice, this was 2 days of work for me**. I obviously intend to continue improving upon it, teaching it more in the near future. But already it can produce Hyperlambda code for questions such as ...

> Create a Hyperlambda endpoint that inserts name, address and zip into my customers table in my crm database

And the code it produces given the above question is as follows ...

```
.arguments
   name:string
   address:string
   city:string
   country:string
data.connect:magic
   data.create
      table:customers
      values
         name:x:@.arguments/*/name
         address:x:@.arguments/*/address
         city:x:@.arguments/*/city
         country:x:@.arguments/*/country
response.status.set:201
return
   result:Insert was a success
```

The above code is roughly 90% accurate, but I believe I can bring it beyond 99% accuracy in a couple of weeks, effectively rendering Hyperlambda _"obsolete"_, or rather the need to understand Hyperlambda _"obsolete"_, since you can use a humanly friendly text prompt in [Hyper IDE](https://aista.com/hyper-ide/) to have artificial intelligence automatically produce working backend code for you. Another example of code it produced for me can be found below ...

> Send an email to John Doe having en email address of john@doe.com

The result of the above was ...

```
mail.smtp.send
   message
      to
         .
            name:John Doe
            email:john@doe.com
      from
         .
            name:Jane Doe
            email:jane@doe.com
      subject:This is the email subject
      entity:text/plain
         content:This is the email body
```

The above is even more accurate, in fact it's 100% perfectly accurate, ignoring the fact that I didn't provide a _"from"_ part in my question to OpenAI. But that was because I didn't phrase my question correctly.

If you want to try it out, you can register for an AI based Low-Code Aista Magic Cloudlet below.

* [Sign up for a free 90 days cloudlet here](https://aista.com)
Vue The World.
Tags: javascript, react, node, vue
Published: 2022-12-28 07:46:22



### 5th Quarter Sports

**Bio**
> My name is William Poole. I am a cloud enthusiast, with superior knowledge and thoroughly skilled when working with technologies. Dedicated to providing unforgettable experiences to clients. Maintaining an addiction to learning cloud computing, vm-ware, and administrative technologies. Plagued with the overwhelming urge to tinker, and figure things out. learning and enhancing my knowledge with new materials.

> Currently studying front-end development using the azure portal and Linux for vm-ware to make web-apps. Successfully installing, configuring and deploying my first few.

**Follow Me**
LinkedIn:  linkedin.com/company/5th-quarter-s...
YouTube: youtube.com/@5thquartersportscards876
GitHub: github.com/IHustle-Harder/
Hardware Acceleration
Published: 2022-12-28 08:40:43

## **Introduction**

Hardware acceleration is the process by which an application offloads computational tasks to specialized components. Compared to using a general-purpose CPU, it allows better system efficiency. Hardware acceleration is advantageous because it boosts efficiency for particular tasks. Hardware acceleration has huge benefits for everyone. You can use it to let the hardware in your PC handle tasks more quickly than software algorithms. The feature must be turned off in order to fix any problems it may occasionally cause, such as freezing or crashing in Google Chrome or other browsers.

## **How to Turn on Hardware Acceleration in Windows**
The fact that some computers lack the ability to adjust how much hardware acceleration is used must be brought up. The option won't be available from Windows on more recent computers, especially those with NVidia, AMD, or ATI graphics cards.

Method 1: 

- Search for the Control Panel in your search bar, then open the app. This will take you to the classic Control Panel from previous Windows releases.
- Change the view mode to Large icons.
- Click on Display.
- Click Change Display Settings. You can find this on the left side of the window.
- Scroll down and click on Advanced display settings. A new dialogue box will appear.
- Select the Troubleshoot tab, then click on the Change settings button.
- In the Hardware acceleration section, move the pointer fully towards Full.
- Click OK to apply your settings, and restart your computer.
 
Method 2:

- Right-click on your Desktop and choose Display settings.
- Switch to the Display tab.
- Follow the steps starting from Step 5.  in the first method.

## **How to Turn off Hardware Acceleration in Windows**

You can disable hardware acceleration from the same window where you enable it:

- Follow the steps in the Turn on Hardware Acceleration in Windows section up until Step 7.
- Move the slider entirely toward None. This will disable hardware acceleration.
- Click OK and restart your computer.

## When to use Hardware Acceleration 

1. Through a graphics processing unit, computer graphics (GPU)
2. Digital signal processing via Digital Signal Processor
3. Analog signal processing via Field-Programmable Analog Array
4. Sound card-based sound processing
5. Using a network processor and network interface controller, computer networking
6. AI accelerator for artificial intelligence
Maximum Bags With Full Capacity of Rocks
Published: 2022-12-28 08:32:45

[Maximum Bags With Full Capacity of Rocks](https://leetcode.com/problems/maximum-bags-with-full-capacity-of-rocks/description/)

```js
/**
 * @param {number[]} capacity
 * @param {number[]} rocks
 * @param {number} additionalRocks
 * @return {number}
 */
var maximumBags = function (capacity, rocks, additionalRocks) {
  let arr = [];
  let ans = 0;

  for (let i = 0; i < capacity.length; i++) {
    arr.push([capacity[i], rocks[i], capacity[i] - rocks[i]]);
  }
  // sorting in ascending order on the based of remaining capacity (capacity[i] - rocks[i])
  // sorting so thart maximum full bags can be filled one with less reamining capacity wil be filled firsrt
  arr.sort((a, b) => a[2] - b[2]);

  for (let i = 0; i < arr.length; i++) {
    let [cap, rock, rem] = arr[i];
    if (cap - rock == 0) {
      // full capacity
      ans++;
    } else {
      // remaining capacity
      let temp = cap - rock;

      if (additionalRocks > 0 && temp <= additionalRocks) {
        additionalRocks -= temp;
        ans++;
      }
    }
  }

  return ans;
};

console.log(
  maximumBags(
    [
      54, 18, 91, 49, 51, 45, 58, 54, 47, 91, 90, 20, 85, 20, 90, 49, 10, 84,
      59, 29, 40, 9, 100, 1, 64, 71, 30, 46, 91,
    ],
    [
      14, 13, 16, 44, 8, 20, 51, 15, 46, 76, 51, 20, 77, 13, 14, 35, 6, 34, 34,
      13, 3, 8, 1, 1, 61, 5, 2, 15, 18,
    ],
    77
  )
);


```
"ChatGPT will kill Google. Google missed the AI wave. RIP Google."
Tags: discuss, ai
Published: 2022-12-28 08:30:58

## "ChatGPT will kill Google. Google missed the AI wave. RIP Google."

**This point of view is wrong. Here's why👇👇**

## ChatGPT won't be able to kill Google Search because:

1. it isn't connected to the internet. ChatGPT doesn't know that Argentina won FIFA or Russia attacked Ukraine.

2. it often gives wrong answers.

3. the main reason: it is very expensive to search on ChatGPT compared to a search engine because running an AI is very expensive.

Google is not an idiot. Google hasn't missed the AI wave.

They have several AI models like LaMDA, BERT and BUM, which are equal to or better than ChatGPT.

So why hasn't Google released these AI to the public?

Because AI(both ChatGPT and Google's AI) is wrong a lot of times.

ChatGPT is new to the market, so they can afford to be wrong.

But Google has a reputation. They can't launch a product which gives wrong answers. Media will kill them.

That's why Google is working on improving their AI instead of launching it quickly.

CREDIT: [Shreyan Singh](https://www.linkedin.com/in/shreyans512/)
Emulator vs Simulator
Published: 2022-12-28 08:26:59

## **Introduction**

An emulator is hardware or software that allows one mobile device to behave similarly to another. In other words, the emulator assists the host system in executing software or using hardware devices designed for the guest system. Emulators resemble the functions of one mobile device on another. As a result, the second mobile device behaves similarly to the original device and attempts to replicate the first system's external behaviors.

Simulator is computer software or a physical device that can simulate a real-life situation. In simple words, Simulators mimic the basic behaviors of a real device which means you're copying things from the real world into a virtual environment to give an idea about how that thing would work. It can produce results based on various actions and assumptions while posing no risk. It is common practice to use a simulator when developing electronic devices. That is why many universities teach electronic design using simulation software.

## **How to make emulators run faster and smoother:**

- Emulators are strong engines that need high system requirements to operate at high efficiency, so there should be particular system requirements like high-performance PCs with Windows 10 (64-bit), Intel processors (octa-core), 8 GB RAM, and high-end GPU setup.
- Reduce resolution because normally, the higher a system’s resolution, the more hardware power is required, and the slower the emulators run.
- Improve graphics cards
- Disable unnecessary apps and processes to free up memory.

## **Difference Between Emulator and Simulator**

1. Simulators are written in high-level languages, whereas emulators are written in machine-level assembly languages.
2. When it comes to debugging, emulators are preferable, whereas simulators can be difficult to use.
3. Emulators target the mobile device hardware, software, and Operating System (OS) whereas Simulators target the mobile device behavior
4. For debugging, Emulators suitable and reliable then simulators 
5. In Emulators, Binary translation makes them perform slower due to latency whereas Simulators don't have binary translation and perform faster.

## **Conclusion**
To summarize, a simulator allows you to quickly and easily set up a software environment for application testing without having to emulate actual hardware. An emulator goes a step further by simulating both software and hardware configurations. When you need to test code quickly across a wide range of variations, both types of testing platforms are useful. However, neither is a complete replacement for real-device testing, which should also be performed at critical points, such as just before releasing software into production.
Data Science Courses from Google.
Tags: datascience, machinelearning, python, analytics
Published: 2022-12-28 08:25:43

It's crazy how many people waste money on Courses.

• $100s
• $1,000s
• and even $20,000 in courses & programs

Doesn't give a valid certificate or a Job.

## Here are 5 FREE Data Science Courses from Google (with Certificates).

**1. Data Science Foundation:**

_In this course you will learn about:_
• What is Data Science.
• What is a Data Sceince Life Cycle be like.
• What you need to learn if you want to become a Data Scientist.
This is best if you are a complete beginner.

🔗https://lnkd.in/d5Dz7q8Y

--------------------------------

**2. Python Basics for Data Analytics**

_This course will help you understand:_
• The Basics of Python.
• Explore Python in the context of becoming a Data Analyst/Data Scientist.
• Specialized Python Libraries.

You can learn using Google Colaboratory.

🔗https://lnkd.in/dRunXPtA

--------------------------------

**3. Data Science with Python**

This is a much more in-depth course (advanced level)

_You will learn:_
• Data Wrangling.
• Data Exploration.
• Web Scraping.
• Mathematical Computing.
• Hypothesis Building.
• NumPy and SciPy Packages.

🔗https://lnkd.in/dQs8XrgN

--------------------------------

**4. Basics of Machine Learning**

_In this course:_
• You will understand the basic concept behind the Machien Learning.
• Explore the Machine Learning technologies.
• How you can apply Machiene Learning in real life and businesses.

🔗https://lnkd.in/dXxY9h4Z

--------------------------------

**5. Machine Learning Crash Course:**

This is the Google's fast-paced, practical Introduction to ML
(Intermediate level)

_You will learn:_
• Framing.
• Decending into ML.
• Reducing Losses.
• First Steps with TF.
• Generalization.
• Valiadation.

🔗https://lnkd.in/d7_W-dtr
A poem on Linkedin by ChatGPT
Tags: webdev, javascript, programming, linkedin
Published: 2022-12-28 07:55:49

LinkedIn, a place to grow and connect
Where professionals come to reflect
On their skills and experiences, to share
And find opportunities that are fair

From job openings to new connections
LinkedIn offers a wealth of options
To advance your career and build your network
To learn and grow, to never let

Your knowledge and expertise wane
On LinkedIn, you'll find opportunities to gain
Experience and connections, to help you thrive
In your chosen field, and to survive

The ever-changing world of work and business
LinkedIn is here to help, with access
To resources and connections, to guide your way
To success and growth, every single day

So join the community and let your voice be heard
On LinkedIn, your potential will be blurred
Into a world of opportunity and growth
Where professionals thrive, no matter their worth.
blogging like developer
Tags: beginners, webdev, discuss, community
Published: 2022-12-28 07:52:08

## Intro
I am delighted to be able to share with you my findings on how to blog as a developer. I have always wanted a guide to help me in this endeavor, and I am pleased to have found the steps I needed. I am sure that this information will be of great use to you as well.

## 1. Choose your niche: 
As a developer, you have a wealth of knowledge and expertise in a specific area of technology. Choose a niche that you are passionate about and that you have a deep understanding of. This could be a particular programming language, a specific platform or framework, or a certain aspect of software development.
## 2. Define your target audience: 
Identify who you want to reach with your blog. Are you targeting other developers, non-technical individuals, or a combination of both? Understanding your target audience will help you tailor your content and choose appropriate language and examples.
## 3. Set up your blog: 
There are many different platforms you can use to set up your blog, such as WordPress, Ghost, or Jekyll. Choose one that is easy to use and fits your needs. If you are comfortable with web development, you can also create your own blog from scratch.
## 4. Choose a blogging schedule:
Consistency is key when it comes to blogging. Decide on a schedule that works for you and stick to it. This could be posting once a week, twice a month, or any other frequency that you feel comfortable with.
## 5. Write compelling content: 
As a developer, you have a unique perspective and expertise to share with your readers. Use this to your advantage by writing informative, engaging, and well-researched content. Be sure to include examples, code snippets, and other resources to help illustrate your points.
## 6. Promote your blog:
Once you have written a few blog posts, it's important to promote your content to get it in front of as many people as possible. Share your blog on social media, participate in online communities related to your niche, and consider guest posting on other blogs to reach a wider audience.
## 7. Engage with your readers: 
Building a community around your blog is essential to its success. Encourage reader engagement by leaving comments open on your blog posts and responding to comments and questions. Consider starting a discussion forum or newsletter to further foster a sense of community.
## Conclusion
Blogging as a developer can be a rewarding and fulfilling experience. By following these steps and continually improving and growing your blog, you can establish yourself as a thought leader in your field and share your knowledge and expertise with others.
i wrote more about those points in this handbook.
[download it for free](https://ahmedonour.gumroad.com/l/blogging-like-developer)