?

Log in

No account? Create an account

Previous Entry | Next Entry

Тумбочка

* Ficlets -- интересно, как способ взаимодействия с миром. Идея проста: пишешь короткую историю, а затем кто угодно может писать к ней пред- и пост-истории (приквелы и сиквелы, по буржуйски). К ним могут быть уже свои пред- и пост- истории (при этом -- все пост-истории оригинальной истории -- развилка, а не последовательность, если хочешь продолжить -- пишешь пост-пост-историю к одному из выбранных продолжений). Кажется, очень не хватает "браузера веток", но метод взаимодействия через истории -- чудо как хорош.

* Сюда же -- нашел старое у ailev про обучение программированию как средству рассказывания историй. Меня вообще все эти вопросы крайне занимают. Если в этом году в качестве "эксперимента" мне выдали только 10е классы, то в следующем уже обещают 2-4е - и надо много думать, что вообще следует делать с ними.

* В связи с этим большой интерес вызывают у меня описания Sugar -- оболочки для OLPC. Это не просто такой "десктоп для самых маленьких" -- это другой способ организации работы и взаимодействия. Нет иконок, программ, документов -- есть Activities, Journal, Neighbourhood. Это помогает уделять внимание лишь информации, информационному взаимодействию, сотрудничеству -- БЕЗ предварительного ознакомления с концепциями "окон", "файлов-документов" и "файлов-программ", "размещения файлов", "зачем я должен нажимать 'Сохранить', ведь файл уже в компьютере?" и т.п. Есть, вообще говоря, две крайности в подходе к этим вещам -- одни считают, что обучение должно быть практическим (отсюда аргументация вида "раз Windows набиолее распространен в офисах, так ему и надо обучать школьников"), другие -- я в их числе -- уверены в том, что навыки обращения с информационной средой первичнее, чем случайно сформировавшиеся концепции окон, документов, программ и т.п. (читайте, опять же, Раскина)

* Безумец _why сделал очередное безумство: библиотеку unholy, компилирующую код на Ruby в байт-код Python.

* Статейка Is QWERTY harming language design? (под QWERTY понимается, в общем, набор символов ASCII, которым приходится ограничиваться создателям языков программирования). Здесь вспоминается давнее у catpad (с трудом нашел -- интересно, зачем запрещена индексация блога?): Настоящий программист это тот, кто понимает, что когда из APL убрали все его символы и сделали язык J - это самое отвратительное издевательство, которое только можно себе представить.

* Так, если кто пропустил вдруг -- Dynamic Languages Strike Back у Стива Йегги (можно читать и как презентацию -- только слайды, и как доклад -- слайды с поясняющим текстом; похоже, Стив нашел разумный для себя компромисс, пишет он всегда интересно и живо, но чудовищно длинно).

* We Don't Need a "Database" -- остроумная проповедь Юрия Рашковского, одного из создателей "документно-ориентированной БД" StrokeDB. Основной мысль: 

Do we really need “databases”? ... What we really need is a persistence-aware programming environment, aren’t we? ... Your application itself IS a smart database.

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

В идеале, инструмент должен быть один; и в идеале же, он должен быть ближе к "видео-плеер с тремя лишними кнопками" а не "видеоредактор для крутых профи".

Comments

( 16 comments — Leave a comment )
(Deleted comment)
zverok_kha
May. 21st, 2008 07:49 am (UTC)
Да я сам очень недавно "в теме" (собственно, начал StrokeDB интересоваться). Чего-то на какие-то статьи натыкался, но сейчас не вспомню. Вообще, на сайте самой StrokeDB если покопаться в FAQ и Slides, можно начинать ориентироватсья в теме.
catpad
May. 21st, 2008 02:35 am (UTC)
Спасибо за ссылки!
В частности за ссылку на меня - почитал, было интересно :)
zverok_kha
May. 21st, 2008 07:49 am (UTC)
Всегда пожалуйста :))
nzeemin
May. 21st, 2008 03:30 am (UTC)
Для простых операций с видеоконтентом очень хорошо подходит VirtualDub - лёгок, прост, быстр.
zverok_kha
May. 21st, 2008 07:50 am (UTC)
а мой пункт (в) он умеет? да и в остальных случаях - он все же более "редактор", а мой юз-кейс - "смотрю фильм, вот этот кадр/кусок хочу сохранить отдельно".
(Deleted comment)
zverok_kha
May. 21st, 2008 07:42 am (UTC)
> Для четвероклассников может быть подойдет Scratch?

Будем посмотреть. По крайней мере, для 11-классников я его точно использую (увы, или ура, ничего сложнее для программирования им не пойдет), а для четвертого... хз. Пока я боюсь предположить, что там будет. За лето надо подчитать несколько книжек (все же учительского образования сильно не хватает, да) и посмотреть разные варианты сред.

