Крайне интересное видео, объясняющее принципы открытого доступа к учебным материалам и научным статьям, и преимущества данного подхода к распространению информации:
Видео распространяется под лицензией CC-BY.
Крайне интересное видео, объясняющее принципы открытого доступа к учебным материалам и научным статьям, и преимущества данного подхода к распространению информации:
Видео распространяется под лицензией CC-BY.
Novena -- это ноутбук, создаваемый по принципам открытого аппаратного обеспечения, или аппаратного обеспечения с открытыми исходниками (open source hardware, OSHW). Все схемы и документация открыты и доступны для скачивания. Так же ожидается, что Nouvena будет работать полностью на свободном программном обеспечении -- включая драйверы устройств и прошивки. Ещё обратите внимание на замечательное решение: для хранения BIOS'а используется обычная карта памяти (microSD), которая вставляется в слот на системной плате:
http://www.opennet.ru/35639/Думаю, можно будет использовать CoreBoot в качестве BIOS.
- АртёмОтработал технологию выпечки веганских блинов (без продуктов животного происхождения). Теперь по выходным пеку блины. Вот фотография того, что получилось сегодня:
Я не нашёл в фотоаппарате режима для фотографирования блинов (хотя там есть, например, режим для фотографирования цветов) -- однако надеюсь, что эта фотография получилась неплохо.
При приготовлении используются пшеничные хлопья, мука, дрожжи, вода, (тростниковый) сахар и соль. Я использую пшеничные хлопья Nordic -- на упаковке которых как раз можно найти рецепт этих блинов. Однако я внёс некоторые изменения в рецепт -- я смешиваю пшеничные хлопья с хлопьями других злаков (например, беру смесь из 4-х злаков от той же фирмы). Вообще, не уверен, что пшеничные хлопья являются незаменимым компонентом в данном рецепте.
Муку и воду беру "на глаз", добавляя по мере приготовления теста для получения нужной консистенции.
Готовится всё легко, единственная проблема -- время приготовления. В общем виде, весь процесс можно разделить на следующие этапы:
Первый этап очень прост -- нужно поварить хлопья примерно три минуты и дать им немного остыть. Второй этап заключается в том, что нужно смешать определённое количество муки и воды с получившейся кашей, добавить соль и сахар, потом добавить дрожжи. Я использую тростниковый сахар. На третьем этапе -- берём сковороду, растительное масло (можно нерафинированное) и готовим блины.
Больше всего времени занимает второй и третий этап. Конечно, пока тесто поднимается, можно заняться какими-нибудь другими делами. А вот на третьем этапе от плиты уйти надолго не получится.
Для приготовления использую специальную сковороду для блинов (блинницу) -- это гораздо удобнее, чем использовать обычную сковороду с высокими краями (по собственному опыту).
На четвёртом этапе (употребление блинов) рекомендую применять ягодный джем или варенье. Это самый простой, и (возможно) самый приятный этап -- особенно, если вам есть, с кем разделить трапезу.
Я не мастер составления кулинарных алгоритмов, но в приведённом выше постарался описать всё предельно ясно, так что у вас не должно возникнуть сложностей с его реализацией при желании.
Приятного аппетита.
- Артём
Загрузил в репозиторий LazyCat на GitHub последние изменения, являющиеся результатом почти месяца работы. Суть изменений заключается в том, что Lazy GTK Cat (текущий и пока единственный GUI для LazyCat) переведён на объектно-ориентированную модель.
Это сделано по той причине, что по мере развития проекта кода на Scheme становится всё больше, и в том состоянии, в котором он был до этого -- с ним было сложно работать. Я имею ввиду, что код был плохо структуирован и при добавлении новой функциональности был высок риск поломать что-нибудь старое и работающее.
Поскольку решаемая мной задача (GUI и некоторая высокоуровневая логика) хорошо поддаётся на разбиение на ясно определённые объекты, перевод на объектно-ориентированную модель позволил упростить код, сделать его ясным и удобным для понимания. А значит, дальнейшее добавление необходимых возможностей в GUI будет проще.
Я изучаю Scheme и GNU Guile по ходу работы над проектом и по мере решения возникающих проблем. И в этот раз много времени ушло на чтение документации и эксперименты с GNU Guile -- чтобы понять, как же реализовать объекты в языке. Сначала попробовал создавать объекты с помощью closures -- механизм, который "из коробки" присутствует в Scheme.
Вариант с closures оказался простым и достаточно удобным. Но я на этом не остановился и решил попробовать сделать то же самое с использованием Guile Object Oriented Programming System (GOOPS) -- модуля, который приносит объектно-ориентированность в язык. После того, как переписал готовые объекты с использованием GOOPS, я продолжил разделение того большого куска кода, которым являлся Lazy GTK Cat, на небольшие и относительно простые объекты. Стало ясно, что GOOPS является более мощным и удобным механизмом для создания объектов в языке.
Работу методов для некоторых объектов я проверил по отдельности, через написание скриптов на GNU Guile (одна из возможностей этого интерпретатора -- использование вместо shell-интерпретатора для написания скриптов на Scheme, которые можно выполнить прямо из консоли). После тестирования нужно было собрать всё воедино и заставить работать. Далее -- тестирование Lazy GTK Cat и дописывание оставшихся частей основного класса приложения. Всё это было сделано за несколько дней.
В коде много комментариев, в том числе, в последнем коммите я добавил "TODO" заметки -- напоминания, подсказки и идеи, как можно улучшить тот или иной кусок кода, что неплохо бы сделать в дальнейшем.
Я по-прежнему ищу разработчиков для проекта. Важна не только помощь, но и интересен опыт совместной работы над проектом через GitHub. Если вам интересен проект -- go ahead, буду рад помощи.
- Артём
Сегодня к своему удивлению обнаружил в репозитории F-Droid порт Unix-утилиты cowsay для Android. Разумеется, я тут же установил такую полезную утилиту на свой коммуникатор:
cowsay -- это консольная утилита, которая выводит сообщение (передаваемое ей, как аргумент), как высказывание одного из персонажей (по-умолчанию -- коровы).
Кроме коровы доступно множество других персонажей, так же можно менять отображение сообщения и некоторые параметры персонажа. Рекомендую вам установить эту утилиту в вашем дистрибутиве GNU/Linux (если вы ещё не сделали этого) и поэкспериментировать с ней.
Как и большинство утилит Unix, cowsay может быть использована в конвейере команд. Кроме того, существует вариант утилиты cowthink, который отличается тем, что выводит сообщение в "облаке мыслей":
$ cat hello.c | cowthink -W 80 -n
_______________________________________________
( #include <stdio.h> )
( #include <string.h> )
( #define S "Hello, World\n" )
( main(){exit(printf(S) == strlen(S) ? 0 : 1);} )
-----------------------------------------------
o ^__^
o (oo)\_______
(__)\ )\/\
||----w |
|| ||