to post messages and comments.

Давно, отседова уже и не видно, мне выпала лёгкая задачка про программированию. У некоего гражданина был комплект картинок с БК-11М, созданные в его программе по его специальности. Мне нужно было эти картинки перетащить на PC. "Картинки" это просто набор бит. 0-чёрный пиксель, 1-белый., без заголовков. Ну что там делать? берём картинку, инвертируем (пожелание клиента), пришиваем заголовок BMP, получаем картинку на PC. Коротенькая программа, натравливаем на каталог, на выходе получаем полное собрание иллюстраций для учебника. Открываем любую бмпшку и... бляяять!? чтозанахуй!? То, что картинка в зеркальном отображении по горизонтали, это ладно. Но блять там же обратный порядок бит в байте! Чуток поколупавшись всё сделал как надо. Но теперь не надо мне рассказывать про big endian vs little endian, я это видел так наглядно, наглядней просто некуда. Жаль, тогда я не знал как это называется и не соотнёс со Свифтом и его "остроконечниками" и "тупоконечниками"...

конфиг для обладателей рута на телефонах и gps навигатора — с данным конфигом подгрузка положения будет гораздо быстрее и ваш девайс быстрее словит спутники

#Uncommenting these urls would only enable
#the power up auto injection and force injection(test case).
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin

# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0

#Test
NTP_SERVER=time.gpsonextra.net
NTP_SERVER=ru.pool.ntp.org
NTP_SERVER=0.ru.pool.ntp.org
NTP_SERVER=1.ru.pool.ntp.org
NTP_SERVER=2.ru.pool.ntp.org
NTP_SERVER=3.ru.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org

# DEBUG LEVELS: 0 — none, 1 — Error, 2 — Warning, 3 — Info
# 4 — Debug, 5 — Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
DEBUG_LEVEL = 4

# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0

# supl version 1.0
SUPL_VER=0x10000

# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# GEOFENCE = 0x20
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
CAPABILITIES=0x37

# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
# ACCURACY_THRES=5000

################################
##### AGPS server settings #####
################################

# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234

# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234

####################################
# LTE Positioning Profile Settings
####################################
# 0: Enable RRLP on LTE(Default)
# 1: Enable LPP_User_Plane on LTE
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane
LPP_PROFILE = 0 # Sensor R&D : This will not be injected to MODEM

################################
# EXTRA SETTINGS
################################
# NMEA provider (1=Modem Processor, 0=Application Processor)
NMEA_PROVIDER=1

##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0x0
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1
QOS_ACCURACY=50
QOS_TIME_OUT_STANDALONE=60
QOS_TIME_OUT_agps=89
QosHorizontalThreshold=1000
QosVerticalThreshold=500
AssistMethodType=1
AgpsUse=1
AgpsMtConf=0
AgpsMtResponseType=1
AgpsServerType=1
AgpsServerIp=3232235555
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=lbs.geo.t-mobile.com
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common

У чуваков был до этого клиент на RhoMobile, он работал настолько быстро, что между нажатиями кнопки PTT можно было почесать в голове, хлебнуть кофе, или открыть HH и поискать себе другую работу.
Когда чувак из это команды задал глав.архитектору вопрос: РАЗ У НАС БЛЯТЬ УЖЕ ЕСТЬ ПЛАТФОРМОЗАВИСИМЫЙ СЛОЙ, ТО НАХУЯ БЛЯТЬ ВЕСЬ ЭТОТ БЛЯТЬ ЕБАНЫЙ БЛЯТЬ ДЖЯВАСКРИПТ БЛЯТЬ?
Архитектор сказал, что это противоречит стратегии компании. (с) @JCD

Если у вас KDE, но GTK-программами пользуетесь, то не надо для настройки их внешнего вида ставить по привычке пакет gtk-qt-engine. Он не просто так переехал в AUR ;). На текущий момент его функции исполняет kde-gtk-config. Правда при первом запуске у меня он рухнул, но со второго все заверте...

[…] люди чрезмерно подвержены общественному мнению и традициям, рекламе. Типичные мифы, если взглянуть на них более широко: асм — сложный, си — быстрый, жаба — тормозная, D — сырой, апач — крутой, шарп и пых — удел быдлокодеров... что там еще? Эти все мифы когда-то может имели под собой какую-то реальную основу, но сейчас это больше религия и вопрос доверия тому или иному бренду. А например, в настоящее время рождается следующий миф: вконтакт — для школоты. Может сейчас это реальность а не миф, но лет через 30 школота вырастет, все так же будет там сидеть, но посыл останется.

