<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.wpal &#187; wtf</title>
	<atom:link href="http://blog.web2.com.ua/category/wtf/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.web2.com.ua</link>
	<description>web, programming and linux</description>
	<lastBuildDate>Fri, 20 May 2011 13:29:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>swap на флешке</title>
		<link>http://blog.web2.com.ua/2010/10/12/swap-na-fleshke/</link>
		<comments>http://blog.web2.com.ua/2010/10/12/swap-na-fleshke/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 14:57:26 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[fdisk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openSuse]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[настройка]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[wtf!]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=985</guid>
		<description><![CDATA[У меня на работе очень тормозит веник. Да и комп не блещет производительностью. По-этому я решил попробывать перенести swap-раздел на флешку и узнать, как это скажется на скорости работы моего тазика. Начнём с того, что выполнять всё будем из-под рута. Можно было бы и карячится с помощью sudo, но&#8230; Первым делом  надо найти где же [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.web2.com.ua/wp-content/uploads/hoboken-swap-meet-2.jpg"><img class="alignleft size-thumbnail wp-image-990" title="swap" src="http://blog.web2.com.ua/wp-content/uploads/hoboken-swap-meet-2-180x200.jpg" alt="" width="180" height="200" /></a>У меня на работе очень тормозит веник. Да и комп не блещет производительностью. По-этому я решил попробывать перенести swap-раздел на флешку и узнать, как это скажется на скорости работы моего тазика.<span id="more-985"></span></p>
<p>Начнём с того, что выполнять всё будем из-под рута. Можно было бы и карячится с помощью sudo, но&#8230;</p>
<p>Первым делом  надо найти где же в устройствах сама флешка, дабы не отформатировать винты, а это не совсем приятное событие )</p>
<pre><code>linux-3kap:/home/wert2all # ls -l /dev/disk/by-id/*usb*
lrwxrwxrwx 1 root root  9 Окт  8 14:27 /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0 -&gt; ../../<strong>sdb</strong>
lrwxrwxrwx 1 root root 10 Окт  8 14:27 /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 -&gt; ../../<strong>sdb1</strong>
linux-3kap:/home/wert2all #</code></pre>
<p>Как видно с вывода команды, флешка у нас лежит в /dev/sdb. Вот на ней мы и будем проводить опыты.</p>
<p>Натравим на неё fdisk командой <em><strong>fdisk /dev/sdb</strong></em> и одостоверимся, что у нас один диск:</p>
<pre><code>linux-3kap:/home/wert2all # fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Команда (m для справки): p

Диск /dev/sdb: 8032 МБ, 8032092160 байт
255 heads, 63 sectors/track, 976 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x45ed9e0d

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1               1         976     7839688+   b  W95 FAT32

Команда (m для справки):</code></pre>
<p>Теперь наш файловую систему диска переведём в линуксовый своп. Для этого нажмём t в fdisk:</p>
<pre><code>Команда (m для справки): t
Выбранный раздел 1
Шестнадцатеричный код (введите L для получения списка кодов): l

0  Пустой    24  NEC DOS         81  Minix / ста  bf  Solaris
1  FAT12           39  Plan 9          82  Linux своп  c1  DRDOS/sec (FAT-
2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       40  Venix 80286     84  OS/2 скрыт c6  DRDOS/sec (FAT-
4  FAT16 &lt;32M      41  PPC PReP Boot   85  Linux расш  c7  Syrinx
5  Расшире  42  SFS             86  NTFS набор da  Данные н
6  FAT16           4d  QNX4.x          87  NTFS набор db  CP/M / CTOS / .
7  HPFS/NTFS       4e  QNX4.x 2-я ч  88  Linux plaintext de  Dell Utility
8  AIX             4f  QNX4.x 3-я ч  8e  Linux LVM       df  BootIt
9  AIX загру  50  OnTrack DM      93  Amoeba          e1  DOS access
a  OS/2 Boot-ме  51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS фс
e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
f  W95 расши  55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC
11  Скрытый  5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq диаг 61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  Скрытый  63  GNU HURD или ab  Darwin загр f2  DOS втори
16  Скрытый  64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  Скрытый  65  Novell Netware  b7  BSDI фс       fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI своп   fd  Автоопр
1b  Скрытый  75  PC/IX           bb  Boot Wizard с  fe  LANstep
1c  Скрытый  80  Old Minix       be  Solaris заг  ff  BBT
1e  Скрытый
Шестнадцатеричный код (введите L для получения списка кодов):</code></pre>
<p>Как видно с помощи, нам надо перевести диск в 82 код. Жмякаем и получаем:</p>
<pre><code>Шестнадцатеричный код (введите L для получения списка кодов): 82
Системный тип раздела 1 изменен на 82 (Linux своп / Solaris)</code></pre>
<p>Нажимаем  w, что заставит fdisk сохранить ихменения и выйти.</p>
<p>Теперь следует этот раздел отформатировать.   Если ваша система уже успела примонтировать флешку, то надо её вырвать с цепких рук ОС:</p>
<pre><code>umount /dev/sdb1</code></pre>
<p>Форматируем:</p>
<pre><code>linux-3kap:/home/wert2all # mkswap /dev/sdb1
Setting up swapspace version 1, size = 7839684 KiB
без метки, UUID=bca76fbb-e2d0-4f3d-ab3f-949bc0b233c5</code></pre>
<p>Всё, осталось её монтировать как свап при загрузке системы. Помните команду ls -l /dev/disk/by-id/*usb*  и вывод странно длиннкого названия для флешки, типа такого &#8211; /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 ? Вот эту строку нам надо бы скопировать в буфер и потом вставить в /etc/fstab.</p>
<p>Редактируем /etc/fstab, где находим строчку с с надписью swap во второй колонке. Вместо её надо бы в первой колонке вставить UUID ( длинный такой путь ) с нашей флешки. У меня это где-то так получилось:</p>
<pre><code>linux-3kap:/home/wert2all # cat /etc/fstab
#/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part1 /                    ext4       acl,user_xattr        1 1
/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part6 /home                ext4       acl,user_xattr        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
linux-3kap:/home/wert2all #</code></pre>
<p>Я специально оставил строчку с старым свопом, на всякий случай.</p>
<p>А теперь применим всё это на ходу ). Выключим и включим свап, что заставит систему перечитать /etc/fstab и кидать свап на флешку:</p>
<pre><code>linux-3kap:/home/wert2all # swapoff -a
linux-3kap:/home/wert2all # swapon -a</code></pre>
<p>Скорость? А фиг его  знает. Но по субьективному моему мнению, то всё просто летает &#8211; даже отновременно можно Нетбинс и ФФ запустить )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2010/10/12/swap-na-fleshke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows epic fail</title>
		<link>http://blog.web2.com.ua/2009/10/31/windows-epic-fail/</link>
		<comments>http://blog.web2.com.ua/2009/10/31/windows-epic-fail/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 08:03:14 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[smile]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[epic fail]]></category>
		<category><![CDATA[TV]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=884</guid>
		<description><![CDATA[В тот момент, когда в Украине гриппомор и над Киевом летают Мрії и поливают всех хлоркой, в далёкой Америке начала продаваться грандиозная и эволюционная Windows 7! Толпы вендотролей и фанбоев побежало красть новую игрушечку, а вот в Японии маркетологи и пиарсчеги Microsoft, конечно же, показывали прелести новой ОС. Но вот беда &#8211; она никак не [...]]]></description>
			<content:encoded><![CDATA[<p>В тот момент, когда в Украине гриппомор и над Киевом летают Мрії и поливают всех хлоркой, в далёкой Америке начала продаваться грандиозная и эволюционная Windows 7! Толпы вендотролей и фанбоев побежало красть новую игрушечку, а вот в Японии маркетологи и пиарсчеги Microsoft, конечно же, показывали прелести новой ОС. Но вот беда &#8211; она никак не хотела работать и подвисала:</p>
<p align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/DbJGzyYV_X8&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/DbJGzyYV_X8&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Да что там винда &#8211; бубунту по НТВ показывали!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2009/10/31/windows-epic-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP отзывает 21 модель ноутбуков</title>
		<link>http://blog.web2.com.ua/2009/05/15/hp-otzyivaet-21-model-noutbukov/</link>
		<comments>http://blog.web2.com.ua/2009/05/15/hp-otzyivaet-21-model-noutbukov/#comments</comments>
		<pubDate>Fri, 15 May 2009 11:07:17 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[laptops]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=813</guid>
		<description><![CDATA[В 21 модели ноутбуков нашли брак в аккумуляторах, в следствии чего ноутбуки греются и взрываются. Мой в этот список не попал, а вот 15&#8243; ноут друга &#8211; да. Как он поменяет ноут, пока не известно, но постараюсь рассказать  эту, думаю, грустную историю. Список моделей ноутбуков привожу ниже: HP Pavilion Compaq Presario HP HP Compaq dv2000 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-654" title="HP Compaq 6820s" src="http://blog.web2.com.ua/wp-content/uploads/b_nb_6820s.jpg" alt="HP Compaq 6820s" width="180" height="144" />В 21 модели ноутбуков нашли брак в аккумуляторах, в следствии чего ноутбуки греются <span style="text-decoration: line-through;">и взрываются</span>. Мой в этот список не попал, а вот 15&#8243; ноут друга &#8211; да. Как он поменяет ноут, пока не известно, но постараюсь рассказать  эту, думаю, грустную историю.</p>
<p>Список моделей ноутбуков привожу ниже:</p>
<table border="0" cellpadding="5">
<tbody>
<tr>
<th scope="col"><span style="font-size: 100%;">HP Pavilion</span></th>
<th style="text-align: center;" scope="col"><span style="font-size: 100%;">Compaq Presario</span></th>
<th scope="col"><span style="font-size: 100%;">HP</span></th>
<th scope="col"><span style="font-size: 100%;">HP Compaq</span></th>
</tr>
<tr>
<td valign="top">
<table border="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td align="center" valign="top"><span style="font-size: 100%;">dv2000<br />
dv2500<br />
dv2700<br />
dv6000<br />
dv6500</span></td>
<td align="center" valign="top"><span style="font-size: 85%;">dv6700<br />
dv9000<br />
dv9500<br />
dv9700</span></td>
</tr>
</tbody>
</table>
</td>
<td valign="top">
<table border="0" cellpadding="5" width="100%">
<tbody>
<tr>
<td align="center" valign="top"><span style="font-size: 85%;">A900<br />
C700<br />
F700<br />
V3000<br />
V3500</span></td>
<td align="center" valign="top"><span style="font-size: 100%;">V3700<br />
V6000<br />
V6500<br />
V6700</span></td>
</tr>
</tbody>
</table>
</td>
<td align="center" valign="top">
<table border="0">
<tbody>
<tr>
<td><span style="font-size: 85%;">G6000<br />
G7000</span></td>
</tr>
</tbody>
</table>
</td>
<td align="center" valign="top">
<table border="0">
<tbody>
<tr>
<td><span style="font-size: 100%;">6720s</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>Возврату подлежат батареи с такими серийными номерами:</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td align="center" valign="top"><span style="font-size: 100%;">62940^^AXV^^^^</span></td>
<td align="center" valign="top"><span style="font-size: 100%;">65033^^B7U^^^^<br />
65033^^B7V^^^^<br />
65033^^BGU^^^^</span></td>
<td align="center" valign="top"><span style="font-size: 100%;">65035^^B7U^^^^<br />
65035^^B7V^^^^<br />
65035^^BGU^^^^<br />
65035^^BGV^^^^</span></td>
<td align="center" valign="top"><span style="font-size: 100%;">67059^^V8U^^^^<br />
67059^^V8V^^^^</span></td>
</tr>
</tbody>
</table>
<p>Рассказал эту новость сайт <a href="http://cybersecurity.ru/hard/70249.html" target="_blank">cybersecurity.ru</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2009/05/15/hp-otzyivaet-21-model-noutbukov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кто получил стиль?</title>
		<link>http://blog.web2.com.ua/2007/07/03/kto-poluchil-stil/</link>
		<comments>http://blog.web2.com.ua/2007/07/03/kto-poluchil-stil/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 16:18:34 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[перевод]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/2007/07/03/kto-poluchil-stil/</guid>
		<description><![CDATA[Из-за поддержки всеми A-grade браузерами DOM, множество основных (и некоторые сложные) взаимодействия могут быть выполнены с относительной лёгкостью. Такие штуки как добавление и удаление элементов, вставка HTML-тегов и работа с событиями сейчас довольно податливы в основе cross-браузерности. Там, естественно, несколько причуд которые вы должны будете учесть, но, в целом, большинство вещей работают, как вы и [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.web2.com.ua/wp-content/uploads/rp1.png" class="short" />Из-за поддержки всеми <a href="http://developer.yahoo.com/yui/articles/gbs/" class="new" target="_blank">A-grade браузерами</a> DOM, множество основных (и некоторые сложные) взаимодействия могут быть выполнены с относительной лёгкостью. Такие штуки как добавление и удаление элементов, вставка HTML-тегов и работа с событиями сейчас довольно податливы в основе cross-браузерности. Там, естественно, несколько причуд которые вы должны будете учесть, но, в целом, большинство вещей работают, как вы и ожидали. За исключением динамической вставки CSS на вашу страницу. <span id="more-362"></span>
<p>Во время написания HTML, CSS могут быть включены на страницу используя тег<br />
<style>  , как ниже: </p>
<pre><code class="html"><span class="tag"><</span><span class="keyword">style</span><span class="attribute"> type=</span><span class="value">"text/css"</span>>
  a {
    color: red;
  }
<span class="tag"><!--</span--></span><span class="keyword">style</span>></code></pre>
<p> Этот кусок кода может размещаться где угодно на странице и эти правила применяются для всей страницы. Поскольку мы имеем DOM API, которое дает нам возможность динамически создавать элементы, атрибуты и текст узлов с документом, можно предположить, что некоторый очень простой JavaScript код может быть использован для имитации этого HTML-кода. Логично, что это должно работать так: </p>
<pre><code class="javascript">var styleElement = document.createElement("style");
styleElement.type = “text/css”;
styleElement.appendChild(document.createTextNode(”a { color: red; }”));
document.body.appendChild(styleElement);</code></pre>
<p>Должно было быть так просто... но не в этом случае. В Opera и Firefox, в браузерах, которые больше поддерживают стандарты, это работает прекрасно. В Safari и Internet Explorer это терпит неудачу, хотя не по одной и той же самой причине.</p>
<p>Safari требует динамично созданного элемента<br />
<style>, вставленного в , чтобы правила применялись, что довольно просто изменить в предыдущем коде:</p>
<pre><code class="javascript">var styleElement = document.createElement("style");
styleElement.type = “text/css”;
styleElement.appendChild(document.createTextNode(”a { color: red; }”));
document.getElementsByTagName(”head”)[0].appendChild(styleElement);</code></pre>
<p>Этот код теперь работает в Opera, Firefox и Safari. Но что в IE? Когда IE встречает style.appendChild(),  это бросает довольно тупое и не-очень-полезное сообщение о ошибке: “unexpected call to method or property access”. Попробовав заменить этот вызов на innerHTML и вы получите идентичное по бесполезности сообщение о ошибке “unknown runtime error”. Что здесь происходит? </p>
<p> Оказывается, что IE не позволит Вам управлять style-элементами таким образом. Однако существует другой путь сделать то же самое. IE поддерживает свойство styleSheet в каждом элементе стиля, которое разрешает управлять таблицами стилей и правилами с них. Свойство styleSheet имеет метод, называемый cssText, который можно использовать для установки и получения CSS текста таблицы стилей. Итак, код можно изменить таким образом, чтобы он выполнялся и в IE:</p>
<pre><code class="javascript">var styleElement = document.createElement("style");
styleElement.type = “text/css”;
if (styleElement.styleSheet) {
  styleElement.styleSheet.cssText = “a { color: red }”;
} else {
  styleElement.appendChild(document.createTextNode(”a { color: red; }”));
}
document.getElementsByTagName(”head”)[0].appendChild(styleElement);</code></pre>
<p> Этот код работает в  A-grade браузерах  и может быть обобщён в такую функцию: </p>
<pre><code class="javascript">function addCss(cssCode) {
var styleElement = document.createElement(”style”);
  styleElement.type = “text/css”;
  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = cssCode;
  } else {
    styleElement.appendChild(document.createTextNode(cssCode));
  }
  document.getElementsByTagName(”head”)[0].appendChild(styleElement);
}</code></pre>
<p> Используя эту функцию, вы можете добавить множество новых блоков CSS-кода в вашу страницу как вы пожелаете.</p>
<p><b> Предупреждение: </b>Только IE разрешает запись в  styleSheet.cssText   один раз в<br />
<style>. Если вы попробуете сделать это больше одного раза, то можете "завалить" браузер. В результате,  лучше повторно не использовать элемент<br />
<style>   на странице. Вместо этого, удалите его или просто добавьте новый элемент. </p>
<p><b>Оригинал: </b><a href="http://yuiblog.com/blog/2007/06/07/style/" class="new" target="_blank">Who’s Got Style?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2007/07/03/kto-poluchil-stil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>checked, name в checkbox и Ослик [IE]</title>
		<link>http://blog.web2.com.ua/2007/06/27/checked-name-v-checkbox-i-oslik-ie/</link>
		<comments>http://blog.web2.com.ua/2007/06/27/checked-name-v-checkbox-i-oslik-ie/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 09:51:19 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[верстка]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/2007/06/27/checked-name-v-checkbox-i-oslik-ie/</guid>
		<description><![CDATA[Я одного немогу понять &#8211; как IE со своими глюками и корявостью может держать 80% пользователей? Его тормознутость, полное игнорирование стандартов и непонятное поведение, причём всё рандомно. Это все знают и ничего не могут поделать. Даже сами разработчики. Тем более они. Так как работаю в webdev, очень много времени уходит на подтачивание разногласий и глючков [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.web2.com.ua/wp-content/uploads/rp1.png" class="short" />Я одного немогу понять &#8211; как IE со своими глюками и корявостью может держать 80% пользователей? Его тормознутость, полное игнорирование стандартов и непонятное поведение, причём всё рандомно. Это все знают и ничего не могут поделать. Даже сами разработчики. Тем более они. Так как работаю в webdev, очень много времени уходит на подтачивание разногласий и глючков со стороны IE. И седьмая версия точно положение не исправила. Вот и сегодня потратил полтора часа на понимание и исправление бага IE. А Вы знаете, что если динамически создавать checkbox или radio, то свойство name и checked установить после создания не получится? Нет? А я уже. Решение есть.<span id="more-358"></span></p>
<p>Как всё это было? В одном проэкте я динамически формирую форму с полями. И если поле основное, важное, то ставлю автоматом checked на чекбокс. Это выглядит в нормальном виде вот так:</p>
<ul class="picture">
<li><img src="http://blog.web2.com.ua/wp-content/uploads/my_att.png" alt="my_att.png" /></li>
<li>Нормальные браузеры</li>
</ul>
<p>Ослик же полностю игнорирует конструкцию (ниже), которая устанавливает checked = true.</p>
<pre><code class="javascript">inpO = document.createElement(<span class="string">'input'</span>);
inpO.type = <span class="string">'checkbox'</span>;
inpO.name = <span class="string">'ftemp_'</span> + id_fieldlist;
(field_type == <span class="string">'main'</span>)? inpO.checked = <span class="literal">true</span>: inpO.checked = <span class="literal">false</span>;</code></pre>
<p>Как я не бился в истериках, как не махал палкой, а он нивкакую!</p>
<p>И, только перерывши вагон документации, я понял, что придётся разделять рога и копыта &#8211; Ослика и братию. Ну отделить IE от того же Firefox и Opera можно простой конструкцией:</p>
<pre><code class="javascript"><span class="keyword">if</span>(document.all){
  <span class="comment">// Тут код для IE</span>
} <span class="keyword">else</span> {
  <span class="comment">// Сюда всЁ остальное</span>
}</code></pre>
<p>Ничего сложного. Дальше начал рыть как же создавать checkbox`ы в самом IE, так как с правильными браузерами всё впорядке. Выход найден на <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=842144&amp;SiteID=1" target="_blank" class="new">форуме MSDN</a>, где рассмотрено множество вариантов и даже те, которые не работают <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Наиболее подходящий для меня вариант, который прошёл все тесты и логику и в сумме у нас получилась вполне красивый кусок функции:</p>
<pre><code class="javascript"><span class="keyword">if</span>(document.all){
	(field_type == <span class="string">'main'</span>)? tmp_c = <span class="string">'checked'</span>: tmp_c = <span class="string">''</span>;
	inpO = document.createElement(<span class="string">'&lt; input type="checkbox" </span>+ tmp_c+<span class="string">' name="ftemp_'</span>+id_fieldlist + <span class="string">'"&gt;'</span>);
	inpO.setAttribute(<span class="string">"checked"</span>, <span class="literal">true</span>);
} <span class="keyword">else</span> {
	inpO = document.createElement(<span class="string">'input'</span>);
	inpO.type = <span class="string">'checkbox'</span>;
	inpO.name = <span class="string">'ftemp_'</span> + id_fieldlist;
	(field_type == <span class="string">'main'</span>)? inpO.checked = <span class="literal">true</span>: inpO.checked = <span class="literal">false</span>;
}	</code></pre>
<p>и что, сложно было разработчикам выпустить патч и профиксить такою подставу? Или чтобы жизнь мётом не казалась?</p>
<p>зы. Еще один баг (чуть не забыл) у IE есть в том, что он checkbox`ы с именем не создаёт. Вот что пишут на intenter.ru:</p>
<blockquote><p> Проблема в том, что Internet Explorer <a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/name_2.asp" class="new" target="_blank">не позволяет устанавливать значение атрибута name после того, как элемент уже был создан</a>. Что же делать? Для того, чтобы обойти этот баг, программисты Microsoft сделали возможным создание элементов, уже имеющих некоторые аттрибуты.</p></blockquote>
<p><a href="http://intenter.ru/me/articles/poll.jsp" class="new" target="_blank">Там же</a> нашёл кроссбраузерную фунцию для создания обьектов с именем:</p>
<pre><code class="javascript">    <span class="comment">//функция возвращает новый элемент с установленным аттрибутом name</span>
    <span class="function"></span><span class="keyword">function</span> <span class="title">createNamedElement</span><span class="params">(type, name)</span> {
        <span class="keyword">var</span> element = <span class="literal">null</span>;
        <span class="comment">// Попытка создать элемент в стиле IE. Она будет неудачной в большинстве браузеров</span>
        <span class="keyword">try</span> {
            element = document.createElement(<span class="string">'&lt;'</span>+type+<span class="string">' name="'</span>+name+<span class="string">'"&gt;'</span>);
        } <span class="keyword">catch</span> (e) {
        }
        <span class="keyword">if</span> (!element || element.nodeName != type.toUpperCase()) {
            <span class="comment">// Для не IE; использование стандартного метода создания элемента</span>
            element = document.createElement(type);
            element.setAttribute(<span class="string">"name"</span>, name);
        }
        <span class="keyword">return</span> element;
    }</code></pre>
<p>Вот и вся математика.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2007/06/27/checked-name-v-checkbox-i-oslik-ie/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>linux: wtf!!!</title>
		<link>http://blog.web2.com.ua/2007/06/01/linux-wtf/</link>
		<comments>http://blog.web2.com.ua/2007/06/01/linux-wtf/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 15:19:05 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[openSuse]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/2007/06/01/linux-wtf/</guid>
		<description><![CDATA[Буквально вчера единственное, что мог сказать о робочем openSUSE, так это  &#8211; WTF!!! Подстава спiдкала украiнського спортсмена &#8211; у нього не грузився Linux! При этом, что случилось, почему случилось и кто же виноват я смоим /dev/mosg немог осилить. Началось всё с того, что я почему-то решил ребутнутся. Что было до этого и во время ребута [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.web2.com.ua/wp-content/uploads/opensuse_3.gif" class="short" />Буквально вчера единственное, что мог сказать о робочем openSUSE, так это  &#8211; WTF!!! Подстава спiдкала украiнського спортсмена &#8211; у нього не грузився Linux! При этом, что случилось, почему случилось и кто же виноват я смоим /dev/mosg немог осилить. <span id="more-313"></span></p>
<p>Началось всё с того, что я почему-то решил ребутнутся. Что было до этого и во время ребута я не скажу, так как не думал, что это собитие стоит <strike>плёнки на фотоаппарате</strike> запоминать. Ребут, так ребут. Нас ребут, а мы крепчаем!!!
</p>
<p>Вот уж я был удивлён, когда система при загрузке в консоль начала валить непонятными и пошлыми предложениями <strike>отформатить фсё к чертям и сжечь гроб</strike>!!! Если у вас ядришко будет писать в морду монитора такую хрень (по памяти пишу)
</p>
<pre><code>end_request: I/O error, /dev/hdd9, sector 800909</code></pre>
<p>то вы в таком же г&#8230;
</p>
<p>Что я только не делал, какие только пласкогубцы не применял &#8211; всё хамелиону под хвост. А что меня просто бечило так, что в safemode грузится и даже в Иксы, но медленно работает.
</p>
<p>Вот тогда я и понял &#8211; надо крутить параметры ядра при загрузке. Для этого начал править их прямо при загрузке. Это просто: при загрузке &#8216;e&#8217; и начал править. &#8216;b&#8217; &#8211; и грузимся уже с новыми параметрами.
</p>
<p>Метод &#8220;тыка&#8221; дал свой результат. В grub.list в моём варианте загрузки, ядру передаётся параметр &#8216;resume=/dev/hdd9&#8242;. Вот тут и бока. При установке в &#8216;noresume&#8217; всё стартануло и завелось.
</p>
<p>Этот параметр говорит ядру откуда брать дамп памяти, а так как там что-то отвалилось (повредилось), то востанавливать корректно не получалось.<br />
Вставить LInux`у по самые зябры мне помогла статья <a href="http://www.dkws.org.ua/index.php?page=show&#038;file=soveti/s12" target="_blank" class="new">Совет №12. Пусть Linux поспит</a>. Автору &#8211; респект и уважуха.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2007/06/01/linux-wtf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

