вторник, 3 декабря 2013 г.

How to install asp.net mvc3 after mvc4 installation

I have Visual Studio 2010, Service Pack1 and MVC4 installed and worked perfectly.
I want to build my old MVC3 project. But AspNetMVC3ToolsUpdateSetup.exe is failed to setup.

Solution:
extract and install only this packages from AspNetMVC3ToolsUpdateSetup
aspnetmvc3.msi
aspnetwebpages.msi
aspnetmvc3vs2010tools.msi
aspnetwebpagesvs2010tools.msi

is taken from here

вторник, 3 сентября 2013 г.

Howto repair mssql databasse.

ALTER DATABASE [dbname] SET EMERGENCY
ALTER DATABASE [dbname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CHECKCONSTRAINTS
DBCC CHECKDB([dbname], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [dbname] SET MULTI_USER

суббота, 13 июля 2013 г.

install mysql on raspberry pi and connect from laptop

$ sudo apt-get update
$ sudo apt-get install apache2 php5 mysql-server
$ sudo apt-get install phpmyadmin

to enable remote connection replace 127.0.0.1 in /etc/mysql/my.conf to real ip

the working application is at http://your_rpi_host/phpmyadmin
or download any application and look at db from it

to add user
$ mysql -u root -p mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO  'dbuser'@'%'  IDENTIFIED  BY  'dbpassword';
mysql> FLUSH PRIVILEGES;

mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO 'foouser'@'%' IDENTIFIED BY 'PASSWORD';

вторник, 11 июня 2013 г.

GoogleReader replacement with RaspberryPi + rss2email + cron + GMail


1. Install rss2email
sudo apt-get install rss2email

2. Configure rss2email
#It stores things in ~/.rss2email
r2e new email-example@gmail.com
cat <<EOF >~/.rss2email/config.py
HTML_MAIL = 1
DATE_HEADER = 1
DEFAULT_FROM = "email-example@gmail.com"
FORCE_FROM = 1
SMTP_SERVER=  "smtp.gmail.com"
AUTHREQUIRED=1
SMTP_SEND = 1
SMTP_USER = "email-example@gmail.com"
SMTP_PASS = 123456
SMTP_SSL = 1
TRUST_GUID=1
EOF

3. Import subscriptions
Use Google Takeaway to get a copy of your Reader subscription data.

#import to rss2email
r2e opmlimport subsciptions.xml
#get list of subsciptions
r2e list

4. Fetch data
#fetch rss data but don't send. we are already had read them
r2e run --no-send
#some time later fetch to get new ones
r2e run

5. Automate
#the better way is to use cron to automaticaly fetch each 2 time in hour
sudo crontab -u user1 -e
#add this line and save
*/30 * * * * r2e run

6. Some useful rss2email commands
r2e add http://www.example.com/feed/
r2e opmlexport > subscriptions.xml
r2e list
r2e delete 123

7. In gmail create filters for you feeds.

понедельник, 8 апреля 2013 г.

Compiling kernel 3.4 on debian wheezy

sudo apt-get install kernel-package fakeroot build-essential


mkdir ~/tmp
cd ~/tmp
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.tar.bz2
tar xvf linux-3.4.tar.bz2
cd linux-3.4/
cat /boot/config-`uname -r`>.config
make oldconfig

If your current kernel is 3.3.5 the questions that await are given at the bottom of this post with links to descriptions of the different options. As usual, if in doubt, just hit enter.

make-kpkg clean

Building takes ages (depending on number of cores committed), so don't launch it at 4 pm on a Friday if you need to shut down your computer before going home... As usual, use the -jX switch for parallel builds, where X is the number of cores+1 (i.e. 4 cores => -j5)

The following command goes on a single line
time fakeroot make-kpkg -j5 --initrd --revision=3.4.0 --append-to-version=-amd64 kernel_image kernel_headers

Once the build is done, move the .deb files out of the way and to your linux-3.4 directory for safe-keeping
 mv ../*3.4.0*.deb .
sudo dpkg -i *.deb
(c) from here

понедельник, 25 февраля 2013 г.

rpm how-to


List all installed packages
# rpm -qa
How do I uninstall rpm packages?
#rpm -e <package name>
How do I install rpm packages?
#rpm -i <package name>
Examples - extract files from rpm
#rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv

пятница, 7 декабря 2012 г.

RaspberryPi && SDR


1. prepare
    #prepare os (there was an old raspbian)
    sudo apt-get update
    sudo apt-get upgrade
    sudo rpi-update
    sudo raspi-config
    #overclock to medium
    #don't load DM on start
    #minimize video memory
    #without this step there were gaps in sound for a half a second every second

    #prepare soft
    sudo apt-get install git libusb-dev libusb-1.0 libtool cmake pkg-config
    git clone git://git.osmocom.org/rtl-sdr.git

2. compile rtl-sdr
    cd rtl-sdr/
    mkdir build
    cd build
    cmake ../ -DINSTALL_UDEV_RULES=ON
    make
    sudo make install
    sudo ldconfig
    sudo make install-udev-rules
3. run
    rtl_tcp -a 192.168.1.3
4. listen to music
    #i've used sdr# (http://sdrsharp.com/) from my laptop
    #but it is possible to use rtl_fm and aplay directly from raspi
    rtl_fm -f 103700000 -s 48000 -g 9 -l 10 - | aplay -t raw -r 48000 -c 1 -f S16_LE

пятница, 14 сентября 2012 г.

Avgx.Bugslayer

Published Avgx.Bugslayer 1.0.0

Howto put your package to nuget (local build)



1. read manual @ http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package
2. create repository @ bitbucket for your sources
3. register @ nuget.org

use nuget.exe in Package manager console of you project:
1. nuget SetApiKey XXXXX-XXXXXXX... (it can be read from your's nuget.org account)
2. nuget spec (then edit the MyProject.nuspec file)
3. nuget pack MyProject.csproj (will create MyProject.1.0.0.nupkg)
4. nuget push MyProject.1.0.0.nupkg (will upload @ nuget.org)

понедельник, 2 июля 2012 г.

Getting started with Raspberry Pi...


Hardware:
1. Raspberry Pi Model B (+ delivery from element14.com) - 2000RUR
2. Hama кабель HDMI M-M - 310RUR
3. Transcend SDHC Class 10 32GB - 1275RUR
4. Onext universal charger 1000mA - 300RUR
5. HDMI-DVI-D VC-004G - 270RUR
6. USB 2.0 А - microUSB B - 75RUR
---
Total: 4230RUR

Software:
http://distribution.hexxeh.net/raspbian/raspbian-r3.zip

Doesn't work yet. The red pwr lights on, green ok lights then flashes some times then again lights. But no any output on the monitor (Samsung SyncMaster 930BF).

--
UP:
To make the monitor works change confix.txt to

hdmi_force_hotplug=1
hdmi_drive=1
hdmi_group=2
hdmi_mode=35
config_hdmi_boost=1
test_mode=1

--
For no-monitor configuration:

Set config.txt to empty

Find r-pi with Advanced Port Scanner v1.3
connect to ssh with putty
to login use root:hexxeh
If there is no DNS resolvings (fixed in later distribution versions):
the default dns records in /etc/resolv.conf  is 8.8.8.4 (google)
I use akado internet provider, 
so i need to add DNS-servers of akado:
ns01.comcor-tv.ru (217.10.32.5)
ns02.comcor-tv.ru (217.10.35.5)
dns01.catv.ext.ru (217.10.44.35)
dns02.catv.ext.ru (217.10.36.5)
dns03.catv.ext.ru (217.10.32.4)
dns04.catv.ext.ru (217.10.39.4)

then install some software for development with apt-get
sudo apt-get install mc


среда, 6 июня 2012 г.

LXDE for Astra linux

1. add repository
~#cat >>/etc/apt/sources.list << EOF
deb http://mirror.yandex.ru/debian/ sid contrib non-free
EOF
2. update repository
~#apt-get update
3. install packages
~#apt-get install lxde

вторник, 24 апреля 2012 г.

CryptoPP hang on linux

After porting some code that use cryptopp from windows to slackware linux it hangs.
The hang code:
AutoSeededRandomPool rng(true);

The reason was that AutoSeededRandomPool use /dev/random which blocks until the data become available.
The problem was resolved using default constructor, which use /dev/urandom:
AutoSeededRandomPool rng;

понедельник, 9 апреля 2012 г.

Build 2.6.38.8 kernel for Slackware 13.37

extract kernel to /usr/src/linux-2.6.38.8
copy your .config to /usr/src/linux-2.6.38.8
cd to /usr/src/linux-2.6.38.8

make prepare
make scripts
make -j4 modules
make -j4 bzImage
make modules_install
make install
reboot


среда, 14 марта 2012 г.

HTML parsing with Perl

#useful libraries
apt-get install libwww-perl
apt-get install libfile-slurp-perl
apt-get install libjson-xs-perl
для работы с базой данных
apt-get install libdbi-perl
apt-get install libdbd-sqlite-perl

#header and link modules
#!/usr/bin/perl -w

use strict;
use warnings;
use utf8;

require JSON::XS;
use HTML::Entities;
require LWP::UserAgent;
use HTML::TreeBuilder;
use File::Slurp;
use URI::Escape;
use Encode;
use DBI qw(:sql_types);

#to get modules versions
print "CGI::VERSION ".$CGI::VERSION."\n";
print "JSON::XS::VERSION ".$JSON::XS::VERSION."\n";
print "HTML::Entities::VERSION ".$HTML::Entities::VERSION."\n";
print "LWP::UserAgent::VERSION ".$LWP::UserAgent::VERSION."\n";
print "HTML::TreeBuilder::VERSION ".$HTML::TreeBuilder::VERSION."\n";
print "File::Slurp::VERSION ".$File::Slurp::VERSION."\n";
print "URI::Escape::VERSION ".$URI::Escape::VERSION."\n";
print "Encode::VERSION ".$Encode::VERSION."\n";
print "DBI::VERSION ".$DBI::VERSION."\n";

#for utf-8
binmode(STDIN, ":encoding(utf-8)");
binmode(STDOUT, ":encoding(utf-8)");

#variables
$theVariable;
@theArray;
%theHash;

#to download the html page
sub get_url
{
my $url = "http://www.ya.ru";
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
my @ns_headers =
(
'User-Agent' => "Mozilla/5.0",
'Accept' => '*/*',
'Accept-Charset' => 'utf-8,*',
'Accept-Language' => 'ru-RU',
);
my $response = $ua->get("$url", @ns_headers);
if($response->is_success)
{
my $decoded_content = $response->decoded_content;
return $decoded_content;
}
else
{
return $response->status_line;
}
}

