teleren/devto huggingface dataset:
"Exploring the Mandela Effect: Searching for Early Bitcoin Developers from 2006"
Tags: blockchain
Published: 2023-04-24 23:11:31

Looking for Early Bitcoin Developers from 2006

I have a vivid memory of downloading Bitcoin Core and attempting to mine Bitcoin on my computer in 2006. The computer in question still exists in my possession, and it had an AMD Athlon processor and a Radeon 1600 GPU, if my memory serves me right.

However, I am aware that Bitcoin was not released until 2009, and mining did not begin until a few months later. As such, I would like to clarify my memory and perhaps connect with some of the early developers of Bitcoin around that time.

If you were involved in the development of Bitcoin in 2006 or around that time, I would love to hear from you. Perhaps you can help me make sense of my memory and shed some light on what I might have been doing with Bitcoin Core on my computer. Alternatively, if you know of any early developers from that time, I would appreciate any leads or referrals.

Thank you for your time and attention, and I hope to hear from you soon.
LAMP STACK
Published: 2023-04-24 22:44:19

Website design is at an all time high since the internet brigdes the gap between the world. In the past, making websites were reserved for those with high IQ's.Presently, there are so many tools and frameworks that have made it easier.

Frameworks like ReactJS, VueJS, AngularJS provide a structure within which developers are supposed to build removing the redundant work developers do everytime.
ReactJS was made by Facebook now Meta in 2011 and it gained popularity around 2013.
A major feature it had was the possibility to work on the DOM(Document 0bject Module) intra the framework before rendering to the webpage. Moreover, SPA (Songle Page Applications) which means resources loaded as and when needed improved user experience.

The aformentioned frameworks almost perform the same tasks. There is wordpress which has the backend written in PHP and it is flexible as it allows developers to tweak themes and add plugins to build full stack web applications in the minimum possible time.LAMP stack as it is called represents Linux, Apache, MySQL and PHP.

Installing wordpress on a linux machine:
a) `sudo apt-get install apache2`
b) `sudo apt-get install mysql-server`
c)`sudo apt-get install php`
This is a MD and ....

1. ``
Tackling the Downfall of the Hypercasual Gaming Industry and Unemployment with Fresh Ideas
Tags: gamedev, beginners, unity3d, android
Published: 2023-04-24 22:41:50

Hey there, fellow gaming enthusiasts! 🎮

The hypercasual gaming industry has seen better days. With big publishers monopolizing the market and leaving game studios to fend for themselves, it's no wonder many professionals in the sector are finding themselves unemployed. But fear not! I've got some ideas to help turn things around and get everyone back in the game.

🕹️ Embracing New Game Genres: Variety is the spice of life, right? By venturing into different game genres, studios can create new revenue streams and keep things interesting for players. This can lead to more stability in the industry and help studios cover their payroll.

🎓 Skill Up and Stay Relevant: Unemployed professionals should take this opportunity to learn new skills and enhance existing ones. The more versatile you are in the gaming world, the more opportunities you'll have to land a job in this ever-evolving industry.

🌍 Global Collaboration is Key: In countries like Turkey, the gaming industry is growing, but investments are scarce. To overcome this challenge, it's essential to explore local and international partnerships. Connecting with investors and securing government support can help game studios build a strong foundation.

🚀 Level Up Your Marketing and Distribution: Strong digital marketing and distribution strategies can help studios reach a broader audience. With more players, studios can rake in more revenue and contribute to reducing unemployment.

🎮 E-sports and Gaming Education: It's time to invest in e-sports and gaming education. Creating opportunities in these fields can provide new employment options for industry professionals and help the gaming industry flourish in more diverse ways.

In conclusion, the hypercasual gaming industry may be facing a rough patch, but by embracing new game genres, enhancing skills, and fostering local and international collaboration, we can tackle unemployment and get back on track. So, let's gear up, level up, and continue pushing the boundaries of the gaming world! 🌟

-Ege
What is an API? Part 2
Tags: api, webdev, thoughts
Published: 2023-04-24 22:30:51

