Saltar para: Posts [1], Pesquisa e Arquivos [2]



The End

29.09.23

This is the end
Beautiful friend
This is the end
My only friend, the end

Of our elaborate plans, the end
Of everything that stands, the end
No safety or surprise, the end
I'll never look into your eyes again

Can you picture what will be?
So limitless and free
Desperately in need
Of some stranger's hand
In a desperate land

Lost in a Roman wilderness of pain
And all the children are insane
All the children are insane
Waiting for the summer rain, yeah

(...)

This is the end
Beautiful friend
This is the end
My only friend, the end

It hurts to set you free
But you'll never follow me
The end of laughter and soft lies
The end of nights we tried to die
This is the end

Jim Morrison

Zzzzzzt click!.... NO CARRIER

 

O ser humano irrita-me com frequência.
Nada de novo aqui. A minha fé na humanidade é tão pouca que só à custa de muito sarcasmo vou conseguindo sobreviver.

 

Sim, eu sei que somos seres gregários e que por isso mesmo fomos capazes feitos surpreendentes. Mas atrás dessa característica, vem outra profundamente opressora e potencialmente fatal. A “ditadura do método e da arrumação”.

Precisamos de estrutura, organização e lógica. Precisamos sobretudo que os outros à nossa volta professem a mesma ditadura e nos façam a cama porque, sei lá, fazê-la nós mesmos daria muito trabalho.

É assim com a religião, com a política, com as palavras e pasme-se, com os sentimentos.

A religião arruma-nos o desconhecido e até nos dá um manual de instruções para seguir. E ai de quem ousar questionar os dogmas!
A política arruma-nos os pontos de vista. O partido explica-nos a organização social e ostraciza os divergentes.
A hierarquia arruma-nos as palavras. As que podemos dizer numa prateleira, as proibidas debaixo do tapete para dizer em surdina.

As teses e os frameworks psicológicas arrumam-nos os sentimentos e por isso condicionam os atos e o espírito crítico.

Para tudo há um método que conforta quem o pratica. O conforto é a secreta alegria de que “estamos juntos nisto”. “Só nós é que sabemos”. “Somos uma espécie de iluminados”.

Esses frameworks, termo que usamos diariamente em programação, são frequentemente caminhos diretos para um poço escuro e fundo de problemas difíceis de resolver. Porquê? Porque contribuem para anular o pensamento crítico. “Não preciso de me questionar porque estou dentro do framework”, “O framework já resolve isso tudo”, como se se tratasse de mais uma bíblia cheia de postulados inquestionáveis e incorruptíveis.
E se isso acontece na programação, na vida e nos sentimentos é o mesmo; chamam-se os métodos. Aqueles que se seguirmos à risca garantimos o sucesso. Aqueles que são vertidos em pseudo livros de auto ajuda como se fossem receitas infalíveis. "180 passos para garantir a felicidade."

Siga o método do desapego! Paz e tranquilidade garantidas.
Não! Siga antes o método Yoga do mestre Canguru. 7 passos mágicos para o conhecimento!
Como não discutir com a mulher? Simples, use o método “Stonewalling”. Em 3 passos apenas, o sucesso é garantido.
Mas há sempre a versão com a pedra azul, cinzenta ou preta. Cada derivada assegura mais uma edição da coleção de auto ajuda.

É um mundo sem fim, cheio de “siência” sim com S. Cheio de praticantes e mestres certificados que nos salvam de pensar pelas próprias cabeças.

Um mundo cheio de flautistas de Hamelin prontos a levar o rebanho de ratos para uma indigência intelectual que raramente deixa as vítimas incólumes.

Prefiro aprender ouvindo, questionando, praticando e questionando tudo outra vez; nem que isso me dê uma série de nódoas negras.

Já me arrependi de tanta coisa, mas nunca de perguntar porquê.

 

fordummies.jpeg

Uma conversa que poderia ter acontecido este fim-de-semana com alguns dos meus amigos à mesa do café:

Essa cena do Mastodon... Isso é tipo Twitter certo?, pergunta o meu amigo "Tretas" com um ar ligeiramente interessado

Não, o mastodonte não é o twitter. Se era só isso que querias saber, obrigado e bom dia.

Calma. É que eu fui tentar perceber a coisa mas essa cena dos servidores e instâncias baralha-me.

A resposta anterior aplica-se. Isto não é o twitter. São vários serviços que coexistem numa federação que usa uma forma de comunicação muito pipi chamada ActivityPub.

O Tretas afasta-se de mim, põe as mãos na cabeça. Ainda fiquei mais baralhado. Vários? Então como é que eu sei o que quero? 

