Как добавить рабочий стол с поддержкой RDP для Amazon EC2 Ubuntu

Ниже предлагается один из самых быстрых способов поднять удаленный рабочий стол для северного дистрибутива Ubuntu — решение работает на Amazon Web Services. Достоинством RDP в отличие от VNC является возможность «из коробки» подключаться из Windows без установки дополнительных программ — достаточно выполнить команду mstsc для открытия терминала.

sudo apt-get update
sudo apt-get install lxde
sudo start lxdm
sudo apt-get install xrdp

Так же необходимо задать пароль, к примеру, для пользователя по умолчанию ubuntu:

sudo passwd ubuntu

Единственным недостатком решения является то, что повторное подключение приводит к запуску новой сессии. В качестве временного исправления можно использовать правку файла /etc/xrdp/xrdp.ini с заданием port=-1 в секции [xrdp1], но это работает только при подключении к уже запущенной последнее сессии, при перезагрузке компьютера почему-то необходимо вернуть значение порта по умолчанию.

LINT для английского языка

Модуль  write-good  для NodeJS предназначен для проверки текстов на английском на «академичность» стиля. Автор поставил себе задачу автоматизацию трех проблем в научных текстах:

1. Чрезмерное использование Passive Voice. Помимо того, что большое количество пассивного залога ухудшает стиль текста, в научной статье это, как правило, связано с сокрытием существенной информации или неполноте фактов. Пример:

Плохо:        Termination is guaranteed on any input.
Лучше:       Termination is guaranteed on any input by a finite state-space.
Хорошо:     A finite state-space guarantees termination on any input.

2. Обтекамые выражения и лишние слова

Плохо:    It is quite difficult to find untainted samples.
Лучше:    It is difficult to find untainted samples.

Часто студенты в работах используют «ленивые» слова, чтобы избежать необходимости количественного описания. Например, several, exceedingly, many, most, few, vast.

Плохо:    There is very close match between the two semantics.
Лучше:    There is a close match between the two semantics.

3. Лексические иллюзии. Очень сложно заметить повторы слов, когда они разделены переносом строк.

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

  Ссылки:

https://github.com/devd/Academic-Writing-Check

http://homepages.ed.ac.uk/martinc/msc/doc/hc.pdf

Как открыть Excel на втором мониторе

Excel (в версии до 2013) обладает поведением, отличающимся от других офисных продуктов, таких как Microsoft Word. Если в Word можно легко открывать документы в разных окнах и соответственно, легко растаскивать их по мониторам, то в Excel по умолчанию все таблицы открываются в одном окне.

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

Cистема модулей C++ уже доступна в Visual Studio 2015

Первое обновление Update 1 к Visual Studio 2015 принесло новую экспериментальную возможность для C++. Долгожданная Система модулей C++, которая возможно войдет в стандарт C++ 17.

Любой, кто разрабатывал большой проект на C++, знаком с проблемами, связанными с необходимостью связывать компоненты через заголовочные файлы. Дупликация между заголовочными файлами и исходным кодом, необходимость использовать идиому PIMPL, не говоря уже об огромных накладных расходах на вычитывание с диска бесконечных цепочек маленьких заголовочных файлов при компиляции

Итак, чтобы попробовать новые возможности, необходимо:

  • Создать исходный файл модуля с расширением ixx (почему-то для cpp файлов это не работает) и использовать ключи компилятора /experimental:module
// file: MyModule.ixx
module M;

export int f(int x)
{
    return 2 + x;
}
export double g(double y, int z)
{
    return y * z;
}
 
    • В файле, куда подключается модуль использовать ключи компилятора /experimental:module /module:reference ../Modules/M.ifc
// file: main.cpp
#include "stdafx.h"
#include <iostream>

import M;

int main()
{
    std::cout<<f(5)<<std::endl;
    std::cout<<g(0.0, 1);
    return 0;
}
 

При компиляции модуля помимо обычного OBJ файла появляется файл IFC, содержащий метаданные об интерфейсе модуля. Представление этого файла основано на работе Gabriel Dos Reis and Bjarne Stroustrup под названием «Внутреннее представление программы», реализацию можно найти на GitHub.

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

