TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #583 · 3.10

Пару недель назад в один день презентовали сразу две новые модели экшен-камер от разных производителей: DJI Action 3 и GoPro Hero 11. Технически даже три, потому что у GoPro есть версия Mini, о ней чуть ниже. Вообще говоря, DJI умеют исправлять косяки конкурентов в UI/UX, и в целом владеют этим направлением очень хорошо, на уровне Apple времён первых айфонов. Например, GoPro с первых версий сделали крепление винтом через два ушка, и оно уже приобрело огромную популярность, поэтому все остальные делают такое же. Да и сами GoPro стали заложниками собственного стандарта. Но это крепление плохое и неудобное: с одной стороны оно требует очень много времени на ввинчивание барашка, а с другой стороны подвержено перекосам при резких рывках, если ты затянул не до самой дури. При этом есть полностью отсоединяемый элемент — собственно винт-барашек, который может легко теряться. У DJI проблема решена элегантно и очень мудро: магнит в сочетании с защёлками. Секунда на присоединение, две секунды на отсоединение. Можно прикреплять в сложных условиях, в перчатках, одной рукой итд. Прямо тема для главы учебника по промышленному дизайну или по ТРИЗ. Но во всех аксессуарах давно главенствует неудобное крепление GoPro, поэтому ребятам из DJI пришлось сделать переходник. При этом технически камера от DJI на уровне предыдущего поколения GoPro. И по картинке и по другим параметрам. И, к сожалению, они не удержались от того, чтобы своровать некрасивый асимметричный дизайн. До чего аккуратной и визуально приятной была DJI Action 2 на фоне камер от GoPro, а тут прямо передрали уродство. Это похоже на случай, когда производители Android-смартфонов одно время стали повторять уродскую чёлку от Apple просто ради моды, но, благо, быстро опомнились. Но зато DJI Action 3 сильно дешевле чем даже прошлое поколение от GoPro, вообще, с ценой не стали жадничать. Думаю, GoPro долгое время ощущали себя монополистами, поэтому завышали. Отдельный интерес вызывает версия GoPro 11 Mini. Как большая, но без экранов. Экран на экшен-камере — вещь второстепенная и далеко не всегда нужная. Зато часто имеет значение вес и габариты. Для коптеров, кажется, отличный вариант именно что-то типа Mini. Да, у них есть версия GoPro 10 Bones (без аккумулятора и экрана, облегчённая), но стоит она почему-то неадекватно дорого, а в России дороже, чем точно такая же с экраном и аккумулятором. Короче, на мой взгляд, у DJI виден потенциал, но прямо сейчас пока не дожали. Ещё одно-два поколения, и они обойдут нынешних лидеров. Я надеюсь. #gadgets

Hashtags

Резултати

Намерени 3 подобни публикации

Търсене: #ifdef

当前筛选 #ifdef清除筛选
Welcome to the Black Parade

@TheB1ackParade · Post #506 · 05.03.2024 г., 03:58

莫名其妙忙起来了,随便记点免得忘了: 1. tproxy / bpf_sk_assign 对 established tcp 的性能影响是负的,因为设置上 skb->sk 会让 ip_rcv_core 里的 tcp_early_demux 检测失败,从而必须进路由系统。所以正确使用方法是只对 tcp syn 使用 tproxy/sk_assign。 2. 能不能优化 bpf_sk_assign,让它对 listening socket 的 assign 也能像 tcp_early_demux 一样?不能,因为 listening tcp socket 的 sk->sk_rx_dst 是 null,只有 established sk 才有这个 dst。 3. tcpdump ip6 and tcp 生成的 cbpf 是“错的”。它没考虑 ip6 extension。但是 tcpdump (libpcap) 有个对 v6 特别的过滤器: ip6 protochain 6 , 就迭代了 ip6 extension,四次,但是对大部分场景也够用。 4. 晦涩的逻辑。icmp6_host_handle 这个函数名看起来没啥,但是要是我告诉你它实际语义是:只需要在 ( ingress 方向) 或者 (防火墙启动时候的双向) 执行它,如果在 ingress 方向执行的时候不要反弹 icmp6,如果要反弹 icmp6 的话不要反弹 NS for node IP,但是也不要直接返回给内核栈而是继续执行剩余的 nodeport lb。我看着这个原本简单的函数从两个参数变成现在的五个,里外的 #ifdef 嵌套层层恐惧,真是美好的软件。

Hashtags

KernelSU Next

@ksunext · Post #815 · 20.07.2025 г., 20:11

kernel: guard syscall hook types - for kernel syscall hooks we need to pass additional guards for ksun (#ifdef CONFIG_KSU -> #if defined(CONFIG_KSU) && !defined(CONFIG_KSU_KPROBES_HOOK)) or else it will fail to build because of undefined symbol - reference https://github.com/KernelSU-Next/kernel_patches/blob/main/syscall_hook/min_scope_syscall_hooks_v1.4.patch https://github.com/KernelSU-Next/KernelSU-Next/commit/45ad73e9dd86a0ff04a02e73a8fc2dbc3160ee6c

Hashtags