Há três critérios para escolher “O que eu quero”
1 - A comunidade (o tal servidor ou instância)
A que comunidade me quero juntar? Os tugas? Os artistas? Geeks e nerds? Malta da bola? Petrol heads?

2 - As regras da comunidade (o tal servidor ou instância)
Posso mandar umas bojardas em português de Bocage? Deixam-me espalhar boatos? Posso inundar a timeline com lixo? Posso falar de política? Posso fazer posts automáticos? Sou obrigado a interagir com quem fala comigo?

3 - A performance do tal servidor ou instância
É rápido? As mensagens fluem a uma velocidade quase instantânea? Vai muitas vezes abaixo?

O Tretas abana a cabeça incrédulo. Continuo baralhado. O que eu quero é isso tudo.
Quero uma comunidade de tugas artistas e petrol-heads onde possa escrever tudo o que me apetecer e mandar as bojardas que me vierem à cabeça. E quero isso tudo num servidor rápido e cheio de gente.

Ok, isso não existe, obrigado por leres até aqui. Adeus e bom dia.

Bah! Bela porcaria. Isso da comunidade é o quê então? diz ele enquanto se levanta da cadeira com a fé abalada e ar desiludido.

A comunidade, ou timeline local, é o que mais diferencia o Mastodon de outras redes mais conhecidas. Pensemos na comunidade como uma espécie de fórum ou canal de IRC (para os mais antigos) ou um subreddit ou canal de Discord. Tudo o que é dito publicamente pelos membros deste servidor ou instância aparece aqui. E como qualquer fórum ou canal de Discord, está sujeito a regras e moderação.

Regras? Já sabes como eu sou com regras... Mas tipo o quê? pergunta enquanto se volta a sentar

Tipo, não podes insultar o teu vizinho nem falar mal do Benfica. Tudo o que o administrador e dono deste condomínio decidiu impor. 

Levanta-se de novo indignado. Eh lá! Então o admin é um todo poderoso que faz o que quer?

Pois… sim é. Ele é o senhorio deste prédio e tu um mero inquilino. Por isso é importante saber as regras e saber se estamos de acordo com elas. No fim do dia, o Elon Musk pode ter o seu próprio servidor ou instância e obrigar-te a elogiá-lo para nela poderes continuar.

O esgar do Tretas não esconde o desdém e o horror. Eish. Medo. Mas então para eu falar e seguir os meus amigos temos de ir todos para o mesmo servidor? Isso é só parvo!

Não. Calma. Para além da timeline local (dos condóminos do teu servidor), tens a tua própria timeline individual onde vão aparecer apenas as pessoas que segues independentemente da instância em que estão.

Volta a sentar-se e aproxima-se de mim, mãos a segurar o queixo com algum interesse. Como assim? Como é que eu vejo as pessoas de outro servidor?

É aqui que entra a tal cena pipi do Activity Pub. Não interessa onde estão as pessoas, podes sempre segui-las desde que estejam num Mastodon qualquer. Tudo o que elas postarem vai estar visível para ti.

Mas o que eu queria mesmo era algo parecido com o Twitter. comenta algo desiludido

A tua timeline individual (ou Home) é a tua bolha. É a parte mais parecida com o Twitter que existe. Cada pessoa que sigas, de qualquer servidor, irá aparecer aqui. As duas grandes diferenças são: ausência de publicidade e ausência de algoritmo.

Algoritmos… Isto não era para dummies? O ar baralhado do Tretas não engana.

Vá… Não é assim tão complicado. Na timeline do twitter aparecem com maior destaque os tweets com muitos likes, retweets e interações. O twitter também constrói o teu perfil com base nos teus likes e posts para te recomendar gente.

Nada disso existe aqui. Não há forma de surfar o algoritmo simplesmente porque ele não existe. É inútil usar técnicas para provocar o like ou o retweet. Isso não vai dar nem mais nem menos destaque a quem o faz.

O Tretas é um provocador e lança: Mas eu não quero saber de privacidade e o que eu gosto mesmo é de ter muitos likes para me gabar junto dos meus amigos.

Aplica-se a primeira pergunta e resposta. Obrigado e bom dia.

Ok pronto. Mas então não há likes nem retweets no Mastodon? Bela treta.

Há sim, mas funcionam de forma diferente.

Os likes são isso mesmo… likes. Considera-os como favoritos. Só servem dois propósitos: construires uma lista de posts de que gostaste para mais tarde rever e também para mostrar algum apreço ao autor. Uma espécie de obrigado sem encher a timeline de obrigados.

Os retweets existem. São os “boosts”, o que não existe é o “quote retweet”. Sempre que um conteúdo seja relevante e lhe queiras dar destaque, usas o boost.

