Famabara

Selfish tourists hog loungers with towels and don’t use them

2 дн. назад
I’m staying with my family at a five-star all-inclusive in Belek - not a cheap place. Around 8 or 9 in the morning we head straight to the sea for a swim, skipping the pool. By that time, the poolside loungers already look like this:
We spend two hours swimming in the sea and then come back on our way to breakfast. The loungers by the pool are still empty, but the same old towels and random stuff - hats, bags - are "reserving" them. These selfish guests claim spots early and don’t even use them. Meanwhile, we’ve already swum in the sea; if we wanted the pool, we’d have freed the lounger afterward. But some people only think about themselves.

At half past ten, there are maybe two people actually sitting there.
Показать полностью...
+1
3

Some recent changes on Famabara

16 дн. назад
You can now insert previously uploaded images and videos into posts and comments by selecting them from a list.

If, while editing a post, a user accidentally deletes a content block, it can now be restored using a button in the notification in the corner of the screen.

New types of complaints have been added: content created by a AI and copyright infringement.

The project rules have been updated.

A small profanity check is now performed when saving a post or comment.
+1
11

Perfect Homemade Chicken Broth

18 дн. назад
For years, I avoided clear broths. Childhood memories told me they were bland and only meant for sick days. Then I tried this recipe — and everything changed.
It’s crystal clear, gently aromatic, and full of flavor.
Ingredients

1 chicken breast, skin on

2 liters (about 8 cups) water

3 allspice berries

3 whole black peppercorns

2 sprigs fresh parsley

½ tablespoon salt, level
Показать полностью...
+3
4

Charlotte Zucker - the mother of the Zucker brothers, whom they happily cast in their films (Airplane, The Naked Gun, and others)

19 дн. назад
The two brothers from the famous Zucker-Abrahams-Zucker trio - had their mother, Charlotte Zucker, appear in a bunch of their films. Though her roles were mostly brief and cameo in nature, if you enjoy the spoof comedies of that era, you're sure to remember this elderly lady.

In the original "Airplane!", Charlotte Zucker tried to apply makeup.
"The Naked Gun: From the Files of Police Squad!": she played Dominique, the secretary for the mastermind villain.
“I must kill Papshmir.”
Показать полностью...
+1
3

The foreman at the dock from The Naked Gun made it into the third film (actor Joe Grifasi)

19 дн. назад
Remember that memorable interrogation scene on Pier 32 from The Naked Gun?
The actor who played the sleazy dock foreman is named Joe Grifasi.
Показать полностью...
+2
2

Manhole covers in New York are made in India

26 дн. назад
When you're walking around New York City, you might easily miss an interesting detail: many manhole covers say "Made in India." Here's one of them:
You might not notice it right away. I zoomed in and rotated a section of the photo so it’s clearer:
Показать полностью...
+2
4

The expectation paradox: he wanted a boy, but kept having girls

недавно
A man has five children - all girls. He dreams of a son, an heir! Now his wife is pregnant again. Let’s skip the psychology behind all this and focus on the probabilities.

Emotionally, it feels like after five girls in a row, a boy is due. Surely, the odds of finally having a son are much higher now.

But this is a textbook example of the gambler’s fallacy - the false belief that if something happens repeatedly, the opposite is bound to happen soon. That’s not how probability works.

According to math, the chance of having exactly five girls in a row followed by another girl is 1 in 64, or about 1.6%. But those five girls are already here. The only thing that matters now is the next birth.

And the odds of having a boy? Still 50/50. Every birth is an independent event (assuming randomness), so the previous outcomes don’t change the next one.

So yes, there’s still a 50% chance they’ll have another girl.
+2
13

How to use Quill Editor with Nuxt 3 and SSR (Vue)

недавно
If you try to use Quill Editor with Nuxt 3 when rendering a page in SSR you will get this error:
500 document is not defined.
That means NodeJS doesn't have the global variable 'document'. Because SSR rendering is executed in
a NodeJS environment, not a browser.

