Hoofdpagina: verschil tussen versies

Uit Rolandow
Ga naar: navigatie, zoeken
(Windows 7)
(batch convert .bmp to .jpg)
Regel 441: Regel 441:
 
<source lang="bash">
 
<source lang="bash">
 
for i in *bmp; do convert "$i" "${i%.*}.jpg" ; done
 
for i in *bmp; do convert "$i" "${i%.*}.jpg" ; done
 +
</source>
 +
 +
Een andere mogelijkheid is mogrify gebruiken, dat ook bij ImageMagick hoort:
 +
 +
<source lang="bash">
 +
mogrify -format jpg *.bmp
 
</source>
 
</source>
  

Versie van 27 jun 2013 om 08:04

Rolandow's wiki

Vergaarbak van allerlei informatie die ik in de loop der tijd heb verzameld, en niet mag vergeten.

Inhoud

PHP

Oracle

Trigger om sequence toe te voegen aan tabel (voorbeeldje)

create trigger MAG_CUST_ID_BR
before insert on MAGENTO_CUSTOMERS
for each row
begin
select MAG_CUST_ID.nextval into :new.CUST_ID from SYS.dual;
end;

Toad driver

Toad heeft een oracle client nodig, maar dit werkt alleen met de 32 bit versie. Download win32_11gR2_client.zip hierrr....

Update from table

Update records in table A from table B. In dit geval update de prijs in magento_products uit artikelen, waar de prijs in magento_products is null of 0, en de prijs in artikelen is groter dan 0.

update magento_products mp 
   set (price) = (
        select prijs3 
          from artikelen 
         where mp.sku = artikelen.artikel_nr
   )
   where ( nvl(mp.price,0) = 0) 
     and sku in (
        select to_char(artikel_nr) 
          from artikelen 
         where nvl(prijs3,0) > 0)
     )

Op internet zijn voorbeelden te vinden waarbij gebruik gemaakt wordt van EXISTS. Maar dit veroorzaakt soms een opdracht die erg lang duurt om uit te voeren.

UPDATE suppliers	
   SET supplier_name = (
         SELECT customers.name
           FROM customers
          WHERE customers.customer_id = suppliers.supplier_id)
            AND 1=1
       ),
       roland = 1
 WHERE EXISTS (
         SELECT customers.name
           FROM customers
          WHERE customers.customer_id = suppliers.supplier_id
            AND 1=1
       );
   AND 1=1

Ik heb roland=1 en AND 1=1 is toegevoegd ter illustratie om de formatting te krijgen zoals ik denk dat hij het mooist/duidelijkst is. Deze velden zijn in het oorspronkelijke voorbeeld niet gebruikt.

Bron: http://www.techonthenet.com/sql/exists.php

Limit rows

Er is geen LIMIT zoals in mysql. Aantal rijen limiteren:

select *
from  
( select * 
  from emp 
  order by sal desc ) 
where ROWNUM <= 5;

Met een offset:

select * from 
( select a.*, ROWNUM rnum from 
  ( <your_query_goes_here, with order by> ) a 
  where ROWNUM <= :MAX_ROW_TO_FETCH )
where rnum  >= :MIN_ROW_TO_FETCH;

datum vergelijken met sysdate

Als je een DATE field vergelijkt met de SYSDATE variabele, gaat dit niet goed. De waarde in het veld wordt namelijk automatisch met 00:00 als tijd opgeslagen. Als je dus een vergelijking maakt met datumveld >= sysdate, gaat dit niet goed op de datum zelf, omdat de tijd mee wordt geteld.

Je kunt met trunc alleen de datum pakken, dus dit werkt wel: datumveld >= trunc(sysdate);

INSERT .. ON DUPLICATE

Een variant gevonden voor de query syntax die je in mysql kunt gebruiken om een insert/update te doen. Het is wel een draak van een query, maar het werkt wel. Zou gebruikt kunnen worden tijdens import scripts, maar het nadeel is dat je nu geen extra checks kunt doen tussendoor. Dus vaak is eerst een SELECT toch handiger, zodat je kunt kijken of je echt wel MOET updaten.

Toch wil ik hem wel documenteren.

MERGE INTO Movie_Ratings M
       USING (SELECT 1 AS mid, 3 AS aid, 8 AS rating FROM dual) N
          ON (M.mid = N.mid AND M.aid = N.aid)
       WHEN     MATCHED THEN UPDATE SET M.rating = N.rating
       WHEN NOT MATCHED THEN INSERT(  mid,   aid,   rating)
                             VALUES(N.mid, N.aid, N.rating);

mySQL

remove high ascii rows

Query to remove rows that have high ascii in a specific column. (Used to clean up core_url_rewrite Magento table).

DELETE FROM core_url_rewrite WHERE NOT HEX(request_path) REGEXP '^([0-7][0-9A-F])*$';

source

trigger