Eh pá… Mas então não posso fazer um quote retweet? Como é que eu vou expor e humilhar as pessoas com os seus erros ou tolices?

Obrigado pela pergunta e resposta. Get it?

O Tretas percebeu. Fica calado uns segundos enquanto pensa. É só isso então? A minha timeline (Home) e a timeline local?

Não. Lembra-te do que eu disse no início. Isto é uma federação. Se seguires pessoas de outros servidores verás posts de outras pessoas na timeline federada.

Ok então é tipo jornal regional e nacional?

É mais ou menos isso. A tua timeline é tua e só tem os teus amigos. A timeline local é o teu jornal das beiras que só tem jornalistas locais e a timeline federada é o jornal nacional que tem tudo sobre tudo. Até posts em japonês e mandarim vais encontrar nessa timeline federada.

Bom… Vou pensar nisso. Só mais uma pergunta.
Um dos critérios de escolha era a performance do servidor. Queres explicar?

Sim, o Mastodon funciona tão mais rápido quanto menor for o número de membros de uma comunidade/servidor/instância. Idealmente deveriam existir muitos servidores/instâncias, cada um com poucos utilizadores, caso contrário começam a surgir problemas e dores de crescimento. O custo de manter um servidor no ar dispara. Os admins podem até decidir não aceitar mais gente por estarem sobrelotados.

Num mundo ideal, terias uma instância por cada edifício ou empresa ou clube local, mas estamos longe disso e o passa palavra leva as pessoas a juntarem-se todas numa metrópole que depois fica congestionada.

Há alguma lista de instâncias ou servidores que eu possa ver? Ou tenho de te perguntar de todas as vezes?

Há sim. Aqui: https://instances.social/

Obrigado. Olha… Se eu quiser reclamar qual é o número de apoio ao cliente?

Não há. Podes enviar uma mensagem ao admin da tua instância e esperar que ele ou ela não esteja demasiado ocupado a tapar buracos nas máquinas. Alguns aceitam doações para ajudar a pagar os custos de manutenção.

Também és livre de fazer as sugestões de melhoria que quiseres. Isto é software aberto (open source). Não tem cartas escondidas na manga nem surpresas por baixo do pano. Se estás mesmo curioso, vai por aqui: https://joinmastodon.org/ 

Pickups_Gibson_Seymour_Duncan_numbers.png

For those who are trying to swap Gibson pickups with Seymour Duncans, here's a quick color code match.
I have done this on a Gibson Les Paul Standard 2017 and everything works fine, including coil split and out of phase push pulls.

For reference, I swapped the original Burstbucker Pros with a Seymour Duncan SH2N-4C BLK on the neck and a Seymour Duncan SH-16 The 59 Custom BK on the bridge.

Note: this Les Paul has the 5 pin quick connect sockets on both the bridge and neck.

 

 gaija.png

Calma, eu explico. Quem me ofereceu esta gaija nova foi a outra gaja. Espera... Eu explico melhor. A minha gaja achou que eu precisava de uma gaija que eu pudesse moldar a meu gosto e onde eu pudesse tocar sempre que me apetecesse.

Vai daí, a gaja manda vir uma gaija virgem e livre de vícios e oferece-ma pelo aniversário.

Quando a gaija nova chegou, era assim:

Madeira.jpg

Sim, era virgem e não servia para grande coisa embora tivesse as medidas certas (ali a lápis vê-se que tinha 86 de peito). Impunha-se agora escolher uma roupa vistosa que permitisse realçar a sua beleza natural. Como não tenho jeito nenhum para o corte e costura, um amigo sugeriu-me um pintor de barcos em Lagos, o Sr. Alberto que conhece todas as manhas da madeira e do verniz. Enviei-lhe um modelo e algumas semanas depois chegou de vestido novo.

Hora de montar a gaija, claro. Com cuidado porque alguns furos ainda estavam cobertos de verniz e todos os pormenores são importantes para o resultado final. Nem todas as peças de origem eram as melhores e algumas foram substituídas mas numa tarde ficou quase pronta.

Montagem.jpg

Cordas colocadas e um suspiro enorme. "Acho que isto vai dar em bibelot". A altura das cordas era quase de 1cm. Mas como diz o Jack White, uma boa guitarra tem de dar algum trabalho. Todo o esforço acabará por soar afinado em cada acorde, cada nota tocada.

Uma martelada na ponte mais uma lixadela na pestana, rotação e meia no truss-rod e nem queria acreditar. Setup mais perfeito não tenho em nenhuma das outras guitarras cá de casa. 

Enfim. Tenho uma gaija nova. É única, irrepetível e tem um som fantástico. O Jack White tinha razão.

Final.jpg

