2024-08-18
Subpixel Text Encoding - msarnoff.org
www.msarnoff.org/millitext2024-08-17
Major tech companies are producing far more carbon emissions than they suggest in their sustainability reports
mastodon.online/@parismarx/112974103327865869Major tech companies are producing far more carbon emissions than they suggest in their sustainability reports.
They’re lobbying hard to rewrite the rules on how emissions are calculated to show net zero on paper, but not in practice.
https://www.ft.com/content/2d6fc319-2165-42fb-8de1-0edf1d765be3
2024-08-03
Console.trace() - Интерфейсы веб API | MDN
developer.mozilla.org/ru/docs/Web/API/console/trace_staticВыводит стэк трэйс в Веб Консоль.
2024-07-25
Про гибридные ядра
linux-kernel-labs.github.io/refs/heads/master/so2/lec1-intro.html#micro-kernels-vs-monolithic-kernelsLinus Torvalds said of this issue:
"As to the whole 'hybrid kernel' thing - it's just marketing. It's 'oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let's use a cool name and try to imply that it has all the PR advantages that that other system has'."
Alligator Eggs!
worrydream.com/AlligatorEggsIn 2007, I met Philip Wadler at a conference, who mentioned to me that he wanted to teach lambda calculus to his eight-year-old children.
2024-06-28
A New Kind Of Dance Science | Zack's Dance Lab
zacksdancelab.com/blog/a-new-kind-of-dance-science_"How do you write down how to dance?"_
2024-06-20
Mathematical and Puzzle Fonts/Typefaces
erikdemaine.org/fonts2024-06-04
Система журналирования в FF3.6 | Форум Mozilla Россия
forum.mozilla-russia.org/viewtopic.php?pid=418174#p418174Поиск по базе посещений сайтов в Firefox
SELECT moz_places.url, datetime(moz_historyvisits.visit_date/1000000,'unixepoch','localtime') as date
FROM moz_places, moz_historyvisits
WHERE moz_places.id = moz_historyvisits.place_id
2024-02-26
PulseAudioDB
a.exozy.me/posts/pulseaudiodbAnything can be a key-value database if you misuse it well enough!
2024-02-23
31 год назад создан язык программирования Ruby.
www.linux.org.ru/news/development/17531208язык обладает независимой от операционной системы реализацией многопоточности
внезапно
‘HelloWorld’ and ‘main()’ meet minimalistic | The IntelliJ IDEA Blog
blog.jetbrains.com/idea/2024/02/helloworld-and-main-meet-minimalistic2024-02-19
Pagefind | Pagefind — Static low-bandwidth search at scale
pagefind.appPagefind is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.
2024-01-18
martinvonz/jj: A Git-compatible VCS that is both simple and powerful
github.com/martinvonz/jjWhile not as rigorous as systems like Darcs and Pijul (which are based on a formalized theory of patches
2024-01-17
Detecting the use of “curl | bash” server side
www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side2024-01-11
Google начал определять 2ГИС как вредоносное приложение и просить его удалить
habr.com/ru/news/785496С уходом из гугл плея в рустор многие российские приложения, например банки, с удовольствием добавили себе в манифест пермишены, с которыми гугл им никогда бы не дал опубликоваться в официальном сторе, например "QUERY_ALL_PACKAGES", чтобы следить за тем какие приложения установлены на устройстве пользователя. Эта информация может быть реально необходима приложению примерно никогда, в 99% случаев она нужна различным SDK которые собирают информацию о пользователе, телеметрию, профили для аналитики, статистики, и т.д. и ничего полезного для самого пользователя не делают. Гугл не разрешает публиковать приложения с этим пермишеном в официальном гугл сторе, но вот, сразу же после выхода первой же версии приложения в русторе, от приложений российских банков в сеть полетели данные об установленных приложениях.
Абсолютно та же история с чтением СМС. Гугл, в принципе, даёт право публиковать подобные приложения в сторе, но проверяет их в ручном режиме и смотрит действительно ли им необходим доступ к всем СМС, если нет - разворачивает. Разумеется, никаким банкам никакой доступ к СМС не может быть нужен в принципе. "Нам нужны ОТР-коды из СМС" - не оправдание. Для этого, во-первых, есть специальное апи, которое позволяет получить код из СМС и при этом не даёт доступа к содержанию всех остальных сообщений, а во-вторых, ничего не случится если пользователю потребуется лишние 3 секунды, чтобы посмотреть пришедшее СМС самостоятельно. Стоит ли и говорить что перейдя в рустор банки сразу же себе эти пермишены добавили, и теперь они имеют полный доступ к всем вашим СМС и могут делать с ними всё что хотят - читать, анализировать, удалять, отправлять, и т.д.
2024-01-10
Пользователь обнаружил, что его стиральная машина LG потребляет 3,66 ГБ трафика в сутки (97% на процесс Upload)
habr.com/ru/news/785470Пользователь обнаружил , что его умная стиральная машина LG потребляет суммарно 3,66 ГБ трафика в сутки. Причём 3,57 ГБ тратится на процесс Upload, а лишь 96 МБ на Download. Что интересно, провал...
2024-01-09
mapcompleteimg
altilunium.github.io/mapcompleteimg2023-12-24
Mappable API Documentation and Code Examples
mappable.world/docsExplore Mappable's comprehensive developer documentation, API references, guides, and code samples to kickstart your integration with Mappable's APIs.
2023-12-20
Букмарка добавляющая снегопад
javascript: (t => {function i() {this.D = function() {const t = h.atan(this.i / this.d);l.save(), l.translate(this.b, this.a), l.rotate(-t), l.scale(this.e, this.e * h.max(1, h.pow(this.j, .7) / 15)), l.drawImage(m, -v / 2, -v / 2), l.restore()}}window;const h = Math,r = h.random,a = document,o = Date.now;e = (t => {l.clearRect(0, 0, _, f), l.fill(), requestAnimationFrame(e);const i = .001 * y.et;y.r();const s = L.et * g;for (var n = 0; n < C.length; ++n) {const t = C[n];t.i = h.sin(s + t.g) * t.h, t.j = h.sqrt(t.i * t.i + t.f), t.a += t.d * i, t.b += t.i * i, t.a > w && (t.a = -u), t.b > b && (t.b = -u), t.b < -u && (t.b = b), t.D()}}), s = (t => {for (var e = 0; e < p; ++e) C[e].a = r() * (f + u), C[e].b = r() * _}), n = (t => {c.width = _ = innerWidth, c.height = f = innerHeight, w = f + u, b = _ + u, s()});class d {constructor(t, e = !0) {this._ts = o(), this._p = !0, this._pa = o(), this.d = t, e && this.s()}get et() {return this.ip ? this._pa - this._ts : o() - this._ts}get rt() {return h.max(0, this.d - this.et)}get ip() {return this._p}get ic() {return this.et >= this.d}s() {return this._ts = o() - this.et, this._p = !1, this}r() {return this._pa = this._ts = o(), this}p() {return this._p = !0, this._pa = o(), this}st() {return this._p = !0, this}}const c = a.createElement("canvas");H = c.style, H.position = "fixed", H.left = 0, H.top = 0, H.width = "100vw", H.height = "100vh", H.zIndex = "100000", H.pointerEvents = "none", a.body.insertBefore(c, a.body.children[0]);const l = c.getContext("2d"),p = 300,g = 5e-4,u = 20;let _ = c.width = innerWidth,f = c.height = innerHeight,w = f + u,b = _ + u;const v = 15.2,m = a.createElement("canvas"),E = m.getContext("2d"),x = E.createRadialGradient(7.6, 7.6, 0, 7.6, 7.6, 7.6);x.addColorStop(0, "hsla(255,255%,255%,1)"), x.addColorStop(1, "hsla(255,255%,255%,0)"), E.fillStyle = x, E.fillRect(0, 0, v, v);let y = new d(0, !0),C = [],L = new d(0, !0);for (var j = 0; j < p; ++j) {const t = new i;t.a = r() * (f + u), t.b = r() * _, t.c = 1 * (3 * r() + .8), t.d = .1 * h.pow(t.c, 2.5) * 50 * (2 * r() + 1), t.d = t.d < 65 ? 65 : t.d, t.e = t.c / 7.6, t.f = t.d * t.d, t.g = r() * h.PI / 1.3, t.h = 15 * t.c, t.i = 0, t.j = 0, C.push(t)}s(), EL = a.addEventListener, EL("visibilitychange", () => setTimeout(n, 100), !1), EL("resize", n, !1), e()})()2023-12-12
Chaos Communication Camp 2023
vas3k.blog/world/cccampВ 2008 году, когда немецкое правительство задумало повсеместно собирать биометрию и использовать её в Е-Паспортах (а Touch ID вообще еще не существовало), они провернули еще один знаменитый хак. Они выложили в открытый доступ отмечаток пальца главы немецкого МВД и полную инструкцию как получить отпечатки любого человека и использовать их.