## Friday, December 31, 2010

### First Android Application!

We made it! First android application (tool I would say) is now released!
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!

We have released the new version of DBHC! Now you can convert between decimal, binary, hexadecimal, octal and Text! Yes, text! We have made it to give you a Christmas present and we are glad. We hope you will be too!

### Part 2 Lesson 2

Ok so let's create a playlist with a given format(if given). (continue from lesson 1)
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?
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

Bash Scripts. Make Your own executable shells

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:
1. if you have permission problems with copying to /bin use sudo or login as root and copy it there.
2. We named our script AddToAudaciousPlaylist
3. It is a good name to remember what it does!
4. Remember not to put .wma if your songs are mp3.
5. 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

Today we'll make a revision of the previous lessons answering the questions of lesson 4.
Here are the questions:
1. Why have we used '&' after audacious -e "\$music"? What does it means? try to open other programs with '&' at the end and without it!
2. Why we put the audacious -e "\$music" & in the for loop and didn't used a playlist variable like before? What script is better?
3. Why music variable has a '\$' in the for loop?
4. Why have we put *.wma instead of *.mp3? Are you going to do the same?
5. Why the -E became a -e? Check man audacious to find out!

1. & runs the command or program in background, so the terminal is free for putting other commands!
2. Because the -e adds songs to the current playlist.
3. If a variable is going to be used for output must have \$ in front
4. The songs of Celine Dion was in wma format. If yours are mp3 or other format you shouldn't use wma.
5. Because -E creates a temporary playlist.

## Monday, November 8, 2010

### Linux Lessons Part 1 Lesson 4

So, here is our case for today:
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!
The answers of these questions will be published on Saturday, but it would be great if you share your opinions in our facebook wall!

Saturday same place :P

## Saturday, November 6, 2010

### Linux Lessons Part 1 Lesson 3

This lesson is about music. We all struggle with the GUI's to create a playlist.
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.

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

In the previous lesson, we discussed how to create folders with a common name, but with different number, e.g. a year number.
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:

### The power of Linux, Lessons for Dummies part 1

Here is the beginning of a big Linux tutorial.
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)

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

Kaspersky Lab's experts believe that Stuxnet manifests the beginning of the new age of cyber-warfare.

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

Our labs finished 2010 Vaslook series with critical improvements.
Vaslook is better than ever before.
It offers:
Notifies when network is down
Notifies for inappropriate Yahoo POP3 settings
Notifies for E-mails even on restart so you won't forget it.
Don't bother any more seeing every day your email!
Vaslook 1.0.2.1 is here!

## Sunday, August 22, 2010

Vaslabs are delighted to announce the release of the new Password Maker that runs in Perl environment!

Requirements:
Perl 5.10 or earlier installed on your machine!

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)

->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

Hey to you all! It was a wonderful year (September 2009-August 2010) ! We are glad that Vaslabs have such members as you! During this year we tried to focus on simple tutorials for computer beginners, but also to make sure that advanced users and young programmers wouldn't be indifferent as well.
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.
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!

Dan Brown in his book "The Lost Symbol" describes that soul has mass. The scientist who undertook this experiment in the book measured the mass of a terminally diseased volunteer before and at the exact moment of his death. She found out that he was lighter by an extremely little amount of milligrams after he died so she concluded that soul has a 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!

There are some sites like www.heypasteit.com and www.yourPaste.net that offer an easy way to show your friends any text you like by pasting and getting a link with a random string. For example if you paste something in www.heypasteit.com you get this link http://wwwheypasteit.com/AAB or http://www.heypasteit.com/download/AAB for downloading the text. In paste.net you get something like this: http://www.yourPaste.net/download/2003 . But are these strings really random? In these sites they are more like a number that is increasing by the paste. So we could be able to retrieve all peoples pastes and see what we can get.
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
#and save their content in a single large file
#script for heypasteit
\$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
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
\$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;
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);
\$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

Vaslabs is on holidays! We will be back on 16 August with new stuff. Enjoy your holidays everybody!

## Monday, July 5, 2010

### VasLook Build 1.0.1.0

VasLook Updated! Download Now the new, updated executable of Vaslook! Copy Paste this one in the folder Vaslook in your computer and accept the replacement. run it again!

## Tuesday, June 29, 2010

### VasLook Awarded!

Softpedia has awarded VasLook.
Details

## Saturday, June 26, 2010

### Technical Problem

Due to a technical problem, the new release of Vaslook hadn't released properly. However we fixed this problem and now you can download the full version of Vaslook without having problems. We remind you that you have full support for any problems Vaslook will occure.

## Wednesday, June 23, 2010

### Vaslook Fixed

A revision of Vaslook is now available. All the reported bugs have been repaired. However, for your computer safety, Vaslabs haven't made the program to ask permission for file storing or registry operations. So you are advised to extract the program in your desktop and execute it from there. Read readme.txt for more information!

## Tuesday, June 22, 2010

### Vaslook Bug

Bug has been found. When you log out from VasLook the login form doesn't appears. Restart the program to login again. A fix will be available by tomorrow. we are sorry for the inconvenience.

### VasLook Bug

A bug of Vaslook reported during login. A fix patch will be available as soon as possible. In the meantime run Vaslook as administrator on the first time!

## Sunday, June 20, 2010

### VasLook Yahoo Email Notifier

Do you want to save time and view your mail only when you have one? Get this program which notifies you quickly when you receive an e-mail. The setup is a little complicated but if you follow the readme instructions you'll make it.
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!

## Sunday, May 9, 2010

### ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΠΛΗΡΟΦΟΡΙΚΗ ΓΙΑ ΤΟΥΣ ΤΕΛΕΙΟΦΟΙΤΟΥΣ ΜΑΣ!

Μπορείτε να μας στείλετε τις απαντήσεις σας για να σας στείλουμε πίσω feedback :)
email: vaslabsco@gmail.com

## Wednesday, May 5, 2010

### Port Scanner for Linux!

See what ports are open to a specific host! For Linux Users!

### Locked Out of Windows?

Have you locked out of your windows? Contact us and we will find a solution for you!
vaslabsco@gmail.com

## Saturday, April 10, 2010

### JOKER PROGRAM!!!

Use our program and get a second opinion about the numbers you are going to play. Open the program, type begin and then enter. Enjoy: Download Now!

## Thursday, March 25, 2010

### Κινέζικα σε text file!

Έχετε λάβει ένα text file το ανοίγετε και βλέπετε ένα σωρό ακαταλαβίστικους χαρακτήρες; Η λύση είναι απλή. Επιλέξτε file, save as.
Στο encoding επιλέξτε unicode (το ΑNSI είναι προεπιλεγμένο by default). Κάντε save, κλείστε τ αρχείο και ξανανοίξτε το! Voila!

## Monday, February 22, 2010

### VasLabs Antivirus Ranking

We test 10 Antivirus programs and we represent our result sorting from the best to the worse.

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

Unfortunately there isn't any way for direct deleting. I am going to show you a way through the registry. The example shown is for word but you can do the same for excel or power point.
Press start, type 'regedit' end press enter.
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

## Sunday, February 14, 2010

### Binary translator in Pascal

I represent a sample code of a binary translator algorithm. If you have any questions don't hesitate to leave a comment. Thank you!

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;
case ans of
1:begin
writeln('Give the binary');
repeat
2:begin

writeln('Give a positive number');
writeln;
writeln(bin(number));
prepare;