delimiter |
DROP TRIGGER IF EXISTS after_insert_member|
 CREATE TRIGGER after_insert_member AFTER INSERT ON mVibesEMail.EmailPromotionQueue
  FOR EACH ROW BEGIN
     UPDATE mVibes.Member SET PromotionDateTime = NOW(), NumberOfPromotions = NumberOfPromotions+1 WHERE MemberId = NEW.MemberId;
  END;
|
delimiter ;

Linux

rsync

Passive FTP

Als passive FTP niet werkt, dan moeten er modules geactiveerd worden. In /etc/modules toevoegen ip_conntrack_ftp en ip_nat_ftp.

Disable periodical fsck check's

The backup disk on jukebox was forcing a periocal fsck. This can be turned off with tune2fs.

tune2fs -c 0 -i 0d /dev/disk/by-id/usb-WD_My_Book_575532553130303331333730-part1

This should stop this message from syslog:

May 11 11:20:23 localhost automount[18777]: >> /dev/disk/by-id/usb-WD_My_Book_575532553130303331333730-part1 has been mounted 35 times without being checked, check forced.

SFTP umask

In /etc/ssh/sshd_config kun je de regel aanpassen:

Subsystem sftp /usr/lib/openssh/sftp-server -u 002

http://serverfault.com/questions/70876/how-to-put-desired-umask-with-sftp

SFTP chroot

We needed a user account to be able to receive files through SFTP. Since our port is opened at 2222 for the outside world. It seems that there is a CHROOT option in OpenSSH server nowadays. This needs to be changed in /etc/ssh/sshd_config:

Subsystem sftp internal-sftp

Match group sftponly
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

Then create a user like this:

adduser --ingroup sftponly --shell /bin/false <username>

Software RAID

Howto used to create the software raid array.

http://www.howtoforge.org/how-to-set-up-software-raid1-on-a-running-system-incl-grub-configuration-debian-lenny

Other link with some usefull tips:

http://unthought.net/Software-RAID.HOWTO/Software-RAID.HOWTO.html


Linux trics

Create snoop file of a port:

tcpdump -nvv -s 0 -w snoopport10295.snoop port 10295

Check the number of hits per IP, in the Apache access logs:

cat logs/access_log|grep 05/Feb/2007:14|awk '{print $1}'|sort|uniq -c

See what a process is doing:

lsof -p #PID

Last file in a directory:

ls -ltr|tail -n1

Partially extract a tarbal:

tar xvfz backup.tar.gz home/www/login.mobilebridges.com --exclude=*.log --exclude=*.xml

Use the t parameter instead of x to test tar.

tar tvfz backup.tar.gz home/www/login.mobilebridges.com --exclude=*.log --exclude=*.xml

Format your server:

dd if=/dev/zero of=/dev/hda bs=1M

This writes zero's to /dev/hda, so it will erase all data.

Format disk, using fat32:

1. Use fdisk to create the filesystem: fdisk /dev/hda - follow the prompts
2. Format it using mkfs.vfat -F 32 /dev/hda6
3. Add it to fstab

Add user:

adduser --gid 1010 --shell /usr/bin/false --home /home/www/peru charly

The GID should be the same for dutch and peru users. The home directory is different though.

Delete files older than 5 days:

find /home/www/login.mobilebridges.com/htdocs/Delivery/Error/ -mtime +5 -exec rm {} \;

Rename *.11.csv to *.csv:

rename 's/\.11\.csv$/\.csv/' *.csv

The ereg takes care of the rename action... the *.csv after that just selects the files that need to be renamed with this ereg.

Check projectsize Peru on developement:

/home/www/peru# du --max-depth=1 -h

Check if PING's are reaching the server:

tcpdump host 85.146.37.248 and icmp

85.146.37.248 is the source address.

See the number of connections to port 80 by ip:

netstat -pan|grep :80|sed 's/:/ /g'|awk '{print $6}'|sort|uniq -c


Rsync on an other port:

rsync -av --rsh='ssh -p2222' source destination

SVN

Install SVN server on Debian (also describes creation of repository) http://www.howtoforge.com/debian_subversion_websvn

When you get the error message "OPTIONS of 'http://172.16.255.14/cms': 200 OK (http://172.16.255.14)" this means that the path to the repository is incorrect. Check the /etc/apache2/mods-enabled/dav_svn.conf. Is the new repository added? Right path in the Location tag? Right path after SVNPath?

Als je de 64 bits client hebt geinstalleerd, moet je de 32 bits client ook doen, anders werkt de integratie met PhpEd niet. Zie http://www.nusphere.com/kb/technicalfaq/tip_phped_and_svn.htm

Create repository

