20161104

Представляю свою программу pcbmiller, которая полностью автоматизирует процесс изготовления печатной платы методом фрезерования (с учётом кривой платы). Опирается на flatcam и g-code wrapper

20161026

Если вдруг Ubuntu стала молчаливой - rm -r ~/.config/pulse; pulseaudio -k

Так же стоит обратить внимание на новый диск для болгарки: 2 608 623 013 Универсальный твердосплавный отрезной круг Bosch Multi Wheel

20161019

Как связаться с кем-то через github? После того как не стало PM остался только обходной путь:

  1. Найти пользователя, который делал нужные нам правки (пусть это будет Jack) нужного нам проекта. Если проект неизвестен - смотрим все его проекты (зачем тогда с ним контактировать?) https://github.com/Jack?tab=activity
  2. Клонируем дерево этого проекта git clone https://github.com/jacksproject
  3. cd jacksproject
  4. git checkout master или вовсе не делаем
  5. и, наконец, волшебная строчка git log -1000 - среди неё ищем e-mail этого человека!

20161018

Внезапно (после апдейтов) перестала работать samba! Ручная пересборка последней версии из исходников ничего не дала. Ситуация исправилась только после:

apt-get install --reinstall libsmbclient libsmbclient-dev libtevent0 libtalloc2
service smbd restart

Так же началась проблема с lens - не показывались программы вообще! Помогла переустановка:

sudo apt-get purge unity-lens-applications    
sudo apt-get install unity-lens-applications 

20161007

Как отрисовать молекулу в 3D? Очень просто:

  1. Ставим Blender
  2. Заходим в File→User Preferences→Import-Export и ставим птичку в Atomic Blender - PDB
  3. Открываем Google с поиском pdb adrenaline и на первой же ссылке открывается глючащая страничка, в исходнике которой находим искомый файл http://www.ch.ic.ac.uk/rzepa/mim/drugs/pdbs/adrenaline.pdb
  4. В Blender жмём File→Import→Protein Data Bank(pdb)
  5. Если хотим переключиться в вид обычных связей, в дереве структуры проекта выбираем Carbon→Ball_Carbon→SurfSphere в состояние невидимости.

Теперь черёд сделать это вручную через Sketchup. Собственно отрисовали контур, далее хотим сделать модель на 3D принтере. Для этого мы выдавливаем объём и нуждаемся в фасках:

  1. Качаем SketchUcation Tools
  2. Preferences→Install Extensions→SketchUcationTools.rbz
  3. Ставим libfredo6 и roundcorner, перезагружаем SU
  4. выделяем кромки и скругляем
  5. Качаем SketchUp STL plugin и устанавливаем
  6. Экспортируем в STL

20160930

Как расширить fixed-диск в VirtualBos/ubuntu:

  1. vboxmanage showhdinfo old.vdi
  2. vboxmanage clonehd old.vdi new.vdi
  3. vboxmanage modifyhd new.vdi --resize 18000
  4. in case of error, rename UUID: vboxmanage internalcommands sethduuid 18gb.vdi
  5. reconnect this 18gb.vdi to VirtualMachine inplace of old.vdi
  6. start machine and extend partition

20160916

Со вчерашнего дня ютуб начал принуждать к просмотру определённых роликов. Несколько лет назад было совершенно аналогично - вдруг при любом поиске они стали появляться. Адрес этого рекламодателя по кнопке About→Contact us: YouTube, LLC, 901 Cherry Ave. San Bruno, CA 94066, USA

20160915

Отличный фокус по переворачиванию заготовки и заклинивания в самой себе. Суть в том, что пазы в шахматном порядке становятся впритык из 01:50 видео. Достаточно взглянуть на скриншот чтобы всё понять и ещё один уже в дереве.

20160914

Модельный пластик это смесь полиуретана с Al2OH3 и содой, всё вместе с плотностью 700…800 кг/м³ Вроде хорошо доступен BM5460 на сайтах у нас, или BM5272 (когда сверх-плотный материал для чистой поверхности необходим).