#to search in html tree
sub search_parse($$)
{
die "Wrong number of args" if (scalar(@_) != 2);
my($search_url, $content) = @_;
my $root = HTML::TreeBuilder->new_from_content($content);

print $search_url;

my $search_results = $root->look_down(
'_tag' => 'div',
'class' => qr//,
sub
{
$_[0]->attr('class') =~ /search_results_last/;
}
);

my @items2;
if($search_results)
{
my @elements = $search_results->look_down(
'_tag' => 'div',
'class' => 'element'
);

for my $element (@elements)
{
$element->dump();
print "---------------\n";
}
}
}

#for work with sqlite, the good howto:
# from http://2lx.ru/2009/04/working-with-sqlite-in-perl/
#!/usr/bin/perl -w
# Пример работы с СУБД SQLite в Perl
use DBI;
@user_names = ("Alex", "Arthur", "Boris", "Bred", "Clay", "Caren"); # массив пользователей, которых будем сохранять в базу данных

$db = DBI->connect("dbi:SQLite:dbname=users.db","","",{AutoCommit => 0}); # подключаемся к базе данных. Если файла users.db не существует, то он будет создан автоматически
$db->{unicode} = 1;

$db->do("create table users (user_name text);"); # Создаем новую таблицу в базе данных

foreach my $user (@user_names){
my $query = $db->do("INSERT INTO users VALUES('$user')");
$query > 0 ? print "$user added\n" : print "$user not added\n"; # если в результате запроса затронуто больше 0 рядов, значит запрос выполнен успешно, а если нет, то неудачно.
}
#$db->rollback;
$db->commit;

