Юмор: Исходный код ядра Linux

#include <stdlib.h>
#include <stdio.h>
#include <cerr.h>

#include <bash.h>

#define INFINITE ~0u

int main(int argc, char *argv[]) {
    printf("Hello world!n");
    while(INFINITE) {
        printf("login: ");
        char login[8];
        scanf("%s", login);//buffer overflow, i have no beer for fix it
        printf("passsword: ");
        char pwd[8];
        scanf("%s", pwd);//wtf?! beer! beer! beer!
        if(0.25 > rand() / (float)RAND_MAX) {
             startBash(login);
        } else {
             printf("Login is incorrect!n");
        }
        if(0.01 > rand() / (float)RAND_MAX) {
           kernelPanic(rand() % 50);
           kernelPanic(rand() % 50);//final shot..DIE! or beer..
        }
    }
    return 0;
}

ps: смотрим в комменты )

Скачать видео с сайта video.oboz.ua

На первый взгляд задача кажется сложной и невыполнимой, однако это не так.

Две минуты серфинга в поисковиках дали мне ответ на этот вопрос, оказывается все проще простого.

Видео-файлы формата .flv лежат по адресу

http://video.oboz.ua/files/movies/(quality)/(id).flv

где

quality - качество видео-файла, меняется в диапазоне 1-6. Чем больше значение, тем выше качество
id - идентификатор видео-ролика. Чтобы определить нужно извлечь его, например, из кода для вставки на сайт.
Для понравившегося видео выбираем: "Ссылка на видео" и извлекаем id из функции getPlayer();

Читать полностью »

MySQL и ORDER BY. Уменьшаем время выполнения запроса

Итак, что мы имеем.

  • 3 связанные таблицы, в них хранится порядка 2млн записей.
  • Запрос, где эти таблицы через LEFT JOIN собираются воедино.
  • Условие, что все должно быть отсортировано по имени.
  • Все должно работать быстро.

В общем то, вполне тривиальное задание, если бы не последнее условие

Рассмотрим на более простом примере. Таблица `catalog_software` с 25 тысячами записей. Без всяких связаных таблиц

SELECT * FROM `catalog_software` LIMIT 1000;

Запускаем запрос через phpMyAdmin - видим, что выполнение запроса заняло 0.09 секунд.
Задумываемся - что-то забыли... Ах да, сортировка. Быстренько все исправляем. Читать полностью »

Перенести файлы с одного сервера на второй без использования промежуточного хранения

Для данных манипуляций нам необходим доступ к серверу по ssh и бесплатная утилита putty

Сам порядок действий:

1. Заходите в ssh с помощью putty
2. Авторизируетесь (пишите логин и пароль)
3. Правой кнопкой мыши по виндовскому окошку с путти, где кнопки открыть, закрыть и название.. по синей полоске в общем. Выбираете пункт сеттинкс, находите там translation выбираете utf8.
4. В консоли путти пишите mc. Если он там есть, то откроется чтото типа нортона
5. В открывшимся mc выбираете в меню LEFT или RIGHT (сверху, выпадающее меню) ftp connection
6. Пишите адрес в виде login:password@host, жмёте enter
7. В выбранной панели путти будет открыт ftp
8. Закачиваете туда нужные файлы

Благодарим за инструкцию betam

Новая версия Zend Framework

И так, вышла новая стабильная версия Zend Framework под цыфарками 1.7.0.
В крадце изменения по сравнению с предыдущими версиями состоят в следующем:

