Продуктивное использование Mail.app

Category: productivity osx

Привет хочу рассказать как я эффективно использую стандартный почтовый клиент Mail.app в OSX.

Когда появляется много почтовых ящиков им нужно как то эффективно управлять, желательно в одном месте. С недавних пор я перешел на довольно удобную парадигму “Unread inbox” директории в которую попадают все не прочитанные письма со всех ящиков, подробнее далее.

Apache 2.2 to 2.4 migration и remoteip модуль

Category: admin linux

Основное на что надо обратить внимание это директивы доступа и новый модуль remoteip который выполняет теже функции и что и знакомый всем rpaf

2.2 configuration:

Order deny,allow
Deny from all

2.4 configuration:

Require all denied

2.2 configuration:

Order Deny,Allow
Deny from all
Allow from example.org

2.4 configuration:

Require host example.org

Подробнее читайте далее

Arduino music - проигрывание музыки на платформе Ардиуно

Category: hardware

Долго лежала в тумбочке моя Arduino, преждем чем я достал ее и решил хоть что нибудь попробовать, ну и попробовал издавать с помощью нее какие нибудь звуки. Для этого я нашел какуюто старую пьезо пищалку и срочно прикрепил ее на breadboard, подключил ее к arduino написал немного кода, и вот что получилось:

В планах наверное подключить туда клавиатуру, чтобы сделать синтезатор, чтобы можно было делать chiptune

Исходники под катом и на гитхабе https://github.com/noroot/arduinostuff, код не мой, взял с гугла источник уже непомню, но код немного исправил.

Для тех кто не знает что такое Arduino, - это такая opensource hardware платформа для программирования микроконтроллеров, выглядит она так:

Файл pitches.h можно взять здесь https://github.com/noroot/arduinostuff/blob/master/lib/pitches.h

how to render template into variable in ZF2

Category: php

Следующий пример показывает как можно просто отрендерить шаблон в переменную в Zend Framework 2

<?php 
 
public function coolAction()
{
	$d = array();
	$r = new PhpRenderer();
	$resolver = new \Zend\View\Resolver\TemplateMapResolver();
 
	$resolver->setMap(array(
		'confirmation_template' => __DIR__ . '/../../../view/user/mail/confirmation.phtml' // full path to template
	));
	$r->setResolver($resolver);
	$model = new ViewModel($d);
	$model->setTemplate('confirmation_template');
	$x = $r->render($model);
}
?>

How to define console object

Category: javascript

Ситуация такая, допустим вы везде испоьзовали для отладки console.log, но потом на тестировании в разных браузерах обнаружили что console object is undefined например в IE нет никакого console object.

Этот код определяет обьект console и может быть использован для эмуляции или просто заглушки(чтобы небыло алертов об ошибках).

if (typeof(console) == 'undefined') {
    var console = {
        log: function(message) {},
        info: function(message) {},
        warn: function(message) {},
        error: function(message) {
            alert(message);
        }
    }
}

Is touchscreen on javascript

Category: javascript

Some of javascript shortcuts below here:

var is_touch_device = 'ontouchstart' in document.documentElement;
function isTouchDevice() {
    var el = document.createElement('div');
    el.setAttribute('ongesturestart', 'return;');
    return typeof el.ongesturestart === "function";
}

Php strftime month name

Category: dev php

Многие задаются вопросом не незнают как правильно сделать склонения дат которую выдают функция strftime(“%B”); Документация по этому вопросу ничего конкретного не говорит, и полное название месяца %B на разных системах выводится по разному

Например в OSX php 5.4.3 %B показывает полное название месяца в нужному падеже например “Августа”, при этом тот же самый код в Debian выдает “Август”, дело в том что в файлах локалях содержатся разные строки строки, в OSX со склонение , а в Debian без склонения, тем не менее это еще не вся магия дело в том что в файлах локали есть такие строки

% Initially alt_digits was supposed to hold alternative symbols for _digits_,
% corresponding to %O modified conversion specification.
% Although in Ukrainian language alternate _names_ are used instead of digits.
% We'll use this keyword to present a list of month names in proper form for
% date, see mon. (%Om)
%
% This hack is dedicated for months it won't work for other %O* modifiers
% (weeks, days etc).
%

Подробнее подкатом.

Zend framework 2 preDispatch

Category: zf2

Как сделать preDispatch и postDispatch actions в Zend Framework 2 ? код ниже

<?php
 
namespace Application\Controller;
 
use Zend\Mvc\Controller\ActionController
    Zend\Mvc\MvcEvent;
 
class IndexController extends ActionController
{
    public function indexAction()
    {
        return array();
    }
 
    protected function attachDefaultListeners()
    {
        parent::attachDefaultListeners();
 
        $events = $this->events();
        $events->attach('dispatch', array($this, 'preDispatch'), 100);
        $events->attach('dispatch', array($this, 'postDispatch'), -100);
    }
 
    public function preDispatch (MvcEvent $e)
    {
        // Called before self::indexAction()
    }
 
    public function postDispatch (MvcEvent $e)
    {
        // Called after self::indexAction()
    }
}

“100” и “-100” это порядок запуска действий.

Simple environment dependency config with Node.js

Category: nodejs

Простой способ сделать зависимые от окружения конфигурации в Node.js. Определяем директорию для конфигураций, пусть это будет ./config/environments/ тогда простейший код для зависимых конфигураций будет такой:

var config = require("./config/environments/" + process.env.NODE_ENV || 'default');

Запускать такой javascript код надо будет таким образом:

NODE_ENV=development node index.js

В случае если вы не задали переменную NODE_NEV, загрузится конфигу по умолчанию. (default)

Если хочется что нибудь по сложнее то в nodejs есть полно модулей и один из них NCONF

Upgrade macbook pro to 16GB RAM

Category: hardware mac

Привет, сегодня я расскажу почему мой macbook pro лучше вашего, ну а если менее эгоцентрично пост будет на тему апргейда оперативной памяти на macboook pro.

Начнем с того что Macbook которые я хочу апгрейдить следующей комплектации 13” Macbook Pro (Early 2011) i5 2.3 / 4GBRAM

Прочитав немного форумов и официальных страниц Apple Inc. я решил взять следующую модель памяти SO-DIMM DDR3, 8ГБ, Kingston, KVR1333D3S9/8G

Сама процедура замены памяти, простая если вы работали с внутренностями компьютера до этого момента.

1) Откручиваем заднюю крышку макбука

Болты хитрые и прикручиваются только в те места откуда их выкрутили

2) Вынимаем старую память путем отгибания сдерживающих “ножек” и точно также вставляем новую

3) Запускаем компьютер и видимм следующее:

Теперь ответ на вопрос зачем ?

Для серфинга почты, и написания текстов будет достаточно стандартной памяти 4GB, но если планируеются запускать несколько виртуальных машин или Photoshop и все одновремнено и работать с большими библиотеками медиафайлов то 16GB будет заметно спасать систему от своппинга.

P.S. Работать стало заметно комфортнее, нет фризов, нет свопа.