tag:blogger.com,1999:blog-90049948328083176112024-02-19T21:23:33.519-08:00Записки борта 81Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-9004994832808317611.post-62803711595241966052017-07-23T12:05:00.001-07:002017-07-23T12:05:35.034-07:00armhf или armel?<div dir="ltr" style="text-align: left;" trbidi="on">
На странице загрузки одного Linux-дистрибутива для Raspberry Pi на выбор было предложено два варианта сборки - для процессоров с архитектурой armhf или armel.<br />
<br />
Простое гугление спецификации моего Pi результатов не дало, на устройстве тоже ничего не написано, но выход был найден.<br />
<br />
Для нахождения искомой информации нужно запустить устройство под имеющейся *nix системой (например Raspbian). В терминале вводятся следующие команды:<br />
<br />
echo "int main () {return 0;}" > test.c<br />
gcc test.c -o test<br />
<br />
Здесь все понятно, компилируется тестовый бинарный файл, который сыграет роль лакмусовой бумажки. Далее вводим:<br />
<br />
readelf -A test | grep Tag_ABI_VFP_args<br />
<br />
Вывод этой команды и есть результат - если на экране появилось Tag_ABI_VFP_args: VFP registers, то перед нами armhf. Если же вывод пуст - то armel.</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-17362919113634034362017-07-23T11:35:00.000-07:002017-07-23T11:35:31.196-07:00Установка Mac OS X на внешний диск<div dir="ltr" style="text-align: left;" trbidi="on">
Иногда возникает необходимость установить еще одну копию OS X. И несмотря на правильную подготовку, исправный диск и все такое...установщик зависает.<br />
<br />
Как оказалось ответ один - нажать <b>Command + L</b>, чтобы вывести подробную информацию о состоянии установки вместо неиформативного progress bar.<br />
<br />
Ну а конкретной причиной часто могут оказаться тормозящие сервера Apple.</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-37231021334155322922017-07-09T12:39:00.003-07:002017-07-10T00:41:26.915-07:00Компьютерный музей в Таллине<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Таллин - один из самых интересных городов Прибалтики, с красивой, разнообразной архитектурой, древней и богатой историей и самобытной, европейской культурой, это признают многие. Но не все выходят из зоны комфорта и исторического центра)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Будучи там во второй раз, я решил изучить местную географию более широко и в мой маршрут попал компьютерный музей.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC4m6wPS60yCvEARUozZVnAcJ2Ad90rjJIdBgP4c00eIrfLuwRDC9n_Da3eL6PZsPSMQ4GNDhMuOWZXD8X6ITUIuREOz4XhWPX9KHQL_8_YYcObFQFL8b0EUmapPYTHCNWeiWS9-1efsY/s1600/BSCF2752.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC4m6wPS60yCvEARUozZVnAcJ2Ad90rjJIdBgP4c00eIrfLuwRDC9n_Da3eL6PZsPSMQ4GNDhMuOWZXD8X6ITUIuREOz4XhWPX9KHQL_8_YYcObFQFL8b0EUmapPYTHCNWeiWS9-1efsY/s320/BSCF2752.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><div style="text-align: justify;">
Путь, кроме общественного транспорта, предполагает прогулку через довольно большую пром-зону и в какой момент начинаешь сомневаться, что навигатор ведет тебя правильно)</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQx0sJ_8m7SNaHszRFJZYNDRxU1AS8mGJNiFxNHOYLU2aeBQYmNFwptuW_XDpybpUx9Wh9-Fp5xb4IOhyF2dqi8xdjCaPi1_b7UzbKGy-wj1KGU-6VXwckxLZnvOUXAW_0l-QkvyIn-M/s1600/BSCF2786.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQx0sJ_8m7SNaHszRFJZYNDRxU1AS8mGJNiFxNHOYLU2aeBQYmNFwptuW_XDpybpUx9Wh9-Fp5xb4IOhyF2dqi8xdjCaPi1_b7UzbKGy-wj1KGU-6VXwckxLZnvOUXAW_0l-QkvyIn-M/s320/BSCF2786.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Однако, вскоре я увидел табличку Arvutimuuseum, которая развеяла мои сомнения.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUdmOUqwn8RiZuaerqPKPGbBAVLaB4yv6rM5pdRoZc96sOO-8hkhGonHeiljkMtEB0b8Ph1KovJ0zhiDI4_quC0mtfu1-s8aWQGNq_HkLV4PFHLY6N-M8IL9xGQ-kjYh4GH0iOgX2kCwU/s1600/BSCF2689.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUdmOUqwn8RiZuaerqPKPGbBAVLaB4yv6rM5pdRoZc96sOO-8hkhGonHeiljkMtEB0b8Ph1KovJ0zhiDI4_quC0mtfu1-s8aWQGNq_HkLV4PFHLY6N-M8IL9xGQ-kjYh4GH0iOgX2kCwU/s320/BSCF2689.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Войдя внутрь, понимаешь, что ты в настоящем храме техники, много лет служившей людям, где все тщательно отобрано и описано, а у многих экспонатов есть и совершенно личные истории.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivSVkiRQLwLLh3ipz7jqhdgAz3M_T0-0gjUJ-Y8j-8COJt2U0-yKCCy1Z7qhla72Lbm5yzzObMgMeyQVQmcegXkZEgKM9kJnn3CCN3lMi9NLiTqnrF1sz9XZTTwsZfYEBLp3a9WXoVExA/s1600/BSCF2768.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivSVkiRQLwLLh3ipz7jqhdgAz3M_T0-0gjUJ-Y8j-8COJt2U0-yKCCy1Z7qhla72Lbm5yzzObMgMeyQVQmcegXkZEgKM9kJnn3CCN3lMi9NLiTqnrF1sz9XZTTwsZfYEBLp3a9WXoVExA/s320/BSCF2768.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
И практически все экспонаты работают!</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy2UznEx76lwNovb7g5BUI1Jb-YWsRH3Je_STOEvE0q7jltgr2z3uRW0iNRqDqGvY_a5PbU3jR30_fUgNYWYf_hyOoLD5nQiEbnkxtwxxKwSUqMYA89nRavjccsZZnuy_oYBqlMKwFXQU/s1600/BSCF2684.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy2UznEx76lwNovb7g5BUI1Jb-YWsRH3Je_STOEvE0q7jltgr2z3uRW0iNRqDqGvY_a5PbU3jR30_fUgNYWYf_hyOoLD5nQiEbnkxtwxxKwSUqMYA89nRavjccsZZnuy_oYBqlMKwFXQU/s320/BSCF2684.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Для геймеров особое раздолье, и даже можно поиграть</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAASXMWqeCU4J8je_UIYNvYNoTpa5htxlAWxNVnU_tMg9FKj5KJTUMZlBk17x3A3bIc2oLCn-g8hUK3TzLLd_uxkscvHcv_xikXrz2hfPt8_INqyFdi6rKCDZLrx085dYS7Vo5oA7GlGM/s1600/BSCF2692.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAASXMWqeCU4J8je_UIYNvYNoTpa5htxlAWxNVnU_tMg9FKj5KJTUMZlBk17x3A3bIc2oLCn-g8hUK3TzLLd_uxkscvHcv_xikXrz2hfPt8_INqyFdi6rKCDZLrx085dYS7Vo5oA7GlGM/s320/BSCF2692.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSSEIEUMhoBRxFsvpux_wWzOZ1ZP4Y0hPqwjPdfYJle33EzdIXZxdTtzAlHxFM-y_vjjJDyFwkfivJTCwBcbjiEbu-t4iVzDV1zSCYFbREGXdKeJfhHgWcBAij9r1KD60uNvhWe1TsC1E/s1600/BSCF2770.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSSEIEUMhoBRxFsvpux_wWzOZ1ZP4Y0hPqwjPdfYJle33EzdIXZxdTtzAlHxFM-y_vjjJDyFwkfivJTCwBcbjiEbu-t4iVzDV1zSCYFbREGXdKeJfhHgWcBAij9r1KD60uNvhWe1TsC1E/s320/BSCF2770.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Да, раньше не только игры, но и программы записывались на обычные кассеты и считывались с помощью такого устройства (а во многих использовался обычный магнитофон).</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3wHsV-p0H8jBDCjLiVJeLzmlXht_ae0w-4r6rrYEl1aCehdtOJN-8yrUaH4En3aEb7UEECoAR2-X_rW0djpTleF04E12VsAAboi-0cRfqUEKooyZ1WY1Om9AgxMYr3JRxGM5Ln_3II5U/s1600/BSCF2711.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3wHsV-p0H8jBDCjLiVJeLzmlXht_ae0w-4r6rrYEl1aCehdtOJN-8yrUaH4En3aEb7UEECoAR2-X_rW0djpTleF04E12VsAAboi-0cRfqUEKooyZ1WY1Om9AgxMYr3JRxGM5Ln_3II5U/s320/BSCF2711.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Этот Mac подарил музею эстонский писатель Энна Ныу, купивший его в 1996 году для работы, но в то время издательства с которыми он работал, не поддерживали форматы файлов Mac и он был вынужден перейти на PC и Windows.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwpEk89Mk0CnauKS-5Sytl30CFV5lODFdIIBK_HWYKycd6ZdipK7Euq6bAYL4DrVDjhKsi8P7uTB9SNtl72Lcq9yOcuwbEIqa_R46RtusT823tU4PBc4FEV36_TWeu1HIcClzmN1SgGRU/s1600/BSCF2716.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwpEk89Mk0CnauKS-5Sytl30CFV5lODFdIIBK_HWYKycd6ZdipK7Euq6bAYL4DrVDjhKsi8P7uTB9SNtl72Lcq9yOcuwbEIqa_R46RtusT823tU4PBc4FEV36_TWeu1HIcClzmN1SgGRU/s320/BSCF2716.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
В чем-то похожая судьба и у этой мощной рабочей станции Silicon Graphics, хозяин которой вскоре после приобретения понял что ему не нужен столь мощный компьютер и отставил его на много лет, прежде чем передать музею.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdp_qh4PHswcoc6kY1qE6u30UPL9-D648gDZ9PL_5ctxvObqCoL1aiZFy8doKjGhF6v6fhWkJXBOVplXmbt4BP-fl3SKDCTWouHHwSqFywlVcxTfx9KyQ9_x3SE3hYcAnkIuwaBgqKqr0/s1600/BSCF2758.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdp_qh4PHswcoc6kY1qE6u30UPL9-D648gDZ9PL_5ctxvObqCoL1aiZFy8doKjGhF6v6fhWkJXBOVplXmbt4BP-fl3SKDCTWouHHwSqFywlVcxTfx9KyQ9_x3SE3hYcAnkIuwaBgqKqr0/s320/BSCF2758.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Макинтоши начальной линейки тех лет узнают некоторые американцы приезжающие в музей - они помнят их по занятиям в школе. Эх, нашим бы школьникам такое обеспечение!)</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnQVdgfwk1mfLV7HN83DK_7iyz7s6-rFPXW2v9XPvyyfPJOr0Jrc0ZfMmU7h_lG3Wp3qmbziNgf1vQdw9WuYlfZulVtgU-XnWCrTh9kxyoRx1KzwGpONyD4dqvCbsHqFO8yVQXYLm78b4/s1600/BSCF2725.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnQVdgfwk1mfLV7HN83DK_7iyz7s6-rFPXW2v9XPvyyfPJOr0Jrc0ZfMmU7h_lG3Wp3qmbziNgf1vQdw9WuYlfZulVtgU-XnWCrTh9kxyoRx1KzwGpONyD4dqvCbsHqFO8yVQXYLm78b4/s320/BSCF2725.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Кстати о школьниках, вот эстонский компьютер предназначенный для обучения Juku E5101 с монитором Электроника, 1988 год.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_SAkKJEj2_rwxgu8AXSotx__xji9vHpOHBog7lXsAQYuUEmBXCzCCcv8f1CBP1zdyXHL3HZtb7IblLsSQyG_XCkM_afZTFj6QcnQ76uVA2XLFJBnLNO0VSFLAS_CkoJ-0UhuHnxY8zRs/s1600/BSCF2700.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_SAkKJEj2_rwxgu8AXSotx__xji9vHpOHBog7lXsAQYuUEmBXCzCCcv8f1CBP1zdyXHL3HZtb7IblLsSQyG_XCkM_afZTFj6QcnQ76uVA2XLFJBnLNO0VSFLAS_CkoJ-0UhuHnxY8zRs/s320/BSCF2700.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
А это знаменитый Sinclair ZX Spectrum!</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilM2EeNG40d3EwVLfmJBHKEehvTodwgRA4PN1zToaI9LM9DAIwJfUKTqDOZRJ_pyEB3OURuQd6RmojKY6Ro9x4NRuwOuQ-a7n8rxc-MPSaqmblYaYURRRO12D5YRkJxiQ8_m9VHpcQAY8/s1600/BSCF2703.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilM2EeNG40d3EwVLfmJBHKEehvTodwgRA4PN1zToaI9LM9DAIwJfUKTqDOZRJ_pyEB3OURuQd6RmojKY6Ro9x4NRuwOuQ-a7n8rxc-MPSaqmblYaYURRRO12D5YRkJxiQ8_m9VHpcQAY8/s320/BSCF2703.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
И инструкция на русском языке 1991 года.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vLghY88Jt9YtZqN479aAzjOOOwk_AVXfUGU6Q6xR8Kvmw2_KTRSBz6PHSSDGfOIleydkV9zxd26-9-_BHfjIYhxWSQED0z4IQcTDrW8ZdhV7VahBUP5hxjsr4GmtPCoIMVIeA1vKJpI/s1600/BSCF2724.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vLghY88Jt9YtZqN479aAzjOOOwk_AVXfUGU6Q6xR8Kvmw2_KTRSBz6PHSSDGfOIleydkV9zxd26-9-_BHfjIYhxWSQED0z4IQcTDrW8ZdhV7VahBUP5hxjsr4GmtPCoIMVIeA1vKJpI/s320/BSCF2724.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Не все технологии, даже удачные, прижились и этот терминал коммерческой сети, одной из предшественниц Интернет, тому подтверждение.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJYDbo_NteGKA44DeycsGUJtvxZfyHeJHMOoVQoDPEKo0j0U2cOkt3Zhzd27XRngb3R2bBCQX_2-10fQslxGsTvVeClPv9UUSNldim8IBfDkQIX-H1igy89rp4ChMwK49L1jm8a1qgiig/s1600/BSCF2751.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJYDbo_NteGKA44DeycsGUJtvxZfyHeJHMOoVQoDPEKo0j0U2cOkt3Zhzd27XRngb3R2bBCQX_2-10fQslxGsTvVeClPv9UUSNldim8IBfDkQIX-H1igy89rp4ChMwK49L1jm8a1qgiig/s320/BSCF2751.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Портативный компьютер слева, TRS-80, возможно вспомнят журналисты со стажем, которым выдавали такие устройства для оперативной обработки информации.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGbNN6AXIMqrEDPPzAHW4lxa5hflq8UKoznulS3E58KobjhFfGGdE0e9QFScwEfGyCguFTnx2qaF6RuqOKAF9fGka2zn0WzQtX3Oo_iFBsYjomDLk7DgOHz3tdQzxeiw20UpHlBRf2Aw0/s1600/BSCF2693.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGbNN6AXIMqrEDPPzAHW4lxa5hflq8UKoznulS3E58KobjhFfGGdE0e9QFScwEfGyCguFTnx2qaF6RuqOKAF9fGka2zn0WzQtX3Oo_iFBsYjomDLk7DgOHz3tdQzxeiw20UpHlBRf2Aw0/s320/BSCF2693.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
А так выглядели первые планшеты. Не имея всех "наворотов" своих современных собратьев они были в целом гораздо надежнее. Как пример можно привести способ хранения и переноса информации: сейчас одним из самых популярных способов являются USB-флешки, "выпирающий" конструктив которых является, однако, причиной частых физических повреждений самой флешки или порта, а у этих "старичков" съемные модули памяти расположены внутри.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh96eTs-65KMhy6yjMP3eZqkVBBU6HHs4ZkCXNPepaIFLeCg6UOS2Np_XmdSYDPd5hynqljNxbrZGwyh3T0SDQS3_BjoHiufG5h-kepEaMF59V6G_OukiBmcIlGBEelpPyanFNKSyXVUaE/s1600/BSCF2744.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh96eTs-65KMhy6yjMP3eZqkVBBU6HHs4ZkCXNPepaIFLeCg6UOS2Np_XmdSYDPd5hynqljNxbrZGwyh3T0SDQS3_BjoHiufG5h-kepEaMF59V6G_OukiBmcIlGBEelpPyanFNKSyXVUaE/s320/BSCF2744.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Atari Portfolio 1989 года! Та самая модель, с помощью которой Джон Коннор в Терминаторе 2 взламывал банкомат!)</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVAzXW86scHeN-Z0-H7jLHU30mXpLZG6CSjLfuezorl6QKpTDIoXprwXfnDeKnhxJuPdrfyXqnYlEXaTjeoR69IvK9JXSOQKXm25DhIcmlnJvuutaJMYG0VA8Ie9WQbmeymYmsGV3op80/s1600/BSCF2706.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1017" data-original-width="1500" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVAzXW86scHeN-Z0-H7jLHU30mXpLZG6CSjLfuezorl6QKpTDIoXprwXfnDeKnhxJuPdrfyXqnYlEXaTjeoR69IvK9JXSOQKXm25DhIcmlnJvuutaJMYG0VA8Ie9WQbmeymYmsGV3op80/s320/BSCF2706.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Olivetti ETV-260 - "рабочая станция секретаря", довольно редкое устройство, фактически представляющее собой отдельный аппаратный комплекс для работы с текстом, в виде принтера, монитора и компьютера.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO8JpeecYqZo4-7DRNk83F1mjQLzUbwiV6GP1_cTDmjDc49vnyJltVIgUF0-XnTiO0prWy7M_peTbdqVVtYwfTztrh6FRT2Ly6KHN2yVZnG8XO_o43v6ZaoBn3B2GBEDPS7_UL_tNJi08/s1600/BSCF2731.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO8JpeecYqZo4-7DRNk83F1mjQLzUbwiV6GP1_cTDmjDc49vnyJltVIgUF0-XnTiO0prWy7M_peTbdqVVtYwfTztrh6FRT2Ly6KHN2yVZnG8XO_o43v6ZaoBn3B2GBEDPS7_UL_tNJi08/s320/BSCF2731.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Техника для профессионалов, в целом, впечатляет больше "любительской", в том числе этот "ноутбук" IBM, который еще не относился к категории ручной клади в самолете, имея вес 14 кг, в том числе из-за ударопрочной конструкции, которая себя оправдала судя по довольно солидным вмятинам на корпусе и факту, что машина до сих пор работает)</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiid9jOhdK7rXRd157CL8I1bizKuIRNlUJGDfPMMesCgxIgl8WKG-WUNVL0VF2LO8sBaX7m1knieuTR7MUd-UByy9ZqQ0XOpfCFzOiYiS3QC1o_8pL2XvyVrsJyl_-gPkUnt3TEglkQWho/s1600/BSCF2729.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiid9jOhdK7rXRd157CL8I1bizKuIRNlUJGDfPMMesCgxIgl8WKG-WUNVL0VF2LO8sBaX7m1knieuTR7MUd-UByy9ZqQ0XOpfCFzOiYiS3QC1o_8pL2XvyVrsJyl_-gPkUnt3TEglkQWho/s320/BSCF2729.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
8-процессорный суперкомпьютер Parsytec представляет собой образец инженерного дизайна: помимо значительной производительности достигнутой в компактном корпусе на момент своего создания (1994 год), его создатели не поскупились металл во внешнем оформлении (не чета нынешней экономии при производстве комплектующих).</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgcaNq9TZxIQFtZcr2p_brEGyImQXtzvXVWyGdMQkPTObVa4TmQA_61wFkQLV6xxInsTick4WmsZqOaJhWN19ZzBPflczv2JXQ1U0YdXxnEFsgWQtG4GGbW_NaMbKCMZcobsOXfZ2dcdA/s1600/BSCF2761.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgcaNq9TZxIQFtZcr2p_brEGyImQXtzvXVWyGdMQkPTObVa4TmQA_61wFkQLV6xxInsTick4WmsZqOaJhWN19ZzBPflczv2JXQ1U0YdXxnEFsgWQtG4GGbW_NaMbKCMZcobsOXfZ2dcdA/s320/BSCF2761.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
На таких терминалах, как слева, работали первые версии UNIX.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbzgmV8mnRxmMWFelbVbH8zin4cFkrJ-8_c7y29YW3A59vy5QWEQK5_v1wEyv3rG3tuCFsw5lZy6VHzHyQ2dCmvVtNsM3dlWSSDtVV5gBGAV6M2Znpu5cp8iS1USaTcBRTJkHTOzYOvdM/s1600/BSCF2775.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbzgmV8mnRxmMWFelbVbH8zin4cFkrJ-8_c7y29YW3A59vy5QWEQK5_v1wEyv3rG3tuCFsw5lZy6VHzHyQ2dCmvVtNsM3dlWSSDtVV5gBGAV6M2Znpu5cp8iS1USaTcBRTJkHTOzYOvdM/s320/BSCF2775.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Вблизи можно увидеть то, что называют "выгоранием экрана".</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_yHDkEwHhysEp45Lco9WwIsTQpdFDxnH-CDvZDHanydNGuKAwThAVkuZy_y_7zC4qfJsUQwJKo7YxRW1fAhU-UeGWjoNOU4lD1uGdaeIaVxFIvExwuFm_5QyiQPqMvWhBoqLfYMIDK0s/s1600/BSCF2738.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1118" data-original-width="1500" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_yHDkEwHhysEp45Lco9WwIsTQpdFDxnH-CDvZDHanydNGuKAwThAVkuZy_y_7zC4qfJsUQwJKo7YxRW1fAhU-UeGWjoNOU4lD1uGdaeIaVxFIvExwuFm_5QyiQPqMvWhBoqLfYMIDK0s/s320/BSCF2738.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9nHWMjnV4tM7pPu73eIPX1jdtXimaWHAqLMN-iMX6dB9x8tPKTJs8s5Q6rw9ibZWf7eSCp5ufq-OO6ZiXLzoLctrbCLE49ATocHkP6l3a5jy8cPmdgIG2vt3p9KfG9-k5xaC6s3AvVNg/s1600/BSCF2741.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9nHWMjnV4tM7pPu73eIPX1jdtXimaWHAqLMN-iMX6dB9x8tPKTJs8s5Q6rw9ibZWf7eSCp5ufq-OO6ZiXLzoLctrbCLE49ATocHkP6l3a5jy8cPmdgIG2vt3p9KfG9-k5xaC6s3AvVNg/s320/BSCF2741.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
У калькуляторов отдельный стенд.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaq035XrhnVmndZbmIuc_5pwPsOqbOuSqezBrYbFGzMzX88RScAC8dO1_i6dtsI2kQxZDQbHRjSwmCYa7VQ8J4b1vNwDaL_qCSenKaTOPIMGhzsk46eygWen9cTqMt7vUbKQDUFZWJL_E/s1600/BSCF2762.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaq035XrhnVmndZbmIuc_5pwPsOqbOuSqezBrYbFGzMzX88RScAC8dO1_i6dtsI2kQxZDQbHRjSwmCYa7VQ8J4b1vNwDaL_qCSenKaTOPIMGhzsk46eygWen9cTqMt7vUbKQDUFZWJL_E/s320/BSCF2762.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Как и у арифмометров.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ6vFNTUTdFxM9YOjrr6VE8vdNt-xCxMY8_QiNH-8PGnrDHx9hPPWD5XrTIjaIGQ97T1JMZGYmYIfZy_60K5fpFwmXDmDuOZxxWDmRyGa7-CFz825VxB47L7wJKXx_F5nqnLYU-lZRb-A/s1600/BSCF2737.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ6vFNTUTdFxM9YOjrr6VE8vdNt-xCxMY8_QiNH-8PGnrDHx9hPPWD5XrTIjaIGQ97T1JMZGYmYIfZy_60K5fpFwmXDmDuOZxxWDmRyGa7-CFz825VxB47L7wJKXx_F5nqnLYU-lZRb-A/s320/BSCF2737.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
А здесь интересная история связана не столько с компьютером, как с инструкцией к нему, вернее с обложкой. Исследователи заинтересовались личностью женщины изображенной на ней и выяснили, что это не профессиональная модель, а работница предприятия выпускавшего технику и за неимением времени при запуске продукции, руководство решило использовать это фото в рекламных целях)</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3ulLK8mjJnm7PKAvfmHg_EuyvyEDSdgz2bthn8B_wcHC1QImopL0yZbtKCWPE0KemlN-LNdVSjUxHihpv-GBbYpBlY3sqv-ieEHq1ZDAIXAUu5B8sFOBw0k3cdfcb88NcIB9v9JzVtas/s1600/BSCF2697.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1500" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3ulLK8mjJnm7PKAvfmHg_EuyvyEDSdgz2bthn8B_wcHC1QImopL0yZbtKCWPE0KemlN-LNdVSjUxHihpv-GBbYpBlY3sqv-ieEHq1ZDAIXAUu5B8sFOBw0k3cdfcb88NcIB9v9JzVtas/s320/BSCF2697.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Ну и конечно же все помнят серию "Для чайников", на которой выросло целое поколение ИТ-специалистов и не только) </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Несмотря на довольно длинный пост, о музее и его коллекции можно еще рассказывать еще очень много. Но самый лучший вариант - не просто посмотреть а Интернете, а поехать в Таллин, по адресу Tuuliku tee 4c и увидеть все самому.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Сайт музея - <a href="http://www.arvutimuuseum.ee/" target="_blank">www.arvutimuuseum.ee</a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-66706190273144566542017-06-16T10:33:00.001-07:002017-06-16T10:33:11.449-07:00Коллекция основ по программированию<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
Нашёл на просторах веба:</div>
<div>
<br /></div>
<div>
<h3 style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; text-align: justify;">
<a name='more'></a>The greatest of the great (mentioned by many people):</h3>
<dl style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; font-size: 12px; text-align: justify;">
<dt><a href="https://www.blogger.com/null" name="Hoare69"></a></dt>
<dd>C. A. R. Hoare. An axiomatic basis for computer programming. <i>Communications of the ACM</i>, 12(10):576-580 and 583, October 1969.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/great-bib.html#Hoare69" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Landin66"></a></dt>
<dd>Peter J. Landin. The next 700 programming languages. <i>Communications of the ACM</i>, 9(3):157-166, March 1966.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/great-bib.html#Landin66" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Milner78"></a></dt>
<dd>Robin Milner. A theory of type polymorphism in programming. <i>Journal of Computer and System Sciences</i>, 17:348-375, August 1978.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/great-bib.html#Milner78" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Plotkin:CallByNameCallByValue"></a></dt>
<dd>Gordon Plotkin. Call-by-name, call-by-value, and the λ-calculus. <i>Theoretical Computer Science</i>, 1:125-159, 1975.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/great-bib.html#Plotkin:CallByNameCallByValue" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="REYNOLDS74"></a></dt>
<dd>John C. Reynolds. Towards a theory of type structure. In <i>Colloque sur la Programmation, Paris, France</i>, volume 19 of <i>Lecture Notes in Computer Science</i>, pages 408-425. Springer-Verlag, 1974.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/great-bib.html#REYNOLDS74" style="color: #666666; text-decoration: none;">bib</a> ]</dd></dl>
<div style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; font-size: 12px; text-align: justify;">
</div>
<h3 style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; text-align: justify;">
Pretty great works (mentioned by multiple people):</h3>
<dl style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; font-size: 12px; text-align: justify;">
<dt><a href="https://www.blogger.com/null" name="Cardelli88"></a></dt>
<dd>Luca Cardelli. A semantics of multiple inheritance. In G. Kahn, D. MacQueen, and G. Plotkin, editors, <i>Semantics of Data Types</i>, volume 173 of <i>Lecture Notes in Computer Science</i>, pages 51-67. Springer-Verlag, 1984. Full version in Information and Computation, 76(2/3):138-164, 1988.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Cardelli88" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="DAMAS82"></a></dt>
<dd>Luis Damas and Robin Milner. Principal type schemes for functional programs. In <i>ACM Symposium on Principles of Programming Languages (POPL), Albuquerque, New Mexico</i>, pages 207-212, 1982.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#DAMAS82" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Dijkstra:60"></a></dt>
<dd>Edsger W. Dijkstra. Recursive programming. In Saul Rosen, editor, <i>Programming Systems and Languages</i>, chapter 3C, pages 221-227. McGraw-Hill, New York, 1960.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Dijkstra:60" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Dijkstra68"></a></dt>
<dd>Edsger W. Dijkstra. Go to statement considered harmful. 11(3):147-148, March 1968.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Dijkstra68" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Howard80"></a></dt>
<dd>William A. Howard. The formulas-as-types notion of construction. In J. P. Seldin and J. R. Hindley, editors, <i>To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism</i>, pages 479-490. Academic Press, 1980. Reprint of 1969 article.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Howard80" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Kowalski74"></a></dt>
<dd>Robert Kowalski. Predicate logic as programming language. In <i>IFIP Congress</i>, pages 569-574, 1974. Reprinted in Computers for Artificial Intelligence Applications, (eds. Wah, B. and Li, G.-J.), IEEE Computer Society Press, Los Angeles, 1986, pp. 68-73.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Kowalski74" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Landin64"></a></dt>
<dd>Peter J. Landin. The mechanical evaluation of expressions. <i>Computer Journal</i>, 6(4):308-320, January 1964.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Landin64" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="MCCARTHY60"></a></dt>
<dd>John McCarthy. Recursive functions of symbolic expressions and their computation by machine, part I. <i>Communications of the ACM</i>, 3(4):184-195, April 1960.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#MCCARTHY60" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="MoggiMonads89"></a></dt>
<dd>Eugenio Moggi. Computational lambda-calculus and monads. In <i>IEEE Symposium on Logic in Computer Science (LICS), Asilomar, California</i>, pages 14-23, June 1989. Full version, titled <i>Notions of Computation and Monads</i>, in Information and Computation, 93(1), pp. 55-92, 1991.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#MoggiMonads89" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="tal-toplas"></a></dt>
<dd>Greg Morrisett, David Walker, Karl Crary, and Neal Glew. From System-F to typed assembly language. <i>ACM Transactions on Programming Languages and Systems</i>, 21(3):527-568, May 1999.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#tal-toplas" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="POPL::Necula1997"></a></dt>
<dd>George C. Necula. Proof-carrying code. In <i>ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Paris, France</i>, pages 106-119, January 1997.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#POPL::Necula1997" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Plotkin77"></a></dt>
<dd>Gordon D. Plotkin. LCF considered as a programming language. <i>Theoretical Computer Science</i>, 5:223-255, 1977.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Plotkin77" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Plotkin:NatSemTR"></a></dt>
<dd>Gordon D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, Aarhus, Denmark, September 1981.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#Plotkin:NatSemTR" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="AITR-474"></a></dt>
<dd>Guy Lewis Steele, Jr. RABBIT: A compiler for SCHEME. Technical Report AITR-474, MIT Artificial Intelligence Laboratory, May 6 1978.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/prettygood-bib.html#AITR-474" style="color: #666666; text-decoration: none;">bib</a> | <a href="ftp://publications.ai.mit.edu/ai-publications/0-499/AITR-474.ps;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-474.pdf" style="color: #666666; text-decoration: none;">.pdf</a> ]</dd></dl>
<div style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; font-size: 12px; text-align: justify;">
</div>
<h3 style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; text-align: justify;">
A great many great works (mentioned at least once): </h3>
<dl style="background-color: whitesmoke; font-family: verdana, arial, sans-serif; font-size: 12px; text-align: justify;">
<dt><a href="https://www.blogger.com/null" name="BoehmJacopini"></a></dt>
<dd>C. Boehm and G. Jacopini. Flow diagrams, Turing machines, and languages with only two formation rules. <i>Communications of the ACM</i>, 9(5):366-371, 1966.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#BoehmJacopini" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Church:SimplyTyped"></a></dt>
<dd>Alonzo Church. A formulation of the simple theory of types. <i>Journal of Symbolic Logic</i>, 5:56-68, 1940.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Church:SimplyTyped" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Church41:CalcOfLambdaConv"></a></dt>
<dd>Alonzo Church. <i>The Calculi of Lambda Conversion</i>. Princeton University Press, 1941.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Church41:CalcOfLambdaConv" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="CurryFeys"></a></dt>
<dd>Haskell B. Curry and Robert Feys. <i>Combinatory Logic</i>, volume 1. North Holland, 1958. Second edition, 1968.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#CurryFeys" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Dahl&66"></a></dt>
<dd>O. J. Dahl and K. Nygaard. SIMULA-An ALGOL-based simulation language. <i>Communications of the ACM</i>, 9(9):671-678, September 1966.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Dahl&66" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="felleisen90expressivejournal"></a></dt>
<dd>Matthias Felleisen. On the expressive power of programming languages. <i>Science of Computer Programming</i>, 17(1-3):35-75, December 1991.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#felleisen90expressivejournal" style="color: #666666; text-decoration: none;">bib</a> | <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/www.sciencedirect.com/science/article/%7BB%7D6%7BV%7D17-45%7BGMGK%7D8-%7BX%7D/2/d9b687271373cf1bbdb69d30bb1d8eb2" style="color: #666666; text-decoration: none;">www</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="filinski99representing"></a></dt>
<dd>Andrzej Filinski. Representing layered monads. In <i>ACM Symposium on Principles of Programming Languages (POPL), San Antonio, Texas</i>, pages 175-188, New York, NY, 1999.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#filinski99representing" style="color: #666666; text-decoration: none;">bib</a> | <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/citeseer.ist.psu.edu/filinski99representing.html" style="color: #666666; text-decoration: none;">.html</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="FLOYD67"></a></dt>
<dd>Robert W. Floyd. Assigning meanings to programs. In J. T. Schwartz, editor, <i>Mathematical Aspects of Computer Science</i>, volume 19 of <i>Proceedings of Symposia in Applied Mathematics</i>, pages 19-32, Providence, Rhode Island, 1967. American Mathematical Society.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#FLOYD67" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="GORDON77"></a></dt>
<dd>Michael J. Gordon, Robin Milner, F. Lockwood Morris, Malcolm Newey, and Christopher P. Wadsworth. A metalanguage for interactive proof in LCF. Internal Report CSR-16-77, University of Edinburgh, Edinburgh, Scotland, September 1977.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#GORDON77" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="HOARE71A"></a></dt>
<dd>C. A. R. Hoare. Proof of a program: FIND. <i>Communications of the ACM</i>, 14(1):39-45, January 1971.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#HOARE71A" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Hoare78:CSP"></a></dt>
<dd>C. A. R. Hoare. Communicating sequential processes. <i>Communications of the ACM</i>, 21(8):666-677, August 1978. Reprinted in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Hoare78:CSP" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="johnsson85lambda"></a></dt>
<dd>Thomas Johnsson. Lambda lifting: transforming programs to recursive equations. In <i>Functional programming languages and computer architecture. Proc. of a conference (Nancy, France, Sept. 1985)</i>, pages 190-203, New York, NY, USA, 1985. Springer-Verlag Inc.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#johnsson85lambda" style="color: #666666; text-decoration: none;">bib</a> | <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/citeseer.ist.psu.edu/johnsson85lambda.html" style="color: #666666; text-decoration: none;">.html</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="partial"></a></dt>
<dd>Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. <i>Partial Evaluation and Automatic Program Generation</i>. Prentice Hall International, Hemel Hempstead, Hertfordshire, UK, 1993.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#partial" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Kah74"></a></dt>
<dd>G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, <i>Information processing</i>, pages 471-475, Stockholm, Sweden, Aug 1974. North Holland, Amsterdam.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Kah74" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="KAHN87"></a></dt>
<dd>Gilles Kahn. Natural semantics. In Franz-Josef Brandenburg, Guy Vidal-Naquet, and Martin Wirsing, editors, <i>Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS)</i>, volume 247 of <i>Lecture Notes in Computer Science</i>, pages 22-39. Springer-Verlag, 1987.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#KAHN87" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="knuth:goto"></a></dt>
<dd>Donald E. Knuth. Structured programming with go to statements. <i>Computing Surveys</i>, 6(4):261-301, 1974.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#knuth:goto" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Milner80"></a></dt>
<dd>Robin Milner. <i>A Calculus of Communicating Systems</i>, volume 92 of <i>Lecture Notes in Computer Science</i>. Springer-Verlag, 1980.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Milner80" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="NAUR63"></a></dt>
<dd>Peter Naur et al. Revised report on the algorithmic language ALGOL 60. <i>Communications of the ACM</i>, 6(1):1-17, January 1963.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#NAUR63" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="REYNOLDS83"></a></dt>
<dd>John C. Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, <i>Information Processing 83, Paris, France</i>, pages 513-523. Elsevier, 1983.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#REYNOLDS83" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Reynolds:HOSC98"></a></dt>
<dd>John C. Reynolds. Definitional interpreters for higher-order programming languages. <i>Higher-Order and Symbolic Computation</i>, 11(4):363-397, 1998. Reprinted from the proceedings of the 25th ACM National Conference (1972), with a foreword.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Reynolds:HOSC98" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Scott72"></a></dt>
<dd>Dana Scott. Continuous lattices. In F. W. Lawvere, editor, <i>Toposes, Algebraic Geometry, and Logic</i>, number 274 in Lecture Notes in Mathematics, pages 97-136. Springer-Verlag, 1972.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Scott72" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="scott-strachey"></a></dt>
<dd>Dana Scott and Christopher Strachey. Toward a mathematical semantics for computer languages. Programming Research Group Technical Monograph PRG-6, Oxford Univ. Computing Lab., 1971.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#scott-strachey" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="SCOTT70B"></a></dt>
<dd>Dana S. Scott. Outline of a mathematical theory of computation. Technical Monograph PRG-2, Oxford University Computing Laboratory, Oxford, England, November 1970.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#SCOTT70B" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="SmithBrian84"></a></dt>
<dd>Brian Cantwell Smith. Reflection and semantics in lisp. In <i>ACM Symposium on Principles of Programming Languages (POPL), Salt Lake City, Utah</i>, pages 23-39, January 1984.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#SmithBrian84" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="strachey-semantics"></a></dt>
<dd>Christopher Strachey. Towards a formal semantics. In <i>Formal Language Description Languages for Computer Programming</i>, pages 198-220. North Holland, 1966.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#strachey-semantics" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="STRACHEY67"></a></dt>
<dd>Christopher Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Computer Programming, Copenhagen, August 1967. Reprinted in <i>Higher-Order and Symbolic Computation</i>, 13(1/2), pp. 1-49, 2000.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#STRACHEY67" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="strachey-wadsworth"></a></dt>
<dd>Christopher Strachey and Christopher P. Wadsworth. Continuations: A mathematical semantics for handling full jumps. Programming Research Group Technical Monograph PRG-11, Oxford Univ. Computing Lab., 1974. Reprinted in <i>Higher-Order and Symbolic Computation</i>, vol. 13 (2000), pp. 135-152.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#strachey-wadsworth" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Tur79"></a></dt>
<dd>D. A. Turner. A new implementation technique for applicative languages. <i>Software - Practice and Experience</i>, 9(1):31-49, Jan 1979.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Tur79" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="self"></a></dt>
<dd>David Ungar and Randall B. Smith. Self: The power of simplicity. <i>Lisp and Symbolic Computation</i>, 4(3):187-205, 1991.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#self" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="Wir73"></a></dt>
<dd>N. Wirth. The programming language Pascal (revised report). Technical report 5, Dept. Informatik, Inst. Fьr Computersysteme, ETH Zьrich, Zьrich, Switzerland, Jul 1973.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#Wir73" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="WIRTH66"></a></dt>
<dd>Niklaus Wirth and C. A. R. Hoare. A contribution to the development of ALGOL. <i>Communications of the ACM</i>, 9(6):413-432, June 1966.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#WIRTH66" style="color: #666666; text-decoration: none;">bib</a> ]</dd>
<dt><a href="https://www.blogger.com/null" name="IC::WrightF1994"></a></dt>
<dd>Andrew K. Wright and Matthias Felleisen. A syntactic approach to type soundness. <i>Information and Computation</i>, 115(1):38-94, November 1994.<br />[ <a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/all-bib.html#IC::WrightF1994" style="color: #666666; text-decoration: none;">bib</a> ]</dd></dl>
</div>
<div>
Взято здесь:</div>
<div>
<br /></div>
<a href="http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml" rel="nofollow" target="_blank">Great Works in Programming Languages</a><br /></div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-39686959388344142652017-05-28T10:33:00.000-07:002017-05-28T10:33:35.994-07:00Бесплатные электронные книги от O'Reilly<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOaPWcxfLbu4JCIS1pzMXOJNCCEEmLqa-dAMZ2Vhr_Vt8vjLlmBm7ThkVXCifX_CLpvwUY5fUS_H-22gtHB2NDOiiRtSVjaxHQtnEH6ZQjfEqH_mPLAQFtdYempbC1UkdsOCGPL8b_Tcc/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+2017-05-28+%25D0%25B2+20.27.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="363" data-original-width="765" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOaPWcxfLbu4JCIS1pzMXOJNCCEEmLqa-dAMZ2Vhr_Vt8vjLlmBm7ThkVXCifX_CLpvwUY5fUS_H-22gtHB2NDOiiRtSVjaxHQtnEH6ZQjfEqH_mPLAQFtdYempbC1UkdsOCGPL8b_Tcc/s400/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+2017-05-28+%25D0%25B2+20.27.56.png" width="400" /></a></div>
<br />
<br />
<span style="text-align: justify;">Издательство O'Reilly выложило в свободный доступ ряд книг по программированию и среди них четыре касающиеся Java-разработки.</span><br />
<span style="text-align: justify;"><br /></span>
Из них я пока прочёл только книгу про микросервисы и могу рекомендовать её, как хорошее теоретическое введение по теме, с практическим дополнением в виде примеров начальной реализации на основных фреймворках.<br />
<br />
<a href="http://www.oreilly.com/programming/free/" target="_blank">http://www.oreilly.com/programming/free/</a></div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-57567545600984400312017-05-24T13:59:00.000-07:002017-05-24T13:59:18.721-07:00Копируем данные быстро (ObjectDB)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
В небольших проектах на Java часто возникает желание упаковать всё в один исполняемый файл, эдакий uber-jar, чтобы можно было легко и быстро развернуть код на любой машине. А плюшки серьезно развивающегося Spring Boot только этому способствуют.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Практически обязательный вопрос, который появится при создании проекта - какую базу данных (встроенную, естественно) использовать? Одним из удобных вариантов является ObjectDB - объектно-ориентированная база данных, реализующая стандарт JPA (Java Persistence API) <a href="http://www.objectdb.com/" target="_blank">http://www.objectdb.com</a> На сайте есть достаточно подробные инструкции по установке и использованию.</div>
<div style="text-align: justify;">
<br /></div>
<div>
<div style="text-align: justify;">
Однако, как быстро перенести табличные данные из имеющегося CSV или DSV файла?</div>
<div>
<a name='more'></a> Здесь может помочь небольшая CLI-программа, позволяющая записать информацию в файл ODB из исходного CSV/DSV или принимая данные со стандартного ввода.<br />
<br />
Для начала, создайте проект в вашей IDE и скопируйте в него entity-класс или классы (название не только класса, но и пакета должно совпадать с целевым проектом).<br />
Затем создайте два класса - Serializer и ODBCreate (исходный код доступен на <a href="https://github.com/bord81/Usefull-stuff/tree/File-or-console-input/ObjectDB/table-qcreate" target="_blank">https://github.com/bord81/Usefull-stuff/tree/File-or-console-input/ObjectDB/table-qcreate</a>).<br />
<br />
В классе Serializer нужно указать имя промежуточного файла для entity-класса:<br />
<br />
<span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> private</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">static</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">final</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">String</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> targetFile </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">=</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-s" style="box-sizing: border-box; color: #183691; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><span class="pl-pds" style="box-sizing: border-box;">"</span>your_entity.ser<span class="pl-pds" style="box-sizing: border-box;">"</span></span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">;</span><br />
<span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><br /></span>
И его название:<br />
<br />
<span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> SomeEntityClass</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> someEntityClass </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">=</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">new</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">SomeEntityClass</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">();</span><br />
<br />
После этого можно запустить ODBCreate.java и выбрать Serialize new class - 's'.<br />
<br />
Зачем это нужно? На следующем этапе, программа прочитает сериализованный entity-класс, используя рефлексию получит структуру его полей и создаст или обновит соответствующую таблицу в файле <span style="text-align: justify;">ObjectDB.</span><br />
<span style="text-align: justify;"><br /></span>
<span style="text-align: justify;"> Для этого в классе </span>ODBCreate нужно прописать следующее:<br />
<br />
Имя odb-файла<br />
<br />
<span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> private</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">static</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">final</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">String</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> oDBfile </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">=</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-s" style="box-sizing: border-box; color: #183691; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><span class="pl-pds" style="box-sizing: border-box;">"</span>filename.odb<span class="pl-pds" style="box-sizing: border-box;">"</span></span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">;</span><br />
<span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><br /></span>
Файл-источник (CSV/DSV)<br />
<br />
<span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> private</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">static</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">final</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">String</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> dbSource </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">=</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-s" style="box-sizing: border-box; color: #183691; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><span class="pl-pds" style="box-sizing: border-box;">"</span>filename.dsv<span class="pl-pds" style="box-sizing: border-box;">"</span></span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">;</span><br />
<br />
Символ-разделитель полей<br />
<br />
<span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">private</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">static</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">final</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-smi" style="box-sizing: border-box; color: #333333; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">String</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> dbSeparator </span><span class="pl-k" style="box-sizing: border-box; color: #a71d5d; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;">=</span><span style="background-color: white; color: #24292e; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"> </span><span class="pl-s" style="box-sizing: border-box; color: #183691; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; white-space: pre;"><span class="pl-pds" style="box-sizing: border-box;">"</span>;<span class="pl-pds" style="box-sizing: border-box;">"</span></span><br />
<br />
В зависимости от типа данных (Integer или Long), возможно прийдется поменять метод в первом блоке кода - Integer.parseInt или Long.parseLong.<br />
<br />
Далее программа запускается снова и данные переносятся непосредственно в базу, и, если их больше чем пару строк, то усилия на создание этого промежуточного проекта себя более чем оправдывают. Также возможен последовательный ввод данных с клавиатуры (для теста например).</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com4tag:blogger.com,1999:blog-9004994832808317611.post-43934046741728469772017-05-04T14:32:00.000-07:002017-05-24T00:37:55.656-07:00Девочка с пальчик<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjshSIZvLP_KBe4aTqI5EtbSib7BDY_yrmS62z4sbgU555HWJP5PZTMc4zpfPzJQwHsz2C5FYVV4e9KITC46yL_7qTB3eIdObJVk99q7d6DuanlFamxtdk_dWaBgdochOdJrhwyQKHDP78/s1600/1016540539.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjshSIZvLP_KBe4aTqI5EtbSib7BDY_yrmS62z4sbgU555HWJP5PZTMc4zpfPzJQwHsz2C5FYVV4e9KITC46yL_7qTB3eIdObJVk99q7d6DuanlFamxtdk_dWaBgdochOdJrhwyQKHDP78/s320/1016540539.jpg" width="235" /></a></div>
<span style="background-color: white; color: #181818; font-family: "merriweather" , "georgia" , serif; font-size: 14px; text-align: justify;"><br /></span>
<span style="background-color: white; color: #181818; font-family: "merriweather" , "georgia" , serif; font-size: 14px; text-align: justify;">Прочел текст блестящего, прозорливого мыслителя, но с другой стороны, где-то с середины текста, меня не покидало ощущение, что это отчаянная и где-то трагичная попытка оправдать "реалии" жизни молодого поколения современных людей (то есть и поколения его внучки). В целом, могу разделить гуманистические ценности, высказанные в книге, но полностью восторженные отзывы о ней в Интернете - нет. </span></div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-16975716616232633852015-10-15T10:16:00.000-07:002017-05-04T13:35:49.164-07:00Про вспышку<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB3P2wNg2vvcwZO087opR92vigFgvAjeYkIqIUIYRaXEEQQnqDbJb15g0P3JuGhWoNePppPjxYWr9UhonN-GSX_kqyd0Aywuken04EFXdr55QoGfhh7HwCt6zaal17iiAWzoWh04GqZPg/s1600/BFX_9081.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB3P2wNg2vvcwZO087opR92vigFgvAjeYkIqIUIYRaXEEQQnqDbJb15g0P3JuGhWoNePppPjxYWr9UhonN-GSX_kqyd0Aywuken04EFXdr55QoGfhh7HwCt6zaal17iiAWzoWh04GqZPg/s400/BFX_9081.jpg" width="400" /></a></div>
<br />
<br />
<br />
<a name='more'></a>Недавно мне задали вопрос про вспышку: "снимаю в помещении со вспышкой и она почему-то долго перезаряжается, что делать?". Я подумал, что подобный вопрос может интересовать многих начинающих (а бывает и не только) фотографов и публикую ответ также здесь.<br />
<br />
Решение в большинстве случаев элементарно просто - проверьте настройки камеры, в первую очередь ISO, если оно окажется в районе 100-400 - не бойтесь увеличить его! Современные камеры легко обеспечивают высокое качество изображения при съемке со вспышкой при ISO 1600 и даже выше. Более высокая чувствительность уменьшит мощность импульсов вспышки, ускорит ее работу и снизит нагрузку на глаза снимаемых :) Значение диафрагмы также важно, зажимать ее больше 5.6 (то есть до 8, 11 и так далее) стоит лишь в том случае если действительно нужна большая глубина резкости, например при съемке группового портрета. В остальных случаях диапазон от 2.8 до 5.6 более чем приемлем.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEydAiBPyBDYQ9F5QdE3ikMGYSLJ0HIUZ1dNh36su7tvGkIWpvOfdhmI122sB_uuz24rF05UG8WO-rws9qFG2-V_AJHPqd9q0Er0O0m_KGogdKQU_mbd-i8j_MagLtzpVV0fGucvHzQH0/s1600/BFX_9097.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEydAiBPyBDYQ9F5QdE3ikMGYSLJ0HIUZ1dNh36su7tvGkIWpvOfdhmI122sB_uuz24rF05UG8WO-rws9qFG2-V_AJHPqd9q0Er0O0m_KGogdKQU_mbd-i8j_MagLtzpVV0fGucvHzQH0/s400/BFX_9097.jpg" width="400" /></a></div>
<br />
<br />
P.S: Небольшой секрет: сделайте кадр без вспышки в ручном режиме (М), подобрав нормальную экспозицию и зажмите диафрагму или понизьте значение ISO на 1-2 ступени - таким образом вспышка осветит Ваш объект съемки, а фон останется достаточно проработанным благодаря имеющемуся освещению.<br />
P.P.S.: Появился слух, что Никон собирается обновить и без того удачную вспышку SB-910 - интересно, может быть появятся новые функции, например встроенная радиосинхронизация?</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0tag:blogger.com,1999:blog-9004994832808317611.post-74456569958807981372015-08-12T13:52:00.001-07:002017-05-04T13:36:21.713-07:00Real men<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
Вот смотрел когда-то фильмы про военных фотографов, про Нахтвея, "Безбашенных" или "Сальвадор" и никогда не думал, что в непосредственно в стране где я живу появится необходимость в такой профессии. Одни из этих мастеров сегодня - Максим Дондюк, Александр Гляделов, Максим Левин и Маркиян Лысейко. Соприкоснуться с их работами можно на открывшейся на днях выставке в музее Шевченко в Киеве.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqm_oszXCJqkWUSl39BUgOTQ9zLMsCARTji95U7aWobqgliL2cQUhVv1n5wTKQQEldWYueK58EQhvDI90eiV4Hm6T51w5wgEDu_aq__U42mL5NVUzi5rxOPmE_kyI-SX6GaleZ80Ka8gM/s1600/BFX_4262.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqm_oszXCJqkWUSl39BUgOTQ9zLMsCARTji95U7aWobqgliL2cQUhVv1n5wTKQQEldWYueK58EQhvDI90eiV4Hm6T51w5wgEDu_aq__U42mL5NVUzi5rxOPmE_kyI-SX6GaleZ80Ka8gM/s400/BFX_4262.jpg" width="400" /></a></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuXd7QPP48cfFFcjlC4puvwltm0o0Q9yFIhrZTm9tesYJeKGZw9J-6U9n-ma3DufHDNSmZ7Lr5yWB4ZshGrFKJJEfkk7Kc83Fo_i9mo7vgmudgWjxx9dfWQm5gIjkoNEIW05RqJOymFE/s1600/BFX_4276.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuXd7QPP48cfFFcjlC4puvwltm0o0Q9yFIhrZTm9tesYJeKGZw9J-6U9n-ma3DufHDNSmZ7Lr5yWB4ZshGrFKJJEfkk7Kc83Fo_i9mo7vgmudgWjxx9dfWQm5gIjkoNEIW05RqJOymFE/s400/BFX_4276.jpg" width="400" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM3QQLjeL5MvPuMPPksbiJKBZfctg2ywZLlQiCYG-zKB2fZi6z8u1nAPNOJkxP3xrUAvQl05DV9MIS8w1kX8RGO9DSJSSmnZ-5kA2isir9_IizkQ2X0f1mRwuAdeGOwZEetP_BLeoPv4w/s1600/BFX_4271.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM3QQLjeL5MvPuMPPksbiJKBZfctg2ywZLlQiCYG-zKB2fZi6z8u1nAPNOJkxP3xrUAvQl05DV9MIS8w1kX8RGO9DSJSSmnZ-5kA2isir9_IizkQ2X0f1mRwuAdeGOwZEetP_BLeoPv4w/s400/BFX_4271.jpg" width="265" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAOo_II9f_k7LDhZ6FCTwpjrpwyUdTIXNPt4-XY5IwW5DG9PuaTrIEGwDbC8OhwCOfyCmhJ2ioDaatd58CkfZUzO5Y8XN2zDDmKv7n2iYlPdjssW1J9LDDSHhzXN2-BUrkOV05UOtDyt0/s1600/BFX_4297.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAOo_II9f_k7LDhZ6FCTwpjrpwyUdTIXNPt4-XY5IwW5DG9PuaTrIEGwDbC8OhwCOfyCmhJ2ioDaatd58CkfZUzO5Y8XN2zDDmKv7n2iYlPdjssW1J9LDDSHhzXN2-BUrkOV05UOtDyt0/s400/BFX_4297.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>
Anonymoushttp://www.blogger.com/profile/16298505043067943770noreply@blogger.com0