teleren/devto huggingface dataset:
Why Apple’s 70/30 Model is No Longer Cutting It for Developers
Tags: mobile, programming, webdev, discuss
Published: 2023-01-20 09:36:53

When Steve Jobs launched the App Store in July of 2008, it was a groundbreaking, visionary innovation — arguably as important as the invention of the iPhone itself.

The iOS SDK, hosting and distribution of apps to every iPhone user on the planet, and of course, the 70/30 revenue split for developers were all game-changing and, up until then, had no precedent in tech lore.

Not only did they change the game, but they set the standard for the industry in such an influential way that the ripple effects of those decisions reverberate through all of our connected lives, even today.

If you were an iOS developer in those early days, it was an exciting time.

It’s undeniable…

Apple changed the lives of countless developers (and created millions of jobs and billions in revenues) in a real, meaningful way by allowing them to distribute their newly-minted apps at an unprecedented scale.

But, it wasn’t a one-way street of course.

In fact… The App Store would have been a digital ghost town, and certainly wouldn’t have been possible without developers.

By sheer participation, developers granted implicit consent & agreement to Apple’s terms.

Since there were no predecessors OR a frame of reference on how an App Store of this kind would operate prior to Apple, it is perfectly understandable that most developers opted into all the terms as a default choice back then.

I mean…

It was the only game in town as far as developers being able to create, distribute and make their apps accessible on a global scale… from the palm of someone’s hand.

…and the App Store was just the beginning.

Just a few months after the App Store, like any budding duopolistic love story — The Play Store was launched by Google with an identical economic model to Apple with the same 70/30 split.

The details might differ to some degree, but, generally speaking — it’s the same paradigm, different companies.

But, here we are, almost two decades later… in a different world… and the terms between this monolithic duopoly and developers have yet to change.

In fact, it’s concerning that many developers in unrelated products & industries continue to use the same 70/30 model (or one similar to it) as a default simply because of its popularity.

