teleren/devto huggingface dataset:
Best Electrical Repair Service in Sydney-Switchboard Installation Services in Kingsford
Tags: lightingservicesinbondi, lightingelectricianinrandwick, switchboardrepairsinclovelly, goddardelectrical
Published: 2023-01-12 03:57:45

https://goddardelectrical.com.au/

We Provide Dependable Downlight Installation Services At Affordable Costs. For a quote, call us. Visit our official website to learn more about our 24-hour emergency services, LED downlight installations, and other services.

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

Looking for Lighting Installation Experts in Bondi, New South Wales, at a reasonable price? Call us right away for further information at 0403 532 142.
C++ becomes TIOBE 2022 Programming Language of the Year
Published: 2023-01-12 03:57:06

C++ is TIOBE's programming language of the year 2022. It has won this title because C++ gained most popularity (+4.62%) in 2022. Runners up are C (+3.82%) and Python (+2.78%). Interestingly, C++ surpassed Java to become the number 3 of the TIOBE index in November 2022. The reason for C++'s popularity is its excellent performance while being a high level object-oriented language. Because of this, it is possible to develop fast and vast software systems (over millions of lines of code) in C++ without necessarily ending up in a maintenance nightmare.

Another reason for C++'s rise is its "recent" and constant publication of new language standards with interesting features. The first land mark was called C++11. Published in 2011, it was the first considerable change since 1998. The adoption of this new standard took a few years because there were no C++ compilers available to support the new language definition. Because of C++11, C++ was slowly going uphill in the TIOBE index after having been in a constant decline since 2001. The second land mark is the recent C++20 publication, which for instance introduced modules. It will probably lift C++ further in the TIOBE index for the next few years.