print "-"x10,"\n";

# Получаем количество записей, которые будут возвращены запросом
#($query) = $db->selectrow_array("SELECT count(*) FROM users WHERE (user_name LIKE 'A%')");
$query = $db->prepare("SELECT count(*) FROM users WHERE (user_name LIKE 'A%')");
$query->execute() or die($db->errstr);
($users_count) = $query->fetchrow_array;
print "Query will return $users_count records\n\n";
# --------------------------------------------------------------

$query = $db->prepare("SELECT * FROM users WHERE (user_name LIKE 'A%')"); # Формируем запрос на выборку
$query->execute() or die($db->errstr); # Выполняем запрос. В случае неаозможности выполнения запроса умираем с выводом причины
#
while (($user) = $query->fetchrow_array()){
print $user."\n";
}

$db->disconnect; # отключаемся от базы данных

четверг, 23 февраля 2012 г.

установка и настройка debian 6.0.4

# get the installer
debian-6.0.4-i386-xfce+lxde-CD-1.iso

# add to /etc/apt/sources.list
#main
deb http://ftp.ru.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.ru.debian.org/debian squeeze main
#multimedia
deb http://www.debian-multimedia.org stable main
deb ftp://ftp.debian-multimedia.org stable main
deb http://www.debian-multimedia.org testing main
deb ftp://ftp.debian-multimedia.org testing main
# Main packages
deb http://debian.mirror.vu.lt/debian/ stable main contrib non-free
deb-src http://debian.mirror.vu.lt/debian/ stable main contrib non-free
# Debian Backports
deb http://debian.mirror.vu.lt/debian-backports/ squeeze-backports main contrib non-free
# Debian Updates / ex-volatile
deb http://debian.mirror.vu.lt/debian/ stable-updates main contrib non-free
# Debian Security updates
deb http://debian.mirror.vu.lt/debian-security/ stable/updates main contrib non-free
deb-src http://debian.mirror.vu.lt/debian-security/ stable/updates main contrib non-free

