A programming language that I am starting to work in.
It aims to be human-readable, DSLable like Ruby, use identation like Python, be functional like Scala and some stuff from Javascript.
Resources:
A programming language that I am starting to work in.
It aims to be human-readable, DSLable like Ruby, use identation like Python, be functional like Scala and some stuff from Javascript.
Resources:
Segunda-feira, o dia ideal para começar a trabalhar, right? Não. O dia de manhã era para ir a junta de freguesia com o Diogo tratar de nos recensearmos para podermos votar1. Uma pessoa acorda cedinho (10h) vai até a outra casa buscar o carro e vai buscar o outro futuro eleitor.
Depois de 15 minutos a espera e quase a adormecer no carro, ele lá telefona a informar que agora o recenseamento eleitoral é feito automaticamente. Pediu-me os dados, inseriu num site todo catita em asp.net e aquilo deu os dados que preciso para votar.
Fiquei um misto de contente, por já estar despachado, e de frustrado porque podia tar muito bem na cama sem me preocupar com isto. Melhor divulgação da próxima vez quando tiverem iniciativas porreiras, ok?
1 Sim, só o vou fazer aos 20 anos, porque quando fiz 18 já não aceitavam registos por causa das eleições para a legalização do aborto.
I haven’t seen such a good epic tale in a long time. This movie is about the invention of the Singijeon, a weapon that, along with strategy, gave Korea the victory against China, when in minority.
And the love story there works perfectly and I’m not just saying this because I have a soft heart.
I’m so damn lucky! I decide to switch back to delicious after more than a year using ma.gnolia because of their OpenID support. Unfortunately OpenID is not taking off as it should have, so I decided to use the one with the best user interface, so I went back and imported all my ma.gnolia bookmarks into delicious.
Looks like today it went down with data corruption and loss. I’m so damn lucky!
A while ago I read an interesting article about MDIs in Mac OS. OS X is design to have multiple documents in it’s own window, and exposé and spaces behave according to that pattern. An exception (by Apple itself) is the tabbed Safari.
Users that have a lot of windows opened at the same time really enjoy having tabs, and it was a huge success in Mozilla Suite and it also worked out pretty good in Safari. So why did they broke their own rule?
I decide to give single-page windows a try. I usually have only a couple of tabs open, but when reading feeds I end up with more than 20, being my “todo list”. I am also a mouse-user. I do use shortcuts, but when reading, my right hand is scrolling the page in my mouse.
I was expecting a few advantages from this new way of using Safari. Having pages in one window each would allow me to switch pages by their content, and not only their title as I would in tabs. I would also be able to minimize it to the dock for later reading. In the end, I never minimized any page (as I don’t use that feature at all) and I spend more time looking for the right page than with tabs, since exposé makes different arrangements with the same windows, depending on the active one.
At first, using windows as the same as tabs, but when I started working with the keyboard, everything changed. To open a new tab I was used to type cmd+T with just the left hand, now I have to use both hands to type cmd+N, which sucks since I want to be able to use the mouse with the other hand. Another issue with shortcuts was the navigation between open websites. I switch tabs by using cmd+shift+arrow keys. With windows, I have to cycle them with cmd+shift+` [1] so there’s no back and forth.
Since I have a black macbook, I am only equipped with an integrated graphics card, which is perfectly fine for its purpose, but with more than 15 windows, exposé was breaking a little. And I looove exposé so much, I can’t bare it to slow down, so with all of this in mind, I switched back to tabs after a couple of days.
If this is something that interests you, make sure to check the How do People Use Tabs presentation.
1 Yep, seems like apple doesn’t care a little about people who don’t use US/UK keyboards.
O Senhor Obama ainda não tinha assumido o cargo, e já estava a mudar o mundo. Há poucos dias o Vaticano começou a olhar para a web social e criou o seu canal no youtube.
Já em Portugal, temos a nossa presidência a seguir o exemplo, criando uma conta no Twitter e no Sapo Vídeos. Eu gostaria era de ver o Mário Soares a fazer o vídeo de apresentação. Gostei deste passo, agora só falta cortar no palavreado e ir directo ao assunto :)
The French state will help provide free newspaper subscriptions to teenagers for their 18th birthdays, President Nicolas Sarkozy announced Friday. But the bigger gift is for France’s ailing print media.
Source: Associated Press
I find it a useful solution for this problem since it may make teens more aware of their citizenship. And they are just applying the trial method that you see everywhere in the industry.
“It is indeed its responsibility … to make sure an independent, free and pluralistic press exists,” he said.
I totally agree. But I have a better solution: don’t support print media at all. If their market is dying, they should adapt to the new one. They have to move on to the online media, and that way you will not only help the press, as well as internet-related industries. Oh, and teens will also access those news because they already have a presence online.
I just added to my applebin folder a new theme for the Mac OS X Terminal: Readable
Just some minor changes from GiovanniStyle
Não sei se fique contente ou triste. Hoje estava a tentar resolver um problema com o meu PDA que não lia cartões SIM e acabei por bloquear o cartão do meu pai e ficou a pedir o código PUK. Ora ele tem esse código na empresa, e precisava do telemóvel a funcionar amanhã.
Eu fui procurar online no site e não havia nenhuma pista. Decidi telefonar para o 16912 e pedir ajuda. Ora eles pediram-me o número e depois ou o pin original (que estava no mesmo papel que o puk, logo inacessível) ou o número de contribuinte, que eu sei de cor porque é o da empresa e por acaso é público.
confirmamos a recepção do seu pedido, pelo que para desbloquear o equipamento deve contactar-nos através do Atendimento Apoio ao Cliente Vodafone ligando 16912 ou enviando um e-mail para apoiocliente@vodafone.com a solicitar o mesmo, confirmando dados, por exemplo, o pin original ou contribuinte associado ao numero de telefone em questão.
Cartão salvo, e está tudo a funcionar. Mas basta quem vos gamar o telemóvel souber o vosso número, pode encontrar o vosso contribuinte na internet (se for uma empresa é super fácil) e desbloqueia-vos o telemóvel. E chamam a isto mecanismos de segurança….
It saved my ass today tough…
Lately I’ve been discussing the differences between Rails and Django with brecke, since he’s been learning Django now that he already knows Rails. After this post by Jared I decided to write my view about the main differences. Please note that I have not done serious development with Rails, only Django, so if I’m mistaken somewhere, do correct me.
Django call their separation of domains MTV (model-template-view) instead of the traditional MVC. Using template instead of Rail’s view seems more obvious to me. And their reason for using another TLA is fair: the MVC pattern does not fit exactly in the rapid web development. Please see the Snakes and Rubies talk for more detail on this one. To me, the template word makes it clear I can’t have presentation logic there and it has to be in Django’s views, while the traditional View can have presentation logic. But in the end, code is not supposed to be in views/templates and you end up using helpers/templatetags to do that. So despite my preference for MTV, Rails does it right, and uses the name everyone else uses.
Specially if you have a J2EE background, you love the fact that Rails apps almost don’t have configurations. You just start coding, and if you follow some conventions, lots of magic is done in the background that makes your stuff just work. I believe this is what gave Rails the popularity is has today. With this stuff it is super easy to make 5, 15 or 30 minute screencast and get a full app working.
Django is different. While Rails feels just like Ruby with all that magic, Django reflects the pythonic explicitness. Just like in Python you have to declare the self and the first argument in a function, in django you have to say where your view (or model) lives. This is not a bad thing. It allows you to have reusable apps and other stuff, and makes Django loosely coupled.
In Rails brings a full stack to your development: activerecord, erb, prototype&script.aculo.us and you can do your full app almost just using Ruby. You write your databases in a ruby DSL, you write your Javascript in rjs and you can even replace erb with haml and write HTML in another ruby DSL. This makes learning web-development much faster (and maybe that’s why most rails users are students1). When developing in Django, you really must know your way around HTML, Javascript, CSS (and Ajax). Of course in Rails you can do it the raw way too, I tried it once, but it was not the 37signals way of doing it.
But being loosely coupled is the point where Django gets advantage. There’s no preference in your js toolkit. Some use Prototype, others jQuery and others even Dojo and mootools. And although you have Django ORM as the default setting, you can easily (and pythonicly) start using SQLalchemy just like you can dump Django Templates for Jinja2. And this is easy because Django is explicit. This is why I believe hardcore rubyists aren’t using Rails but Merb, that gives them the freedom of using whatever they want (Thinking about DataMapper instead of ActiveRecord) depending on their needs, and not using a cannon to kill a fly. Luckily Rails is merging with Merb and this will change in Rails3.
Rails provide a default migration mechanism while Django doesn’t. There are a few options, but none of them was chosen yet. There are a few alternatives, because there is a need for a system like that. I believe it is handy sometimes, but I don’t really get. I believe it’s something version control (together with backups, so you don’t have issues) should do. I don’t like the fact that you have a database schema that is not consistent with your code. I admit however that this is useful to ease database administration in servers when upgrading the production environment. One point to Rails, just because there isn’t a default choice in Django yet.
This is a feature that comes out of the box in Rails and doesn’t in Django. Like I’ve said before Django is explicit, and you can make your environment system. Sometimes I don’t even use it. Sometimes I choose my environment depending on the machine name, and others depending on environment variables. It’s just an if and an import, no big deal.
This is where Django really steps up from Rails. In rails you can reuse code by using plugins, while in Django you can have reusable apps. For instance, I am developing a website, and it needs to have a forum. I just download django-forum and route /forum to forum.urls and I’m done. Same for any other thing, just like registration, profiles and other common stuff. And each app has it’s own views, templates and models. And you can write your own website splitting it into apps. Makes sense in not-so-small websites. Rails has plugins, that will extend your app, and not work independently. You can do the same as you would in a Django app, but not as clean and independent.
Django features a sweet admin system, that making development of simple CMSs really easy. This is not something you can’t achieve with Rails (and there are cool plugins to do it), but doesn’t really comes out of the box and integrate with different apps in your project. And you can even make your own website just by using django admin interface and authentication system. Is not a big plus, but counts a little towards Django.
Rails is more popular than Django, and while it’s not actually older, it is only in 1.0 while Rails is 2.2. I don’t see this a downside because Django guys are perfectionists and Django 1.0 is way more solid than Rails 1.0 was. However in the time it took to reach 1.0, startups and other companies were adopting Rails and this has led to an enormous Ruby community. In my point of view, this doesn’t matter to me a lot because people using Django are hardcore programmers and know their stuff. You don’t get as many rookie posts in blogs as you’d get if you were looking for rails. But in the end, adoption rate matters in business and Rails wins there.
While Rails seems more simple is magically, while Django requires you to explicitly declare some stuff, the latter is my choice because of reusable apps. Everything else (that I mentioned here or not) doesn’t really matter. Things are possible in both frameworks, sometimes easier in one, sometimes in the other.
1 Scroll down the Terry Chay rant until “Why I wish summer never ended”
Ora aqui está uma questão interessante:
Os professores têm direito à greve. Não tenho nada contra isso. Ora o representante nacional dos pais e encarregados de educação diz que mesmo sem professores, deve-se garantir o funcionamento das escolas, nomeadamente a guarda das crianças. Concordo plenamente.
Agora e caso seja greve da função pública e não só os professores, mas também os auxiliares faltarem ao serviço? As escolas fecham, nem que seja da parte da tarde, porque as cantinas não servem almoço, e as crianças (com a idade e com as maluqueiras que têm) andam a solta por onde bem quiserem, e os pais a pensarem que estão na escola. E sim, eu mesmo já passei por isto umas poucas de vezes.
Que eu saiba nos hospitais não há disto. Há sempre um serviço mínimo que tem de ser assegurado. A educação é menos importante que a saúde? Eu diria que não. E não acho que nenhum pai gostaria de ter o seu filho de 10-11 anos por aí no meio de uma cidade sem saber disso.
After those discussions about 2 hour lunches at Le Web with Arrington, here’s a nice lecture on the european point of view that Le Meur gave in Stanford.
E porque também de Coimbra sai boa música, espreitem aqui esta compilação.
Acrescentaria ainda os Fitacola à lista.
Earlier today1 I was thinking about having a tv channel that worked only by podcast. Instead of a around the clock emission, it would only produce like 6 hours per day (which I find enough, even for those boring days). One could see anything whenever they like.
This upset me a lot when I was a kid and couldn’t watch the shows I wanted because I had school or other appointments2. But since broadband, I almost never watch TV. Just download the shows I want from my favorite bay and make my own schedule.
The problem is that I only find popular movies and shows. I wanted a short version of national news, something different to watch. And I want it in podcasts, so I can set a simple system for my parents, without the need for searching the torrent (although it could use bit torrent by RSS underneath).
I believe this is a really great idea, and someone could invest until it has a large audience, and then just add small ads to monetize it. I don’t mind having small ads for watching TV whenever I want, and I bet a lot of people wouldn’t too.
Today I found out about ValleyPeaks via Brea Grant. It’s a homebrew show that resembles The O.C.. and Desperate Housewives with a bit of satire. It is hosted in Vimeo for high definition and features really hot girls. I’m sold :)
1 Yeah, I woke up very earlier today. I heard we were moving places this weekend. But without internet in the new house, I doubt I will be motivated to pack stuff and move heavy furniture around.
2 Turns out that I was pretty busy when I was a kid. Seriously! That why kids like me woke up at 6.pm in the weekends, even before TV emission started.
Early this month, the Twply sale made the news in tech-related blogs. Jeremy warns users about the password anti-pattern. Fred writes about it and Messina replies to Al3x.
Of course I rather have OAuth so users could revoke access to my app, without affecting all their 101 twitter apps and mashups that also need their user and password.
This matter was forgotten until I received an email from someone interested in buying TwitterNotes.
TwitterNotes was Sérgio’s idea which he implemented in Rails, and I helped with the design and marketing. It was a fun project that was mentioned in some big blogs like LifeHacker and we got over 3000 accounts. It’s not such a large number, but 3000 people thrust us with their password1.
Although we decided I am entitled to some part (to cover for hosting expenses) as well as our sponsor, it was Sérgio’s call, and he made a price without the database.
I’m not sure if I would have made that decision so easily. And this is not about money at all. Right now we don’t have any idea about who our buyer is, nor we know their intentions. This could be about the domain and traffic, about the app itself, or just about the database for evil marketing purposes. Let’s suppose they just want to keep the service running and monetize with ads, since it’s legit.
By selling the system without the database, all accounts along with the data stored (TwitterNotes allow users to store and manage notes from our website) would be deleted. Although it’s possible to recover some part, it is not possible to recover all of it. Since we were tied to this anti-pattern, we didn’t had any register step, but if we need, all the users would have to re-register.
And in general terms, applications populated with data worths much more those yet to launch. And I’m not counting on passwords here. The transition would make the website lose some users, and this would reflect in the buyer’s revenue from ads.
I believe selling a service without the database may be prejudicial to both users, buyer and seller. As a user, my wish is that any service that is sold keeps the same for me (or eventually be improved, like Flickr, Feedburner, etc…). This was the case, since TN development stopped a few weeks after launching.
And if Microsoft bought Yahoo? (or any of the examples above) Will the buyer get the service without the database? Will you have to register to flickr again, and lose all your photos there? It makes no sense!
But we store their passwords to third-party services, you’d say. Well, it’s not our fault! Twitter doesn’t provide any other option for accessing their APIs! We even encrypted the passwords, but since we need them in the clear, the code includes the decryption code. And if you think twice, when Yahoo bought Flickr, it also bought all of your private photos. You trusted flickr, but they sold your photos to yahoo. Isn’t the same thing? Selling private data?
I’m not saying Sérgio made the wrong move. It was in fact the safest solution for our users, since we don’t have any idea who the buyer is or how the passwords would be used. I’m just not sure it’s always the best solution.
Extra: If by any chance you are also interested in buying TwitterNotes, just mail me
1 I bet 99% of them didn’t even thought of that.
Sim, devem pensar três vezes antes de casar com um católico. Os gajos são esquisitos e tal, só aceitam a verdade deles. E quem já leu a Bíblia toda?
Então se for como este aqui tenham cuidado a valer!
Ah, e estou a pensar em ler isto, é capaz de ser engraçado :)
Já tinha explorado esta área há algum tempo, mas hoje encontrei um post do pelf sobre Dinâmicas de Jogos aplicadas a Redes Sociais na sequência do mestrado.
Recomendo a leitura, sobretudo para todos os que estiverem interessados em redes sociais e gerir comunidades online.
Criar um algoritmo de escalonamento para os meus pensamentos, preemptivo de preferência, com prioridades de modo a que aquela coisa a que chamam Licenciatura em Engenharia Informática não faça todo o resto da minha vida acabar em starvation.
O ideias3 orgulha-se (ou não) de alojar o Batido de Banana.