For those who haven't read Part 1, [you can read it here](https://dev.to/11cconnolly/what-is-an-api-part-1-f35). Otherwise, carry on. I cannot stop you. 

Now we have a grasp of some common terminology, let's take a short look into some more details about APIs in practice and some of the things I have personally learned. 

### It's not just for Sending or Receiving Data
Interfaces to certain systems are synonymous with the API for that system. It is the defined way of getting that program, or set of programs, to do something. Windows provides a Graphical User Interface in the form of scroll bars, task bars, and well, windows. These are an API (albeit a intuitive one) for interacting with the underlying hardware and software on a computer. Interfaces for sending packets across a space channel to get a satellite to do something will be defined. 

![silly little meme of always has been](https://i.imgflip.com/7jcsty.jpg)

### It isn't the Database Schema
Whilst one way of creating an API is to make it as granular as possible, exposing create, read, update, and delete methods which are largely in line with the database schema, this isn't the best approach. APIs are designed for someone to use (whether that is through a program or otherwise) and should encapsulate the information that they want well. In some cases they should be like an acceptance test - one function that your program should fulfil with the defined and encapsulated data.

### Document It (Por Favor)
One of the ways to make API design a lot easier for both the programmer, and the user, is to ensure that it is well documented. It is such a relief when we come across a well documented API and makes our jobs 100 times easier. Even so only around 8% of developers feel that their API documentation is very good. 

### API design is Difficult
Even for fairly simple APIs designing the interface is difficult. It requires a lot pf practice of going over similar problems, and even then there are tens if not hundreds of ways of going about designing the API. They should be simple to understand, stable, easy to use, and efficient. Whether you're working over a network with limited bandwidth, or across a board with restricted computational resources, applying these rules and making APIs efficient and simple is the goal. Standards, along with documentation, particularly help with this.

This is the article I wish I had when I begun programming and learning about APIs, so I hope that it is useful to whomever may read it. If you have your own thoughts, please share them below as well.
Mock imported modules in Jest
Tags: javascript, testing, mock, jest
Published: 2023-04-24 21:01:33

When working with JavaScript, it's so common to import external or internal libraries. Sometimes in order to implement modularity and reusability in our project, sometimes to avoid implementing features that have been already developed by a third party.

Today we're gonna see how to mock these libraries when testing the code are using them with [Jest](https://jestjs.io) suite.

First of all let's suppose we have the following code:

**maths.js**
```js
export const sum = (a, b) => a + b

export const substract = (a, b) => a - b;
```

**app**
```js
import { sum, substract } from './math.mjs'

const sumResult = sum(2, 1);
const substractResult = substract(2, 1);
```

Given that code, we could have two scenarios: 

1. Mock the full "import", i.e., the full library.
2. Mock only one of the methods but keep the original code of the other one

So let's see each case:

## Mocking the full library

To mock the full library, we just need to mock one of the method (the other one will remain `undefined`) or we can mock all the methods. The mocking technique is indifferent, it depends on what are we testing.

```js
// mock only one method
jest.mock('../math', () => ({
    sum: jest.fn(),
}));

// mock only one method (with implementation)
jest.mock('../math', () => ({
    sum: jest.fn().mockImplementation(() => '5'),
}));

// mock all methods
jest.mock('../math', () => ({
    sum: jest.fn(),
    substract: jest.fn(),
}));
```

## Mocking only one of the imported methods
As we said before, we can import only one of the methods and keep the original implementation for the rest of the methods

In the following example, we are mocking the `substrack` method but keep the original implementation of the rest of the library, in this case, the `add` method

```js
jest.mock('../math', () => {
    const originalMathLib = jest.requireActual('../math');

    return {
        ...originalMathLib,
        substract: jest.fn(),
    };
});
```

**It's very important** to include this code at the very top of our testing file, before any other `import`. These mocks MUST be the firsts lines of our file.
JavaScript Data Types
Tags: webdev, javascript, beginners, programming
Published: 2023-04-24 19:51:55

JavaScript has the primitive data types:

1. null
2. undefined
3. boolean
4. number
5. string
6. symbol – available from ES2015
7. bigint – available from ES2020
and a complex data type object.



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

JavaScript is a dynamically typed language. It means that a variable doesn’t associate with a type. In other words, a variable can hold a value of different types. For example:

```
let counter = 20; // counter is a number
counter = false;   // counter is now a boolean
counter = "foo";   // counter is now a string
```
To get the current type of the value that the variable stores, you use the typeof operator:

```
let counter = 20;
console.log(typeof(counter)); // "number"

counter = false; 
console.log(typeof(counter)); // "boolean"

counter = "Hi";
console.log(typeof(counter)); // "string"
```

The output is 
"number"
"boolean"
"string"

**The undefined type**
The undefined type is a primitive type that has only one value undefined. By default, when a variable is declared but not initialized, it is assigned the value of undefined.

For example:

```
let counter;
console.log(counter);        // undefined
console.log(typeof counter); // undefined
```
In this example, the counter is a variable. Since counter hasn’t been initialized, it is assigned the value undefined. The type of counter is also undefined.
It’s important to note that the typeof operator also returns undefined when you call it on a variable that hasn’t been declared:

```
console.log(typeof undeclaredVar); // undefined
```
First post on dev - Let's build a Django powered CMS
Tags: django, opensource, webdev, community
Published: 2023-04-24 21:09:22

Hey there, This is my first post on dev and No I am not the crazy guy who wants to reinvent the wheel!
Yes, I am trying to build a new CMS using Django and yes, of course, there already is a great Django CMS. [Hats off to Wagtail](https://wagtail.org/).
I am going to develop BiliCMS anyway. I just can't resist naming products, now I have a name and an idea all that is left to do is to design, implement, test, and maintain my product.

## Why build a new CMS?
Actually, I have to build websites for my clients on a daily basis. Sometimes I use an existing CMS like Wagtail or WordPress and sometimes I start developing a product suitable for a specific client from the scratch. Now I am thinking maybe if I start to generalize the needs of most of my clients they can have their websites ready faster and I need to do less work in order to deliver. That's the problem almost all content management systems are trying to solve.
A large portion of the clients that I am talking about require some sort of e-commerce website. I need e-commerce support and I need my code to be easily customizable. More importantly, I feel more confident when I understand all of my code base. So that's why I decided to build a new CMS.

## Why the blog post?
Maybe I share a common problem with a fellow developer or two.
Usually, I am very private about my work, but this time I decided to mix some kind of social interaction with the project I am devoting my time to it. So, I decided to make myself write a little bit of a report about what's going on with the project now and then. I am not sure about it but it might help me stay excited and focused down the road.
I am also excited to know what other people think about it. Any kind of comment and opinions are encouraged.

## Care to contribute? Let's do it together!
The result of this experience (that's what it is to me) whatever it will be is to be published on a public repository on GitHub. And as I mentioned before I am going to blog my way through it. I hope down the road I could benefit from the ideas and opinions of other developers. If you want to join the journey and contribute to the project, Great! Let's do it together then.

## What's up with the project today?
I mentioned earlier about writing little bits of reports about the work I am doing. Here is that report. All I have done until now is I managed to specify the potential user's needs and write down some value propositions and then based on that I wrote a Product specifications document that loosely describes what the end result should be. In the following days, I hope to be done with the initial design phases.
In my next post, I plan to publish the Product specification document.

What do you think? any suggestions or opinions? Should I not do it? What would you do or think about if you were to develop your own CMS? Let me know.
☕ Make software packaging... a cup of tea.xyz
Tags: devops, productivity, web3, blockchain
Published: 2023-04-24 21:05:10

## 🗣️ Short intro

From its creator ([Max Howell](https://twitter.com/mxcl)):

> _"we consider `@teaxyz` a set of packaging primitives and part of that means API-ifying all our infrastructure. So now you can get a Web_1.0 style file listing for our package storage including a source tarball mirror."_

Source:

{% twitter 1640733536066961408 %}

## ❔ Why `tea.xyz`

Memes worth a thousand words:

{% twitter 1592228879657222145 %}

{% twitter 1643379657989840898 %}

## 🍿 Demo

{% youtube jYEw2D8wya8 %}

## 🧑‍🤝‍🧑 `tea.xyz` 💏 `gomplate`

{% embed https://github.com/teaxyz/pantry/issues/817 %}


## 🧑‍🤝🏅 The `top 300` packages milestone

{% twitter 1637073375100039169 %}

## 📑 Community resources

### 🦾 Build packages with AI

{% twitter 1646898857937100807 %}

{% twitter 1643991960464531456 %}

### 🍻 `brewkit`

{% twitter 1640101295938846720 %}

### 📊 Datascience with `tea.xyz`

{% twitter 1640260730904625154 %}

Below the kaggle notebook (still Work In Progress) to play with `tea.xyz` data, with :

- 🐼 [`pandas`](https://pandas.pydata.org/)
- 🦆 [`duckdb`](https://duckdb.org/)
- 🪶 [`Apache Parquet`](https://parquet.apache.org/)

[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjehbqzzbrq1j2p4hwcn.png)](https://www.kaggle.com/code/adriensales/tea-xyz-pantry-snapshots)

## 🔗 Bookmarks

- [🔗 `tea.xyz` homepage](https://tea.xyz/)
- [📝 `tea.xyz` whitepaper](https://tea.xyz/tea.white-paper.pdf)
- [🤓 `teaxyz/pantry`](https://github.com/teaxyz/pantry)
- [🛍️ `tea.xyz` packages](https://tea.xyz/packages/)
NextJS with TailwindCSS and Firebase
Tags: firebase, nextjs, tailwindcss, react
Published: 2023-04-24 21:01:11

I have created a responsive weather app showcasing the use of NextJS with Tailwind CSS and also using Firebase for storing data in Firestore. You can find the source code here:

Source code: [Github Project](https://github.com/PeterHdd/nextjs-weather-app)
Deployment: https://weather-indol.vercel.app/

## To get Started

First you would need to create a project in Firebase and then get the `firebaseconfig` object and add the firebase API keys in the `.env.local` file. Then you can clone the project here and then execute:

```
npm install
```

which would install the NPM packages found in the package.json.

Then you can execute:

```
npm run dev
```

which will run the development environment and you can find it in http://localhost:3000

## Concepts used

- Dynamic Routing
- Server side rendering
- Tailwind CSS
- Mock Data
- Firebase

If you find the repository useful, support it by starring it!
Introduction to Drupal hook update
Published: 2023-06-14 14:23:55

---
title: Introduction to Drupal hook update
published: true
date: 2023-04-24 20:51:36 UTC
tags: 
canonical_url: https://thehigglers.com/blogs/drupal-hook-update/
---

## Introduction to Drupal Hook Update

> ### Little Background

Drupal provides and update api to make changes to the stored data, whenever you make changes in your module or theme that is going to make your site’s exsisting data incompatible with the latest change you have made in the module or theme, there comes a need for Drupal update api.

This api provides you with a way to make changes to the exsisting data stored so that you sites data is compatible with the latest version/change you made in you module/theme.

> ### Where to write this hook update

The hook update is written in the module’s or theme’ `module_name.install` file.

> ### How to write this hook update & its parameters

In the `module_name.install` file we need to write the _hook\_update\_N()_ function and all the update code needs to go in this function.

Wait thats not all, lets look at the naming convention and component of writing the _hook\_update\_N()_

So the hook\_update\_N() consist of three parts separated by underscore(\_) symbol more on this is as described below:

- **hook** : This is part is to be update with the name of the module like _example-module_\_update\_N(); this is similar to every other hooks

- **update** : This is the keyword used to identify the hook. example-module\__update_\_N()

- **N (Capital N)** : This part is specific to hook\_update\__N_(). It is usually a 4 digit number like _8001_ or _9001_ This number is formed as below

> ### Parameters available in _hook\_update\_N()_

array $sandbox: Stores information for batch updates.

If your hook is going to use a batch update using drupal’s batch api then &$sandbox parameter is available and passed to the hook. More on [sandbox](https://www.drupal.org/docs/7/api/batch-api/overview) variable.

So for example below is the exact code showing the implementation of the hook update for a sample module named `example_module`

```
/**
 * Write a line or two here about what the updates are for.
 * This is shown to users on the update.php page.
 */
function mymodule_update_8001(&$sandbox) {

    *update code goes here 
*
}
```
Excel for Data Analysis
Tags: excel, data, datascience
Published: 2023-04-24 20:45:36

**Excel is a powerful tool for data analysis, commonly used by businesses, researchers, and individuals alike. In this essay, we will explore ten ways in which Excel can be used for data analysis.

Excel can be used for organizing and managing large sets of data. The program allows users to store data in tables and sort, filter, and group the data based on specific criteria. This makes it easier to analyze and draw insights from the data.

Excel offers a range of functions that can be used to manipulate and transform data. For example, users can use Excel's mathematical functions to perform calculations, or use text functions to manipulate strings of text. This allows users to transform their raw data into a format that is easier to work with and analyze.

Excel can be used for data visualization. The program allows users to create charts and graphs to visualize their data, making it easier to identify patterns and trends. This can be especially useful for presenting data to others, such as in a business or academic setting.

Excel can be used for statistical analysis. The program includes a range of statistical functions, such as mean, median, and standard deviation, that can be used to analyze data and draw conclusions. Users can also perform regression analysis and create statistical models to predict future trends.

Excel can be used for financial analysis. The program includes a range of financial functions, such as present value and future value, that can be used to analyze financial data. Users can also create financial models to forecast future performance.

Excel can be used for data cleaning and formatting. The program allows users to clean up messy data and format it in a way that is easier to work with. For example, users can remove duplicates, convert data types, and split or merge cells.

Excel can be used for data mining. The program includes a range of tools, such as pivot tables and data validation, that can be used to extract insights from large sets of data. This can be useful for identifying trends and patterns that might not be immediately apparent.

Excel can be used for project management. The program includes tools such as Gantt charts and task lists that can be used to plan and manage projects. Users can track progress, identify bottlenecks, and adjust their plans accordingly.

Excel can be used for collaboration. The program allows multiple users to work on a single spreadsheet simultaneously, making it easier to collaborate on data analysis projects. Users can also share spreadsheets via the cloud, allowing others to access and work on the data from anywhere.

Excel can be used for automation. The program includes a range of automation tools, such as macros and VBA scripts, that can be used to automate repetitive tasks. This can save users time and make the data analysis process more efficient.

Excel is a versatile and powerful tool for data analysis. Its many functions and features make it a valuable tool for businesses, researchers, and individuals looking to extract insights from their data.
******
How to fix core/duplicate-app] A Firebase App named "[DEFAULT]" already exists error
Tags: flutter, firebase, ios, macos
Published: 2023-04-24 20:38:48

## Introduction

In this article we will cover the fix for [core/duplicate-app] A Firebase App named "[DEFAULT]" already exists exception.

If you tried running your flutter app that's using a firebase product you might see this error if your `GoogleService-Info.plist` or `google-services.json` files are outdated.

```
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [core/duplicate-app] A Firebase App named "[DEFAULT]" already exists
```

## Solution

To fix the `core/duplicate-app] A Firebase App named "[DEFAULT]" already exists` exception follow these two simple steps 

1. Delete your `google-services.json` located at `android/app/google-services.json` if running on android or delete your `GoogleService-Info.plist` located at
`macos/Runner/GoogleService-Info.plist` if running on MacOS or `ios/Runner/GoogleService-Info.plist` if running on IOS.

2. Install and Run the flutterFire CLI in the root of your flutter project directory.

If flutterFire CLI not already installed run 
```
$ dart pub global activate flutterfire_cli
```
Next Run
```
$ flutterfire configure --project=<yourprojectID>
``` 
Follow the instructions in your terminal.

Your flutter project should now run successfully.

## Connect with me
Thank you for reading my post. Feel free to subscribe below or connect with me on [LinkedIn](https://www.linkedin.com/in/curtlycritchlow/) and [Twitter](https://twitter.com/CritchlowCurtly). You can also [buy me a book](https://www.buymeacoffee.com/curtlycritchlow) to show your support.