Expat-IT Tech Bits

Home

Contact

Links

Search this site:

Categories:

/ (287)
  Admin/ (122)
    Apache/ (10)
      HTTPS-SSL/ (4)
      PHP/ (3)
      performance/ (2)
    Cherokee/ (1)
    LAN/ (4)
    LVM/ (6)
    Monitoring/ (2)
      munin/ (2)
    SSH/ (6)
    SSL/ (1)
    Samba/ (1)
    VPN-options/ (6)
      OpenVPN/ (1)
      SSH-Proxy/ (3)
      Tinc/ (1)
      sshuttle/ (1)
    backups/ (17)
      SpiderOak/ (1)
      backuppc/ (5)
      dirvish/ (1)
      misc/ (6)
      rdiff-backup/ (1)
      rsync/ (1)
      unison/ (2)
    commandLine/ (24)
      files/ (8)
      misc/ (10)
      network/ (6)
    crontab/ (1)
    databases/ (15)
      MSSQL/ (2)
      MySQL/ (8)
      Oracle/ (3)
      PostgreSQL/ (1)
    dynamicDNS/ (2)
    email/ (11)
      Dovecot/ (1)
      deliverability/ (1)
      misc/ (1)
      postfix/ (7)
      puppet/ (1)
    iptables/ (3)
    tripwire/ (1)
    virtualization/ (9)
      VMware/ (1)
      virtualBox/ (8)
  Coding/ (14)
    bash/ (1)
    gdb/ (1)
    git/ (3)
    php/ (5)
    python/ (4)
      Django/ (2)
  Education/ (1)
  Hosting/ (27)
    Amazon/ (18)
      EBS/ (3)
      EC2/ (10)
      S3/ (1)
      commandline/ (4)
    Godaddy/ (2)
    NearlyFreeSpeech/ (3)
    Rackspace/ (1)
    vpslink/ (3)
  Linux/ (30)
    Android/ (1)
    Awesome/ (3)
    CPUfreq/ (1)
    China/ (2)
    Debian/ (8)
      APT/ (3)
      WPA/ (1)
    audio/ (1)
    encryption/ (3)
    fonts/ (1)
    misc/ (6)
    remoteDesktop/ (1)
    router-bridge/ (3)
  SW/ (45)
    Micro$soft/ (1)
    browser/ (2)
      Chrome/ (1)
      Firefox/ (1)
    business/ (28)
      Drupal/ (9)
      KnowledgeTree/ (6)
      Redmine/ (2)
      SugarCRM/ (7)
      WebERP/ (2)
      WordPress/ (1)
      eGroupware/ (1)
    chat/ (1)
    email/ (1)
    fileSharing/ (2)
      btsync/ (1)
      mldonkey/ (1)
    graphics/ (2)
    research/ (2)
    website/ (6)
      blog/ (6)
        blosxom/ (3)
        rss2email/ (1)
        webgen/ (1)
  Security/ (15)
    IMchat/ (2)
    circumvention/ (2)
    cryptoCurrency/ (1)
    e-mail/ (4)
    greatFirewall/ (1)
    hacking/ (1)
    password/ (1)
    privacy/ (2)
    skype/ (1)
  Services/ (1)
    fileSharing/ (1)
  TechWriting/ (1)
  xHW/ (14)
    Lenovo/ (1)
    Motorola_A1200/ (2)
    Thinkpad_600e/ (1)
    Thinkpad_a21m/ (3)
    Thinkpad_i1300/ (1)
    Thinkpad_x24/ (1)
    USB_audio/ (1)
    scanner/ (1)
    wirelessCards/ (2)
  xLife/ (17)
    China/ (9)
      Beijing/ (5)
        OpenSource/ (3)
    Expatriation/ (1)
    Vietnam/ (7)