ISO Nominal Diameter of Tool (mm)
<=3 >3-6 >6-10 >10-18 >18-30 >30-50 >50-80 >80-120 >120-180
d9 -20 -45 -30 -60 -40 -76 -50 -93 -65 -117 -80 -142 -100 -174 -120 -207 -145 -245
d11-20 -80-30 -105-40 -130-50 -160-65 -195-80 -240-100 -290-120 -340-145 -395
e8-14 -28-20 -38-25 -47-32 -59-40 -73-50 -89-60 -106-72 -126-85 -148
e9-14 -39-20 -50-25 -61-32 -75-40 -92-50 -112-60 -134-72 -159-85 -185
f8-6 -20-10 -28-13 -35-16 -43-20 -53-25 -64 -30 -76-36 -90-43 -106
f9 -6 -31 -10 -40 -13 -49 -16 -59 -20 -72 -25 -87 -30 -104 -36 -123 -43 -143
h60 -60 -80 -90 -110 -130 -160 -190 -220 -25
h70 -100 -120 -150 -18 0 -210 -250 -300 -350 -40
h80 -140 -180 -220 -270 -330 -39 0 -460 -540 -63
h90 -250 -300 -360 -430 -520 -620 -740 -870 -100
h100 -400 -480 -580 -700 -840 -1000 -1200 -1400 -160
h110 -600 -750 -900 -1100 -1300 -1600 -1900 -2200 -250
h120 -1000 -1200 -1500 -1800 -2100 -2500 -3000 -3500 -400
h130 -1400 -1800 -2200 -2700 -3300 -3900 -4600 -5400 -630
js11+/- 30+/- 37+/- 45+/- 55+/- 65+/- 80+/- 95+/- 110+/- 125
js12+/- 50+/- 60+/- 75+/- 90+/- 105+/- 125+/- 150+/- 175+/- 200
js14+/- 125+/- 150 +/- 180+/- 215+/- 260+/- 310+/- 370+/- 435 +/- 500
js16+/- 300+/- 375+/- 450+/- 550+/- 650+/- 800+/- 950+/- 1100+/- 1250
k9 +25 0 +30 0 +36 0 +43 0 +52 0 +62 0 +74 0 +87 0 +100 0
k10+40 0+48 0+58 0+70 0+84 0+100 0+120 0+140 0+160 0
k11+60 0+75 0+90 0+110 0+130 0+160 0+190 0+220 0+250 0
k12+90 0+120 0+150 0+180 0+210 0+250 0+300 0+350 0+400 0
H5+4 0+5 0+6 0+8 0+9 0+11 0+13 0+15 0+18 0
H6+6 0+8 0+9 0+11 0+13 0+16 0+19 0+22 0+25 0
H7+10 0+12 0+15 0+18 0+21 0+25 0+30 0+35 0+40 0
H11+60 0+75 0+90 0+110 0+130 0+160 0+190 0+220 0+250 0
H12+100 0+120 0+150 0+180 0+210 0+250 0+300 0+350 0 +400 0

*Tolerance in units. 1 Unit=0.001mm

20160913

Как распечатать на бумажках-самоклеках экселевский столбик? Одно из решений:

  1. Открывает Libreoffice/Openoffice calc и делаем в первой строке First, Last записи, далее по строкам Имена и Фамилии
  2. Сохраняем файл под именем mydb.ods
  3. Нажимаем New→Database, Connect to an existent→Spreadsheet. Далее по принципу "везде Next". В результате мы создали базу данных с одной таблицей (первый лист) из двух полей First и Last
  4. Нажимаем New→Labels, в Database выбираем наш шедевр из прошлого шага, в Table "sheet1", в Database field первый столбец First и жмём стрелку влево (мышкой на картинке). После этого переходим в текстовое поле и после записи вида mydb.Sheet1.0.First нажимаем Enter чтобы следующее поле вышло на новой строчке. Потом меняем First на Last и тоже добавляем.
  5. Переходим на вкладку Format. У меня были дюймы, поэтому отдельно открываем Writer→Tools→Options→OO Writer→General→Measurment unit, сработало, т.е. Labels берут настройки от Writer.
    Там надо заполнить табличку. Был лист с наклейками 3*8 штук, т.е. 210*297 лист нарезался кусочками 70*37. Вписываем эти параметры:
    HP 70mm, VP 37mm, W 70mm, H 37mm, Left 12mm, Top 6mm, Col 3, Rows 8. Для сантиметров всё поделить на 10, для дюймов скорее всего бумага будет Letter, считайте сами.
  6. Переходим на вкладку Options. Критически важно поставить галку на "Sync content". Без этого не удастся сделать потом форматирование надписи.
  7. Нажимаем New Document и видим, что появился разлинованный лист (линии печататься не будут) и вместо ожидаемых значений полей лишь тэги <First> и <Last>
  8. Приступаем к форматированию. Левую верхнюю ячейку редактируем в смысле размера шрифта, положения и доп.надписей. После нажимаем отдельную новую кнопку "Sync Labels" и видим, что изменения отразились во всех ячейках.
  9. Самое важное осталось понять, что мы сделали что-то вроде документа слияния и теперь надо это самое слияние произвести.
    Нажимаем кнопку Print (внезапно?) и в диалоге жмём YES. Переключатель ставим в режим File и выбираем имя для нового документа. По нажатию OK получится наш лист со всеми заполненными полями исходной таблицы и с учётом форматирования.

