Archive for category Blogroll

Video distribution in the classroom

We have a computer room in our local university, ind it’s quite bussy. The main problem it became (this is another story) too long to be usable and there was a strong demand for the screencast view right on the student’s workplace. Yes we do use beamers, but the view was too small to dead the text on the screen.

And so the project was born. There is single seat where the view originates and multiple locations where it should be visible. The system must be easily expandable and upgradeable, no vendor lock-ins. All the points in the systems should be easily adjustable and replaceable.

Read the rest of this entry »

Tags: , , ,

Messing with PHP-ODT

I’m working oh hobby project on a free time, and one of the tasks here is to generate ODT file, containing output from the database. The output library i’ve chosen is PHP-ODT. It’s kind of basic, but allows to create ODT documents on the fly.

And now, lessons learned

Allways provide file size.

This code will create corrupt file, according to LibreOffice: The correct code is:

 header(“Content-Description: File Transfer”);
header(“Content-Type: application/vnd.oasis.opendocument.text”);
header(“Content-Disposition: attachment; filename=\”” . $ODTFile .”\”” );
readfile($ODTtmpFile);

 header(“Content-Description: File Transfer”);
header(“Content-Type: application/vnd.oasis.opendocument.text”);
header(‘Content-Length: ‘ . filesize($ODTtmpFile));
header(“Content-Disposition: attachment; filename=\”” . $ODTFile .”\”” );
readfile($ODTtmpFile);

It is possible to add hierarchical styles

Not in the base code yet

$pStyleDate = new ParagraphStyle(‘revDate’);

$pStyleDateStrike = new ParagraphStyle(‘revDate-strike’);
$pStyleDateStrike->setAsChild(‘revDate’);

It is possible to add text decorations in the paragraph level

Again, not in the base code yet:

$pStyleDateStrike->setLineThrough(StyleConstants::SINGLE);

It is possible to merge cells in the table

Well, not in the base code and horizontally only:

$hSpan=array(“”,””,””);

$cRow = array($hSpan,$pRev,$pDate,$pMemo);
$table->addRows(array($cRow));

Tags: ,

My favourite X sceensaver is …

Substrate

Captured with  ‘$ sleep 120 ; xwd -root -out full-screen.xwd

Tags:

Replacement belt for Proxxon KS 230 table saw

The belt is B45MXL – MXL (0.08″) pitch, 45 -teeth, 10 mm width.

It will cost around $15 per 10 pack on if you know the pitch and length, or starting $15 for a single one, if you buy it as “KS 230 replacement belt”, part number  27006/57.

 

Tags: ,

The Power of Pipes

Okay guys, the log if filling with

sshd[20117]: Invalid user pi from 142.93.118.186 port 50416
sshd[20117]: input_userauth_request: invalid user pi [preauth]
sshd[20117]: Received disconnect from 142.93.118.186 port 50416:11: Bye Bye [preauth]
sshd[20117]: Disconnected from 142.93.118.186 port 50416 [preauth]
sshd[20119]: Invalid user cubie from 5.189.227.161 port 39772
sshd[20119]: input_userauth_request: invalid user cubie [preauth]
sshd[20119]: Received disconnect from 5.189.227.161 port 39772:11: Bye Bye [preauth]
sshd[20119]: Disconnected from 5.189.227.161 port 39772 [preauth]
sshd[20121]: Invalid user guest from 208.68.37.169 port 42858

Read the rest of this entry »

Tags: , ,

PCB manufacturing in China

So, here it comes. I need a small, pretty looking PCB for the infrared switcher.

It took 3 hours to validate the order, almost 25 hours to make the PCBs and almost 2 days to announce them delivery ready.

To be continued, once they arrive 🙂

Tags:

Infrared switcher for the auditorium. Part 1

Sometimes I find myself in awkward situations.

Some time ago we have installed a video duplication system in one of auditoriums. It is based on the HDMI backbone and some active equipment, like splitters and media converters.

It has single video injection point, where different sources can be selected. Source switching is made using KD-S4X1 switch from Key Digital.

One small problem is the entire installation must be concealed, while the switch is controlled with a button on the case and the IR remote. It has also no means of displaying the output, except a LED per active channel.

And so the Project was born: place a push button anywhere and replay the sequence on the IR LED inside the enclosure. Just to be sure, an Read the rest of this entry »

Tags: , ,

Grinding arbor for Unimat SL/DB

Unimat SL/DB grinding arbor. Photo from the Internet

Arbor’s lenght 18 + grinding tool + 3 + 5.2 (bolt head) mm. Thread length on bolt 13,2 mm, M12x1.

Thread on the arbor M12x1, continuous, last 5 mm toward the headstock are bored to ~14 mm.

Holder diameter 15 mm, holder lip 3 mm. Max diameter 28mm.

 

Eclipse, Arduino and STM32

Mkay, let’s switch from Arduino IDE to some more user friendly.

I need Arduino, PHP, Python and i woukl like to switch to STM32 ‘Blue pill” instead of AVR core.

Seems like Eclipse community has developed some support on Arduino: need to mention Sloeber to bringing more pleasant UX to Arduino community. STM32duino community has an nice wiki post on installing Sloeber on Eclipse, yet it’s not up to date right now:

  1. Arduino plugin JSON link right now resides in http://eclipse.baeyens.it/update/V4/stable instead of http://www.baeyens.it/eclipse/V2.
  2. You don’t need to update to CDT 9.1, as Eclipse has CDT 9.4
  3. You do need to install support for SAM boards from “Arduino”->”Preferences”->”Platforms and boards”, mainly “Arduino SAM Boards (32-bits ARM Cortex-M3)”
  4. The GNU C/C++ compiler, provided with SAM boards is quite oldish, IMHO – it tells “4.8.3-2014q1”. I have a GNU Arm Embedded Toolchain in “C:\Program Files (x86)\GNU Tools ARM Embedded\7 2017-q4-major” and it seems quite legit to replace “A.RUNTIME.TOOLS.ARM-NONE-EABI-GCC.PATH” projec’t variable with the path above and the compilation is performed using the GCC v7 binaries.

Right now i have some older Arduino sketches that I would like to port to STM32: I like the on-board USB, increased pin count and the idea of J-Link debugger.

Tags: , ,

Rant: SF.net GIT repositories

If unable to push commits, use git clone ssh://USERNAME@git.code.sf.net/u/USERNAME/PROJECTNAME instead of proposed git clone ssh://USERNAME@git.code.sf.net/u/USERNAME/PROJECTNAME u-USERNAME-PROJECTNAME

Tags: