var sqlite3 = require('sqlite3')

var sqlite3_Database_handler = (function(){ 

    var prototype = {}

    prototype.constructor = function(target)
    {
        this.target = target
    }

    prototype.get = function(receiver, name)
    {
        if(name == "all")
        {
            var target = this.target
            return function(query)
            {
                var deferred = require('q').defer()
                target.all(
                    query,
                    function(error,rows)
                    {
                        deferred.resolve({error:error,rows:rows})
                    }
                )
                return deferred.promise
            }
        }
        return this.target[name]; 
    }

    return prototype.constructor.prototype = prototype

})().constructor

var sqlite3_handler = (function(){ 

    var prototype = {}

    prototype.constructor = function(target)
    {
        this.target = target
    }

    prototype.get = function(receiver, name)
    {
        if(name == "Database")
        {
            var Database = this.target.Database
            return function()
            {
                return Proxy.create(
                    new sqlite3_Database_handler(
                        new (Database.bind.apply(
                            Database,
                            arguments
                        ))
                    )
                )
            }
        }
        return this.target[name]; 
    }

    return prototype.constructor.prototype = prototype

})().constructor

module.exports = Proxy.create(new sqlite3_handler(sqlite3))
var sqlite3 = require('sqlite3')

module.exports = Proxy.create(new((function(){ 

    var prototype = {}

    prototype.constructor = function(target)
    {
        this.target = target
    }

    prototype.get = function(receiver, name)
    {
        console.log("GET " + name)
        return this.target[name]; 
    }

    return prototype.constructor.prototype = prototype

})().constructor)(sqlite3))

И стаковерфлов о них: http://stackoverflow.com/questions/21017329/could-i-execute-function-right-before-closure-death-garbage-collection