Там на самом деле у нас есть одна штуковина под названием "Сходинки до інформатики" ("Ступеньки к информатике") - там неплохой расклад от "ткни мышкой в это яблочко" (2й класс, начало знакомства с компьютером) до Logo-образных мини-языков "программирования" (4й класс).

Надо разбираться во всем этом.
(Deleted comment)
eugenius_nsk
May. 21st, 2008 06:53 am (UTC)
> в следующем уже обещают 2-4е - и надо много думать, что вообще следует делать с ними
Очень надеюсь на освещение событий и подходов :-) У самого сын подрастает, скоро надо будет приобщать к программированию. Сам в первую очередь рассматривал (пока не очень пристально) Sugar и Scratch, но останавливает, что ни у того ни у другого нет русской версии.
zverok_kha
May. 21st, 2008 07:46 am (UTC)
Русский Scratch вот-вот должен быть
А Sugar вообще не очень дружелюбный для использования его помимо OLPC - очень его тяжело собрать (а на Windows они этот процесс еще и специально не упрощают, "чтобы Микрософт не воспользовался").
(Deleted comment)
zverok_kha
May. 21st, 2008 03:48 pm (UTC)
Интересный опыт. Похожая идея используется в Sciter (это фреймворк для небольших приложений: уже помянутый мною HTMLayout + нечто JavaScript-подобное + всякие радости по мелочам). Там, если один объект помечен как persistent, то весь связанный с ним граф объектов (все объекты на которые он ссылается, и те, на которые ссылаются они и т.п.) дампится во встроенный DyBase (и, соответственно, поднимается при следующей загрузке).

Вообще, касательно этого подхода меня терзает только одно смутное сомнение: если вспомнить историю реляционок/SQL, тогда ради эффективности уходили как раз от навигационного [по графу объектов] хранения данных. То есть на графе объектов сложные запросы (вроде "все студенты из групп факультета А, выполнившие все тесты из второй половины дисциплины Б не меньше чем на 3") будут благополучно иметь комбинаторную сложность. Однако, насколько я понимаю, в StrokeDB эта проблема решается: там ты создаешь необходимые тебе view, и движок сам выбирает и создает необходимые индексы, чтобы запросы к этому view выполнялись достаточно быстро.
bik_top
May. 21st, 2008 06:30 pm (UTC)
Спасибо за ссылку на «Is QWERTY harming language design», сам неоднократно задумывался над проблемой дефицита выразительных символов в раскладке и/или кодировке.

Если б я изобретал новый язык, он скорее всего был бы основан на юникоде, и в нём таки было бы много непривычных символов. Что, конечно, существенно уменьшило бы его популярность: кому охота искать способы вводить всякие экзотические символы? :) Но, как резонно заметил Уолтер Брайт, если на вашей раскладке нет символа «~», то это ваши национальные проблемы, и разработчиков языка они не *бут. Я вам, мол, не Страуструп, чтоб триграфами язык уродовать.

