If you travel a lot and work in harsh condition those brand new Transcend cards are definitely for you. Their new UHS-II U3 SD card is super well built and is:
– waterproof. Resists for 30minute in water in-depth up to 1m (IS IPX7 equivalent test)
– freeze proof down to -25 Celsius
– hot proof up to 85 Celsius
– Electrostatic immunity (complies with the EMC IEC61000-4-2, and has resistance to static electricity.)
– Resistance and X-ray (ISO7816-1 compliant, will not be affected by the X-ray inspection of the airport!)
– And shock resistance
There is yet no info about release nor any preorder option. But the cards are rumored to cost 1500 Euro the 64GB and 900 Euro the 32GB.
Price info via DSLRmagazine.
Em minha relembrança de alguns contos extraordinários, gostaria de começar por (1) “Eveline”, de James Joyce, narrativa que utilizo em uma de minhas aulas da Oficina de Escrita Criativa.
Trata-se de uma narrativa curta, concentrada na personalidade da jovem que, em grande parte do texto, permanece sentada à janela, “a cabeça apoiada na cortina, aspirando o poeirento odor do cretone”. A indefectível tristeza dessa história — a de uma jovem maltratada pelo pai despótico e alcoólatra, sofrendo humilhações no emprego e apegada à lembrança da morte de sua mãe — agride-me sempre. É inevitável.
O abrupto e perfeito salto no tempo, quando o narrador transfere a história para a plataforma de embarque do porto de North Wall, e a imagem da mãe que, no leito de morte, grita “— Derevaun seraun” [do gaélico: “A dor é o fim do prazer”] em “desvairada insistência” são, para mim, os dois elementos-chave, sem os quais o final não teria sua carga dramática.
Poucas coisas podem ser mais trágicas do que o temor de buscar a felicidade — mas, no caso de Eveline, a desventura é ampliada pelo fado que herdou da mãe: “uma existência de sacrifícios banais terminada em loucura”.
Outro conto incrível que faz parte de Dublinenses é (2) “Os mortos”, extensa narrativa, composta na forma de um adágio cujo crescendo nos envolve vagarosamente. Os elementos que se concentram no final são enunciados passo a passo, engendrando uma trama sutil, de fecho inesperado, protagonizada pelo culto e metódico Gabriel Conroy, dividido entre o saudosismo, a melancolia e os valores representados pelas tias — a polidez, a hospitalidade, a gratidão — e a força do presente, seu apelo à vida e à dedicação àqueles que estão vivos.
Ao mesmo tempo, o amor de Gabriel por sua esposa, o carinho, a admiração e o desejo que tumultuam sua consciência nos parágrafos que antecedem o fim, tudo se congrega para criar um personagem excepcional.
Quando as seguranças de Gabriel desmoronam, não é apenas o clima de paixão e expectativa sensual que se quebra, mas a própria vida, obrigando-o a reconhecer que este mundo também pertence aos mortos — e que temos pouco ou nenhum poder sobre eles.
Se “Eveline” possui as características de uma cutilada fatal, “Os mortos” é uma lenta prostração, um derreamento que conduz seu protagonista à completa incerteza.
Outro conto que nunca sai de minha memória é (3) “Brincadeira”, de Anton Tchekhov, o primeiro que li desse russo genial, na tradução de Tatiana Belinky. No “claro dia de inverno”, a narrativa se abre numa sucessão de tons — a “prata cintilante”, o branco da neve, a luz solar refletindo-se em tudo —, apenas para dar ainda mais vida ao pano carmim que forra o trenó.
Pobre Nadiejda Petrovna, sutilmente assediada pelo narrador, um brincalhão dividido entre a futilidade e o sadismo. O trenó, sibilante, desce o morro alto, enquanto ela se ilude a ponto de enfrentar seu medo. E outra vez, e mais outra, apenas para ouvir a deliciosa mentira, deixando-se afogar no vício do amor que é apenas uma miragem invernal.
Perdida na incerteza de ter realmente escutado a declaração de amor, resta-lhe sonhar — mas sonhar para toda a vida. O presunçoso narrador fecha sua história com uma nota de tristeza, e jamais saberemos suas verdadeiras razões. Mas não importa. Nas poucas páginas, Tchekhov nos dá uma amostra das complexas relações humanas, do jogo, de suposta inocência, que se estabelece entre homem e mulher.
Ao final, tudo se dilui, temos a sensação de que eles continuam subindo e descendo o morro coberto de neve, pois esse jogo, esse estranho jogo no qual muitas vezes nos ferimos, é um jogo eterno.
O veludo da prosa de Mário de Andrade está todo em (4) “Será o Benedito!”. Em poucos parágrafos, Mário ensina como o belo despreza afetações.
Hospedando-se, durante alguns dias, na fazenda de um conhecido, o narrador estabelece amizade com um garoto — “o negrinho era quase só pernas, nos seus treze anos de carreiras livres pelo campo”.
A princípio acanhado, o menino sequer enfrenta o olhar do homem da cidade; e reage de maneira imprevista, disparando propriedade afora: “Deu uma risada quase histérica, estalada insopitavelmente dos seus sonhos insatisfeitos, desatou a correr pelo caminho, macaco-aranha, num mexe-mexe aflito de pernas, seis, oito pernas, nem sei quantas, até desaparecer por detrás das mangueiras grossas do pomar”.
O trecho acima é bom exemplo do estilo de Mário: o encadeamento das frases, pontuadas por escolhas lingüísticas precisas — “macaco-aranha”, “mexe-mexe”, a repetição do substantivo “pernas” —, dá vida à correria do garoto.
Campo e cidade, rural e urbano, são elementos em permanente desacordo nessa narrativa. O menino tem na cidade a sua “única obsessão” — e o narrador lhe apresenta a vida urbana, repetidamente, como símbolo do mal e da morte. O narrador, aliás, é taxativo sobre os malefícios da urbe: magro como é, o garoto morreria, com certeza, de tuberculose.
Resignado, “com profunda melancolia”, o garoto aceita permanecer na fazenda. O narrador parte. Duas semanas depois, uma carta anuncia a morte do menino, vítima “de um coice de burro bravo que o pegara pela nuca”. A última frase do texto revela, então, o porquê da narrativa: “É o remorso comovido que me faz celebrá-lo aqui”.
História tristíssima, como se vê. A inexorabilidade do destino apresenta-se com terrível desfaçatez: tentando preservar a criança em seu locus amoenus, o bondoso protetor na verdade a condena. O azar se impõe como resultado das boas intenções — e o inocente é lançado ao precipício.
A injustiça iminente, aliás, já havia sido antecipada pelo narrador, quando, diante das histórias de arranha-céus, cantores de rádio e chauffeurs, ele diz que “Benedito me mostrava os dentes do seu riso extasiado, uns dentes escandalosos, grandes e perfeitos, onde as violentas nuvens de setembro se refletiam numa brancura sem par”.
A resignação do narrador não só fecha a tragédia, mas a complementa: o que fazer diante de seu erro involuntário, a não ser experimentar, em silêncio, o vazio? Muitas vezes, o terror que o trágico impinge ao homem sequer lhe dá o direito de se desesperar.
Impossível não descobrir certa ironia no fato de a história ter sido publicada em uma coleção infanto-juvenil da Cosac Naify. Não se tratou, contudo, de escolha errada. Ao contrário, crianças e jovens devem ser introduzidos aos mistérios do trágico, esse caráter indissociável da vida. E se for pelas mãos de Mário de Andrade, tanto melhor.
Também aprecio reler Leonardo Sciascia. Siciliano apaixonado por Stendhal — aliás, da mesma forma que Lampedusa, também nascido na Sicília —, Sciascia escreveu, dentre outros, o bem-humorado (5) “A remoção”.
Usando de ironia, Sciascia coloca no mesmo patamar a fé cega de Filomena e a de seu marido, o comunista Michele Tricò. Este cobre a mulher de injúrias por ela participar de uma manifestação contra a retirada da imagem de Santa Filomena da igrejinha local, pois o Vaticano, após longos estudos, concluiu que a santa jamais existira.
Ainda acusando a esposa de ignorante, Michele senta-se para ler o L’Unità, órgão oficial do Partido Comunista Italiano, quando descobre, logo na capa do jornal, a notícia de que iriam remover a múmia de Stalin de seu mausoléu. Num rompante de indignação, o comunista age da mesma forma que sua mulher, movido pela fé infantil. A justaposição das duas personalidades resulta numa história hilariante — e o resultado, a crítica de Sciascia, fere de morte os fanatismos.
Mas há outro Sciascia, ainda melhor: (6) “O mar cor de vinho” é história marcada de lirismo melancólico, na qual certo engenheiro, próximo dos 40 anos, descobre o amor numa viagem de trem à Sicília.
Um casal de professores e dois filhos pequenos, que viajam com o protagonista na mesma cabine, despertam sua afeição à vida familiar; e ele, lentamente, deixa-se invadir pela beleza triste da jovem que acompanha o casal. “Uma viagem é como uma representação da existência, pela síntese, pela contração de espaço e tempo; enfim, um pouco como o teatro: e nela se recriam inteiramente, com um fundo de ficção inesperado, todos os elementos, as razões e as relações da nossa vida”, raciocina o engenheiro.
Todos esses sentimentos vão se intensificando no transcorrer da longa viagem, atingindo seu clímax diante da visão do mar de Taormina, que o menino Nenè, maravilhoso personagem, debochado e inteligente, compara ao vinho. O inusitado da figura completa o feitiço que toma o engenheiro.
Ao final, dividido entre o amor, a timidez, a repentina paixão e o freio que a maturidade impõe aos instintos, ele se sabe vítima de um sentimento do qual não poderá fugir — o que não o entristece, mas também não o alegra completamente.
Assim, Sciascia nos oferece uma delicada e prazerosa viagem, não à Sicília, mas em meio a essa “contração de espaço e tempo” que é o conto magistral, sem defeitos.
Para finalizar estes contos extraordinários, um de meus preferidos, (7) “A tortura pela esperança”, de Villiers de L’Isle Adam.
Basta o parágrafo inicial para que o leitor seja aclimatado, pois os elementos essenciais estão todos ali: o esterco, as manchas de sangue, os sons típicos da masmorra; e nesse ambiente pestilento, o algoz e sua vítima. Quando o primeiro fala, o que para nós soa como cinismo, para ele resume-se à expressão sincera de sua fé, fato que só aprofunda nossa repulsa.
O conto é uma lição de economia de recursos: o cenário, a cela e um corredor alongado graças ao efeito semelhante que, no cinema, Hitchcock imortalizou; dois personagens centrais — e os restantes, sombras, passos, um olhar aterrador; o tempo, a eternidade nascida da esperança e do medo.
Com hábil sadismo, o narrador nos arrasta em direção à porta de saída, alimentando e destruindo nossa expectativa. Ao final, quando descobrimos que não há maior horror do que o provocado pelo próprio homem, essa mesma voz ainda nos reserva detalhes hediondos: as pontas do cilício, certo olhar — e o hálito mais repugnante que alguém pode sentir.
This is the first product of Libiquity to achieve RYF certification. The Taurinus X200 has the same architecture and certified software as the Libreboot X200, which was certified in January 2015. The Taurinus X200 can be purchased from Libiquity at https://shop.libiquity.com/product/taurinus-x200.
The Taurinus X200 is a refurbished and updated laptop based on the Lenovo ThinkPad X200, with all of the original low-level firmware and operating system software replaced. It runs the FSF-endorsed Trisquel GNU/Linux operating system and the free software boot system, Libreboot. Perhaps most importantly, all of Intel's Management Engine (ME) firmware and software has been removed from this laptop.
The FSF has previously written about Intel's ME, calling attention to how this proprietary software introduces a fundamental security flaw -- a back door -- into a person's machine that allows a perpetrator to remotely access the computer over a network. It enables powering the computer on and off, configuring and upgrading the BIOS, wiping the hard drives, reinstalling the operating system, and more. The functionality provided by the ME could be a very useful security and recovery measure, but only if the user has control over the software and the ability to install modified versions of it.
"With a rise in manufacturing of treacherous computing chips and each successive version of Intel's Management Engine becoming more treacherous than the last, it would seem that the public is being inundated with hardware that is defective by design. Therefore, it is refreshing to have companies like Libiquity making strong commitments to computer user freedom. The FSF is excited to be able to award the use of the RYF certification mark on yet another laptop," stated FSF's licensing & compliance manager, Joshua Gay.
Libiquity (a portmanteau of "liberty" and "ubiquity") defines its mission as "freedom everywhere, in personal electronics and embedded systems." In addition to providing hardware that respects your freedom, Libiquity also leads the development of ProteanOS, an FSF-endorsed distribution, and they work in partnership with and contribute to Libreboot.
"Libiquity is proud that its first hardware product, the Taurinus X200 subnotebook, has been certified by the FSF to respect its users' freedom and privacy. We are honored to be the first US company with an RYF-certified laptop product, and we look forward to further working with the FSF and the free software community to develop and offer additional freedom-respecting products and services in the future," stated founder and CEO, Patrick McDermott.
To learn more about the Respects Your Freedom hardware certification, including details on the certification of the Taurinus X200, visit http://www.fsf.org/ryf. Hardware sellers interested in applying for certification can consult http://www.fsf.org/resources/hw/endorsement/criteria.
Subscribers to the FSF's Free Software Supporter newsletter will receive announcements about future Respects Your Freedom products.
The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at fsf.org and gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.
More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.
Founded by CEO Patrick McDermott, Libiquity is a privately held New Jersey, USA company that provides world-class technologies which put customers in control of their computing. The company develops and sells electronics products, provides firmware and embedded systems services, and leads the development of the innovative and flexible ProteanOS embedded operating system. More information about Libiquity and its offerings can be found on its Web site at http://www.libiquity.com/.
Licensing & Compliance Manager
Free Software Foundation
+1 (617) 542 5942
Founder and CEO
In the last two post, I've briefly discussed results of a benchmark measuring PostgreSQL performance with different filesystems. The first post compared EXT4 and XFS, and the second one was mostly dealing with the problems I've ran into when benchmarking BTRFS.
In the discussion, I've been asked to benchmark ReiserFS. I haven't really planned to benchmark this file system because ... Let's say ReiserFS does not have the best reputation when it comes to reliability due to historical reasons. According to some sources the motto of the development was essentially "performance over correctness" which is approach database folks don't really like. I don't know how much that's true for the current state of ReiserFS, or how that applies to the new ReiserFS 4 (which is not merged and I don't think it'll ever happen).
But database people are rather conservative when it comes to storage reliability, so even if all the issues got fixed and the current version is reliable, it's unlikely to become very popular in this group soon. Factor in the fact that the development of ReiserFS pretty much stopped (in favor of the Reiser4, which did not get merged for years), so the code pretty much in maintenance mode only. Which is not necessarily bad, but it also means no significant reworks necessary for new features and performance improvements (which was the purpose of Reiser4).
So let's see if ReiserFS 3 actually performs so much better than the common file systems (EXT4 and XFS), as the users often believe ...
The short answer is "no". At least not on the workload measured by pgbench (a lot of random I/O) and on this particular hardware (good SSD), ReiserFS 3 actually performs worse than both XFS and EXT4.
On read-only benchmarks, all the filesystems perform pretty much exactly the same, irrespectedly of the amount of data. For example on the large data set, you'll get something like this:
The chart shows throughput (transactions per second) with different number of clients, for those three filesystems. And there's pretty much no difference at all.
The same is true for all read-only benchmarks and pretty much all traditional file systems, actually - if your workload is read-mostly, the choice of file system is going to do very little difference. The limit is going to be either at the storage or CPU level, and all the file systems perform pretty much exactly the same. (CoW-based filesystems are an obvious exception, of course.)
Read-write benchmarks are a different story - that's where the filesystems start to differ. Let's see read-write bechmarks on the large data set:
EXT4 seems to be slightly faster than XFS (the difference is rather small until 8 clients, so it seems like a scalability issue). But ReiserFS is losing very visibly even on low client counts, losing ~25% on average. That's a lot, especially for a file system that was designed with performance as a primary goal.
How does it look on a smaller data set, that fits into RAM?
The difference between EXT4 and XFS pretty much disappeared and ReiserFS is catching up, but the difference is still pretty obvious. I'm not goint to show results for the small data set - in that case all the file systems perform exactly the same.
In the previous posts I've repeatedly nagged about jitter - getting high throughput is nice, but it's much less useful if the performance fluctuates a lot. This is the usual "throughput vs. latency" tradeoff where you exchange a bit of throughput for lower latency, but how much througput you need to sacrifice depends on how well the system is designed, implemented and optimized. EXT4 and XFS handle this quite well - EXT4 has slightly better throughput, XFS has a bit lower jitter. BTRFS is not mature yet and both throughput and jitter are rather awful. So what about ReiserFS?
Not bad, I guess. Compare this to XFS (lower jitter than EXT4):
This is the one thing where ReiserFS 3 performs better - the jitter is slighly lower, and also the dips (that happen due to full page writes after CHECKPOINT) seem to be gone. That's nice, but you could also ask whether this is worth the 25% throughput drop.
The benchmarks were done on a system with Intel i5-2500 CPU, 8GB of RAM and Intel S3700 100GB SSD, connected using SATA-III (I've previously incorrectly stated it's a S3500 model, i.e. a "lower" model, sorry for that - I do have S3500 in another system and got a bit confused).
The system is running a 4.0.4 kernel and the file systems were created/configured like this:
mkfs.ext4 -E stride=128,stripe-width=128 /dev/sda4 mkfs.xfs -f -d agcount=32,su=512k,sw=1 -l su=256k /dev/sda4 mkfs.reiserfs -f /dev/sda4
with these mount options:
/dev/sda4 on /mnt/data type ext4 (rw,noatime,nobarrier,discard) /dev/sda4 on /mnt/data type xfs (rw,noatime,nobarrier,discard) /dev/sda4 on /mnt/data type reiserfs (rw,noatime,barrier=none)
It was recommended to also use "notail" mount option for ReiserFS, I don't think that makes any difference as that only applies to small files that can fit into the tree directly. But the files used for PostgreSQL are rather large and always multiples of 8kB, so not using this option should make no difference.
I'm a bit disappointed by the ReiserFS results - it's not terrible, but I've expected a bit more from a file system so much praised by the users for it's performance. I'm wondering where does this belief that it beats EXT4 or XFS comes from.
I'd guess it's at least partially due to obsolete experience - it's quite possible ReiserFS really was much faster than the other filesystems back in 2001 when it was introduced, but while EXT4 and XFS made a solid progress since then, the development of ReiserFS v3 mostly ceased (due to Namesys vanishing in 2007 and concentrating on Reiser4 which is not ready 8 years later).
Of course, ReiserFS 3 was designed for the rotational storage common in 2001, so the design might have done compromises that were irrelevant on spinning rust but are hurtful on flash storage (which is what the benchmark is using). But that only confirms the previous argument of stagnating development.
For me, the results only confirm that I'm not interested in using ReiserFS with PostgreSQL. Even if the data corruption issues were just a FUD or fixed long time ago, I don't see what I'd gain from using it instead of EXT4 or XFS.
So a while ago we started talking about this userops thing. Basically, the idea is "deployment for the people", focusing on user computing / networking freedom (in contrast to "devops", benefits to large institutions are sure to come as a side effect, but are not the primary focus. There's kind of a loose community surrounding the term now, and a number of us are working towards solutions. But I think something that has been missing for me at least is something to test against. Everyone in the group wants to make deployment easiser. But what does that mean?
This is an attempt to sketch out requirements. Keep in mind that I'm writing out this draft on my own, so it might be that I'm missing some things. And of course, some of this can be interpreted in multiple ways. But it seems to me that if we want to make running servers something for mere mortals to do for themselves, their friends, and their families, these are some of the things that are needed:
I think this one's a given. If your solution isn't free and open source software, there's no way it can deliver proper network freedoms. I feel like this goes without saying, but it's not considered a requirement in the "devops" world... but the focus is different there. We're aiming to liberate users, so your software solution should of course itself start with a foundation of freedom.
It's important to users that they be able to have the same system produced over and over again. This is important for experimenting with a setup before deployment, for ensuring that issues are reproducible and friends and communities helping each other debug problems when they run into them. It's also important for security; you should be able to be sure that the system you have described is the system you are really running, and that if someone has compromised your system, that you are able to rebuild it. And you shouldn't be relying on someone to build a binary version of your system for you, unless there's a way to rebuild that binary version yourself and you have a way to be sure that this binary version corresponds to the system's description and source. (Use the source, Luke!)
Nonetheless, I've noticed that when people talk about reproducibility, they sometimes are talking about two distinct but highly related things.
The ability to compile from source any given package in a distribution, and to have clear methods and procedures to do so. While has been a given in the free software world for a long time, there's been a trend in the devops-type world towards a determination that packaging and deployment in modern languages has gotten too complex, so simply rely on some binary deployment. For reasons described above and more, you should be able to rebuild your packages... *and* all of your packages' dependencies... and their dependencies too. If you can't do this, it's not really reproducible.
An even better goal is to guarantee not only that packages can be built, but that they are byte-for-byte identical to each other when built upon all their previous dependencies on the same architecture. The Debian Reproducibility Project is a clear example of this principle in action.
Take the package reproducibility description above, and apply it to a whole system. It should be possible to, one way or another, either describe or keep record of (or even better, both) the system that is to be built, and rebuild it again. Given selected packages, configuration files, and anything else that is not "user data" (which is addressed in the next section), it should be possible to have the very same system that existed previously.
As with many things on this list, this is somewhat of a gradient. But one extrapoliation, if taken far enough, I believe is a useful one (and ties in with the "recoverable sytem" part): systems should not be necessarily dependent upon the date and time they are deployed. That is to say, if I deployed a system yesterday, I should be able to redeploy that same system today on an entirely new system using all the packages that were installed yesterday, even if my distribution now has newer, updated packages. It should be possible for a system to be reproducible towards any state, no matter what fixed point in time we were originally referring to.
Few things are more stressful than having a computer that works, is doing something important for you, and then something happens... and suddenly it doesn't, and you can't get back to the point where your computer was working anymore. Maybe you even lost important data!
If something goes wrong, it should be possible to set things right again. A good userops system should do this. There are two domains to which this applies:
In other words, backups. Anything that's special, mutable data that the user wants to keep fits in this territory. As much as possible, a userops system should seek to make running backups easy. Identifying based on system configuration which files to copy and helping to provide this information to a backup system, or simply only leaving all mutable user data in an easy-to-back-up location would help users from having to determine what to back up on their own, which can be easily overwhelming and error-prone for an individual.
Some data (such as data in many SQL databases) is a bit more complex than just copying over files. For something like this, it would be best if a system could help with setting up this data to be moved to a more appropriate backup serialization.
Linking somewhat to the "reproducible system" concept, a user should be able to upgrade without fear of becoming stuck. Upgrade paralysis is something I know I and many others have experienced. Sometimes it even appears that an upgrade will go totally fine, and you may have tested carefully to make sure it will, but you do an upgrade, and suddenly things are broken. The state of the system has moved to a point where you can't get back! This is a problem.
If a user experiences a problem in upgrading their system software and configuration, they should have a good means of rolling back. I believe this will remove much of the anxiety out of server administration especially for smaller scale deployments... I know it would for me.
It should be possible to install the system via a friendly GUI. This probably should be optional; there may be lower level interfaces to the deployment system that some users would prefer to use. But many things probably can be done from a GUI, and thus should be able to be.
Many aspects of configuring a system require filling in shared data between components; a system should generally follow a Don't Repeat Yourself type philosophy. A web application may require the configuration details of a mail transfer agent, and the web application may also need to provide its own details to a web server such as Nginx or Apache. Users should have to fill in these details in one place each, and they should propagate configuration to the other components of the system.
Not everyone should have to work with this layer directly, but everyone benefits from scriptability. Having your system be scriptable means that users can properly build interfaces on top of your system and additional components that extend it beyond directions you may be able to do directly. For example, you might not have to build a web interface yourself; if your system exposes its internals in a language capable enough of building web applications, someone else can do that for you. Similarly with provisioning, etc.
Working with the previous section, bonus points if the GUI can "guide users" into learning how to work with more lower level components; the Blender UI is a good example of this, with most users being artists who are not programmers, but hovering over user interface elements exposes their Python equivalents, and so many artists do not start out as developers, but become so in working to extend the program for their needs bit by bit. (Emacs has similar behavior, but is already built for developers, so is not as good of an example.) "Self Extensibility" is another way to look at this.
Though many individuals will be deploying on their own, many server deployments are set up to serve a community. It should be possible for users to help each other collaborate on deployment. This may mean a variety of things, from being able to collaborate on configuration, to having an easy means to reproduce a system locally.
Additionally, many deployments share steps. Users should be able to help each other out and share "recipes" of deployment steps. The most minimalist (and least useful) version of this is something akin to snippet sharing on a wiki. Most likely, wikis already exist, so more interestingly, it should be possible to share deployment strategies via code that is proceduralized in some form. As such, in an ideal form, deployment recipes should be made available similar to how packages are in present distributions, with the appropriate slots left open for customization for a particular deployment.
Many users have not one but many computers to take care of these days. Keeping so many systems up to date can be very hard; being able to do so for many systems at once (especially if your system allows them to share configuration components) can help a user actually keep on track of things and lead to less neglected systems.
There may be different sets, or "fleets", of computers to take care of... you may find that a user discovers that she needs to both take care of a set of computers for her (and maybe her loved ones') personal use, but she also has servers to take care of for a hobby project, and another set of servers for work.
Not all users require this, and perhaps this can be provided on another layer via some other scripting. But enough users are in "maintainance overload" of keeping track of too many computers that this should probably be provided.
One of the most important and yet open ended requirements, proper security is critical. Security decisions usually involve tradeoffs, so what security decisions are made is left somewhat open ended, but there should be a focus of security within your system. Most importantly, good security hygeine should be made easy for your users, ideally as easy or easier than not following good hygeiene.
Particular areas of interest include: encrypted communication, preferring or enforcing key based authentication over passwords, isolating and sandboxing applications.
To my knowledge, at this time no system provides all the features above in a way that is usable for many everyday users. (I've also left some ambiguity in how to achieve these properties above, so in a sense, this is not a pass/fail type test, but rather a set of properties to measure a system against.) In an ideal future, more Userops type systems will provide the above properties, and ideally not all users will have to think too much about their benefits. (Though it's always great to give the opportunity to users who are interested in thinking about these things!) In the meanwhile, I hope this document will provide a useful basis for implementing and thinking about mapping one's implementation against!
Going back to Android recently, I saw that all tools binaries from the Android project are now click-wrapped by a quite ugly proprietary license, among others an anti-fork clause (details below). Apparently those T&C are years old, but the click-wrapping is newer.
This applies to the SDK, the NDK, Android Studio, and all the essentials you download through the Android SDK Manager.
Since I keep my hands clean of smelly EULAs, I'm working on rebuilding the Android tools I need.
We're talking about hours-long, quad-core + 8GB-RAM + 100GB-disk-eating builds here, so I'd like to publish them as part of a project who cares.
(Replicant is currently stuck to a 2013 code base though.)
I also have in-progress instructions on my hard-drive to rebuild various newer versions of the SDK/API levels, and for the NDK whose releases are quite hard to reproduce (no git tags, requires fixes committed after the release, updates are partial rebuilds, etc.) - not to mention that Google doesn't publish the source code until after the official release (closed development) And in some cases like Android Support Repository [not Library] I didn't even find the proper source code, only an old prebuilt.
Would you be interested in contributing, and would you recommend a structure that would promote Free, rebuilt Android *DK?
3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
So basically the source is Apache 2 + GPL, but the binaries are non-free. By the way this is not a GPL violation because right after:
3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
Still, AFAIU by clicking "Accept" to get the binary you still accept the non-free "Terms and Conditions".
(Incidentally, if Google wanted SDK forks to spread and increase fragmentation, introducing an obnoxious EULA is probably the first thing I'd have recommended. What was its legal team thinking?)
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
If you know the URLs, you can still direct-download some of the binaries which don't embed the license, but all this feels fishy. GNU licensing didn't answer me (yet). Maybe debian-legal has an opinion?
In any case, the difficulty to reproduce the *DK builds is worrying enough to warrant an independent rebuild.
Did you notice this?
There are a lot of reasons I don’t watch Republican political debates. One of them is that I might throw a whiskey glass at the television screen every time one of the contendors tries to show how tough he or she is by excoriating Vladimir Putin. Big talkers. My fellow Republicans oscillate between the view that Russia is about to implode and the view that Putin is about to make war on NATO. Both views are equally silly. Putin is playing a weak hand skillfully, trying to keep Russia in the game as a world power (if not a superpower). He also rules the one Christian country that has been fighting a war with Islamic terrorists for decades. After years of colossal American blunders in the Levant, there’s no way we can exclude Putin from a seat at the table. That’s a fact of life, and all the bloviating in the world won’t change it. It’s also a fact that Russia has interests which sometimes run counter to ours and sometimes coincide with ours. Where our interests coincide, we should work with Russia; where our interests diverge, we should foil Russia. That’s called Realpolitik and it’s what great powers do for a living.
Because the Obama administration is so beguiled by its anti-colonial, blame-America version of Wilsonian idealism, Putin just might play the pivotal role in the Levant during the next eighteen months. Below is an essay I posted under the title “Vladimir Putin: Spoiler or Statesman?” at Asia Times.
* * * * *
The great task of diplomacy in the 21st century is a sad and dreary one, namely managing the decline of Muslim civilization. There is a parallel to the great diplomatic problem of the late 19th and early 20thcentury, the dissolution of the Ottoman Empire, which the diplomats bungled horribly.
It is no job for the idealistic, namely the Americans, nor for the squeamish, namely the Europeans. The breakdown of civil order in a great arc from Beirut to Basra has already displaced 20 million people and raised the world refugee count from 40 million in 2011 to 60 million in 2014, with scores of millions at risk. After it failed to build democracy in Iraq and Afghanistan, the United States fell into a sullen torpor in which serious discussion of intervention in the regime is excluded. The hypocritical Europeans averted their eyes until millions of desperate people appeared on their doorstep, and remain clueless in the face of the worst humanitarian crisis since the last world war.
That leaves Vladimir Putin as the last, best hope of a region already halfway over the brink into the abyss. That is a disturbing thought, because the Russian leader has played the spoiler rather than the statesman in his wrangling with Western powers over the past decade and a half. Nonetheless, Russia has an existential interest in sorting out the Levant. Muslims comprise a seventh of the population of the Russian Federation, and the growing influence of ISIS threatens to give a fresh wind to terrorism inside Russia. Mr. Putin might rise to the occasion.
Putin might for example offer a compromise solution that I first heard suggested by Erik Prince, the counterterrorism expert and entrepreneur: force Syrian president Basher Assad out of power, but let Moscow pick his successor. At that point Turkey and Saudi Arabia could claim victory and withdraw their support from Sunni extremists (or be compelled to do so by the United States), and Iran could be compelled to withdraw its Revolutionary Guards from the theater and cut off support for Hezbollah. The efforts of the international community then could turn to destroying ISIS. There would be no glorious era of Arab democracy, no Arab spring, no happy ending, just a less murderous sort of despotism and an armistice rather than a real peace between Shia and Sunni. That is as good as ever it will get in that miserable region.
Unlike the feckless Europeans, who can’t abide a single casualty, or the disgusted Americans, Putin has the nerve to put boots on the ground in Syria. Large-scale combat operations by foreign armies will not solve the region’s problems, but the willingness to take bullets is the ante in this particular poker game. Putin is the only foreign leader who has paid it.
I do not know what Putin will do. But it seems clear that Russia has a deep interest in fostering such an outcome. It is at no risk of a Muslim majority by mid-century, contrary to some of the shock estimates circulating at the fringe of academia. In an April 2015 study, the authoritative Pew Research Center estimates the total fertility rate of Russian Muslims at slightly below Russia’s overall fertility rate: “While Muslim fertility is well above replacement level in many countries, it is below replacement level in Iran (1.6) and in much of Eastern Europe, including Romania (1.5) and Russia (1.6).” Projections of a Muslim majority in Russia by 2050 failed to consider the collapse of Muslim fertility rates.
But that does not mitigate Russia’s concern about ISIS. Chechens are the largest contingent of foreigners fighting for ISIS in the Levant, including a celebrated Georgian Army special forces commander, Tarkhan Batirashvili who has been fighting in Syria since 2012. Jihadist groups in the Russian Caucasus, meanwhile, began to offer their loyalty to ISIS’ putative caliphate earlier this year. Both as a training ground for Muslim terrorists and a galvanizing force for Russian jihadists, ISIS represents a threat to Russia.
Russia tilted towards Iran in the region in order to pressure Sunni jihadists, as Putin has told Western diplomats in just those words. I have heard the same explanation from Chinese analysts for Beijing’s rapprochement with Tehran: Like Russia, China has virtually no Shia Muslims, but has a great deal to fear from Sunni fundamentalists. Russia and China were playing a balance-of-power game not much different than Washington’s, although with none of the sentimental illusions harbored by the Obama administration.
For Russia as well as China, the notion that Iran would provide a counterweight to Sunni jihadists in the region was a gigantic blunder. The Muslim world is in the throes of civilization collapse, and it is ridiculous to treat its juridical entities like pieces on a chessboard. The P5+1 nuclear deal with Iran legitimized Iran as a regional power and gave it an immediate dividend of $150 billion. This provoked the Sunni powers to throw more resources behind jihadists who are bleeding Hezbollah to death in Syria, and taking a severe toll on the Iran Revolutionary Guard Corps in Syria as well as Iraq.
The presence of 20 million people of military age, most of them without prospects, provides a virtually limitless supply of cannon fodder. Like Europe’s Thirty Years’ War, the mushrooming of mass armies that support themselves by living off the land leads to uncontrollable, self-sustaining conflicts. America’s lurch from backing a Shia majority in Iraq’s 2007 elections to sponsoring a Sunni counterweight during the 2008-2010 “Surge” made a new Thirty Years War inevitable, as I warned in 2010. America’s professional military knows this, and one of its most senior commanders, Maj. Gen. Daniel Bolger, spelled it out in a 2014 memoir, but none of the politicians responsible will own up to their stupidity and its baleful consequences. That, along with the American public’s disgust with the conduct of the Iraq campaign, paralyzes strategic debate in Washington and makes America look like a den of dangerous fools in the view of policymakers from Berlin to Jerusalem to Moscow to Beijing.
A lasting armistice is possible only if the great powers combine to twist the arms of Iran, Turkey, and the Gulf States. Iran has to ground the IRGC and disengage from Hezbollah (it might be a good time to do so, now that Hezbollah has had 1,000 of its 12,000 full-time fighters killed in Syria, with twice that probably wounded). Turkey has to end its covert support for ISIS as a counterweight to the Kurds. Saudi Arabia has to police its rogue princes and cut off covert funding for jihadi movements. Russia with some help from China can twist arms in Tehran while the Americans and the Saudis can give an ultimatum to Ankara.
The odds of such an outcome remain slim, to be sure, and not least because the Obama administration would have to take the sort of action it seems congenitally unable to take. Putin’s record, for that matter, does not evoke optimism. He had an opportunity to trump the West in Ukraine after the February 2014 Maidan revolution (or coup, depending on your point of view). Russia viewed the overthrow of Victor Yanukovich as a Western scheme to deprive Russia of its naval bases in Crimea, and responded with an illegal seizure of the Russophone province. A statesman would have proposed a referendum on the model of the Saarland in 1955, which voted to become part of Germany rather than France. Crimea would have voted to adhere to Russia, and almost certainly the Donbass as well. Ukraine would have lost most of its Russian speakers, and the remainder of the country would have been Catholic and pro-Western.
That, as Angelo Codevilla has observed, is just the outcome that Putin did not want. Rather than a partition following a plebiscite under international law, Putin wanted to keep Ukraine in perpetual instability, leaving the West with a bleeding sore on its Eastern frontier rather than a stable if smaller pro-Western state. In pursuit of this objective, Putin displayed a higher threshold for pain and friendliness to risk utterly absent from Western capitals, and ran circles around the West. Western critics complain that Putin is a former KGB officer. That is a silly objection: the security services were the only real school of leadership in a Communist system that otherwise lived on corruption and toadyism.
After the oil price collapse, though, Russia is in a much weaker position, and perhaps more amenable to collaboration with the West.
“Collaboration with the West” is the rub. With which “West” might Russia collaborate? Washington has coddled Turkish President Recep Tayyip Erdogan since the Bush administration invited him to the White House as a presidential candidate. No matter how egregiously Turkey misbehaves, it remains Washington’s poster-child for Muslim democracy.
Turkey is one of the region’s spoilers, for reasons that are hard to get around: more than half its young people will come from Kurdish-speaking households by mid-century, and Sunni Turks will find themselves outnumbered in their own country by Kurds and the Alevis, a deviant Muslim sect that probably comprises about a fifth of Turkey’s present population. Any Syrian settlement will have to take into account Kurdish interests. The Turks don’t like that, and are willing to back ISIS and similar Sunni jihadist elements to suppress Kurdish ambitions. But someone has to take a fall, as Sam Spade told the Fat Man, and that would be Turkey. Iran won’t like it, either, but there are many things Iran won’t like about stability in the region. Iran’s Shi’ite imperial fantasy depends on instability in the first place
If Washington lacked the will to slap down the Iranians—as it easily might have done in a variety of ways—it seems unlikely that it would take part a deal in which Russia does the slapping. Russia would only do so in return for assurances that the Sunni powers will cut off support for jihadi movements. The Obama administration is so ineffectual and fantasy-ridden that it seems an unlikely partner for regional realists.
That raises an interesting question: can the rest of the world work around the vacuum that has become American foreign policy? In theory, yes: the Gulf States are the main holders of Turkey’s external debt, and the main funders of Turkey’s current account deficit, now at 6% of GDP. The Gulf States and China together have enough carrots and sticks to force Ankara to behave. Russia and China have enough clout in Iran to compel it to accept a compromise in Syria and a reduction of its support for troublemakers in the region. The Europeans have a compelling interest to staunch the flood of refugees at the source.
History brought forth a great moment, Friedrich Schiller wrote of the French Revolution, but the moment encountered mediocre people. Putin has a chance to be great, contrary to his past record and to all expectation. He is not quite the Zeitgeist on horseback, but he is the key to a possible solution. We will learn soon what he is made of. I have long believed that the most likely outcome of Islam’s civilizational crisis is a body count that would beggar the last century’s world wars. One hopes to be proven wrong about such things.
On Friday, the reSIProcate community released the latest beta of reSIProcate 1.10.0. One of the key features of the 1.10.x release series is support for presence (buddy/status lists) over SIP, the very thing that is currently out of action in Skype. This is just more proof that free software developers are always anticipating users' needs in advance.
Unlike Skype, reSIProcate is genuine free software. You are free to run it yourself, on your own domain or corporate network, using the same service levels and support strategies that are important for you. That is real freedom.
If you have deployed web servers and mail servers but you are not quite sure where to start deploying your own real-time communications system, please check out the RTC Quick Start Guide. You can read it online or download the PDF e-book.
The Debian community has a federated SIP service, supporting standard SIP and WebRTC at rtc.debian.org for all Debian Developers. XMPP support was tested at DebConf15 and will be officially announced very soon now.
Would you like to extend this concept to other free software and non-profit communities that you are involved in? If so, please feel free to contact me personally for advice about how you can replicate these successful initiatives. If your community has a Drupal web site, then you can install everything using packages and the DruCall module.
Não me lembro como descobri A beleza salvará o mundo, de Gregory Wolfe. A Internet é floresta densa, repleta de sendas obscuras, semelhantes às de uma história infantil, nas quais, de página a página, de link a link, nos perdemos sem conseguir refazer o caminho inicial.
Numa dessas pesquisas aleatórias, cheguei ao site de Wolfe e deparei-me com esse título comum — ao menos para quem se recorda de Dostoiévski — e, principalmente, com o subtítulo que sintetizava uma de minhas constantes preocupações: “Recuperando o humano numa era ideológica”.
A identificação cresceu a cada ensaio de Wolfe que descobri. E se tornou plena ao ler algumas das páginas do livro, gentilmente
fotografadas por uma amiga que reside nos EUA. Na primeira oportunidade, apresentei a obra aos editores da Vide e insisti para que a publicassem.
O resultado está, agora, à disposição de todos — e espero que A beleza salvará o mundo se transforme, no Brasil, no que ele já representa para muitos leitores de língua inglesa: um guia para os que acreditam, como T. S. Eliot, que “a vantagem essencial de um escritor é não ter um mundo maravilhoso com que lidar. É ser capaz de enxergar além tanto da beleza quanto da feiura; ver o tédio, o horror, a glória” — pensamento que Wolfe considera a “extensão natural da profecia de Dostoiévski”.
Há muitos elementos que merecem atenção nos ensaios que compõem o livro — e abordei alguns dos principais no Prefácio que fui convidado a escrever —, mas o ponto essencial, decorrente do que citei no parágrafo anterior, é o comportamento conservador criticado por Wolfe. Aluno de Russell Kirk, o autor não teme afirmar que “a maioria dos conservadores pensa na cultura como um museu, e não como uma continuidade orgânica. Eles são todos a favor da promoção dos clássicos, mas quando se trata de cultura contemporânea, simplesmente se eximem”.
De fato, canso de ver, no meio conservador, preconceitos em relação à arte. Muitos conservadores estão apegados a uma visão simplista e superficial da realidade — e chegam mesmo a enaltecer uma estética rasteira, inócua repetição do passado, como se a arte que recusa a pauta niilista, formalista e solipsista só pudesse ser a cópia rebaixada de Homero, Virgílio ou Dante. Ou, ainda pior, devesse se restringir a uma função meramente catequética.
“Vivemos em uma era dominada pelo racionalismo econômico oco envolto na retórica dos direitos” — Gregory Wolfe
Esse comportamento preconceituoso produz conseqüências assustadoras, como jovens que se negam a ler Hemingway, Kafka ou James Joyce, alegando a busca de uma suposta pureza, só encontrável nos autores que tenham recebido, em alguma época, um Nihil obstat.
Na verdade, dar as costas à cultura moderna — ou, como afirma Wolfe, “deixar-se desesperar sobre o nosso tempo” — é uma forma covarde de jogar essa mesma cultura nos braços insaciáveis do materialismo, de sucumbir à estreiteza do pensamento politizado e ideológico, de se tornar, citando Wolfe, um “discípulo involuntário de Marx”.
O caminho proposto por Wolfe é aquele seguido por grandes escritores, como T. S. Eliot, Evelyn Waugh, Flannery O’Connor, Susaku Endo, Nathaniel Hawthorne, Walker Percy e tantos outros: não se entrincheirar na sua própria fortaleza, não se entregar a um tipo de filistinismo que recusa a cultura do seu próprio tempo sem oferecer uma alternativa, sem se predispor ao diálogo.
Diálogo, aliás, que inquestionáveis defensores da ortodoxia católica, como o cardeal Leo Scheffczyk, souberam fazer com sucesso. Leia-se, por exemplo, de Scheffczyk, O Homem Moderno (Der moderne Mensh vor dem biblishen Menschenbild), e veja-se como o autor formaliza a crítica da “perda do humano na literatura moderna” — mas também dialoga com os autores que critica, sempre disposto a encontrar “notáveis pontos de luz” em cada um deles. Ou se preferirem, leiam a análise que Henri de Lubac faz de Dostoiévski em Le drame de l’humanisme athée.
A necessidade de um novo humanismo cristão é urgente inclusive para se contrapor aos religiosos secularistas e laxistas, que se apressam, como afirma Wolfe, a “batizar cada tendência secular que passa”, a aceitar qualquer modismo esquerdista sem reflexão, a não ser o filtro de um religiosidade neopagã e sentimentalista — e, portanto, vulgar em todos os sentidos.
O caminho que Gregory Wolfe propõe não é simples, mas grandes artistas o realizaram, quando se dispuseram a “dramatizar os conflitos de seu tempo e incorporar significado em suas obras de maneira profunda”.
Como afirmo no final do meu Prefácio, enquanto lemos Wolfe somos atingidos, muitas vezes, pela suspeita de que ele tenta unir realidades incompatíveis. Mas tal impressão revela-se infundada sempre que ele repete a decisão de não aceitar passivamente o mundo pós-moderno e reafirma o desejo de transformar fé e arte num “traje inconsútil”. Caso a caso, Wolfe segue a máxima paulina: “Discerni tudo e ficai com o que é bom”.
En prévision des élections du parlement national Suisse (Conseil national et des Etats/Fédéral) du 18 octobre 2015, La FSFE Suisse commence aujourd'hui la campagne "Freedomvote" en collaboration avec le "Swiss Open System User Group" (/ch/open). La campagne offre un portail en ligne qui répertorie les la liste des candidats ainsi que leurs opinions concernant la politique d'Internet, le Logiciel Libre et les formats de données ouverts (standards ouverts)
La campagne "Freedomvote" consiste à donner aux électeurs des renseignements sur les candidats aux élections. Pour beaucoup d'électeurs, il est important de savoir ce que les candidats de différents horizons pensent des aspects politiques d'Internet, par exemple les droits et les libertés des utilisateurs à l'ère du numérique. Malgré cela, de nombreux politiques essaient encore d'éviter ces sujets. Avec la campagne "Freedomvote", le FSFE Suisse veut changer ces positions et amener le sujet d'Internet et de l'usage du Logiciel Libre dans l'agenda politique. Tous les candidats sont invités à répondre aux différentes questions portant sur les sujets tels que les droits des utilisateurs concernant le numérique, le vote électronique, de la neutralité du net, de l'Open Data, du matériel didactique scolaire, du Logiciel Libre et du chiffrement. En outre, les candidats sont invités à expliquer dans le détail leurs positions et fournir les réponses à chaque question dans un champ de texte. Ainsi les électeurs soucieux des droits numériques peuvent trouver des réponses nécessaires qui les aideraient dans le choix du candidat lors du vote. Pour obtenir de meilleurs résultats, il est également possible de créer un profil d'électeur afin de comparer, distinguer les réponses des différents candidats."Pour répondre aux dix questions, les candidats peuvent utiliser notre plateforme et nous faire parvenir les réponses par l'intermédiaire de leur parti, où nous contacter directement - explique Simon Wächter de "Freedomvote", "ce que nous souhaiterions c'est que cette initiative de transparence suscite l'adhésion des candidats de tous les partis. Plus il y a de candidats qui participent meilleure sera l'aide et les conseils offerts aux électeurs.
Le FSFE Suisse enverra des centaines de courriels et de lettres cette semaine pour demander aux candidats leur participation. Vous pouvez soutenir l'initiative en demandant personnellement aux candidats de votre zone/région de participer.
Outre le développement et la fourniture de Freedomvote par la FSFE Suisse /ch/open, la campagne est soutenue par diverses organisations de défense des droits civiques tel que Parldigi, Internet Society Switzerland Chapter, Opendata.ch, Digitalle Allmend, ainsi que Willhelm Tux. Le logiciel sous-jacent de freedomvote.ch est auto-développé et publié comme logiciel libre.
Separei hoje 11 contos exemplares. Talvez não para todos — mas para mim, com absoluta certeza. Não são exemplos geniais. Alguns assemelham-se àqueles doces da infância, organizados com certa displicência no balcão do confeiteiro e que não despertam nossa gula — mas quando decidimos experimentá-los, seu sabor explode na boca, a sensação de reconforto inunda nosso corpo. Pouco importa se, do ponto de vista de alguns colegas, podem ser exemplos secundários, pois cada um deles me concedeu autêntico prazer.
1. Começo pelos italianos. Perdoem-me por não citar Pirandello. Mas um escritor menor, Camillo Boito, deixou algumas pequenas obras-primas. Dentre elas, “Senso”, que Luchino Visconti transformou no filme Sedução da carne. A narradora, uma condessa fútil, escreve sobre a paixão que viveu no passado. Temendo a velhice que se aproxima, ela nos oferece um estudo sobre ética, vaidade e orgulho — com final surpreendente.
2. O autor de O Leopardo, Giuseppe Tomasi di Lampedusa, escreveu “A sereia”, história de amor
vivida, na juventude, por Rosario La Ciura, catedrático de literatura grega. É o encontro com o prodígio, mas pleno de volúpia e paixão. Lampedusa nos introduz em sua história por meio de gestos que poderiam ser banais, mas que se transformam na prefiguração do encontro que selará a vida de La Ciura: “Os ouriços quebrados mostravam suas carnes feridas, sangüíneas, divididas de modo esquisito. Nunca havia percebido antes, mas após as extravagantes comparações do senador, pareciam-me realmente uma seção feita em sabe-se lá quais delicados órgãos femininos”.
3. e 4. As frases de Carlo Emilio Gadda formam círculos concêntricos que se fecham sobre os personagens. Ele é o mestre das digressões e da experimentação dialetal, mas nunca a ponto de se tornar
ilegível. Introduziu, sem exageros, a linguagem popular em seus textos — ou seja, não é, como cansamos de ver na literatura contemporânea brasileira, um populista. Tem dois ótimos romances: Aquela confusão louca na Via Merulana e O conhecimento da dor. Entre os contos, escolho “A cinza das batalhas”, para os leitores que desejarem conhecer sua veia humorística e a agilidade incrível dos diálogos, e “A mãe” — originalmente, um capítulo de O conhecimento da dor —, cujos temas são caros ao escritor: a solidão, a ciência que nada explica e nunca consola, e o tempo, “ligeiro persuasor de qualquer renúncia”.
5. Os amores difíceis é a coletânea de narrativas de Italo Calvino que mais
aprecio. Mas há um conto que resume suas qualidades: “Um general na biblioteca”. Uso-o, inclusive, em meus cursos. Humor, ironia, crítica aos regimes despóticos e insuperável amor pela leitura: tudo pode ser encontrado nessa narrativa de aparência leve, mas que esconde fina sabedoria, representada pelo senhor Crispino, silencioso personagem, cujo poder corruptor se revela lentamente.
6. e 7. Passo aos brasileiros. Os leitores do meu Esquecidos & Superestimados sabem que admiro Simões Lopes Neto. Em Lendas do
Sul, ele superou o mero registro da oralidade e recriou as narrativas, concedendo-lhes fantasmagoria própria. Aprimorar o enredo, acrescentando lirismo ou facetas heróicas onde, antes, havia apenas uma exposição plana, pueril, não é tarefa simples. E Simões o faz numa linguagem que renova a cadência e a magia do mito. Em “O negrinho do pastoreio”, vejam, para ficar num só exemplo, como a epizeuxe enfatiza os sofrimentos do escravo e amplia nossa compaixão. Quanto ao “A Mboitatá”, o narrador que se desdiz não apenas intensifica o clima de mistério, mas dilata deliciosamente a história, enrodilhando o leitor no rebolear da cobra que devora olhos.
8. O que menos me interessa em “O poço”, de Mário de Andrade, são as relações de mando entre Joaquim Prestes e seus empregados, ou a cobiça incontrolável desse latifundiário, realmente compulsiva, que o narrador apresenta num crescendo bem estruturado, até a explosão do último parágrafo. O que me seduz nesse conto é a
linguagem. Dizer que os empregados, assim que o patrão se aproxima, levantam-se “machucando chapéu na mão” revela, com surpreendente economia de recursos, toda uma complexa gestualidade, impregnada de subserviência. Outras expressões poderiam tornar visível a neblina que sobe do rio, mas a escolha de Mário é perfeita: “o arminho sujo da névoa”. Um dos empregados gira com desespero o sarilho (espécie de cilindro no qual se enrola uma corda), para trazer o irmão de saúde frágil, que trabalha no fundo do poço, de volta à superfície, e sua extrema dedicação torna-se visível quando o narrador diz que ele usa “músculos de amor”. À medida que o fazendeiro se desumaniza, os empregados também sabem, se necessário, adular: “Acabou inventando um jeito humilhante de disfarçar a culpa inexistente, botando um pouco de felicidade no dono”. Mário de Andrade domina inúmeros recursos. A cena em que Antônio — o rapaz de saúde frágil — sobe, a última vez, do poço, enregelado e à beira da estafa, guarda raro poder descritivo: “Levou as mãos descontroladas à boca, na intenção de animar os beiços mortos. Mas não podia limitar os gestos mais, tal o tremor. Os dedos dele tropeçavam nas narinas, se enfiavam pela boca, o movimento pretendido de fricção se alargava demais e a mão se quebrava no queixo”.
9. Dez anos antes de Grande sertão: veredas, Guimarães Rosa publicou Sagarana, coletânea de contos que ainda impressiona. Na juventude, se me perguntassem qual minha história preferida, eu ficaria entre “Conversa de bois” e “A hora e a
vez de Augusto Matraga”. Hoje gosto mais de “Sarapalha”. A malária que frustra todas as expectativas, aquele mundo à parte — “o povoado fechou-se em seus restos, que nem o coscorão cinzento de uma tribo de marimbondos estéreis” —, no qual a natureza irrompe sem controle, onde os insetos salmodiam e os passopretos “sobem, de escantilhão, para a copa das árvores, como um borrifo de tinteiro” — tudo me agrada. E, terminada a leitura, não consigo me apartar daqueles primos irmanados na doença e na paixão, presos à sezão que marca o tempo, a vida, semelhantes a espantalhos inúteis. O que os condenou? O amor ou a malária? A resposta é indiferente, pois amor e malária são a mesma doença — cuja febre se chama Luísa.
10. Entre inúmeros bons contistas de língua hispânica, confesso ter hesitado, mas acabei optando por Horacio Quiroga. Dentre os contos desse uruguaio genial, meu preferido é “Los imigrantes”. A Colección Archivos, da Unesco, cujos volumes
ainda podem ser encontrados em sebos ou pequenas livrarias, publicou uma bela edição integral das suas narrativas. Em “Los imigrantes”, num cenário de absoluta desolação, o narrador focaliza um casal que empreende estafante caminhada. Não sabemos para onde seguem. E conheceremos de onde vieram apenas nas últimas linhas do conto. Não importa. Tudo se resume à fatalidade, ao desespero, ao esforço sobre-humano que, no final, nada alcança. O conto é magnífico exemplo de concisão e intensidade — amostra clara de como o artista pode ser genial sem invencionices. Autor de um curioso Decálogo do Perfeito Contista, Quiroga segue à risca, em “Los imigrantes”, a sua regra VIII: “Pega teus personagens pela mão e conduze-os firmemente até o fim, sem ver nada além do caminho que traçastes para eles”.
11. Quero terminar com Joseph Conrad. Em Amy Foster — conto ou novela? — o que se destaca é a técnica de descrever a paisagem ou os personagens secundários sem se desviar do eixo da história e, principalmente, utilizando essas descrições, digamos, acessórias, esses deslocamentos da atenção, como uma forma oblíqua de iluminar os protagonistas. Sempre que um novo detalhe do entorno ou de um personagem menor é oferecido ao leitor, não enxergamos
apenas esse elemento, mas sua luz reverbera sobre os personagens centrais. Na verdade, sob tal método de escrita se oculta profundo respeito pelo leitor: oferecer pormenores que contribuam para compor as diferentes cenas, mas sem nos aborrecer com o que é supérfluo — ou seja, não mesquinhar elementos que auxiliem ou estimulem nossa imaginação. O conto apresenta a história do náufrago lançado a uma terra estranha, onde não compreende a língua ou os costumes. Destituído de qualquer bem, impossibilitado de se comunicar e, por uma decisão ética, de retornar ao seu país, ele sofre a desconfiança da maioria dos habitantes da pequena vila. Ao se tornar objeto da aversão gratuita, ao viver na condição de “estranho”, experimenta o pior tipo de solidão: o da total incapacidade para se identificar, seja com o outro, seja com o meio. Na verdade, não é a história de um náufrago, mas de um “pássaro apanhado numa armadilha”.
Nestes dias, refletindo sobre a importância da leitura, lembrei-me de dois escritores que me agradam por motivos diferentes.
Poucos, raros autores conseguem expressar a dor de viver sem cair no melodrama. Em A Praça do Diamante, de Mercè Rodoreda, que li há vários anos, o ritmo do existir pulsa a cada página numa dimensão real, com alegrias e tristezas, sonhos e decepções. E tudo por meio de uma voz de mulher, simples como nós, aberta aos acontecimentos, vendo o mundo girar numa velocidade às vezes alucinante, às vezes de forma tão quieta que consegue ouvir seus pensamentos.
Entre a inocência e a decepção, sem mágoas ou ressentimentos, Colometa, a protagonista, nos enlaça com sua voz, na qual, apesar de todos os desgostos, ela esconde tons de alegria, esperança e espanto.
A Praça do Diamante é um dos poucos livros que gostaria de reler.
Outro escritor que não me sai da memória é Cormac McCarthy. Em A estrada, a desolação da paisagem, o embate entre homem e natureza, a visão do futuro como um amontoado de forças obscuras, diante das quais o homem não possui poder algum, e a idéia de um Deus que, impassível, parece assistir à tragédia humana, mas que guarda sua interferência para o momento supostamente propício, formam a trama na qual a destruição tornou-se absoluta.
Nesse mundo, o herói não se defronta mais com a possibilidade de escolher entre o Bem e o Mal, pois está condenado a uma busca inesgotável — a procurar o Bem, a ansiar por ele, sem jamais encontrá-lo. E o mais terrível: se quiser permanecer vivo, a fim de lutar pelo futuro em que possa ser novamente aquele que estabelece um tempo de justiça, o herói terá de negar ajuda a seu semelhante.
O herói não se defronta mais com a possibilidade de escolher entre o Bem e o Mal, pois está condenado a uma busca inesgotável — a procurar o Bem, a ansiar por ele, sem jamais encontrá-lo.
O primeiro parágrafo de A estrada serve como síntese do que aguarda o leitor: frio, escuridão, a presença da criança pura, o cuidado do homem que a acompanha, a sujeira, a morte da nossa civilização. E a linguagem de McCarthy, tão sublime quanto trágica: “Noites escuras para além da escuridão e cada um dos dias mais cinzento que o anterior. Como o início de um glaucoma frio que apagava progressivamente o mundo”. Ou a imagem arrancada de um sonho dantesco: “A luz deles brincando sobre as paredes úmidas de rocha calcária. Como peregrinos numa fábula engolidos e perdidos nas entranhas de alguma besta de granito”.
Mas afirmei que refletia sobre a importância da leitura.
Recordei-me, então, do poema “O Leitor”, de Rainer Maria Rilke:
Quem pode conhecer esse que o rosto
mergulha de si mesmo em outras vidas,
que só o folhear das páginas corridas
alguma vez atalha a contragosto?
A própria mãe já não veria o seu
filho nesse diverso ele que agora,
servo da sombra, lê. Presos à hora,
como sabermos quanto se perdeu
antes que ele soerga o olhar pesado
de tudo o que no livro se contém,
com olhos, que, doando, contravêm
o mundo já completo e acabado:
como crianças que brincam sozinhas
e súbito descobrem algo a esmo;
mas o rosto, refeito em suas linhas,
nunca mais será o mesmo.
A interrogação que inicia o poema tem uma única resposta: “Ninguém”. Há leitores e leitores, certamente, mas este, irreconhecível à própria mãe, este é o leitor ideal, para quem o livro supera a condição de passatempo, torna-se porta de entrada à dúvida, à auto-análise — às vezes, um caminho que leva à controvérsia.
Quem pode conhecer esse que o rosto / mergulha de si mesmo em outras vidas, / que só o folhear das páginas corridas / alguma vez atalha a contragosto? — Rainer Maria Rilke
Esse leitor ideal não teme ver suas convicções abaladas. A dúvida o seduz. Ele se apossa da fé ou da hesitação de um personagem, do medo, da loucura, da paixão, do crime. Nada se perde para ele, enquanto seu olhar devora as linhas.
Walter Benjamin, em um de seus textos, “Romances policiais, nas viagens”, diz sobre os leitores desse gênero literário que “a anestesia de um medo por meio de outro é a sua salvação”. E conclui: “Entre as folhas recém-separadas” — naquele tempo, os livros não eram refilados — “dos romances policiais, ele procura as angústias ociosas, de certo modo virginais, que poderiam ajudá-lo a superar as angústias arcaicas da viagem”.
Mas o leitor ideal, o leitor de Rilke, não deseja ser anestesiado. Enquanto lê, coloca o mundo em estado de espera e, página a página, reordena a vida, dizendo “sim” ou “não” a si mesmo.
Pouco importa que o mundo se ofereça como “completo e acabado”, pois ele sabe que tudo está por ser feito. Assim, quando ergue os olhos da página, sua expressão, entre a surpresa e a desconfiança, diz: — Ainda está tudo aí? Ah… mas não por muito tempo.
Esse é o leitor ideal: um ser em perene transformação. Nenhuma linha é inútil para ele. Nada pode diminuí-lo, nem mesmo os livros ruins. Até esses ele consegue ler, apenas para, ao fechar o volume, sorver a delícia de suas poucas certezas e sorrir com ironia.
What you see on the image above is a new Zhongyi (Mitakon) protoype lens. And on paper this really looks like a killer product: It’s a 25mm f/0.95 pancake(!) MFT lens! The fastest most compact lens of the world yet!
There is yet no info on the exact release date but the lens will come in Black (no Silver version). The price will be about the same as the Voigtlander Nokton 25mm lens (here on eBay). But the developer said the optical quality will surpass that of the Voigtlander Nokton competition. It has a 11 lens design and great close up effect. These are the very first image samples. Click on the image to see a larger version:
Looks very godo to me..what do you think?
As you know Olympus launched the new Global Open Photo Contest. A small tidbit is that the “Grand Prize” is the “Latest Olympus PEN Camera + Lens kit and 1 Million Japanese Yen“.
Just interesting to note they didn’t write E-PL7 but “latest PEN”. maybe this means there is a new PEN coming between now and early 2016?
Fighter acquisitions are not just about the fighter itself – major contracts involve extensive financial packages. Gripen, of course, comes in a package offering unrivalled industrial cooperation and technology transfer.
To download the calendar, click here.
I'm happy to announce Aquameta, a web application development platform built entirely in PostgreSQL.
The complexity and inaccessibility of software development is inhibiting businesses, education and social progress.
In businesses, especially large ones, software has become the digital nervous system that allows them to operate at scale. But because only programmers can change the software, experimentation and evolution of business practices has actually become slower and more expensive. Most employees are powerless to make even simple software changes, and yet developers often don't have the domain expertise required to write good software for someone else's job.
Education is feeling it too. The demand for programmers is quickly outpacing supply, and for students, learning computer science is becoming more and more of an essential skill. Educators are well aware of this problem, but the complexity of programming makes it very challenging to teach.
Then there is social progress generally. End users have so many great ideas for software systems that could help us all collaborate with each other in deeper, richer ways. But to create them they either need the money or the skill to bring it into reality. Software complexity is a huge bottleneck for social innovation. Not every idea has a business model behind it, and there must be so many good ideas that could exist if programming was eaiser.
We believe that it is a social imperative, arguably one of the greatest demands of our time, to make software development more accessible to everyone.
Two-decades of profit-driven evolution have lead to the web we have today. But this outcome wasn't inevitable, and we can still change it. We have learned a lot since the inception of the web, and when we look at it knowing what we know now, we see some ways things could be a lot cooler. Here are a few.
Today's web is made of "pages", which conflate the data layer with the presentation layer. When we want an article or video, rather than being able to download just that content, we have to download the entire "page" that the content is on, often times containing ads, cross-promotions, etc. A more advanced architecture would give the user the power to control what we downloaded selectively.
The Internet was designed as a peer-to-peer network, where every computer could communicate directly with every other computer. Yet the way we use the web today is primarily through centralized silos of information. All our computers talk to a really big computer, say Facebook, who mediates the interaction. If I want to share a photo with my mom, there is no architectural reason why any central party needs to be the mediator.
But it's about more than just privacy or exploitation of the commons. Centralized systems are BORING. The early days of the web were honestly more exciting, more raw, more wild-wild-west. We need to get back to that vibe.
Once upon a time there were no end-user tools for contributing to the web. "Users" just wrote HTML by hand. We've come a long way since then with GUI editors, blogging platforms, social networks etc, but still today there is a wall between the technical haves and have-nots, and that's that it is very difficult for a "mere mortal" to build a data-driven web application. In the web we invision, building data-driven web apps is something accessible by everyone.
We need to rethink programming and the web, to fix some of the architectural short-comings and open up a new space full of new possibilities, and new problems to solve.
At the foundation of Aquameta's reimagining of programming and the web are two central ideas, datafication and visualization.
The complexity of our stack is pretty daunting when you list it all out. Some of this complexity is unavoidable, computer science is just fairly complex; but there is another swath of knowledge and skills that has little to do with computer science and a lot more to do with just the diversity of our programing tools. Consider
/etc, for example.
This diversity and complexity isn't a "problem". In fact, one could argue that it is an essential ingredient of the primordial soup from which so much innovation has emerged. However, when you take a step back and look at it, it seems pretty unnecessary, and it does make it harder for beginners to learn.
Our first step towards making programming easier is to use the database to model the development stack itself.
Typical Web Stack
Version Control System
Version Control SystemDatabase
In Aquameta, the entire stack is accessible as data, so diverse tools can share a common information model. It puts the database at the foundation of the developer experience. We use PostgreSQL as a kind of "infokernel".
A datafied stack makes a common interface to all these different tools, which eliminates a ton of complexity.
Visual interfaces are a lot easier for beginners to use, and writing visual interfaces against a datafied stack is ridiculously easy and fun. As web programmers, we have a ton of experience writing interfaces to databases, so when the whole dev stack is data, we can apply that skill towards experimenting with user interfaces that users can quickly understand.
If Aquameta is a success, we'll see an explosion of different visual programming tools, and a vast diversity of competing approaches to making programming easier.
Aquameta has eight core layers, each of which is a PostgreSQL schema:
Aquameta is the result of several years of work by Eric Hanson and the folks at Aquameta Labs. It's currently pre-alpha. We haven't even done what we would call a 0.1 release. We're releasing it primarily for architecture nerds to get some feedback and contributions.
Our plan is to publish a writeup of each module in the coming weeks, starting with meta and moving up. We'd love to hear what you think, and patches are welcome.
In the introduction, we talked about Aquameta's first principle, datafication. We weild the broadsword of datafication as we charge the many-headed hydra that is unnecessary programming complexity. In this writeup, we describe our first, and in some ways most-challenging foe, datafication of the database itself.
Layer zero of Aquameta is called meta, a writable system catalog for PostgreSQL. It exposes PostgreSQL administration commands through data manipulation commands, enabling schema creation, table creation, column renaming, role dropping, and much more via INSERTs UPDATEs and DELETEs. In other words, it makes the DDL accessible via the DML.
Meta unifies "normal" data with schema, database configuration, everything that is PostgreSQL, into a coherent and synthesized information model. Everything is accessible as data. This adds the needed paths to make PostgreSQL truly homoiconic, which breaks down the wall between schema and data, and opens the doors for all manner of meta-programming.
Here's a simple example of how to use it. Instead of doing:
aquameta=# create schema test_schema; CREATE SCHEMA
You can do:
aquameta=# insert into meta.schema (name) values ('test_schema'); INSERT 0 1
These two commands perform identical operations under the hood; meta just makes them accessibe through a different interface.
Here is an ER diagram of meta's schema:
aquameta=# set search_path=meta aquameta=# \d Schema | Name | Type | Owner --------+----------------------+------+------- meta | cast | view | eric meta | column | view | eric meta | connection | view | eric meta | constraint_check | view | eric meta | constraint_unique | view | eric meta | extension | view | eric meta | foreign_column | view | eric meta | foreign_data_wrapper | view | eric meta | foreign_key | view | eric meta | foreign_server | view | eric meta | foreign_table | view | eric meta | function | view | eric meta | operator | view | eric meta | relation | view | eric meta | role | view | eric meta | schema | view | eric meta | sequence | view | eric meta | table | view | eric meta | trigger | view | eric meta | type | view | eric meta | view | view | eric (21 rows)
Each relation in
meta is a VIEW that queries
pg_catalog, or wherever else we had to dig to get the data. These views support INSERT, UPDATE and DELETE statements via TRIGGERs that translate the operation into a native PostgreSQL command.
We have a good start on PostgreSQL feature coverage. You can do most common operations through meta instead. We don't have 100% feature coverage yet, but that is the goal.
On the surface, these views expose a clean, consistent, writable interface for PostgreSQL administration via data manipulation.
Here are a few examples of how you might use meta:
/* drop all the schemas in the database. Highly destructive! */ delete from meta.schema;
/* create a table with no columns called `foo` in the `public` schema */ insert into meta.table (name, schema_name) values ('foo', 'public');
/* rename all columns named `id` to `foo` */ update meta.column set name='foo' where name='id';
/* list all columns in the beehive schema */ select r.name, c.name, c.type_name from meta.column c join meta.relation r on c.relation_id = r.id join meta.schema s on r.schema_id = s.id where s.name = 'beehive' order by r.name, c.position; relation_name | name | type_name ----------------------+-----------------------------+---------------------- brands | name | pg_catalog.text brands_brand | id | pg_catalog.int4 brands_brand | name | pg_catalog.text brands_brand | show_on_website | pg_catalog.bool brands_brandcategory | id | pg_catalog.int4 brands_brandcategory | name | pg_catalog.text brands_brandcategory | brand_id | pg_catalog.int4 brands_brandgroup | id | pg_catalog.int4 brands_brandgroup | brand_id | pg_catalog.int4 brands_brandgroup | name | pg_catalog.text ... (462 rows)
/* list of all the relations in the `beehive` schema */ select name, type from meta.relation where schema_name='beehive'; name | type ----------------------------------------+------------ vendor_paymentterm | BASE TABLE product_margin | BASE TABLE favorites | BASE TABLE countries_usstate | BASE TABLE product_cost | VIEW warehouse_pieces_piecebreakdown | BASE TABLE ... (144 rows)
Let's take a look at one of these views in detail,
aquameta=# \d meta.column View "meta.column" Column | Type | Modifiers ---------------+------------------------------------+----------- id | meta.column_id | relation_id | meta.relation_id | schema_name | information_schema.sql_identifier | relation_name | information_schema.sql_identifier | name | information_schema.sql_identifier | position | information_schema.cardinal_number | type_name | text | type_id | meta.type_id | nullable | boolean | default | information_schema.character_data | primary_key | boolean | Triggers: meta_column_delete_trigger INSTEAD OF DELETE ON meta."column" FOR EACH ROW EXECUTE PROCEDURE meta.column_delete() meta_column_insert_trigger INSTEAD OF INSERT ON meta."column" FOR EACH ROW EXECUTE PROCEDURE meta.column_insert() meta_column_update_trigger INSTEAD OF UPDATE ON meta."column" FOR EACH ROW EXECUTE PROCEDURE meta.column_update()
idfield is a kind of "soft" primary key. It's of a special type,
meta.column_id, which is one of the "meta-identifiers" in the system that uniquely identifies a column with a single value. More about meta-identifiers later.
relation_idfield is another meta-identifier, a kind of "soft foreign key" to the
meta.relationview, which contains a row for the table or view that this column is a member of.
name. These are what they sound like. When INSERTing into this view, you need to specify either the human identifiers, or the meta-identifiers above.
positionfield tells where this column is in relation to the other columns. It is not currently updatable, as PostgreSQL does not support column reordering.
type_idfields reference the data type of this column.
type_idis another meta-relation, this one foreign-keying to the
meta.typerelation. You can UPDATE the type field either by updating
type_id, and if PostgreSQL can cast from the original datatype to the new one, it will update the column's type. Otherwise the UPDATE will fail without changing anything.
nullablefield is a boolean that determines whether the column is nullable. It behaves as you would expect.
defaultfield contains the column's default value, represented as text. You can update this as well.
primary_keyboolean determins whether or not this key is a primary key. Aquameta assumes a single primary key on all tables.
All together, this view is a general purpose column administration interface. The rest of the meta views behave similarly.
Besides just the views, meta also contains a system of meta-identifiers, a collection of PostgreSQL compositie types that encapsulate the unique identifier for a PostgreSQL component as a single value. You can think of them as the primary keys of the meta views.
|PostgreSQL Entity||PostgreSQL identifier(s)||meta-identifier|
|trigger||schema_name, relation_name, name||trigger_id|
|foreign_key||schema_name, relation_name, name||foreign_key_id|
|column||schema_name, relation_name, name||column_id|
|constraint||schema_name, relation_name, name||constraint_id|
|row||schema_name, relation_name, column_name, name, pk_name, pk_value||row_id|
|field||schema_name, relation_name, column_name, pk_name, pk_value||field_id|
When querying against the meta relations, instead of using the human names as identifiers, you can also use the meta-identifiers:
/* select the beehive.customers_customer.name column */ select * from meta.column where id=meta.column_id('beehive','customers_customer','name');
Meta-identifiers can be cast to other, less-specific identifiers. For example, to get the
schema_id that a
column_id contains, you can do:
You can also use the meta-identifiers to do meta-programming in your own tables. For example, if you want to make a table that references a PostgreSQL view, it would look like this:
create table column_widget ( id serial primary key, name text, column_id meta.column_id );
An all-data interface to PostgreSQL has a lot of benefits:
But really, we don't think we've fully wrapped our head around everything you can do with meta. We're excited to see how people use it.
Meta is the foundational layer for the rest of Aquameta. It allows us to build a programming environment where under the hood, programming is always some form of data manipulation.
In the next chapter, we'll cover Aquameta Layer 1, bundle, a data version control system.
Crossposted from Asia TimesTo a hammer, everything looks like a nail. To the neo-conservatives, every country looks like Poland, whose democracy movement in the 1980s was the thin end of the wedge that ruptured the Iron Curtain. When the self-styled “realist” Stephen Walt taunts the neo-conservatives as “wrong for so long” about Iraq, he occults a more important piece of history: the neo-conservatives won the Cold War and rescued the world from a nightmarish half-century. They did this when Prof. Walt and the so-called realists had one foot nailed to the metaphorical floor and were turning tight little circles in pursuit of “balance of power.”The term “neo-con” in the parlance of the global left replaces more cumbersome epiphets such as “Running Dog of Imperialism,” but it has a specific meaning. The neo-conservatives were anti-Communist social democrats recruited by Washington to fight fire with fire, through such entitles as Encounter Magazine (edited during the 1950s by the neo-conservative “godfather” Irving Kristol) and the CIA-funded Congress for Cultural Freedom. Backed by the international department of the American trade union movement at the AFL-CIO, with aid from the Vatican, the democratic socialists helped the Polish Solidarnosc movement challenge the Soviet empire. President Ronald Reagan, Prime Minister Margeret Thatcher, and Pope John Paul II were the godparents of Eastern European democracy, as Thatcher aide John O’Sullivan reported in a 2007 volume.
It was the tragedy (and sometimes tragicomedy) of a lesser, second generation of neo-conservatives to imagine that the colonial construct that called itself Iraq, beset by ancient ethnic and sectarian hatred, and wallowing in backwardness and ignorance, could reproduce what the profoundly Catholic, formerly democratic, and modern nation of Poland had done. But that does not obviate the neo-conservatives’ accomplishments.
The neo-conservatives were responsible for the Reagan economic reforms that launched the longest economic expansion in US history. Irving Kristol’s small but influental magazine The Public Interest first brought the work of future Nobel Laureate Prof. Robert Mundell to broader public attention in 1974, and it was Kristol, then head of the American Enterprise Institute, who gave my future business partner Jude Wanniski a grant to write his book The Way the World Works. Mundell was not a conservative of any recognizeable ilk. On the contrary: He was trained by the arch-Keynesian and liberal economist Paul Samuelson at MIT. Mundell took the one-period, closed economy Keynesian model and turned it into a multi-period, global model, and reached radically different conclusions.
The conservatives of the 1970s (like today’s Tea Party) were small-government libertarians who wanted to cut taxes in order to “starve the beast,” that is, force cuts in government spending. Milton Friedman, their standard-bearer, was obsessed with now-discredited monetary rules and odd schemes like allowing each bank to issue its own currency after the fashion of wildcat banking in the 1940s. Ronald Reagan like to quote their anti-government rhetoric, but followed Mundell.
As Reuven Brenner and I summarized the issue some years ago:
Robert Mundell showed that an increase in government debt may sometimes represent wealth. It happens when a well-funded public debt (to borrow Hamilton’s term) is supported by future prosperity, which implies both more creation of assets and more tax revenues. Tax cuts stimulate growth and produce an increase in wealth when the rise in tax revenues exceeds the interest that the government pays on the bonds it issued to cover the initial loss in revenue. This insight underlay the “supply-side economics” of the Reagan administration, unfortunately reduced even by some of its backers into simplistic caricature.
Yet, as Mundell observed, curing the stagflation of the 1970s required fighting inflation with tight monetary policy while promoting creation of assets through tax incentives. That is just what Paul Volcker’s Federal Reserve and the Reagan administration did during the early 1980s, launching a quarter century of noninflationary prosperity.
Reagan’s tax cuts led to a substantial increase in government debt, and the government debt represented an addition to wealth, just as Mundell said it would–the opposite of the mainstream conservative agenda. The National Review never would have proposed this (and didn’t). What is more, Reagan launched a massive military buildup, including an enormous increase in government funding for basic R&D in the context of the Strategic Defense Initiative.
To be sure, the Reagan tax cuts opened wide the gates of entrepreneurship, and helped new industries and new companies overturn the stagnant corporate giants of the 1970s. Reagan unleashed the forces of the private market, but he did so by using fiscal and monetary tools in a way that the traditional conservative movement abhored on ideological grounds.
The neo-conservatives didn’t invent Reaganomics, but they adopted it and sold it to the body politic, through Jude Wanniski’s bully pulpit at the Wall Street Journal and elsewhere. It helped that unlike the traditional conservatives, they bore no ideological prejudice against using the mechanisms of government where those mechanisms were helpful.
In the heady days after the fall of Communism, we all believed that we had discovered the key to everything, what Wanniski called “the way the world works.” A few trips to Russia in 1992 and 1993 as one of many neo-conservative missionaries for free-market capitalism cured me of that. In a fatherly way, Irving Kristol would admonish us that we had to pay more attention to cultural differences. He did so at a panel discussion that Wanniski’s consulting firm Polyconomics held for its clients in 1992 where I was his warm-up act. Wanniski stood up and remonstrated, “But Godfather, you told us to concentrate on the economics!” Kristol laughed and agreed. Despite Kristol’s admonition, the neo-conservatives remained social engineers, and what Charles Krauthammer in 2003 dubbed “democratic globalism” was the worst idea in American foreign policy since Woodrow Wilson.
I have spent the past fifteen years excoriating my neo-conservative friends for their obtuseness, deriding the premises of their thinking as well as its consequences. I have proposed that parts of the world dominated by religious fanaticism must be understood through the lens of religious existentialism rather than classical political philosophy. But the likes of Stephen Walt, whose contribution to America’s Cold War triumph was on par with a root vegetable, have no right to speak of how wrong the neo-conservatives have been. Without them there would have been no Reagan administration, no Cold War victory, no great economic expansion. One shudders to contemplate what the world would have come to without Irving Kristol. They deserve two cheers for their contributions of 1949-1989, and a catcall for the follies of democratic globalism.
"Before Brazil, Gripen was an aircraft looking for a market. Now it is a market looking for Gripen. And we can see that in many ways — it has really changed with Brazil. It is more global. It has changed the way we communicate," says Ulf Nilsson, head of Saab aeronautics, at a recent Press Tour.
According to a Defense News report, the FX2 programme reached a new level after Saab’s announcement of jointly producing most of Gripen NG parts in Brazil with the Brazilian manufacturer Embraer under a technology transfer agreement.
Mr. Nilsson mentions that Saab’s order backlog is at an all-time high. Starting this year, Saab will also offer the MS20 upgrade to Gripen C/D operators, which includes capabilities like MBDA Meteor air-to-air missile.
"The addition of Meteor air-to-air capability makes Gripen the most formidable counter-air platform in service," says Jerker Ahlqvist, Saab Gripen's vice president for business area aeronautics. The missile will become operational with Swedish Air Force Gripens in 2016.
Last month, Saab came up with MK4, a technologically advanced version of the renowned PS-05/A radar which gives Gripen C/D an improved performance and operating range.
Saab is also developing the naval version of Gripen NG: Sea Gripen.
"Sea Gripen is part of the technology transfer agreement with Brazil," Nilsson said, and a study will be done. "We're in early discussions for Sea Gripen, but we'll have to see where it goes. It will probably be about 2025 before the Brazilians decide what to do."
Read the full story here.
Photo: Stefen Kalm
Donald Trump is a baleful influence on American politics in my view, but he’s not wrong about everything. Part of the reason for his popularity is that he refuses to carry Republican baggage from the Iraq war.
Last May he mocked Sen. Marco Rubio, telling a Fox News interviewer:
These characters, like Rubio, made a total fool of himself on Chris Wallace’s program, talking about “We’re better off without Saddam Hussein.” Give me a break. Right now we have ISIS, which is worse than Saddam Hussein.
Sadly, he’s right about Rubio, and about the Republican mainstream in general. Listening to Rubio twist and turn on Iraq was excruciating. As for Iraq, Daniel Pipes had a better take in 2003: get rid of Saddam, install a strongman we like, and then leave. But that’s beside the point.
Despite strong public opposition to the Iran nuclear non-deal, President Obama wields an enormous advantage: he can tar his opponents with the mistakes of the early 2000s, as Eli Lake complained at Bloomberg News. Obama said:
The same columnists and former elected, former administration officials that were responsible for us getting into the Iraq war and were making these exact same claims back in 2002, 2003, with respect to Iraq.
That’s a wilful misrepresentation on many levels, most of all because none of the neo-conservatives who promoted “democratic globalism” (Charles Krauthammer’s phrase) propose to occupy Iran and build a democracy as they attempted to do in Iraq and Afghanistan. No one is talking about boots on the ground in Iran (except, perhaps, for small special forces teams), but about surgical strikes against nuclear facilities.
Republicans, though, are terrified to use the “W” word (and I don’t mean Bush 43′s middle initial). My neo-con friends gave war a bad name. Norman Podhoretz, who fears nothing and nobody, wrote last week in the Wall Street Journal that “there was no ‘better deal’ with Iran to be had”:
Unfortunately, however, I am unable to escape the conclusion that Mr. Obama is right when he dismisses as a nonstarter the kind of “better deal” his critics propose. Nor, given that the six other parties to the negotiations are eager to do business with Iran, could these stringent conditions be imposed if the U.S. were to walk away without a deal. The upshot is that if the objective remains preventing Iran from getting the bomb, the only way to do so is to bomb Iran.
But it’s hard to find a single elected Republican who is willing to state the obvious in in public. The Republicans are pushing a mirage of a “better deal” instead of proposing the use of limited military force. That gives the advantage to Obama in one of the decisive political contests of our time.