2009-02-24

HOUSE md

В выходные докачал из торентов пятый сезон доктора Хауса. Оказался на аглицком языке, что в конечном итоге мне так понравилось что я просмотрел запоем все двенадцать серий сезона.

Вот уж не думал что сериалы могут быть такими интересным. Во первых английский там довольно быстрый, американский и воспринимать его на слух занятие совершенно захватывающее, получается, что ты не просто сериал смотришь а еще и язык улучшаешь. Диалоги, кстати совершенно великолепные.

Во вторых сюжеты захватывают так, что не оторвешся.

Во втретих игра актеров в наших сериалах на порядок хуже - все эти Папины почки, Моя прекрасная Маня, и Кремлевские Куранты - это просто утренник в детском саду какойто...

 

Оставить комментарий

 
  2009-02-16

Метатег для автообновления страницы

<meta http-equiv="Refresh" content="30">
 

Оставить комментарий

 
  2009-02-15

Отладка PHP скриптов

Оказывается отлаживать приложения на PHP возможно если вы используете Eclipse c PDT, для этого необходимо скачать Studio Web Debugger - эта штука ставится как расширение PHP и позволяет эклипсу останавливаться на ваших точках остановки, проходить приложение по шагам, смотреть значения переменных и еще много чего. Радует то, что как Eclipse, так и Debugger доступны для различных платформ, и совершенно бесплатны, вот уж где коммунизм наступил...

 

Оставить комментарий

 
  2009-02-05

А вроде солидный банк...

Вчера звонят из Экономбанка которому мы несколько месяцев назад сделали сайт, дают ссылку и спрашивают WHF?

сайт Экономбанка сайт банка Синергия

Не знаю, по моему не сильно похоже... По моему, совершенно разные сайты - сайт Синергии похож на сайт Экномбанка как наша девятка похожа на DeLorean DMC-12 (машина из "Назад в Будущее")...

 

Коментариев: 4

 
  2009-02-04

Редактор для Python

Попробовав несколько разных радакторов пришел к выводу что для меня лучше чем Eclipse с плагином PyDev ничего не придумано.

 

Коментариев: 2

 
  2009-02-04

Простой вебсервер на Питоне

Возникла необходимость сделать простой вебcервер, но чтобы он был максимально легкий и быстрый. После некоторых размышлений решил реализовать его на Питоне, первоначально в качестве кандидатов рассматривались PHP, Java, Perl, но в конечном итоге решил остановиться на Python.

Приведенный пример работает на Python 2.5, хотя первоначально был сделан на Python 3. Питон выбрал потому что во первых хотелось посмотреть что это за зверь такой, что его так любят разработчики Google a во вторых понравилось что можно с легкостью создавать многонитивые приложения.

Синтаксис языка оказался довольно забавный, так как в нем нет операторных скобок так что тем кто любит сравнивать фигурные скобки Си с паскалевским begin/end останутся без темы для споров - операторных скобок нет как класса.

Понравилась философия разработчиков Battaries Included - например разработчику для создания простого вебсервера не нужно вникать в тонкости протоколов - достаточно взять один из готовых классов. Однако по какой то странной причине разработчики Питона не любят реляционные базы данных, например нет в Питоне интерфейса к MySQL а сторонние разработкики делают расширения весьма неохотно, поэтому третью версию питона с MySQL никак не соединить - максимум что позволено версия 2.5 и когда будет поддержка для третьей - неизвестно.

#! /usr/local/bin/python

import BaseHTTPServer
import cgi
import string

class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
    def showPage(self,method,get_data,post_data):
        self.wfile.write("HTTP/1.1 200 OK\n");
        self.wfile.write("Content-Type: text/html\n")
        self.wfile.write("\n");        

        responce = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple HTTP Server</title>
<meta name="description" content="Simple HTTP Server" />
</head>
<body style="background:white;">				
Method $method<br />
Path: $path<br />
get data $get_data<br />
post data $post_data<br />

