Lately the google adsense for content started to support arabic language websites, the www.arabsites.co.il website administrator said that his site is utf-8 incoded and two weeks ago he started to show ads in his site, more he said, the pay per click still low, it's about 1-2 centes per click, but i guess when the time pass, more advertisers will know about the service and they will pay beter for a click.
the first report was on the arabic seo forum www.seoarabia.com
Monday, June 25, 2007
Beta Version for arabic language Google Adsense
Posted by
RamiX
at
8:58 AM
1 comments
Labels: adsense, google, Search engine, seo, website
Sunday, June 24, 2007
register a domain name - how to do it
if you want to build a website you need few thing for starting it successfully.
first, you should know if you site will be visited by a lot of visitors or few, that is a very important thing, because if you expect a high number of visitors, you should get a dedicated server , a standart hosting plan cant hold alot of traffic.
for good hosting plans i suggest to see what brinkster company offer, i work with them and i like it there.
they suggest you a free domain for each hosting plan, but i don't like that, i prefer to buy the domain name by my self, it's cheap (8.99$) and easy, i do that with godaddy, they have a great control panel that make it easy to manage my domains, and i have alot of them.
i already had on accident with a company that gave me a free domain, and after it expired the didn't renew that and i lost it with all my visitors. so watch out with that!
register a domain name:
so how to register a domain name? it's easy step but so important, i suggest you to register your domain in the main extensions like .com, .net , .info (it's cheap 1$ only) and .mobi (if you see that there is a use to your site with mobile)
how to choose your hosting plan
basicly you can choose a professional hosting plan, but if you think that a lot of users will be visiting you site you should change your choice, i got a basic host plan and i'm hosting many websites on it, i get 5000 visitors each day, i think it's the limit of this plan, so i think if you think you'll have more than this number of visitors daily, you should take a dedicated server.
if your websitet build with php/asp/.net/jsp
you should pay attention for that also, if you take a windows server so you should use asp/.net or you should check if the server support php, brinkster server support aslo php on their windows servers.
Posted by
RamiX
at
3:02 PM
0
comments
Labels: dedicated servers, domain register, domains, hosting, servers
Thursday, May 03, 2007
Unrecognized attribute 'xmlns'.
this error actually means that the site is running old Framework version,
what you need to do is the following:
1.Open Internet Information Services and navigate to "Default Web Site" (or the site you're using as your default).
2.Right click the Site icon (the one with the globe).
3.Select the ASP.NET tab. You'll see a drop-down with the available versions (if you're getting the error, odds are, you'll see 1.1).
4.Select the proper build of ASP.NET 2.0 (or later, depends on the version you worked on in the developing stage).
5.Restart IIS.
Sunday, January 28, 2007
Change master web server in interdev Project
if you want to start using another web server for your asp projects which you created in interdev 6.0 then you need to change the master web that you set when you created the project.
to do that you should do those steps:
1. release your working copy:
right click on your project-> release working copy
2. on the upper toolbar (File Edit View...) choose Project -> Web Project -> Copy Web Application ... -> set the new server name and the directory you want to creat the project in, un check the Add to existing Web Project and the press OK.
3. now create a new project, in the 2nd stem, choose to use an existeing remote directory!
have a nice programming!
Posted by
RamiX
at
9:46 AM
0
comments
Tuesday, January 16, 2007
How to recognize google visit
do you want to know if this visit is a google visit??
here is a simple asp code to do that:
< % robot=request.ServerVariables("HTTP_USER_AGENT") if (Instr(robot,"Googlebot")<>0) then
...
end if
% >
and this is how to do it with php script
< ? define("SYSTEM_FROM_NAME","Your name"); define("SYSTEM_FROM_EMAIL","Your email"); //---this script will send email to webmaster when google visit your pages. if(isset($_SERVER['HTTP_USER_AGENT']) && eregi("googlebot",$_SERVER['HTTP_USER_AGENT'])) { if ($QUERY_STRING != "") { $url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'?'.$QUERY_STRING; } else { $url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; } $today = date("F j, Y, g:i a"); $headers = "From: ".SYSTEM_FROM_NAME." <".SYSTEM_FROM_EMAIL.">";
$message="";
$message.="Googlebot is crawling your site:\n";
$message.="Page: $url\n";
$message.="Date: $today \n";
$message.="IP: ".$_SERVER['REMOTE_ADDR']." \n";
mail(SYSTEM_FROM_EMAIL, "googlebot crawle - $url", "$message",$headers);}
? >
Posted by
RamiX
at
10:02 AM
0
comments
Labels: asp, google, php, scripts, Search engine, searchengines, seo, source codes
Wednesday, November 29, 2006
connecting btrieve database with vb6
you have an old version of btrieve and you want to read data from it?? well, you'r luck if you read this message in the beginning of your search... i lost 3 days of intensive searching.. and finaly found it. and here i share it with you...
well, open vb program and bla bla bla ...
now you should define some consts for easy work:
i suggest you to create a separate modul for this code (that what i did)
DefInt A-Z
Global Const BOPEN = 0
Global Const BCLOSE = 1
Global Const BINSERT = 2
Global Const BUPDATE = 3
Global Const BDELETE = 4
Global Const BGETEQUAL = 5
Global Const BGETNEXT = 6
Global Const BGETGREATEROREQUAL = 9
Global Const BGETFIRST = 12
Global Const BCREATE = 14
Global Const BSTAT = 15
Global Const BSTOP = 25
Global Const BVERSION = 26
Global Const BRESET = 28
Global Const KEY_BUF_LEN = 255
Rem Key FlagsGlobal Const DUP = 1
Global Const MODIFIABLE = 2
Global Const BIN = 4
Global Const NUL = 8
Global Const SEGMENT = 16
Global Const SEQ = 32
Global Const DEC = 64
Global Const SUP = 128
Rem Key Types
Global Const EXTTYPE = 256
Global Const MANUAL = 512
Global Const BSTRING = 0
Global Const BINTEGER = 1
Global Const BFLOAT = 2
Global Const BDATE = 3
Global Const BTIME = 4
Global Const BDECIMAL = 5
Global Const BNUMERIC = 8
Global Const BZSTRING = 11
Global Const BAUTOINC = 15
' now declare the function BTRCALL with do all the I\O with the database
Private Declare Function BTRCALL Lib "wbtrv32.dll" (ByVal OP, ByVal Pb$, Db As Any, DL As Long, Kb As Any, ByVal Kl, ByVal Kn) As Integer
' define some data types for working with the database files
Type typ_byte4 f1(1 To 4) As ByteEnd TypeRem ***************************************************************************
Rem Btrieve Structures
Type KeySpec
KeyPos As Integer
KeyLen As Integer
KeyFlags As Integer
KeyTot As typ_byte4
KeyType As String * 1
Reserved As String * 5
End Type
Type FileSpec
RecLen As Integer
PageSize As Integer
IndxCnt As Integer
NotUsed As String * 4
FileFlags As Integer
Reserved As String * 2
Allocation As Integer
KeyBuf(0 To 1) As KeySpec
End Type
Type StatFileSpecs
RecLen As Integer
PageSize As Integer
IndexTot As Integer
RecTot As typ_byte4
FileFlags As Integer
Reserved As String * 2
UnusedPages As Integer
KeyBuf(0 To 1) As KeySpec
End Type
Type RecordBuffer
' here you should define the structure of the file that you are reading.. in this example i have 3 'fields, one is an id (int) description and another float type
'change this to your data structure
profID As Integer
profDesc As String * 28
profPrice As Double
End Type
Type VersionBuf
Major As Integer
Minor As Integer
Engine As String * 1
End Type
Type typ_PosBlk
f1(1 To 128) As Byte
End Type
' defining variables with the types we created
Global FileBuf As FileSpec
Global DataBuf As RecordBuffer
Global StatFileBuffer As StatFileSpecs
Global BufLen As Long
Global DBLen As Integer
Rem*******Added to Open multiple files
Public iMaxRuns As Integer
Public bFilesCreated As Boolean
Sub PrintLB(Item As String)
' function for printing data on screen
Dim fTxtFileName As String
BtrFrm32.List1.AddItem Item
Rem Added to write info to file
fTxtFileName = App.Path & "\" & App.EXEName & ".log"
Open fTxtFileName For Append As #1
Print #1, Item Close #1
Rem *************
End Sub
sub readDate()
PrintLB ("Btrieve Sample Test Started")
PrintLB ("")
Rem Local variables needed for conversion from byte to long.
Dim loc_RecTot As Long
Dim h_field1 As String
Dim h_field2 As String
Dim h_field3 As String
Dim h_field4 As String
Dim h_total As String
'Rem **************************
FileName$ = "XFACE.BTR"
PosBlk$ = Space$(128)KeyBuffer$ = Space$(KEY_BUF_LEN)
RemRem ***************** Btrieve Create *********************Rem
Rem ************* SET UP FILE SPECS
FileBuf.RecLen = 34
FileBuf.PageSize = 1024
FileBuf.IndxCnt = 2
FileBuf.FileFlags = 0
''Rem ************* SET UP KEY SPECS
FileBuf.KeyBuf(0).KeyPos = 1
FileBuf.KeyBuf(0).KeyLen = 8
FileBuf.KeyBuf(0).KeyFlags = EXTTYPE + MODIFIABLE
FileBuf.KeyBuf(0).KeyType = Chr$(BFLOAT)
FileBuf.KeyBuf(1).KeyPos = 9
FileBuf.KeyBuf(1).KeyLen = 26
FileBuf.KeyBuf(1).KeyFlags = EXTTYPE + MODIFIABLE + DUP
FileBuf.KeyBuf(1).KeyType = Chr$(BSTRING)
'Open File
KeyBufLen = KEY_BUF_LEN
KeyBuffer$ = txtFileName.txt
BufLen = Len(DataBuf)KeyNum = 0
Status = BTRCALL(BOPEN, PosBlk$, DataBuf, BufLen, ByVal KeyBuffer$, KeyBufLen, KeyNum)
If Status <> 0 Then
Msg$ = "Error Opening file! " + Str$(Status)
PrintLB (Msg$)
GoTo Fini
Else
Msg$ = "File Opened Successfully!" PrintLB (Msg$)
End If
BufLen = Len(DataBuf)
KeyBuffer$ = Space$(255)
KeyBufLen = KEY_BUF_LEN
'Status = BTRCALL(BGETFIRST, PosBlk$, DataBuf, BufLen, ByVal KeyBuffer$, KeyBufLen, 0)
If Status <> 0 Then
Msg$ = "Error on BGETFIRST. " + Str$(Status)
PrintLB (Msg$)
Else
Msg$ = "BGETFIRST okay for : " + DataBuf.profDesc PrintLB (Msg$)
End If
'Get Next Record
BufLen = Len(DataBuf)KeyBuffer$ = Space$(KEY_BUF_LEN)
KeyBufLen = KEY_BUF_LEN
Status = BTRCALL(BGETNEXT, PosBlk$, DataBuf, BufLen, ByVal KeyBuffer$, KeyBufLen, 0)
If Status <> 0 Then
Msg$ = "Error on BGETNEXT. " + Str$(Status)
PrintLB (Msg$)
Else
Msg$ = "BGETFIRST okay for : " + DataBuf.profDesc
PrintLB (Msg$)
End If
end sub
Posted by
RamiX
at
1:52 PM
0
comments
Labels: btrieve, database, db connection, pervasive, source codes, sql
Thursday, November 23, 2006
Using Notify Icon Object
notifyIcon1.Icon = new System.Drawing.Icon(@"c:\1.ico");
notifyIcon1.Visible = true;
notifyIcon1.Text = "Test Notify Icon Demo";
notifyIcon1.BalloonTipTitle = "ByRamiX Product";
notifyIcon1.BalloonTipText = "This Product was programmed ByRamiX";
notifyIcon1.ShowBalloonTip(5000);
Posted by
RamiX
at
10:29 AM
0
comments
Labels: .net, c#, source codes, windows programming
