Дружественные URL
Тут на досуге подумал, почему бы благородному дону не сделать дружественные URL в блоге... Взял и сделал, возможно кое-что перестало работать, хотя старые адреса оставил на всякий случай.
VPS хостинг
Phpclasses опубликовали список самых лучших VPS хостингов - цены радуют, возможности впечатляют. Взять что ли на месяц, попробовать...
Шаман
Рассветное солнце еще только только наметило контуры будущего рассвета а Илия уже шел босиком по холодной утренней росе в особое место силы, место где обитали духи, охраняющие его племя. Старый шаман торопился, он знал, что духи бывают благосклонны лишь в определенные часы и если он хочет получить результат он должен поторопиться. Сегодня у него было очень важное дело — поручение вождя племени. Погода днем стояла жаркая и хотя с утра выпадала обильная роса этого было явно недостаточно для хорошего урожая - племени был нужен дождь и только он Илия мог попросить богов смилостивится над ними и послать с небес драгоценную влагу.
Путь к месту силы был неблизкий и мысли шамана текли в такт размеренной ходьбе. Он вспоминал свою молодость, своего учителя, который говорил что в древности магия была повсюду — на земле, в траве, в стволах деревьев, шаманы могли общаться с духами практически также легко как люди общаются друг с другом, да и самих шаманов было гораздо больше чем сейчас практически каждый человек мог делать то или иное волшебство. Да, род шаманов вымирал, и дело даже не в том что формулы заклинаний передавались от учителя к ученику постепенно искажаясь и от этого становясь менее действенными а волшебные артефакты попадались все реже и реже, просто сейчас молодые люди предпочитали заклинаниям более приземленные ремесла, например охоту, кузницу или землепашество. Что толку в бормотании слов на древнем языке, иногда без всякого толку, если поймав и зажарив зайца охотник может вкусно поесть сам и накормить жену и детей, кузнец может сделать отличный плуг и обменять его на хлеб у землепашца. Шаманы же вынуждены влачить бедное почти нищее существование, питаясь тем что приносят из деревни в его хижину каждую молодую луну.
Говорят, что в прошлом, ремесло шамана было очень престижным, и ценилось гораздо выше всех остальных ремесел, хотя как оно могло цениться высоко если практически каждый мог общаться с духами? - думал Илия. Вот если в племени все будут охотники и практически не будет землепашцев, то очень скоро они переловят всех зверей в округе и племени нечего будет есть, зачем нужно такое количество шаманов Илия понять не мог. К тому же, занятие шамана требовало долгого обучения направленного на развитие ума - ведь если в формуле заклинания перепутать один единственный звук оно уже не сработает, поэтому ремесло шамана требовало не только запоминания огромного количества слов на чужом языке но и недюженной сосредоточенности при их произнесении.
И вот, когда на горизонте появился первый ярко-оранжевый всполох восходящего солнца, Илия достиг своего места назначения — это была маленькая прямоугольная похожая на его хижину только гораздо меньших размеров кабинка с надписью на древнем языке 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... невидимый голос продолжал произносить незнакомые слова на священном языке которые Илия уже не слушал, он смотрел на серое утреннее небо по которому уже тянулись редкие кучевые облака...
Browser Detection
Обнаружил что фрагмент кода из mootools выдает какой то странный результат для версии движка, может я не знаю каких нюансов, но все же хочется чтобы версия хоть как то коррелировала с версией браузера, кроме того писать каждый раз Browser.Engine.presto довольно длинно, хотелось бы чтобы было просто Browser.presto.
Mootools в отличие от jQuery и prototype определяет тип движка браузера по определенным особенностям объектной модели а не по navigator.userAgent, это неплохо, вот только версию движка таким образом можно определить очень приблизительно, поэтому версию будет логично определять по navigator.userAgent а сам движок по функционалу объектной модели.
Немного похозяйничав в коде получилось вот что:
var Browser = {
platform: (navigator.platform.match(/mac|win|linux/i) || ['other'])[0].toLowerCase(),
version: (navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/) || [-1,-1])[1]
};
if (window.opera) Browser.presto = true;
else if (window.ActiveXObject) Browser.trident = true;
else if (!navigator.taintEnabled) Browser.webkit = true;
else if (document.getBoxObjectFor != null) Browser.gecko = true;
Ваш браузер:
| Версия | |
| Платформа | |
| trident (IE) | |
| presto (Opera) | |
| webkit (Safary, Chrome) | |
| gecko (Firefox, Mozilla) | |
Может кто знает более дешевый способ? Он должен, должен быть это способ, его не может не быть.