O som do vídeo não faz justiça à Gaija mas isso também não interessa.

O que interessa é que ninguém toca na minha Gaija e pronto.

 

 

I've been looking around for a way of (hard) burning subtitles on to a file using Mac OS X.

Tried many different approaches without any success.

 

Subler + handbrake and many others. Note that there's a difference between soft subtitles and hard burned ones. Soft subtitles embed them on the video file and your video viewer (quicktime, vlc, mplayerx, etc) has to be able to render them.

This is a problem though if you're trying to upload a file to youtube or embed a a video on your blog. You need hard burned subtitles.

 

A friend of mine Nuno Jesus came pointed me to an option on ffmpeg which worked out of the box in Linux. On Mac OS X there are a few steps before you're ready to go.

 

Here's a quick recipe:

 

1. Install X11 from http://xquartz.macosforge.org/landing/

2. Find a binary version of ffmpeg that has libass enabled. Here's one: http://www.evermeet.cx/ffmpeg/

3. Open a terminal window and enter this export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig 

(optional) If you don't want to have to do this every time, just edit your ~/.profile and enter that export line right at the end.

4. Navigate on the terminal window to where you have both the movie and the subtitle file (.srt) and run

 

ffmpeg -i sourcevideofile.mp4 -vf subtitles=mysubtitlesfile.srt outputwithsubtitles.mp4

 

replace sourcevideofile.mp4 and mysubtitlesfile.srt with the ones you have of course.

 

There you go.

 

Disclaimer:

O Capuchinho Vermelho e o Lobo Mau são personagens fictícios. Espero que o lobo mau não fique chateado por representar nesta história a Fnac Online. Afinal de contas, ele apenas se limitou a comer a avozinha e ainda por cima no final devolveu-a intacta apenas com uns restos de baba e fluidos estomacais.

 

Era uma vez há muito, muito tempo (há 1 mês atrás precisamente), um Capuchinho Vermelho que gostava muito de macs. Ele eram iMacs, iPods, iPhones, iPads, iSights, macbooks, macminis, airport express, time capsules e muitos muitos outros brinquedos com que brincava no seu quintal. O Capuchinho era tão fã dos seus iBrinquedos que já tinha convertido quase toda a família Capuchinho a este passatempo. Eram tantos os objetos que já falavam mesmo em fazer um museu.

 

Certo dia, o macbook do filho Capuchinho cedeu aos calores do verão e caiu enfermo. Já nem as aspirinas ou os desfibrilhadores podiam salvar o pobre macbook. Eis senão quando, o Capuchinho Vermelho decide oferecer à sua prole o seu todo poderoso mac e comprar um novíssimo iMac. Já tinha nome e tudo. Seria o iMac Terceiro seguindo a linhagem dos anteriores (um deles já peça de museu).

 

Nesse preciso momento, a loja do Lobo Mau apresentava a sua novíssima campanha de iMacs com um interessante desconto. O Capuchinho conhecia bem a Loja do Lobo Mau. Diz a lenda que já lá tinha gasto dinheiro suficiente para comprar uma casinha nova à avó que vivia no campo. Num ápice, animado com a perspectiva de adicionar um novo membro à família de brinquedos, o Capuchinho voa para uma cadeira de cartão VISA em riste, abre a tampa do seu glorioso macbook pro e com um misto de ânsia e emoção abre a página da famosa promoção da loja do Lobo Mau.

Os olhos brilhavam enquanto percorria a interminável lista de iMacs fresquinhos a pedir para serem comprados. Havia tanto por onde escolher. A cada movimento dos olhos aparecia um melhor e mais poderoso, com um extra qualquer que faria certamente toda a diferença. Após muita indecisão, lá se ficou por novíssimo iMac i7 de 27 inchas (uma incha é uma polegada na terra dos capuchinhos), Fusion Drive e placa gráfica extra super mega duper. Com a promoção de 20% do Lobo Mau aquilo ficava caro mas o Capuchinho já sabia que iria ser assim. 

 

Confiante, copia os dígitos do seu cartão para o site e...

 

 

Boom!  - Amanhã enviam aquilo para uma das lojas do Lobo Mau e eu vou lá buscá-lo. Mesmo a tempo do meu aniversário! Yupii - pensou o Capuchinho.

Durante a noite, enquanto o Capuchinho sonhava com a Fusion Drive e a placa gráfica rapidíssima, o Lobo Mau esfregava as mãos de contente.

Dizem por aí que de cada vez que o Lobo Mau debita um cartão VISA se ouve o som de uma máquina registadora: "catchim!". Os vizinhos nem devem ter dormido. Aposto que os 3 porquinhos acordaram cheios de dores de cabeça nessa noite.

 

 

