Войдите или зарегистрируйтесь
Вы сможете писать комментарии и посты, ставить лайки и другое
Поиск
Тёмная тема

I tested the anti-AI Ghost Font against AI - even Claude couldn't read it

Can you read the text in the video? You'll need to actually play it.
I uploaded the video to Claude and asked it to read the text. All settings were left at their defaults.
Показать полностью...
+3
8

AI news has completely taken over tech news

Honestly, I'm getting bored of reading tech news lately. It feels like every single headline these days is AI this, AI that. And that's it. Nothing else seems to exist anymore. As if the entire tech industry has been reduced to neural networks.

What do tech publications even write about now? "ChatGPT solved some math problem!" "Anthropic's agent swarm hacked something!" And a hundred variations of the same story.

Where's the actual tech news? You know, the stuff we used to read back in the good old days? Golang 1.27 added generic methods, for example. And apparently nobody gives a shit anymore. A lot of Go developers have wanted this for ages. Generics were introduced in Go 1.18, but they didn't work with methods and now they do. That's a pretty damn cool change! Did you see it covered by tech news sites and bloggers anywhere near as much as the latest AI hype? Of course not.

Or take the webfrontend world. TypeScript 7 has been rewritten in Go, which is a huge deal. It makes TS-JS compilation significantly faster, and that's something that actually affects millions of developers. But somehow that cool story gets buried under yet another article about some NVIDIA chip nobody asked for or another pointless ChatGPT model update.

I miss when tech news was actually about technology, not just whatever AI company did something vaguely interesting this week.
+1
3

Vue.js popularity in 2024

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!
Показать полностью...
+3
40

Quentin Tarantino and his foot fetish: a complete list of all his films featuring scenes with feet and legs - photos and videos

Fans of Quentin Tarantino know that he has a foot fetish. For those unfamiliar with the term: it's when a man has a particular fascination with women's legs, and even more so with their feet. It's safe to say that Quentin Tarantino is the most famous foot fetishist in the world.

Let's start with Quentin Tarantino's first real film - Reservoir Dogs (1992). I'm skipping "My Best Friend's Birthday", as it was never officially released.
There's nothing related to foot fetishism in Reservoir Dogs: the film features only tough men. Women appear only briefly in a few background scenes. I found just one scene where a woman is shown in the foreground - the carjacking moment.
Показать полностью...
+5
316

How wind turbine power depends on blade length: looking at real data

Wind turbines keep getting bigger every year. There's one main reason for that: the longer the blades, the more powerful the turbine. But couldn't you just install two smaller turbines instead of one large one? To answer this, let's take a look at real-world data.

Goldwind is a Chinese wind turbine manufacturer. Here are photos of their operating turbines from the company website:
Goldwind GW 82 / 1500 - output: 1500 kW (1.5 MW). Rotor length: 82.3 meters, meaning a blade diameter of roughly 41.15 meters.

Goldwind GW 171 / 6000 - output: 6000 kW (6.0 MW). Rotor length: 171 meters, giving a blade diameter of about 85.5 meters.

Even here you can already see that the relationship between blade length and output is nonlinear. The second turbine's blade is 2.07x longer, but the power is 4x higher!

Vestas is a wind turbine manufacturer from Denmark (their turbines are shown in the next photo):
Показать полностью...
+3
55

Preformatted text

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
86

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
92

Misleading naming in JavaScript: atob() and btoa()

JavaScript has two globally available metods for working with Base64: atob() and btoa(). Their names clearly look like they were borrowed from older languages. In C, for instance, the standard library includes functions like atoi and atof:

#include <stdlib.h>

char str[] = "123";
int num = atoi(str); // 123

atoi means ASCII to integer, and atof means ASCII to float (though in reality it returns a double).

So what do you think the atob function does in JavaScript? ASCII to Base64? In other words, converting a regular string into a Base64 string? Nope! It does the exact opposite: it converts a Base64 string into a "regular" string. And btoa, in turn, converts a regular string into Base64!

console.log(btoa('Famabara')); // 'RmFtYWJhcmE='
console.log(atob('RmFtYWJhcmE')); // 'Famabara'

Who thought it was a good idea to swap the names like that? Love JS.
+2
42

Aspera Hotel Golden Horn: an honest review of the 4-star hotel in Istanbul - beautiful, but very noisy

We stayed at Aspera Hotel Golden Horn, a 4-star hotel in Istanbul, for just one night, but that was enough to form a clear impression. We booked a Deluxe Double Room on the lower floor.
The room looked very nice, everything was fresh and not “worn out.”
Показать полностью...
+2
11

Minus 60 or Plus 50: One of the Coldest and One of the Hottest Places on Earth

There are places on Earth where nature truly tests human endurance. The village of Oymyakon in Yakutia is one of the coldest inhabited places on the planet, where winter temperatures drop below -50°C, with a record low of -67.7°C. On the other side of the world, the Danakil Depression near the Dallol volcano in Ethiopia is one of the hottest places on Earth, with an average annual temperature of around 34-35°C, while daytime temperatures can often exceed 50°C.

Oymyakon
Показать полностью...
+2
11

Artist Maud Lewis and president Richard Nixon: A Fascinating Story from the Film Maudie

The 2016 film Maudie, which tells the biographical story of the remarkable Canadian artist, naturally takes a number of creative liberties. Films like this are never shot exactly as events unfolded in real life - otherwise the story would be dull to watch.

However, I was intrigued to learn that Richard Nixon actually bought paintings from Maud Lewis. The film highlights this fact twice. First, Maud Lewis (played by Sally Hawkins) says she received a letter from Vice President Nixon:
- Got a letter today. From... Vice President Nixon.
- What did he want?
- A painting.
- A painting?
- Mm-hmm. Unless he sends money for a painting I won't send him any.
Next in the film, journalists film a news report near Maud Lewis's house. And the reporter says:
- Maud Lewis has been an artist most of her life. Her paintings have even been sold to Vice President Nixon.
Показать полностью...
+2
14

Minister Mason from Snowpiercer - another memorable villain (or rather, villainess)

The 2013 dystopian action thriller Snowpiercer somehow flew under the radar. It got decent reviews and even turned a profit, but these days, hardly anyone seems to remember it. Which is a shame, because the movie has some genuinely clever touches - and, more importantly, a fantastic villain in Minister Mason.
Показать полностью...
+1
6