Archiv der Kategorie: how.to

summer solstice 2017

the „fete de la musique“ took place in 2017, in berlin and other cities. regularily, i had moved to schillingbrücke, near yaam, where a public audience stage was prepared, like any other year, before, but from the „ritter butzke“ crew….

Stream videos with Ustream

a minute of ustream clip, that ive collected during that event with a 360° roundview, that maybe has its gaps, here on the playback. data was streamed via vodafone lte, but within a overloaded cell, so the transfering bandwidth was maybe not accessible. below a clip, that i had made on the weekend before, in prenzlauer berg  ( new swabia ) which runs slightly smoother. i was using a freemium account, so no guarantee, that it will last forever.

Stream videos with Ustream

on ustream, one can broadcast from the mobile device as well as from stationary devices. with the network in the backhand, some users could be served with that, with no effort, but with dashboarded reports.

budget.node.-.examples

while we went warm with theoretical package dense of up to 8x nodes in 1he server case, the reality is comming by and tell us, what is really up to do. the given hardware is:

  • 1x cubieboard1 | 1 hdd 500 gb
  • 1x cubieboard3 | 1 hdd 2 tb
cubieboard 1 + 3
cubieboard
2x + 1x

the price tag is 90 + 50 = 140 € for the boards alone, without any harddrive nor router nor accessoires.  the money is allready spent to the development god of tiny devices with giant duties. it could handle 100 mbit/s to the outside world, or with some usb-ethernetadapter possible the 1000 mbit/s from the bigger one, but on some point, the conversion/transversion from gigabit ethernet to 100 mbit/s must be done. the best way would be a board with dual-network-connector, but its not available yet.

 

 


  • 1x cubieboard3
  • 1x 2 core
  • 1x 1 gb ram
  • 1x 100 mbit/s / 1000 mbit/s nic
  • 1x 500 gb / 2 tb hdd
  • replication factor 1
  • price: 1 board + 1 hdd = 90 € + 90 € = 180 €
node config 2X
cubieboard 3
node config 2X

thats the current state. as the network extension cable is not working well, as we tried to wire the two leds for connection and traffic to the outside world. so the 100 mbit/s / 1000 mbit/s version is ready to gamble, but just with a replication factor of 1. thats poor, that less then raid 1 to compare it a bit. the harddrive should never fail or the backup for 500 gb is able to sync. within 24 hours on dsl-speed, at home. two fans should be ok for that amount of power consumption.

 

 

 

 


  • 1x cubieboard1 + 1x cubieboard3
  • 1x 1 core + 1x 2 core = 3 core
  • 1x 2gb ram + 1x 1 gb ram = 3 gb ram
  • 1x 100 mbit/s / 1000 mbit/s + 1x 100 mbit/s nic = 200 mbit/s
  • 1x 2 tb hdd + 1x 500 gb hdd = 500 + 1500 gb hdd
  • replication factor 2
  • price: 2 board + 2 hdd = 90 €  + 50 € + 2x 90 € = 320 €
node config 2X + 1X
cubieboard 1 + 3
node config 2X + 1X

here is the configuration with the available boards that i have for now.  line speed is like the same, as above, the logical bandwith would be 200 mbit/s if duplex is working without a loss. nothing needs to be shoped, all visible parts are on stack. screwing that into the case is another step, but then the system should run, even if on harddrive fails. a internal router is needed, 3 ports would be fine for that.  another way is, to connect the smaller load-balancer bord with a usb-ethernet-converter, but thats mystery from here on, as not every library is compiled on armhf. the power conversion needs to be doubled 4 ampere should be available for both boards.

 

 


  • 1x cubieboard1 + 2x cubieboard3
  • 1x 1 core + 2x 2 core = 5 core
  • 1x 1gb ram + 2x 2 gb ram = 5 gb ram
  • 1x 100 mbit/s + 2x 100 mbit/s / 1000 mbit/s nic
    = 300 mbit/s + 1800 mbit/s
  • 3x 2 tb hdd
  • replication factor 3
  • price: 3 board + 2 hdd = 2x 90 € + 50 € + 3x 90 € = 500 €
node config 2 x 2X + 1X
cubieboard 1 + 3
node config 2 x 2X + 1X

here is a version with a configuration of smooth compaction. logical bandwith would be 300 mbit/s or 2 x 1000 mbit/s + 100 mbit/s if the adapter is willing to switch it that way. another chance is a router, with a uplink, which handle that multiplex shifting. replication would be the minimum, as suggested. a internal router is needed, 4 or 5 ports would be fine for that. the power conversion needs more attention, estimated 6 ampere should be available therefore. three fans will blow the heat of the discs away, beside the little temperature fom the tiny boards.

 

 


its hard to find a conclusion on that. one the one hand 320 € are allready spent, with harddrives and that two boards.  the actual configuration costs around 180 €, but upgrading to the goal of replication factor 3, is another 180 € away. were in the middle of that price tag.

