Re: top, systat and hw.cpuspeed

2011-03-24 Thread David Vasek

On Wed, 23 Mar 2011, Amit Kulkarni wrote:


Never know what they can do. But the current max is 6 GHz by IBM for
any core, right? :)


That case was the source of my doubts if 9.9 GHz is enough for 
everybody.



The majority of current hardware do per core frequency scaling (or
bursting), but hw.cpuspeed is reporting the BIOS CPU speed
(considering over and under clocking) for each core before the scaling
happens, right?


The opposite is true, it reports the current clock speed and therefore my

patch suggestion. Otherwise you, Toby and others are right about new 
individually clocked cores, but the change should go much deeper to the 
OS, involving kernel and respective part of sysctl interface in the first 
place.


So going forward with such complicated CPU designs, top will lie or be 
misleading. What about 64+ cores (OpenBSD supports 64 cores!) and many 
of them idle with low frequencies? How do you display them?


Regards,
David



Re: top, systat and hw.cpuspeed

2011-03-24 Thread Stuart Henderson
On 2011/03/24 11:17, David Vasek wrote:
 
 load averages:  1.93,  1.49,  1.35 /0 MHz 
 kaffir.spa
 41 processes:  1 running, 39 idle, 1 on processor
 CPU states: 98.2% user,  0.0% nice,  1.8% system,  0.0% interrupt,  0.0% idle
 Memory: Real: 147M/196M act/tot  Free: 49M  Swap: 12M/600M used/tot
 
 I had a simple check for greater-than-zero cpuspeed in the patch
 initially (and don't print anything otherwise), but I was not really
 sure if that could happen at all and on what archs. It definitly
 should be there. What architecture and CPU is this from? Btw, if
 there are any totally misleading values, shouldn't that be corrected
 by the kernel in the first place? But if the kernel doesn't know any
 better, I think zero from sysctl is ok. Just my opinion.

This is on armish, but there will be others. The sysctl returns
EOPNOTSUPP so it's hitting si-cpuspeed = 0;.

 If you run some automated clock control (like apmd -C), you never
 know to what clock the cpu-time statistics in top(1) and systat(1)
 are related to.

You still don't exactly, as top(1)'s cpu-time statistics are over
an interval, whereas hw.cpuspeed is instantaneous.  I do think it may
be useful to display this information somewhere, but I'm not convinced
that top(1) is the right place.

 Anyway, HW_CPUSPEED is of type int, same as is HW_SETPERF. Not int[],
 only int. How could the individual cores be reported and controlled?

Obviously they can't at present, the kernel would need to be
extended. But if you're considering how the display might look with
a hypothetical 10GHz processor, why wouldn't you want to think about
how things could work with current cpu features?



Notebooks Celulares Computadoras Marzo 2011

2011-03-24 Thread Rodrigo Ferreri
(*)Bases y Condiciones.
Oferta valida unicamente para nuestros clientes compradores de equipos   
Notebooks y Desktop durante el periodo del 01/03/11 al 30/04/11.
Servicio brindado en forma gratuita hasta el 30 de Abril del 2011 con   una 
duracion de 20 minutos por cada sesion de asistencia remota en los   dias y 
horarios convenidos de lunes a vienes de 10Hs a 18Hs.  

img src=file:///C|/Documents and 
Settings/user/Escritorio/distribuidores/TECHTURN.COM_files/open.htm width=1 
height=1



Re: top, systat and hw.cpuspeed

2011-03-24 Thread David Vasek

On Thu, 24 Mar 2011, Stuart Henderson wrote:


If you run some automated clock control (like apmd -C), you never
know to what clock the cpu-time statistics in top(1) and systat(1)
are related to.


You still don't exactly, as top(1)'s cpu-time statistics are over
an interval, whereas hw.cpuspeed is instantaneous.  I do think it may
be useful to display this information somewhere, but I'm not convinced
that top(1) is the right place.


I am fully aware that it is not always completly exact, and but on the 
other hand the CPU clock rate doesn't change immediately, it takes at least
5 seconds to drop/rise after the CPU load changes. At least on my Pentium-M 
based Thinkpad, where I run apmd -C. Much better displaying this than 
nothing, I believe.


I added it to top(1) (and would like to add it to systat(1) too), so as to 
be able to read the other performance statistics (approximately) right, 
without the need to switch to other virtual console/window/terminal every 
a few seconds for other utility, like apm(1) in a loop.



Anyway, HW_CPUSPEED is of type int, same as is HW_SETPERF. Not int[],
only int. How could the individual cores be reported and controlled?


Obviously they can't at present, the kernel would need to be
extended. But if you're considering how the display might look with
a hypothetical 10GHz processor, why wouldn't you want to think about
how things could work with current cpu features?


As I said, I was not aware of this trait of the new i-series Intel CPU's 
and others. At least, the patch will work well and be useful on all 
hardware except the latest, for which the kernel is not yet extended 
anyway.


Below, there is the fixed and slightly improved version of the patch, if
somebody thinks it is still useful. But from point of view of our
discussion above, it remains the same, of course.

Regards,
David


Index: src/usr.bin/top/display.c
===
RCS file: /cvs/src/usr.bin/top/display.c,v
retrieving revision 1.40
diff -u -p -u -r1.40 display.c
--- src/usr.bin/top/display.c   23 Apr 2010 09:26:13 -  1.40
+++ src/usr.bin/top/display.c   24 Mar 2011 12:17:57 -
@@ -205,7 +205,7 @@ display_init(struct statics * statics)
 }

 void
-i_loadave(pid_t mpid, double *avenrun)
+i_loadave(pid_t mpid, double *avenrun, int cpuspeed)
 {
if (screen_length  1 || !smart_terminal) {
int i;
@@ -220,6 +220,9 @@ i_loadave(pid_t mpid, double *avenrun)

for (i = 0; i  3; i++)
printwp(%c %5.2f, i == 0 ? ':' : ',', avenrun[i]);
+
+   if (cpuspeed != 0)
+   printwp( / %4d MHz, cpuspeed);
}
 }

@@ -238,16 +241,25 @@ void
 i_timeofday(time_t * tod)
 {
static char buf[30];
+   int bufspace;

if (buf[0] == '\0')
gethostname(buf, sizeof(buf));

if (screen_length  1 || !smart_terminal) {
if (smart_terminal) {
-   move(0, screen_width - 8 - strlen(buf) - 1);
+   /* Load averages and space fill up 35 chars,
+* cpu speed and space fill up 11 chars,
+* space and clock fill up 9 chars.
+*/
+   bufspace = screen_width - 35 - 11 - 9;
+   if (bufspace  0)
+   bufspace = 0;
+   move(0, screen_width - 8 - bufspace - 1);
} else {
if (fputs(, stdout) == EOF)
exit(1);
+   bufspace = 24;
}
 #ifdef DEBUG
{
@@ -256,7 +268,7 @@ i_timeofday(time_t * tod)
addstrp(foo);
}
 #endif
-   printwp(%s %-8.8s, buf, (ctime(tod)[11]));
+   printwp(%*.*s %-8.8s, bufspace, bufspace, buf, 
(ctime(tod)[11]));
putn();
}
 }
Index: src/usr.bin/top/display.h
===
RCS file: /cvs/src/usr.bin/top/display.h,v
retrieving revision 1.11
diff -u -p -u -r1.11 display.h
--- src/usr.bin/top/display.h   22 Nov 2007 11:01:04 -  1.11
+++ src/usr.bin/top/display.h   24 Mar 2011 12:17:57 -
@@ -35,7 +35,7 @@

 /* prototypes */
 int display_resize(void);
-void i_loadave(int, double *);
+void i_loadave(int, double *, int);
 void u_loadave(int, double *);
 void i_timeofday(time_t *);
 void i_procstates(int, int *);
Index: src/usr.bin/top/machine.c
===
RCS file: /cvs/src/usr.bin/top/machine.c,v
retrieving revision 1.67
diff -u -p -u -r1.67 machine.c
--- src/usr.bin/top/machine.c   26 Apr 2010 00:30:58 -  1.67
+++ src/usr.bin/top/machine.c   24 Mar 2011 12:17:58 -
@@ -204,6 +204,8 @@ format_header(char *uname_field)
 void
 get_system_info(struct system_info *si)
 {
+   static int 

Re: ksh completion

2011-03-24 Thread Alexander Polakov
* Alexander Polakov polac...@gmail.com [110315 23:26]:
 * Federico G. Schwindt fg...@lodoss.net [110315 17:38]:
   I think I'm slightly confused as to you'd like fixed - do you mean that
   one shouldn't need to escape a '[' if it's the first character? (note
   that /bin/[ exists).  Else, can you clarify a bit more?  Thanks!
  
correct, shouldn't need to escape a '[' if it's teh first character.
i do know of [, but command and file completion are two different things. 
   see
  bash too.
 
 I don't want to be defensive, but hey, how is bash relevant? [ is treated as
 a globbing character, you know. Is it first character or not, ksh doesn't 
 care,
 it just tries to expand it.
 
 Oh well, you can try expanding it and then - if it failed - escape it and
 try again, like in the patch below. Bear in mind I didn't give it much 
 thought, because I have a feeling it's not a good idea.

And just for the archives, a patch that really works as advertised
(and using it for some time I feel like it *is* a good idea).

Index: bin/ksh/edit.c
===
RCS file: /cvs/src/bin/ksh/edit.c,v
retrieving revision 1.34
diff -u -r1.34 edit.c
--- bin/ksh/edit.c  20 May 2010 01:13:07 -  1.34
+++ bin/ksh/edit.c  21 Mar 2011 13:38:04 -
@@ -18,13 +18,14 @@
 #include libgen.h
 #include sys/stat.h
 
+#define ESCAPEDCHARS \#$'()*;=?[\\`{|}
 
 static void x_sigwinch(int);
 static volatile sig_atomic_t got_sigwinch;
 static void check_sigwinch(void);
 
-static int x_file_glob(int, const char *, int, char ***);
-static int x_command_glob(int, const char *, int, char ***);
+static int x_file_glob(int, const char *, int, char ***, int);
+static int x_command_glob(int, const char *, int, char ***, int);
 static int x_locate_word(const char *, int, int, int *, int *);
 
 
@@ -344,10 +345,11 @@
  * - returns number of matching strings
  */
 static int
-x_file_glob(int flags, const char *str, int slen, char ***wordsp)
+x_file_glob(int flags, const char *str, int slen, char ***wordsp, int 
canrecurse)
 {
char *toglob;
char **words;
+   char *estr;
int nwords, i, idx, escaping;
XPtrV w;
struct source *s, *sold;
@@ -365,6 +367,11 @@
continue;
}
 
+   /* specially escape escaped [ or $ or ` for globbing */
+   if (escaping  (toglob[i] == '[' ||
+   toglob[i] == '$' || toglob[i] == '`'))
+   toglob[idx++] = QCHAR;
+
toglob[idx] = toglob[i];
idx++;
if (escaping) escaping = 0;
@@ -378,7 +385,7 @@
s = pushs(SWSTR, ATEMP);
s-start = s-str = toglob;
source = s;
-   if (yylex(ONEWORD) != LWORD) {
+   if (yylex(ONEWORD|LQCHAR) != LWORD) {
source = sold;
internal_errorf(0, fileglob: substitute error);
return 0;
@@ -411,6 +418,21 @@
}
afree(toglob, ATEMP);
 
+   /* Globbing failed, do escaping and try again. */
+   if (!nwords  !words  canrecurse) {
+   estr = alloc(2 * slen + 1, ATEMP);
+   idx = 0;
+   for(i = 0; i  slen; i++) {
+   if (strchr(ESCAPEDCHARS, str[i]))
+   estr[idx++] = '\\';
+   estr[idx++] = str[i];
+   }
+   estr[idx] = '\0';
+   nwords = x_file_glob(flags, estr, idx, wordsp, !canrecurse);
+   afree(estr, ATEMP);
+   return nwords;
+   }
+
if (nwords) {
*wordsp = words;
} else if (words) {
@@ -443,7 +465,7 @@
 }
 
 static int
-x_command_glob(int flags, const char *str, int slen, char ***wordsp)
+x_command_glob(int flags, const char *str, int slen, char ***wordsp, int 
canrecurse)
 {
char *toglob;
char *pat;
@@ -607,7 +629,7 @@
return 0;
 
nwords = (is_command ? x_command_glob : x_file_glob)(flags,
-   buf + *startp, len, words);
+   buf + *startp, len, words, 1);
if (nwords == 0) {
*wordsp = (char **) 0;
return 0;
@@ -821,7 +843,7 @@
int rval = 0;
 
for (add = 0, wlen = len; wlen - add  0; add++) {
-   if (strchr(\#$'()*;=?[\\]`{|}, s[add]) ||
+   if (strchr(ESCAPEDCHARS, s[add]) ||
strchr(ifs, s[add])) {
if (putbuf_func(s, add) != 0) {
rval = -1;
Index: bin/ksh/lex.c
===
RCS file: /cvs/src/bin/ksh/lex.c,v
retrieving revision 1.45
diff -u -r1.45 lex.c
--- bin/ksh/lex.c   9 Mar 2011 09:30:39 -   1.45
+++ bin/ksh/lex.c   21 Mar 2011 13:38:04 -
@@ -411,6 +411,13 @@
}
}
 

Guida Salute 2011 di Sanitaliaweb

2011-03-24 Thread RB COMUNICAZIONI
[IMAGE]

Alla cortese attenzione della Direzione Commerciale

Oggetto: Proposta d’inserimento Banner pubblicitari sul news portal
www.sanitaliaweb.it e relativi pubbliredazionali compreso l’inserimento
di comunicati stampa, informazioni di servizio e istituzionali della
Struttura Sanitaria da Voi guidata.

Gentile Dottore,

Ci pregiamo rendervi noto di questa nostra iniziativa editoriale
riservata ad Aziende Sanitarie, Medici Specialisti, Operatori della
Salute e Benessere, Strutture Cliniche e Sanitarie.

Nei Banner che saremo lieti di riservarvi, potrete diffondere a circa
3.000 lettori /9000 articoli letti giornalieri (fonte google analytics) i
principali aspetti dell’attivit` svolta dalla vostra Azienda Sanitaria.

www.sanitaliaweb.it h un Giornale On Line dedicato interamente al mondo
della Sanit`. Punto di riferimento rigoroso e credibile per l’incontro e
lo scambio di esperienze fra tutti gli operatori e i fruitori del
servizio sanitario pubblico e privato.

OFFERTA
a) Pubblicazione annuale di comunicati €. 300,00 iva esclusa
La tariffa comprende la possibilit` di inserimento di fotografie e altro
materiale oltre il testo fornito, fino ad un massimo di un comunicato o
un redazionale (firmato) al giorno(anche festivi), per tutta la durata
dell’anno contrattuale.

b) Banner pubblicitario annuale LATERALE 200x200 px €. 600,00 i.e.

c) Banner pubblicitario annuale HEADER 644x100 px €. 3.600,00 i.e.

d) Banner pubblicitario annuale SUPER HEADER 1200x75 px €. 7.200,00 i.e.

Se la proposta h di vostro interesse, ci potete contattare ai numeri
telefonici che sono a pih di pagina, oppure indicarci, un vostro
responsabile cui rivolgerci.

Nel ringraziarvi per l'attenzione prestataci e nell’attesa di un vostro
gradito riscontro vi porgiamo i nostri piy cordiali saluti.

[IMAGE]

Raffaele Balletta



R.B. Comunicazioni scarl
Via Picazio, 1 - 81100 CASERTA
Tel. 0823 1700340 - Fax 0823 1761335
Cell. 329 74 43 393 -
i...@rbcom.it | rb...@pec.it



Re: top, systat and hw.cpuspeed

2011-03-24 Thread Kevin Chadwick
On Thu, 24 Mar 2011 13:23:08 +0100 (CET)
David Vasek wrote:

 I am fully aware that it is not always completly exact, and but on the 
 other hand the CPU clock rate doesn't change immediately, it takes at least
 5 seconds to drop/rise after the CPU load changes. At least on my Pentium-M 
 based Thinkpad, where I run apmd -C. 
I've seen an intel tool just for this job showing the cpu scaled up for
a second at a time.

Much better displaying this than nothing, I believe.

Sustained is certainly more important to a process monitor normal usage,
when batteries don't matter.



Re: ksh completion

2011-03-24 Thread LEVAI Daniel
On Thu, Mar 24, 2011 at 15:48:56 +0300, Alexander Polakov wrote:
 And just for the archives, a patch that really works as advertised
 (and using it for some time I feel like it *is* a good idea).

It is really working well. Thanks!
However, I don't quite understand why '[' needs to be escaped during
completion:

$ ls -la [\ ]\ [\ ]\ []\ ][
$ ls -la \[\ ]\ \[\ ]\ \[]\ ]\[

these two produce the same result:
-rw-r--r--  1 daniell  daniell  0 Mar 24 15:38:38 2011 [ ] [ ] [] ][


Daniel

-- 
LIVAI Daniel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F



Re: top, systat and hw.cpuspeed

2011-03-24 Thread David Vasek

On Wed, 23 Mar 2011, Kevin Chadwick wrote:


On Thu, 24 Mar 2011 13:23:08 +0100 (CET)
David Vasek wrote:


I am fully aware that it is not always completly exact, and but on the
other hand the CPU clock rate doesn't change immediately, it takes at least
5 seconds to drop/rise after the CPU load changes. At least on my Pentium-M
based Thinkpad, where I run apmd -C.

I've seen an intel tool just for this job showing the cpu scaled up for
a second at a time.


But do we have any method to get some averaged CPU frequency for the 
past interval? We don't have any. When I take in account that some other 
values in top(1) are not averaged either, but they are what they are at 
the moment of sampling, I think that current hw.cpuspeed is not that 
bad. But one must remember what it actually displays, after having read 
the man page carefully.


Regards,
David



Re: ksh completion

2011-03-24 Thread Janjaap van Velthooven
On Thu, Mar 24, 2011 at 03:40:56PM +0100, LEVAI Daniel wrote:
 On Thu, Mar 24, 2011 at 15:48:56 +0300, Alexander Polakov wrote:
  And just for the archives, a patch that really works as advertised
  (and using it for some time I feel like it *is* a good idea).
 
 It is really working well. Thanks!
 However, I don't quite understand why '[' needs to be escaped during
 completion:
 
 $ ls -la [\ ]\ [\ ]\ []\ ][
 $ ls -la \[\ ]\ \[\ ]\ \[]\ ]\[
 
 these two produce the same result:
 -rw-r--r--  1 daniell  daniell  0 Mar 24 15:38:38 2011 [ ] [ ] [] ][

for the following for example:

$ touch adef '[abc]def'
$ ls [abc]def
adef
$ ls \[abc]def
[abc]def
$

 Daniel

Janjaap van Velthooven
--  
   / __/ /_/ __/ /_  __/ __/ /___  / 
  / /_  __/___/_/_  /___  / / __/ /___  / /  janj...@stack.nl
 /___/_/_/_/_/_/_/___/_/_/



Re: ksh completion

2011-03-24 Thread LEVAI Daniel
On Thu, Mar 24, 2011 at 16:30:12 +0100, Janjaap van Velthooven wrote:
 On Thu, Mar 24, 2011 at 03:40:56PM +0100, LEVAI Daniel wrote:
  On Thu, Mar 24, 2011 at 15:48:56 +0300, Alexander Polakov wrote:
   And just for the archives, a patch that really works as advertised
   (and using it for some time I feel like it *is* a good idea).
  
  It is really working well. Thanks!
  However, I don't quite understand why '[' needs to be escaped during
  completion:
  
  $ ls -la [\ ]\ [\ ]\ []\ ][
  $ ls -la \[\ ]\ \[\ ]\ \[]\ ]\[
  
  these two produce the same result:
  -rw-r--r--  1 daniell  daniell  0 Mar 24 15:38:38 2011 [ ] [ ] [] ][
 
 for the following for example:
 
 $ touch adef '[abc]def'
 $ ls [abc]def
 adef
 $ ls \[abc]def
 [abc]def
 $
Oh, how marvelous! Thanks!


Daniel

-- 
LIVAI Daniel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F



Još samo 7 dana za prolećno spremanje uz poklon

2011-03-24 Thread Top Shop
ProleDe je stiglo... vreme je za spremanje!

Kliknite ovde i odaberite najbolje proizvode koji De Vam skratiti vreme
i napor prilikom spremanja i to uz:

popuste i POKLON i uz svaku porudEbinu!

Ne gubite vreme ova ponuda vaEi još samo 7 dana do petka, 1.4.2011!

Kliknite i poruD
ite odmah!

Ovu elektronsku poštu primate, ukoliko ste svojevoljno ostavili svoju
e-mail adresu na nekom od sajtova Top Shop-a, uD
estvovali u našoj poklon
igri ili nagradnom kvizu ili se prijavili za e-D
asopis Top Shop-a ili
nekog od nasih brendova.

Ponude date u ovom e-mailu vaEe iskljuD
ivo za porudEbine upuDene
putem Interneta ili broja telefona 021 489 26 60.

Ukoliko ne Eelite više da primate naše elektronske poruke, za
odjavljivanje sa naše e-mailing liste, kliknite ovde.

Studio Moderna d.o.o., Bulevar vojvode Stepe 30, 21000 Novi Sad, Tel: 021
489 26 60, Fax: 021 489 29 08,
E-mail: i...@news.top-shop.rs

[IMAGE]If you would no longer like to receive our emails please
unsubscribe by clicking here.



Solucoes para todos os gostos e bolsos você encontra na Galdino WS

2011-03-24 Thread Cleber Galdino
Seu cliente de e-mail nC#o pode ler este e-mail.
Para visualizC!-lo on-line, por favor, clique aqui:
http://newsletter.soemail.com.br/display.php?M=513443C=5520682b1b41d095c8e35e701f60f089S=31L=15N=6

Ola 
Meu nome C) Cleber Galdino e foi utilizando deste meio para informar-te
dos nossos serviC'os.
Antes de apagar peC'o que leia e veja quantas oportunidades podemos
oferecer a vocC*. 
msn:s...@galdino.ws 24horas online. de segunda a segunda.

---

Plano Sossegado
Criado para futuros empreendedores, lhe oferecemos um site (loja, portal,
guia comercial, classificado etc), espaC'o e trafego ilimitado, suporte e
manutenC'C#o tC)cnica, ou seja vocC* nC#o se preocupa com nada.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=6F=T
---

Hospedagem de Sites
Qualidade, estabilidade, seguranC'a, servidores super rC!pidos, links de
1Gbps, planos a partir de 10,00
http://newsletter.soemail.com.br/link.php?M=513443N=31L=5F=T
---

Revenda de Hospedagem de Site
VocC* mesmo administra e cobra o valor que deseja, monta planos, seja
vocC* dono de uma empresa de hospedagem de sites.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=7F=T
---

Registro de DomC-nios
Autonomia total na administraC'C#o do domC-nio, suporte a proteC'C#o de
Who is(dados pC:blicos do dono do domC-nio).
http://newsletter.soemail.com.br/link.php?M=513443N=31L=8F=T
---

WebRadio - Streaming de auto
Tenha vocC* tambC)m uma radio em seu site onde pode transmitir carregando
uma lista de musicas ou ao vivo em tempo real.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=9F=T
---

Servidores Virtuais (VPS)
Precisa de uma arquitetura de acesso root com baixo custo, esse serviC'o
C) o que precisa...
http://newsletter.soemail.com.br/link.php?M=513443N=31L=10F=T
---

Servidores Dedicados
DisponC-veis para Cliente que procuram um serviC'o C:nico e restrito para
suas aplicaC'C5es, loque uma maquina sC3 para vocC*.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=11F=T
---

Campanha de envio de Email
VocC* tem um produto ou empresa e gostaria de fazer uma campanha de email
e sua regiC#o? Veja mais...
http://newsletter.soemail.com.br/link.php?M=513443N=31L=12F=T
---

E-News - envio por crC)ditos
Um software para envio de email, com controle estatC-stico completo e
simples manipulaC'C#o, coloque um campo de newsletter em seu site.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=13F=T
---

LocaC'C#o de SMTP
Gostaria de disparar grandes quantidades de envio de email? loque um
servidor de envio de email e envie toneladas de emails pela rede.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=3F=T
---

OtimizaC'C#o de CC3digo para indexaC'C#o em Buscadores
Seu site ainda nC#o estC! sendo listado nos sites de busca? VocC* ta sendo
listado mais gostaria de aparecer mais prC3ximo do primeiro lugar? Esse C)
o serviC'o que vocC* procura.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=4F=T
---

Cadastro de sites em buscadores
VocC* tem a responsabilidade de facilitar o encontro de seu site na
internet e esse serviC'o o faz, cadastrando vocC* em milhares de sites...
http://newsletter.soemail.com.br/link.php?M=513443N=31L=14F=T
---

Marketing Viral
FaC'a parte dessa nova realidade, acessamos e publicamos seu link em
fC3runs, comunidades e grupos que tem algo em comum com sua empresa, marca
ou 
produto.
http://newsletter.soemail.com.br/link.php?M=513443N=31L=15F=T
---

Web Design - CriaC'C#o de sites
Para aquele que busca um site, elaborado da forma que deseja, nos manda os
requisito e criamos esboC'o, um site e um layout C:nico e elaborado de
forma diferenciada
http://newsletter.soemail.com.br/link.php?M=513443N=31L=16F=T
---

Comercio EletrC4nico - Loja Virtual
VocC* tem uma loja fC-sica e gostaria de ter uma virtual? VocC* nC#o tem
nem empresa nem loja e gostaria de vender na internet? Esse serviC'o lhe
oferecer