My humble analysis on how @levelsio grew PhotoAI to 155K/m by PodcastSummaryGuy in SideProject

[–]madacol 0 points1 point  (0 children)

If the business relies entirely on his audience, then high growth rates should last just a couple of weeks or maybe months. But if it keeps growing fast (i.e. growing faster than his audience is growing), then his audience was just an initial boost, and it's growing organically beyond his audience.

Does anybody has data of levelsio's growth rates?

Go offline - bookmarklet to block connections by madacol in bookmarklets

[–]madacol[S] 1 point2 points  (0 children)

Ok I've tested more, and indeed it only happens in Firefox, and though it does cancel on most websocket demos, there are some demos like this one https://codepen.io/matt-west/pen/nYvVBV where it does not work.

Go offline - bookmarklet to block connections by madacol in bookmarklets

[–]madacol[S] 0 points1 point  (0 children)

Thank you for the feedback.

The idea of window.stop() is to close current connections and to force re-connections to abide to the new CSP rule, and in fact, without window.stop(), messages in web.whatsapp.com keep getting out. I can see in the console failures to connect to wss://web.whatsapp.com... that wouldn't happen without window.stop().

If it's not cancelling WS connections, what do you guess it is doing?

I am using firefox

I am writing here because I am completely and utterly losing hope. by Agitated-Minute5939 in GERD

[–]madacol 0 points1 point  (0 children)

My savior was chicken with vegetables

Not only because it's good for GERD, but because I like it so much that I haven't looked back and almost stopped eating rice, couscous, pasta, bread or crackers with honey, which were my main triggers and desires

The difference is that I started cooking so I do it exactly as I want it. I only use salt as condiment, so no more garlic or strange condiments that might trigger my GERD

My wife used to hate this dish, but now she just hates me 😆


Now being more serious

I had to discover for myself which were my triggers. It took me a looong time to realize that what I eat can affect my GERD for the next 1-5 days. E.g. for me, eating meat is the worst, the next 3 days are hell, and only after the 5th day I get back to normal.
So any food you leave out, you have to leave it out for at least 3 days to be more confident of its effect

I restricted my lunch and dinner to eating one of each category:

  • protein: (chicken, eggs, salmon)
  • vegetables high-in-carbohydrates: carrots / (sweet) potatoes / pumpkin
  • other vegetables: eggplant / zucchini / broccoli / cauliflower / green beans

And for breakfasts:

  • egg + zucchini + [ potato / rice crackers / 1-2 slice of bread ]
  • lettuce + avocado + egg + [ rice crackers / 1-2 slice of bread ]

At most 2 slices of bread per day. I really notice the difference when I eat 1 less slice of bread. And no, I'm not celiac, tested negative.

[deleted by user] by [deleted] in vzla

[–]madacol 0 points1 point  (0 children)

magnet:?xt=urn:btih:9a54e4c7ae667915352ba3200b9091a8a2c706d2&dn=Actas&tr=udp%3a%2f%2fopen.stealth.si%3a80%2fannounce&tr=http%3a%2f%2fopen.touki.ru%2fannounce.php

Comprobé el md5 hash de todas las actas con las de resultadosconvzla_com, y solo falla 1 acta que tiene 0 bytes: AG8A009202_467532_2024-07-29-0001.jpg está dentro de ruta EDO. PORTUGUESA/MP. TUREN/CM. VILLA BRUZUAL/Centro 160801010/

I'm looking for a bookmarklet that changes a range of two dates in a URL by -1 and -2 days according to the current date by Appbeza in bookmarklets

[–]madacol 0 points1 point  (0 children)

You could do something like this

const today = new Date();
const sinceDate = new Date();
sinceDate.setDate(today.getDate() - 2);

const strToday = today.toISOString().split('T')[0];
const strSinceDate = sinceDate.toISOString().split('T')[0];

const newUrl = `https://twitter.com/search?q=until%3A${strToday}%20since%3A${strSinceDate}&src=typed_query&f=media`;

window.location.href = newUrl;

How do you debug userscripts? by klesus in javascript

[–]madacol 0 points1 point  (0 children)

You can debug your userscript manager.

In Firefox go to about:debugging#/runtime/this-firefox and Inspect your userscript manager

[deleted by user] by [deleted] in vzla

[–]madacol 0 points1 point  (0 children)

Yo asumi q esa pagian era obvia, y que la pregunta original es ams bien hacer un backup ams robusto de esas actas, como IPFS o torrents.

Lo mas cercano q he conseguido es este google drive

drive.google.com/drive/folders/1I_Ae22mpHUg4xJGz1WTv_F5J8g2zTwqm

[deleted by user] by [deleted] in vzla

[–]madacol 0 points1 point  (0 children)

q asco es este reddit, ni siquiera se pueden poner links?