svnadmin create --fs-type fsfs /var/svn-repos/project_zen
chown -R www-data:subversion /var/svn-repos/*
chmod -R 770 /var/svn-repos/*

Edit /etc/apache2/mods-enabled/dav_svn.conf to add this repo.

Example:

<Location /project_zen>
        DAV svn
        SVNPath /var/svn-repos/project_zen
        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
#       SSLRequireSSL
</Location>

Mail attachment command-line

Met mutt kun je een attachment eenvoudig mailen, rechtstreeks van de command-line in de linux shell.

echo "Check deze logfile" | mutt -a /var/log/message rolandow@gmail.com

sar / sysstat / rs-sysmon monitor

Door package sysstat te installeren, kun je met sar gegevens terughalen over memory en cpu gebruik. Met rs-sysmon worden er dumps gemaakt in /var/log/rs-sysmon.

rs-sysmon is een script dat rackspace heeft ontwikkeld, en staat in /usr/sbin/rs-sysmon. Dit draait om de zoveel tijd en schrijft dingen weg in logfiles, zodat je achteraf logfiles kunt kijken van het systeem. Script zou gejat moeten worden van RS :-)

iptables

CUPS / HP Laserjet 1020 printer

DEBIAN NOTES


Follow the steps to install printer on debian etch:-

Install build-essential, foomatic-filters, cupsys FIRST:

$ su
# apt-get install build-essential
# apt-get install foomatic-filters
# apt-get install cupsys
$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs
$ make
$ ./getweb 1020
OR other printer
$ su
# make install install-hotplug cups

Vervolgens moet je in /etc/cups/conf.d instellen Listen *:631 om hem op alle poorten te laten luisteren. Tot slot had ik via putty een SSH tunnel gemaakt naar localhost, want dan kun je bij de admin pagina komen. Hier moet je nog bij "Add printers" de printer daadwerkelijk toevoegen. De driver is dan al toegevoegd aan het systeem door bovenstaande procedure.

Ook moet je de printers map allowen voor je interne netwerk. Dus bij Location / toevoegen Allow 192.168.0.*.

Vervolgens in Windows een netwerkprinter toevoegen, en dan de URL opgeven, dus: http://192.168.1.200:631/printers/HP_Laserjet_1020.

Bron: http://jitamitra.blogspot.com/2008/12/hp-laserjet-1020-on-debian.html

Update: Na het rebooten van de machine, kon ik niet meer printen. Ik heb usblp in de blacklist gezet in /etc/modprobe.d/blacklist.conf. Dit moest volgens een artikel. Toen kon ik nog steeds niet printen. in /usr/local/src/foo2zjs toen de stappen make, getweb, etc gevolgd. Je hoort de printer dan na de make install aanspringen (cups wordt opnieuw gestart). Nu kan ik weer printen.

Mac Client

Om op de mac (als client) te kunnen printen, moet je het volgende doen.

  1. Download en installeer de drivers vanaf deze pagina: http://support.apple.com/kb/dl907 .. en ja, dat is idioot groot ja.
  2. Installeer de printer nu, gewoon via apple, dus via System -> Printer toevoegen .. dan IP, IPP kiezen, en als URL invullen: 192.168.1.200:631/printers/HP_LaserJet_1020 .. In dit scherm moet je http:// dus weglaten. Je kunt dan de printer driver kiezen. Kies nu HP Laserjet 1022 (dus niet CP). Je kunt deze driver alleen via deze manier kiezen, niet via CUPS.
  3. De printer is nu geinstalleerd, maar op de 1 of andere manier op een verkeerd adres. Via CUPS kun je nu de locatie van de printer aanpassen. De mac draait zelf ook gewoon CUPS. Dus je kunt naar http://127.0.0.1:631 verbinden. De web interface staat in eerste instantie uit, maar er staat wat je moet doen om dit aan te zetten. Ga nu via de printers naar Modify Printer. Je ziet de locatie van de printer dan weer staan op ipp://192.168.1.200:631 ... de rest van het pad is weggevallen dus.
  4. Pas het pad aan naar ipp://192.168.1.200:631/printers/HP_LaserJet_1020 .. als je dan door klikt, moet je ook weer de driver kiezen. Laat deze gewoon staan waar hij op staat.

Nu kun je als het goed is een test pagina afdrukken, via het normale printer config ding van Apple.

device descriptor read/8, error -110

Deze error zag ik voorbij komen in de kern.log. Uiteindelijk op mijn mac aangesloten, deed hij het nog niet. Printer weer uitgezet, USB kabel nog eens uit en in gedaan in de printer (niet de pc dus), printer aan, en toen deed hij het weer. Hij werd herkend op de mac, en dus ook weer toen ik hem terug stopte in de debian computer.

fail2ban

returned 200

Out of the box werkt fail2ban prima op Debian. Toen ik de apache jail aanzette (alleen enablen) kreeg ik echter een fout:

2012-02-20 11:12:42,405 fail2ban.actions.action: ERROR  iptables -N fail2ban-apache
iptables -A fail2ban-apache -j RETURN
iptables -I INPUT -p tcp -m multiport --dports http,https -j fail2ban-apache returned 200

Dit bleek te komen omdat de jails te snel achter elkaar opgestart worden oid. Een sleep in de client biedt uitkomst. In /usr/bin/fail2ban-client een sleep toevoegen:

        def __processCmd(self, cmd, showRet = True):
                beautifier = Beautifier()
                for c in cmd:
                        time.sleep(0.1)
                        beautifier.setInputCmd(c)
                        try:

Apache benchmark

ab -n 100 -c 10 http://bla.nl/test/

Nagios

Aangezien ik kleine nagios scriptjes steeds opnieuw lijkt te maken, sla ik ze nu even op hier.

chmod directories

Even de directoties en files weer goed zetten qua rechten.

cd /home/www/marticle
chown -R marticle:marticle *
find . -type d -exec chmod 2771 '{}' \;
find . -type f -exec chmod 0664 '{}' \;

positional parameters $* $@

Bij het maken van een phpwrapper wilde ik alle parameters doorgeven aan php. Omdat er bestanden met spaties waren, ging dit niet goed. De oplossing was uiteindelijk als volgt:

/usr/bin/php "$@"

De aanhalingstekens zijn belangrijk. De man pages leggen dit ook uit:

man -P "less -p 'Expands  to  the positional'" bash

batch convert .bmp to .jpg

ImageMagick moet geinstalleerd zijn. Dan in de folder het volgende commando:

for i in *bmp; do convert "$i" "${i%.*}.jpg" ; done

Een andere mogelijkheid is mogrify gebruiken, dat ook bij ImageMagick hoort:

mogrify -format jpg *.bmp

Mac OS X

Thunderbird

Aanpassen van de font grootte gaat ook in CSS. De locatie was echter even zoeken. Dit blijkt te zitten in ~/Library/Thunderbird/Profiles/[yourProfileName]/chrome/userChrome.css. Mocht deze map of dit bestand niet bestaan, dan moet je dit aanmaken. Vervolgens kun je in de CSS de volgende code opnemen om de font-size wat te vergroten.

/* Global UI font */
* { 
  font-size: 10pt !important;
}