Полный исходный код можно найти на BitBucket

Offline импорт контактов из Nokia S40 в Android

Опишу способ переноса контактов из телефона Nokia на платформе S40 (а это почти все телефоны Nokia, что не смартфоны и не 1XXX с фонариком) без использования онлайн синхронизации через аккаунт Google.

  1. C помощью Nokia PC Suite делаем резервную копию контактов — на выходе получаем *.NBU файл.
  2. Далее нужно получить контакты в формате VCF. Это можно сделать с помощью программы Nbuexplorer или NBUparser — эти программы позволяют вытянуть всю информацию из бекапа телефона. Тут камень в огород Nokia, потому что файлы бекапа фактически бесполезны, если телефон будет утерян или сломан — восстановить официальными программами можно только в такой же телефон. Нажимаем правой кнопкой на Contacts — Export All — указываем папку назначения, в которую Nbuexplorer запишет файлы *.vcf для каждого контакта.
  3. Папку с vcf файлами копируем на карту памяти Android-телефона.
  4. Далее на Android открываем (может отличаться в зависимости от версии Android) Приложения- Контакты — Меню — Импорт контактов. — Карта памяти. . Появляется окно с запросом куда сохранять контакты, а затем диалоговое окно, в котором нужно выбрать «Иморт всех vCard».

Все — теперь контакты импортированы практически со всей дополнительной информацией (фотографии все-таки не импортировались)

Узнать словарный запас английских слов

Сервис TestYourVocab позволяет быстро узнать словарный запаc и таким образом оценить уровень знания английского языка. Все это можно сделать буквально за несколько минут, поставив галочки напротив слов, значение которых известно. Потом система выдает оценку (SMS слать не нужно :)). Алгоритм подбора слов и генерации оценки оставим на совести разработчиков. Лично мне показали результат в 4340 слов, что по их табличке соответствует уровню Intermediate. И это значение значение мне показалось довольно адекватным.

Книга по требованию. Чукча не читатель — чукча-писатель

Просматривая описание книги Основы работы с технологией CUDA, заметил интересную приписку «Эта книга будет изготовлена в соответствии с Вашим заказом по технологии Print-on-Demand компанией ООО «Книга по Требованию».

Поиск приводит на сайт letmeprint.ru , на котором действительно можно напечатать свою книгу с тиражом от одного(sic!) экземпляра. Правда, при печати с твердой обложкой, тираж должен быть не менее 19 экземпляров. Двухсотстраничную книжку в мягкой обложке можно напечатать всего лишь за 120 рублей. Единственная бюрократическая вещь, как я понял, это необходимость получения ISBN, стоимость получения которого в 2011 году 1112,74р, судя по википедии.

*Всеобщее ликование общества графоманов 🙂

Sonic Visualiser — кросплатформенный просмотрщик аудио-сигналов

Бесплатное приложение Sonic Visualiser с открытым исходным кодом позволяет проводить анализ звуковых файлов. Хотя редактирование в привычном смысле в программе и отсутствует(можно только накладывать эффекты и делать преобразования), возможности анализа довольно широки:

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

Китайских заключённых заставляют играть в WoW

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

Согласно показаниям бывшего узника трудового лагеря Цзиси на северо-востоке Китая, в их поселении занимались фармингом около 300 заключённых. «Добыча золота» («gold farming») — зарабатывание денег в онлайн-играх с помощью монотонного повторения однообразных действия. Торговля виртуальными вещами может приносить большой доход, так как миллионы игроков вкладывают реальные деньги в игру, чтобы ускорить развитие виртуального персонажа. Компьютеры никогда не  простаивали. Если заключённый за смену не выполнял установленную норму, то подвергался физическому наказанию. «Мы продолжали играть до тех пор, пока могли хоть что-то видеть и различать», — говорит он.

via guardian.co.uk

10 способов проверить число на то, что оно является степенью двойки

В статье на сайте exploringbinary.com описаны алгоритмы определения, является ли число двойкой в какой-либо степени.

Самый быстрый способ:

int isPowerOfTwo (unsigned int x)
{
return ((x != 0) && ((x & (~x + 1)) == x));
}