The sad fact: <client-only> won't help with this problem. The problem with quill's code is that during import, it assumes it's being executed in the browser. I hope you remember that the code imported from the module is not just imported, but executed, i.e. the authors of Quill wrote it so that the 'document' object is immediately accessed there. Very bad.

One solution is to disable SSR, but its an awful solution. But the second solution is to use dynamic JS imports.

My <script lang="ts" setup> in QuillEditor.vue in Nuxt 3 project:
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
// import Quill from 'quill'; // SSR problem with 'document', need to use dynamic import
import type Quill from 'quill';

const elemForQuillEditor = ref<HTMLDivElement|null>(null);

let editor: null|Quill = null; // Do not store in ref() - it causes bugs!

// ...

async function createQuillAndSetListeners() {
  const Quill = (await import('quill')).default; // This is most important thing - usage of JS dynamic import

  if (!elemForQuillEditor.value) return;
  editor = new Quill(elemForQuillEditor.value, {
    theme: 'snow',
    modules: {
      history: {
        delay: 2000,
        maxStack: 500,
        userOnly: true,
      },
      toolbar: {
        container: [
          ['bold', 'italic', 'underline', 'strike'],
          ['link'],
          [{ list: 'ordered' }, { list: 'bullet' }],
          [{ script: 'sub' }, { script: 'super' }],
          [{ header: [1, 2, 3, 4, 5, 6, false] }],
          [{ color: [] }, { background: [] }],
          ['clean'],
          ['undo', 'redo'],
        ],
        handlers: {
          undo() {
            editor?.history.undo();
          },
          redo() {
            editor?.history.redo();
          },
        },
      },
    },
    placeholder: props.placeholder,
  });
  
  editor.on('text-change', () => {
    if (!editor) return;
    // ... my other code
  });
}

// ...

onMounted(createQuillAndSetListeners);

Now your Quill editor will work in Nuxt 3 even during SSR!
Показать полностью...
+2
21

Famabara supports Open Graph protocol

недавно
Famabara has been around for over a year, but only now support for the Open Graph protocol is added. Now, when you paste links to Famabara posts, additional information is displayed. Here's a screenshot example from Telegram:
Or in Slack app:
+2
38

Saint-Eustache is one of the most beautiful cathedrals in Paris

недавно
Paris is home to many magnificent cathedrals, but most are teeming with tourists. However, there is one cathedral in the heart of the city where visitors are few and you can wander freely, taking in the stunning architecture outside and the divine beauty within.

This is the Church of Saint-Eustache.
Just look at these magnificent Gothic flying buttresses.
Показать полностью...
+1
7

Vue.js popularity in 2024

1 г. назад
Let's try to measure the popularity of Vue.JS. I really like this framework and I am a supporter of its popularization.

First, let's look at the download statistics on NPM.
Now vs year ago:
vue - 4,868,119 - 3,746,361
@angular/core - 3,416,382 - 3,015,855
react - 23,763,131 - 20,548,838

As you can see, React is in the first place in absolute values. And VueJS is only in second place.

And now let's look at the percentage growth relative to last year's values.
vue +29,9%
angular +13,3%
react +15,6%
Hurray! Vue's popularity is growing faster than any of the three!
And now let's go through the sites from the top of Google and see what JS frameworks are used there.

For example, let's take the search query "rent car".
To understand which libraries each site uses, I used Wappalyzer browser extension.
Websites from search results; NF means "there is no framework from the big three".
rentalcars.com - NF
enterprise.com - NF
kayak.com - React
avis.com - NF (old AngularJS)
localrent.com - Vue
hertz.com - NF (old BackboneJS)
sixt.com - React
budget.com - NF (old AngularJS)
zipcar.com - NF
turo.com - React
autoeurope.eu - NF
alamo.com - React
rent.toyota.co.jp - NF
booking.com - React
costcotravel.com - React
borent.nl - NF
europcar.com - Vue
turo.com - React
vipcars.com - NF
skyscanner.net - React
tripadvisor.com - NF
timescar-rental.com - NF
klook.com - Vue
wiberrentacar.com - Vue
uber.com - NF
dollar.com - React
edreams.com - Vue
nationalcar.com - NF
thrifty.com - NF

