miercuri, 27 decembrie 2017

3d Printing documents

Cam tot ce vreți sa știți despre imprimatele 3D găsiți pe pagina din linkul de mai jos:
3d-printing-documents

Am extras câteva linkuri pe care am reusit sa le deschid:
3DPrintingPaperPublicKnowledge.pdf
chopper.pdf
3D-Printing-Guide.pdf
3DPrintingBookletforBeginners.pdf

3d-printing-metal

Linux - Instalare server FTP pentru Tinkerboar Armbian

Instalare Server FTP:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install vsftpd -y

Configurare de baza:
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
force_dot_files=YES
Salvare: Ctrl+X, Y și Enter

Dezactivare user root:
sudo nano /etc/ftpusers
#root
Salvare: Ctrl+X, Y și Enter

Restart server FTP:

sudo service vsftpd restart

Teatru radiofonic si arhiva TVR, câteva linkuri pentru pasionați ...

Teatru radiofonic:
teatrulamicrofon.blogspot.ro
SAMMedia Tv

Din arhiva TVR:

Arhiva TVR

Linux - Comenzile de bază

Linux Commands - Command Description
cat [filename] Display file’s contents to the standard output device
(usually your monitor).
cd /directorypath Change to directory.
chmod [options] mode filename Change a file’s permissions.
chown [options] filename Change who owns a file.
clear Clear a command line screen/window for a fresh start.
cp [options] source destination Copy files and directories.
date [options] Display or set the system date and time.
df [options] Display used and available disk space.
du [options] Show how much space each file takes up.
file [options] filename Determine what type of data is within a file.
find [pathname] [expression] Search for files matching a provided pattern.
grep [options] pattern [filesname] Search files or output for a particular pattern.
kill [options] pid Stop a process. If the process refuses to stop, use kill -9 pid.
less [options] [filename] View the contents of a file one page at a time.
ln [options] source [destination] Create a shortcut.
locate filename Search a copy of your filesystem for the specified
filename.
lpr [options] Send a print job.
ls [options] List directory contents.
man [command] Display the help information for the specified command.
mkdir [options] directory Create a new directory.
mv [options] source destination Rename or move file(s) or directories.
passwd [name [password]] Change the password or allow (for the system administrator) to
change any password.
ps [options] Display a snapshot of the currently running processes.
pwd Display the pathname for the current directory.
rm [options] directory Remove (delete) file(s) and/or directories.
rmdir [options] directory Delete empty directories.
ssh [options] user@machine Remotely log in to another Linux machine, over the network.
Leave an ssh session by typing exit.
su [options] [user [arguments]] Switch to another user account.
tail [options] [filename] Display the last n lines of a file (the default is 10).
tar [options] filename Store and extract files from a tarfile (.tar) or tarball (.tar.gz or .tgz).
top Displays the resources being used on your system. Press q to
exit.
touch filename Create an empty file with the specified name.
who [options] Display who is logged on.

marți, 26 decembrie 2017

Linux - Instalare compilator C pentru Tinkerboar Armbian

Instalarea compilatorului C in Armbian (Tinkerboard) este destul de simplă. Am rulat comenzile de mai jos și am obținut ultima versiune de compilator gcc.
sudo aptitude update
sudo aptitude safe-upgrade
sudo apt-get install build-essential
sudo aptitude install ccache

Versiunea compilatorului GCC:
root@tinkerboard:/ext# gcc --version
gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Am facut si un test simplu cu un program care aduna doua numere:
#include "stdio.h"
int main()
{
int a, b, c;
printf("Enter two numbers to add, separated by a space: ");
scanf("%d%d",&a,&b);
c = a + b;
printf("The sum of equals %d\n",c);
return 0;
}

Compilarea codului sursa:
root@tinkerboard:/ext# gcc sum.c -o sum
root@tinkerboard:/ext# ccache gcc sum.c -o sum

Rularea programului:
root@tinkerboard:/ext# ./sum
Enter two numbers to add, separated by a space: 3 5
The sum of equals 8

Linux - Instalare server de email pentru Tinkerboar Armbian