Перечислю, каких символов мне не хватает в языках программирования (да и вообще в plain text'е) для полного счастья.

Кавычки. Имхо, для обозначения строковых литералов идеально подходят французские кавычки («ёлочки»), уж куда лучше, чем дюймы. Во первых, они парные (откр. и закр.), что немного удобнее при описании лексики языка. Во-вторых, они отчётливо видны и в обычном тексте, не только в коде (сейчас для выделения литералов в печатном тексте используется моноширинный шрифт). Американцам совсем удобно будет, т. к. «европейские» кавычки не конфликтуют с “американскими”.

Логические и битовые операторы. Меня тошнит от обозначений «||» и «^». Я хочу нормальную конъюнкцию (похожую на «Λ», но можно и амперсанд), дизъюнкцию («V»), отрицание («¬» или как симметрично отражённое «Г», как в старых книжках по программированию), ксор (плюс в кружочке).

Другие операторы. Хочу нормальное умножение («·» и «×» вместо идиотского астериска), человеческий минус «–» вместо дефиса «-», символы отношений: «≠», «≈», «≡», «≤», «≥» (согласен даже на американское начертание двух последних символов), значок эквивалентности (похож на «~», только опущен по вертикали), символ принадлежности множеству (похож на «є», очень хочу такой значок!)

Другие символы. Кванторы всеобщности и существования (похожи на перевёрнутые «A» и «E»), а также хочу «звёздочку» (пятиконечная или шестиконечная звёздочка, как «*», только опущенная и размером с бинарные операторы типа «+»).

Греческие буквы. Хочу уметь вводить их непосредственно в код. Надоели в коде всякие «epsilon» и «\lambda». Хочу, чтоб исходники аккуратно смотрелись, как книжки по математике.

Стрелки. Мля, как же я хочу нормальных человеческих стрелок! Вот таких: ← ↑ → ↓ ↔. А ещё двойных, похожих на «=>» и «<=». Их можно и для присваивания присобачить, и для обращения по указателю, и в обозначении функций, и для битовых сдвигов, да вообще, стрелки — это жуть как круто!

Таблицы. Хочу обратно псевдографику, а именно куски для изображения таблиц из второй половины американской ASCII-таблицы.

Индексы. Во второй половине американской ASCII-таблицы, емнип, есть суперскрипты «°» (градус), «²», «³». Хочу еще суперскрипты «0» и «1», а также аналогичный субскрипты.

Скобки. Скобок мне мало, хочу ещё хотя бы угловые скобки, как «<>», только вытянутые по вертикали, как некоторые обозначают скалярное произведение или нетерминалы в БНФ.

А ещё я был бы премного счастлив, если совсем не пришлось бы использовать дурацкие «телетайпные» символы вроде «~ ` @ # ^ * _».
zverok_kha
May. 21st, 2008 06:47 pm (UTC)
Вообще говоря, многие современные ЯП (из известных мне - как минимум C# с одной стороны и Ruby1.9 с другой) позволяют юникодные символы в исходниках. С тех пор, как появилась эта фича, в мэйл-листе разработчиков руби (т.е. разработчиков самого языка) раз в месяц вспыхивает дискуссия о замене ключевого слово lambda на λ - и кончается ничем. Это, кажется, исключительно проблема пользовательского интерфейса: КАК вводить доп.символы? APL, насколько мне известно (пусть catpad поправит, если вру), требовал специальной клавиатуры. Вообще говоря, гики обычно запоминают столько клавиатурных сочетаний, что не проблема наверное была бы запомнить (а то и за-интеллисенсить) еще десяток. И не-введение юникодных операторов - в большой степени просто результат FUD
bik_top
May. 21st, 2008 07:54 pm (UTC)
Пока перерыв...
>многие современные ЯП позволяют юникодные символы в исходниках.

Позволяют в идентификаторах, но не основывают на них лексику и синтаксис. По прежнему синтаксис состоит из уродцев типа «->*» и «|=».

>КАК вводить доп.символы?

Это хороший вопрос. Простейшие «нераскладочные» символы (из ASCII) я ввожу сочетаниями Alt+Grey. Но, во-первых, на клавиатуре лэптопа нет numpad'а, так что там не катит. Во-вторых, как вводить юникодные символы с клавиатуры я не знаю: пользуюсь либо копипастом из charmap'а, либо html-entitis.

>Вообще говоря, гики обычно запоминают столько клавиатурных сочетаний, что не проблема наверное была бы запомнить (а то и за-интеллисенсить) еще десяток.

По всей видимости, общевиндовых клавиатурных сочетаний (что работают и в notpad'е, и в IDE) нет и не будет, и быстрый ввод таких символов будет поддерживаться каждой конкретной средой, причём поразному. Варианты поддержки вижу следующие: a) горячие клавиши, b) виртуальная клавиатура-тулбар (как в TeX-редакторах типа WinEdt или lED), c) интеллисенс (как то замена «->» на «→»).

>И не-введение юникодных операторов - в большой степени просто результат FUD

FUD — WTF?
zverok_kha
May. 21st, 2008 08:09 pm (UTC)
Re: Пока перерыв...
> По всей видимости, общевиндовых клавиатурных сочетаний (что работают и в notpad'е, и в IDE) нет и не будет

Это как раз пессимизьм. Например, Keyboard Ninja (хукает клавиатуру, для разных надобностей - например, по Break переводит текст из английской раскладки в русскую и наоборот) позволяет навешивать "альтернативные раскладки" на выбранную клавишу (например, Alt) - таким образом, что нажатое в любой программе, например, Alt+L будет поступать этой программе как λ (если она конечно понимает юникодный ввод). Если это еще и заинтеллисенсить (при нажатии выбранной кнопки показывается рядом с кареткой подсказка, "чего теперь можно из символов ввести") - может получиться достаточно кошерно.

Но вообще, перенять некоторое количество опыта из современных ТеХ-редакторов - вполне осмысленное действие.

> FUD — WTF?

Fear, uncertainty and doubt - относительно распространенная идиома, чтобы сказать "неиспользование этой технологии/идеи/подхода - более результат раннего пессимизма, чем реалистической оценки".
zverok_kha
May. 21st, 2008 06:56 pm (UTC)
Пара дополнений:
* руководство по Fortress предлагает довольно уродливое решение: вводить GREEK_SMALL_LETTER_PHI, а затем препроцессить это в φ
* следующим пунктом (по линии "хочу, чтоб исходники аккуратно смотрелись, как книжки по математике") может захотеться нечто Mathcad/MathType-подобное (с корнем, который "растягивается" на подкоренное выражение, двухэтажными дробями и т.д. и т.п.) Что плавно смыкает нас с Epigram и LaTeX :)
( 16 comments — Leave a comment )