четверг, 20 января 2011 г.

What thing prevents the spread of OpenSource?

Memory Leeks. Bugs like this opened since 2002! http://www.openoffice.org/issues/show_bug.cgi?id=105191

среда, 29 декабря 2010 г.

Avast! опубликовала отчет по использованию нелегальных копий avast! Pro Antivirus

Лицензия, выписанная на 14 пользователей для небольшой компании в Таксоне, штат Аризона, 30 июня 2009 года, к концу 2010 года распространилась на 774651 активных пользователей. Лицензия использовалась в более чем 200 странах от Афганистана до Зимбабве – даже в Ватикане. Феноменальный рост, бесспорно, но, к сожалению, за исключением 14 оригинальных пользователей, все остальные пользователи – пираты.

Страны с наибольшим количеством пиратских продуктов *

  1. Россия
  2. Мексика
  3. Бразилия
  4. Италия
  5. Испания
  6. США
  7. Индия
  8. Филиппины
  9. Франция
  10. Украина
  11. Аргентина
  12. Тайланд
*данные из международных отчетов по использованию пиратских лицензий, отсортированные по стране.

Источник: http://www.avast.com/ru-ru/pr-avast-software-over-770-000-pirates-plus-2-in-the-vatican

среда, 11 августа 2010 г.

Unix password generator

for i in $(seq 1 10); do p=$(cat /dev/urandom | tr -cd '[:alpha:][:digit:]' | head -c 10); echo $p; done

понедельник, 26 апреля 2010 г.

Sberbank 500

Some technical details about top Russian bank

вторник, 13 апреля 2010 г.

JBoss init.d startup script

#!/bin/sh
#
# jboss         JBoss application server
# chkconfig:    345 98 2
# description:  JBoss application server startup script
#


#
# modified by sergerus@gmail.com
#
# $Id: jboss_init_redhat.sh 60992 2007-02-28 11:33:27Z dimitris@jboss.org $
#
# JBoss Control Script
#
# To use this script run it as root - it will switch to the specified user
#
# Here is a little (and extremely primitive) startup/shutdown script
# for RedHat systems. It assumes that JBoss lives in /usr/local/jboss,
# it's run by user 'jboss' and JDK binaries are in /usr/local/jdk/bin.
# All this can be changed in the script itself.
#
# Either modify this script for your requirements or just ensure that
# the following variables are set correctly before calling the script.


JBOSS_SERVICE_NAME=${JBOSS_SERVICE_NAME:-"JBoss"}

#define where jboss is - this is the directory containing directories log, bin, conf etc
JBOSS_HOME=${JBOSS_HOME:-"/opt/jboss"}
if [ ! -d "$JBOSS_HOME" ]; then
  echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME
  exit 1
fi

export LAUNCH_JBOSS_IN_BACKGROUND=${LAUNCH_JBOSS_IN_BACKGROUND:-"1"}

JBOSS_PIDFILE=${JBOSS_PIDFILE:-"$JBOSS_HOME/jboss.pid"}

#define the user under which jboss will run, or use 'RUNASIS' to run as the current user
JBOSS_USER=${JBOSS_USER:-"jboss"}

#configuration to use, usually one of 'minimal', 'default', 'all'
JBOSS_CONF=${JBOSS_CONF:-"default"}

#if JBOSS_HOST specified, use -b to bind jboss services to that address
JBOSS_HOST=0.0.0.0
JBOSS_BIND_ADDR=${JBOSS_HOST:+"-b $JBOSS_HOST"}

#define the classpath for the shutdown class
JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jnet.jar"}

#define the script to use to start jboss
JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF $JBOSS_BIND_ADDR"}

#define what will be done with the console log
JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"}

JBOSS_START_TIMEOUT=${JBOSS_START_TIMEOUT:-"300"}
JBOSS_STOP_TIMEOUT=${JBOSS_STOP_TIMEOUT:-"60"}

is_jboss_running() {
    [ -f $JBOSS_PIDFILE ] || return 1
    PID=$(cat $JBOSS_PIDFILE)
    [ ! -z $PID ] || return 1
    ps -p $PID >/dev/null 2>/dev/null || return 1
    return 0
}

if [ "$JBOSS_USER" = "RUNASIS" ]; then
  SUBIT=""
else                            
  SUBIT="su - $JBOSS_USER -c "
fi        

if [ -n "$JBOSS_CONSOLE" ] ; then
  if [ -e $JBOSS_CONSOLE ] ; then
    if [ -f $JBOSS_CONSOLE ] ; then
      touch $JBOSS_CONSOLE         
      [ ! -z "$SUBIT" ] && chown $JBOSS_USER $JBOSS_CONSOLE
    fi                                                     
  else                                                     
    touch $JBOSS_CONSOLE                                   
    [ ! -z "$SUBIT" ] && chown $JBOSS_USER $JBOSS_CONSOLE  
  fi                                                       
else                                                       
  JBOSS_CONSOLE=/dev/null                                  
fi                                                         

JBOSS_CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH"
JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"}