Instalarea unui server de email pe o mașină cu sistem de operare Linux (Armbian):
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install apache2 apache2-doc
sudo aptitude install mysql-server php5-mysql
sudo aptitude  install postfix
sudo service postfix restart
sudo aptitude  install dovecot-imapd dovecot-pop3d
sudo service dovecot restart
sudo aptitude  install squirrelmail
sudo squirrelmail-configure
sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail.conf
sudo a2ensite squirrelmail.conf
sudo useradd myusername1
sudo passwd myusername1
sudo mkdir -p /var/www/html/myusername
usermod -m -d /var/www/html/myusername myusername
sudo chown -R myusername1:myusername1 /var/www/html/myusername1
Dacă am adăugat comenzile de mai sus intr-un fisier sh, rezultă o singură comandă:

./php_apache_mysql_postfix_email.sh

Success!

duminică, 24 decembrie 2017

Nu sunt mândru că sunt român ... pentru că ...

Suntem conduși de 28 ani de niște bandiți comuniștoizi aleși de niște analfabeți. De 28 de ani nu suntem în stare să construim o amărâtă de autostradă. Ne tot lăudăm cu olimpicii dar de fapt aceștia se împuținează de la an la an și oricum suntem sub media europeană.  Mai bine de jumătate din populația din România are buda în fundu grădinii. Ne tot lăudăm că suntem deștepți și ospitalieri când de fapt suntem tontălăi semi-sclavi și cam fraieri. Sportul românesc e în pragul dezastrului, rar mai vezi vreun rezultat notabil (vezi ultimele olimpiade). Îmi e frică să intru în vreun spital de stat după câte orori s-au petrecut în ultimii ani.  Birocrația din instituțiile statului ar putea îmbolnăvii de nervi chiar și un preot budist. Muncitorii calificați preferă să se "prostitueze" prin vest decât să muncească în România. Pădurile României dispar văzând cu ochii și nimeni nu ridică un deget. Râurile și lacuri sunt pline de PET-uri și de cutii de bere. Orașele, străzile și marginea șoselelor sunt jegoase. Avem cel mai puțin spațiu verde (în orașe) pe cap de locuitor. Nu ai loc sa te plimbi din cauza mașinilor parcate pe trotuar. Nu mai poți trece strada pe trecerea de pietoni din cauza șoferilor grăbiți, mai deunăzi era să mă calce un bezmetic pentru că era atent la altceva, nu la condus. Doar dacă faci mare scandal (cum fac țiganii) românii te respectă. Argumentele logice sunt luate în derâdere și persiflate. Orice idee bună sau invenție este omorâtă încă din fașă. Bătaia de joc și miștocăria este la ea acasă în țărișoara asta bătută de Dumnezeu. Justiția urmează să fie aservită bandiților.. Probabil că mai sunt și alte mizerii dar nu-mi vin acum ... Ce ne mai rămâne ? Băutura, mâncatul în exces , înjurăturile și pupatul moaștelor.


vineri, 22 decembrie 2017

Formule matematice în MathJax

Formulele matematice sunt destul de greu de reprezentat în html, mai ales formulele complicate care includ caractere grecești.
M-am lovit de această problemă în momentul în care am încercat să reprezint o sumă, ceea în matematică este cunoscut caracterul grecesc Sigma mare

\( \sum{} \)

. Pentru a reprezenta foarte ușor o formulă matematică se poate folosi MathJax, care este foarte ușor de instalat și folosit în orice pagină web.
Instalare
Pas 1. Adăugați javascriptul de mai jos în interiorul tagului head.

<script type="text/javascript"  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>


Pas 2. Syntaxa: în interiorul unui tag <p> se adaugă formula în formatul special pentru MathJax.
 <p> 
Exemplu:
\( \sum{} \) </p>

  When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
  $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
Identifier List

