teleren/devto huggingface dataset:
PocketAI - Best ChatGPT-based AI tool on WhatsApp
Tags: chatgpt, ai, productivity, news
Published: 2024-02-04 09:18:26

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

Get Ready to Transform Your WhatsApp Chats with [PocketAI](https://www.mypocketai.com/)! 🌟 Imagine turning your everyday messaging app into a hub of creativity and smart communication. That's what PocketAI, powered by OpenAI’s GPT-4 Turbo, brings to your WhatsApp experience. It's like adding a super-smart friend to your chat list who's ready to assist, inspire, and create with you, anytime, anywhere.

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

**Here’s what makes PocketAI a game-changer**:

- **Quick and Creative Content Creation**: Are you struggling to draft that perfect email or come up with catchy social media captions? PocketAI is your go-to pal, helping you whip up amazing content effortlessly.

- **Art at Your Fingertips with DALL-E 3**: Ever wished you could create eye-catching art in a snap? PocketAI turns that wish into reality, right within your WhatsApp chats.

- **Supercharged by PocketAI Vision**: This isn't just another plugin; it's like having a pair of smart eyes in your chats. Talk to your images, and watch as PocketAI Vision reads and analyses them, offering insights and sparking ideas.

- **Conversations that Feel Real**: Chatting with PocketAI is like texting a friend who's always there with smart suggestions, witty replies, and helpful tips.

- **Customization with ChatGPT Plus Plugins**: Tailor your PocketAI experience to suit your specific needs, enhancing functionality and making every interaction uniquely yours.

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

Whether you're brainstorming for your next big project, needing a burst of creativity for your digital content, or just looking for a smart, friendly chat, PocketAI is your go-to solution. It’s not just an AI tool; it’s a companion that understands your needs and adapts to help you in the best way possible.

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

Experience the blend of human-like interaction and AI-powered efficiency with PocketAI on WhatsApp. Say hello to smarter chats, creative solutions, and a whole lot of fun. PocketAI isn’t just a step ahead; it’s a whole new way to experience AI in your daily life. Get started with PocketAI today and see the difference for yourself!
Weekly reading digest #25
Tags: php, symfony, backend, softwareengineering
Published: 2024-02-04 09:00:00

[Generating Large ZIP Exports From Files in S3](https://chriswhite.is/coding/generating-large-zip-exports-from-files-in-s3/)

[Avoid mocking repositories by using in-memory implementations](https://danielrotter.at/2023/09/22/avoid-mocking-repositories-by-using-in-memory-implementations.html)

[YAGNI exceptions](https://lukeplant.me.uk/blog/posts/yagni-exceptions/)

[PAGNIs: Probably Are Gonna Need Its](https://simonwillison.net/2021/Jul/1/pagnis/)

[Why You Should Never Use MongoDB](http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/)

[Readme Driven Development](https://tom.preston-werner.com/2010/08/23/readme-driven-development.html)
SHIOWLA Situs Togel Online Singapore Terpercaya di Indonesia 2024
Tags: shiowla, bandartogel, situstotoonline, shiowlaagentogelterbesar
Published: 2024-02-04 08:53:40


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xdfahlf1lwlyuq989blu.jpg)
Daftar Situs Bandar Togel Online Resmi Terbesar Dan Terpercaya. Shiowla adalah situs bandar togel online resmi dan terpercaya yang ada di indonesia. Bergabung dan bermain di shiowla dan nikmati pengalaman bermain yang aman dan terjamin. Pasaran togel online terlengkap di shiowla membuat para member memiliki banyak sekli peluang untuk mendapatkan keuntugan.

Sebagai situs togel terpercaya. shiowla menjaga keamanan dan kenyamanan setiap member yang bergabung dan bermain di shiowla. Dan shiowla juga menyediakan fasilitas transaksi terlengkap dan tercepat dan terpercaya pastinya.

Kalian juga bisa menikmati fasilitas pelayanan terbaik dari shiowla dengan tampilan yang sederhana. Dan pelayanan costumer servis yang siap sedia 24 jam tanpa henti. Bergabung lah dan bermain di shiowla sekarang dan nikmati sensasi bermain togel online yang berbeda.

Daftar Situs Togel Terpercaya di Indonesia

Bagi para pecinta togel online, Menemukan situs togel online terpercaya di indonesia adalah alatu hal yang sangat penting. Karena saat ini banyak sekali situs togel online yang tidak bisa di andalakan. Sehingga memilih situs yang tepat adapat menigkatkan keuntugan kalian untuk mendapatkan keuntugan dalam bermain togel online.

Salah satu situs togel online terpercaya di indonesia adalah Shiowla. Situs Shiowla merupakan situs yang memiliki reputasi yang sangat baik dan telah di akui secara resmi sebagai salah satu situs togel terbaik di indonesia. Shiowla mwnawarkan pelayanan togel online terpercaya dan keuntugan yang dapat kalian nikmati.

Jangan lewatkan kesempatan untuk bermain di Shiowla dan rasakan sensasi bermain togel onlin yang aman dan terpercaya. Dengan kalian bergabung dan bermain di Shiowla. Kalian akan menikmati layanan terbaik dan juga fasilitas yang sangat lengkap.

link terkait

https://situs-tototogel.tumblr.com/
https://terpercaya-shiowla.tumblr.com/
https://play-totoshiowla.tumblr.com/
https://jimrothermel.com/
https://onlinemoneyportal.com/
https://askforinsurance.com/
https://mybestradardetector.com/
https://bei-tech.com/
https://shiowla-favpubl.com/
https://growarticles.com/
thetechblogger.com
bestofdupagecounty.com
hackvist.com
infuswhitening.com
nkhosa.com
How to setup a Professional Environment and It's importance
Tags: backend, backenddevelopment, chaiaurbackend
Published: 2024-02-04 08:53:28

Hey Family,

I'm on my journey to learn back-end series and today I knew about the Importance of setting up a Professional Environment for back-end project and It is very complex and Crucial but the way Hitesh Choudhary sir explain even a person like me who don't know anything about back-end understand easily.


🚀The Crucial Role of a Professional Setup in Every Project🚀

1️⃣  Clarity of Vision : A well-structured setup ensures everyone involved understands the project's objectives, milestones, and the ultimate goal. It's the roadmap that guides the team towards success.

2️⃣  Effective Communication: Professional setups foster open lines of communication. Clear channels for information flow prevent misunderstandings and keep everyone on the same page, promoting collaboration and synergy.

3️⃣  Risk Mitigation: Thorough planning during setup identifies potential risks and allows for preemptive strategies. This proactive approach is instrumental in avoiding obstacles and maintaining project momentum.


Learn How to setup a Professional Back end Project ...

https://youtu.be/9B4CvtzXRpc?si=nwOQuDO9imdFMxQz
Powerful Pandas! Part 2
Tags: python, programming, beginners
Published: 2024-02-04 08:48:50

This is the second blog on Pandas Library. In this write up we would show what else can be done with **Pandas** library apart from content mentioned in [Powerful Pandas! Part 1](https://dev.to/aziafrin/powerful-pandas-part-1-j71).

## Dealing with Missing Values
While analyzing data we often face a problem of missing values in our data. Let's see how can we deal with that in python with pandas library.
Let's import **pandas** and **numpy** library into our workspace.
```py
import numpy as np
import pandas as pd
```

Now create a data-frame with some missing value.
```py
d={'A':[1,2,np.nan],'B':[5,np.nan,np.nan],'C':[1,2,3]}
```
```py
df=pd.DataFrame(d)
df
```
### 1. Dropping Missing Values:
To drop all the rows with missing values:
```py
df.dropna()
```
To drop all the column with missing values:
```py
df.dropna(axis=1)
```
We can also set limit like how many missing entries are allowed.
```py
#it keeps row 1, as it has at lest 2 not NaN entry
df.dropna(thresh=2)
```

### 2. Replacing Missing Values:
we can replacing missing entries with anything like string, average values etc.
```py
#replacing missing values
df['A'].fillna(value=df['A'].mean())
```

## Joining Rows
Using group by method to light a group rows of data together and call aggregate functions.
Groupby allows you to group together rows based off of a column and perform an aggregate function on them
```py
data={'Company':['Gp','Gp','Teletalk','Teletal','Robi','Robi'],
                'Person':['Alam','Mim','Tina','Rimi','Rafi','Pranto'],
                'Sales':[200,170,225,439,410,324]}
```
```py
df=pd.DataFrame(data)
```
```py
df_new=df.groupby('Company')
```
```py
df_new.mean()
```

Check out this link for practice and comment down your thoughts.(https://www.kaggle.com/code/azizaafrin/powerful-pandas-part-2)
Happy Learning!❤️

_Aziza Afrin_
How to bypass reCAPTCHA automatically
Tags: captcha, captchaai, scraping
Published: 2024-02-04 08:47:10

**Introduction**

In the ever-evolving landscape of the digital realm, the ubiquitous presence of reCAPTCHA can sometimes be a hindrance rather than a help. This article aims to shed light on the intricacies of automating the bypass of reCAPTCHA, offering valuable insights without compromising ethical standards.

**Understanding reCAPTCHA**

Before delving into the methods of automated bypass, it's essential to comprehend the purpose of reCAPTCHA. Originally designed to distinguish between humans and bots, reCAPTCHA acts as a gatekeeper, safeguarding websites from malicious activities.

**The Dilemma of Manual Captcha Entry**

**Time-Consuming Hassle**

Manually solving reCAPTCHA puzzles can be a time-consuming endeavor, especially for users with high interaction rates on various platforms. The need for a more efficient solution has given rise to the exploration of automated bypass techniques.

**Exploring Automated reCAPTCHA Bypass Solutions**

**Machine Learning Algorithms**

Sophisticated machine learning algorithms have proven effective in automating reCAPTCHA bypass. Leveraging AI capabilities, these systems can mimic human-like interactions, deciphering puzzles with remarkable accuracy.

**Browser Extensions and Plugins**

For those seeking a user-friendly solution, browser extensions and plugins have emerged as viable options. These tools integrate seamlessly into the browsing experience, streamlining the reCAPTCHA-solving process without requiring extensive technical knowledge.

**Conclusion**

In conclusion, the landscape of automated reCAPTCHA bypass is multifaceted, offering various avenues for users seeking efficiency without compromising ethical standards. Embracing technological advancements responsibly ensures a harmonious coexistence between security measures and user convenience.

**CaptchaAI, employing an [OCR solver](https://captchaai.com/), follows this approach and is capable of recognizing various types of captchas within a few seconds.**

**It stands out as the [Ultimate CAPTCHA Solver](https://captchaai.com/), offering reasonable pricing without charging per CAPTCHA.**

**[CaptchaAI](https://captchaai.com/) is a quick tool that helps solve different captchas in just a few seconds, including [reCaptcha](https://captchaai.com/) and [hCaptcha](https://captchaai.com/). It's known for being fast, taking as little as 1 second for [normal captcha](https://captchaai.com/).**

**One good thing about CaptchaAI is that it doesn't charge for each captcha, making it cost-effective. It's popular for simplifying captcha recognition, Additionally, it allows users to test the service before subscribing to any plan which sets it apart as the only solver offering this option.**
Top-Quality Roofing Solutions for your property
Tags: roofer, roofingcontractor, roofingcompany, roofing
Published: 2024-02-04 08:46:19

Your home's roof is more than just a protective shield against the elements – it's a crucial aspect of your property's structural integrity and aesthetic appeal. In Richland, WA, where weather conditions can be diverse, having a [reliable roofing company](https://roofingcompanyrichland.com/) is essential for ensuring the longevity and resilience of your roof.


![Roofing Company Richland](https://i.imgur.com/D3FK3KM.png)

1. Local Expertise:

Choosing a roofing company with local expertise is key to addressing the unique challenges posed by Richland's climate. Our team at Trudeau's Northwest Roofing And Construction understands the specific needs of the region, providing tailored solutions to withstand both scorching summers and chilly winters.

2. Comprehensive Roofing Services:

Whether you need a roof installation, repair, or replacement, we offer a comprehensive range of services. Our skilled roofing professionals are experienced in working with various roofing materials, including asphalt shingles, metal roofing, and tile. We prioritize quality craftsmanship and attention to detail in every project.

3. Emergency Repairs:

Storms, fallen trees, or sudden leaks can compromise your roof's integrity. Our prompt emergency repair services ensure that your home is protected against further damage. We offer 24/7 assistance, addressing urgent roofing issues to bring you peace of mind during unexpected situations.

4. Roof Inspections and Maintenance:

Regular roof inspections and maintenance are crucial for identifying potential issues before they escalate. Our team conducts thorough inspections, identifying weak points, leaks, and any signs of damage. We then provide proactive maintenance to extend the lifespan of your roof and prevent costly repairs.

**→→Read more [here](https://www.bloglovin.com/@trudeausnorthwestroofingandconstruction/top-quality-roofing-solutions-for-your-property)←←**
ng update @my/lib@version - Which migration schematics will be executed? 🤷
Tags: angular, schematics
Published: 2024-02-04 08:32:35

**The command `ng update @my/lib@version` downloads the specified version of the library and launches all schematics listed in its `migrations.json` that have an appropriate property of "version" within the semver range from `>installedVersion` to `<=targetVersion`.**

### Example

For instance, consider the following conditions:
- The locally installed version of `@my/lib` in my project is `1.1.0`.
- The latest published npm version of `@my/lib` is `4.8.9`.
- Now, when we run `ng update @my/lib` (or `...@my/lib@4` or `...@my/lib@4.8` or `...@my/lib@4.8.9`, it doesn't matter),
- and the file `migration.json` of `@my/lib` contains migrations for the `"version"` `2.0.0` and `4.5.0`:
```json
{
  "schematics": {
    "migration-v2": {
      "version": "2.0.0",
      "factory": "./migration-v2#migrate",
      "description": "Migration for v2.0.0"
    },
    "migration-v4.5": {
      "version": "4.5.0",
      "factory": "./migration-v4_5#migrate",
      "description": "Migration for v4.5.0"
    },
  }
}
```

...then the following migrations will be executed, in ascending order of version:
- Migration for v2.0.0
- Migration for v4.5.0

This is because they fall between the currently installed version (`>1.1.0`) and the target version (`<=4.8.9`).

Note: If we were to run `ng update @my/lib@` with the target version lower than `4.5.0`, for example, `ng update @my/lib@3`, only the following migration would be executed:

- Migration for v2.0.0

However, the `Migration for v4.5.0` would not run.

### Angular CLI source code analysis

Here's a proof in the source code of the Angular CLI:

- If the "version" field from `migrations.json` belongs to _the appropriate semver range_, then this migration is launched (see [source](https://github.com/angular/angular-cli/blob/e880531de68f01ee7b7a3e84007a8eeefc1c4f9d/packages/angular/cli/src/commands/update/cli.ts#L373)). 

- _The appropriate semver range_ means something between `>fromVersion` and `<=toVersion` (see sources: [executeMigration()](https://github.com/angular/angular-cli/blob/e880531de68f01ee7b7a3e84007a8eeefc1c4f9d/packages/angular/cli/src/commands/update/cli.ts#L357-L359) and [invocation of executeMigration()](https://github.com/angular/angular-cli/blob/e880531de68f01ee7b7a3e84007a8eeefc1c4f9d/packages/angular/cli/src/commands/update/cli.ts#L860-L861)).

- The `fromVersion` and `toVersion` respectively mean: `installed.version` and `target.version` (see [source](https://github.com/angular/angular-cli/blob/e880531de68f01ee7b7a3e84007a8eeefc1c4f9d/packages/angular/cli/src/commands/update/schematic/index.ts#L336-L341)).

Therefore, all migrations between `>installed.version` and `<=target.version` are launched.
Xcode debugging cheatsheet
Tags: xcode, ios, objc, swift
Published: 2024-02-04 08:32:30

This is a cheatsheet - starting point to look for things that you can do.
Avoided complex / 3rd party things as they require some additional setup that may not be allowed in certain projects.

### Breakpoints
- Breakpoint is user enabled point in code where the application pauses
- Line and column breakpoints
  - Pauses the program before the statement on line/column is executed
- Conditions
  - Execute walk method just for LadyBug: `self.bugType == 1`
- Actions: Sound, Log message, Debug command
- Symbolic breakpoints: Add breakpoint on a method without source file `[UIImage systemImageNamed:]`
  - `po $arg1` -> Receiver object
  - `po $arg2` -> `po (SEL)$arg2` -> Method name
  - `po $arg3` -> First argument, and goes
- Watch points: Pauses when the value changes

### LLDB commands
- `help`: Information about commands
- `v`: Does not compile the expression instead it just dumps value from the stack
- `p`: Evaluates and prints the output
- `po`: Evaluates the print debug output
  - `description ` method
  - Use `[]` syntax if `.` is failing due to typecasting
- `expression`: Evaluates and prints, also stores the output in a variable
  - Expressions in other languages: `expression -l swift/objc -O -- <code>`
- `alias`: Creates a shortcut for complex commands
  - `command alias greet p @"Hello World"`


### Techniques
- Inject code without building it: `expression <sample fix/feature>`
  - `expr [bugs addObjectsFromArray:[[self makeAntViews:20] mutableCopy]]`
- Short circuit / skip code execution: 
  - Move the debugger handle
  - `thread jump --by 1`
- Early return through a method: `thread return <return value>`
  - NOTE: This does not always work and can be dangerous 
- Print the view hierarchy: `po [self.view recursiveDescription]`
- Highlight a view: 
  - `(UIColor *)[bug setBackgroundColor:UIColor]`
  - `(void)[CATransition flush]`: Refreshes UI
- Add delay in code: `expr [NSThread sleepForTimeInterval:2]`
- Auto layout debugging: `po [self.view _autolayoutTrace]`

**References:**
1. https://www.wwdcnotes.com/notes/wwdc18/412/
2. [Advanced lldb tricks for Swift - Injecting and changing code on the fly](https://swiftrocks.com/using-lldb-manually-xcode-console-tricks.html?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B416)
3. https://bryce.co/lldb-method-stubbing/
4. https://www.objc.io/issues/19-debugging/lldb-debugging/
5. https://github.com/facebook/chisel
6. [Leveraging Swift in Xcode’s LLDB](https://itnext.io/leveraging-swift-in-xcodes-lldb-d75e2adc5741)
Jetpack ComposeでListなどのクラスをStableにする
Tags: android
Published: 2024-02-04 08:28:47


## 概要

Jetpack ComposeではListなどのクラスはunstable型としてマークされており、stableとして扱うためには、都度Wrapperクラスを定義する必要がありました。

```kotlin
@Stable
data class UserState(
  val users: List<User>,
  ...
)
```

Compose Compiler1.5.5から stability configurationという機能が入り、Listなどの外部クラスをStableとして扱うことが出来るようなりました😀


## 使い方

次の2つを設定することで使うことが出来ます。

まず、freeCompilerArgsにstabilityConfigurationPathを設定します。

```kotlin
kotlinOptions {
 freeCompilerArgs += listOf(
   "-P",         
 
 "plugin:androidx.compose.compiler.plugins.kotlin:stabilityConfigurationPath=" +
    "${configurationPath}"
  )
}
```

次に、上部で設定したconfigurationPathにファイルを作り、クラスを記述するだけです。


```text
java.time.LocalDateTime
kotlin.collections.List
```

これで、ListとLocalDateTimeをそれぞれStableにマークすることが出来ます。

詳しい定義の仕方は https://github.com/skydoves/landscapist/pull/417 このPRが参考になります。


## 確認方法

Composeのmetric reportsで確認することが出来ます。
metrics reportsはComposable関数の状態を確認することが出来る機能です。
詳細な使い方はChrisさんのブログによくまとまっておりおすすめです。 https://chrisbanes.me/posts/composable-metrics/ 

これを使い、before/afterを比較すると次のようになりました。

```kotlin
@Composable
fun Test(names: List<String>) {
  Text(text = "$names")
}
```

```text
// before
restartable scheme("[androidx.compose.ui.UiComposable]") fun 
Test(
  unstable names: List<String>
)
  
// after
restartable skippable scheme("[androidx.compose.ui.UiComposable]") fun Test(
 stable names: List<String>
)
```

beforeではList<String>がunstable、afterではstableになっていることが分かります。


これで都度Wrapperクラスを作っていた部分を省略することが出来ます😀


## まとめ

いちいちwrapするのがめんどくさかったところをstability Configurationを使うことで、解決することが出来ました。readonly Listや、サードパーティが提供しているimmutableなクラスを定義に追加しておけば、自然とskip可能なComposable関数が作れるので、とりあえず色々と追加しておくのが良いと思います。
とはいえ、mutableなクラスを追加してしまうと、予期せぬ動作をする可能性があるので、しっかりとStableにしても良いかを確認することが大切です。



## 参考
- https://developer.android.com/jetpack/compose/performance/stability/fix
- https://github.com/skydoves/landscapist
Mystery Solved: 3 Ways to Center a Div
Published: 2024-02-04 08:16:50

Aligning elements is a common task in web development. You’ll often want to center a div or other block element horizontally or vertically on a page. This allows you to create balanced, aesthetically-pleasing layouts.

Centering a div isn’t always straightforward though. There are a few different techniques you can use depending on the situation. In this post, we’ll go over three simple yet effective ways to center divs using flexbox, CSS grid, and absolute positioning.

### 1. Use Flexbox
One option for centering is Flexbox. This makes centering extremely easy, both vertically and horizontally.

Here’s an example to center a div with Flexbox:

```
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}
```

The parent container becomes a flex container when we set display: flex. This allows us to use the justify-content and align-items properties to center the child div both horizontally and vertically.

Flexbox provides easy centering capabilities. The main downside is browser support. Flexbox is supported by all modern browsers, but older ones like IE10 and below do not support it.

### 2. Use CSS Grid
CSS Grid is another handy tool for centering. Here is a simple grid layout to center a div:

```
.parent {
  display: grid;
  place-items: center;
}
```

By making the parent a grid container with display: grid, we can use the place-items property to center the child div easily.

Grid allows centering both horizontally and vertically. An advantage over flexbox is subpixel precision, so elements can be aligned perfectly.

The main drawback is browser support, as grid layout is not supported in older browsers. But it is supported in all modern browsers.

### 3. Use Absolute Positioning
The third technique for centering is using absolute positioning:

```
.center-div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
}
```

This works by setting the top and left values to 50% to horizontally and vertically center the div. The transform property fine tunes the positioning.

The absolute positioning method works universally, but takes the element out of flow which may impact other elements.

**In Summary**
Here are three solid techniques for centering divs:

- Use Flexbox properties like justify-content and align-items for easy centering.
- Leverage CSS Grid with place-items to center elements with subpixel precision.
- Absolutely position the div and use transform to center it. This works universally but affects surrounding content flow.
- Each method has its own pros and cons. Try them out on your next web project to see which one works best for your particular layout needs.

With these modern layout techniques, you have all the tools to center divs and other elements with ease. Flexbox, Grid, and absolute positioning provide cross-browser solutions for all your centering needs.