<form action="" method="post">
<input type="text" name="value1">
<input type="submit" name="value2">
</form>
</body>
</html>
        """
        s = string.Template(responce)
        responce = s.substitute(dict(
            get_data=get_data,
            post_data=post_data,
            path=self.path,
            method=method
            )) 
        self.wfile.write(responce);
                
    def do_GET(self):
        get_data = cgi.parse_qs(self.path[2:])
        self.showPage('GET',get_data,{})
        

    def do_POST(self):
        get_data = cgi.parse_qs(self.path[2:])
        cl, cl2 = cgi.parse_header(self.headers.get('content-length'))
        qs = self.rfile.read(int(cl))
        post_data = cgi.parse_qs(qs.decode())
        self.showPage('GET',get_data,post_data)


class ChatServer(BaseHTTPServer.HTTPServer):
    def __init__(self,address,handler):
        BaseHTTPServer.HTTPServer.__init__(self,address,handler)
        

def main():
    try:
        server = ChatServer(('localhost', 8080), RequestHandler)
        server.serve_forever()
    except KeyboardInterrupt:
        print('^C received, shutting down server')
        server.socket.close();

if __name__ == '__main__':
    main()

 

 

Коментариев: 14

 
  2009-02-01

Милый клип

Экслер раскопал изумительный клип

Довольно просто оказалось найти слова этой песенки - для изучающих аглицкий будет очень полезно - довольно мягкое произношение, нужно будет подобрать аккорды...

Читать далее...

 

Оставить комментарий

 
  2009-01-31

Дружественные URL

Тут на досуге подумал, почему бы благородному дону не сделать дружественные URL в блоге... Взял и сделал, возможно кое-что перестало работать, хотя старые адреса оставил на всякий случай.

 

Коментариев: 7

 
  2009-01-31

VPS хостинг

Phpclasses опубликовали список самых лучших VPS хостингов - цены радуют, возможности впечатляют. Взять что ли на месяц, попробовать...

 

Коментариев: 2

 
  2009-01-28

Шаман

Рассветное солнце еще только только наметило контуры будущего рассвета а Илия уже шел босиком по холодной утренней росе в особое место силы, место где обитали духи, охраняющие его племя. Старый шаман торопился, он знал, что духи бывают благосклонны лишь в определенные часы и если он хочет получить результат он должен поторопиться. Сегодня у него было очень важное дело — поручение вождя племени. Погода днем стояла жаркая и хотя с утра выпадала обильная роса этого было явно недостаточно для хорошего урожая - племени был нужен дождь и только он Илия мог попросить богов смилостивится над ними и послать с небес драгоценную влагу.

Путь к месту силы был неблизкий и мысли шамана текли в такт размеренной ходьбе. Он вспоминал свою молодость, своего учителя, который говорил что в древности магия была повсюду — на земле, в траве, в стволах деревьев, шаманы могли общаться с духами практически также легко как люди общаются друг с другом, да и самих шаманов было гораздо больше чем сейчас практически каждый человек мог делать то или иное волшебство. Да, род шаманов вымирал, и дело даже не в том что формулы заклинаний передавались от учителя к ученику постепенно искажаясь и от этого становясь менее действенными а волшебные артефакты попадались все реже и реже, просто сейчас молодые люди предпочитали заклинаниям более приземленные ремесла, например охоту, кузницу или землепашество. Что толку в бормотании слов на древнем языке, иногда без всякого толку, если поймав и зажарив зайца охотник может вкусно поесть сам и накормить жену и детей, кузнец может сделать отличный плуг и обменять его на хлеб у землепашца. Шаманы же вынуждены влачить бедное почти нищее существование, питаясь тем что приносят из деревни в его хижину каждую молодую луну.

Говорят, что в прошлом, ремесло шамана было очень престижным, и ценилось гораздо выше всех остальных ремесел, хотя как оно могло цениться высоко если практически каждый мог общаться с духами? - думал Илия. Вот если в племени все будут охотники и практически не будет землепашцев, то очень скоро они переловят всех зверей в округе и племени нечего будет есть, зачем нужно такое количество шаманов Илия понять не мог. К тому же, занятие шамана требовало долгого обучения направленного на развитие ума - ведь если в формуле заклинания перепутать один единственный звук оно уже не сработает, поэтому ремесло шамана требовало не только запоминания огромного количества слов на чужом языке но и недюженной сосредоточенности при их произнесении.

И вот, когда на горизонте появился первый ярко-оранжевый всполох восходящего солнца, Илия достиг своего места назначения — это была маленькая прямоугольная похожая на его хижину только гораздо меньших размеров кабинка с надписью на древнем языке INTERNET. Осторожно чтобы не поломать хрупкие петли двери шаман протиснулся внутрь. В тоже самое время кабинка наполнилась волшебным сиянием, и потревоженные духи начали говорить с Илией на древнем языке:

- Welcome to Personal Internet Point...

self test started... external communications test – ок, local server connection – ок, keyboard test – failed, screen test – failed, voice interface – activated, order it expecting...

- калл телнет локалхост ейтин ентер — произнес шаман сокравенную фразу на древнем языке.

- telnet is running, order is expecting...

- гет спейс ейч ти ти пи колон слаш слашь локалхост слашь рейнконтрол слаш каллрайн дот пи эйч пи спейс ейч ти ти пи ван дот зиро — на лбу у шамана от напряжения и сосредоточенности выступили крупные капли пота — ентер

- 200 OK... невидимый голос продолжал произносить незнакомые слова на священном языке которые Илия уже не слушал, он смотрел на серое утреннее небо по которому уже тянулись редкие кучевые облака...

 

Оставить комментарий