Shortcut (maximize)

Je kunt zelf een shortcut toevoegen, zodat je bijvoorbeeld Maximize aan een toets kunt hangen. Je moet daarvoor naar System Preferences -> Keyboard -> Keyboard Shortcuts. En bij "All Applications", het plusje gebruiken om een nieuwe shortcut te maken. Je moet dan de naam van de functie weten, dus gewoon Zoom in typen. Je kunt er daarna een toets aan hangen (ik heb control+command+m).

Toetsen omdraaien

Op mijn Logitech K750 mac zat de tilde op een onlogische plaats, namelijk naast de z toets. Terwijl deze toets op de mac zelf gewoon links bovenin zit, net als op de meeste PC toetsenborden. Met de tool KeyRemap4MacBook kun je allerlei toetsen remappen.

Out of the box werden de toetsen echter in alle gevallen geremapped, dus ook voor mijn macbook, terwijl ik dit hier juist niet wilde. Gelukkig kun je zelf een XLM definieren, waarbij je de mapping aan een specifiek device kunt hangen. Dit staat ook keurig uitgelegd op de website. Voor de historie, bij deze de xml die ik gebrouwen heb en werkt:

<?xml version="1.0"?>
<root>
  <devicevendordef>
    <vendorname>LOGITECH</vendorname>
    <vendorid>0x046d</vendorid>
  </devicevendordef>

  <deviceproductdef>
    <productname>LOGITECH_K750_KEYBOARD</productname>
    <productid>0x4012</productid>
  </deviceproductdef>
  
  <item>
    <name>Swap the Tilda(~) key with Section (§) (logitech k750)</name>
    <identifier>private.logitech_k750_tilda_section</identifier>
    <device_only>DeviceVendor::LOGITECH, DeviceProduct::LOGITECH_K750_KEYBOARD</device_only>
    <autogen>__KeyToKey__ KeyCode::BACKQUOTE,  KeyCode::UK_SECTION</autogen>
    <autogen>__KeyToKey__ KeyCode::UK_SECTION, KeyCode::BACKQUOTE</autogen>
  </item>
</root>

Je kunt de vedor definition en product definition opzoeken, dit staat omschreven. Aangezien ik een muis en toetsenbord heb aangesloten via de unifying receiver, heb ik nu gegokt dat het eerste device mijn keyboard zou zijn. Wellicht dat dit productID dus niet uniek is voor het apparaat, maar dat het een ID is voor het apparaat op de unifying. Mocht ik het ooit opnieuw moeten doen, dan zou hier dus een foutje in kunnen zitten. De vendor tag is wel per producent vast, dus Logitech heeft altijd 0x046d.

Windows 7