okay, the cheapest entry class server on dells online shop starts around 600 € for 2 core, 4 gb ram. for 745 € we could get 4 core and 8 gb ram, just to have more blast. to get replication 3, we need to spend another 400 € for additional sas-drives, makes it to 999 €, with the 2c / 4gb configuration. having more cpu and three drives, the price would be 1145 €. thats twice of our diy cloud-node and the example case to show up with.

we could have replication factor 3, but a quarter of cpu power available, compared to a pentium-class or xeon-based server with replication factor 1. having replication factor 3 there, with the bottleneck of a single board.


the independent boards could be configured via software as needed. thats called software-defined-network ( SDN ) nowadays. the single server board will be rougher as a developer board, but that would just be one node, with a unstriped disc-array. the cubie´s would present 3 nodes, for half the price, with a estimated four to six times slower arm v7 cpu. using the gpu with software will take another 1 or 2 year, from now on – if happen anywhere.

so, bringing it online the described upgrade way, would save the money to the point, when replication of 3 is urgently needed or when another chasis/case is ready to be deployed. then, the 2 + 3 drives would make the boom, the system is going to present for that issues.


serving web content is one case for that system. handling large files as no-sql engine, filebased with some glue, is the main goal within the logical network layer. synchronizing a database-cluster on one master and two slaves, would lower the bandwith for the need of replication. that will just scale between 2-5 or so. the distributed system would level that above 3 boards, in one server-chasis.

the network behaviour is not counted in this mind construct, a layer-3-switch would be very gentle to the paket-flow, but is outside the budget nor tested at all. switching the 5 – 8 available ports with 10 gbps would be fair enough, then the machine would have 1.5 gbyte/s inner bandwith, makes it half a iscsi device, targeted with single connect on 4 gbps.

mozilla.thunderbird.-.local.mail.size

als mail-client hab ich im laufe der jahre einige ausprobiert. früher outlook-express, was anfänglich nur einen mail-account verwalten konnte. dann das komplette outlook, das konnte dann verschiedene accounts verwalten. netscape mail, war auch nicht sooo hübsch, dann eine weile nur webmail und nun, hab ich mir eben seit einer ganzen weile schon, den mozilla thunderbird als portable version auf die platte getan.

der vorteil ist, man kann verschiedene versionen / konfigurationen nebeneinander betreiben und auch einfach mal ein backup machen. thunderbird ( und andere auch ) speichern mails und inhalte nicht nur auf dem mailserver, sondern ziehen sich kopien auf die lokale platte. bei mehreren accounts und einigen jahren archiv, kommen da schon ein paar megabyte zusammen. mir fiel es heute wieder auf, das dort ~800mb rumlagen. zu viel für meinen geschmack, über 1 gb sind schlecht zu durchforsten, falls ich mal was suchen will.

total commander
screeshot vom commander auf thunderbird verzeichnis

dies kann man mit der rechten maustaste auf ein verzeichnis im explorer oder finder,  unter eigenschaften kann man den verbrauch ablesen oder man markiert eine datei/verzeichnis mit der leertaste im totalcommander. wie man sieht, ist die größe des mülleimers (trash) im augenblick 2.640.510 kB. einige ordner möchte ich lokal puffern, der trash gehört aber nicht dazu.

eigenschaften von ordner
thunderbird – ordner eigenschaften

thunderbird ( version 24.4.0 – release channel ) pflegt zu jedem ordner seine eigenen einstellungen.  dort kann man, unter anderem, die synchronisation de/aktivieren. mit der rechten mausi-taste auf den ordner der wahl, dann ergibt sich das folgende fenster als context-menü quasi. yoh, den trash-ordner  wollte ich – wie gesagt – nicht offline speichern, da müllt einem nur die platte zu. ich hab diese synchronisation sehr selektiv eingestellt, manche ordner sind dort aktiv, andere nicht. hier im dritten reiter gibts diese auswahl, im ersten reiter dann diese:

eigenschaften von ordner
thunderbird – ordner eigenschaften

bei „Größe auf Datenträger:“ stand vorhin die zwei komma irgendwas megabyte größe, der letzten gelöschten mails. jetzt befinden sich noch 3 mails im papierkorb, die gesamtgröße beträgt 3.5 kB, auf der platte werden 5.444 kB reserviert. löscht man nun die mail und klickt auf „Reparieren“ wird der ordnerinhalt auch auf 0 kB gesetzt.

das kommt daher, dass thunderbird zwar die header-informationen speichert, beim anklicken der nachricht wird aber auch der inhalt/body geladen. hat man sich nun viele oder alle mails angeschaut, dann wächst dieser speicher eben (sinnlos) mit, wie in diesem fall. ich kann an dieser stelle drauf verzichten und freu mich lieber, das am ende der räumungsaktion nur noch ~260 MB auf der platte verbraucht werden. in ein paar monaten, spätestens in einem jahr, ist der ordner wieder auf 1 gb angewachsen, je nach mailaufkommen. der vorteil ist, das gelöschte mails auf dem server, dann immer noch lokal vorhanden sein könnten – eine letzte chance auf rettung kann dies sein, aber auch kompomitierender inhalt, aus längst vergessenen oder verdrängten konversationen 😀

