Roem на Wordpress

Category: dev php

Прошло уже примено года 3 с момента как мы переделали Roem.ru на wordpress. Как мы это сделали будет описано в этой небольшой заметке.

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

Под катом немного подробностей о том какие были проблемы и интересная визуализация вконце.

Книга: The Subtle Art of Not Giving A Fuck

Category: books
  • Название: The Subtle Art of Not Giving A Fuck: A Counterintuitive Approach to Living a Good Life
  • Автор: Mark Manson
  • Год: 2016

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

Картинка и ссылка под катом.

What to do if OSX Keychain broken

Category: osx

Если на вашем SSD кончилось место, файловая система неисправна, то иногда это приводит к сломанному Keychain.db в котором в OSX хранятся сохраненные пароли и сертификаты. Нерабочий кейчейн вызвыает массу проблем, поэтому нужно обязательно делать бекап. Как минмум с помощью встроенного TimeMachine, обычного этого достаточно.

Если бекап есть, все что нужно сделать это открыть в Finder

~/Library/Keychains/

После чего запустить TimeMachine и восстановить эту директорию. Перезагрузится. Если бекап старый, то потребуется вспомнить старый пароль от пользователя которому принадлжеит кейчейн. Ссылки под катом.

Brew update OSX 10.12

Category: dev mac

Если при обновлении brew призошла такая ошибка

$ brew update
/usr/local/Library/brew.sh: line 32: /usr/local/Library/ENV/scm/git: No such file or directory

Необходимо выполнить следующее

cd "$(brew --repository)" && git fetch && git reset --hard origin/master

Этот набор команда скачает последнюю версию brew из master ветки

Bundle could not verify the SSL certificate

Category: dev ruby

Если при bundle install bundle неможет верифицтировать сертификат и выдает ошибку

Fetching source index from https://rubygems.org/
Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA
certificates needed for verification. For information about OpenSSL certificates, see bit.ly/ruby-ssl. To connect without
using SSL, edit your Gemfile sources and change 'https' to 'http'.

Необходимо выполнить

rvm osx-ssl-certs update

Подробнее тут

Книга: Lean Startup

Category: books
  • Название: Lean startup
  • Автор: Eric Ries
  • Год: 2011

Пожалуй самая полезная книга про стартапы и процессы. Позовляет понять какие процесс происходит при разработке продуктов и какие ошибки случаются в этих процессах. Книга наполнена конкретными примерами и изьяснениями, именно поэтому она полезна и довольно легко войдет в человека знакомого с software разработкой или менеджментом софтверных продуктов. Именно Eric Ries придумал принцип Lean Startup, термины и методологии (MVP, Continuous integration, Pivot, Split testing, Bussines Model Canvas) которого стали так широко использоваться очень многими людьми.

Ссылки под катом.

Книга: Money master the game

Category: books

Книга такого очень известного спикера как Тони Роббинс, о деньгах, финансах, бюджетах, инвестициях. Не смотря на это книга довольно интересная и рассказывает основные принципы управления деньгами и инвестициями, и наполнена специфичными для США примерами.

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

Длительность 21 час 3 минуты, половина из этого вода, но кто умеет плавать тем норм ;-)

Русификацию не искал так что незнаю есть ли она на русском, и вероятно не нужна.

Ссылка под катом

Macbook без батареи и управление кулером

Category: hardware mac

Умерла очередная батарея Macbook Pro, а замена еще не пришла. Батарея умерал полностью, то есть она тепреь неопределяется и ссистема пишет что она не подключена, при этом она перодически активируется что приводит систему в ступор, так как она пытается брать оттуда питание, а там его нет, - система выключавется или впадает в sleep mode.

В Macbook Pro все устроено так если вынуть батарею и использовать только A/C питание то EFI уменьшает частоту считая что система работает в некоем “Безопасном режиме” Таким образом пользоваться с полной нагрузкой комьютером нельзя, он просто начинает торомозить из за недостатка производительсности. Смотреть ютуб и писать тексты конечно можно, но запускать более производительный софт неполучится.