As you can see, Vue is actively moving forward!
Показать полностью...
+2
34

Syntax highlight in preformatted text

1 г. назад
Write language name after triple backticks (```) and content of preformatted text will be highlighted.
This is example:
 ``` ts
 let projectName: string|null = null;
 projectName = 'Famabara';
 ```
Of course, you shouldn't start backticks-line with a space.

Golang syntax highlight example:
package main

import "fmt"

func main() {
	fmt.Println("Hello, from Go!")
}

Javascript syntax highlight example:
console.log(2**2**3); // 256
console.log(2**(2**3)); // 256
console.log((2**2)**3); // 65

SQL example:
SELECT p.id, p.title FROM posts p LIMIT 10;

For C++ write "cpp", not "c++".
For C# write "csharp", not "c#"

Famabara uses highlight.js for syntax highlight.
Показать полностью...
+2
39

Search and tags subscriptions

1 г. назад
Several useful changes have been added to the site over the past few days.

First, search was added to Famabara. All posts are indexed automatically.

Secondly, users can now subscribe to tags.

Of course, many minor changes have been made to improve the interaction with the site.
+2
38

Quotes in posts and comments

1 г. назад
Famabara now supports quotes in posts and comments. Write ">" character in the beginning of a new line and this line will become a quote.

Example:

I want to eat 3 pizzas.
No, don't do it!

I want to eat an apple.
And a peach.
That's a good idea!

The text I wrote:
> I want to eat 3 pizzas.
No, don't do it!

> I want to eat an apple.
> And a peach.
That's a good idea!

Stay with Famabara!
+3
53

Preformatted text

1 г. назад
Famabara supports preformatted text now. You can use it inside posts and comments.

Just write some text between triple backticks "```".
Backticks must be placed in the beginning of a new line.

const years = [2024, 2030, 2050];
for (const year of years) {
  console.log(year);
};
It can be useful when showing some code - all spaces are saved:
<div>
  <div>
    Some text
  </div>
  <div>
    Other text
  </div>
</div>
+2
45

Famabara users now can create polls in posts

1 г. назад
Good news!
Famabara users now can create polls in posts.
Feature is very nice, let me show it to you.

This is a multiple choice poll:
I like...
This is a one choice poll:
Do you want to sleep?
Moreover, poll have the functionality of right answers.
Here's an example:
Which planet is second from the Sun?
Let's hope this functionality will make posts more interactive and interesting for site Famabara visitors.
Показать полностью...
+2
49

What technologies does Famabara use?

1 г. назад
Famabara website uses Nuxt 3 as frontend. I like VueJS very much, that's why Nuxt was chosen.

SSR approach allows to have normal HTML on first page load and fast page switch due to SPA mode.

In backend Famabara uses Postgresql, NodeJS, Redis, Go.
+2
68

What does Famabara mean?

1 г. назад
Famabara means... nothing :)

I wanted to come up with a pleasant-sounding and at the same time meaningless word.
There is only one Famabara in the world and you are now on it.
+2
72

Famabara languages

1 г. назад
Famabara currently supports 4 languages: English, Spanish, German and Russian.

The language setting affects the site interface. Also, the language must be specified when creating a post.
+2
86

Famabara is live

1 г. назад
Two years of development and now I can finally say with joy that Famabara is ready to show itself!

All the minimum required functionality is ready. Posts can be written, comments can be written, everything can be liked, added to favorites, etc.

In the near future, it is planned to implement the ability to create polls in posts.
+2
96