All streams
Search
Write a publication
Pull to refresh
53
0

User

Send message
Лет 8 назад портировал один из спектрумовских 1-битных треков на микроконтроллер. Данный пост вдохновил откопать в старом хламе пожелтевшую картонку с деталями. Если кому-то интересно, могу оцифровать звучание, попробовать найти исходники и оформить топик.
Я все настройки по умолчанию помещаю в файл settings_default.py, а в settings.py у меня следующее:

from settings_default import *

DATABASES['default']['NAME'] = os.path.abspath(os.path.join(PROJECT_PATH, '../database.db'))

Также у меня есть файл settings_production.py который выглядит похожим образом и при деплое переименовывается в settings.py. Ещё можно добавить файл settings_template.py со списком типичных параметров которые необходимо задавать индивидуально для каждой машины и использовать его в качестве основы для settings_production_xx.py

Это позволяет не просто переопределять значения переменных, но и модифицировать их. Ещё не забывайте что Джанго по какой-то причине импортирует файл settings.py дважды.
Патч откатили и переделали: code.djangoproject.com/changeset/13733
PPTP у сотовых компаний как правило намеренно не блокируют. Проблемы с этим протоколом обычно вызывает NAT, стоящий между абонентом и интернетом и транслирующий большое количество внутренних серых IP-адресов в небольшой пул реальных. Передача данных в PPTP выполняется через протокол GRE, который как раз и не может пройти через такой шлюз.
Клёво! А я только вчера начал смотреть похожий курс читаемый в Беркли: academicearth.org/courses/the-structure-and-interpretation-of-computer-programs

Кто-нибудь сравнивал их между собой? Может лучше переключиться на MIT?
Nano не понравился — Джобс даже не заикнулся о том что по сравнению с 3/4/5G убрали проигрывание видео (чем я часто пользуюсь для просмотра всяких конференций и видеолекций) и изменили aspect ratio, по сравнению с 5G убрали камеру. Тач скрин тоже при таких мелких размерах не очень полезен.

Из плюсов только клипса и аппаратные кнопки (наконец-то дошло!). И то, из кнопок мне нужна не столько громкость сколько пауза.
Хочу поделиться малоизвестным но более правильным способом ремаппинга клавиш в Linux с помощью утилиты keyfuzz (на примере полноразмерной эппловской USB клавиатуры). При этом и Insert будет на месте Fn, и Win/Alt где надо, и функциональные клавиши будут включены. И всё это работает независимо от иксов (т.е. и в консоли тоже).

В udev добавляем такое правило:

ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="0221", ATTRS{bcdD
evice}=="0069", RUN+="/etc/udev/applekb"


А затем создаём запускаемый шелл-скрипт /etc/udev/applekb следующего содержания:

#!/bin/bash

APPLEUSBKBD="/dev/input/by-id/usb-Apple__Inc_Apple_Keyboard-event-kbd"

if [ -e "${APPLEUSBKBD}" -a "$ID_USB_INTERFACE_NUM" = "00" ] ; then
        #        Fn -> Insert
        echo "0xff0003 110" | keyfuzz -s -d "${APPLEUSBKBD}"

        #   LeftAlt -> LeftMeta
        echo "0x0700e2 125" | keyfuzz -s -d "${APPLEUSBKBD}"

        #  LeftMeta -> LeftAlt
        echo "0x0700e3  56" | keyfuzz -s -d "${APPLEUSBKBD}"

        # RightMeta -> RightAlt
        echo "0x0700e7 100" | keyfuzz -s -d "${APPLEUSBKBD}"

        #  RightAlt -> Compose
        echo "0x0700e6 127" | keyfuzz -s -d "${APPLEUSBKBD}"

        #       F13 -> PrintScreen
        echo "0x070068  99" | keyfuzz -s -d "${APPLEUSBKBD}"

        #       F15 -> Pause
        echo "0x07006a 119" | keyfuzz -s -d "${APPLEUSBKBD}"

# for kernel 2.6.27 and greater, swap 86 and 41:
        #     Grave -> Grave
        echo "0x070035  86" | keyfuzz -s -d "${APPLEUSBKBD}"

        #     102nd -> 102nd
        echo "0x070064  41" | keyfuzz -s -d "${APPLEUSBKBD}"
fi


Пользуюсь уже года два, сначала запускал через скрипт в /etc/init.d, потом надоело терять настройки при перетыкании клавиатуры и навесил всё на udev. При поиске кодов кажется пользовался утилитой evtest.

