Notifier for Mac OS X

Notifier for Mac OS XOra, estando eu cansado da simplicidade extrema do “notificador” oferecido pelo GMail, fui ao site da Apple à caça de algo que satisfizesse melhor as minhas necessidades. Pois bem, deparo-me com o Notifier.

Munido com uma interface muito mais limpa e simplista do que o seu “concorrente oficial”, o Notifier permite a utilização de até 4 contas GMail em simultâneo, permitindo escolher o intervalo de tempo com que cada conta é verificada. É bastante agradável à vista e, tanto quanto reparei até o momento, bastante funcional. Um must-have!

Link do projecto

Serializable Vs Snapshot Isolation

Já aqui tinha falado sobre níveis de isolamento da base de dados, neste post irei explicar as principais diferenças entre o Serializable e o Snapshot Isolation, enunciando as principais vantagens de cada um.

Antes de mais, uma breve explicação do que consiste o Snapshot Isolation. Em base de dados, o nível de isolamento Snapshot, consiste em permitir as transacções operar sobre um imagem da base de dados (daí o nome snapshot), garantindo assim que todas as operações realizadas por uma transacção irão “ver” uma versão consistente da base de dados e apenas irá submeter as mudanças efectuadas se não foi feita nenhuma alteração concorrente desde o momento do snapshot. Caso duas transacções concorrentes modifiquem os mesmos dados, uma delas vai ter que falhar e fazer roll-back, começando do inicio.

Tanto o nível Serializable e o Snapshot Isolation oferecem consistência durante uma transacção, são as duas seguras não permitindo nenhum dos fenómenos indesejados falados no post anterior, a diferença entre os dois é que o Snapshot Isolation é um método de controlo de concorrência optimista enquanto o Serializable é pessimista, isto porque o snapshot parte do principio que não irá ocorrer conflitos entre transacções, e caso haja cancela a transacção e faz rollback, permitindo assim um elevado nível de concorrência, já o Serializable é pessimista porque parte do principio que vai ocorrer muitos conflitos causado pelo acesso aos dados, logo impede transacções concorrentes garantindo a consistência mas reduzindo a concorrência. Destes dois métodos o Snapshot Isolation é mais eficaz pois o Serializable adquire range-locks de maneira a garantir que mais nenhuma transacção concorrente vai aceder aos mesmos dados o que diminui muito o desempenho, pois como já foi dito, apesar de garantir consistência diminui drasticamente a concorrência. Já o Snapshot Isolation por sua vez não adquire qualquer lock de dados, em vez disso a transacção trabalho sobre uma imagem da base de dados tirado no inicio da transacção, permite portanto o máximo nível de concorrência, caso duas transacções modifiquem os mesmo dados ao mesmo tempo, uma delas vai ter que falhar e fazer roll-back.

Níveis de isolamento da Base de Dados

No âmbito das bases de dados, isolamento é um propriedade que define quando e como uma mudança feita por uma transacção se torna visível para outras transacções concorrentes. O Isolamento é também uma das propriedades do ACID.

A maioria dos SGBD permitem definir o nível de isolamento das transacções, permitindo controlar o grau de concorrência da base de dados. Cabe ao programador decidir qual o nível de isolamento que mais se adequa a aplicação em causa, a maior parte das aplicações não requerem um nível de isolamento muito restritivo, permitindo assim uma grande concorrência e evitando a possibilidade de deadlocks, pois quanto mais alto o nível de isolamento, menos concorrência permite e mais probabilidade do sistema entrar em deadlock de recursos.

Existem quatro níveis de isolamento definidos no standard ANSI/ ISO SQL.  São eles o Read Uncommitted, Read Committed, Repeatable Read e o Serializable, estes níveis são classificados de acordo com a possibilidade de ocorrência de determinados fenómenos indesejados, que podem ser “Dirty reads“, “non-repeatable reads” e “Phantons”, tanto os níveis como os fenómenos são de seguida devidamente explicados.

Dirty Read Non-Repeatable
Read
Phantom
Read Uncommitted Sim Sim Sim
Read Committed Não Sim Sim
Repeatable Read Não Não Sim
Serializable Não Não Não

Dirty Read (Read uncommitted)- Ocorre quando uma transacção (T1)  modifica determinada informação e de seguida uma outra transacção (T2) lê a mesma informação antes que T1 faça commit dessa informação ou rollback. Caso T1 faça rollback, T2 leu informação que nunca chegou a existir oficialmente na base de dados.

Non-Repeatable Read– Quando uma transacção T1 está aceder a informação, e uma outra transacção T2 apaga ou modifica essa informação T1 não vai conseguir voltar a reler a informação caso seja necessário.

Phantom (Repeatable reads)- É quando uma transacção T1 lê um grupo de registos que satisfazem uma dada condição, de seguida uma transacção T2 modifica ou insere um registo que satisfaz essa condição e faz commit, de seguida se T1 voltar a a ler os registos nas mesmas condições irá obter um resultado diferente.

Níveis de isolamento

Read Uncommitted – Este é o primeiro e menos proibitivo nível de isolamento. Neste nível podem ocorrer os três fenómenos pois não é adquirido qualquer tipo de lock de dados.

Read Commited – Este nível é o usado por defeito no Oracle e no SQL Server. Neste nível os Dirty Reads não ocorrem pois são usados locks partilhados que asseguram que nenhuma informação corrompida ou alterada por outra transacção e que ainda não tenha sido commited é lida, no entanto não assegura que os dados não vão ser alterados antes do fim da transacção, permite portanto a ocorrência de non-repeatable reads.

Repetable Read – Neste nível são adquiridos locks de leitura, prevenindo a ocorrência de dirty reads e de non-repetable reads mas permite a ocorrência de Phantoms, pois não são adquiridos “range-locks“.

Serializable – No nível serializable todas as transacções ocorrem num meio fechado, isto é, são todas executadas de modo sequencial. O SGBD pode executar transacções concorrentemente apenas se a ilusão de seruação for mantida, ou seja, se uma transacção não partilhar qualquer tipo de dados com a outra. Neste nível são usados range locks, nao permitindo portanto qualquer ocorrencia de pahntoms ou de outros fenomenos.

Neverball

neverball

Hoje deixo-vos aqui uma sugestão para matarem o tempo naqueles momentos em que não há nada (de melhor) para se fazer, ou simplesmente para fazer uma pausa no trabalho.

O jogo que vos aconselho é o neverball, um jogo simplesmente viciante em que o objectivo é controlar uma pequena bola através de um mapa até ao ponto de saída do mapa, apanhando moedas pelo caminho havendo ainda um tempo limite para terminar o nível. Mas o que torna este jogo diferente e original é que não se controla directamente a bola, mas sim a próprio terreno de jogo, sendo a gravidade a responsável pelo movimento da bola, o que torna o jogo muito mais interessante.

De salientar ainda que o neverball se encontra disponivel para windows, linux e mac osx, é gratuito e é possivel descarregar dezenas de novos mapas, bem como desenhar os proprios mapas.

Pior site do mundo!!!

Foi-me apresentado hoje na aula de Engenharia de Aplicações o pior site do mundo, obrigado professor José Creissac 🙂

Só tenho uma palavra: Impecável!

VLC: Sincronizar som e legendas.

vlcApós os posts de como corrigir as legendas no VLC e como ver filmes em ascii no VLC, venho aqui trazer umas dicas simples de como sincronizar as legendas e/ou o som. É bastante simples na verdade, o programa vem com atalhos para essas acções.

Para sincronizar as legendas, podem ser utilizados os atalhos de teclado H e J para, respectivamente, diminuir ou aumentar o atraso com que as legendas aparecem.

Para sincronizarem o som o atalho é em tudo semelhante, só que neste caso as teclas a utilizar são G e H para atrasar ou adiantar o som.

vlc subtitle syncvlc audio sync

Links mais ou menos úteis

keybr.com | Typing at the speed of thought!

keybr.com