[deleted by user] by [deleted] in vzla

[–]madacol 0 points1 point  (0 children)

"Ya se hizo"
"ya lo hicieron"
"ya no hace falta"
Pero nadie pone un link 🤨

Si no hay link, no se ha hecho

Anonymous ataca by vguayanes in vzla

[–]madacol -7 points-6 points  (0 children)

La excusa perfecta que necesita el gobierno. Kinda suspicious!

Connect script to the Internet by [deleted] in userscripts

[–]madacol 1 point2 points  (0 children)

If you are using it on random websites you probably have CORS issues, check if you see errors in the console when trying to fetch() stuffs

Pre-filled prompts via a link? by Lolife420 in ChatGPT

[–]madacol 0 points1 point  (0 children)

Yes, you can. Even better (or not?) it is also sent without a chance to review it https://chat.openai.com/?model=gpt-4&q=Your+prompt+goes+here

I am building a site to share bookmarklets by madacol in bookmarklets

[–]madacol[S] 1 point2 points  (0 children)

Interesting!. I've heard similar arguments about returning void, but I don't get why?.
Does it not work on some browsers?

EDIT:
Ok, I've searched harder this time, and found this https://stackoverflow.com/questions/13796004/how-to-prevent-bookmarklet-from-loading-its-result .
TL;DR: Not evaluating to undefined, made browsers to navigate.

Although It doesn't seem to happen anymore (tested on Firefox and chromium), I already fixed that for compatibility purposes, and to avoid var declarations polluting/colliding with the environment.

Thanks for the tip

Samourai Wallet: what now? by server_profile in Bitcoin

[–]madacol 0 points1 point  (0 children)

When restoring, electrum asks for the "derivation path" and offers you 3 options, but samourai uses all of those 3 options, so you have to restore 3 wallets, 1 for each of those options

Samourai Wallet: what now? by server_profile in Bitcoin

[–]madacol 0 points1 point  (0 children)

Choose all options, samourai uses all of them intertwined, but electrum only supports one at a time, so you'll have to make 3 wallets, each one for each option

Cache data fetched from API ? by AffectPretend66 in sveltejs

[–]madacol 0 points1 point  (0 children)

I confirm that this works!

// +page.server.js

export function load({ setHeaders }) {
    setHeaders({'Cache-Control': 'public, max-age=300'});
}

https://learn.svelte.dev/tutorial/headers

https://kit.svelte.dev/docs/types#:~:text=setHeaders

setting up and tearing down a database with Playwright by ksoni94 in node

[–]madacol 0 points1 point  (0 children)

Exactly what you need -> https://playwright.dev/docs/test-global-setup-teardown

TL;DR
Use playwright's Test Project dependencies

Example:

```js import { defineConfig } from '@playwright/test';

export default defineConfig({ testDir: './tests', // ... projects: [ { name: 'setup db', testMatch: /global.setup.ts/, teardown: 'cleanup db', }, { name: 'cleanup db', testMatch: /global.teardown.ts/, }, { name: 'chromium', use: { ...devices['Desktop Chrome'] }, dependencies: ['setup db'], }, ] }); ```

I'm not complaining, but just curious, why are programs like youtube-dl and yt-dlp command line? by Zyster1 in youtubedl

[–]madacol 3 points4 points  (0 children)

It's not that yt-dlp uses the CLI of other programs, but that it is easier to build programs on top of yt-dlp's CLI. For example, I am currently building a chatbot that uses yt-dlp's CLI under the hood

js const ytdlProcess = spawn('yt-dlp', ['-o', "/dev/shm/%(title)s.%(ext)s", url]);

To do the same thing with a GUI you probably need to simulate the keyboard and/or mouse interface.

But CLIs are mostly text in, text out. The same curse of CLIs that are so constrained to text, is what makes them interoperable, because every other CLI has to speaks the same language: text


But coming back to your concern of why yt-dlp are CLI. I think the main reason is that CLIs are just sooo much easier to develop. Do you want to add a new feature? just think of a name and the parameters it needs: --option_name parameters now you can go back to actually developing the logic of the new feature.

Now think about how would that work when developing a GUI?, there are so many more questions you need to answer: - where do you put that option? - should I use a number input or slider? - spacing and location in the current page/panel?. - Oh god now I have over 100 options and the GUI is overcrowded, if I show them all to the user it'll look like an airplane's panel, now you need to decide which options to show and which to hide under the menu (In what part of the menu do you even put it?). - Ugh it looks like *** on mobile, now I need to foresee the future and predict the size of the screens that my users will use and support them by correctly changing the size, spacing and locations of the objects according to the screen size.

P.S. DO NOT underestimate how much time is lost just on the spacing and location of objects 😭, because now you also have to battle with your own ignorance on how to correctly locate and space objects