Archive for February 2009
Documentation is NOT the place for a showoff! at least not in the field of computers
In preparation for a major project I’m planing to do, i was searching for a 3D modeler that can preferably export openGL code directly. also, i wanted a well supported and documented modeler. of course, as a linux user, that meant Blender. the problem with blender is that it doesn’t export openGL code (at least not by default). so after searching for a script or an alternative method on every forum google found, i found out that there was no way to do that unless you parse blender files (.blend) your self. blender can also save files in different formats. the formats blender can export in (by default) are:
VRML was very attractive and had somewhat good documentation. but it is obsolete, replaced by the new ISO standard X3D (and X3D doesn’t seem to have a stable converter for blender). having no other choice, i decided to use DXF. Now, where can i find good documentation on DXF? i downloaded the official DXF reference from Autodesk and tried to understand it, but all it provided were tables (after all it’s a reference). i tried google but without luck. luckily i found an blender-to-obj script that can convert blend files into obj (wavefront). The obj format was well documented, had good examples, easy to find, and available. so i decided to go with it rather than DXF even though the DXF format is a much better format the obj. at least to my knowledge.
I think i went overboard with the story. but my point is this:
What good is a reference if the developer doesn’t have the faintest clue on using it? Nothing! DON’T BE A SMART ASS when writting documentation and be as clear as possible and with examples, or else no one will use your stuff.
SIGTERMer
An Outstanding Entry point into the world of Games and Game Engines
This is by far the most informative source of information i have found on the net! you want to start designing/programming games? this amazing article rounds up everything you need to know about games and game engines at one place. I just needed to share this with you people.
http://www.extremetech.com/article2/0,2845,594,00.asp
Just a note, this article proved valuable to experienced designers and programmers as well. having written a game engine before, i still learned a lot.
PS: a friendly wornang though, the artical spans 11 parts each containing multiple sections. it took about 2 hours from my time, and i didn’t evern read all of it; skipped the parts that i know/didn’t want to know
SIGTERMer
SSH/openSSH Guide
Basically, you can copy, redistribute, and modify as long as the resulting work remains licenses under the same license. This a rough summery of the license and can not be legally used. If any conflicts are found between this description and the official license. The official license (the URL above) is considered correct.
I and the Adnan Alliance Organization can not be held responsible for any damages linked directly or indirectly to this document. USE THIS DOCUMENT AT YOUR OWN RISK. The author and the organization provide ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
Have you ever wanted to access your box over a secured network connection? Do have a normal DSL/Modem connection (Your IP changes each time you reconnect or when ever your ISP feels like it) but want to access it from anywhere without checking what IP address? Do you want to access your PC but you workplace has a firewall that doesn’t allow anything except browsing? Well, your in luck, because this guide shows you how to do just that!
This guide assumes that you have Ubuntu up and running. If you have Debian, you may be able to follow this guide. But if you have other distributions such as SUSE or Fedora, you will need to improvise.
Dedication
I dedicate this project to each and every Muslim in Gaza, may God be with you… They WILL pay sooner or later, but they will pay and that’s a fact! Death Tole: Over 1400 innocent people dead in a period not more than a month. Who is the real terrorist here!
Distros Used
I am using Ubuntu for this guide because most beginner tend to use it. for other distoros, you might need to take a few additional steps to get ssh working in the way you want it such as opening ports/excepting connections and so on. personally i use Archlinux, for other arch users, i recommend this.
Setting up SSH
The software that is used to remotely access your computer is called OpenSSH (open secure shell). but throughout this guide, it will be referred to simply as SSH. To access your PC remotely, you need two programs: A client, which is the software that is used to connect to the server. Ubuntu has a ssh client installed by default. And a server, which runs on the computer you connect to (herein referred to as sshd or ssh daemon). You will need to install this if you want access your PC remotely via ssh.
To install the server software (sshd) on Ubuntu:
sudo apt-get install openssh-server
Type in your password and apt-get will start to download the software and will install it automatically once it has finished.
To test the ssh server, type this at the terminal:
ssh localhost
You should get a login prompt indicating that sshd is up and running correctly. If that succeeds, you can go on and try to login from another computer on the same network (nothing that goes through a router/firewall). To login to the server from a deferent computer, type the following:
ssh ?.?.?.? -l username
where ?.?.?.? is the IP address of the computer you are trying to login to. And username is the name of the user you want to use to login with.
Congratulations, you can now control your server from anywhere, as long as you’re connected to the same network the PC is in, or the server is directly connected to the internet (no router, proxy server, or any other network device to hide behind).
Configuring your Router to accept and redirect connections
Unless you plan to use ssh only in your local network, you will need to configure your router to accept connections made to the port the ssh server (sshd) listens to. This port is usually 22. but as you will see later, this port can be changed to any other port to improve security and availability. Since there are countless router manufacturers, it would be imposable to cover each and everyone. And as a result, configuring your router will be left to you. The keywords you will need to search for is port forwarding. Linksys misleadingly calls it “Applications & Gaming”. Just connect to your router by typing its address in your browser. This might be 192.168.1.1 or 192.168.0.1. but it needn’t be one of the two. Just mess around until you find it (assuming that your router supports port forwarding). WARNING: CHANGING ROUTER SETTINGS MIGHT PREVENT YOU FROM ACCESSING THE INTERNET, OR MIGHT PREVENT YOU FROM ACCESSING YOUR ROUTER. PRECEDE WITH CAUSION!
Finding a good Dynamic DNS service
To access your PC from a remote location, you will need to know its address or at least your routers address. This wouldn’t be a problem if you had a static IP. but seeing that most ISPs don’t assign static IPs, you will need to take special measures to insure that you can access your server where you are even if your IP changes. The easiest way to do that is to use a free dynamic domain name service (DNS). There are countless servers available. I have experience with only one service, but that doesn’t mean it’s the best and any DNS service will do. And if you have a domain name (such as example.com) you can also use it but you will need to find a way to update it.
I currently use FreeDNS and have been using it for about 3 months. It provides a good reliable service and has never failed (at least not yet). The downside is that it doesn’t provide official software to automate the process of checking your IP and updating the DNS if required.
Another service that comes highly recommended is www.no-ip.com. This service looks good enough but have never tried it. I would recommend this for beginners. I am considering using it myself if and when FreeDNS fails.
To login using a domain name, simply subtitute the domain name with the IP address. The following should clear things out:
ssh DomainName -l username
where DomainName points to the server you want to connect to.
Modifying SSH to get past any Firewall that allows browsing
SSH uses port 22, this wouldn’t be a problem if you were trying to connect from a private network. But most companies and other institutions have restrictive firewalls that reject connections unless these connections are used to preview web pages. In other words, it only allows HTTP (80) and HTTPS 2(443) are allowed. To get around this problem, set the ssh server to listen to ether port one of the two ports. You should be able to fool the firewall into allowing an ssl connection. I recommend using port 443 since SSH uses the same protocol as SSL (HTTPS).
To do this you will need to modify the sshd configuration file. Also, you will need to type in a few more characters each time you want to connect to the server. To set the ssh server to listen to port 443 (or 80), open the sshd config file located at “/etc/ssh/sshd_config”. Search for the line with the following line:
Port 22
Add # before the line, and add a new line after it so that the result would look something similar to this:
#Port 22 Port 443
Of course, you can replace 443 with the number of the port you want to use. After changing this, the command you use to login is as follows:
ssh DomainNameOrIP -l username -p Port
Again, make sure to change Port to match what you chose previously. Use 443 if you’ve decided to set it with 443.
Note: if you are running a web server, port 80 is out of the question. Also, if your web server is set to except SSL connections, port 443 is off the table as well.
X Forwarding Through SSH
SSH has a nice feater called X Forwarding. This allows you to run GUI applications on a remote computer and interact with them just as if they were running on your own pct. Although with Ubuntu, you might have some problems with it at first. But once everything has been set up properly, you’ll be glad it’s there.
To enable X forwarding, simply add the two options XC (case sensitive) as shown bellow:
ssh DomainNameOrIP -l username -p Port -XC
Note that C was added to for better network performance. You might run into problems when trying to use X forwarding, namely the authentication file issue. After searching the web, I have found that the best way to solve it is to delete the file and then reconnect. Ether that or you need to login under root. To test it out, type xclock. A small analog clock should appear.
Securing SSH
ssh was written to allow people to remotely access computers. Naturally, you don’t want the bad guys to gain access to your computer. Although, ssh comes with some security settings by default, it can still be cracked. To improve security there are several things you can do, this guide will list some of them.
Changing the default port:
The first thing that crackers will probably do is preform a port scan and determine what services your server provides. Note that most of these attacks will be automated (as in scripts). Leaving the the default port unchanged will make it very easy for anyone to find out if your server offers ssh or not. To prevent this unnecessary headache, simply change the port sshd listens to (remember, sshd runs on the server side). You may use a technique called port knocking, but I have no experience with it since I never really needed to use it. To change the port sshd listens to: open “/etc/ssh/sshd_config” and search for the line
Port 22
Change the port to whatever you like as long as the port your switching to isn’t in use. I suggest using port 80 if you aren’t using the computer as web page server, or use 443 if the computer isn’t set up to accept SSL connections.
Limiting “MaxAuthTries”:
This option specifies how many chances you get to enter your password before the connection is dropped. This might be useful to slowdown brute force attacks, but if you detect successive login failures. I would strongly recommend using an alternate authentication method such as keys.
Don’t “PermitRootLogin”:
change this to no to prevent anyone who wants to login to your pc under root.
Using keys:
keys can be used to login without typing a letter. With this type of authentication, you can disable interactive login dialogs and therefore destroying any hopes of brute-forcing into your ssh server. I have to admit though, I have yet to use this method. This is primarily because I haven’t seen a single attack so far. But I will probably switch to this type of authentication soon.
Monitoring your server
From time to time, you will need to check on the authentication log to make sure no one is trying to break into your server. To do that, type the following at the server’s terminal:
less /var/log/auth.log | grep ssh | less
This line should display each and every authentication process that has been initiated by sshd. If you see a large number of login failures form unknown address, your server might be under attack. Try changing ports or using ether port knocking or – better yet – keys.
Moving files between server and client
personally I use scp to securely copy my files over the net. scp works in the same way cp does but does so over a secure connection between two separate computers. The syntax of the command is a s follows:
scp -P pornumber source destination
Where: pornumber is the number of the port sshd is listining to (default is 22) source replace this with the path of the file you want to copy. Add ?.?.?.?: in front of the path if the file is on the server side (where ?.?.?.? is the IP Address of the server). And don’t forget the :. destination replace this with the destination of the file(s) you want to copy. It can also have an IP address if you want to copy files to the server.
This guide was intended to glue all the information you might find useful and practical in one place. However, It is not by far the most complete. If you find that one of the sections is not clear enough or just want to learn more, search the net. Or if you want more information on the commands used in this guide, type man followed by the name of the command at the terminal.
Other Resource:
https://help.ubuntu.com/community/SSHHowto
http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html
SIGTERMer
Gollywood Gannel is OUT!!
It’s finally here; the one and only original Gollywood Gannel. It is available on YouTube In separate sections! Watch the greatest Pokemon start-ups, laugh out loud with the hilarious Buddies, and relive the best moments with Rock the Eagle: The Movie. This product is made by Blue King and Silver Knight in 2008, but Gollywood Gannel has just been uploaded, so watch and you’ll never regret, so enjoy…
here’s a part of a program that we really enjoyed:
List of all Gollywood Gannel programs:
1. GPS (Greatest Pokemon Startups)
2. Go Barney (A Video Dangerous To The Mind)
3. Guessing Game
4. Glimpse Of Our Live
5. Guest Segment (Baskal Episode 1 & 2)
6. Gommercial (Commercial For Pink Programs)
7. G True Hidden Identities: Special Episode
8. Good Talk (The Famous Talk Show)
9. Gay Group (Not Friends, Buddies)
10. Gollywood Movie (Rock The Eagle)
Q8BooK4U and Anxious Nut
SSH/openSSH Guide: Access your PC from anyware with an Internet connection!
Arabic Version coming soon – Insha2 Allah.
Have you ever wanted to access your box over a secured network connection? Do have a normal DSL/Modem connection (Your IP changes each time you reconnect or each time the company feels like it) but want to access it from anywhere without checking what IP address? Do you want to access your PC but you workplace has a firewall that doesn’t allow anything except browsing? Well, your in luck, because the following guide shows you how to do just that!
http://sigtermer.mooo.com/wiki/index.php/SSH/openSSH_Guide
If you need more information, please visit our forum. I would be more than happy to help
SIGTERMer
[The Kuwaiti Bureaucrats] episode one: 1/2 KD is more then one!
To be honest, i expected this to happen. and i expect it will happen again and again and again.
Today, i went to the registration office in CTS to request duplicate copies of my graduation certificate. they asked me to fill in a forum, normal so far. the forum had a table containing the type of requests that can be made and each entry had a fee specified to the right, still good. for duplicates, you are required to pay a fee of 1/2KD per duplicate. i needed three copies so purchased 2 stamps; 1 and 1/2 KD (i only had 1KD bills on me, and i thought that the stamp dispenser thing did not except 1/2). i went to the guy to give him the form with the stamp and was surprised with a “NO”. when i asked why, he simply replied: “you need three 1/2Kd stamps”.
Logically, what i gave him should suffice. after all, i gave him stamps worth 1.5KD which is exactly what is required. since i didn’t want to wast another KD, I tried the polite way and tried to bargain but the guy was persistent. so i swallowed my pride and opened my pocket (i don’t use an wallet.. long story) to buy another stamp worth 1/2KD (with 1KD).
i went again, this time i gave the guy three stamps along with the form: one 1KD and two 1/2KD. i know i was wasting 1/2KD but i couldn’t help it (it was ether that or i come again later). and the %#(& looked at me and said.. “NO”.
what now i asked, he replied: “you obviosly don’t understand, i said three 1/2 stamps”
…
struggling to control my temper, i had three choices:
- go over the counter and kick the shit out of him.
- have an argument with a “rich” set of words.
- ‘amsik a39abi’ and buy yet another 1/2 stamp.
number 1 was tempting but i know i can get thrown in jail for it. 2 can still get me in jail or at the very least, my request gets “accidentally lost”. so i had no choice and bought a fourth stamp. so now i have: one 1KD and three 1/2KD stamps. i walked to the counter. and gave him the three 1/2KD. this time he didn’t say i word ‘shina mo 3ajba’.
In conclusion, Kuwait is a wonderful place to live in but sometimes you encounter these type of people. and that’s why i decided to start an entire series dedicated to the dicks that are: The Kuwaiti Bureaucrats.
A SHOCK!
i was searching for a way to get unbuffered input from the terminal, and i found a great way to do that at http://www.cs.tau.ac.il/~mottis/comnet/line-buffering.html (it’s a solution to a collage assignment)
the site obviously belonged to a high ranking university so i resided to see which one it was. to my surprise, it belonged to Tel Aviv University.. ISRAEL.
it’s not that it was an Israeli institution that shocked me, but the amount of knowlage they learn on a regular basis. it made me think why it wasn’t a collage in an Islamic or Arabian country. i’m not blaming CTS (zain minhom m36yna dwa2r r8miah) but what about kuwait univ.? i know a few people studding there, and none of them come close to that level of detail! i know that the gcc (gulf country council) has more then enough money to found a good and advanced university.. but why don’t they!
it’s just too depressing to know that students there learn that kind of stuff in their curriculum when we barely know the basics of programming!
Forums
yeah .. forums! shino mo taris 3ainik!
We have a wiki…
I am assuming that no body is reading this blog or has it in there feed reader, cuz this is only alpha (yes it got demoted
). and is not intended for public use!
yeah we got a wiki (also not for public, but you can freely read anything in there). http://sigtermer.mooo.com/wiki
PSP Tissue Box
A lot of us own PSPs and their boxes, we know what to do with the PSP but with the boxes,… we don’t. Some of us have thrown them in the garbage, but some didn’t; keeping them for no reason, not using them! well, I’ve got this thing to make you keep it, and to get some use out of it! Instead of keeping it in a drawer gaining dirt, you can put it on your desk,… make it a tissue box! I got inspired by MurderHeWrote. The best thing is that every time someone wants to take a tissue, he gets surprised and his face is like “!!!”. So make yourself one, and you’ll never regret it! And I’d like to thank SIGTERMer for lending me his PSP’s box, so thank you. Anyway, enjoy the tutorial.
How to make your own:
STEP1. Bring your box, a normal tissue box, a scissor, and a sharp tool (a knife would do the job).
STEP2. Open the box.
STEP3. Cut the useless extra cardboard.
STEP4. Measure the hight and the with of the place where the tissues get out.
STEP5. Draw it on the PSP’s box.
STEP6. Take your sharp tool and cut the shape you’ve just draw.
By now, it should be like this.
STEP7. Get out the tissues from the normal one and put them in the PSP’s box.
The next step is an additional step to make it easier to open the box every time you want to refill it.
STEP8. Cut the edge to make it like a small triangle.
Here you have it, your own PSP Tissue Box,… enjoy!
If you would like to have a copy of this tutorial in one A4 page, then click on the link here to download the PDF file.












