Видео ролики бесплатно онлайн

Смотреть подборки видео

Официальный сайт moscowout 24/7/365

Смотреть видео бесплатно

der_y 07.07.2011 17:25

Мой OpenSource проектсмена изображений на рабочем столе

Все началось с того, что у меня накопилась большая коллекция классных изображений.
Хотелось все поставить на рабочий стол, но это не реально. Нашел скрипт для автоматической смены валпаперов, т.к. устанавливать отдельное приложение для этого не хотелось.
Все бы ничего, но столкнулся с такой проблемой:
рандомный выбор 1 изображения из большого количества (4000) неравномерен, т.е. одни изображения мелькают очень часто, другие практически не появляются.

Решил этот вопрос написанием своей программы, которая работает следующим образом:
периодически сканирует папку, добавляя новые изображения в общую базу данных либо удаляя из нее старые.
Каждые 10 минут берется 200 изображений, последний показ которых отмечен наиболее поздней датой.
Из них рандомно выбирается 1 изображение и устанавливается как фон рабочего стола.
Ведется история показа для каждого изображения.
Таким образом изображения показываются в произвольном порядке, но не чаще чем другие.
Написал на java. Делал для себя по этому многие настройки спрятаны внутри.
Запуск
cd /путь/до/приложения
java -jar ImageChanger.jar /путь/до/каталога с изображениями
так же в файле "walp_gnome_change" нужно установить команду смены валпапера для вашей системы, у меня установлено для gnome 3
скачать прогу можно тут


Тэги: wallpaper
+ 3 -
Похожие Поделиться

s2h 07.07.2011 18:02 #
+ 4 -
как то все слишком сложно.
Я бы создал файл со списком картинок рандомно отсортированными. и потом по очереди их ставил.
на следующий проход опять рандомная сортировка.
derfenix 07.07.2011 18:07 #
+ 0 -
java-программисты они такие... они не умеют делать просто :) и чтобы не глючило и не выдавало исключения регулярно - тоже..
der_y 07.07.2011 18:17 #
+ 0 -
получится что за весь проход новые изображения не добавятся в список и старые не удалятся.
у меня за день успевает показаться порядка 70-80, всего их 4000+, постоянно появляются новые, а иногда удаляю старые.
К тому же при такой сортировке не исключено, что последние изображения в 1 проходе, встанут первыми во 2ом.
А в моем случае общий порядок практически 100% будет соблюдаться. Только за большое количество циклов может получиться, что какие-то изображения будут отображены на пару раз больше, чем другие (добавленные в одно время)
s2h 07.07.2011 18:29 #
+ 1 -
можно подправить функцию рандомной сортировки так, что у посдедних строк шанс быть вначале на следующем проходе очень мал. Или так же блоками оперировать - разделить все по 200 штук и их уже мешать.
Сделать несколько проходов и заloopить, так что будет не заметно повторений:)
Я просто подумал с таким каличеством картинок, что бы заметить что парочка вдруг повторилась через небольшое время - это надо сидеть и смотреть только на рабочий стол. Я за минимализм в данном случае.
der_y 07.07.2011 18:39 #
+ 0 -
Согласен, я тоже за минимализм. Например в моем варианте 160 строк, с учетом пустых строк и удобочитаемого форматирования. Мне кажется не много :)
mrded 08.07.2011 02:49 #
+ 3 -
KISS, bro! :)
dedsy 07.07.2011 18:38 #
+ 0 -
blank screen лучше как ни крути, не отвлекает от работы, да и в тайловом вм его рабочий стол и видишь то лишь при загрузке системы..
der_y 07.07.2011 18:47 #
+ 0 -
если рабочий стол видеть лишь при запуске системы, то картинки на нем так же не будут отвлекать от работы, как и blank screen :)
в моем случае рабочий стол мелькает чаще...
сижу работаю, переключился на пустой рабочий стол или вдруг пришлось все окна свернуть, увидел клевую картинку на рабочем столе, подумал "блин крутая картинка" и дальше работаю. мелочь а приятно
dedsy 18.07.2011 21:15 #
+ 0 -
:) Согласен, тоже влепил обоину.. пущай будет..
mealsforall 07.07.2011 18:47 #
+ 1 -
Тем, кому хочется отдельную программку для этого, рекомендую DesktopNova
ELS 07.07.2011 18:59 #
+ -3 -
>> рандомный выбор 1 изображения из большого количества (4000) неравномерен, т.е. одни изображения мелькают очень часто, другие практически не появляются.