Um excelente site para melhorar a velocidade de escrita no teclado. Possui suporte para 7 línguas (português incluído), e sendo mesmo possível escolher o layout do teclado consoante a zona em que se encontra.

Link

Task List Programs

task list programs

Site bastante útil, possui uma enorme base de dados com nomes dos processos do windows e a que programa se referem. Bastante útil para quando têm um PC já cheio de lixo e não sabem qual processo faz o que.

Link

On-My.TV

on my tv

Provavelmente dos links que aqui deixo hoje é este o que mais utilizo (talvez por ser um viciado em séries): um site que contém um calendário com todas as séries que saem diariamente.

É possível filtrar apenas as séries desejadas e fazer o download de um ficheiro para o iCal.

Link

E por hoje é tudo 😀

Forçar “esvaziar reciclagem”

empty trash canPara aquelas vezes em que, por motivos alheios à nossa compreensão, o OS X não nos deixa esvaziar a reciclagem fica aqui um pequeno truque que permite forçar a eliminação dos items.

Basta para isso abrir a reciclagem e ter premida a tecla alt enquanto se clica no botão “Empty“, mostrado na figura abaixo.

empty recycle bin

Rápido e simples.

SAN e NAS – Qual utilizar?

Tendo em consideração as características da SAN e do NAS bem como as suas principais diferenças pode-se concluir que para escolher qual a arquitectura de disponibilização de dados que mais se adapta ao problema é necessario ter em conta uma série de factores: é necessario analisar a natureza dos dados e das aplicações que os vão usar. Será um sistema muito activo ou não (com muita carga na rede, com grandes transferências de dados). Qual é o nível de disponibilidade do sistema que se deseja? Os dados devem estar centralizados? É necessario ainda ter também em atenção o crescimento esperado do sistema, para conseguir fazer uma decisão adequada para o futuro.

Sendo assim, podemos concluir o seguinte.

SAN:

Perfeito para um sistema com as seguintes características:

  • Necessidade de grande largura de banda, sistema que movimenta grandes volumes de dados.
  • Aplicações a correr paralelamente
  • Aplicações distribuídas
  • Necessidade de backups regulares
  • Sistema com grande disponibilidade

NAS:

Perfeito para sistemas com as seguintes características:

  • Manutenção e armazenamento de dados precisa de ser centralizado
  • “Poucos” dados para armazenar
  • A variável custo é limitadora do sistema
  • Sistema com um crescimento esperado nulo ou pequeno
  • Vários clientes com arquitecturas e SO’s diferentes (heterogeneidade de clientes)
  • Acesso a informação rápido ao nível do ficheiro “file-level”

Artigos aconselhados:

SAN e NAS – O que são

SAN e NAS – Principais diferenças

SAN Vs NAS – Principais diferenças

aqui tinha falado sobre o  SAN e o NAS, neste artigo irei apenas fazer uma comparação dos dois, evidenciando as suas principais diferenças.

SAN NAS
Utiliza fibra óptica nas ligações, tendo uma rede própria separada do rede local, possui uma grande dimensão Utiliza ligações TCP/IP, esta ligado a própria rede local, pequena dimensão
Oferece apenas armazenamento de dados, deixando o sistema de ficheiros ao cargo do cliente Oferece armazenamento e sistema de ficheiros, oferece e gere tudo que é necessário para a correcta disponibilização dos dados de forma totalmente autónoma
O acesso aos dados é de “baixo nível” idêntico ao usado em discos ATA, pois o servidor pede blocos de dados, é portanto “block-level” O acesso aos dados é de “alto nível” pois os clientes pedem uma porção de um determinado ficheiro abstracto em vez de um bloco de dados de um disco, é “file-level”
Caro e complexo de implementar e gerir, necessita de mão obra especializada. Só justificada em grandes organizações com grandes redes de computadores Simples e barato, fácil de gerir, normalmente é possível gerir um sistema NAS por uma interface WEB de forma simples e rápida

Artigos aconselhados:

SAN e NAS – O que são

SAN e NAS – Qual utilizar?

Design a site like this with WordPress.com
Iniciar