O dia finalmente chegou e do Lobo Mau, nem notícias. A única atividade que o Capuchinho vira acontecer fora o débito do seu cartão VISA. É reconfortante verificar que a loja está muito bem organizada - disse para si mesmo. A logística deles deve ser do mesmo calibre. Certamente demoram mais um ou dois dias a processar aquilo na loja e não tarda nada ligam-me para ir buscar o iMac - pensou. 

 

Chegou o dia 10, ensolarado como os anteriores. O iPhone do Capuchinho sempre ao seu lado, à espera do telefonema do Lobo Mau. E nada… Intrigado, recorre de novo ao seu macbook pro e acede ao site da loja. Não queria acreditar. Então não podiam entregar os artigos? Nem uma explicaçãozinha? Um pedido de desculpas? "Ah, o caçador andou por aqui e o Lobo Mau teve de fugir para Paris mas já volta". Qualquer coisa?

 

 

Impaciente, o capuchinho contacta a Loja do Lobo Mau para obter explicações. 

- O que se passou? Há algum problema? Olhe que o meu aniversário já foi ontem! Então e o meu brinquedo senhores?

 

 

 

- Não! Não! Um erro de sincronização? Mas a loja é tão profissional, tão perfeita. Até me debitaram logo no VISA! - gritou o Capuchinho. 

O Capuchinho passou de vermelho a roxo. Quatro semanas! 672 horas! Quarenta mil, trezentos e vinte minutos! Co'a breca! Maldito lobo mau. 

 

Como evitar o desgosto? Como chegar a casa e olhar para o espaço vazio na secretária? A mesma secretária que dias antes fora cuidadosamente limpa e organizada para receber o novo brinquedo. Os cabos devidamente alinhados, a UPS a postos. Estava tudo previsto. Era só desembalar, ligar e esperar pelo reconfortante "tchaaaaaaam!".

 

Nos dias que se seguiram, o Capuchinho nem queria entrar no escritório. Onde antes reluzia a secretária em vidro acabada de limpar, viam-se agora restos de cartas, panfletos, contas a pagar e chávenas de café. 

 

Persistente, o Capuchinho decide manter a encomenda mas faz uma ressalva:

 

 

 

 

 

E pronto. Do mal o menos, pedem desculpas e garantem até 13 de Setembro - pensou. Esperemos até lá.

Os dias passaram. O Capuchinho deixava o macbook pro no trabalho enquanto em casa recorria a um velho macbook branco, a "Marmita" para consultar de vez em quando as novidades da loja do Lobo Mau. Chegou mesmo a pensar mudar-lhe o nome. Já não seria o "iMac Terceiro" mas "iMac Sebastião", o desejado.

 

E eis-nos chegados ao dia 8 de Outubro. Fazia exatamente 1 mês desde que o Capuchinho começara a sua odisseia. O iPhone toca "No caller ID". Do outro lado, uma voz calma identifica-se como sendo da Fn**, digo da Loja do Lobo Mau. Levanta-se, já sorridente, antecipando a boa nova. O Desejado chegou finalmente - gritou incontido!

Do outro lado, a voz continuou, "lamentamos informar mas não nos vai ser possível entregar a sua encomenda pois o produto foi descontinuado".

Enquanto ouvia incrédulo, o Capuchinho senta-se devagar. A sua orelha aquece. Os olhos fixam a letra F num cartaz na parede. É o F da fúria. A educação dos Capuchinhos impede-o de usar a letra F para invectivar a mãe o seu interlocutor. 

Este, continua: "propomos-lhe entregar um outro equipamento equivalente ou até melhor que vem substituir o anterior. Mas terá de aguardar pois o prazo de entrega é de 2 a 4 semanas".

A fúria dirigida à loja do Lobo Mau mistura-se com pena do pobre mensageiro titubeante. De nada serviria humilhá-lo ainda mais. É triste a história dos mensageiros. Que o digam os da Roma antiga quando traziam más notícias. "Ave Cesar. Trago-lhe más novas. O seu iMacum não veio mas temos um iMacorum alternativo se quiser aguardar pelos idos de Novembro". 

Vade retro! Quero falar já com o seu centurião! O Capuchinho exige falar com alguém responsável da loja. Alguém cujos denários e sestércios que leva para casa justifiquem um bom puxão de orelhas.

 

A centuriona responsável liga repetindo a ladainha. Avisa que a chamada será gravada para controlo de qualidade. O Capuchinho acede com agrado. "Que fiquem gravadas as minhas palavras" - diz. Que isso sirva para efetivamente saberem que "qualidade" não é termo adequado à loja do Lobo Mau. Antes a incompetência e a irresponsabilidade. São muitas as palavras começadas por "i" que o Capuchinho usa para caracterizar o serviço da loja do Lobo Mau; mal sabia ele que o i do iMac era uma delas.

 

A responsável continua: "se quiser, pode manter a encomenda. Em vez do que encomendou, iremos entregar-lhe um produto novo que vem substituir este".

Mas que produto é esse - pergunta o Capuchinho - quais as suas características?

 

A voz responde: 

- Não sabemos ainda. A Apple ainda não nos disse. Apenas nos diz que não pode entregar o que foi encomendado pois encontra-se descontinuado.

E conclui:

- Será necessário fazer nova encomenda à Apple e aguardar 2 a 4 semanas

 

O Capuchinho, já para além da raiva conclui:

- A senhora, no dia em que me iriam entregar a encomenda com 4 semanas de atraso, propõe-me aguardar mais 2 a 4 semanas por um produto novo cujas características desconhece. A senhora diz-me que só agora foram informados de que a Apple não pode enviar o que supostamente encomendaram há 4 semanas e quer que eu aceite uma troca por algo que não é capaz de descrever enquanto o meu cartão VISA foi debitado há 1 mês?

 

Mais triste do que enraivecido, o Capuchinho cancela a encomenda enquanto desabafa com os seus botões.

O estado a que chegaram a Loja do Lobo Mau e por arrasto a Apple em Portugal. Não é mau. É "rasco". Muito rasco. É pobre, pálido e patético.

 

 

 

À Loja do Lobo Mau fica o conselho: dediquem-se aos DVDs, PCs e outras tecnologias moribundas e deixem lá essa "coisa" da Apple em paz e sossego. 

À Apple fica outro: se estes são os vossos "agentes" no terreno, mais valia ficarem quietinhos e obrigarem-nos a ir comprar macs a Badajoz. Ficávamos todos mais bem servidos e com a vantagem de encher a bagageira com uns sacos de caramelos.

 

Update 10 de Outubro:

O valor não foi ainda devolvido. O Capuchinho ligou para a loja do Lobo Mau que fala em 5 dias úteis para a reposição do valor em causa.

It never ends...

 

Update 14 de Outubro:

Finalmente o valor aparece creditado no VISA.

Este é um "quick and dirty hack" que fiz há pouco. Como pode haver quem use o Skitch e queira publicar os screenshots na Cloud decidi publicar.

Este "hack" serve também para qualquer software que use FTP para publicar conteúdo. (iWeb anyone?)

 

Como a CloudPT não disponibiliza FTP para publicação, este script age como um servidor de FTP local que guarda os conteúdos enviados na pasta (também local) da CloudPT. Em seguida, a app oficial de sincronismo encarrega-se de fazer chegar os ficheiros ao destino. Este segundo passo pode ser facilmente substituído usando a API.

 

Para todos os outros casos que não o Skitch, este pequeno script é tudo o que necessita.

 

O caso do Skitch é mais complexo pois ele verifica se o ficheiro já se encontra no destino antes de fornecer o link final.

 

Premissas:

 

1. Criar uma pasta e "Partilhar com todos"

2. (opcional) criar um customdomain. Caso não queiram, podem usar o URL do link público como base

 

Então vamos lá.

 

No meu caso, tenho uma pasta chamada "cloud.poingg.com" que está partilhada com todos e disponível no endereço http://cloud.poingg.com servido pela CloudPT

A pasta encontra-se em /Users/eep/CloudPT/sites/cloud.poingg.com

Lá dentro existe uma pasta chamada "Skitch" onde vou colocar os screenshots.

 

Passo 1: Configurar o script

Basta editar estas duas linhas

 

MYCUSTOMDOMAIN_URI = 'http://cloud.poingg.com/Skitch'
MYLOCALFOLDER = '/Users/eep/CloudPT/sites/cloud.poingg.com/Skitch'

 

Passo 2: Iniciar o servidor de FTP

$ python skitchftpserver.py
Starting FTP server

 

Passo 3: Configurar a partilha do Skitch

 

 

E pronto. É tudo.

O script recebe o ficheiro, coloca na pasta local indicada e aguarda que a sincronização seja concluída até devolver o controle ao skitch.

Nesse momento o link gerado será válido.

 

Have fun :)

 

PS: Não é muito complicado pôr o script a correr no arranque. Ocupa muito poucos recursos da máquina.

 

First of all, sorry for posting this in english. Hopefully, I'll post this in portuguese too. I chose english as this might be interesting to a wide community of raspberry pi users out there.

 

So what's this all about? Really, it's about making good use of an extremely cheap, low powered computer that I got at Codebits last year. I actually replaced a $600 mac mini I had doing all these things before.

 