USB disk

Legale windows versie downloaden, en dan met een Microsoft tooltje de ISO op USB flash drive zetten.

Partitie maken

Bij het installeren op de HP laptop van ma, kon ik Windows niet installeren, omdat de partitie niet geschikt was. Geen GPT partitie, ofzoiets. Blijkt dat je dit via DOS kunt opschonen:

  1. Druk op shift+f10
  2. Typ "diskpart" en druk op enter
  3. Typ "list disk" en druk op enter.
  4. Typ "select disk x" De x moet worden vervangen door het nummer van de schijf die je wilt fixen
  5. Typ "clean" en druk op enter
  6. Typ "exit" en druk op enter
  7. sluit het venster
  8. klik op refresh

HP support assistant

Er is gewoon een HP support assistant die ervoor zou moeten zorgen dat je alle drivers hebt.

Software

Wintendo

FLV filmpjes

Op de site van Tom heb ik plugins geinstalleerd voor het afspelen van filmpjes. Op deze pagina stond een tip: de url zonder www invoeren. Dit blijkt uiteindelijk de reden geweest te zijn waarom de stream het niet meer deed. Uiteindelijk gebruik ik iConvert voor het converteren van het filmpje. Meta data ding moet je uitvinken, anders wordt het bestand 0 kb groot.

Als je ook wilt kunnen doorspoelen e.d. in een filmpje, dan moet er meta data aan het filmpje worden toegevoegd. Dit kan na het encoderen met flvmeta.

  • mp42avi: Converteren van mp4's en mov's naar avi
  • eRightSoft SUPER: Converteren van allerlei formaten, GUI voor encoders (hier lukt het niet erg mee)
  • iConvert: Encode to flv (prima!)
  • WinFF: ffmpeg gui voor wintendo
  • FLVmeta: flvmeta om meta data in te voegen

FLV filmpjes op de site

Aangezien het telkens weer zoeken hier, hier een kort stappenplan hoe je een filmpje online krijgt. Als voorbeeld een filmpje van mijn blackberry, die gelukkig mp4 filmpjes produceert. Helaas gaat er altijd wat kwaliteit verloren bij het converteren naar flv. Dit is echter wel het beste formaat, omdat het filmpje dan veel kleiner is, en omdat het streamen beter werkt.

Het makkelijkst gaat dit met WinFF. Ik heb een eigen profieltje aangemaakt, waarbij ik de resolutie heb opgehoogd naar 640x480, de bitrate, en ook de sample rate naar 44100. Hopelijk geeft dit wat meer kwaliteit.

In WinFF kun je naar bewerken -> voorkeursinstellingen en daar onder Websites kun je dingen de velden aanpassen. Ik heb een Rolandow instelling gemaakt op basis van de fullscreen instelling. Je moet "invoeren" drukken om de instellingen op te slaan (beetje gek). De commandline die ik nu heb is:

-vcodec flv -f flv -r 29.97 -vf scale=640:480 -aspect 4:3 -b:v 700k -g 160 -cmp dct  -subcmp dct  -mbd 2 -flags +aic+cbp+mv0+mv4 -trellis 1 -ac 1 -ar 44100 -b:a 56k

Vervolgens moet je met het flvmeta commando meta data toevoegen aan je flash film. Dit is om ervoor te zorgen dat hij kan streamen (?). Je moet het programma downloaden. Het makkelijkst is om hem dan in c:\windows te zetten zodat je hem overal aan kunt roepen. Dan commandline gewoon:

flvmeta tom_klimt.flv tom_klimt_stream.flv

Hij maakt dan een nieuw filmpje aan .. deze weer even renamen oid en die dan gebruiken.

Update: nog een beetje zitten klooien, command line werkt dit erg goed:

ffmpeg -i tom.mp4 -ar 22050 -f flv -qmax 2 tom_q2_no_scale.flv

Door de qmax parameter blijft de kwaliteit erg hoog. Dit blijkt toch een beetje TE hoog te zijn om goed te kunnen streamen. Een qmax van 4 geeft een goede kwaliteit, maar toch een kleiner bestand. Hier valt mee te spelen dus :-)

CD/DVD branden

  • InfraRecorder: Simpel gratis programma, doet wat het moet doen.
  • ImgBurn: Eveneens simple gratis programma. Audio CD met ImgBurn staat hier. Je moet eerst een CUE file maken, maar je kan dan wel zonder pauze opnemen. Dus beter voor live cd's. Bij Infrarecorder kun je de pregap ook uitschakelen, weet niet of dit goed werkt.

Virtueel CD/DVD station

Virtual Clone Drive: Mounten van images in virtueel CD/DVD station

WebDAV mounten

In wintendo, werkt dat niet lekker via de normale weg. Als je de verbinding wilt onthouden, dan gaat dit bij de volgende keer opstarten niet lekker. Beter is dus via een ouderwets batch bestandje. Op die manier zou je ook zelf kunnen laten kiezen wanneer je wilt connect (batch bestand op buroblad plaatsen). De syntax is:

NET USE * http://cloud.stumpel.nl/files/webdav.php yourPass /USER:roland

Is WebDAV traag? Dan moet je in explorer onder Internet opties, verbindingen, het vinkje weghalen bij "Automatisch detecteren".

In de registry moet een auth waarde op 2 gezet worden. Hierna de service WebClient herstarten in Services.

http://www.webdavsystem.com/server/documentation/authentication/basic_auth_vista

Flowcharts

Voor het tekenen van flowcharts.

  • yEd: open source ding speciaal voor flowcharts. Eventueel de manual even lezen, het is even wennen.
  • Open Office: Draw is een soort visio.

Naar DVD converteren

  • AVStoDVD Net zoiets als onderstaand, maar kon de framerate van een .ts niet ontdekken. Freemake programma gaf keurig 50 aan als framerate.
  • FreeMake free video converter Converteren vanaf allerlei formaten naar een DVD schijfje. Gebruikt om een .TS (opname van een hd recorder van humax) naar DVD om te zetten. Let op: heeft wel adware trekjes, WinPatrol meldt dat er een proces gestart wil worden, en als je dit niet toelaat, crasht het programma.

Cipher: wipe files

Windows 7 heeft een ingebouwde wipe tool die veilig informatie kan verwijderen.

cipher /w:x:\folder

Hiermee haal je x:\folder leeg.

Linux

  • csync2: Automagisch syncen van bestanden
  • ucarp: VRRP failover gedoe
  • ncftp: client die bij Dreamhost geinstalleerd staat .. handig voor het overzetten van websites via ftp, want hij kan recursief mappen copyeren.
  • imap tools: Copyeren en syncen van imap accounts

DNS cache

Eigen DNS servertje installeren die requests kan cachen met Power DNS o.i.d.

http://www.debian-administration.org/articles/390

MS-DOS

Onder windows 7 kun je ervoor zorgen dat je batch wordt uitgevoerd als Administrator, door er met de rechterknop op te klikken. Zo kun je CMD ook als admin uitvoeren.

Route

Gateway routering aanpassen:

route delete 0.0.0.0
route add 81.175.103.10 mask 255.255.255.255 172.16.0.10
route add 0.0.0.0 mask 0.0.0.0 172.16.255.14

DNS

Met het commando "netsh" kun je ook DNS servers aanpassen.

netsh interface ip set dns "LAN-verbinding" static 8.8.8.8 primary
netsh interface ip add dns name="LAN-verbinding" 208.67.222.222
netsh interface ip add dns name="LAN-verbinding" 208.67.220.220
netsh interface ip add dns name="LAN-verbinding" 172.16.0.131

Meer tips en truucs:

http://www.petri.co.il/configure_tcp_ip_from_cmd.htm

Magento

Locatie default e-mails: /app/locale/nl_NL/template/email

HP

Om de laserjet die aan Ubuntu is gekoppeld aan de praat te krijgen heb ik deze handleiding gevolgd: http://www.sevenforums.com/drivers/20537-installing-sharing-hp-laserjet-1020-win7-x64.html

De CUPS pagina is via poort 631. Op het moment van schrijven: http://192.168.1.51:631/printers/HP-LaserJet-1020

Mozilla Thunderbird

Als je Thunderbird in de vertical view hebt, dan krijg je het scherm opgedeeld in drie kolommen. Nu wilde ik het e-mail bericht zelf in het midden zien. Dus Folder | Message | Message list. Dit blijkt te kunnen door in de profile map een CSS aan te maken. Je moet naar je user in Documents and Settings gaan en dan naar AppData, (Roaming), Thunderbird, Profiles, xxxxx.default .. dan hier een folder chrome aanmaken. Daarin een bestand userChrome.css aanmaken, met hierin de regel:

#threadPaneBox{-moz-box-direction: reverse;}

Bron: http://forums.mozillazine.org/viewtopic.php?f=19&t=623255

Redmine

Als het mailen niet werkt, kan dit komen door een exim config fout. De melding in de mainlog is dan:

2010-10-18 11:22:45 rejected EHLO from localhost [127.0.0.1]: syntactically invalid argument(s): (no argument given)

Dit is op te lossen door redmine op sendmail configuratie te draaien. Dit doe je door in redmine/config/email.yml te zetten:

production:
  delivery_method: :sendmail
#  delivery_method: :smtp
#  smtp_settings:
#    address: "localhost"
#    port: 25

Het gecommente deel is wat er stond.

Exchange

Signature

Je kunt eenvoudig bij de locatie van je signature files komen. In Exchange ga je naar de opties, en dan naar tabje E-mailindeling. Houd nu CTRL ingedrukt als je op Handtekeningen drukt, en je komt in de filebrowser naar de bestanden.

