Friday, December 31, 2010
First Android Application!
Decimal Converter is actually for computer scientists because it converts from decimal to binary, hexadecimal and octal!
The new in this application is that it can convert negative integers 32-bit!
If you have an android phone try it!
Friday, December 24, 2010
Surprise by Vaslabs!
Download it from there and enjoy!
Part 2 Lesson 2
User should provide 2 arguments now. The first is the artist and the second the format of the song:
e.g user will give Dion mp3
so $1 is "Dion"
$2 is "mp3"
The script will be like that:
for music in "$1/*/*.$2"; do
audacious -e "$music" &
done
but what if he misses one argument or he doesn't want to provide one of the 2?
Think about it.
We can ask for an argument -a for the artist and -f for format. eg:
user will give: script_name -a Dion -f wma
of
-f mp3
or nothing.
Solution on next lesson :P
Wednesday, December 22, 2010
Part 2 Lesson 2 (tricks (a))
clear; while true; do
date
sleep 1
clear
done
:P
Saturday, November 20, 2010
Linux Part 2 Lesson 1
Part 2 is about scripts. How do we write a script, what's the syntax and how do we make it executable?
First, there is a basic rule! In the first line we write:
#!/bin/bash
to determine that the script we write is a bash script. (Don't know what is a bash? See Part 1 lesson 1)
And after that we can write code.
Let's see what steps do we need to follow to make a bash script of Part 1 Lesson 4
Bash Scripts can take arguments, which we can access in the script
$index
i.e $1 is the first argument given in the command line.
The code is similar to those we wrote in the command line. However, now we have to make a text file which will contain our code.
We'll use a command line text editor, nano.
->type nano in the command line and press enter.
now determine which script to use (don't know what to write? Start from the beginning again)
This script will get your favourite artist from the command line, and add any songs found in the playlist.
The previous code was:
for music in *line*Dion*/*/*.wma; do
audacious -e "$music" &
done
know, it will be:
for music in $1/*/*.wma; do
audacious -e "$music" &
done
press control O and give a name to the file and then enter to save it. Remember, it will be saved in your current directory.
->Make it executable! How? With chmod +x nameOfScript
copy it in the /bin directory so it can be run any time
->now run it:
nameOfScript *Dion*
Notes:
- if you have permission problems with copying to /bin use sudo or login as root and copy it there.
- We named our script AddToAudaciousPlaylist
- It is a good name to remember what it does!
- Remember not to put .wma if your songs are mp3.
- And the question of the day: How will we make user to choose the song format? Think about it! Next lesson is about improving our script!!!
And yeahhh! You have make your own first open source program in linux!What is open source? ;)
Remember! The script should be run in the directory that your music files live! Like before!
Friday, November 12, 2010
Lesson 5 Revise, Answers of the Questions
Here are the questions:
- Why have we used '&' after audacious -e "$music"? What does it means? try to open other programs with '&' at the end and without it!
- Why we put the audacious -e "$music" & in the for loop and didn't used a playlist variable like before? What script is better?
- Why music variable has a '$' in the for loop?
- Why have we put *.wma instead of *.mp3? Are you going to do the same?
- Why the -E became a -e? Check man audacious to find out!
- & runs the command or program in background, so the terminal is free for putting other commands!
- Because the -e adds songs to the current playlist.
- If a variable is going to be used for output must have $ in front
- The songs of Celine Dion was in wma format. If yours are mp3 or other format you shouldn't use wma.
- Because -E creates a temporary playlist.
Monday, November 8, 2010
Linux Lessons Part 1 Lesson 4
We want to make a playlist with our favorite artists.
This is a problem that needs string matching.
String is a sequence of alphanumerical characters.
So, let's consider the problem:
One of our favorite artists is Celine Dion.
But there are some problems in our folders:
The name of Celine Dion is correct, but in french, i.e. it's Céline Dion. Also, not all folders have just the artist's name. E.g there is a folder Celine Dion - Titanic.
So, let's go back to previous lessons.
Remember the * sign?
It means whatever characters. So if I write *l* means, all the strings that contain the letter l.
In the previous lessons we were searching for mp3's like that, *.mp3. It means whatever string ends with the characters .mp3 .
So, we are going to use that.
E.g if we are searching for folders of Celine Dion we are going to search only the characters that are common. Remember! Neither use so many nor so little:
We used *line*Dion* : this means, whatever characters, then 'line' then whatever characters and then Dion. We could use *Dion* or *C*line*Dion, but it's up to you what you think is right for your case.
So that's the previous code:
for music in */*/*.mp3; do
playlist+=$music;
done; audacious "$playilist" -E
Now we want to make a permanent playlist with our favourite artists!
Make sure that the playlist is empty:
audacious &
choose playlist, delete playlist (it closes the playlist, if you want
the playlist export it before deleting)
run that command:
for music in *line*Dion*/*/*.wma; do
audacious -e "$music" &
done
So after that you can run as many scripts as you want and add your favorite songs.
Then export the playlist so you can use it again.
Questions to consider until Saturday:
- Why have we used '&' after audacious -e "$music"? What does it means? try to open other programs with '&' at the end and without it!
- Why we put the audacious -e "$music" & in the for loop and didn't used a playlist variable like before? What script is better?
- Why music variable has a '$' in the for loop?
- Why have we put *.wma instead of *.mp3? Are you going to do the same?
- Why the -E became a -e? Check man audacious to find out!
Saturday same place :P
Saturday, November 6, 2010
Linux Lessons Part 1 Lesson 3
In this lesson we will see how to create a simple playlist and on next lesson we will make it a little more complicated, so the playlist will have the exact songs we want.
The commands below was executed in linux Ubuntu Ultimate Edition 2.8.
If you have an other distribution of linux you will need to install audacious if you don't have it.
To install it in Ubuntu : sudo apt-get install audacious
In fedora: yum install audacious.
If you can't install it google it.
To create a playlist: check man audacious.
check those parts:
So let's say that:
Our songs are in directories which are in other directories.
All music files are .mp3
we will use the very useful for statement again.
we will use audacious but we will call it in the command line.
first use the command cd and change directory where your music files are.
my is cd $HOME/Music
and then create a list with the songs and load it on audacious like that:
for music in */*/*.mp3; do
playlist+=$music;
done; audacious "$playilist" -E
The first command is for that goes through each directory, and then goes through each another directory which are in the first directory. Then finds all mp3 files and adds them to the variable playlist.
The done closes the for, and then loads the playlist on audacious as a temporary playlist.
Question to consider until Wednesday:
How can you load both mp3 and wma ?
See you on Wednesday.
You can email your answer!
PS: if you can't install audacious try a similar command with the music player you have on your machine after you check its man pages!!!
Saturday, October 30, 2010
Linux Lessons part 1 Lesson 2
Our Case was to create folders, that our photos would sort out by their year.
E.g the photos taken in 2009 will go to the photo2009 folder.
Now, the first thing to consider is the folder reference. We won't speak about folders. In windows you call them folders. In Linux you call them directories. So you have 11 directories from 2000 until 2010. Is that ok? (If you have from 2001 until 2010 see again the previous lesson because there was a mistake in the code)
Now, in another directory, or in the same, you have 1000 photos or more, which have taken from 2000 until now.
Let's see one by one, our new tools we will need to sort them out.
1)date:
The program date, outputs the current date and time, if no arguments are given.
If you write in your terminal: man date , you will have a manual, or help which explains the arguments date can take.
There is an argument -r, which says
So, if we write date -r filename the output will be the date of the last time we modified that file.
But we only want the year taken (in our case).
How do we do that?
If you look in the man date again, you will notice a FORMAT part.
So, if we add a Format argument, the %G we'll get only the year.
Notice the syntax of date:
That means, write date, then the options (or arguments), the file and then the format after a + symbol.
In conclusion we write this:
date -r filename +%G
Voila:
So this is the date instruction!
2)variables
A variable is a random name we use to put things in it.
E.g name=Vasilis
mynumber=23
myage=20
name, mynumber and myage are variables.
Vasilis, 23 and 20 are the contents of each variable!
In lesson 1 we used in the for statement a variable! Can you guess its name?
Answer: Yes, its name was 'i'
3)``
To put an output of a program or command in a variable we use ``.
e.g. dateofphoto=`date -r filename`
4)mv
The mv instructions moves a file from a place to another.
5)cd
change directory
So, now we have our tools, we also have our folders.
So in your terminal write each line below followed by enter.
cd /path_where_the_photos_are
enter
for pics in *;do date_taken=`date -r $pics +%G`; mv $pics photos$date_taken; done
For any inquires or errors you notice let as know by:
email, facebook wall, or commnent.
The power of Linux, Lessons for Dummies part 1
In most of the lessons we'll use bash.
Bash is the common Linux Shell, and stands for Bourne again shell!
The tutorials will have 2 parts: The case, that's the problem we face, a solution with common Windows knowledge, and a solution with Bash Script.
Vaslabs trials have made in an Ubuntu 10.04 Lucid Linux Machine, but there is no difference at all in every distribution you have. If you are new to Linux, Ubuntu is the best choice for you.
The Case:
We want to create 11 folders, each one will have the name photos and then a year number starting from 2000. In these folders we will put later some photos according the year they have been taken.
Solution:
1) In windows, or in Linux using file browser:
Go to the place you want to create the folders, right click, create folder, give it a name, e.g. photos2000, and keep doing that until you reach photos2010.
2)With a bash script:
So we want to make 11 folders in a specific location. It is not necessary to go to that location, so we won't change directory. Since you are new to Linux we won't even use a for, but will suggest that best solution later.
Even without a for the solution is faster.
So for that job will need:
1)a terminal (to write the commands)
2)the command mkdir which means make directory
3)the up arrow(it's on the keyboard)
4)and the path we want to make our folders.
So a simple solution is:
open the terminal.
write: mkdir /path/photos2000
press enter.
A folder named photos2000 has been created in /path.
then press the up arrow
The mkdir /path/photos2000 will show again.
Press backspace one time and then press 1.
now you will have mkdir /path/photos2001
press enter. etc...
But that is a very simple, and stupid solution. This is file browser thinking.
We can automate the above procedure by adding a for command.
So we'll need a couple of extra tools:
1) the for command
2)the let command (let allows mathematical operations)
So write that script instead.
for ((i=0;i<=10;i++)); do let number=2000+$i; mkdir "photos"$number; done
And press enter. The folders shall be created successfully. If you have any problems, don't
hesitate, write your problem on our facebook wall, or here as a comment.
Saturday, September 25, 2010
Kaspersky Lab provides its insights on Stuxnet worm
The recent Stuxnet worm attack is sparking lots of discussion and speculation about the intent, purpose, origins and -- most importantly – the identity of the attacker and target.
Kaspersky Lab has not seen enough evidence to identify the attackers or the intended target but we can confirm that this is a one-of-a-kind, sophisticated malware attack backed by a well-funded, highly skilled attack team with intimate knowledge of SCADA technology.
We believe this type of attack could only be conducted with nation-state support and backing.
"I think that this is the turning point, this is the time when we got to a really new world, because in the past there were just cyber-criminals, now I am afraid it is the time of cyber-terrorism, cyber-weapons and cyber-wars," said Eugene Kaspersky, co-founder and chief executive officer of Kaspersky Lab.
Speaking at the Kaspersky Security Symposium with international journalists in Munich, Germany, Kaspersky described Stuxnet as the opening of "Pandora's Box."
"This malicious program was not designed to steal money, send spam, grab personal data, no, this piece of malware was designed to sabotage plants, to damage industrial systems," he said.
"I am afraid this is the beginning of a new world. 90-ies were a decade of cyber-vandals, 2000's were a decade of cybercriminals, I am afraid now it is a new era of cyber-wars and cyber-terrorism," Kaspersky added.
Researchers at Kaspersky Lab independently discovered that the worm exploited four separate zero-day vulnerabilities. Our analysts reported three of these new vulnerabilities directly to Microsoft and coordinated closely with the vendor during the creation and release of software fixes.
In addition to exploiting four zero-day vulnerabilities, Stuxnet also used two valid certificates (from Realtek and JMicron) which helped to keep the malware under the radar for quite a long period of time.
The worm's ultimate aim was to access Simatic WinCC SCADA, used as industrial control systems that monitor and control industrial, infrastructure, or facility-based processes. Similar systems are widely used in oil pipelines, power plants, large communication systems, airports, ships, and even military installations globally.
The inside knowledge of SCADA technology, the sophistication of the multi-layered attack, the use of multiple zero-day vulnerabilities and legitimate certificates bring us to an understanding that Stuxnet was created by a team of extremely skilled professionals who possessed vast resources and financial support.
The target of the attack and the geography of its outbreak (primarily Iran) suggests that this was not a regular cyber-criminal group. Moreover, our security experts who analyzed the worm code insist that Stuxnet's primary goal was not to spy on infected systems, but to conduct sabotage. All the facts listed above indicate that Stuxnet development was likely to be backed by a nation state, which had strong intelligence data at its disposal.
Kaspersky Lab believes that Stuxnet is a working – and fearsome – prototype of a cyber-weapon, that will lead to the creation of a new arms race in the world. This time it will be a cyber-arms race
Sunday, September 12, 2010
Vaslook 1.0.2.1 NEW and STABLE
Vaslook is better than ever before.
It offers:
Yahoo E-mail notification
Notifies when network is down
Notifies for inappropriate Yahoo POP3 settings
Notifies for E-mails even on restart so you won't forget it.
Download it now and taste the light Vaslook experience!
Don't bother any more seeing every day your email!
Vaslook 1.0.2.1 is here!
Remember that you will need perl! Download Perl!
Sunday, August 22, 2010
New Password Maker
Requirements:
Perl 5.10 or earlier installed on your machine!
Download:
https://sourceforge.net/projects/passmaker/files/PasswordMaker.pl/download
Attention!
If you have the old version that doesn't mean that the new version it will generate the same passwords! This release hasn't any relation with the old version except the script name!
This project is under GNU license!
Wednesday, August 18, 2010
Mobile Remote Control
Imagine this:
You are sitting on the sofa with your friends watching a movie on your laptop and you need to make your speakers louder. What do you do? But, of course, you reach your laptop and you press the appropriate button.
How about not leaving your cozy sofa and pressing a single button on your mobile to do this?
We've tried this and we show you how to do it.
You will need:
1)A pc with an external or internal bluetooth device.
2)A mobile phone that has the program Remote Control (we used Sony Ericsson Jalou but most of sony ericsson mobiles have this application)
3)This article :)
->Enable your pc bluetooth
->Make it discoverable
Right click on the bluetooth tray icon (right down on the taskbar), select Settings and click discovery.
->Take your mobile phone and find Remote Control (for our case it was in Entertainment)
->Choose the option you like (For the movie choose the media player)
->Select device (your pc daa :)
-> You should be able to see on your mobile screen the appropriate buttons.
->That was all.
Tuesday, August 17, 2010
From the author
With your support and feedback we have created some utilities and gadgets that make our life better.
We'll start from the simplest. DBHC was loved by new ones in assembly as it offers decimal, binary and hexadecimal converting. This year a new version of DBHC will be published. It will offer also and text converting. Then the final version of File Engineer. We are sad to announce that this is indeed the final version of it as the project has been closed from us.
Our christmas game, that we know has a few bugs, will be fixed, and a new completed version will be ready by next Christmas.
Our superpower Password Maker it is a high priority as well. New security fixes will be added so your password will be invincible. We shall make clear that this script is also available for windows users if Perl is installed.
Spastra Demo was announced in May 2010 and will be ready in January-February 2011.
And then a great utility was published by vaslabs.
Vaslook was immediately been published, had a lot of bugs, but with your feedback has been a very stable and reliable tool for your yahoo e-mail. It is the only program until now that been awarded with two awards! The softpedia free award and the Famous Why award.
What to expect from vaslabs this year?
We are growing really fast, so you can expect more articles and utilities.
Our team is growing us well so will expand our subjects and our programs. We have also entered Linux world so Linux users should expect something from us!
You can join us on facebook or to be a follower. Followers have full and free support for everything they want about computers.
Thank you all for your support
The author
Vasilis Nicolaou
Sunday, August 15, 2010
The Lost Symbol: Soul's mass!
Another idea could be the scenario below:
In Newtonian physics, when an object is moving with a certain speed, its mass remains constant, or the difference in mass is negligible.
However, according to Einstein, as the speed of an object increases, so does it's mass. Consequently, when the object reaches speed of light it's mass equals to infinite.
When a person is alive, his body consists of 'objects' that are in motion: blood cells, nerve impulses, the heart etc.
But when he dies most of these 'objects' stop moving.
Maybe that is why there is such a difference in mass before and at the very moment of death!
This is a simple idea and may not correspond to reality.
People's Garbage! They paste it you get it!
Vaslabs found out that there are personal stories, accounts with passwords still active, megaupload links (many still active) and more!
So to get this we should write a script that downloads the text for every single link and saves it in a file. Vaslabs used perl for their script, and the target was yourPaste.net because it needs less time. However we will show you both ways:
#this is a comment
#perl program for downloading text files
#and save their content in a single large file
#script for heypasteit
use LWP::UserAgent; #loadlib User Agent
$ua=new LWP::UserAgent; #create a new user agent object
$ua->agent("Mozilla/8.0"); #define mozilla as user agent
$ua=LWP::UserAgent->new; #define the mozilla user agent
$InitialUrl='http://www.heypasteit.com/download/'; #heypasteit url in variable $Initial Url
open FILE, ">Research.txt" or die $!; #open file
for ($i=65;$i<=90;$i++)#ascii 65=A ascii 90=z { for ($j=65;$j<=90;$j++) { for ($k=65;$k<=90;$k++) { $URL=$InitialUrl.chr($i).chr($j).chr($k); #complete url print " * Trying ".$URL."\n"; my $req=HTTP::Request->new(GET=>$URL); #download file and save it with HTTP::Request
$req->header('Accept'=>'text/html');
$res=$ua->request($req);
$con=$res->content;
print FILE $con; #save the content of the file
#put a line for recognition
print FILE "/n============================================/n";
sleep(.2); #wait for 200 milliseconds(This depends on your Internet speed)
}
}
}
close FILE;
exit;
quit;
--------------------------------------------------------------------------------------------------------------
#for yourPaste.net the difference is on the link and on for stations
use LWP::UserAgent;
$ua=new LWP::UserAgent;
$ua->agent("Mozilla/8.0");
$ua=LWP::UserAgent->new;
$InitialUrl='http://www.yourPaste.net/download/';
open FILE, ">Research2.txt" or die $!;
for ($i=2;$i<=9;$i++) { for ($z=0;$z<=9;$z++) { for ($j=0;$j<=9;$j++) { for ($k=0;$k<=9;$k++) { $URL=$InitialUrl."$i"."$z"."$j"."$k"; print " * Try ".$URL."\n"; my $req=HTTP::Request->new(GET=>$URL);
$req->header('Accept'=>'text/html');
$res=$ua->request($req);
$con=$res->content;
print FILE $con;
print FILE "/n============================================/n";
sleep(.2);
}
}
}
}
close FILE;
Monday, August 2, 2010
Vaslabs On Holidays
Wednesday, July 14, 2010
VasLook 1.0.1.1
Monday, July 5, 2010
VasLook Build 1.0.1.0
Tuesday, June 29, 2010
Saturday, June 26, 2010
Technical Problem
You will need perl(Download Perl)
Wednesday, June 23, 2010
Vaslook Fixed
You will have every support for Vaslook for free.
Thank you for your patience.
Tuesday, June 22, 2010
Vaslook Bug
VasLook Bug
Sunday, June 20, 2010
VasLook Yahoo Email Notifier
You have every support and report any bugs by contacting us at vaslabs@yahoo.gr, or by our facebook group. Requires perl to work, install active perl!
Download Now!
Wednesday, May 5, 2010
Locked Out of Windows?
vaslabsco@gmail.com
Saturday, April 10, 2010
JOKER PROGRAM!!!
Thursday, March 25, 2010
Κινέζικα σε text file!
Στο encoding επιλέξτε unicode (το ΑNSI είναι προεπιλεγμένο by default). Κάντε save, κλείστε τ αρχείο και ξανανοίξτε το! Voila!
Monday, February 22, 2010
VasLabs Antivirus Ranking
Name Detecting Removing User Friendly Overall
1. Kaspersky AntiVirus 9.9 10 8 9.3
2. Nod32 8.6 8.1 8.5 8.4
3. Panda 8.8 8.1 8 8.3
4. AVG 8 7.9 9 8.3
5. McAfee 7.4 8 9 8.1
6. Ashampoo 7 7 9 8
7. F-Secure 8.1 7.9 7.5 7.8
8. BitDefender 7.5 7 8 7.5
9. Avast 7 6.4 8.3 7.1
10. Norton 5 6 8 6.3
Sunday, February 21, 2010
How to remove recent documents in word 2007
Press start, type 'regedit' end press enter.
Follow the path: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\File MRU
On the right you can see some key values. Expand data so you can see all the details. Remove the objects you do not want by right clicking the item that matches to the path of the file and select delete.
By Vasilis Nicolaou
Thursday, February 18, 2010
Sunday, February 14, 2010
Binary translator in Pascal
Program binary;
uses crt;
Type
pin=Array[0..14] of Integer;
var
number:Integer;
bintbl,result:pin;
ans:integer;
bnr:string;
Function power_of_2(power:integer):Integer;
var i,p:integer;
begin
p:=1;
for i:=1 to power do
p:=p*2;
power_of_2:=p
end;
Function bin(num:Integer):String;
var iplp,i:integer;
begin
repeat
iplp:=num mod 2;
if iplp=0 then
bin:='0'+bin
else
bin:='1'+bin;
num:=num div 2;
until num=0;
end;
Function cint(b:string):integer;
begin
if b='1' then
cint:=1 else cint:=0; end;
Procedure put_in(Var bl:pin; s:string);
var i:integer;
begin
for i:=0 to length(s)-1 do
bl[i]:=cint(COPY(s,length(s)-i,1));
end;
Function normal(bl:pin):integer;
var i:integer;
begin
normal:=0;
for i:=14 downto 0 do
if bl[i]=1 then
normal:=normal+power_of_2(i);
end;
Procedure print_result(res:pin);
var i:integer;
begin
for i:=14 downto 0 do
write(res[i]);
end;
begin
repeat
clrscr;
writeln('Binary Translator');
writeln;
writeln('What do you want to do?');
writeln;
writeln('1. Binary->normal');
writeln('2. Normal->binary');
writeln('3. Exit');
writeln;
readln(ans);
case ans of
1:begin
writeln('Give the binary');
repeat
readln(bnr);
until length(bnr)<=14; put_in(bintbl,bnr); writeln('The number is'); writeln(normal(bintbl)); print_result(bintbl); readln; readln; end;
2:begin
writeln('Give a positive number');
writeln;
readln(number);
writeln(bin(number));
prepare;
readln;
end;
end;
until ans=3;
clrscr;
writeln('By vaslabs');
writeln('Author: Vasilis Nicolaou');
readln;
end.