My goal was to have a reliable Media Center that could connect to a NAS device (I use Synology DS1511) and play all my videos, photos and MP3.

Also, at home we all have a computer and we all need to print or scan something every once in a while. I could have bought a network printer and scanner but instead I already owned an old Canon Inkjet printer, the PIXMA MP630 which has been doing it's job quite well for years. As it happens, this is a multifunction device and works as a scanner too. What follows is a recipe to have everything working.

 

You'll need a 4GB SD card and a Mac to start the procedure. Everything else is done on the Raspberry Pi.

You should have some knowledge of working "with black windows full of letters" as my daughter says.

 

1. Install raspbmc

 

Raspbmc is a debian wheezy distribution optimized for XBMC Media Center. There are some others but for some reason I like this one. Any other debian based should work though.

 

Open a terminal window on your mac, insert the SD card on a card reader and run these:


$ curl -O http://svn.stmlabs.com/svn/raspbmc/testing/installers/python/install.py
$ chmod +x install.py
$ sudo python install.py

 

Now follow the on screen instructions.

 

2. Boot raspbmc on your Raspberry Pi

 

Insert the card on the Raspberry pi. It will boot and complete the installation. Grab a coffee :)

Go ahead and play a bit with XBMC. It's great. And if you have one of those TVs that support CEC then you can even use your TV remote to navigate on XBMC. I know for a fact that Samsung and Sony TVs work quite well.

 

3. Log on to your Raspberry Pi

 

Open your terminal and run this:

 

$ ssh pi@192.168.1.169

 

it will prompt you for a password. Raspbmc uses the default password "raspberry". I advise you to change it just in case.
Take some time choosing your locale and time zone settings. It will only prompt you once for these.

 

4. Update your installation

 

The network installation of Raspbmc you just did will probably download all the latest packages. However, just to be sure, run these commands:


$ sudo apt-get update
$ sudo apt-get upgrade

 

5. Now it's time to setup the printer server.


$ sudo apt-get install cups

 

(Grab a coffee. This will take a while)

 

$ sudo usermod -a -G lpadmin pi

 

We're adding user "pi" to the lpadmin group. You'll need admin access to add printers. 

Now edit cupsd configuration:


$ sudo vi /etc/cups/cupsd.conf

 

And change Listem localhost:631 to Listen *:631.

Also change or add the following lines. Replace 192.168.1.* with the IP addresses of your network. My network is 192.168.1.0/24

 

Listen *:631

<Location />
Order allow,deny
Allow 192.168.1.*
</Location>

<Location /printers>
Order allow,deny
Allow 192.168.1.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow 192.168.1.*
</Location>

 

We're telling cups which IPs in the network have access to. If you trust your network and if you're sure there's no access from outside, you can skip editing the file and just enter:

 

$ sudo cupsctl --remote-admin 

$ sudo cupsctl --remote-any 

 

Now you have to restart CUPS

 

$ sudo /etc/init.d/cups restart

 

Please note the IP address of your Raspberry Pi. You'll need it later

 

$ ifconfig eth0  | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'

 

6. Add your printer

 

On your mac, grab a browser and point it to your Raspberry Pi's IP on port 631. Mine is on 192.168.1.169, so...

 

https://192.168.1.169:631

 

Don't worry about the certificate warning. It's self signed so your browser will rightfully warn you about it.

 

Now click on Administration and then on Add Printer

You should be prompted with a user and password. Of course, use "pi" as the user and "raspberry" as the password (or whatever new password you chose)

You should see a list of local printers. Mine was listed as "Canon MP630 series (Canon MP630 series)"

Press continue, review the information and make sure you check "Share this printer"

 

Choose a make and model and finally add the printer.

 

7. Add your new network printer on OSX

 

This is where I've seen most people make a mistake so beware. When you add this printer under OSX, the default driver is postscript based. This means the Mac will send a postscript file back to the CUPS server. Now the server has to convert postscript to whatever the printer understands. This is bad. This conversion is both memory and cpu consuming. Printing a page would take up to 10 minutes if you use these settings.

What I did was: I installed the correct driver on OSX as if I had the printer connected locally and used that driver. This means that all processing is done by my computer and the Raspberry Pi only has to forward it to the printer.

 

In my case, I installed CanonPrinterDrivers from Apple and chose MP 630 Series driver on the printer add dialog.

 

Printing done! Go ahead and print a few documents. It's fast and has almost no impact on the Raspberry. I actually had a video playing without problems.

 

8. Now for the scanner.

 

While installing CUPS you also installed SANE. So everything should be in place.

To be sure, run this command:

 