Решения этой проблемы несуществует и все что мне удалось найти это выключения модуля ядра который управляет частотой в зависимости от нагрузки, но в случае отказа батареи уменьшение частоты происходит на более низком уровне (EFI).

В процессе “гугления” я в очередной раз нашел smcFanControl Внутри которого есть утилита smc который позволяет выставлять различные флаги SMC (System Management Controller) там ~380 ключей или правильнее сказать регистров в которые могут быть записны разные параметры. Несколько параметров управляют частотой вращений кулера.

To read data from each fan:

F0Ac - Fan actual speed
F0Mn - Fan minimum speed
F0Mx - Fan maximum speed
F0Sf - Fan safe speed
F0Tg - Fan target speed
FS!  - See if fans are in automatic or forced mode

To set a fan to a specific speed:

FS!  - Sets "force mode" to fan.  Bit 0 (right to left) is fan 0, bit 1
       is fan 1, etc
F0Tg - Sets target speed, make sure you fp78 encode it (left shift by 2)

For example, to force both fans to 3500 RPM:
# python -c "print hex(3500 << 2)"
0x36b0
# smc -k "FS! " -w 0003
# smc -k F0Tg -w 36b0
# smc -k F1Tg -w 36b0

..to force fan 0 to 4000 RPM and leave fan 1 in automatic mode:
# smc -k "FS! " -w 0001
# smc -k F0Tg -w 3e80

..to return both fans to automatic mode:
# smc -k "FS! " -w 0000


Полный список флагов и описание найти для долго не искал, но за то нашел хороший guide по Apple SMC и как с ним работаьт на Objective C https://jrw01.github.io/Articles/smc.html С помошью утилиты smc можно получать много интересных показателей и использовать их например для построения виджета с этой информацией внутри.

Под катом список всех регистров SMC.

Go за 20 часов

Category: dev

Решил потратить выходные с пользой, и вернутся к изучению Go. У меня было примерно 20 часов, за которые я успел изучить все что мне нужно и написал довольно простой mvc-like фреймворк. Начем по порядоку.

До этого момента я пробовал Go около 3х лет назад, непомню какая была версия, но помню о Go тогда только начали узнавать. О самом языке тогда небыло ничего ясно кроме того что он от Google. И что многие известные люди успешно разрабатывают на Go например Brad Fitzpatrik

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

До этого я много писал на ruby и javascript, и php и python, потому для меня интересно как Go будет решать те задачи которые уже можно было решать с помошью известных мне инструментов и как создавать на нем то для чего сам язык и предназначался.

Вопросы которые для меня важны когда я изучаю новый ЯП

  • Документация
  • Наличие готовых библиотек и рабочих проудктов
  • Наличие комьюнити
  • Наличие качественной библиотеки для работы с БД
  • Быстрое понимание
  • Приятный синтаксис

Примерно через 20 часов я получил положительные ответы на свои вопросы

Что такое язык Go ?

Это компилируемый язык со статической типизацией, предназначенный для реализации высокопроизводительных паралельных вычислений, в нем есть garbage collector, memory safety - безопасный доступ к памяти, а также CSP который как раз используется для описания паралельных вычислейний. Go похож на C но с улучшениями в сторону понимания, простоты и безопасности.

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}

Вконце будут ссылки по которым можно понятно и подробно прочитать про Go.

А ниже немного интересных моментов языка.

Darkside of the Spotlight (English version)

Category: security

One of the new features you can get with new OSX Yosemite is enhanced spotlight. What exactly Spotlight doing ? Indexing all of your content, except you’re not excluded something in settings. Also Apple tell us “Safety. Built right in.” So does it true ?

Spotlight always knows everything about your old and new files, it indexing not only files, but calendar records, bookmarks, browser history, contacts and emails. Spotlight knows everything about your files and you.

What it does when you’re typing something in a search field Spotlight search everywhere and everything and even loading webpages from your bookmarks and history, questions ?, follow next:

I am take Wireshark sniffer, turn off all other programs and start to watch what exactly Spotlight did when i am type something.