интересный у вас рандом
der_y 07.07.2011 19:14 #
+ -1 -
а у вас какой рандом? )
небось при запуске каждый день приложения выдающего рандомное значение с интервалом 10 минут, в диапазоне [0;4000] рандомные значения не повторяются пока не пройдут весь интервал? )
какие-то значения будут появляться чаще остальных.
ELS 07.07.2011 20:31 #
+ -1 -
в пределе, да. но если у вас какие-то чаще появляются, обратитесь в нобелевский комитет )
der_y 07.07.2011 21:43 #
+ 1 -
вот задача:
рандом. в диапазоне [0;200].
программа генерирует 50 случайных значений в этом диапазоне.
если верить вашей логике, то программа за 4 запуска сгенерирует 200 уникальных значений, ни разу не повторяющихся, пройдя все значения в диапозоне [0;200].
вот код этого приложения: скачать
вот результат 1 запуска:
#
#Fri Jul 08 00:36:33 OMSST 2011
109=1
108=1
138=1
59=1
137=1
199=1
166=1
55=1
133=1
165=2
197=1
86=1
164=1
196=1
130=1
51=1
161=1
192=1
81=1
191=1
129=1
8=1
128=1
126=1
47=1
157=1
188=1
3=1
45=1
77=1
155=1
75=1
74=1
120=1
41=1
183=1
150=1
179=1
178=1
114=1
67=1
66=1
97=2
96=1
63=1
141=1
173=1
93=1

номер числа = количество появлений
как видно при генерировании 50 значений в этом диапазоне уже появились дубли.
запускаем 4 раза подряд используя данные из предыдущих запусков:
#
#Fri Jul 08 00:38:28 OMSST 2011
129=1
128=2
127=1
126=1
124=1
189=1
188=2
187=1
186=1
120=2
59=3
183=1
57=1
181=3
55=1
52=2
51=1
118=2
115=1
114=3
179=3
113=1
178=1
112=1
177=2
176=3
110=1
175=2
49=1
173=2
172=2
47=1
171=1
46=2
45=1
42=1
41=1
109=2
108=2
107=1
104=3
169=1
103=1
168=1
102=1
101=3
166=1
100=1
165=3
39=2
164=1
38=1
37=1
162=2
161=2
35=1
160=2
98=1
33=1
97=2
96=2
30=3
95=1
94=1
93=2
91=1
90=2
159=2
157=1
156=1
155=5
154=2
29=2
153=2
152=1
26=3
150=2
25=2
24=1
89=1
86=1
84=1
83=2
82=1
81=3
80=2
8=1
7=1
149=1
4=1
3=1
146=1
145=1
1=1
19=2
143=1
18=1
142=1
141=2
140=1
79=3
78=1
77=2
75=1
74=2
73=2
71=1
70=1
138=1
137=1
136=1
135=3
199=2
133=2
197=1
132=1
196=5
131=1
130=1
194=2
67=1
192=1
66=2
191=2
190=1
64=2
63=1