20160601

Для записи webinar воспользовался gtk-recordmydesktop. Всё непросто. В момент начала записи звук корёжится, т.е. звук в колонках сразу перестаёт быть нормальным! Решил, запустив браузер в Virtualbox. Далее столкнулся с проблемой что звук вообще записать не удаётся (только портить реальный). Для этого установил pavucontrol, запустил и в момент наличия звука из Virtualbox и запущенного gtk-recordmydesktop добился работы Peak-meter горизонтального. Тогда звук из источника DEFAULT вкладки advanced стал звуком из колонок.

20160125

Скоро появится Peavey Vyper 30, заранее к нему материалы по изготовлению MIDI-педали вместо Sanpera I

20160123

Пара интересных примеров для C. (столкнулся в Arduino IDE):

#define READ_PORT PINС
uint8_t portCache;
void setup() {
}
void loop() {
 portCache |= READ_PORT & 0x03;
}

will fail to compile with "stray '\320' in program" (at line before the last line)
#define SQR(x) (x*x)
uint8_t val=1;
void setup() {
 Serial.begin(9600);
 Serial.println("Start!");
 Serial.println(SQR(val+1),DEC);
}

void loop()

will printout to serial:
Start!
3

20160121

Если arduino IDE не может получить доступ к USB порту с ошибкой Error opening serial port '/dev/ttyUSB0'
ser_open(): can't open device "/dev/ttyUSB0": Permission denided
надо добавиться в группу dialout:
sudo usermod -a -G dialout $USER и перелогиниться после этого

Если перестали работать ассоциации файлов в списке загрузок firefox/ubuntu можно запустить
sed 's#.*octet-stream.*#application/octet-stream=gnome-open.desktop#' ~/.local/share/applications/mimeapps.list -i

atmega328p pinout arduino

avr pin # avr name, prop arduino pin arduino pin prop
ATmega328 Arduino Nano
1 PD3 (PCINT19/OCB2B/INT1) 6 Digital Pin 3 (PWM)
2 PD4 (PCINT20/XCK/T0) 7 Digital Pin 4
3 GND 4 & 29 GND
4 VCC 27 VCC
5 GND 4 & 29 GND
6 VCC 27 VCC
7 PB6 (PCINT6/XTAL1/TOASC1) - -
8 PB7 (PCINT7/XTAL2/TOASC2) - -
9 PD5 (PCINT21/OC0B/T1) 8 Digital Pin 5 (PWM)
10 PD6 (PCINT22/OC0A/AIN0) 9 Digital Pin 6 (PWM)
11 PD7 (PCINT23/AIN1) 10 Digital Pin 7
12 PB0 (PCINT0/CLK0/ICP1) 11 Digital Pin 8
13 PB1 (PCINT1/OC1A) 13 Digital Pin 9 (PWM)
14 PB2 (PCINT2/SS/OC1B) 13 Digital Pin 10 (PWM - SS)
15 PB3 (PCINT3/OC2A/MOSI) 14 Digital Pin 11 (PWM - MOSI)
16 PB4 (PCINT4/MISO) 15 Digital Pin 12 (MISO)
17 PB5 (PCINT5/SCK) 16 Digital Pin 13 (SCK)
18 AVCC 27 VCC
19 ADC6 25 Analog Input 6
20 AREF 18 AREF
21 GND 4 & 29 GND
22 ADC7 26 Analog Input 7
23 PC0 (PCINT8/ADC0) 19 (A0, 14) Analog Input 0
24 PC1 (PCINT9/ADC1) 20 (A1, 15) Analog Input 1
25 PC2 (PCINT10/ADC2) 21 (A2, 16) Analog Input 2
26 PC3 (PCINT11/ADC3) 22 (A3, 17) Analog Input 3
27 PC4 (PCINT12/ADC4/SDA) 24 (A4, 18) Analog Input 4 (SDA)
28 PC5 (PCINT13/ADC5/SCL) 25 (A5, 19) Analog Input 5 (SCL)
29 PC6 (PCINT14/RESET) 28 & 3 RESET
30 PD0 (PCINT16/RXD) 2 Digital Pin 0 (RX)
31 PD1 (PCINT17/TXD) 1 Digital Pin 1 (TX)
32 PD2 (PCINT18/INT0) 5 Digital Pin 2

20160101

Новый начался. Интересно, что удастся достичь?