$ scanimage -L
device `pixma:04A9172E_145C70' is a CANON Canon PIXMA MP630 multi-function peripheral

 

So, SANE identified my device correctly. Actually, if I try:

$ scanimage --format=tiff > ~/myimage.tiff 

It works.

 

But now we need to tell SANE who is allowed to scan from the network.

Grab your editor:

 

$ sudo vi /etc/sane.d/saned.conf

 

And simply add this line

 

192.168.1.0/24

 

Again, change it to match your network. This means that every IP from 192.168.1.1 to 192.168.1.255 will be able to use the scanner.

Now make sure SANE starts by default. You need to edit another file:

 

$ sudo vi /etc/default/saned

 

And change this line to yes

RUN=yes

 

9 Setup your scanner client under OSX

 

Now, unfortunatelly, Apple has been shooting itself in the foot as far as network scanning is concerned. With the latest versions (I tried 10.7 and 10.8) you can't make your scanner appear under "Image Capture". However, with a few tweaks you can make things work.

 

First, you need to install SANE Backends for OSX. There's a nice port here: http://www.ellert.se/twain-sane/

Install libusb and SANE Backends, SANE Preferences Pane in this order

 

Now you must tell your mac where to search for the scanner.

Edit this file:

 

$ vi /usr/local/etc/sane.d/net.conf

 

And add your Raspberry Pi's IP right at the end.

In my case, 192.168.1.169

 

Now go ahead and see if your mac recognizes the network scanner:

 

$ scanimage -L
device `net:192.168.1.169:pixma:04A9172E_145C70' is a CANON Canon PIXMA MP630 multi-function peripheral

 

There! If you're a command-line fan, you can simply use "scanimage"

If you prefer a gui to scanimage, download "snac" from here http://www.wallner.nu/fredrik/software/snac/

 

It's just a GUI frontend to scanimage but it allows you to scan and save the picture.

 

I hope this is useful to somebody.

Cheers.


Sobre mim

foto do autor




Redes

Mastodon


Arquivo

  1. 2023
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  14. 2022
  15. J
  16. F
  17. M
  18. A
  19. M
  20. J
  21. J
  22. A
  23. S
  24. O
  25. N
  26. D
  27. 2021
  28. J
  29. F
  30. M
  31. A
  32. M
  33. J
  34. J
  35. A
  36. S
  37. O
  38. N
  39. D
  40. 2020
  41. J
  42. F
  43. M
  44. A
  45. M
  46. J
  47. J
  48. A
  49. S
  50. O
  51. N
  52. D
  53. 2019
  54. J
  55. F
  56. M
  57. A
  58. M
  59. J
  60. J
  61. A
  62. S
  63. O
  64. N
  65. D
  66. 2018
  67. J
  68. F
  69. M
  70. A
  71. M
  72. J
  73. J
  74. A
  75. S
  76. O
  77. N
  78. D
  79. 2017
  80. J
  81. F
  82. M
  83. A
  84. M
  85. J
  86. J
  87. A
  88. S
  89. O
  90. N
  91. D
  92. 2016
  93. J
  94. F
  95. M
  96. A
  97. M
  98. J
  99. J
  100. A
  101. S
  102. O
  103. N
  104. D
  105. 2015
  106. J
  107. F
  108. M
  109. A
  110. M
  111. J
  112. J
  113. A
  114. S
  115. O
  116. N
  117. D
  118. 2014
  119. J
  120. F
  121. M
  122. A
  123. M
  124. J
  125. J
  126. A
  127. S
  128. O
  129. N
  130. D
  131. 2013
  132. J
  133. F
  134. M
  135. A
  136. M
  137. J
  138. J
  139. A
  140. S
  141. O
  142. N
  143. D
  144. 2012
  145. J
  146. F
  147. M
  148. A
  149. M
  150. J
  151. J
  152. A
  153. S
  154. O
  155. N
  156. D
  157. 2011
  158. J
  159. F
  160. M
  161. A
  162. M
  163. J
  164. J
  165. A
  166. S
  167. O
  168. N
  169. D
  170. 2010
  171. J
  172. F
  173. M
  174. A
  175. M
  176. J
  177. J
  178. A
  179. S
  180. O
  181. N
  182. D
  183. 2009
  184. J
  185. F
  186. M
  187. A
  188. M
  189. J
  190. J
  191. A
  192. S
  193. O
  194. N
  195. D
  196. 2008
  197. J
  198. F
  199. M
  200. A
  201. M
  202. J
  203. J
  204. A
  205. S
  206. O
  207. N
  208. D
  209. 2007
  210. J
  211. F
  212. M
  213. A
  214. M
  215. J
  216. J
  217. A
  218. S
  219. O
  220. N
  221. D