landing.page.-.reworked

as i moved the landing page from plain html to a framework-based construct, i picked  up bootstrap for this issue. having jquery and css prepared, is half the way to a nice site.  i had plain javascript under construction as well, but fiddling from scratch with a handful of methods or classes, was to slow and in the end sucking, so i was happy to get a proper toolkit to work with.

landing page screenshot
landing page – section: scope

using version 2 of bootstrap did the trick over the past year, but as i noticed, the new version 3 was on the door.  new fonts, a bunch of icons and all for free. okay, some features are hard to find, but the result is a fast page and the dom-tree is ready in something like 800ms. using the social plugin from g+ makes the complete page a bit slow, but the scoring for search engine optimization (seo) will give the return.

furthermore, i implemented blueimp-gallery, font-awesome, bootswatch, piecemaker and jquery(mobile) as backbone for that libs. that is quite a lot, but as i wanted the page delivered by a servlet, the  structure and usability was more in the focus. beside that nice modules, the result and presentation is it worth. it took me a while to grow the inner organisation of the topics, the documentation and examples for each package is less then expected.

landing page screenshot
landing page – section: service/tech

the next step is, to use lesscss as condenser for the bloated javascript and stylesheet files, and shrinking them to the objects, that are realy needed for the site itself.  so i need to stick into node.js, npm and other superglue for server-side javascript. its not my cupcake, but it looks like i need to dive into that. running that on windows would need cygwin and my experiences with that leads me to work on pure linux.

landing page screenshot
landing page – section: service/tech

anyhow, the raw stuff is done, finetuning, colors, text and tiny changes will come the next time. but all-in-all, its just to have a presentable domain by hand.

runInstall

so dat wordpress is nun wohl mal druff. ne handvoll plugins noch dazu … eventuell noch n theme .. dann reicht ditt für heut och schon gleich mal wieder …. zumindest für den augenblick.

  • wp super cache ( php / mod_rewrite caching – excellent )
  • wassup real time analytics ( see users online, without log-file )
  • xml sitemap & google news feed ( webmaster-tools will make seeking people happy )
  • math captcha ( stop bots with math to solve )

mal sehen, wie lang dat ding hier hält und wie ofts abschmiert….und wie oft der installer dann wohl läuft, bevor was anderes her muss. für die <code> fragmente muss ich auch noch ein gescheites plugin finden, ebenso ein hübsches, aber schlichtes template.

nun noch

  • wp easy backup ( complete backup of db, plugins and files )
  • broken link checker ( checks inherit links for availability )

installiert, dann klappts auch mit der restauration und der gebannten gefahr, das jemand in tote links rennt. einfach die namen bei der plugin-installieren eingabe reinkopieren und suchen lassen, dann sollte sich das korrekte teil schon finden lassen.

2.1.audio.routing

was tun, wenn man zwei lautsprecher und einen subwoofer an einem verstärker betreiben will. bisher hatte ich den subwoofer von isofon – ( psl 300/50 ) an einem kanal über eine frequenzweiche angeschlossen.

isofon psl 300 / 50
isofon psl 300 / 50 tiefton lautsprecher

bei tiefen frequenzen ist die ortbarkeit eh schwierig, meist ist der bass mono geschaltet. soweit nicht schlecht, aber es wird eben nur ein kanal auf den sub übertragen. mit einem kunstgriff kann man jedoch den sub so schalten, dass beide kanäle übertragen werden. dafür benötigt man jedoch einen erdungsfreien phasenkonverter, der einen kanal invertiert und somit 2 top-lautsprecher, mit einem subwoofer kombinieren läßt.

2.1 audio routing
audio routing 2.1

das linesignal wird auf einem kanal invertiert von vorstufe auf endstufe gegeben. nach der verstärkung wird das high-power-signal auf dem gleichen kanal wiederrum verpolt. so erhalten die beiden hoch-/mitteltonlautsprecher ihr signal und der subwoofer den pegel von links und rechts. selbstredend ist der bass über ein tiefbass angekoppelt, um die oberen frequenzen zu eliminieren.

der eigentliche dreh ist nur möglich, weil aus dem mischpult ( vorstufe ) ein symmetrisches signal potentialfrei abgenommen werden kann. die phasendrehung ist bei einfachen cynch-kabeln kaum zu erzielen, da die masse potentialbehaftet ist und man somit das signal kurzschließen würde. daher ist eine galvanische entkopplung mittels xlr sehr zweckreich und ermöglich 2.1 betrieb an einem zwei kanaligem verstärker.