function getRandomInt(min, max)
{
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

var server = require('http').createServer(function(request, response)
{
    var atEnd = function()
    {
        response.end('No more randoms for you.')
    };

    (function(){    

        response.statusCode = 200;
        response.setHeader('Content-Type','text/html; charset=UTF-8');

        // This loop is emulating a huge sophisticated complex async
        // callback delirium which cannot be easily understood and
        // tracked down, and I won't get paid for its refactoring.
        for(var i = 0;i < getRandomInt(0,getRandomInt(0,1000)); i++)
        {
            setTimeout(function()
            {
                response.write(String(getRandomInt(0,1000) + "<br/>"))
            },getRandomInt(0,30000))
        }

    //  What I'd wish to do:
    //  require('some-cool-module').onClosureDeath(atEnd)

    })()
}
).listen(11111);
[ ]
 

He called for Jesus so much that a burning bush appeared.

... There the angel of the Lord appeared to him in flames of fire from within a bush. Moses saw that though the bush was on fire it did not burn up. So Moses thought: “I will go over and see this strange sight (...)."

When the Lawd saw that he had gone over to look, God called to him from within the bush, “Moses! Moses!”

And Moses turned to his disciples and said: “...GET THE WATER NIGGUH! IT GOING DOWN! DAMN MOTHERFUCKIN BOOTLEG FIREWORK SHIT!" ...

SHOW DATABASES

SELECT * FROM pg_database

SHOW TABLES

SELECT * FROM information_schema.tables

SHOW COLUMNS

SELECT * FROM information_schema.columns WHERE table_name ='table'

Спасибо Artem Nosulchik, копия его поста ниже:

PostgreSQL is one of the best database engines for an average web project and many who moves to psql from mysql (for example) often ask the following questions: what is the analog of “show tables” in postgres? or how can I get the list of databases in postgres like “show databases” in mysql? The answers are short:

mysql: SHOW TABLES
postgresql: \d
postgresql: SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

mysql: SHOW DATABASES
postgresql: \l
postgresql: SELECT datname FROM pg_database;

mysql: SHOW COLUMNS
postgresql: \d table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

[ ]
 

Купил себе VPN, попробовал зайти на разные сайты - работает. Попробовал зайти на google.com, на gmail.com - не работает. Без VPN работает, с VPN не работает. Внимание, вопрос: на кой черт мне нужен такой сервис?

Моё сегодняшнее утро было убито. Оно был потрачено говнопрограммистами D-Link. Много писать лень, поэтому опишу вкратце. На сайте говнодлинка http://ftp.dlink.ru/pub/Router/DIR-655/Firmware/REV_B/ сейчас лежат прошивки. Из всех них работоспособна только

Firmware: v2.00RU Build: 10
Hardware: B1
Date: 30, Sep 2011

От 30 СЕНТЯБРЯ 2011! Остальное, в случае, если подключен шнурок интернета, лишает вас всякой возможности зайти куда-нибудь кроме вкладки "Status", превращая устройство в кирпич. СБРОС ПРОШИВКИ НА ЗАВОДСКУЮ ВЕРСИЮ ПРОШИВКИ ОТСУТСТВУЕТ. Один раз каким-то странным образом (прежде, чем мне пришло в голову вытащить WAN кабель) мне удалось войти в режим загрузки firmware, но он все равно не работал - после выбора файла загрузки и нажатия кнопки соединение намертво повисало. Через 15 минут я попробовал перезагрузить роутер и войти в данный режим еще раз, но как я ни дрочил кнопку ресета, все мои усилия были тщетны. Пожалуй, с этого момента больше ни один продукт под маркой D-Link не будет куплен мною ни себе домой ни для организации, в которой я работаю. Свободные прошивки, которые могли бы решить проблему говнопрограмминга, руководство D-link заблокировало - драйвера для чипсета DIR-655 (насколько я смог понять) проприетарные и поставить туда openwrt,ddwrt или gargoyle возможным не представляется. Некоторые говноеды (на сообщения которых я и купился при покупке DIR-655) пишут что мол железо классное, поэтому не ругайте DIR-655. А нахуя мне железо, которое не работает из-за кривой прошивки? Плавайте в своём говне сами, распрекрасные господа из D-link.

[ ]
 

- У меня часы швейцарские.
- Зато мои быстрее ходят!

Слетела система на MSI GF615M-P33 v1.2, потребовалась переустановка. Диска с драйверами нет. Куда лезем? Правильно, на сайт производителя.

  1. Поиск. http://ru.msi.com/service/search/?kw=gf615m-p33&type=product жмем на "Загрузки"
  2. Попадаем на страницу "загрузки" http://ru.msi.com/product/mb/GF615M-P33-v1-2-FOR-EUP-.html#/?div=BIOS и видим только один доступный пункт LiveUpdate 5 - программа для скачивания драйверов через интернет.
  3. Скачиваем, запускаем, получаем сообщение, что драйвера стоят самые последние и не требуют обновления! Вместо того чтобы честно признаться, что мудоёбы не положили драйвера для LAN и интернет для скачивания отсутствует, программа блядь пишет, что все в порядке! Я уже на этом моменте охуел. Но это далеко не все.
  4. Все более и более охуевая гуглим MSI GF615M-P33 lan drivers и попадаем на страницу загрузки драйверов для материнки, где они есть!!! http://ru.msi.com/product/mb/GF615M-P33.html#/?div=Driver&os=XP%2032 Скачиваем драйвер для LAN.
  5. Распаковываем zip-архив, пытаемся установить драйвера для LAN, но не находим экзешника! Все, что есть в архиве - кучка непонятной хуйни, exe файл для удаления драйверов LAN и два inf файла. Жмем на inf файлы правой кнопкой, нажимаем установить - похуй. Перезагружаемся - похуй. Пытаемся установить драйвера из этой папки через диспетчер устройств - похуй. MSI. Нам похуй.
  6. Ищем PCI\VEN_10EC&DEV_8168&SUBSYS_75971462&REV_03 и находим вот здесь: http://www.devid.info/21435
  7. Запускаем Live update. ТОЛЬКО ЧТО скачанный Live Update пишет что его версия УСТАРЕЛА и обновляется. После чего ПОЛТОРА ЧАСА скачивает драйвера из сети, а скачав их, ПЫТАЕТСЯ САМОУНИЧТОЖИТЬСЯ, НО У НЕГО ЭТО НЕ ВЫХОДИТ И ОН ПРОСТО БОЛТАЕТСЯ КАК ЗАВИСШИЙ КУСОК ГОВНА ПОСРЕДИ ЭКРАНА. НИ ОДИН ИЗ СКАЧАННЫХ ДРАЙВЕРОВ НЕ БЫЛ УСТАНОВЛЕН!!!
  8. Пытаемся скачать на милипиздрической скорости драйвера вручную со страницы сайта, которую нам любезно нашел гугл.
  9. Ставим (кроме драйверов для LAN по уже известной нам причине)
  10. Установилось. Вы прошли мудоёбский квест от MSI.
  11. Делаем выводы и больше никогда не покупаем ни единого продукта под маркой MSI.

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

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