[https://www.tiobe.com/tiobe-index](https://www.tiobe.com/tiobe-index)
[https://vitomag.com/code/mknviu](https://vitomag.com/code/mknviu)
Some highlights from Google Dev Library
Tags: android, ai, beginners, programming
Published: 2023-01-12 03:51:28

Here're some of the android projects highlighted in Google Dev Library:

Transformers: [See](https://devlibrary.withgoogle.com/products/android/repos/wasabeef-transformers) the Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco by Daichi Furiya.

Camposer: [Learn](https://devlibrary.withgoogle.com/products/android/repos/ujizin-camposer) how the camera library in Jetpack Compose which supports taking photos, recording videos, flash modes, zoom ratio, and more by Lucas Yuji Yoshimine

ChatGPT Android : [Integrate](https://devlibrary.withgoogle.com/products/android/repos/skydoves-chatgpt-android) ChatGPT on Android with Stream Chat SDK for Compose by Jaewoong Eum

Let me know in the comments which project inspired you. I believe by sharing these projects, we can all learn from each other, improve our skills, and build amazing things for the Android community.

Let's build something together!


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4kwjnwvo70w0xec0qbii.jpeg)
6 master tips you'll ever need to set up reliable CI systems
Tags: devops, devjournal, devopsengineer, ci
Published: 2023-01-12 03:33:00

Setting up continuous integration is one of the most redundant works every DevOps engineer is asked to do.

Here are 6 rules for you to set up Continuous Integration (CI) Systems:

**1. Keep all the logic for building your code in scripts in your git repository.**

As the system grows, dependencies grow with it silently. It becomes fragile, easy to break, and hard to set up.
Don't let anything into your build server that you can’t set up with a script

**2. Gate merging code on the results of tests, and mercilessly hunt down and resolve unstable tests.**

Do everything you can to make the setup and tear down of your dependent services consistent and know when they are complete.

**3. Speed of your gates will directly impact developer velocity and productivity, keep it lean and be consistent with mocks or dummies in your testing code.**

Periodic refactoring of the tests, or even the whole build process, will pay off in overall developer productivity.

**4. Make sure all the developers can reproduce what gets run in the CI system by themselves.**

Encourage mocks and dummies, and setup up patterns in your tests.
The less you depend on external resources for tests, the faster your test run will be to validate core logic.

**5. Cascade your builds and tests, driving full integration tests with CI systems.**

If you have acceptance tests and user scenarios fully automated, your whole product can move far more agilely and effectively, evolving with the business needs.

**6. Develop, measure, and review benchmarks about your product from your CI systems.**

Memory footprints, CPU and IO budgets, tracing of calls and timing for user interactions and computationally intensive functions. This enables you to find unexpected failures in a complex system

I hope these rules help you set up an effective CI system for your company.

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more in DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
Decking & Pergolas in Buchanan-Deck Builders in Weston
Tags: mossbuilding, deckbuildersinweston, homerepairinrichmondvale, homerenovationinrutherford
Published: 2023-01-12 02:45:37

http://mossbuilding.com.au/commercial-building

Moss Building pride themselves on their industry-leading customer service and believe that without their customers, they wouldn’t have a business.You can contact builders of Moss Building through their website.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tx8pt66x95dde08n90tm.jpg)

Moss Building provides very satisfying results for their clients by giving their best using best and quality products and their hard work with experience makes everything possible for them.
Home remodeling in Heddon Greta-Home repair in Richmond Vale
Tags: homerepairinrichmondvale, newhomebuildersincliftleigh, homeextensionsinblackhill, mossbuilding
Published: 2023-01-12 02:42:14

http://mossbuilding.com.au/about-us
Moss Building are the best option for the building contracts due to having best builders around New South Wales and they use best 
quality products.Moss Building provides the best builder who are really hard working, friendly, and well experienced in their related field.Feel free to contact us-0414832468.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jvsxnxx649h0dkiafu72.jpg)
Home Builder in Cliftleigh-Home renovation in Rutherford
Tags: homeimprovementinloxford, homebuilderincliftleigh, homerenovationinrutherford, mossbuilding
Published: 2023-01-12 02:36:37

http://mossbuilding.com.au/
contact us- 0414832468

Moss Building are well experienced and multi-talented builders who are not only skilled but also are qualified builders around 
New South Wales.Moss Building provides very satisfying results for their clients by giving their best using best and quality products and their hard work with experience makes everything possible for them.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qr1bgpj918cv97lmgyk9.jpg)
Filtering an array of objects by multiple parameters
Tags: javascript, beginners, tutorial
Published: 2023-01-12 02:26:34

First, the goods:

`function filterByMultipleParams(dataToFilter, paramsToFilterBy) {
  if (
    typeof paramsToFilterBy === "object" &&
    !Array.isArray(paramsToFilterBy) &&
    typeof paramsToFilterBy !== null
  ) {
    const filterKeys = Object.keys(paramsToFilterBy);
    const filterConditionals = Object.values(paramsToFilterBy);
    let filteredData = dataToFilter;
    for (let i = 0; i < filterKeys.length; i++) {
      filteredData = filteredData.filter(
        (row) => row[filterKeys[i]] === filterConditionals[i]
      );
    }
    return filteredData;
  } else
    console.log("filterParamenters object is required and cannot be empty");
}`

[Here's a basic codepen example](https://codepen.io/austinbagwell/pen/YzjVYJZ) rendering a search into HTML.

This function assumes that you are attempting to filter an array of objects. It requires that the filter parameters be passed in as an object.

To add context, I'm using this to filter CSV data that has been parsed into (you guessed it) an array of objects. The object keys represent the column headers, while the values represent row data. 

If you have a cleaner, more efficient version, I'd love to learn it!
cara membuat akun google analytics
Published: 2023-01-12 01:59:01

Untuk membuat akun Google Analytics, ikuti langkah-langkah berikut:

Buka situs web Google Analytics.
Klik tombol "Sign In" di sudut kanan atas.
Jika Anda belum memiliki akun Google, klik tombol "Create account". Jika Anda sudah memiliki akun Google, masuk dengan menggunakan akun tersebut.
Pilih "Website" untuk mengatur akun untuk situs web.
Isi formulir dengan informasi yang diperlukan, termasuk nama akun, nama situs web, dan URL situs web.
Setelah menyelesaikan formulir, baca dan terima syarat dan ketentuan Google Analytics.
Klik tombol "Get Tracking ID" untuk mendapatkan ID pelacakan untuk situs web Anda.
Masukkan kode ID pelacakan ke dalam kode situs web Anda.
Tunggu beberapa saat untuk data pertama Anda dikumpulkan, kemudian lihat laporan di Google Analytics.
Saran: sebelum menambahkan kode tracking di website anda, pastikan website anda sudah valid dan dapat diakses oleh pengunjung.
Dapatkan tutorial lainnya di [Listkerja](https://listkerja.com/)
A MiniTron In 47 Lines
Tags: learn, tic80, fantasy, moonscript
Published: 2023-01-12 01:58:06

Original from [Kodumaro](https://kodumaro.cacilhas.info/2023/01/minitron.html).

-----

This is a sample code for learning, written in [Moonscript](https://moonscript.org/) for [TIC-80](https://tic80.com/):

```moonscript
-- title:   MiniTron
-- author:  Montegasppa <batalema@cacilhas.info>
-- desc:    A very spartan Tron implementation
-- license: 3-Clause BSD
-- version: 0.1
-- script:  moon
export ^
local  *

local cycle, dir, tic, score

size = 2

move = ->
  with cycle
    next = switch dir
      when 0
        x: .x, y: .y-size
      when 1
        x: .x, y: .y+size
      when 2
        x: .x-size, y: .y
      when 3
        x: .x+size, y: .y
    reset! if pix(next.x, next.y) != 0
    rect .x, .y, size, size, 9
    cycle = next
  score += 1

BOOT = ->
  cycle = x: 120, y: 68
  dir, tic, score = 3, 0, 0
  cls!
  rectb 0, 0, 240, 136, 4
  rectb 1, 1, 238, 134, 4

TIC = ->
  poke 0x3ffb, 0
  rect cycle.x, cycle.y, size, size, 3
  for i = 0, 3 do dir = i if btn i
  tic += 1
  if tic == 10
    move!
    tic = 0
    
OVR = ->
  print "Score: #{score}", 3, 128, 3, false, 1, true
```

Download the [card](https://cacilhas.info/misc/minitron.tic)!
6 Ways to Delete a Property In JavaScript You Must Know
Published: 2023-01-12 01:46:53

You might ask yourself how can I remove a property from a JavaScript object? I've found myself in this situation countless times.

In this article, I take you through 6 ways to achieve this. It's worth mentioning many of these techniques are exactly applicable even when you use a framework or at least you'll use a very similar approach there too.

> Before we move on, remember you can build your websites, landing pages, APIs, and more, **with** or **without** coding on [DoTenX](https://dotenx.com) for **free**. Make sure to check it out and use it to your advantage. *DoTenX is* ***open-source*** *and you can find the repository here:* [*github.com/dotenx/dotenx*](http://github.com/dotenx/dotenx)[.](http://github.com/dotenx/dotenx.*)

---
Let's get started.

1\. The first way is to just use the `delete` operator. It's pretty simple and straightforward:

```javascript
let myObject = { x: 1, property: 'something'};
delete myObject.property;
```

2\. Another way to remove a property is to use the `Object.assign()` method which creates a new object without the property you wanted to remove.

```javascript
const newObject = Object.assign({}, myObject);
delete newObject.property;
```

This method is commonly used when you want to maintain immutability of the original object and not change it. This approach is much more preferred to just using the `delete` operator.

3\. You can also use the `Object.entries()` method to remove a property from an object. This method returns an array of arrays containing the key-value pairs of an object. You can then use the `filter()` method to exclude the key-value pair that you want to remove.

```javascript
const newObject = Object.fromEntries(
  Object.entries(myObject).filter(([key]) => key !== 'property')
);
```

It's better to use this approach if you also want to do some extra processing on the object.

4\. Another way of deleting a property is using the spread operator `...` to create a new object and exclude the property that you want to remove. I've found this approach especially common among React developers.

```javascript
const { property, ...newObject } = myObject;
```

5\. For removing deeply nested properties, you can use the fantastic `lodash` library's method `_.unset(object, '`[`path.to.property`](http://path.to.property)`')`

```javascript
import _ from 'lodash';
_.unset(myObject, 'path.to.property');
```

6\. Finally, if the property is not known until runtime, you can use the object[property name] to delete it.

```javascript
const property = 'aProperty'; // value is set at runtime
delete myObject[property]
```
Tutorial - Optimizing Memory Consumption in HTML5 Games
Tags: phaser, gamedev, tutorial, beginners
Published: 2023-01-12 01:35:16

Welcome to my blog post about improving game performance through the use of Object pools.

As a game developer, it's likely that you've had to deal with the problem of instantiating a large number of objects for a specific class, such as particles with a short lifetime that need to be destroyed. One of the challenges of this type of game logic is that JavaScript's model is based on the garbage collection pattern, which means that developers do not have direct control over allocated memory.

## Problem

When memory locations (variables) are marked as null, they are collected by the garbage collector and removed from memory. However, when the garbage collector needs to dispose of a lot of objects, it takes a lot of processing time, which can negatively impact the performance of the game.

In that case, if you profile the memory, you will see something like what is shown in the picture below

![before](https://user-images.githubusercontent.com/10467454/211951892-46ea9408-e75d-4804-9229-324a557c515b.jpg)

## Solution

But there's a solution to this problem, and it's called the Object pools pattern.

The Object pools pattern is an implementation that helps to reuse disposed objects instead of creating new ones. By reusing objects, we can reduce the number of objects that need to be created and collected by the garbage collector, which in turn improves the performance of the game.

After using Object pools, you will get results like this

![after](https://user-images.githubusercontent.com/10467454/211951895-162e0910-6e3c-414d-8f40-0e47a5860dca.jpg)

## Phaser Plus Object Pools

```js
class CreateGameObjects extends Scene {

    onCreate() {
        this.pool.register('myObject', MyObject)

        // create object using pool
        let turtle = this.pool.obtain('myObject')
        this.add.existing(turtle)

        // remove object from scene and retreive back to the pool
        this.children.remove(turtle)
        this.pool.release(turtle)
    }
    
}
```
Can We Trust Chat GPT?
Tags: chatgpt, retrospective, ai
Published: 2023-01-12 01:33:08

The rise of [Chat GPT](https://openai.com/blog/chatgpt/) from Open AI has shaken the world. It can answer all kinds of questions. But the question is "can we trust it?"

You should trust GPT (Generative Pre-trained Transformer) because it is a highly advanced language model that has been trained on a massive dataset of text. This training process allows it to understand and generate text in a way that is similar to how humans do. Additionally, GPT has been trained to understand and respond to a wide variety of questions, making it well-suited for answering factual questions. 

However, it is important to keep in mind that AI language models like GPT are not infallible, and the answers it generates may be incorrect or biased based on the data it was trained on. Therefore, it is a good practice to cross check the answers. There are several reasons why one might not want to fully trust GPT as a source of information.

- First, GPT is an AI model and like any other AI model, it can make mistakes and provide incorrect answers.
- Second, GPT is only as good as the data it was trained on, so its understanding of a topic may be limited or biased if the training data did not include a diverse range of perspectives.
- Third, GPT may not always provide the most accurate or reliable information, particularly when it comes to sensitive topics such as medical, legal or financial advice.
- Fourth, GPT is not able to browse the internet and cannot provide the most recent information on a topic, so it is based on the data it was trained on, which could be outdated.
It is important to evaluate any information provided by GPT, or any other AI model, critically and to verify it with other sources before acting on it.

Your thought?

----
PS: This article was generated by Chat GPT.
Day 7 #100DaysofCode
Tags: webdev, beginners, 100daysofcode
Published: 2023-01-12 00:46:46

It's one of those frustrating days. Coupled with stressors from work and building this Sign-up Form; I've been feeling drained. I had to reassure myself that the stress and frustration I am facing now is just a tiny spec in the massive opportunity to come in the future; I just have to suck it up and continue to learn. Keep progressing.

## Update on the Sign Up Form

![Sign Up Form Image Description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cfbzo1eyw77kvdbmvmvm.png)

### Issues I am facing
* Scaling the `background-image` to take up 1/3 of the browser. 
![background-image code screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ptkvmqvj6uk20jbnmr7.png)
* The above screenshot shows the CSS styling I have applied.
* The image is being distorted as the browser shrinks and I am struggling to keep it static.
* I have tried using non-responsive unit `px` but that cuts off part of the image.
* `max-width` does not do the trick either.

## Random Question
Anyone heard of Dev10? If so, what are yall thoughts about them?
A Quick Guide to Event Listeners
Tags: beginners, javascript, webdev
Published: 2023-01-12 00:26:26

Event listeners are a useful feature built into JavaScript that showcases how dynamic web pages can be. But the question is...

## What are Event Listeners? 

An Event Listener is a procedure in JavaScript that waits for an event to occur. This event can be caused by the Document, Web Browser, Object, or Element. The action created by the Event Listener is done asynchronously, which allows for a quicker run time and creates a more exciting application. 

## How are Event Listeners used? 

In order to use Event Listeners they must be applied to an object or document element that is the target of the event.Once applied the Event Listener will be invoked automatically by the browser. For example: 
```javascript
let form = document.querySelector('form')
form.addEventListener()
```
In this case, **form** is the element that we are targeting. 

###There are two ways Event Listeners can be applied to a web page:

* **onXYZ**: The first way, although not as common, is done by directly setting the property of the object or element. This is done by adding `.on` followed by the event type to the desired element. 
For example:
```javascript
let form = document.querySelector('form')
form.onsubmit = callbackFunction;
``` 
*However, there is a key issue with this kind of programming as it assumes you will only register one handler for each type of event. So if you ever need to add more handlers the previously registered handlers will be overwritten. 


* **.addEventListener**: The second, and most common way, is using the `.addEventListener()` method. Much like the previous example, this method is applied to an object or element. Then two parameters are needed to define the method. The first is the event type ex: `click`. Second is a callback function that will handle the event after an action occurs. 
```javascript
let form = document.querySelector('form')
form.addEventListener('submit',callbackFunction);
```

*Side Note: You can also set the event handler attribute to the property of a specific HTML element directly on your HTML file. However, this can cause some issues in your code later on. 

## Event Types:

There are many even types including: `onClick` `submit` `mouseOver` `keyDown`. Each has its own unique use, for a more comprehensive list see [EventTypes](https://developer.mozilla.org/en-US/docs/Web/Events).
Day 671 : Sideways
Tags: hiphop, code, coding, lifelongdev
Published: 2023-01-12 00:08:29

_liner notes_:
- Professional : Had a good day. Got up early to check out a talk prep session with a team member. Then I had a meeting. After that, I worked on the PoC for a new Web Component.

- Personal : Worked on the Stripe demo I made. Also went through some tracks for this week's radio show. Then I ended the night watching "Glass Onion: A Knives Out Mystery". It was really good.

![A lake surrounded by mountains in Skaland, Norway with an outlet to the ocean](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xs1dwu0neln0pzwr7rqt.jpg) 

Going to go through more tracks for the radio show. Going to see if there's a way for me to get the Stripe demo working on Deno since that is where I'm planning on hosting the front end of the project. We'll see. I also want to watch the episode of "Vinland Saga" that I meant to watch last night. I've basically been watching all the movies and anime on the glasses I bought. It's pretty cool that I could be laying down sideways and still have the screen right in front of me.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube UBO4U1WK2Lc %}