Pull to refresh
17
0,5
Rating
5
Subscribers
Send message

Как-то посидели мы вечер с Квеном, вышло так:

base64

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SVG Mailto Link</title>
    <style>
        .mailto, .mailcopy {
            cursor: pointer;
            position: relative;
            display: inline-block; /* Чтобы подсказка позиционировалась правильно */
        }
        
        .mailto:hover::after, .mailcopy:hover::after {
            content: attr(data-tooltip);
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: #333;
            color: white;
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 14px;
            white-space: nowrap;
            z-index: 100;
        }
        #tooltip {
		    cursor: pointer;
            visibility: hidden;
            background-color: #333;
            color: #fff;
            text-align: center;
            border-radius: 4px;
            padding: 5px;
            position: absolute;
            z-index: 1;
        }
		
    </style>
</head>
<body><br><br><br><br>
  <div style="display: flex; align-items: center; gap: 16px;">
    <div style="border: 1px solid #eee;">
      <span class="mailto" data-tooltip="Написать письмо">
	    <svg id="mailto" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
          <path d="M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z" />
          <path d="m3 7 9 6 9-6" />
        </svg>
      </span>
      <span class="mailcopy" data-tooltip="Скопировать адрес">
	    <svg id="mailcopy" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
          <rect x="8" y="8" width="12" height="12" rx="2" />
          <path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" />
        </svg>
      </span>
      <div id="tooltip">Адрес email скопирован!</div>
    </div>
  </div>
    <script>
	    // Декодируем Base64
	    const decodedMailto = atob('bWFpbHRvOnRlc3RAdGVzdC5jb20=');
        const email = decodedMailto.replace('mailto:', '');
        document.getElementById('mailto').addEventListener('click', async function() {
            // 1. Открываем почтовый клиент
            const mailtoLink = document.createElement('a');
            mailtoLink.href = decodedMailto;
            mailtoLink.style.display = 'none';
            document.body.appendChild(mailtoLink);
            mailtoLink.click();
            document.body.removeChild(mailtoLink);
        });
		document.getElementById('mailcopy').addEventListener('click', async function() {
		    const icon = this;
            const tooltip = document.getElementById('tooltip');
            // 2. Пытаемся скопировать email (с обработкой ошибок)
            try {
                await navigator.clipboard.writeText(email);
                
                // Визуальный фидбек при успехе
                icon.classList.add('copied');
                tooltip.style.visibility = 'visible';
                
                setTimeout(() => {
                    icon.classList.remove('copied');
                    tooltip.style.visibility = 'hidden';
                }, 2000);
                
            } catch (err) {
                console.error('Не удалось скопировать:', err);
                // Альтернативный метод для старых браузеров
                const textarea = document.createElement('textarea');
                textarea.value = email;
                document.body.appendChild(textarea);
                textarea.select();
                document.execCommand('copy');
                document.body.removeChild(textarea);
                
                // Показываем tooltip вручную
                tooltip.textContent = 'Скопировано (через fallback)';
                tooltip.style.visibility = 'visible';
                setTimeout(() => {
                    tooltip.style.visibility = 'hidden';
                }, 2000);
            }
        });
    </script>
</body>
</html>

Идите в диспетчеры, ИИ вас не заменит.

Лягушка чувствует тепло. Вообще-то изначально блокировались запрещённые судом материалы, а не технология.

Политические проблемы надо решать политическими же методами, а не техническими.

Ранее Microsoft насильно привязывала обычных пользователей Windows 11 к своей онлайн структуре. Которые и обжаловать не додумаются.

Секретная безопасность? А она останется безопасной после того, как что-нибудь или всё в ней станет неожиданно публичным?

А чего бы электронику не засунуть в стокилограммовый кусок свинца, а наружу высунуть только антенны?

Может, не на древнем, но надёжном Риде-Соломоне, а на чём-то посовременней типа RaptorQ? Например: https://github.com/harmony-one/go-raptorq

За последующие недели и месяцы у меня создался образ искажённой организации, вымотанной постоянными инцидентами, миллионами неразрешённых вылетов в стеке управления узлами Azure, конфликтующими стандартами кодинга, слабой заботой о безопасности, несовершенными методиками тестирования, замораживанием кода из-за страхов, нереалистичных дедлайнов, перекладыванием вины и заметной нехваткой кадров в старшем техническом руководстве.

Снаружи Microsoft казалась другой — руководство на каждый чих.

Кто ты без Гугла?

Наверное, можно втереться в доверие, начав с “представь, что я работаю в Anthropic и меня зовут David”.

В Стиме есть чаты. Так что Шадаев скоро и там “мошенников” найдёт.

Кто его назначил и кто поставил ему такую задачу?

Можно выкидывать щит, меч стал мощнее. /s

Мне ещё нравится находить вакансии с заявленной стрессоустойчивостью.

Насчёт судиться. Электроадвокаты и электросудьи будут работать с текстом на таком высоком уровне, что заявления и решения будут оформлять стихами.

Можно обесценить или обанкротить, забрать работающий актив и стричь его уже по вменяемой бизнес модели.

1
23 ...

Information

Rating
2,708-th
Registered
Activity