P.S. По топику: долгое время из эппловского железа была только клавиатура (из-за low profile keys и компактности). Недавно пересел на Mac mini и тоже через неделю вернулся обратно (на Gentoo Linux). Ничего не переставлял, просто скопировал свою систему на миник, поставил драйвер под nVidia и wi-fi и включил поддержку 4GB памяти (на 64 бита переходить лень). Загрузилось всё Grub'ом 0.97 без каких-либо телодвижений (я даже не понял зачем rEFIt нужен). Единственное, пришлось bless'ом с макосного сидюка «освятить» раздел чтобы быстрее грузилось с него не тупя по 30 секунд.

Причина — лень, консерватизм и привычка. В линуксе всё давно настроено и довольно неприхотливо в обслуживании (Gentoo кстати довольно ленивая система в плане поддержки — придерживаюсь фиксированного цикла обновлений 3-4 раза в год). Единственный минус — лишён праздника по поводу выхода новой версии дистрибутива как в Ubuntu и сопутствующего с ним ажиотажа на форумах :)
Чтобы под виндой переключаться по CapsLock есть суперминималистичная утилита lswitch: haali.su/winutils/
У сотовиков качество монтажа оборудования как правило довольно высокое. Зачастую работы выполняют либо специалисты компании-производителя оборудования, либо профессиональные подрядчики. С каждой поставкой обычно идёт полный комплект инструментов для монтажа. Несколько примеров дотошности подхода:

— Для затяжки винтовых соединений (например при сборке шкафов) используют динамометрические ключи, и во время приёмки усилие затяжки запросто могут проверить

— Обрезку стяжек проводят бокорезами строго заподлицо (и не каждые бокорезы подходят) — были примеры когда проверяющий в произвольном месте автозала вскрывал фальшпол где были уложены жгуты кабеля и на выбор проводил пальцем по нескольким стяжкам в местах их обрезки. Если срез был сделан не заподлицо и стяжка царапала кожу — монтаж не принят, переделывайте.

— Обращается внимание на красоту укладки кабелей (недопустимы перекручивания, нарушения радиуса изгиба, длина должна быть подогнана), единообразие цветов и даже интервал установки стяжек и одинаковую ориентацию их замков.

— Окончательные маркировочные наклейки лепятся после завершения укладки и расшивки кабелей и должны по возможности быть ориентированы надписями в одном направлении для улучшения читабельности
Угу, инфраструктура не успевает за всеми этими *G. Базы-то понаставить не сложно, а вот транспорт к ним подвести в таких количествах проблематично. Что толку в UMTS если некоторые базы в городах до сих пор подключены радиорелейками и пропускной способности еле-еле хватает на голос?

Пока достаточное количество оптики в землю не закопают, кардинальных улучшений не будет. А её и для 2.5G недостаточно, не говоря уже о следующих поколениях. Притом уже не 90-е, тарифы на сотовую связь и передачу данных упали ниже плинтуса, операторы в долгах и для масштабного строительства понадобится влезть в них ещё больше…

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

Продвинутые текстовые редакторы на спектруме не лагали
Ой, пардон, плюсы прочитал а минусы как-то пропустил :)

Наверное можно что-то придумать, например кроме списка строк текущей страницы передавать клиенту также номер самой первой и самой последней записи или timestamp если таковой имеется. Ну а после сабмита формы уже атомарно одним запросом к базе (с соответствующими условиями на максимум/минимум или время) удалять нужные строки.

Надо посмотреть чего GMail при подобных операциях на сервер шлёт…
Скажите, а как вы решаете проблему «гонок»? Например, пользователь выбрал удаление всех записей (особенно если их несколько страниц) и нажал кнопку подтверждения, а в это время свалилось ещё одно сообщение. Система его тоже удалит?
Если мне не изменяет память, LUKS это унифицированный формат хранения ключей на диске который сделали для стандартизации существовавшего ранее зоопарка. До того как он появился люди хранили ключи в определённом секторе диска (или раздела) и руками выставляли смещение для расположения файловой системы. Поищите старые howto по dmcrypt или loop-aes.
Меня просто смущает такой подход некоторых авторов — есть люди которые искренне хотят отблагодарить их (деньгами, т.к. это наименее времязатратный способ), но первые встают в гордую позу «мы подачки не берём» и тем самым отталкивают от себя самых лояльных и сознательных поклонников. А надо бы этой группе уделять больше всего внимания, холить/лелеять, всячески поощрять и растить. Я не предлагаю попрошайничать — просто нужно предложить лёгкий способ выражения благодарности (хотя бы даже через агрегаторов контента типа iTunes, главное чтобы заплатить было можно в один-два клика).
Не согласен с тем что пожертвования это унизительно. Наоборот это очень вдохновляет, когда человек добровольно и сознательно оценивает работу автора. Автор и его читатель (зритель, слушатель) друг другу не враги. И здесь только два направления движения — либо каждая из сторон закручивает гайки и в результате всем будет плохо (автор судится со своими потребителями и внедряет защиту от копирования и DRM, а они в свою очередь назло ему пользуются исключительно халявными копиями), либо они идут друг другу навстречу (автор в разумных пределах поощряет распространение своих творений, а потребители понимая это стараются по возможности его вознаградить, причём всё это без вмешательства регулирующих инстанций и принуждающего законодательства).