([Read more](https://blog.archway.io/why-apples-70-30-model-is-no-longer-cutting-it-for-developers-ee60fe5ae552))

**P.S:** Linked to the longer version since Medium has better readability etc, but wanted to share this with the Dev community, and if anyone has any questions/comments, would be happy to answer in the comments below! 🙂
Can CSS target elements in a "body" that's not highlighted in HTML?
Published: 2023-01-20 09:30:18

Yes, CSS can target elements in a "body" that's not highlighted in HTML.

CSS selectors allow you to select elements based on various criteria such as their element type, class, ID, or attribute. You can use these selectors to target elements regardless of whether they are highlighted in the HTML or not.

For example, you can use CSS selectors such as body `p` to select all `<p>` elements within the `<body>` element, or `.my-class` to select all elements with the class "my-class" regardless of their element type. 

You can also use attribute selectors to target elements based on their attributes, such as `[data-attribute=value]` to select elements with a specific attribute and value.

You can also use CSS pseudo-selectors such as `:first-child` or `:last-child` to target specific elements within a container, regardless of their type or class.

In summary, CSS provides a wide range of selectors and pseudo-selectors that allow you to target elements based on various criteria, regardless of whether they are highlighted in the HTML or not.
Blockchain developers’ simple guide to navigating the complex future of Web3
Tags: blockchain, web3, programming
Published: 2023-01-20 09:29:14

Being in the blockchain space feels like we oscillate between dizzying whirlwinds of confusion and vomit-inducing whiplash — and on rare occasions, if you’re lucky — all of that is punctuated by short bursts of quixotic optimism and euphoria.

…and if you’ve gone through those stages multiple times over the years, yet still keep coming back for more like a crazy maniac, you’re likely addicted to that sweet dopamine rush of the potential satisfaction of capitalizing on a bunch of nascent, cutting-edge technologies that most people don’t even fully understand yet.

Heck, even the tiny coterie of awkward nerds and authors of those very technologies, despite being considered “industry thought leaders” — don’t even understand the future implications of their very creations.

Yes, I’m talking about industry leaders & people who invented the tech here — so if you’re some muggle living a fairly mundane life like most of humanity, other than maybe hearing a few superficial references to “blockchain” from your friends or on social media — you’ve got even less of a chance of attempting to understand any of it, despite zealous claims of “blockchain” being THE future or the “most disruptive technology” of our generation.

In other words, our technologies have outpaced our ability, as an industry (and as a society) to understand them — and things are only going to accelerate — so, expect more dizzying whirlwinds & whiplash.

Now, if you’re a blockchain developer that’s constantly learning, and building cool tools and projects, you probably have a much better chance of predicting the future than your average street psychic.

I mean…

Hacking your fingers to the bone and spending lonely sleepless nights trying to figure out how to build something useful, and being proactive about shaping the future of Web3 does have some hard-earned benefits, after all.

But, don’t get too overconfident either.

This isn’t about developers getting the future right.

This is a tiny bit about developers being nostalgic about the past, and being unable to see the future because they’re irrationally high on hopium, yes.

But, it’s mostly about what developers can do to avoid getting the future of Web3 wrong.

([Read more](https://blog.archway.io/blockchain-developers-simple-guide-to-navigating-the-complex-future-of-web3-ae659c45067a)) 

**P.S:** Linked to the longer version since Medium has better readability etc, but wanted to share this with the Dev community, and if anyone has any questions/comments, would be happy to answer in the comments below! 🙂
React 18: Automatic Batching
Tags: react, javascript, tanzeelcancode, programming
Published: 2023-01-20 09:28:00

Batching is when React groups multiple state updates into a single re-render for better performance.

For example, if you have two state updates inside of the same click event, React has always batched these into one re-render. If you run the following code, you’ll see that every time you click, React only performs a single render although you set the state twice:

```js
function App() {
  const [count, setCount] = useState(0);
  const [loading, setLoading] = useState(false);

  const handleClick = () => {
      fetchData().then(() => {
      // React 17 or earlier does NOT batch these updates 
      // These will be two different updates
      setCount(c => c + 1); // 1st update and re-render
      setLoading(l => !l); // 2nd update and re-render
    });
  }

  return (
    <div>
      <button onClick={handleClick}>Next</button>
      <h1 style={{ color: loading ? "blue" : "black" }}> 
       {count} 
      </h1>
    </div>
  );
}

```
In React 18, all updates will be automatically batched, no matter where they originate from.

This means that updates inside of timeouts, promises, native event handlers or any other event will batch the same way as updates inside of React events. We expect this to result in less work rendering, and therefore better performance in your applications by avoiding unnecessary re-renders and thus improve the performance.

## How to opt out of batching?
flushSync is a method in React that allows you to force a synchronous update to a component. It can be used in cases where you need to update a component immediately, rather than waiting for the next render cycle. This can be useful for cases such as updating a component's state in response to a user interaction, or for doing some other type of imperative update.

Additionally, flushSync is not recommended to use in most cases, it's better to rely on React's built-in mechanism to handle updates. It's only recommended to use in cases where you need to update a component immediately, and the regular way of updating component is not working.

```js
import { flushSync } from 'react-dom';

const handleClick = () => {
  flushSync(() => {
    setCounter(c => c + 1);
  });
  // 1st update and re-render
  flushSync(() => {
    setLoader(l => !l);
  });
  // 2nd update and re-render
}
```
Jekyll and the gh-pages
Published: 2023-01-20 09:20:37

---
series: OSDC with Gabor Zabo
---

Github has a nice ui for creating a sttic pages website on the fly. it is called gh-pages, and you can deploy it streight to a subdomain, given to you, based on your github username and branch. 
you can also giv it your own domain and also snip some pithon code into it. 
It is based on an open source project caled jekyll, which is a static pages generator.

Here some info about it
{% embed https://pages.github.com/ %}

Here is Jekyll
{% embed https://jekyllrb.com/ %}


And here is a small website I once built with jekyll

{% embed https://shimon-clinic.co.il/ %}
The C Language in a nutshell...
Published: 2023-01-20 09:13:49

## Intro...
C is a general-purpose, high-level programming language that was first developed in the early 1970s. It is considered to be one of the most widely used and versatile programming languages in the world. Here are some of the basics of the C programming language:

## Syntax 
C has a simple and straightforward syntax that is easy to learn and understand. It uses a combination of keywords, variables, and operators to create statements that are executed by the computer.

## Data Types
 
C supports a variety of data types including integers, floating-point numbers, characters, and strings.

## Variables
Variables are used to store data in C. They are declared with a specific data type and can be used to store values, expressions, or even the results of calculations.

## Operators
 
C supports a variety of operators such as mathematical operators (e.g. +, -, *, /), comparison operators (e.g. ==, !=, >, <), and logical operators (e.g. &&, ||, !).

## Control Flow
 
C uses control flow statements such as if, else, for, while, and do-while loops to control the flow of execution in a program.

## Functions
 
Functions are used to divide a program into smaller, more manageable pieces. Functions can be defined and called by the main program or by other functions.

## Pointers
C uses pointers to manipulate memory directly, they are variables that store the memory addresses of other variables.

## Input/Output
C uses a variety of functions such as scanf() and printf() to handle input and output operations.

## Libraries
C has a large number of standard libraries that provide a wide range of functions for tasks such as mathematical calculations, string manipulation, and input/output operations.

## Compilation
Programs written in C need to be compiled before they can be executed by the computer. The process of compilation converts the source code into machine-readable code.
Open source developement cource
Tags: opensource, github
Published: 2023-01-20 09:06:24

---
series: OSDC with Gabor Zabo
---
I have participated the first 2 classes of an Open source developement cource, by @szabgab 
{% embed https://dev.to/szabgab %}

[Here you can see the Cource descrioption](https://osdc.code-maven.com/)

[all the updates sit here in a github repo](https://github.com/OSDC-Code-Maven/osdc-2023-01-public)

[And he also created a practice website which we can update](https://osdc.code-maven.com/osdc-2023-01-public/)


I recently posted some of the cource info [Here](https://kobkob.hashnode.dev/i-am-writing-my-first-blogpost), in hashnode, But ever since I realized that in [dev.to](https://dev.to/) you can write markdown, and easily tag people you know, I moved here.

I also reallized, that most of the cource participants are write here. so I guest most of our small comunity activities will be from here..

 

I think it is written in jekyll, but I am not sure yet..

Another participent in this class is @shulyavraham, and we sometimes assist eachother with homework. which is allot!!.

She wrote a wonderfull post, explaining the contents of this cource. [you can click here to see her post](https://dev.to/shulyavraham/osdc-course-with-gabor-4hfi)
 {%embed https://dev.to/shulyavraham/osdc-course-with-gabor-4hfi %}

Here are another perspective about this cource from another participant
{% embed https://dev.to/silent_mobius/thus-the-new-journey-begins-18kp %}






Here are some of the insights and concepts learned in the first 2 lessons:

- repository: is a collention of files and directories, kept in the cloud..
- git: a way to keep version controll for changes in a repository. each repository has an owner and right and read permission settings
- branch: a division for new version for new developement
- commit: any change made and uploaded to the repository, each commit is saved and can be restored
- fork: a copy of another owner's repository, to a personal repository
- pull request: once you want to make changes in someone elses repo, you need to commit it to your own fork,and then send a pull request to the original repo

- github: it is a web ui that helps managing repositories
- issue: a list of comments created by users , stating issues that need to be resolved
- commit hashkey: when creating an issue, you can link a specific commit, identified by it's hashkey, so other users can know what is is about.
- issue-id: same as commit hashkey, you can link an issue while commenting in  a commit, so users can know the issue is taken care of in this commit.
რა არის თამაში?
Published: 2023-01-20 08:56:03

თამაში არის თამაშის სტრუქტურირებული ფორმა, რომელიც ჩვეულებრივ ტარდება გასართობად ან გასართობად და ზოგჯერ გამოიყენება როგორც საგანმანათლებლო ინსტრუმენტი. ბევრი თამაში ასევე ითვლება სამუშაოდ (მაგალითად, მაყურებლის სპორტის ან თამაშების პროფესიონალი მოთამაშეები) ან ხელოვნება (როგორიცაა jigsaw თავსატეხები ან თამაშები, რომლებიც მოიცავს მხატვრულ განლაგებას, როგორიცაა Mahjong, solitaire ან ზოგიერთი ვიდეო თამაში).
Lesson 1 - Introduction to C++ Programming Language
Tags: beginners
Published: 2023-01-20 08:52:51

Today, we began the foundation course for learning to **code**.

By definition, the term code is mysterious. It indicates a technical method of communication that computers, not people, are intended to understand. 

As a beginner, we start with a C++ Programming Language.

C++ is a middle-level language, which allows it to program low-level (drivers, kernels) and even higher-level applications (games, GUI, desktop apps etc.). 

We firstly learned how to write these basic codes and how to decipher them.

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

Each of these codes has a distinct meaning.

For example:

```
<iostream>
```
 is the library header file which contains all the functions of program like cout, cin etc. and 

```
#include
```
 tells the preprocessor to include these library header file in the program.

In order to read or write to the standard input/output streams, you need to include it.

Also it can be written on these forms:

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

That program will not compile unless you add #include <iostream>

The second line isn't necessary:

```
using namespace std;
```

That tells the compiler that symbol names declared in the `std` namespace are to be brought into the scope of your program, therefore you can omit the namespace qualifier and write:

```
#include <iostream>
using namespace std;

int main()

{
    cout << "Hello, World!" << endl;
    return 0;
}
```
You can now use the shorter name cout instead of the fully qualified name **std::cout** to refer to the output stream.


When it comes to 

```
int main()

{

……..
………

return 0;

}

```
We need to understand that “main” is a function which exists in each and every C++ code we will ever write. Without a main function, our code would not work.

Everything written inside the {..} will be executed

There are only two statements in the above code snippet. We need memory to run any code. "int" denotes that it is of the integer type. When we use "int," we take the memory that an integer would require. The code uses the "borrowed" memory until the execution is completed. When the execution is finished, we say return 0. As you can see, zero is an integer, so by saying return 0, you are returning an integer, i.e. the "int" that the main was using.

To finish, the last things that we learned is the difference between **endl** and **\n**. They both serve he same purpose in C++ – they insert a new line.

For example:

```
cout << "Hello World!\n";

or 

cout << "Hello World!"<< endl;

```
The only difference is that **<<endl** flushes the output buffer, and **'\n'** doesn't. 


@dawroun
Throw Exception in C#
Tags: csharp, programming, tutorial, beginners
Published: 2023-01-20 08:47:36


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ycn3zgkzcibibtijsb5v.png)
Hello, today we want to talk about the keyword `Throw` and see where this word came from and what it does.
As we know, in **C#** language, we have a command called **try-catch**, which means that if an error occurs in the code, we can use catch to catch it and perform our desired operation.
After that, the creators of programming languages thought that if a programmer wants to call an error in a specific situation, he knows that he should call an error and throw it so-called. What should he do in the program?

This is where they came up with this magical _idea_ and created the Throw keyword so that any programmer can call the error he wants in the program at any time, and the program will realize that there is an error.

For example, you can see in the code above that, first of all. We defined an object of Student in the program's **Main** method, whose value is equal to `null`.

```c#
Student std = null;
```

Now, in the try block, we see that we called the `PrintStudentName` method and `null` as the input of that object. We pass what we made to it.

```c#
try
{
  PrintStudentName(std);
}
```

The exciting thing is that we came to the `PrintStudentName` method and checked that if our input were `null`, it would generate a `NullReferenceException` error and also show a message that we would later find out was related to an error that we bred ourselves.

```c#
private static void PrintStudentName( Student std)
{
    if (std  == null)
        throw new NullReferenceException("Student object is null.");
        
    Console.WriteLine(std.StudentName);
}
```

You can also see this error text that we entered in the constructor method of this class.

**Error text:**
`The student object is null.`

After we have done this, the program immediately understands that an error has occurred, and we exit the `PrintStudentName` method. Because we generated an error in the same line where we caused the error, we exit the method from the same line, and the method is not executed for the rest of the lines.
Where do we go when an error occurs in the program if we have managed it? Well done, that's right, we go to the `catch` block.
We also wrote in the catch block that it receives an `Exception` input (which, as you know, is the father of all errors, and we give it special respect) and prints the message related to that error.

```c#
catch(Exception ex)
{
  Console.WriteLine(ex.Message );
}
```

We learned this simple matter very well together.
Clear Cache for lunix
Published: 2023-01-20 08:42:59

we can use The **free** command is used to display amount of free and used memory in the system. The command also displays the total amount of swap memory in the system and buffers and caches used by the Linux kernel.

```
free -m

```
and to Clear memory  we can use :
To clear **pagecache** only:

```
sync; echo 1 > /proc/sys/vm/drop_caches

```
To clear **dentries** and **inodes**:

```
sync; echo 2 > /proc/sys/vm/drop_caches

```
To clear **pagecache**, **dentries** and **inodes**:

```
sync; echo 3 > /proc/sys/vm/drop_caches

```
 to empty buffer and cache:

```
free && sync && echo 3 > /proc/sys/vm/drop_caches && free
```

if you has this probleme of permission
`bash: /proc/sys/vm/drop_caches: Permission denied
`

you can use echo piped to sudo tee to allow the proper permission needed when you need to echo as root

```
echo 3 | sudo tee /proc/sys/vm/drop_caches
```
Forum Syair HK - Kode Syair HK 2023
Published: 2023-01-20 08:39:38

Forum Syair HK atau juga sering di sebut Kode Syair HK meliputi Forum syair Hongkong, kumpulan gambar syair hk, kode angka main hongkong, code syair hongkongpools hari ini dengal ramalan yang dipercayai sangat jitu.

Situs (http://68.183.225.86) akan memberikannya kepada para pengunjung setia kami atau para togeller pecinta togel Hongkong pools. Agar para sahabat kami bisa tembus togel bareng dan jp bersama selalu. Kemudian, di bawah sudah kami kumpulkan gambar syair togel hari ini. Selanjutnya, perlu di ingat prediksi HK akan selalu di update setiap hari.

Berikut adalah prediksi syair HK hari ini yang dibuat oleh master dan suhu dalam membuat rumus prediksi togel. Perhatikanlah beberapa angka berikut:

Kode Syair HK Hari Ini untuk para pecinta toto online seperti nagamas, omiframe, opesia, baraya, kampleng, kalong , sentana, sakuratoto , pangkalantoto, syairterkini, gucci mas, serigala, nagasaon, syair jawa, syair bola api, dan syair terkenal lainnya. Jadi gunakanlah syair syair ini untuk menghasilkan angka jitu 2D, 3D dan 4D.
Syair Togel HK Hari Ini

Forum Syair HK 2023, kode syair HK hari ini, code syair Hongkong, prediksi hk 2023, prediksi Hongkongpools hari ini, terbaru dari admin syair hk hari ini untuk para pecinta togel online.
KUMPULAN GAMBAR SYAIR HK JITU
SYAIR HONGKONG HARI INI

sumber http://68.183.225.86/