Besides alphabetical characters, these identifiers are also usable: \sin, \cos, \tan, \cot, \arcsin,
\arccos, \arctan, \arccot, \sinh, \cosh, \tanh, \coth, \sec, \csc, \alpha, \beta, \gamma, \Gamma, \delta, \Delta, \epsilon, \varepsilon, \zeta, \eta, \theta, \vartheta, \Theta, \iota,
\kappa, \Lambda, \lambda, \mu, \nu, \xi, \Xi, \pi, \Pi, \rho, \varrho, \sigma, \Sigma, \tau, \upsilon, \Upsilon, \phi, \varphi, \Phi, \chi, \psi, \Psi, \omega, \Omega, \partial, \eth,
\hbar, \imath, \jmath, \ell, \Re, \Im, \wp, \nabla, \infty, \aleph, \beth, and \gimel. Operators List
These are the allowed operators:
+, -, =, <, >, |, %, ,, ., $, (, ), [, ], !, \leq, \geq, \ll, \gg, \subset,
\supset, \subseteq, \supseteq, \nsubseteq, \nsupseteq, \sqsubset, \sqsupset, \sqsubseteq, \sqsupseteq, \preceq, \succeq, \doteq, \equiv, \approx, \cong, \simeq, \sim, \propto,
\neq, \parallel, \asymp, \vdash, \in, \smile, \models, \perp, \prec, \sphericalangle, \nparallel, \bowtie, \dashv, \ni, \frown, \notin, \mid, \succ, \measuredangle, \pm, \div,
\times, \cdot, \mp, \ast, \star, \dagger, \ddagger, \cap, \cup, \uplus, \sqcap, \sqcup, \vee, \wedge, \diamond, \bigtriangleup, \bigtriangledown, \triangleleft, \triangleright,
\bigcirc, \bullet, \wr, \oplus, \ominus, \otimes, \odot, \circ, \setminus, \amalg, \exists, \nexists, \forall, \neg, \land, \lor, \rightarrow, \leftarrow, \mapsto, \implies, \Rightarrow,
\leftrightarrow, \iff, \Leftrightarrow, \top, \bot, \emptyset, \varnothing, \{, \uparrow, \downarrow, \|, \}, \Uparrow, \Downarrow, /, \angle, \lceil, \lfloor, \backslash,
\rangle, \rceil, and \rfloor.

Exemple:
1. Sigma mare : \( \sum{} \)
2. Delta \( \delta{} \)


3. When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
Pas 3. Enjoy Math :D ! Integrarea si informatii despre sintaxa le găsiți aici MathJaxDoc. Un editor pentru MathJax am gasit pearachnoid.com/latex

Sursa de tensiune liniară (bazat pe LM317) - cu transformator TS 70/16 (16.6 V / 2 A) si afisor de tensiune (10) - Finalizat

Ca urmare a unui incident, sursa mea de tensiune liniara a avut nevoie de o reparație, astfel am decis să-i montez senzorul de tensiune și curent INA219 pe care l-am testat într-un mini proiect din octombrie. Tensiunea afișată este pentru al doilea rând de conectori (-/+) de la stânga la dreapta(vezi în imaginea de mai jos). Primi doi conectori (-/+) (tot de la stânga la dreapta) îmi dau 9 V, următorii doi 0 - 12 V, apoi iar 9 V și ultimii 0 - 18 V.
Codul sursă adaptat pentru un afișor 16x2:
#include "Wire.h"
// include the library code:
#include "LiquidCrystal.h"
#include "Adafruit_INA219.h"

Adafruit_INA219 ina219;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
   #define Serial SerialUSB
#endif

void setup(void) 
{
  #ifndef ESP8266
    while (!Serial);     // will pause Zero, Leonardo, etc until serial console opens
  #endif
  uint32_t currentFrequency;
    
  Serial.begin(9600);
  Serial.println("Hello!");
   // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Voltmetru");
  
  // Initialize the INA219.
  // By default the initialization will use the largest range (32V, 2A).  However
  // you can call a setCalibration function to change this range (see comments).
  ina219.begin();
  // To use a slightly lower 32V, 1A range (higher precision on amps):
  ina219.setCalibration_32V_1A();
  // Or to use a lower 16V, 400mA range (higher precision on volts and amps):
  //ina219.setCalibration_16V_400mA();

  lcd.print("Measuring voltage and current with INA219 ...");
}

void loop(void) 
{
  String lcd_buffer;
  float shuntvoltage = 0.0f;
  float busvoltage = 0.0f;
  float current_mA = 0.0f;
  float current_A = 0.0f;
  float power = 0.0f;
  
  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  current_A = ina219.getCurrent_mA()/1000.0;
  power = busvoltage * (current_mA/1000.0); // Calculate the Power
  
  lcd.setCursor(0, 0);
  lcd.print("Volts:");
  lcd.print(busvoltage,1); 
  lcd.print("V      ");
  
  lcd.setCursor(0, 1);
  lcd.print("C:");
  lcd.print(current_A,1); 
  lcd.print("A");
  lcd.print(" P:");
  lcd.print(power,1); 
  lcd.print("W  ");

  delay(1000);
}
Merge brici ! Weekend plăcut și Sărbători fericite !