# install soft
apt-get update
apt-get install mc
apt-get install vsftpd
/etc/init.d/vsftpd restart

# configure default editor for mc
update-alternatives --config editor

apt-get install google-chrome-stable
apt-get install mercurial
apt-get install meld

# libraries for perl
apt-get install libwww-perl
apt-get install libfile-slurp-perl
apt-get install libjson-xs-perl

суббота, 31 декабря 2011 г.

Projects of 2011

Knowledge area of the year:
  • ASP.NET MVC
  • Linux
  • Video
Most valuable projects:
  1. add audio stream selection to nginx's mp4 streaming plugin - c, linux
  2. asp.net mvc project for restaurant booking - asp.net mvc, jquery, entity code-first
  3. DVR (video server) - slackware linux based, mono, linux-live, gsoap, integrate usb device with libhid
  4. asp.net mvc project as web UI for face recognition service - asp.net mvc, jquery
  5. winforms application - UI for people psychology compatibility service. - winforms, bltoolkit, sqlite, custom controls, custom design applied.
  6. ffmpeg scripts: for video conversion to stream for iOS devices, to add watermark, to add overlays
  7. media-player-classic fork that can view customers video format

пятница, 18 ноября 2011 г.

bash howto's 3


#This will remove leading spaces...
echo " 1233 test " | sed 's/^ *//g'
#This will remove trailing spaces...
echo " test 543453 " | sed 's/ *$//g'


#Make the following XML file available under http://127.0.0.1:5555/
(printf "HTTP/1.1 200 OK\\r\\nContent-Type: text/xml\\r\\n"; \
printf "Content-Length: $(cat "response.xml"|wc -c)\\r\\n\\r\\n"; \
cat response.xml") | nc -l -p 5555 >/dev/zero 2>&1 &