case "$1" in
start)      
    echo "Starting $JBOSS_SERVICE_NAME..."
    if [ -f $JBOSS_PIDFILE ] ; then       
      if is_jboss_running ; then          
          echo "$JBOSS_SERVICE_NAME seems already running!!"
          exit 1                                            
      else                                                  
         # dead pid file - remove                           
         rm -f $JBOSS_PIDFILE                               
      fi                                                    
    fi                                                      

    touch $JBOSS_PIDFILE
    [ ! -z "$SUBIT" ] && chown $JBOSS_USER $JBOSS_PIDFILE

    if [ -z "$SUBIT" ]; then
        eval "              
          $JBOSS_CMD_START >$JBOSS_CONSOLE 2>&1 &
          echo \$! >$JBOSS_PIDFILE               
        "                                        
    else                                         
        $SUBIT "                                 
          $JBOSS_CMD_START >$JBOSS_CONSOLE 2>&1 & 
          echo \$! >$JBOSS_PIDFILE                
        "                                         
    fi                                            
    RETVAL=1                                      
    TIMER=$JBOSS_START_TIMEOUT                    
    while [ $RETVAL -ne 0 -a $TIMER -gt 0 ] ; do  
      echo -n .                                   
      sleep 1                                     
      #nc -w 1 -z localhost 8080 >/dev/null 2>&1  
      curl -s -m 1 http://localhost:8080 >/dev/null 2>&1
      RETVAL=$?
      let TIMER=$TIMER-1
    done
    if [ $RETVAL -eq 0 ]; then
      echo "$JBOSS_SERVICE_NAME started."
    else
      echo "$JBOSS_SERVICE_NAME start timeout. failed!"
    fi
    ;;                                                  
stop)
    echo "Stopping $JBOSS_SERVICE_NAME..."
    if is_jboss_running ; then
      PID=$(cat $JBOSS_PIDFILE)
      if [ -z "$SUBIT" ]; then
          $JBOSS_CMD_STOP
      else
          $SUBIT "$JBOSS_CMD_STOP"
      fi
      TIMER=$JBOSS_STOP_TIMEOUT
      while is_jboss_running && [ $TIMER -gt 0 ] ; do
        echo -n .
        sleep 1
        let TIMER=$TIMER-1
      done
      if is_jboss_running ; then
        kill -INT $PID
        sleep 3
        if is_jboss_running ; then
          kill -TERM $PID
          sleep 3
          if is_jboss_running ; then
            kill -KILL $PID
            sleep 3
            if is_jboss_running ; then
              echo "WARN: Can't kill  $JBOSS_SERVICE_NAME"
              exit 1
            fi
          fi;
        fi;
      fi
      rm -f $JBOSS_PIDFILE
      echo "$JBOSS_SERVICE_NAME stopped."
    else
      echo "$JBOSS_SERVICE_NAME seems not running!"
    fi
    ;;
restart)
    $0 stop
    $0 start
    ;;
check)
    echo "JBOSS_SERVICE_NAME = $JBOSS_SERVICE_NAME"
    echo "JBOSS_HOME = $JBOSS_HOME"
    echo "JBOSS_PIDFILE = $JBOSS_PIDFILE"
    echo "JBOSS_USER = $JBOSS_USER"
    echo "JBOSS_CONF = $JBOSS_CONF"
    echo "JBOSS_HOST = $JBOSS_HOST"
    echo "JBOSS_BIND_ADDR = $JBOSS_BIND_ADDR"
    echo "JBOSSCP = $JBOSSCP"
    echo "JBOSSSH = $JBOSSSH"
    echo "JBOSS_CONSOLE = $JBOSS_CONSOLE"
    echo "JBOSS_START_TIMEOUT = $JBOSS_START_TIMEOUT"
    echo "JBOSS_STOP_TIMEOUT = $JBOSS_STOP_TIMEOUT"
    echo "JBOSS_CMD_START = $JBOSS_CMD_START"
    echo "JBOSS_CMD_STOP = $JBOSS_CMD_STOP"
    ;;
*)
    echo "usage: $0 (start|stop|restart|check|help)"
esac

воскресенье, 7 июня 2009 г.

JBoss startup / how JBoss microkernel works

http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Server_Configuration_Guide/4/html/Using_JMX_as_a_Microkernel-The_Startup_Process.html
...
...

The JBoss server starts out as nothing more than a container for the JMX MBean server, and then loads its personality based on the services defined in the jboss-service.xml MBean configuration file from the named configuration set passed to the server on the command line. Because MBeans define the functionality of a JBoss server instance, it is important to understand how the core JBoss MBeans are written, and how you should integrate your existing services into JBoss using MBeans. This is the topic of the next section.

...

суббота, 25 апреля 2009 г.

Защити свой компьютер от вирусов

Важно не допустить попадание вредоносного кода в компьютер. Можно вообще обходится без антивируса. Главное - знать пути распространения вирусов и "заткнуть" эти дыры.

Не работайте от имени привелигированного пользователя!
Используйте ограниченную учетную запись для повседневной работы. Иначе вирус, будучи запущенным, может сильнее навредить компьютеру.

Отключите автозапуск дисков
Большинство вредоносных программ копирует себя на сменные диски и ставит себя в автозапуск (autorun.inf). Отключить автозапуск дисков можно с помощью программы TweakUI из пакета Microsoft PowerToy
http://www.microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx

Сетевой экран

Закрывайте ненужные порты! На домашнем компьютере можно закрыть все входящие соединения.

Автозагрузка
Вредоносные программы ставят себя в автозагрузку ОС. Проверить содержимое автозагрузки можно с помощью утилиты SysInternals Autoruns.
http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
Anvir Task Manager также помогает вычистить автозагрузку. Программа использует базу знаний и эвристический анализатор.

Антивирусы

Я уже 2 года пользуюсь бесплатным антивирусом Avast Home. Есть ежедневные обновления базы через инет (несколько килобайт). Ключ дается на 1.5 года, получить новые ключи можно с одного и того же email.
http://avast.com/eng/download-avast-home.html
http://avast.com

Плюс есть удобная программа для анализа запущенных процессов и автозагрузки - Anvir Task Manager (см. пост о Anvir). Программа использует базу знаний и эвристический анализатор.
http://anvir.net

Есть бесплатный сервис для сканирования подозрительных файлов на вирусы. Использует около 20 сервисов в т.ч. Kaspersky, Dr. Web, NOD32...
http://virustotal.com