Bron: http://blogs.msdn.com/b/outlook/archive/2008/07/11/how-do-i-back-up-my-signatures.aspx

Video

Transcoder:

RegExp (textpad)

Mobile Bridges standards naar Zend standards

Voor het vervangen van de standaard van MB naar de standaard van Zend, kunnen de volgende search and replaces uitgevoerd worden in Textpad.

Voor het vervangen van $this->mPage naar $this->_page kun je in textpad de volgende parameters opgeven. De _ moet alleen voor private en protected vars, maar we gebruiken als het goed is geen public's.

  • Search: $this->m\([A-Z]\)
  • Replace: $this->_\L\1

De \L zorgt ervoor dat het lowercase wordt, en de \1 is het eerste gevonden groepje. Want \0 zou de hele zin zijn.

Voor het vervangen van $lPage en $aPage naar $page:

  • Search: $[al]\([A-Z]\)
  • Replace: $\L\1

Voor het vervangen van $mPage naar $_page:

  • Search: $m\([A-Z]\)
  • Replace: $_\L\1

Voor het vervangen van de functions die met een hoofdletter beginnen:

  • Search: function \([A-Z]\)
  • Replace: \L\0

Voor de aanroep van functies binnen de class, $this->SetBlablaFoo(...) naar $this->setBlablaFoo(...):

  • Search: $this->\([A-Z]\)\([A-Za-z]*\)(
  • Replace: $this->\L\1\E\2(

Dreamhost

Backup

Automagisch backuppen naar de backup user en snapshots maken.

http://blog.wangling.me/2009/07/meta-backup-dreamhost-on-dreamhost-backups

TransIP

Plesk 11

wordpress

Bij een VPS met Plesk 11.0.9 was het niet mogelijk om plugins te zoeken binnen Wordpress. Dit bleek aan een instelling te liggen op het VPS. Komt waarschijnlijk door nginx. Het volgende als root uivoeren hielp:

setsebool -P httpd_can_network_connect 1

Bronnen:

Encoding

Iets gelezen over het converteren van bestandsnamen. Handig voor als er een samba share is die verkeerde encoding heeft?

Commando convmv.

Bron: http://en.wikipedia.org/wiki/Character_encoding#Character_encoding_translation

Magento

Magento: Magento aanpassingen. Compare products verwijderen.

Git

Git: Versie beheer met git. Hoe de stumpelnl remote git is opgezet.

Update forceren

Als je een pakket hebt geinstalleerd met GIT, zou je normaal gesproken met git pull een update moeten kunnen uitvoeren. Bij mediawiki kreeg ik echter de foutmelding:

error: Your local changes to 'bin/svnstat' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

Je kunt een update forceren op de volgende manier:

git fetch --all
git reset --hard origin/master

Bron: stackoverflow

Rescue disk

HIREN

Om virussen te scannen moet je windows opstarten op de computer (dus niet van cd booten) en dan ComboFix gebruiken om virussen te scannen en op te ruimen. Als je van de cd start draait alles vanuit ram en is er dus te weinig ruimte om de virusscanner te installeren / starten.

Android

ROM

Eerst had ik DarkyRom, maar die was erg buggy. Daarna via deze tutorial mijn android versie geupdate: http://forum.xda-developers.com/showthread.php?t=1139050

Meer firmware op samfirmware.com

Apps

Llama: Toffe app om automatisch je profiel te laten switchen aan de hand van tijd en locatie.

Blackberry

LogicMail

Goede app om e-mail accounts te gebruiken die je niet altijd actief hoeft te hebben. Je hebt dan dus geen push mail, maar je start de email client op wanneer je het nodig hebt. De app heet LogicMail. Het was even zoeken wat je als SMTP server kunt gebruiken, dit blijkt als volgt te zijn.

Server authsmtp.vodafone.nl
User mail06xxxxxxxx (xxx = telnr)
Password Zelfde als op My Vodafone

LET OP: Je moet SSL selecteren als verbindings methode. Als je TLS doet gaan de mailtjes er niet uit!

Asterisk / VOIP

Experia box

Locatie's met een Experia box gaven problemen bij Stumpel. Uiteindelijk was de oplossing eenvoudig. De telefoon rechtstreeks aan de experia box geven en een publiek IP geven. Dat laatste is wellicht niet eens nodig. Maar achter de netgear hangen (die een publiek IP heeft) werkt kennelijk niet. Port forwarding verder uitgeschakeld.

In eerste instantie leek het ook te helpen om de UDP poorten via "Applicatie delen" o.i.d. door te sturen naar de netgear router. Bij de Huesmolen werkte dit uiteindelijk niet zo goed.

tcpdump

Een dump maken om uit te lezen met wireshark oid:

tcpdump -nniany -vvs0 -w huesman2.pcap not port 22

nat / canreinvite / directmedia

Eindelijk snap ik de nat optie een beetje. Het gaat hierbij niet om de asterisk server die wel of niet achter nat zit, maar of de binnenkomende gesprekken van die SIP achter nat zit. Voor telefoons die dus, samen met Asterisk, op het lokale netwerk zitten, kun je NAT=no doen. Er is immers geen NAT tussen Asterisk en de telefoons.

Over het algemeen is het vrij safe om NAT=yes te gebruiken.

Canreinvite is in 1.8 vervangen door directmedia. Als je asterisk achter NAT hebt, is directmedia haast onmogelijk, dus het is best om die gewoon op NO te zetten (of nonat, als je lokaal wel een directe stream zou willen).

externhost

Bij de general config kun je met externaddr je externe IP opgeven. Dit is, samen met localnet, nodig zodat Asterisk goed het onderscheid kan maken tussen lokaal en extern, en het juiste IP in de headers kan stoppen. Wat ik niet wist is dat er ook een externhost optie is. Je kunt hier een hostname opgeven. Met externrefresh kun je de interval opgeven waarmee hij moet checken wat het IP van die host is. Op deze manier kun je asterisk dus veilig achter NAT zetten (met failover).

No application 'SendDTMF' for extension (incoming, 31201234567, 13)

Lekker dom, maar in /etc/asterisk/modules.conf staat een noload. Dan wordt de applicatie natuurlijk niet geladen.

Music on hold

mp3 converteren

Op http://www.jamendo.com staat een hoop leuke, goede muziek dat rechtenvrij is. Eenmaal gedownload als MP3, moeten de nummers geconverteerd worden naar wav en alaw. Dit heb ik gedaan door in /home/roland/moh alle mp3's neer te zetten. Dan kun je het volgende commando runnen:

IFS=$'\n' ; for f in `ls -1 *.mp3` ; do FILE=$(basename "$f" .mp3) ; ffmpeg -i "$FILE.mp3" -ar 8000 -ac 1 -ab 64 "$FILE.wav" -ar 8000 -ac 1 -ab 64 -f alaw "$FILE.alaw" -map 0:0 -map 0:0 ; done

Dan alle .wav en .alaw bestanden moven naar /var/lib/asterisk/moh ..

Dan de music on hold module herstarten met:

asterisk -rx "module unload res_musiconhold.so"; asterisk -rx "module load res_musiconhold.so";

radio

Met de mpg123 player kun je radio streamen. Echter de versie in het packaging system van Ubuntu werkt niet, gek genoeg. Maar een versie handmatig compileren werkt wel.

http://mpg123.orgis.org/download/mpg123-0.60.tar.gz deze gewoon met ./configure, make en make install installeren ergens.

Let op: ik heb ook versie 1.15 ofzo geprobeerd, maar hiervan gaat Asterisk onderuit. Dus echt deze versie gebruiken!

[radio]
mode=custom
application=/usr/local/bin/mpg123 -q -s --mono -r 8000 -f 4096 -b 0 http://icecast.omroep.nl/3fm-sb-mp3

Met de -f parameter kan het volume aangepast worden.

Raspberry Pi

Firmware update

Screensaver

Uitzetten voor de shell, in /etc/rc.local toevoegen:

#screensave uitzetten
/usr/bin/setterm -blank 0 -powersave off -powerdown 0

Internet services

Dynamic hostname

Namecheap dynamic DNS

Namecheap heeft een dynamic DNS service. Je kunt deze ook met ddclient onder linux updaten. Als je dynamic dns activeert, krijg je van namecheap een password (een key). De instellingen in /etc/ddclient.conf zijn dan als volgt:

protocol=namecheap
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
server=dynamicdns.park-your-domain.com
login=rolandow.net
password='key'
home

Aan het eind zet je de hostname die geupdate moet worden. Dit moet dus alleen de host zijn, zonder het domein.

Met dd-wrt kun je ook namcheap updaten. Dit heb ik gedaan en werkt prima.

Apple

Waarom geen Linux op een Apple

Je kunt Linux niet native op Apple installeren. Dit komt omdat de Apple geen SMBus heeft, maar een SMC. Dit is een onderdeel die ervoor zorgt dat het voltage omlaag wordt gebracht als de CPU het te zwaar krijgt. Bij de Apple wordt hiervoor een SMC gebruikt, die alleen goed kan worden aangestuurd door OSX. Apple beschermt de SMC, dus ze geven dit niet vrij zeg maar. Omdat normale pc's een SMBus gebruiken die zit zelf regelen, levert dit geen problemen op. De SMBus ziet zelf wanneer de cpu te warm wordt, en regelt dan het voltage.

Je kunt Linux dus alleen draaien in VMWare. Windows wordt om die reden gedraaid in Boot Camp.

Bron: #apple op irc.freenode.net

Meer hulp over MediaWiki