How to disable hardware media control keys for your browser (Firefox or Chrome)

Lately it’s been really annoying that browsers integrate media controls. Especially if you are sharing screen at the work place, nobody cares if you are listening to Katy Perry or Tyler Cassidy

Firefox

  1. Open firefox
  2. Head to about:config
  3. Accept warning and look for media.hardwaremediakeys.enabled
  4. Set it false
  5. Restart the browser

Chrome

  1. Open Chrome
  2. In the address bar type-in chrome://flags/#hardware-media-key-handling
  3. Set it to „Disabled“
  4. Look for chrome://flags/#global-media-controls-cast-start-stop
  5. Set it to „Disabled“
  6. Restart the browser

Изкачване на връх Фенгари, о. Самотраки

Накратко

Едно невероятно преживяване от ~ 0м надморска височина до 1611м (официални)! Преходът отне 11 часа през юни (светлата част на деня бе ~15 часа). Със спиране на често, качването бе – 5ч и 50мин, а слизането – 4ч и 50мин. Пътеката се вижда сравнително ясно, макар че на няколко пъти има отклонения, които могат да бъдат заблуждаващи, особено на слизане.

Маркировката

Маркировката е червена боя поставена основно върху камъни и скали

Маркировката

Стигане до острова

До островът се стига с ферибот от Александруполис. Продължителността е 2 часа в посока. Възможност за онлайн резервация и текуща справка на цената има през FerryHopper & Zante Ferries. Ориентировъчно, цената беше по 17евро на човек и 64 евро за автомобил (> 4.25м).

За острова

Самотраки е един по-див остров, изпълнен с красива природа, водопади, крайпътни заведения и… папрат. Намира се на югозапад от Александруполис (Дедеагач). Не е известен с плажовете си, макар че има няколко такива – предимно каменисти в северната част и един по-хубав в южната част. Село Терма, от където тръгва и пътеката за върха, е и известно с термалните си извори.

о. Самотраки от север

Паркиране

Ако сте с кола има паркинг точно пред супермаркета в селото: https://goo.gl/maps/kmL1caz5h8uRjz11A

Вода

Добро зареждане от поне 3-4л вода/течности трябва да е достатъчно. Чешма има малко по-надолу в селото срещу супермаркета. Вода по маршрутът няма, освен едно поточе, което не знам дали е там целогодишно и не препоръчвам да се използва за целта.

Маршрутът

Както вече стана ясно – следваме червената маркирова. Пътят към пътеката за върха започва от краят на асфалтовият път в село Терма. От там се тръгва на юг и после се поема на изток (вляво). Изглежда да се минава през черен път, а след това и частен имот – движим направо.

Първите 30-40мин от пътеката се минава през солидно количество висока папрат, затова дълъг панталон и би бил удобен, ако не искате да се надраскате.

Маршрутът. Източник: strava.com

В началото по пътеката се движим по хребетът непосредствено над селото, след което на около 1200м н.в. се правим прехвърляне на източеният хребет. Расителността е основно ниска, пътеката се откроява Пътеката нагоре става все по-камениста и растителността става по-ниска. към 1400м н.в. изчезва и се движим само по скали

След прехвърлянето на другия хребет са и последните дървета, където направихме почивка под дебелата сянка, събрахме сили и продължихме

Следва около час до билото, от където успяваме да надникнем и на югозапад

Поглед на югозапад

От тук отне още около час и половина (с почивките и снимките) докато стигнем до самият връх, който по данни на GPS-а е третият връх по пътеката. Това е снимка от върха с поглед назад:

Поглед назад към пътеката

Движим се по билото, което е най-вдясно на снимката, през върхът вляво до мястото от където е направена снимката – 1621м н.в.!

HTTP Client Hints API

Какво е Client Hints API?

Client Hints (CH) API е набор от HTTP хедъри за проактивна комуникация и трансфер на ресурси и съдържание (content-negotiation).
Към момента на писане на статията статуса на предложението е „Experimental„.
Ето и какво ще разгледаме днес:

Как функционира?

Client Hints API функционира на application ниво, и по-конкретно като extension на самият HTTP протокол, но само, когато е наличен TLS. Представлява размяна хедъри към заявките, които дават различни параметри (ресурси, информация за използваната мрежа, скорост и др.) за клиента свързващ се към сървъра като за целта сървъра инициира комуникацията, че иска тези данни. Ако погледнем следния пример – при заявка за даден ресурс на сървъра:

Сървърът връща този ресурс, добавяйки следният Accept-CH хедър:

Accept-CH = <sh-list>

И по-конкретно:

Accept-CH: Sec-CH-Example, Sec-SH-Example-2

Когато клиентът (обикновено вашият браузър) получи този хедър, това индикира, че източника (сървъра) поддържа Client Hints.

Пример за комуникация

По-цялостен и реалистичен пример за комуникация, би изглеждал така.
Client:

GET https://example.com/

Server:

Accept-CH: viewport-width, dpr, device-memory, rtt, downlink, ect
Accept-CH-Lifetime: 30

Client:

Viewport-Width: 1920
DPR: 1
Device-Memory: 8
RTT: 50
Downlink: 10
ECT: 4g

Кои са хедърите в спецификацията?

Accept-CH – Списък с необходимите хедъри от сървъра (origin)
Accept-CH-Lifetime
Viewport-Width – Ширината на дисплея в пиксели
DPR – Device Pixel Ration, индикира съотношението на физическите пиксели на дисплея към логическите в CSS (aka CSS pixel ratio)
Device-Memory* – Приблизителното стойност на оперативна памет на клиента. Примерни стойности: 0.25, 0.5, 1, 4, 8 т.н.
RTT* – Round Trip Time в милисекунди. Тъй като говорим в контекста на протокол от application layer-а, а не стандартния TTL в transport layer-а, стойностите са закръглени до 25-тата милисекунда.
Downlink* – Индикира скоростта на клиента в Mbps (megabits per second), отново закръглена.
ECT* – Effective Connection Time. Валидни стойности: 4g, 3g, 2g и slow-2g.
Save-Data – Специфичен хедър за Android у-ва, които сървъра не може да „изисква“ в първоначалния списък на Accept-CH. Активира Data Saver мерките за минимизиране на трафика. Валидна стойност: On.
Sec-CH-UA – Името на браузъра и major версията му. Примерна стойност: „Google Chrome“; v=“83″.
Sec-CH-UA-Platform – Индикира име на ОС и версията ѝ.
Sec-CH-UA-Arch – Информация за архитектурата на клиента.
Sec-CH-UA-Model – Определя модела на използваното устройство.
Sec-CH-UA-Mobile – Индикира дали response-а (като UX) трябва да е конкретно за мобилни устройства.

Допълнителна информация

Can I Use – Client Hints (DPR, Width, Viewport-Width)
Chrome Platform Status – Client Hints
Mozilla Developer Network – Client Hints
HTTP Client Hints Proposal

* С оглед превенция на fingerprinting, стойностите се закръглят