Archives:

  • 2016/07
  • 2016/05
  • 2016/02
  • 2016/01
  • 2015/12
  • 2015/11
  • 2015/06
  • 2015/01
  • 2014/12
  • 2014/11
  • 2014/10
  • 2014/09
  • 2014/07
  • 2014/04
  • 2014/02
  • 2014/01
  • 2013/12
  • 2013/10
  • 2013/08
  • 2013/07
  • 2013/06
  • 2013/05
  • 2013/04
  • 2013/02
  • 2013/01
  • 2012/12
  • 2012/10
  • 2012/09
  • 2012/08
  • 2012/07
  • 2012/06
  • 2012/05
  • 2012/04
  • 2012/03
  • 2012/01
  • 2011/12
  • 2011/11
  • 2011/10
  • 2011/09
  • 2011/08
  • 2011/07
  • 2011/06
  • 2011/05
  • 2011/04
  • 2011/02
  • 2010/12
  • 2010/11
  • 2010/10
  • 2010/09
  • 2010/08
  • 2010/07
  • 2010/06
  • 2010/05
  • 2010/04
  • 2010/03
  • 2010/02
  • 2010/01
  • 2009/12
  • 2009/11
  • 2009/10
  • 2009/09
  • 2009/08
  • 2009/07
  • 2009/06
  • 2009/05
  • 2009/04
  • 2009/03
  • 2009/02
  • 2009/01
  • 2008/12
  • 2008/11
  • 2008/10
  • 2008/09
  • Subscribe XML RSS Feed

    Creative Commons License
    This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
    PyBlosxom

    This site has no ads. To help with hosting, crypto donations are accepted:
    Bitcoin: 1JErV8ga9UY7wE8Bbf1KYsA5bkdh8n1Bxc
    Zcash: zcLYqtXYFEWHFtEfM6wg5eCV8frxWtZYkT8WyxvevzNC6SBgmqPS3tkg6nBarmzRzWYAurgs4ThkpkD5QgiSwxqoB7xrCxs

    Sun, 19 Sep 2010


    /Coding/python/Django: Django "Hello World" Example

    (Lifted from [1].)

    On my Debian system, first install Django:

    apt-get install python-django
    cd to where you want to put your new Django web application, and create a Django project:
    django-admin.py startproject djangoHello
    which will cause a subdirectory djangoHello to be created, containing manage.py, settings.py, and urls.py, among other things. Now create an application within that project:
    cd djangoHello
    python manage.py startapp helloworld
    which will create a helloworld subdirectory, containing models.py and views.py. Now edit djangoHello/helloworld/views.py to add the following lines:
    from django.http import HttpResponse def helloworld(request): return HttpResponse('Hello, World!')
    Now edit djangoHello/urls.py, and add the line below after the line above (that will already be in the file):
    #(r'^admin/(.*)', admin.site.root),
    (r'^$', 'djangoHello.helloworld.views.helloworld'),
    Make sure you are in the project root directory (djangoHello) and start the built-in Django server:
    python manage.py runserver 0.0.0.0:8000
    and point your browser at port 8000 (localhost:8000 if browser and Django are on the same machine) and observer your "Hello, World!".

    [1] https://support.eapps.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=178

    posted at: 01:01 | path: /Coding/python/Django | permanent link to this entry

    Wed, 01 Sep 2010


    /Admin/commandLine/network: Screen: An Easy Way to Open Multiple Terminals on a Linux Server

    I have been hearing buzz about the "screen"[1] utility for some time, and having tried it, I am now a serious devotee. Wish I had looked at it earlier....

    Screen basically gives access and control of multiple terminal sessions in one open SSH session to a server. Ie. instead of using SSH to login to a server from multiple terminals, just use one terminal and invoke "screen" once logged in.

    Screen becomes useful with only a very short list of keystrokes:

    Ctrl-a c - create a new "screen"
    Ctrl-a n - cycle to the next "screen"
    Ctrl-a p - cycle to the previous "screen"
    Ctrl-a d - detach from screen program, which continues to run in background
    Ctrl-a [ - permit scrolling through the terminal's history buffer
    Ctrl-c - exit scroll mode and return to command mode

    If you only have two or three "screens" open, that is about all you really need.

    Killer Feature #1: No More Clobbered SSH Sessions

    If you detach from screen and logout, or are forcibly detached by an interrupted SSH session, screen continues to run on the server in the background. That means, for instance, that you can allow a big file transfer to continue on the server without needing an open SSH session. Or, in the case of a network problem resulting in an interrupted SSH session, just log back into the server, and enter:

    screen -r -d

    to be returned to all your screen session, with all your open terminals, EXACTLY THE WAY YOU LEFT THEM. No more having to navigate back to where you were before. Absolutely indispensable in the crappy excuse for a network we have here in China.

    Killer Feature #2: Terminal Sharing!!

    Sharing your terminal (both input and output) is simple with screen, as long as both people can SSH into the server and su to the same user:

    First one person starts screen, then the other person su's to the same username on the server and attaches to the other screen session as follows:

    screen -x

    And now both people are looking at exactly the same screen / terminal session, and both can type into that terminal. Sometimes when the second person tries to attach, there is an error message like the following:

    Cannot open your terminal '/dev/pts/3' - please check.

    To fix, just chmod the file /dev/pts/3 to make permissions more permissive.

    [1] http://savannah.gnu.org/projects/screen

    posted at: 01:09 | path: /Admin/commandLine/network | permanent link to this entry