Ещё один момент. От пиратства страдают в первую очередь лейблы и только потом по цепочке уже авторы, т.е. это следствие сложившейся практики продажи всех прав крупным агрегаторам. Пока авторы покупаются на вопли этих самых лейблов о пиратстве и упущенной выгоде, они упускают главное. Тратя силы на защиту своей «интеллектуальной собственности» и пытаясь бороться с потребителями они на самом деле тратят силы на бессмысленную борьбу с изменившимся миром и новыми технологиями, упуская при этом возможность занять хорошее место в новых реалиях рынка. Кроме того они забывают о том что в новых условиях создание цифрового контента сильно упростилось и количество ежедневно создающихся произведений растёт огромными темпами. Что толку биться в попытках продать свой скромный 5-тысячный тираж, когда за это время появилось множество конкурирующих произведений распространяющихся их авторами бесплатно? В цифровом веке распространение уже не проблема, проблема в том чтобы тебя просто заметили!

То что сейчас схема свободного распространения и добровольных пожертвований плохо работает — вопрос переходного периода и несознательных пользователей. В будущем контента будет становиться больше, бесплатно распространяемого станет и того больше (хотя бы потому что начинающие авторы хотят найти своих читателей и приобрести хоть какую-то известность) и никакие драконовские законы копирайта не помогут приверженцам старого подхода выжить в таких условиях — их просто никто не заметит! И поэтому начинать дружить со своей аудиторией надо сейчас, стараться повышать её уровень сознательности и налаживать механизмы прямых платежей.

Ну а в целом об особенностях информационных продуктов лучше всего написал Кевин Келли:
http://www.kk.org/thetechnium/archives/2008/01/better_than_fre.php
http://howtosell.ru/2008/04/22/luchshe-chem-besplatno/
Пока версия с багом в OAuth выглядит наиболее правдоподобно. Ещё на гугловском форуме написано о возможной предсказуемости идентификатора сессии:

My assumption is that session id became predictable. In this case it's possible to generate random session ids until google lets you to go without password. That means it's possible to get control over a random account, and not possible to hack into a given mailbox.
The cure is to log out of all your sessions (at the bottom of gmail page there is a link: Last account activity… *Details*) and log out explicitly when you're finished with your session.

Вопрос к пострадавшим: после использования веб-морды GMail вы всегда разлогиниваетесь?
Несмотря на то что Netsukuku очень красиво выглядит, практически она навряд-ли «взлетит» (по крайней мере в ближайшее время). Не помню где видел расчёты скорости для p2p wireless сетей — при наличии всего одного передатчика на роутере и соединении нескольких таких устройств в цепочку скорость будет стремиться к нулю нелинейно и весьма быстро, а задержка и количество коллизий возрастать. Также добавляем сюда общую загрязнённость диапазона 2.4 (интерференцию).

По этим расчётам более-менее приемлемая скорость в mesh-сети возможна только при наличии большого количества подключений к скоростной проводной магистрали и наличии на каждом устройстве не менее трёх передатчиков с разными частотами. Одна из частот используется для раздачи клиентам, другие две для связи точек между собой и возможно разделения направлений трафика. Причём всей этой сетью ещё желательно централизованно управлять и правильно назначать частотные каналы для снижения интерференции (примерно так как сейчас сотовые операторы осуществляют частотное планирование).

Вот что-то нашёл по теме:
www.strixsystems.com/products/datasheets/StrixWhitepaper_Multihop.pdf
www.belairnetworks.com/resources/pdfs/Mesh_Capacity_BDMC00040-C02.pdf

Так что одними красивыми программными абстракциями проблему не решить (есть кстати куча других протоколов маршрутизации, например OSLRP: www.olsr.org/?q=about). Единственное что может тут помочь из программной части — технологии FIDO, т.е. сессионная передача данных. Юзер в оффлайне пишет сообщение, оно где-то складируется на пограничном узле и затем в отведённое время вместе с другими такими же отправляется дальше. Но увы, все привыкли к интерактивному вебу, онлайн-видео, системам мгновенного обмена сообщениями и во времена ФИДО уже не хотят.

Information

Rating
Does not participate
Location
Россия
Registered
Activity