linux.org.ru

Глядя на себя в зеркало я себя не узнаю. Скинул за год 27 кило(теперь во мне 52 кг веса). Мускул , грива волос и шрамы... Каждый — это история . Полосы длинной в 20 см на предплечьях=напряг в отношенях с семьей . Поперечная горизонтальная = битва на боевых клинках лет 6 назад. Шрам на ноге от жопы до ступни=детская любовь кататься на целофане с горки возле стройки и встреча с лопнувше пружиной амортизатора. Пробитая насквозь рука= игры в ножички с нарками. Потушенные окурки= деланье репутации в школе годов 12 назад. По неволе вспоминаешь книги крови Клайва Баркера — уйма историй . Но суть одна — няша я страстно любящий понты. При всех попытках избавиться от кичливости выходит фэйл. Хотя попомнив ныне покойного Молодого "Пусть говорят что у меня понты на каждом слове , ведь лучше понтоватся , чем делать безпонтово".

Подменить выводы запущенного процесса:
1) ls -l proc$PROCESSID/fd
lrwx------ 1 root root 64 Июн 29 08:13 0 -> /dev/pts/1
lrwx------ 1 root root 64 Июн 29 08:13 1 -> /dev/pts/1
lrwx------ 1 root root 64 Июн 29 06:25 2 -> /dev/pts/1
lrwx------ 1 root root 64 Июн 29 08:13 3 -> /dev/sdb1

2) gdb -p $PROCESSID
...
(gdb) p close(0)
$1 = 0
(gdb) p open("/tmp/outfile.txt",1)
$2 = 0
(gdb) p close(1)
$3 = 0
(gdb) p open("/tmp/stdfile.txt",1)
$4 = 1
(gdb) p close(2)
$5 = 0
(gdb) p open("/tmp/errfile.txt",1)
$6 = 2
(gdb) q
A debugging session is active.

Inferior 1 [process 24940] will be detached.

Quit anyway? (y or n) y

3) ls -l proc$PROCESSID/fd
lrwx------ 1 root root 64 Июн 29 08:13 0 -> /tmp/outfile.txt
lrwx------ 1 root root 64 Июн 29 08:13 1 -> /tmp/stdfile.txt
lrwx------ 1 root root 64 Июн 29 06:25 2 -> /tmp/errfile.txt
lrwx------ 1 root root 64 Июн 29 08:13 3 -> /dev/sdb1

HTC — быдлокодеры. Их собственноручный бэкэнд для ContactsContract не понимает URI вида — content://com.android.contacts/raw_contacts/139, то есть, Uri основанный на RAW_CONTACT_ID, и замечательно падает если послать такой Intent с ACTION_VIEW.

// падение приложения "Контакты" на HTC One S

Uri oldUri = Uri.parse("content://com.android.contacts/raw_contacts/139");
startActivity(new Intent(Intent.ACTION_VIEW, oldUri).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

Падение происходит из-за того, что реализация HTC отличается от стандартной и ничего не знает про RAW_CONTACT_ID, и с умным выражением лица надеется получить LOOKUP_KEY.

Исходя из выше написанного, ВСЕГДА и на всех девайсах лучше использовать LOOKUP_KEY и Uri основанный на нем. Для того чтобы получить корректный Uri на базе Uri с RAW_CONTACT_ID нужно вызывать метод getContactLookupUri класса ContactsContract.RawContacts:

// корректный код, который работает и на HTC и на Samsung и везде (во всяком случае, я на это надеюсь :) )
Uri oldUri = Uri.parse("content://com.android.contacts/raw_contacts/139");
Uri correctUri = ContactsContract.RawContacts.getContactLookupUri(contentResolver, oldUri);
startActivity(new Intent(Intent.ACTION_VIEW, correctUri).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

Легкой правкой исходника TiddlyWiki и переименованием, можно превратить его в HTML Application
1) в секцию <head></head> добавляем
<HTA:APPLICATION
APPLICATIONNAME="HTA Test"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"
>
2) переименовываем в файл с расширением *.hta

Если буду менять себе роутер когда-нибудь, то возьму такой — ipboom.ru — RouterBOARD 751U-2HnD (2170 рублей)
Не куплюсь больше на дешевизну д- и тп- линков всяких там.
ЗЫ: есть еще гигабитная версия этого хозяйства, она на 830 рублей дороже стоит