Одно время была целая волна такого видео, невероятные штуки-дрюки из бумаги и скотча; потом поутихло, а вот сегодня снова в rss увидел:
Просто офигеть
Настроение: Хочется на море :) Считаю дни до моря: 13 дней – и мочится..
Тут живет, умеренно жалуется на жизнь и умеренно хвалится успехами умеренно толстый хомяк
Одно время была целая волна такого видео, невероятные штуки-дрюки из бумаги и скотча; потом поутихло, а вот сегодня снова в rss увидел:
Просто офигеть
Настроение: Хочется на море :) Считаю дни до моря: 13 дней – и мочится..
Офигенная игрушка:
Идея в том, что она не радио-управляемая; управление и обратная связь – по WiFi (так что теоретически лететь может столько, сколько покрытия WiFi хватит)
Просто бомба (террористам там в здание бомбу привезти кстати тоже может.. и наоборот)
.. или запонки в виде (и функционалом) флешек..
Практически не ношу рубашки, поэтому запонки мне ни к чему (да и вынимать их туда-сюда имхо неудобно), но есть флешка-браслет с 2 Гб (“модно, стильно, современно” :) ), по поводу которой вчера были мысли:
Шел днем домой, дико болела голова, начал думать: вот замкнет окончательно, упаду и помру (или вариант – человек перебрал спиртного, упал и спит около тротуара) – хорошо бы было, если бы можно было вставить флешку в комп и оттуда запустилась программка, которая рассказала бы – кто я, куда отвезти, кому позвонить, группа крови и аллергические реакции и т.д. и т.п.; короче все, что надо знать о человеке, чтобы оказать ему помощь при необходимости
Дальше – уж если есть такой “менеджер персональной информации”, то здесь же могли бы быть дополнительные “вкладки”, защищенные паролем, где хранились бы пароли, пины, пуки и прочая конфиденциальная инфа, которую давно уже невозможно запомнить нормальному человеку (но помнить которую нужно); опять же, случиться что-то со мной (тьфу-тьфу-тьфу) – кто-то близкий знает “емерженси пароль”, по которому можно получить доступ и унаследовать инфу (может моя почта никому и не нужна будет, а пароль рутовский к домашнему серверу?..)
Такие вот печальные мысли.. тянут на полноценную программу :)
Upd: вообще еще до флешки в запонках я вспоминал вот это устройство - http://habrahabr.ru/blogs/gadgets/94779/ – просто читал о нем неск. дней назад и конечно не вспомнить уже где
Да, rss + буржуйские сайты рулят, я “наши” потихоньку из ленты выбрасываю – одни бояны. Ну а что нашим писать то, сплошной копи-паст
У меня есть псп, “толстая”, купили пару(тройку уже) лет назад старшему на ДР, имел вчера с ней отношения :)
Для безопасности купили к ней ремешок на руку, именно из-за этого ремешка с ней произошел несчастный случай: она выскользнула из рук у малого и вместо того, чтобы упасть, с разворота ударилась экраном об угол стола – экран понятное дело треснул, все работало, но разобрать картинку было сложно :(
Заказал новый экран на ебее, предложений там пруд пруди, заказал для “толстой”, из Англии – приехала быстро, за неделю, обошлась в 19 фунтов, раскрываю – и чувствую что-то неладное, выглядит немного не так, как на видео, которое смотрел, чтобы понять, как его менять – вместо двух шлейфиков только один
Оказалось – или в поисках самого дешевого варианта, или еще почему, но упустил в описании лота “.. with backlight” и купил собственно экран, без задней подсветки..
Так что разборка и вынимание экрана было не самым сложным – самым сложным была разборка сэндвича из экрана + подсветки + кожуха
Но – EPIC WIN! – я его разобрал, потом собрал, попутно почистил кнопки, псп как новая!..
Еще один экспириенс только предстоит – буду писать для маков, в связи с чем надо же подковаться в теории; читать с экрана компа – понятно, что не всегда удобно, с iPod-а неудобно (как любой “технический” текст с форматированием.. прозу – пожалуйста, перечитал уже вагон и тележку книжек, а пдф-ы какие-нибудь – не получается), iPad-а пока нет (вот с него наверное хорошо было бы..), с нетбука тоже как-то не нравится, скролить все время
Остается обычный вариант – бумажный; книжек нет бумажных конечно, но есть же новый принтер!
Старый эпсон р200 отдал почистить голову, чтобы потом снпч поставить, а голову укоцали в сервисе.. лучше бы я сам это сделал, хоть не так обидно было бы.. так что купил канон 4700..
А он хорош! Взял пдф аппловский про Objectiv-C, сказал “печатать, брошюра” – и вуаля: он выдал мне 30 листов А4, на каждом листе распечатано по 2 страницы + с обеих сторон, т.е. 120 страничный пдф
Да! Он сам умеет печатать с двух сторон, хитро как-то переворачивая в себе страницу :) Это собственно был основной аргумент при выборе нового принтера, фото он печатает хорошо (ну собственно как все наверное сейчас), на дисках он печатать умеет (ну собственно как многие, мой р200 умел), а вот про 2-стороннюю печать я прозрел и из-за нее его и выбрал
Листы уже правильно разложены, дальше просто порезал А4 пополам, сложил 2 получившиеся пачечки в одну, продыроколил - и вот у меня брошурка удобная для чтения, надо по канцтоварам пройтись посмотреть чего-нибудь для скоросшивания
.. как это вообще будет выглядеть, если:
The cross-platform support will be provided by having the windows-based compiler generate binaries for Linux and Mac OS X. The compiler and IDE will not be ported to these platforms to ensure a stable working environment.
Это про следующую Delphi (2011, Fulcrum); можно будет под виндой собирать бинарники для линукса и макоси – а отлаживать как? В виртуальной машине?..
Я в шоцi..
После оборения iPod-а (научил его запоминать место в книжку, которую слушал) собственно занимаюсь слушанием книжек, сейчас Метро 2033
А тут прям иллюстрации к книге (там страничка не автора, а кого-то, кто собрал кучу картинок) - http://www.inspireme.ru/post/3823/
Я не настолько плох, как оказалось, не работал код с обновленными dll не из-за ошибок в заголовках, а из-за неправильно собранных dll – скачал собранные dll и все заработало; так что надо было обновить еще больше компиляторов и прочей чухни, чтобы оно скомпилилось и заработало и у меня (чужие dll мне не подходят, мне не надо 90% кодеков и 99% форматов, которые поддерживаются, поэтому я собираю “для себя”)
Так что обновленные pas-заголовки для dll из ffmpeg выложил на рапидшару (89 кб)
Несмотря на то, что меняются внутренние структуры (например нет больше типа TCodecType), все собралось без изменений.. тесчу, пока работает..
У меня в почте лежало несколько писем от пользователей, с комментами, багофиксами или пожеланиями; явные баги исправлял, а прочее оставлял “на потом”, но когда дело дошло до “потом”, почта успела потеряться (во время очередной переустановки винды.. как-то решил, что ничего важного в почте нет и не стал переносить письма).. Такой вот “упс..”
.. плохая и хорошая
Хорошая: не в лоб так по лбу решил забороть конвертацию в mpeg-файлы обновлением ffmpeg-ных библиотек, последний раз обновлял больше года назад. Пришлось как обычно подоустанавливать компиляторы разные и прочую чухню, но собрал, получил dll-ки. Потратил полтора дня, привел в соответствие h-файлам свои pas-файлы
Плохая: не работает код, который позавчера работал :)
Я почти придумал бехавиор® для нее, предистория:
поза- и прошлое лето я делал ремонты у себя в квартире, поэтому часто ездили в строймаг, а там система поощрения такая – определенный % от покупки тебе “дарится” на карточку клиента, потратить эти деньги можно только на покупку чего-нибудь в этом же магазине, деньги “сгорают” в начале следующего года
Так что мы перед Новым годом ездили их тратить на елочные игрушки, у меня “манечка” на стеклянные шарики, хоть жена и ругается, что их на нашу небезразмерную елку вешать некуда :)
Так вот там в “новогоднем” отделе продавались “арт-обьекты” (потому что бесполезные как.. ну как что.. как лампа настроения ;) ) – ветки, опутанные светодиодной (или просто мелко-лампочной) гирляндой.. жена начала “давай купим”, но 1) я хотел шарики, 2) я сказал “да твой муж спаял 140 светодиодов в потолок, да неушто он!..”
Там действительно делать нечего (и тех денег оно не стоит), но пообещал, а сделать все руки не доходили. А тут искал ссылку про usb софтварный и подумал, что usb – хороший источник напряжения для питания и той ветки, и лампы; а у меня есть комп, который на usb напряжение дает, даже когда выключен (usb-хаб в виде аквариума, в который я впаял синий светодиод, потому что на нем сэкономили китайцы, светится круглые сутки уже пару лет как)
Значит надо взять а) какую-то матовую емкость, в дно встроить схему лампы, чтобы она подсвечивала меееееедленно и неспешно эту емкость, сверху натыкать веток, их “украсить” светодиодами (как раз, когда посл. раз детали заказывал, “для суммы” и из жадности купил мелких синих светодиодов кучку), которые подключить к одной/нескольким ножкам контроллера (их там свободных туча остается еще) и тоже плавно менять яркость на ветках..
Все, к след. Новому году (всего-то 250 дней осталось) точно сделаю ;)
“Аналитическое тупление” дало результаты, код изменился, хотя результат работы тот же – плавная смена цветов по кругу:
1: #include <;;avr/io.h>
2: #include <;;avr/interrupt.h>
3: #include <;;avr/pgmspace.h>
4: #include "avrlibtypes.h"
5: #include "delay.h"
6: 7: #define F_OSC F_CPU 8: 9: volatile u08 r, g, b, counter = 0;
10: 11: // таблица нелинейности для яркости
12: // хотя как лучше – с ней или без – я пока не решил 13: // если без нее – тогда можно не включать pgmspace.h и выкинуть 2 строки из 14: // след. функции (v = pgm_…) 15: u08 gamma[256] PROGMEM = { 16: 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 17: 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 18: 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 19: 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 20: 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 21: 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 22: 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 23: 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 25, 25, 25, 26, 26, 24: 27, 27, 28, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 34, 35, 35, 25: 36, 36, 37, 38, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 47, 26: 48, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 27: 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 79, 81, 82, 28: 83, 85, 86, 88, 90, 91, 93, 94, 96, 98, 99, 101, 103, 105, 107, 109, 29: 110, 112, 114, 116, 118, 121, 123, 125, 127, 129, 132, 134, 136, 139, 141, 144, 30: 146, 149, 151, 154, 157, 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, 190, 31: 193, 196, 200, 203, 207, 211, 214, 218, 222, 226, 230, 234, 238, 242, 248, 255 32: };
33: 34: void getRGB (u16 h, u08 s, u08 v)
35: { 36: u16 base;
37: 38: v = pgm_read_byte(&gamma[v]);
39: s = 255 - pgm_read_byte(&;;gamma[255 - s]);
40: 41: if (s == 0)
42: { 43: r = v;
44: g = v;
45: b = v;
46: } else {
47: base = ((255 - s) * v) >;;> 8;
48: 49: switch (h / 60) {
50: case 0:
51: r = v;
52: g = (((v - base) * h) / 60) + base;
53: b = base;
54: break;
55: case 1:
56: r = (((v - base) * (60 - (h % 60))) / 60) + base;
57: g = v;
58: b = base;
59: break;
60: case 2:
61: r = base;
62: g = v;
63: b = (((v - base) * (h % 60)) / 60) + base;
64: break;
65: case 3:
66: r = base;
67: g = (((v - base) * (60 - (h % 60))) / 60) + base;
68: b = v;
69: break;
70: case 4:
71: r = (((v - base) * (h % 60)) / 60) + base;
72: g = base;
73: b = v;
74: break;
75: case 5:
76: r = v;
77: g = base;
78: b = (((v - base) * (60 - (h % 60))) / 60) + base;
79: break;
80: } 81: } 82: } 83: 84: void init(void) 85: { 86: //{{AVR_IO_DESIGNER_INIT 87: // Project Options - ambi-lamp 88: // 89: // Device Name = ATtiny2313 90: // CPU Frequency (F_CPU) = 11,059 MHz 91: // IC Package = DIP 92: // Sort Pins by = Pin Number 93: // Output Code File = ..\main.c 94: // Output Header File = ..\hardware.h 95: // Assume Default State = True
96: // Write Unmodified Bits = True
97: // Set Unused PORT Pins = Input 98: 99: // 100: // PORTD variable initializations 101: // 102: // PORTD3 for 1: led_red as Output -
103: // PORTD4 for 1: led_green as Output -
104: // PORTD5 for 1: led_blue as Output -
105: DDRD = 0x38;
106: 107: //
108: // TIMER_COUNTER_0 - - 109: // 110: // Clock Select = clk (No prescaling)
111: // Timer Overflow Interrupt Enable = Enabled 112: // Counter Frequency = 43,199 kHz 113: // Counter Period = 23,149 usec 114: // Seconds per Count = 90,424 nsec 115: // Counts per Second = 11,059 MHz 116: TIMSK = 0x02; // (1<<TOIE0)
117: TCCR0B = 0x01; // (0<<CS02)|(0<<CS01)|(1<<CS00)
118: //}}AVR_IO_DESIGNER_INIT 119: 120: sei();
121: }
122: 123: ISR(TIMER0_OVF_vect) 124: { 125: 126: #define led_red_SHIFT 0x03 127: #define led_green_SHIFT 0x04 128: #define led_blue_SHIFT 0x05 129: 130: PORTD = ((r >;; counter) << led_red_SHIFT) | ((g > counter) << led_green_SHIFT) |
131: ((b >;; counter) << led_blue_SHIFT);
132: counter++;
133: }
134: 135: int main(void) 136: { 137: init();
138: 139: u16 h;
140: 141: while(1)
142: { 143: for (h = 0; h < 360; h++)
144: { 145: // ф-ция принимает параметр – цвет, насыщенность и яркость 146: // цвет от 0 до 360 == от красного к фиолетовому по радуге 147: // насыщенность == 255 – “чистый” цвет, ближе к 0 – “серый”; на цветовом конусе это означает, что с
148: // минимальной насыщенностью с изменением цвета тот собственно практич. не меняется – в моем 149: // случае это практич. белый с любым значением цвета 150: // яркость понятно, чем меньше, тем ближе к черному.. при маленьких значениях начинаются глюки в виде мерцания.. 151: // з.ы. глюки больше (при маленьких значениях насыщенности и яркости) без корректирующей таблицы, с 152: // другой стороны – таблица == четверть памяти контроллера (прошивка занимает 1400/1100 байт с и без таблицы) 153: getRGB(h, 255, 150);
154: 155: delay_ms(10);
156: } 157: } 158: 159: return 0;
160: }