и того в файле получилось 129 строк, минус 2 строки комментариев и того 127 значений из 200.
какие-то значения были несколько раз, каких то небыло совсем.
пора обращаться в нобелевский комитет?
попробуйте сами запустить мой файл
ELS 08.07.2011 00:05 #
+ 0 -
"если верить вашей логике, то программа за 4 запуска сгенерирует 200 уникальных значений, " я такого бреда не говорил, если бы так было я бы в казино пошел играть ))) а вывод программы вполне нормальный, если будете изучать теорию вероятностей поймете.
пс: нобелевский комитет кстати "посылет" математиков
der_y 08.07.2011 00:20 #
+ 2 -
Благо я ее уже учил.
неужели нормальный вывод программы не соответствует тому, что я сказал ранее: "рандомный выбор 1 изображения из большого количества (4000) неравномерен, т.е. одни изображения мелькают очень часто, другие практически не появляются."?
рандом не у меня интересный. он такой у всех.
Sylar 07.07.2011 19:54 #
+ 2 -
Блоге «Мой OpenSource проект». Где source?
enot 07.07.2011 19:58 #
+ 0 -
Хив майнд :)
mealsforall 08.07.2011 14:17 #
+ 0 -
А по-английски напиши?
enot 08.07.2011 15:02 #
+ 0 -
hive mind?
enot 07.07.2011 19:57 #
+ 0 -
Почему в джаре? Это же опен сурц! Код в студию, а мы заодно заревьювим.

der_y 07.07.2011 21:10 #
+ 0 -
добавил в архив
enot 07.07.2011 21:25 #
+ 2 -
тешу себя мыслью, что кому-то кроме автора будет интересно мое мнение. беглый взгляд по коду:
1) трай в трае траем погоняет :)
2) немного нехватает пробелов особенно+между<�операторами и :retab строго необходим
3) я бы для для такой задачи пятон или перл использовал, в яве слишком много { фигурных скобок } :)

вообще ниче так, довльно читаемо
der_y 07.07.2011 21:48 #
+ 0 -
мой первый вариант был на питоне )
для меня нет смысла в трэе для этого приложения, какие функции туда вынести? остановить / запустить.
оно просто гонит картинки )
enot 07.07.2011 23:08 #
+ 0 -
я имел в виду try { try { .. } }
der_y 07.07.2011 23:11 #
+ 0 -
оу ) не правильно понял, то то мне это как то странно показалось
citi7en 07.07.2011 23:24 #
+ 2 -
По-моему, при таком количестве изображений достаточно было показывать их по порядку, но запоминать перед выключением последний показанный файл и в следующий раз начинать со следующегоза ним. Неповторяемость обеспечивается 100% до очередного цикла, а при таком количестве порядок смены изображений не особо будет заметен, особенно, если не часто приходится видеть обои.
В крайнем случае, после каждого цикла можно делать случайную пересортировку файлов в папке.
Daria 15.07.2011 06:57 #
+ 1 -
к примеру, при запуске создать список всех файлов, стасовать его и использовать циклически в петле.
при новом запуске забыть старый сортированный список, и на его месте создать новый и заново растасовать.

всё это займёт не более десяти строк на bash.
citi7en 15.07.2011 14:33 #
+ 1 -
Клёво, но при длительности сеанса работы за компьютером 6-8 часов с учётом интервала смены картинки в 10 минут будет показано 36-48 изображений (у автора за сеанс 70-80). Существует ненулевая вероятность того, что в следующий раз в при пересортировке в их число попадёт хотя бы одна картинка, показанная в предыдущий раз. Это опять же приводит к озвученной в сабже проблеме о неравномерности случайного распределения.
citi7en 15.07.2011 18:34 #
+ 0 -
Не понятна причина вашего любопытства касательно моей деятельности. Меня заинтересовала поставленная автором топика задача. Можно оставить в стороне обои и решать её на абстрактном уровне, но обсуждать решения, очевидно, удобнее, разговаривая предметно.

Если это вас ТАК задело, что вы решили влезть в топик не обозначив собственных мыслей по теме, боюсь предположить, насколько вам скучно и одиноко.
exelens 16.07.2011 12:43 #
+ 0 -
Тут не должно быть весело.
Тут должно быть полезно.
orkaan 08.07.2011 13:08 #
+ 1 -
Аскетично. На баше. Крон… Чистый unixway!

Автор — велосипедоконструктор. :(

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн