2011
11.11

My home server, had been having some disk problems, it suddenly didn’t boot up, two of the disks didn’t show up on windows explorer ( yes I used Windows Server 2008 on my home server ).

First stop was to replace the malfunctioning disk, and start using Raid 1 on the OS disk and project files.

So I bought a 2TB Western Digital Disk, and 2 500GB disks to use in Raid 1 ( a Seagate and an Western Digital ), for the OS, project files and mp3 files, yes you’ve read right mp3 files, I for instance can only work when listening to music, so when my disk with all my mp3 failed on me, I had no music to listen and had to recur to youtube and etc. That’s not for me..

And I also bought two APC Back-UPS ES 700VA UPS’s to keep the server and desktop always powered on, and also a Raid 1 Card, a Delock 70154 based on Sil3114 chipset. Since my motherboard has no support for it.

Then came the choice of operating system for the server, I was thinking of keeping Windows Server 2008, I even tried to get a legal copy of Windows Server 2008 R2, but couldn’t find one for free ( trough MSDNAA for instance ), and since a friend of mine was bugging me to install Ubuntu Server for the last year almost every day, I went for it.

First Step was to backup every single piece of data from the old disks, I had around 2TB of data on the several disks, most of it was downloaded TV Series in HD, I even managed to connect the failing disk and save some data from it. The copying of data took a long time, mainly because the cable that connects from the server to the Cable Modem is not capable of Gigabit, one day was spent copying all the data to the desktop.

Second day, start installing the Ubuntu Server on the Fake Raid 1 array, this went really bad, really really bad..

Since I was new to Ubuntu, I didn’t understood why the Raid 1 array wasn’t detected on the installer, but when I configured an Raid 0 array, it was detected flawlessly. I spent to days on this, mainly because I really didn’t know anything about Ubuntu.

Until finally I came up with a solution, based on a very know portuguese quality called “desenrascanço“, it’s a lot like a MacGyver solution, it’s the uncanny ability passed down through the generations to solve any problem with merely a penny and a string. In this the penny and string weren’t used, but you get the point. I will explain how I solved the problem in another post.

One week as passed since I started to try to install the server, and was stopped by this stupid problem.

Afterwords I installed the LAMP stack and samba, samba was easy to setup, read a tutorial here and there and problem solved, the LAMP stack was easy to install but difficult to configure, at least with the right permissions, there was a point, that I didn’t have permissions to change a file created by PHP ( user www-data ) trough windows explorer. But after a nice tutorial I managed to figure it out. It will be explained in detail what I had to do to make it work flawlessly, and transmission also had the same problem.

After almost a month I have the server almost completely functional, the only thing that is missing is the support for the UPS, that should be coming sooner or later, when I have the time to take care of it.

2011
10.07

At my current job, we are looking for a junior developer, so two weeks ago we interviewed a not so junior developer.

So he is a self taught programmer , that has taken a course on web programming, and has 5 years of experience in developing websites in PHP.

We start the interview, we introduce the company, talk about our latest projects, he show’s us the last projects we made, and after my boss stop’s talking, I go for the technical interview..

I start with the obvious, how many experience you have, why did you develop your own CMS for this specific project… those kind of questions to get a generic feeling about the person in front of you..

Then I jump to the questions, that if you don’t answer correctly your done…

Me: “How do you manage your connections to the database? Do you use an ORM, a class?”

Him: “I use a class, but don’t know what an ORM is..”

Ok.. that’s not awfully bad.. but could be better..

Me: “What about design patterns? Do you know them? Use them?”

Him: “I’m actually more focused on programming than web design…”

Ouch, it’s a no go for this one.. your done…

Me: “What about the First normal form, second and third? Have you heard of them?”

Him: “No, I haven’t heard of that…”

Damn, this guy doesn’t know anything about anything..

Final question: “What about source control,  do you use it? Know what it is?”

Him: “No…”

And that’s that.. this is a guy who is programming for 5 years! He didn’t start yesterday.. he started 5 years ago, now how is it possible for a programmer with 5 years of experience, and doesn’t even know the basics??

How is this possible? I don’t know everything, I don’t know the normal forms from the top of my head, but I’ve used them plenty of times.. I don’t know all the design patterns, but I use them, and read on them… how can a programmer be like this?

It was 45 minutes of my life completely wasted on this interview..

2011
04.11

SQL Poetry

The other day, my boss sends me a couple of .xlsx files, and says, you’ve got to import this data to the database of this site..

This should be pretty easy I thought… were in Portugal we have a say, that goes something like this, “A donkey died from thinking” ( this translation is awful, but I hope you get the point ).

I get the files from the server, dump the database to the local development server, change the configuration, and try to run the site..

Guess what, the site is using the Macromedia/Adobe KT library’s, which doesn’t work in the current version of PHP and Apache.. awesome! I managed to run the backoffice, I hacked and hacked away, and at least it’s working..

Time to study the database, fire up MySQL Workbench, to a Reverse Engineer on the database, and my jaw hits the floor:

All Tables

Not even one relation is established between the 98 tables!!!

But wait, it get’s better..after the initial shock, and after half a pack of cigarettes, I start to separate the tables into logical unit’s, trying to understand the great scheme of things:

Logic Group1

The big table on the left, is the main table, the 4 smaller ones, right next to it, are 4 relationships, and the other two, are 2 secondary tables:

If you are looking with sufficient attention you are going to notice 2 big errors:

Main Table

First there is no primary key on this table, so guess what, every query made to this table is going to result on a full table scan, now how awesome is that?

Second, the column that is supposed to be the primary key is a VARCHAR(255), which is a value inserted by the user, so this means that we have a lot of cool things on that column, like: ’123123′ or ’12319_123′ or ’1231231 423′, I’m surprised there isn’t more garbage on that column, but maybe the system was just lucky..

After another half pack of cigarettes I’m ready to grab the bull by the horns, and start dealing with all the relations between the various table.. if you kept paying attention, you noticed something very wrong with the pictures I posted above:

Relations

The red ellipses are the connections between the various tables, look how cool, the main table as the column defined as a VARCHAR(255), but some of the relation tables have that column defined as a INT(11), my eyes turned, and rolled, and I was just a little step from throwing my computer out of the window…

Went downstairs, and pushed another pack of cigarettes down my throat to calm the nerves down, and trying not to present my resignation letter to my boss.

I don’t even have anything else to say… what can I say when I’m presented with this?

How is this level of imcompetence possible?

PS: I’m sure that I’m going to find more of this things in the future.. the only thing I don’t know, if I’m going to survive this kind of things..

2011
02.07

Não poderia perder esta oportunidade nem por nada..

Ora aqui está o que pedem:

Agência DMM
Oferta de Estágio Profissional Remunerado

Web Designer M/F

Requisitos elementares
Elegibilidade para estágio profissional IEFP (Factor eliminatório) – Só se aceitam candidaturas para a categoria de WEB Design
Formação académica superior;
Capacidade criativa;
Espirito de equipa;
Disponibilidade imediata;
Pontualidade;

Requisitos pretendidos
Conhecimento avançado em: Photoshop; Ilustrator; Premiere; Flash; Indesign; Dreamweaver; Sound Booth; Audacity; 3D Studio Max; Eclipse;
Linguagem: Actionscript; Perl; Python; Ajax; HTML; HTML5; PHP; Java; Javascript; Asp; Ruby; Postscript; C sharp; Css;
Base dados: MySql
Plataformas: Joomla.
Sistemas operativos: Windows; Mac Os; Linux;

Condições salariais:
Condições previstas para estágio profissional nível IV e nível V pelo IEFP.

Empresa: Ataato – Agência DMM
Local: Estágio profissional para web designer
Tipo: Full-time; Estágio – Curricular; Estágio – Profissional;

Contacto: Contacto: Contacto: Os candidatos, deverão enviar as candidaturas para a direcção de RH, através do seguinte e-mail: rh@ataato.com

E esta foi a minha resposta:

Boa noite,

Vi agora o vosso anúncio no carga de trabalhos e estaria interessado em trabalhar com vocês:

Tenho 25 anos e acabei o ano passado ( 2010 ) o curso de Design no IADE, tendo terminado com média de 17 valores.

Tenho conhecimentos avançados em todas as ferramentas da Adobe, incluíndo as que vocês mencionam, Photshop, Illustrator ( no vosso anúncio estava mal escrito ), Premiere, Indesign, Dreamweaver, Fireworks, Contribute, After Effects, Soundbooth e Encore desde as versões CS2 até à actual CS5.

Tenho também conhecimentos avançados em software 3D no 3D Studio Max, Autocad e também em Microsoft trueSpace.

Falha o Audacity que nunca trabalhei com ele.. mas nada que não consiga dominar.

Em relação às linguagens de programação, não tenhos grandes problemas. Programo desde os 7 anos em Basic do Spectrum 48K..

ActionScript 2 a ActionScript 3, não têm segredos para mim, Ajax não é bem uma linguagem, e mais uma metodologia mas pronto, também não tenho problema nenhum em fazer aplicações Web user friendly em Ajax. HTML e HTML5 também não têm segredos para mim. Estou sempre em cima da última versão do draft do HTML5 para ver o que posso implementar a seguir.

Javascript, é com o sabor que quiserem, jQuery, Mootools, Prototype, ExtJs, Cappucino, Yahoo! UI Library e NodeJs, peço desculpa mas não conheço mais nenhuma.

Passando às linguagens mais a sério:

PHP, sem problemas, aliás tenho desenvolvido ínumeros sites usando PHP e é uma linguagem fácil de digerir.

Perl e Python, não tem qualquer problema também, em Perl tenho desenvolvido alguns scrappers, e em Python alguns sites só pelo gozo..

Java não tem problemas absolutamente nenhuns, seja versão Web, seja desenvolver em Swing ( ou outra qualquer plataforma UI para Java ).

Ruby ou ROR ( como eu gosto de lhe chamar ) também não oferece grande desafio.

Postscript, peço desculpa mas nunca trabalhei com esta.

Linguagens .Net, não tenho qualquer problema, já desenvolvi aplicações e sites em C#.Net, VB.Net, F#.Net, L# ( Lisp ), C++ e C. Tenho também conhecimentos de Assembly tanto 8086 como 8031. E também já programei micro controladores PIC.

CSS nem é preciso falar porque senão não conseguiria fazer maior parte dos sites que já desenvolvi.

Bases de Dados, já trabalhei com MySQL, Oracle, SQL Server ( versão 2005 a 2010 ) e Mongo DB, SQL Lite, em todas as vertentes desde programador até ao DBA que faz toda a gestão e optimização do SBGD ( Sistema de Gestão de Base de Dados ).

Software para programar, visto que vocês só fazem referência ao Dreamweaver e ao Eclipse, deixo aqui também a lista dos que já trabalhei..

Tenho experiência em Eclipse ( aliás já desenvolvi alguns plugins para este ), também tenho experiência em Netbeans e como é lógico em Visual Studio 2003 até ao 2011.

Sistemas operativos, desde o Windows 3.11 para Workgroup’s até ao Windows 7, tanto as versões 32-bit como 64-bit. Sistemas operativos Unix, CentOs, Ubuntu e Ubuntu Server, Fedora, com KDE e Gnome. E sou eu que compilo a minha versão do Ubuntu Server ( visto que acho que tem coisas a mais ).

Finalizando, sou um excelente trabalhador em equipa, sou pontual, e não tenho medo de fazer horas extraordinárias, e como podem ver sou bastante criativo apesar de ser um apenas um jovem…

Para terminar de vez, acham mesmo que tendo todas estas qualificações eu vou trabalhar para vocês a ganhar uns míseros 733,64€??????

Fico à espera que não me contactem..

Obrigado e cumprimentos,

Tio

PS: O vosso anúncio e esta resposta serão publicados em blog.

Espero sinceramente que eles tomem noção do ridículo que é fazer um anúncio destes…

Até faço um apelo, peguem nesta resposta, façam copy paste, e enviem para eles, para ver se eles percebem o quão ridículo isto é. Ou então inventem vocês uma resposta e enviem-na…

Um bem haja a todos…

PS: Fica aqui o link para o carga de trabalhos: http://www.cargadetrabalhos.net/2011/02/07/estagio-profissional-para-web-designer-3/

2011
01.22

… at least for me..

This is a list of the software I use daily to do my work the best way possible, I’m sure that some of you agree, and others do not.. this list is due to change eventually, but at this moment for me this is the best software help me do my work..

1 – Filezilla Client:

Filezilla

The best FTP client that I ever used, and the best of all is that it is completely free.

2 – Adobe Photoshop:

Adobe Photoshop Logo

How can one work on the area of web development and not use Photoshop?! This one is pretty obvious.

3 – Dreamweaver CS4:

Adobe Dreamweaver

I’m kind of letting go this one, I’m starting to use Netbeans for development, the HTML auto complete isn’t as good as Dreamweaver, but it completely kicks ass in PHP. ( Actually Dreamweaver CS5 is a little better on the PHP auto complete… but no quite there.. )

4 – Toad for MySQL:

Toad for MySQL

This is actually a tool that I started using for Oracle ( Toad for Oracle is the best ), and when I found out that they had a free version for MySQL, I downloaded it, and I haven’t been using anything else to do most of the tasks since that day.

6 – DBTools Manager:

Another manager for MySQL, I also really like this one, it’s pretty simple and light ( Toad is a little heavy ), and for remote access to databases I only use this one..

7 – Ultra Edit:

Ultra Edit

Perfect editor for the quick edit, I use it a lot, specially when I want to edit a file remotely, it integrates perfectly with Filezilla.. and doesn’t screw up the encoding of the pages.

8 – MySQL Workbench:

MySQL Workbench

I’ve been using this one for about 6 months ( or more ), it crashes like crazy, and has some annoying bugs, for example in one of the databases I renamed one of the columns of a table, and now every time I sync the model with the database, he drops that field, and recreates it.. can’t figure out why.. he’s just stubborn and buggy.. but it spares a lot of work.. which is always a good thing.

9 – Microsoft Outlook:

Microsoft Office Outlook 2007

How are you going to communicate with your clients if you don’t have an email client? Mine actually is quite complex right now, I have 6 email account’s, and they are all going to different mailboxes in Outlook, but still it’s a mess..

10 – Collabtive:

Collabtive

Project Management software, it’s a good and free web based project management software, the only problem is the updates which aren’t quite as frequent as I would like… and they don’t have a public writable repository, and that doesn’t help.

11 – Billy:

Billy - Sheep Friends

Yes, that’s the logo of Billy…

For me this is the most important one, a lightweight mp3 player, I have in the playlist 4376 files and it only occupies 2,8MB of memory. And with all these things open, memory is precious.. and as you can see even the logo is lightweight..

12 – Tortoise Hg, and Tortoise SVN:

Tortoise Hg

How can someone work without source control? I’ve got both of them installed, because I need to checkout the code from Collabtive..

13 – No-ip.com:

No-IP.com

Since I have a dynamic IP at home, and I need to have the sites available for the clients to see, I bought a domain at No-IP, and use their tool to let everyone access the sites I’m developing, this way, if I’m on the phone with a client, and can make a small change to the code, push the code to the repository, and the client only has do to a refresh on his browser..

14 – Wamp Server:

Wamp Server

How could I develop something if I don’t have a web server? My choice went to Wamp Server, I used to work with Easy PHP, but after I tried Wamp Server, I’ve never looked back.

15 – Browsers:

Browsers

And the most important software of the entire list, Firefox, Chrome, IE, Safari and Opera, I can’t say that I test everything single thing on them… I usually just have a quick look on Safari and Opera to see if there are no big error’s on the layout..

So there they are, the software that I use daily for my Web Development work, I couldn’t live without them..

2011
01.18

At my new job, the network architecture is something like this:

Old Network Architecture

Developer 1 as XAMPP Server installed ( Windows Vista ), and Developer 2 has MAMP Server installed ( Macbook Pro?! Or something like that.. )

All developers, work on their computer, and keep all the projects files on their computer only, no backups are made… no source control is used, so if for example their disks fail, all their work is going to be lost, mine isn’t because I’m backing up everything to my 2,5″ external hard disk..

The external hard disk, only has some files for the various projects, organized in a strange way, I can’t seem to figure why it’s organized like that, some things make sense.. but others, no sense at all… I had to correct a bug in a flash site, and it took me about 5 minutes to correct the bug, and 5 hours to publish the flash, libraries were missing, fonts where missing.. well everything was missing..

The remote webserver is our development server ( so to speak )…every time we have to show a almost finished site to a customer, we have to upload everything to a remote webserver, so the client can see it..

Last month I’ve been working on a new site for one of our costumers, the time comes to demo the site and the back office, so I upload everything to our testing server.. the client see’s it, and asks for a lot of modifications ( this is a story for another post ), most of these changes mess with the database, so I have to change the database two times, one on my local machine, to test, and then I’ve to upload everything to the server again.. which can cause serious bugs, because if I forget to update a field on one table, something is going to go very wrong..

So I proposed the following architecture ( if I can call it architecture ):

New network architecture

What we have here is pretty simple, the development server, is basically, a windows machine with XAMPP Server installed, we really should go for Ubuntu Server or something like that, but nobody ( including me ) knows a lot about Unix, so configuring one was going to take a lot of time…

It’s going to be accessible from the outside of the network, that means that I will point a domain to that machine, and every client can see their site using sub domains ( client1, client2, etc ).

This server is also going to be the source control server, we are discussing options right now, but we are thinking about Mercurial ( I tested it at home, and in 30 minutes, I was committing, pushing, pulling with no problems whatsoever.. )… and we are going to use an DCVS ( Distributed Concurrent Versions System ) no doubt about that..

The database on the server is going to be shared, this means that, when I’m developing at my local machine, the database on the server is the database I’m using.. so any change I make to the database will automatically be accessible for the client, for the code, I just have to do a push to the main repository, and the client can see everything…

The external disk is there for the backups of course… this way everything is saved somewhere.. ( I just need to find out how to restore MySQL backups … )

There are some kinks that need to be sorted out, for example the repositories on the development server, I’m thinking of using two of them..

One is the main repository, and the other is the WWW repository, to synchronize them, when I change the code is pretty easy ( at least in Mercurial ), I just need to add a hook to the push action, and when the push finishes, I just call an Update on the WWW repository..

The problem is synchronizing in the other direction, I’m talking about images loaded by the client and etc, with this method if I upload an image on the server, I’m not going to have that image on my local development machine.. some people say, that files loaded dynamically shouldn’t be on source control… and I tend to agree with them.. but solving this problem in PHP is going to take a while, I’ve got to find a simple way to access a UNC share from PHP, while still using the move_uploaded_file function ( etc ) with no problems… I probably need a class to handle all of this..

For me, this seems the best architecture to use on the office, at least for a small team of programmers.. I could change a few things, the perfect solution would be to use a webserver ( only Apache and PHP ), a database server ( MySQL ), and a Source Control Server.. one machine for every job.. that would be perfect.. but we really don’t need that yet.. down the road, maybe.. but for now this is going to be just fine… and it’s going to be a big leap forward on the organizational side of things..

2011
01.11

Ok.. let’s try something completely different.. I’m going to start writing a few posts in english.. ( or at least try )..

For those who don’t know, I just switched jobs, I’m currently working on a small agency in the middle of Lisbon.. It’s going great so far.. I just made one month..

On the second week of work, I came across this piece of code from our custom CMS:

public function updateCategory( $item )
{
    $new_cat_id;
    $select_ids_q = " SELECT id FROM categories ";
    $ids2compare = Array();
    $select_ids = BdConn::runSQL( $select_ids_q );

    while($row = mysql_fetch_array($select_ids)) {
        $ids2compare[] = $row['id'];
    }
    $new_cat_id = self::genRandId($ids2compare);
    //do insert of category
}

public function genRandId($numToCompareArr) {
    $new_id = rand();
    for($i = 0; $i < count($numToCompareArr); $i++) {
        if($new_id == $numToCompareArr[$i])
        genRandId($numToCompareArr);
    }
    return $new_id;
}

This is good code.. don’t you think? I almost had an heart attack on the spot when I saw this.. at that moment I was debugging the code, trying to find out what the code did, everything is in Ajax, with redirects after the Ajax call is completed.. ( which in my opinion is not a good thing for a back office )…

It wasn’t a fun day, the next day I decided to use my own back office to do the site.. then everything started to run smoothly..

2010
01.21

Era quarta-feira dia 6 de Janeiro de 2010 por volta das 21 horas…

Enquanto dava os últimos toques no backoffice para o meu último trabalho freelancer, decido ligar para o apoio a cliente da Novis, para pedir o redireccionamento do domínio…

Para aqueles que não sabem, redireccionar um domínio, é simplesmente alterar os apontadores do site de um alojamento para outro. Coisa simples, que em maior parte dos sites de gestão de domínios e alojamento se faz em coisa de 5 minutos, e somos nós próprios a fazer…

Lá peguei eu no telefone, e liguei para o número que a cliente me tinha dado…atendem do outro lado, e a Novis tinha passado a ser Optimus, “ligue para o 16939″ dizia a voz ao telefone..

Como um jovem bem mandado, lá liguei para o 16939… atendeu-me uma senhora toda simpática que me pediu o nº de contribuinte da empresa e que de seguida me ia passar ao departamento técnico para esclarecer a questão do redireccionamento de domínio.

Lá tive para aí uns 5 minutos à espera, e nada, a linha do departamento técnico estava com muitas ligações, então aconselhou-me a ligar mais tarde.

Era mais ou menos meia noite do mesmo dia, e volto a ligar.. finalmente o departamento técnico já pode atender.

Lá explico o que quero fazer, ao gajo do outro lado da linha ( que não fazia a mínima ideia do que é que eu estava a falar ), dei-lhe os “nameservers” novos para o domínio, e fui dormir mais ou menos descansado…

Quinta-feira ( dia 7 ), fui verificando durante o dia, para ver se o site já estava a ser redireccionado para o sítio certo, e nada..fui almoçar a casa e decidi ligar para o 16939…

Liguei à hora de almoço, mas não me conseguiram passar ao departamento técnico, muita gente outra vez..

Tentei outra vez à noite, e lá me atenderam, não muito rápido diga-se de passagem.. ( mas às vezes acontece ), falei com outro gajo qualquer.. e diz-me ele, que esse pedido não pode ser feito por telefone, tem de ser feito por escrito. Ou por fax ou por um email que esteja associado à conta na Optimus.

Então diz ele: “Tem de enviar um email com o seguinte formato”:

Bom dia,

Prentendo alterar os apontadores ( DNS Nameservers ) do domínio www.XXXXXXXX.pt para os seguintes:

NOME: XXXXXXXXXXXX.COM
IP: XXX.XXX.XXX.XXX

NOME: XXXXXXXXXXXX.COM
IP: XXX.XXX.XXX.XXX

Ou seja o domínio mantém-se na optimus, mas o alojamento é noutro sítio.

Cumprimentos

Peço ao cliente para, enviar este email para o mail: 16939@optimusnegocios.pt

O cliente enviou o email na 6º feira ( dia 8 ) durante o dia, e fiquei descansado durante o fim de semana, a pensar que durante o fim de semana a alteração ficava feita, e que ficava tudo bem.

Segunda-feira ( dia 11 ) estava tudo na mesma…estranhei, então chegou à noite, e liguei para eles outra vez..e quando pergunto que quero saber qual é o estado do pedido feito, respondem-me que precisam do nº de cliente para me poderem dar essa informação..

Erro crasso…saltou-me logo a tampa, quer dizer, eu que já tinha ligado uma carrada de vezes para lá, nunca me tinham pedido isso, só me tinham pedido o número de contribuinte, nome da empresa, número de telefone e coisas do género.. nunca o número de cliente..

Lá dei uma descasca na senhora porque não fazia sentido nenhum um dia pedirem-me uma coisa, e no outro pedirem outra diferente.. ficaram de me dizer alguma coisa durante o dia terça-feira sobre a situação do redireccionamento depois de ter desabafado um bocado..

Chega à noite, e estou em brasa para ligar para o maravilhoso 16939…pego no telefone, e ligo para os gajos..

Lá me atende outro gajo do departamento técnico, e diz-me que o caso está a ser analizado, e que o vai marcar como urgente. Menos mal penso eu…

Quarta-feira ( dia 13 ) de manhã, recebo um email do cliente com a resposta ao email enviado na 6º feira:

Em sequência do e-mail recebido, vimos por este meio informar a configuração solicitada implica o cancelamento do domínio com a Optimus. Caso pretenda cancelar o mesmo deve dirigir um email para 16939@optimusnegocios.pt ao cuidado do Serviço de Atendimento a Cliente, ou entrar em contacto directo para a linha 16939.

Pego no telefone e toca de ligar para o 16939, passo-me dos carretos e ao final de algum tempo de estar a mandar vir e a tentar perceber como é que vou resolver a situação lá me dizem para enviar o seguinte email:

Quero cancelar os actuais nameservers do domínio www.XXXXXXX.pt, que são:

Nameserver: XXX.XXXXX.XX.
Nameserver: XXX.XXXXX.XX.

E activar o domínio para os seguintes:

NOME: XXX.XXXXXXXXXX.XX
NOME : XXX.XXXXXXXXXX.XX

Passei-me outra vez dos carretos, nem sei se não mandei nenhuma asneirada ao telefone, só sei que estive para aí 10 minutos a mandar vir com o gajo, e a pedir-lhe que me explicasse a diferença entre este email e o que tinha sido enviado na sexta-feira, ao que ele não soube responder… e porquê? Porque é exactamente a mesma coisa sem tirar nem por!!! Raio de incompetentes..

Depois de muito mandar vir, lá desliguei e toca de enviar um email ao cliente, com estes dados para ele enviar para o email de suporte da Optimus: 16939@optimusnegocios.pt, e fiquei mais ou menos descansado..

Quinta-feira ( dia 14 ), vou a caminho do trabalho, e toca de ligar outra vez para os gajos, para saber como é que estava a situação.. agora sim, alguém que percebe minimamente disto ou não.. lá explico toda a situação já meio enervado, e diz-me o gajo do outro lado da linha, que não podem fazer isso, o sistema deles não suporta…leiam com atenção, que esta tem piada:

O nosso sistema não suporta, ser a Optimus a gestora do domínio, e o domínio estar apontado para outro alojamento.

Passei-me outra vez, mas ninguém sabe o que é que está a fazer naquela empresa? Cá para mim os gajos estão é a gozar comigo. Só pode! Lá mandei vir mais uma carrada de tempo com o gajo, a dar-lhe na cabeça que há uma semana que ando nisto. Então diz-me ele que basta enviar um email a pedir os dados da transferência do domínio de qualquer email com os dados do cliente que fica tudo resolvido.

Envio o email por volta das 10 e meia da manhã..

Nem esperei pela noite, a seguir ao almoço ligo logo para eles, a perguntar se receberam o meu email e a pedir que a situação fosse tratada o mais depressa possível. Fizeram-me enviar o email outra vez porque não o encontravam ( ? Também perdem email’ eles pelos vistos ), e lá disseram que iam tratar de tudo e que iam contactar a fccn ( gestora dos domínios .pt ), e que num prazo de 24 horas o cliente iria receber no mail X os dados para pedir a transferência de domínio. Eu na altura perguntei claramente ao tipo que estava do lado de lá: “Quer dizer, que se amanhã ( 6º feira ), eu pedir ao meu cliente para ir ver o email X, vão estar lá os dados para eu pedir a transferência de domínio?” ao que ele me respondeu, sim, mal a fccn seja contactada o prazo de entrega dos dados é de 24 horas…

Sexta-feira ( dia 15 ), ligo de manhã, enquanto vou a caminho do trabalho, já passado completamente da cabeça, lá explico a situação quando me dizem que o pedido à fccn ainda não foi feito.. puseram-me em espera, enquanto foram falar com a área que trata disso… lá o gajo me disse que tinha falado com a pessoa, e que essa pessoa ia tratar disso o mais depressa possível, perguntei-lhe também, quando é que podia ligar para saber se já tinha sido feito o pedido à fccn, disseram-me que a meio da tarde era boa altura..

Almoço, e antes de ser meio da tarde, ligo para os gajos, atende-me uma senhora, e peço informações sobre isso. Ao que ela me responde:

Nós não podemos pedir os dados à fccn, tem de ser o cliente a fazê-lo. Enviando um email para eles a pedir os dados da transferência do domínio.

Mal ela me diz isto, eu respondo-lhe com um categórico: “Não!”

E a senhora assustou-se, e pergunta numa voz assim meio trémula: “Desculpe?”.

“Então é assim, “, comecei eu outra vez…expliquei-lhe a situação toda de uma ponta a outra…

Lá lhe perguntei, se desta vez tinham mesmo a certeza absoluta que era isto que precisava de fazer para fazer a transferência de domínio, ao que a senhora ( desta vez guardei o nome dela ) me disse que sim…

Perguntei se podia falar com algum responsável, perguntou para quê, ao qual eu respondi: “Para me queixar!”, e ela disse que podia inserir a queixa internamente…. lá me pôs em espera e inseriu a queixa….

Gostava de saber que raio de queixa é que inseriu… não sei de nada… mas também já não quero saber, só quero é transferir o domínio…

Vou ao site da fccn à procura de um número para ligar, para confirmar isto tudo…

Ligo para a fccn, e lá me dão umas indicações para pedir o acesso ao site dns.pt, porque pelos vistos é aí que posso fazer tudo..

Entretanto toca de andar na troca de emails com o cliente, para ir ver o email para onde são enviados os vários email’s com o login e password..

Segunda-feira ( dia 18 ), o cliente diz-me que recebeu um email em resposta ao de dia 13, a dizerem que para fazerem essa alteração, precisam que seja enviado o nº de cliente, nº de contribuinte e mais qualquer coisa que já não me lembro o que era..

Ora já me tinham respondido que tal era impossível de fazer, no entanto enviaram um email para o cliente a perguntar dados para fazer o redireccionamento do domínio! Chamem-lhes o que quiserem, mas eu chamo-lhes incompetentes..

Entretanto falo com o cliente para saber se os emails do dns.pt tinham chegado convenientemente, e pelos vistos o da password perdeu-se pelo caminho… ligo para os contactos do dns.pt, para saber se houve algum problema ou não..pelos vistos não… e disseram-me para fazer o registo todo outra vez…que o script de envio de passwords e logins era automático…

Lá fiz o registo todo outra vez, e é só esperar..

Terça-feira ( dia 19 ), lá recebo os dados esperados, login e password para acesso ao site, e toca de pedir o Auth-Code…

Convencido que a transferência de um domínio .pt, era igual à transferência de outro domínio qualquer, já estava a ver as coisas mal paradas, ia ser mais uma semana a ligar para o 16939 a pedir para verem os email’s para me aceitarem o pedido de transferência…

Vou à PTISP, para inserir os dados e pedir a transferência de domínio, e leio no site deles que as transferências de domínios .pt são grátis.. toca de ligar para o apoio ao cliente deles para saber como é que isso se processa..

Então explica-me o jovem do outro lado que para domínios .pt, não é necessário o actual dono, aceitar a transferência de domínio, basta mandar o nº do processo e o auth-code e está feito..

Não cabia em mim de contente, seria  assim tão fácil?

Pedi então a transferência de domínio, na terça-feira ( dia 19 ) à tarde, e à noite, ficou a transferência efectuada…só faltava os vários dns servers fazerem a propagação dos apontadores do novo domínio..

Com esta história toda, descobri uma coisa bastante interessante, hoje ( quarta-feira dia 20 ) durante a manhã, alguns dns servers no estrangeiro já tinham a propagação feita, o curioso é que alguns em Portugal ainda não, a netcabo só actualizou os dns deles por volta das 22 horas.. no escritório foram actualizados durante a tarde, e o cliente viu a actualização um pouco mais cedo, por volta da hora de almoço..

Para finalizar, ao fim de duas semanas de luta com uma simples transferência de domínio .pt ( que é mais fácil que outro domínio qualquer ), ao fim ao cabo para transferir o domínio, só era preciso  ligar para a fccn, e pedir o Nic-Handle para pedir o login e password ( isto no caso de ainda não existirem ). E estava feito, coisa que se fez em 3/4 dias devido à perca dos emails…

E o site está finalmente online..todo a funcionar, à excepção de um pequeno problema no upload dos ficheiros…que vai ficar resolvido rapidamente…

Em vez disso, e graças à Optimus e ao seu magnífico apoio ao cliente, transformou-se numa saga de dimensões épicas…

Ora o que é que acham? É uma história de terror? Ou de incompetência…desculpem lá mas eu voto na da incompetência..

E já agora, outra pergunta, acham que devia ligar para o 16939, pedir para falar directamente com o supervisor do departamento técnico, e ensiná-los a fazer transferências de domínios .pt ou não?

Um bem haja a todos..

PS: Quando digo, passar-me dos carretos, é chatear-me, nunca fui mal educado perante qualquer pessoa que me tenha atendido, talvez um pouco agressivo para o final, porque não havia hipótese… mas nunca mal educado, se o fosse perdia a razão por completo..

2009
12.03

Perdão…quero dizer ajustes directos…. não afinal não…quero dizer mesmo tachos..

Comecemos pela bela da notícia:

“No passado mês de Julho foi colocado online o portal oficial das celebrações do centenário da República Portuguesa. Um trabalho feito pelo atelier de design Henrique Cayatte, por ajuste directo, ou seja, sem concurso e que custou ao estado 99 500 euros, como pode ser verificado no Base, um site de informações sobre contratos públicos.”

Fonte: Diário2.com

Primeiro que tudo vamos corrigir, só um pequeno erro nesta frase, onde dizem custou ao estado 99 500 euros, deveria dizer, custou-nos a nós portugueses 99 500 euros ( a todos aqueles que pagam impostos ).

De onde é que vem esta informação? Simples.. do site Base – Contratos Públicos Online, mais propriamente deste ajuste directo:

“Objecto do contrato: Prestação de serviços de degign com vista à criação e desenvolvimento do Portal Centenário da República”

Fonte: Base

Onde eles dizem “degign” querem dizer quase de certeza design…

Como se pode ver, o trabalho do Atelier Henrique Cayatte ( sim porque é um atelier ), foi o de criar apenas o layout ( sim aquele belo layout ), e para essa tarefa cobrou os magníficos 99 500 euros ( o preço de muita casa que por aí anda )…

Se formos ver a ficha técnica do site:

“Design gráfico
Portal do Centenário: Atelier Henrique Cayatte
República nas Escolas: Lupadesign www.lupadesign.pt

Execução técnica
SAPO

Fonte: Portal Centenário da República

Vendo isto, temos a certeza absoluta que o Atelier Henrique Cayatte, só fez mesmo o design gráfico do Portal do Centenário.

Calma que ainda não acabei, isto foi só o layout para o site.

Temos agora o design do Estacionário ( cartas, cartões e pouco mais ), pela módica quantia de 90 000€…barato não é?

“Objecto do contrato: Prestação de serviços de design global do estacionário da Comissão Nacional e dos materiais de suporte à comunicação dos diferentes eixos programáticos”

Fonte: Base

Não querendo chamar intrujões, gatunos e mais uma carrada de nomes a esta gente, que quase de certeza absoluta é gente séria, tanto como as pessoas que trabalham no Atelier Henrique Cayatte, como os políticos que compraram os serviços a esta empresa… mas o que é que raio é que vos passou pela cabeça?

Estes valores aqui apresentados são simplesmente impossíveis! A cabeça de alguém vai ter que rolar! Isto não pode ficar assim!

Aliás gostava de ver quais são os critérios para se poder fazer o tal ajuste directo. ( Andei à procura do decreto lei que regulamenta os ajustes directos e não encontrei nada de jeito.. ) para além de que não estou com a mínima pachorra para andar de volta disto…

Percebo perfeitamente que esta gente queira comemorar o centenário da república…até aqui tudo bem…agora andarem a gastar dinheiro como se não houvesse amanhã é que tá quieto…

Aliás digo mais! A agência para qual trabalho neste momento, cobrava bem menos do que isso, fazia um trabalho 50x melhor, e o trabalho bem que nos fazia falta!

Não percebo, é como é que é possível, isto ter passado por tanta gente, e ninguém fazer barulho, é que não estamos a falar de trocos, este atelier ganhou nada mais nada menos do que 180 000 euros, em apenas dois trabalhos, e desculpem que vos diga, mas os trabalhos feitos não o valem, principalmente o design do site.

Isto é um roubo, completamente um tacho! E só não é, para quem não o quer ver! De certeza absoluta que há tramóia nestes ajustes directos…

E como é que eu sei? Simples, porque o design para aquele site, é impossível ter custado a módica quantia de 90 000€! E se custasse sempre seria uma coisa mais bem parida do que aquilo, até eu que não percebo nada de design, conseguia fazer melhor que aquilo! E mais barato!

EDIT: Esqueci-me de dizer uma coisa, que se foda a crise! ( Sim é mesmo assim! ) Ou como diria o Conan herói da Trafaria: “Crise? Qual crise?” ( isto depois de por a sua namorada a render! )

Um bem haja a todos…

Design gráfico
Portal do Centenário: Atelier Henrique Cayatte
República nas Escolas: Lupadesign www.lupadesign.pt

Execução técnica
SAPO

2009
11.23

Sou actualmente um leitor bastante assíduo destes dois blogs, o Coding Horror, e o Daily WTF..

São os dois bastante interessantes da perspectiva de um programador, o Coding Horror, maior parte das vezes tem umas dicas interessantes para ler, e também nos obriga a pensar..

O Daily WTF, é maioritariamente constituído por histórias, passado e presente de programadores/administradores de redes etc etc… o que sempre dá para ler algumas histórias engraçadas… e até às vezes pensar, eu já fiz esta burrice..

Mas o que me trouxe aqui hoje foi o novo projecto presidido pelo Alex Papadimoulis que é o Code Offsets.

E o que é o Code Offsets?

O Code Offsets consiste em comprar más linhas de código, e o custo destas linhas de código é depois distribuída por 3 projectos diferentes:

  • jQuery ( library de javascript )
  • Apache ( servidor web para servidores linux e windows )
  • PostgreSQL ( Base de dados SQL )

Ou seja, imaginando que eu faço três más linhas de código, como maneira de me redimir pelo mau código desenvolvido, o que é que faço, vou ao site do Code Offsets e compro três Code Offsets pela módica quantia de $1,50… têm lá mais opções ( http://codeoffsets.com/Buy.aspx )

Ora se levarmos isto muito a sério, cada linha de código mal que eu fizer vai render uns bons cobres…e eu vou ficar ainda mais pobre… ( sim sou programador, mas não sou rico )…

Eu vejo isto como uma excelente ideia, nós programadores, que temos um brio enorme no que fazemos, e que queremos que o nosso código seja sempre o melhor, e sem bugs ( o que é impossível por várias razões )… ainda nos vamos obrigar a ser melhores, isto porque também não queremos gastar dinheiro assim à toa..

Agora há aqui um grande problema, neste modelo… citando da faq deles:

“Q: What percentage actually goes towards open source projects?

A: 100%. Every dollar you spend on Bad Code Offsets goes directly towards the projects. The Alliance for Code Excellence pays for all of the overhead and expenses (payment fees, postage, material, etc.) out of pocket.”

Tudo bem até chegarmos aqui, e garantias? Como é que eu sei que o dinheiro que eu usei a comprar os “Code Offsets“, vai chegar ao projecto que escolhi? Fé? Até poderia ser, mas eu não sou um gajo crente…

Há que ver que estes tipos, não são uns tipos quaisquer… têm muito a perder se enganarem a malta ( maior parte deles têm as suas empresas ) e são comunicadores com grande relevância como por exemplo o Jeff Atwood que é apenas blogger, e que se iniciou há algum tempo com o Joel Spolsky no Stack Overflow ( tendo até formado uma plataforma que vendem usando o código do Stack Overflow )…

Ora se este Jeff, enganasse a malta, as visitas do seu blog caiam a pique, o que iria trazer grandes problemas de dinheiro, se é blogger a tempo inteiro como ele diz, e se a plataforma do Stack Overflow não está ainda a render assim tanto ( como me parece ), as coisas corriam bastante mal…

Já estamos praticamente no fim, fica aqui um printscreen da página de pagamento do paypal do Code Offsets:

Inedo

Como podem ver, o que é que está escrito no topo da página? Não é a The Apache Software Foundation ( foi o que escolhi para fazer a minha doação, que como é lógico não fiz, era apenas um teste ), mas sim a empresa que o Papadimoulis é dono a Inedo..

Só a mim é que isto faz soar os alarmes assim à grande? É que vamos lá a ver, eu estou a fazer uma doação a um projecto open source, no entanto o meu dinheiro vai entrar primeiro na conta da Inedo, e que garantia é que eu tenho que o dinheiro, que eu doei vai chegar todo ao projecto escolhido? Para isto, prefiro fazer a minha doação directa a qualquer um dos projectos listados na página do Code Offsets, assim sempre tenho alguma garantia que o dinheiro vai directo para eles, e que não passa por nenhum intermediário à excepção do paypal..

Aliás se formos a ver, tanto a página do jQuery, como a página do PostgreSQL têm páginas de donativos por paypal, só a The Apache Software Foundation é que não tem ( talvez por causa do tamanho ).

A meu ver seria muito mais vantajoso, se os criadores do Code Offset fizessem um acordo com os 3 projectos a quem eles pretendem passar o dinheiro, de maneira a que todo o processo fosse bem mais transparente, uma ideia seria fazer a doação directa aos projectos, em vez de estarem a serem intermediários, de certeza absoluta que as pessoas que gerem os projectos não se importavam de fazer umas quantas linhas de código para fazerem as várias ligações necessárias com o site do Code Offsets e as suas páginas de pagamento… digo eu..

Para mim, isto sim seria então um projecto para andar, da maneira como está estruturado, se eu alguma vez lá meter dinheiro ( que nunca deve acontecer, não sou rico ), nunca saberei se o dinheiro que doei, realmente vai parar ao projecto que escolhi ou não..

E pelos vários comentários que li tanto no Coding Horror, como no Daily WTF, maior parte das pessoas também não gostaram nada da ideia… penso que por causa de eles serem os intermediários… e as doações não serem directas…

Cá para mim, eles têm que mudar o sistema, e chegar a um acordo com os projectos a quem querem doar… de maneira a que quando se vai à página do paypal, não vejamos o cabeçalho da Inedo, assim eles iam conseguir trazer muito mais visibilidade ao projecto e também conseguiriam também torná-lo muito mais sério..

Acho que enquanto eles não o fizerem, todo este projecto vai ser um flop enorme é que nem umas estatísticas eles têm no site do número de doações feitas.. é completamente às escuras..

Um bem haja a todos e bom código..