* Добавление поддержки библиотек от Adobe, в частности Flex на уровне AMF протокола;
* Добавление поддержки JS фрейворка JQuery, расширение поддержки Dojo;
* Расширение API основных компонентов (Zend_Loader, Zend_Controller);
* Расширение API применяемых компонентов (Zend_Translate, Zend_File, Zend_Soap, Zend_Search_Lucene);
* Добавление поддержки Twitter`a;
* Расширенна возможность работы на базе UNIX. Читать полностью »

Число прописью (словами). Функция парсирования триады

Данная функция возвращает строку из числа

<?php
// Функция парсирования триады
// $num - целое число от 0 до 999
// $words - массив, в котором элемент с индексом
// 0 - написание числа 1 (например - один', 'одна')
// 1 - написание числа 2 (аналогично)
// 2 - единицы в единственном числе им.падеже(рубль')
// 3 - единицы в единственном числе род.падеже('рубля')
// 4 - единицы во множественном числе им.падеже('рублей')

function ParseTriad($num, $words)
{
  $hundreds = array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот');
  $decads = array('двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто');
  $fdecads = array('десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
  $ones = array('', $words[0], $words[1], 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять');

  $result = '';
  $h = floor($num / 100);
  $result .= $hundreds[$h];

  $d = floor(($num - $h * 100) / 10);
  $c = ($num - $h * 100 - $d*10);

  $result .= ($result != '') ? ' ' : '';

  if($d == 1) { $result .= $fdecads[$c]; }
    else {
      if($d > 1) $result .= $decads[$d-2] . ' ';
      $result .= $ones[$c];
    }
  $result .= ($result != '') ? ' ' : '';

  switch ($c) {
    case 1:
      $result .= ($d != 1) ? $words[2] : $words[4];
    break;
    case 2:
    case 3:
    case 4:
      $result .= ($d != 1) ? $words[3] : $words[4];
    break;
    default:
      if ($num > 0) { $result .= $words[4]; }
  }
  return $result;
}
?>

Читать полностью »

Ошибка в Wordpress. Warning: Cannot modify header information - headers already sent by …

Часто из-за использования стандартного блокнота в windows при редактировании доступа к базе данных в файле wp-config.php, в начало файла записывается лишний символ (иероглиф, по-простому). После чего, сервер не может отправить заголовки, так как вываливается ошибка на экран. Например, такая:

Warning: Cannot modify header information - headers already sent by (output started at /home/uname/public_html/site.ru/wp-config.php:1) in /home/uname/public_html/site.ru/wp-includes/pluggable.php on line 770

Решить такую проблему очень просто, вернее не допустить появление ее )) Читать полностью »

PHPConf 2008 29-30мая, Москва. Видео с конференции

Что нового в PHP-5.3 - Дмитрий Стогов Zend Technologies


- namespace-ы
- ООП расширения
- late static binding (static:
- __callstatic()
- динамический доступ к статическим данным ($classname::method(), $classname::$prop )
- nowdoc (< <<'EOF ')
- ?: operator
- сборщик мусора
- разные php.ini директивы для разных каталогов (аналог .htacces для FastCGI)
- интересные новые возможности расширений (ext/openssl, ext/phar, ext/intl) Читать полностью »

Плагин для подсветки кода в wordpress. Wp-Prettify + Escape

Это немного доработанный плагин, подсветки кода Wp-Prettify + идея от плагина auto escape, который, грубо говоря, делал коду htmlspecialchars().

WP-Prettify - это плагин для Wordpress, который предназначен для подсветки програмного кода языков программирования на web-страницах.
Он основан на движке google-code-prettify (http://code.google.com/p/google-code-prettify/)
и способен подсвечивать следующие языки программирования: C/С++, C#, Java, Python, Bash,
SQL, HTML, XML, CSS, Javascript, Makefiles, Ruby, PHP, Awk, Perl. Читать полностью »

Реализация почтовых форм без php и cgi. Альтернатива для бесплатных хостингов

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

Можно использовать такое решение нетолько для почтовых форм, но и для любых подобного рода задач.

Начнем. Нам необходимо два хостинга:
- на первом у нас только есть возможность использовать html + javascript (клиентские языки). Пусть будет site1.ru
- второй хостинг должен поддерживать php, или другой серверный язык. Данный пример для языка php, назовем site2.ru Читать полностью »