- @SannySanoff: *programming *nodejs *непонятноПроблема: мой javascript application нормально работает на десктопных webkit, ненормально работает на встроенном в ipad webkit-бровзере. Отладчика и инспектора в нём нету, руками писать влом.
Решение: некие перцы (искать "weinre") написали хитрый javascript, линк на который вставляешь в свою динамическую страницу и он передает на свой сервер всё что видит в текущем документе (via DOM API), а ты подключившись к этому серверу, в приятном виде наблюдаешь, наподобие firebug, всё, до чего тот может достать.
В поставке: целиком веб-сервер, который может раздать этот скрипт и содержит всю инфраструктуру для отображения инспектора.
Собственно вопрос.
Вот у них две версии. Первая версия написана на Жабо, в ней встроенный jetty, 20 классов на жабе, сервлет там принимающий, и раздающий, зависимости. UI инспектора написан на бровзерном javascript, дофига всего там.
Версия 2.0 написана на node.js. Сам я на node.js не писец. Навскидку открыл сервер-сайдный js и увидел там такое (внимание, на дворе 2012 год):
return '<ul id="files">' + files.map(function(file){
var icon = ''
, classes = [];
if (useIcons && '..' != file) {
icon = icons[extname(file)] || icons.default;
icon = '<img src="data:image/png;base64,' + load(icon) + '" />';
classes.push('icon');
}
return '<li><a href="'
+ join(dir, file)
+ '" class="'
+ classes.join(' ') + '"'
+ ' title="' + file + '">'
+ icon + file + '</a></li>';
}).join('\n') + '</ul>';
}
Это школьники? У них про template engines не в курсе? И про какое-нибудь model-view хотя бы.. Зачем node.js? Почему жабоскрипт на сервере? Почему это всё? Отчего деградация? По сравнению с первой версией отчетливо каменный век.
Непонятно.
Идет вторая версия без зависимостей, НО сетапится посредством местного для node.js менеджера пакетов "npr", о котором по ходу дела и узнал. Пакетных менеджеров развелось, пропасть: у скалы своё, мавены всякие еще есть, перлы, лиспы, все норовят. C умилением взираю на зоопарк. - @SannySanoff: *политота""" После разгона лагеря у памятника казахскому поэту Абаю Кунанбаеву на Чистых прудах около 40 гражданских активистов переместились в сквер у станции метро "Баррикадная". Собравшиеся у фонтана призвали всех сочувствующих присоединиться к их "прогулке", при этом лидеры оппозиции пока не определились, где разобьют новый лагерь. ( top.rbc.ru )
Да они ж как пчёлы — РОЯТСЯ! А сейчас ищут новый улей, где осесть.
Сравнить с:
"""
Невоенное «роение» проявляется во множестве «микродействий», «тычков», «укусов»: галдёж СМИ (для внесения смятения в умы), навязываемые обществу дискуссии по разным вопросам (отвлечение внимания людей), разного рода демонстрации, невооружённые и вооружённые физические столкновения (разжигание в стране подозрительности, неуверенности, страха). Вещающие с экрана «нужные» аналитики и комментаторы; журналисты-разоблачители с жареными фактами; издания, распространяющие чернуху, любую негативную информацию об «этой стране» (например о «зверствах федералов»); правозащитники, гомонящие о защите прав убийц; юристы, обеспечивающие деятельность пятой колонны, – это «базовые единицы сетевой войны». - @SannySanoff: *ios *ipad *тоталитаризм *help *кретиныПонадобилось заюзать phonegap, платформа = ipad. Поставил хакинтош.
Чтобы поставить xcode, прошел шмон, оно требовало мою кредитную карту для того, чтобы убедиться что я не с Кубы или Сомали там всяких. Карту не дал. Оно упёрлось.
Завел новый Apple ID на другой е-мейл, там уже есть опция "карточку не скажу" — сработало. Ёлы-палы, если это не гомосексуализм головного мозга (ГМГ), то я балерина.
Поставил XCode. Чтобы деплоить на ипад, нужна пачка документов, сертификаты, профиля.. Чтобы получить, надо быть в тиме. Чтобы быть в тиме, надо создать тим и быть там админом. Чтобы создать тим, надо вступить в "iOS developer program". Чтобы вступить туда, нужно заплатить $99/год Джобсу.
Это иной, дебильный, тоталитарный, анально-оккупированный мир. Это перверсия! Я хочу бинарник запустить туда один раз и потом девелопить на скрипте!
Я уверен, есть такой же очевидный вход рядом, где дадут сертификат за так, там можно сказать "оставьте мою задницу в покое", и тебе дадут сертификат даром, но почему, Холмс, почему всё так дыбильно?
Пока я его найду, этот вход, я уже и вступлю в подполье (jailbreak — уже!), и буду скручивать изолентой там свои нелегальные (с точки зрения диктатуры) поделки (arm development toolchain на линуксе — еще не качал).
АаааааааааааАА! Мой мозг!17 days ago; 12 replies - @SannySanoff: *аморальное *пипецВ GUI иногда некоторые действия недоступны. Существуют несколько подходов в дизайне интерфейсов, где некоторые действия недоступны. Из них один нормальный, а два остальных, натурально, идиотические.
Нормальный подход — это не запрещать кнопки, а при нажатии на кнопку сообщать, ПОЧЕМУ действие нельзя произвести. Таким образом, если пользователь в предметной области ноль, он почерпнет. Это линукс, командная строка и интерфейс fdisk-а.
Идиотические подходы — это тупо дизейблить кнопки. Почему они запрещены, когда существуют нетривиальные правила запрета? Их вам не узнать, потому что в интерфейсе написано просто "нельзя".
Кретинские подходы — прятать кнопки. Это новый интерфейс гмыла. Ну там хоть предметная область знакомая — фиг с ним.
Очевидный пример идиотического подхода — disk utility в macos x.
Да и вся она. Сделана так, чтобы домохозяйка шла по проторенному пути. А что такое DMG, сжатые dmg, dmg со слайсами внутри, как их ресайзить, и почему стандартный тул глючит на стандартной операции, для которой у него наконец-то разрешилась последняя из четырех кнопок — ей не дано понять.
Вы знаете, что в MacosX есть куча глаголов для работы с дисками?
Attach, Open, Mount
Detach, Eject, Unmount
Тут концепция расширена на одно состояние по сравнению с линуксом, а по сравнению с виндой — на два состояния. Таким образом, образ может быть, похоже, в четырех состояниях:
unattached
attached
opened
mounted
Операции со слайсами доступны в каком-то одном состоянии, ресайз — в другом, конверт — в третьем. Утилиты командной строки ругаются односложно: error obtaining resizing information. Оказывается, не то состояние. Теперь надо примонтировать.
А для того чтобы можно было делать ресайз, необходимо было активировать журналинг, кто бы мог подумать, а до того кнопка была просто задизаблена.
Ресайз файловой системы через гуй зафейлился, немножко попортив файловую систему, потребовался fsck. Командная строка спасла.
Есть квесты приятные, а есть квесты анальной ориентированности. MACOS — большой квест в этом направлении.19 days ago - @SannySanoff:Такого еще не видал.
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
Linux. - @Zvezdunov: *Цитаты...Главный удар приходился на самую сильную церковь Запада, на католиков – они ежедневно выдерживали критику Папы Римского за то, что он не остановил Гитлера; священников записали хором в педофилы, церковь долбили за отказ венчать геев, сносили их рождественские вертепы и выносили распятия из школ повсеместно от Калифорнии до Италии. Досталось и протестантам – в Англии увольняют с работы за ношение нательного креста, а в Америке снимают христианскую символику, хотя еврейская менора горит вовсю. В Швеции и вовсе посадили священника, который отважился процитировать Библию с амвона.
Только Россия жила в зачарованном мире – на улицах висели растяжки, поздравляющие народ с Пасхой и Рождеством, русские девушки открыто носили крест на своих стройных шеях и белых грудях, в школах начали преподавать Закон Божий. Когда я рассказывал об этом своим западным друзьям, они грызли ногти от зависти. Казалось, что в России история пошла снова по альтернативному пути.
Сейчас эта альтернативность кончилась. Дорогие священнослужители, добро пожаловать обратно в историю. Россию жестко выстраивают по общей матрице, а там кроме ВТО, значится и борьба с церковью. Наезды в Москве — не временное взаимонепонимание, но война, конца которой не видно. israel-shamir.livejournal.com - @deepnightbird:41 признак гордости (из "Махабхараты"):
1. Уверенность в собственной правоте: "Я всегда прав!".
2. "Покровительственное" отношение к другим. Смотреть на других свысока.
3. Чувство собственной важности.
4. Унижение других.
5. Мысль о том, что я лучше других, хвастовство.
6. Умение поставить соперника в невыгодное положение
7. Контроль над ситуацией, но не желание взять ответственность на себя.
8. Надменное отношение, суетность, желание часто смотреться в зеркало.
9. Выставление на показ достатка, одежды и прочего.
10. Не позволение другим помогать себе и работать с другими: "Я сам!"
11. Брать на себя непосильную работу.
12. Работа сверх всякой меры, что физ. тело не выдерживает.
13. Привлечение к себе внимания.
14. Обидчивость.
15. Болтливость или разговоры о своих проблемах.
16. Излишняя чувствительность или её отсутствие.
17. Чрезмерная занятость своей персоной.
18. Мысли о том, что другие думают или говорят обо мне.
19. Использование слов, которые собеседник не понимает, и вам известно об этом.
20. Ощущение своей никчёмности.
21. Не прощение себя и остальных.
22. Сотворение кумира из себя и остальных.
23. Изменение манеры поведения в зависимости от того с кем мы говорим.
24. Неблагодарность.
25. Игнорирование малых людей.
26. Невнимательность.
27. Не осознание своей гордыни и своих проблем.
28. Наличие раздражительного тона.
29. Повышение голоса в злобе и досаде.
30. Не подчинение воли Бога.
31. Недостаток самоуважения.
32. Безрассудство и бездумство.
33. Нечестность по отношению к себе и другим.
34. Неспособность пойти на компромисс.
35. Желание всегда отставить последнее слово за собой.
36. Не желание делиться своими знаниями, с целью контролировать ситуацию.
37. Невнимание к физическому телу или чрезмерное внимание к нему.
38. Мысль о необходимости решать чужие проблемы.
39. Предубеждённость к людям по цвету кожи и внешнему виду.
40. Чрезмерное уважение к себе.
41. Сарказм. - @SannySanoff: *коварно *coding *непонятно *golangСкачал собрал go-hg, что суть девелопмент снапшот языка Go славной компании Гугл. Решил проверить, так ли уж он тормознут как бывало. Почитал фак, говорят, что если тормозит, то это тормозит например go native regexp package, а сишечка на тех же бенчмарках юзает PCRE, а там ассемблер и поэтому сишечка побеждает нечестно. И так далее.
Так как fibonacci benchmarks у нас уже вышли из моды, надо сделать что-то еще более экстравагантное:
package main
import ("fmt" "syscall")
func main() {
var sum int64 = 0
var i int64 = 0
for ; i <= 10000000; i++ {sum += i}
fmt.Println(sum)
}
Ну работает — ничо — 10 мсек, показывает утилита time.
Дальше без шуток, добавляем 2 строки:
func main() {
var sum int64 = 0
var i int64 = 0
syscall.Gettimeofday(&tv) // tv is global
for ; i <= 10000000; i++ {sum += i}
syscall.Gettimeofday(&tv2)
fmt.Println(sum)
}
Начинает работать 23 мсек.
Оказалось, что добавление этих строк изменяет результирующий код, что sum из регистра переезжает в переменную на стеке:
0008 (main.go:21) INCQ ,AX
0009 (main.go:21) CMPQ AX,$10000000
0010 (main.go:21) JGT ,13
0011 (main.go:22) ADDQ AX,sum+-48(SP)
0012 (main.go:21) JMP ,8
Более быстрый результат давало, когда вместо "sum+-48(SP)" оказывался CX, до добавления простого вызова.
Типа это. Рановато, даже несмотря на то, что версию обозвали 1.0.
P.S. Код на Ц работает 4 мсек и меньше, на java — 8. - @copypaster:Только в нашей стране в первый раз чихнувшему человеку говорят "Будь здоров", на второй раз "Будь здоров", а на третий "Да ты заебал!"1 month ago
- @SannySanoff: *пипец *конспирология *cisco *attackМежду прочим мне рассказали, что накануне иракской войны там интернетик немножко поломался, сам, оборудование сказало "извините, не могу так жить, проклятый тиран".
(всплыло по обсуждении с товарищами знатной статьи xakep.ru )1 month ago - @SannySanoff: *haskell *judy *hashmap *optimizationsПо результатам #1824146 открыл для себя haskell binding for judy.
Judy — реализация sparse table в виде недецки хитрого дерева. Подходит для маппинга Word64 -> Word64, то есть для хешей с ключом Word64.
Афтары биндинга к хаскелю рекомендуют на крайний случай юзать StablePtr, чтобы кидать туда любые данные в качестве значений.
А вся радость указанного judy for haskell в том, что само дерево растет в сишной куче и не напрягает хаскельный GC на больших объемах. А это, для тех кто ценит, очень замечательно.
Описание алгоритма доставляет кроме самого алгоритма еще методикой его оценки, который у авторов выходит по производительности круче теоретического предела, потому что они на самом деле оптимизируют алгоритм для более эффективного использования процессорного кэша, и очень этим гордятся. judy.sourceforge.net
Молодцы! - @SannySanoff: *конспирология *матерьяльчег *баянЕсли это фэйк, то можно считать это просто как призыв к морали.
oko-planet.su
Вкратце: вроде бы в 1969 году злодеи-глобализаторы уже придумали, что будет сейчас.
Они говорят, шото слишком много людей развелось, будем их количество прищемлять.
Уменьшение к-ва людей будет проводиться таким образом:
— рожать детей будет просто неудобно и суетно, нужно будет работать обоим супругам, "таким образом, семьям станет труднее оставаться целыми"
— квартиры будут дорого стоить, хотя на рынке будет их избыток. "цену будут держать высоко, несмотря на то, что предложение будет большим, так что [законы] свободного рынка не будут действовать"
— контрацепция будет прививаться с детства: "при одной мысли о сексе они автоматически будут думать о контрацепции"
— "людям разрешат быть гомосексуалистами". "И если люди [будут] достаточно глупы и примут его, то они не достойны того, чтобы жить на этой планете"
— в общем, создание джунглей, чтобы появился естественный отбор.
Прочее:
— "Люди будут всё больше и больше свыкаться с идеей об отказе от национального суверенитета. "
— "эффективно ограничить преступность границами трущоб, так что она не особенно будет затрагивать благополучные районы"
— и много другого
Карочи, все страсти конспирологов, удобно и качественно соединенные в одно удобное свидетельство, а власти скрывают.
Для любителей, enjoy-им! - @SannySanoff: *офигенно *непонятно *random *матстатистика *гонятВкратце: калиброванные (проверенные) датчики случайных чисел расставлены по миру, тикают раз в секунду, сводят все данные на сервер через интернет. Далее к ним применяются статистические методы и ищутся корелляции последовательностей друг с другом, то есть неслучайности.
Результат: эти перцы говорят, что в случае каких-то глобальных событий (к которым они относят 9/11, всякие громкие теракты итд), наблюдается всплеск неслучайностей, продолжающийся несколько часов. Трактуют это в своих собственных гипер-терминах как реакцию глобального сознания планеты.
другие перцы, близки к конспирологам, говорят, что всплеск начинается за некоторое время до события, и ничего общего с пост-реакцией обитателей планеты не имеет.
ссылка на проект с датчиками: noosphere.princeton.edu . Много букв, что гут.
реалтайм данные они раздают, такшто это.
на конспирологов ссылку не даю. - @SannySanoff: *либерасты *политотаПримечательно, что у либерастов преступлениями обычно считаются только преступления против тела, они на теле регулярно заостряют.
Вот Гельман сказал в передаче, что когда ему там галерею крушили, его самого еще и отлупили. На вопрос, нужно ли было бы судить их уголовным судом если бы его не отлупили, он сказал что нет, чисто материальные претензии были бы.
Некто Гозман вот только что высказал, что эти девки в ХХС, ну сыграли, но они ж никого не убили, чего их судить, сажать? Пусть сажают тех кто убивает там, итд.
Повторяю: либерасты русского разлива понимают только преступления против тела человека. Любопытно, что заодно и экономические преступления они далеко не всегда считают преступлениями.
Внимание вопрос: девки в ХХС совершили преступление против коллективной души народа, плюнули в неё. Выходит, у либерастов нету такого органа? Нету души? Или может она у них онемела там или покрылась роговым слоем? Они не имеют способности ощущать боль души, похоже. Может, они не имеют необходимости душу защищать, потому что ее не чувствуют? Чем выше уровень либераста в их иерархии, тем это симптоматичнее.
Я в последнее время всё ищу главный критерий, различие между мы и они, вот может копать в эту сторону? Как бы пафосно это не звучало.2 months ago; 58 replies - @SannySanoff: *спаниель *пипецТолько что я ее впустил со двора, обогрел, накормил хавкой больше обычного, потому что прохладно на улице. Сожрала в момент, прибежала ко мне с обычными звуками (чудовищная отрыжка от заглатывания пищи не жуя), я её приласкал, а уже через 3 минуты обнаружил ее с мордой на столе в праздничном торте (достаёт с дивана).
Она отхватила бурных, продолжительных, непрекращающихся внушений, связанных тактильно, обонятельно и по месторасположению с провинностью, затем была поставлена лицом к улице и получила направляющий импульс, и соответственно побежала быстро-быстро..... Еще в самом начале импульса она увидела миски больших дворовых собак, И НЕ СНИЖАЯ СКОРОСТИ, а даже ускорясь, направилась туда и рыло своё засунула уже в них.
Как ЭТО воспитывать?2 months ago - @SannySanoff:В глазах проигравшего демократического меньшинства идея демократии себя показательно дискредитировала. Наглядным образом. Все следили за руками.
Скрипач не нужен.
Я надеюсь, что теперь видно, что формула "хороший царь, плохие бояре, великая страна, пашущий народ" не самая хорошая, но лучшей пока что для нас не предложили. Её-то, именно эту формулу и нужно тюнить. Общий вид оставить, а коэффициентики тюнить. И, дети (здесь же есть дети?), задумайтесь в этом контексте о фразе "Боже, царя храни". Потому что если не сохранит.. - @SannySanoff: *выборы *офигенноwebvybory2012.ru — посмотреть на всю страну в realtime (вебкамеры)!
Это проект офигенных масштабов. Это почти так же круто как с Google Earth, только без Google Earth. Муравейник кипит! Тысячи их! Оно живёт! Это мегареспект.
(за дизайн отдельная галочка).2 months ago - @SannySanoff: *стихи *паста *политотаБлизятся выборы. Яркий символ оранжистской угрозы,
непримиримый борцун с режымом Илья Яшин перед зеркалом принимает революционные позы.
Подбородок поднимет, сурово нахмурится, встанет то эдак, то так,
мечтает без очереди пролезть в ОМОНовский автозак.
А там, глядишь, и развернутое интервью, фотографии в полный рост
в Гардиан, Дейли Телеграф и Вашингтон Пост…
Звонит телефон: — Планерка в разгаре, ты где, либеральный прохвост?!
(в каментах дальше)


