Alcides Fonseca

40.197958, -8.408312

(Iron)Python for Executives

The main fears managers have around Python are: Risk, Recruiting, Performance and Immaturity. At this stage I can say we have overcome all these reservations.
  • Recruiting – It turns out that smart and innovative people are attracted by Python .Innovative smart people can also learn Python very quickly.
  • Risk – in one year we had only five cases where a Python specific bug occurred. We had many more ASP. NET, JavaScript, HTML and even Java specific problems.
  • Maturity – not only is Python very solid, so is IronPython. The code is stable, the smart features work, the community is responsive and the libraries are rich. The only downside is the IDE and Visual studio integration, but this is progressing as well.
  • Performance – Python flexibility allowed extremely fast optimizations at the system and algorithmic levels, without requiring premature optimization. The system and algorithm changes are the ones critical in a real world environment. Some issues are showing up, but it seems they can be solved with a reasonable cost.

Python for Executives a first-person story of moving from the Java\J2EE combo to IronPython/.NET and the beneficts that may bring to your company.

JeKnowledge

JeKnowledge é uma Júnior Empresa da Faculdade de Ciências e Tecnologias da Universidade de Coimbra, da qual faço parte e assumo o cargo de Director de Projecto.

História

Há algum tempo o Rafael Jegundo convidou-me para este projecto que estava a arrancar juntamente com uns colegas do departamento de física, eu era o primeiro de fora. Fomo-nos informando com as outras junior empresas já existentes no país e finalmente na última sexta-feira (18 de Julho de 2008), usando a Associação na Hora, os 22 membros fundaram a JeKnowledge1, tiveram a primeira assembleia geral e foi eleita a primeira direcção, da qual faço parte.

Organização

Os elementos da JeKnowledge podem ter duas categorias: juniores e seniores. O sénior é aquele que já tem experiência e que poderá orientar um projecto, ou desenvolvê-lo sozinho. É também da sua responsabilidade passar algum conhecimento aos outros elementos juniores.
Poderemos em casos pontuais ter a participação de professores, elementos da empresa cliente ou mesmo elementos de outsourcing, para garantir a qualidade dos projectos.

1 Legalmente houve uns problemas com a marca, e temos de usar a denominação “Conhecimento Prévio”, mas estamos a tratar da incorrecção.

MetaProgramming is okay

Even though Jeff Atwood believes that metaprogramming will lead to the apocalypse, I’ve recently discovered occasions where the metahammer has proven most useful.

Tony Perrie replies to Jeff Atwood about why monkey patching is okay to use. As long as you know what you are doing.

Oddly, I would get behind a law to make drunken monkeypatching a felony.

Writing Humble Javascript

Writing Humble Javascript is a manifesto of some principles you should follow when developing in Javascript for web interface, that will make you have a clean and unobtrusive code.

If you follow this ideal, you will not mix javascript’s domain (behavior) with HTML’s structure and content nor with CSS’s presentation. Your website will run fine without CSS, Javascript or both. But you should read the whole thing to get the right idea.

Vodafone integra Asus EEE na sua oferta

a Vodafone deverá comercializar o Asus Eee PC na sua versão Linux, incluindo diversas aplicações open-source de produtividade, em conjunto com uma pen USB para acesso à Internet móvel de banda larga.

Fonte: Tek

O iPhone para o resto de nós…

Adeona

Adeona is the first Open Source system for tracking the location of your lost or stolen laptop that does not rely on a proprietary, central service.

There are already some applications that do this, but they aren’t free nor open. This one is both.

Centro de Partilha de Trabalhos Online

Já várias pessoas me disseram para fazer um Ninjas a nível nacional. Pessoalmente nunca achei que seria boa ideia, porque estes projectos vivem muito da comunidade envolvida. E a nível local seria mais fácil. O que poderia ser comum a várias universidades seram sebentas, porque o resto varia de professor para professor. E para isso já existia o Sebentas.com.

Mas parece que agora estão a lançar um projecto à semelhança do que tinha pensado: Chama-se ucUckoo e em vez dos créditos que eu sugeri, usam mesmo dinheiro, e apenas 60% vai para quem fez o upload (o que poderá até ser justo tendo em conta que muitas vezes não é o autor). Aliás, um dos problemas era o copyright, que podia gerar alguns problemas. Gostava de ver como é que este projecto trata disso.

Fonte: Portugal Geração Start-up

SVN update finder button

What?


It’s the one before tm(Open In TextMate)

As I stated in my Versions.app review, I believe VCS should adapt to your workflow, and not otherwise. I find myself doing so many SVN updates, that I even find it too painful to use the excelent SCPlugin menu.

What would be perfect is a button in Finder’s toolbar!1 And that’s what you can download here.

If you want Commit and Checkout buttons, just bug me to do the same trick to get them

The story behing this

This isn’t all result of my work, I just made the mashup of a lot of stuff together to achieve my purpose. This was inspired from Open in Textmate, from which I stole the base artwork.

The code that actually runs, its stolen from Subversion Scripts for Finder with a few modifications.

So I just did some Fireworks-fu and glued the whole thing together.

How to make the same for my own applescripts?

Since I’m kinda new to OS X, I struggle a bit to get the image right, so here’s a guide to do the same for your own scripts.

The icon in the finder is 32×32px and you can find in the zip the Fireworks png version of the one I made, and also a vanilla one for your purposes. Just edit with Fireworks, or your favorite editor. Now to get an ICNS file, DON’T use img2ics. Instead, use Icon Composer (in /Developer/Applications/Utilities, but you must have installed XCode first!!), edit the default icon, and drag-n-drop your PNG to the 32px square. Save it, replace droplet.icns and you’re done!

License

I usually release opensource stuff like this under WTFPL, but since I’m using other sourcea, this is GPL 2.0

1 As of Leopard, you can drag Applications to the toolbar. Just drag them and wait 2 seconds and drop it.

Estes católicos devem estar doidos

Webster Cook participou numa missa no campus da universidade no dia 29 de Junho. Depois de receber a hóstia, Cook, que fora à missa com um amigo não católico, em vez de a consumir imediatamente decidiu mostrá-la ao amigo que continuava sentado e nunca vira uma. Ainda não tinha dado três passos, quando foi agarrado e uma senhora lhe tentou abrir a mão à força. O jovem não gostou da violência e intimidação física que se seguiu e resolveu levar a hóstia para casa e devolvê-la apenas depois de receber um pedido de desculpas da igreja pelo sucedido.


Caiu o Carmo e a Trindade na comunidade católica norte-americana com este «crime de ódio» como nunca se viu, o jovem foi repetidamente ameaçado de morte, recebeu uma quantidade assombrosa de «hate mail», mesmo depois de se ter assustado com as proporções que o incidente assumiu e ter devolvido a hóstia «raptada» (sem pedido de desculpas).


Bill Donohue, o presidente da Liga Católica, não se conformou com a devolução do «refém» e organizou imediatamente uma campanha nacional contra o estudante que tinha cometido algo tão abominável, exigindo consequências para o acto que incluem a expulsão de Cook da Universidade.

Ler o artigo completo no De Rerum Natura

MobileMe and IE7

And Ben Ward’s comment:

‘Modern Web Standards’


What utter crap from Apple. A grand, holier-than-thou claim that IE’s failure to fully support web standards is the reason Apple discourage access to their new site.


A new site whose front page uses tables for layout, whose applications contain precisely no content in HTML and are entirely generated by JavaScript, a site which uses browser sniffing rather than progressive enhancement, fails to provide alt text on various images and suffers divitis littered with inline style elements. A web site whose meta redirect takes you to a faux 404 Not Found page if you have JavaScript disabled.


Even the fake 404 page, with a single column of content, uses tables and doesn’t validate.


Me.com has about as much in common with modern Web Standards as as a rhino and a quad bike.

I might agree with the lack of support of IE6. But lacking support for IE7 may not be the best choice. I know a few companies that their employees can only use IE7 and they are being excluded. Although IE7 may not follow the spec like the other browsers, it is the major browser around, and that should mean something.

Of course as a webdesigner I hate to hack around IE’s rendering, but in some cases I even find IE7’s approach better (like padding being inside width). But I understand that I must address IE7 browsers right now. And Apple doesn’t. Do they want to push Safari3 to their windows users?

On Stallman and free vs proprietary software

Yes, I’m getting back to this subject. I’ve already wrote about the piece Stallman wrote on Gates leaving MS and that he shouldn’t be talking about proprietary software like that. Well, Matt Maroon writes Free & Proprietary and I agree with him at 100%.

Stallman, upon any research at all, appears to be the tech-industry equivalent of a communist. He thinks that proprietary software (software whose source code is not freely available) is essentially evil, and free software has become religion to him. He evangelizes it at every opportunity, demonizes anyone working toward a dissimilar goal (as in the Gates piece) and seems to be immune to any evidence that there might even be an opposing argument, let alone one that holds any truth.

I have already written about my view on proprietary vs opensource software, but they can both co-exist. I don’t believe that all website should be free, in fact many great opensource companies (like RedHat or MySQL) have used a community/opensource version and also a commercial proprietary version that has all the cutting-edge technologies that will eventually be available in the opensource version. Are they also evil? I don’t think. Oh, and Microsoft also has OpenSource software available ( IronPython, IronRuby and lot of stuff in CodePlex)

That, rather than insults, should be the Free Software Foundation’s approach. Don’t argue that Bill Gates was unethical for promoting proprietary software. Argue that he would have better served Microsoft shareholders (that was his job) by building and promoting open ones instead, because proprietary software is a bad idea. Raise awareness for your cause, but do it without vilification.


The problem is, Stallman clearly can’t win that argument. It’s hard to argue that the man who was the world’s richest for decades could have somehow done better for himself or his shareholders, or the world at large. It’s obvious that up to this point, proprietary software has created a vibrant ecosystem and immense profits that probably would not have existed were all software open source. It’s driven the computer revolution, which is the most significant shift in technology and user behavior in living memory. It may be that the tide is turning, and it’s becoming easier every day to make money from open technologies as well. But Bill totally won round 1.


So rather than trying to pose a logical argument, which cannot be done, like any religious man Stallman resorts to insults and vilification. Bill Gates isn’t a tech and business genius rolled into one (something incredibly rare) but instead he’s an enslaving, monopolistic, unethical software super-villain, whose only purpose in life has been to ensure that you cannot do what you want with your computer. He’s a very narrowly-focused Satan, the Beelzebub of the Free Software Religion, and therefore anything he does, including being by far the greatest philanthropist in the history of the world, is, by definition, evil.

Shared Hosting is not that doomed

Jacques Chester defends that Shared Hosting is doomed. I actually agree with his points: Manpower for administration server is becoming more expensive and hardware incredibly cheaper! So at some point, it would be cheaper to buy a VPS than a Shared Hosting account. And he has some pretty graphs to show that off.

He also refers to two examples of each kind of hosting and by coincidence (or not), I have one account in each of them( Dreamhost and Slicehost). And I use them for different reasons. I run a VPS on slicehost to run all the non-LAMP I have: Django and some non-web Python scripts. In Dreamhost I have the regular Wordpress blogs, some CMSs, a lot of backups (since they give me 200+ GB for storage) and also easy-to-configure SVN repositories.

This is why I think Shared Hosting will survive: A lot of people would gladly pay for someone to make all the admin-fu needed to keep their website running without a problem. They just want a write-and-upload workflow (or even something like Heroku). And they will want it to be scalable, but that’s another issue.

And I believe Shared Hosting will also move to another areas, like backups or syncing (somewhat like Apple’s Me.com), that I use through webdav in Dreamhost, to host SVN, Git or your favorite version control repositories (like BeansTalkApp) , to some online shared folders for office documents ( like Office Workspace or GoogleDocs) or even to some kind of online sharing I’m not thinking of right now.

Sure many developers will migrate since for a cheaper price will get more control over their stuff, but large-storage and other benefits from shared hosting will still hold a large slice of the pie.

The Pirate Bay Wants to Encrypt the Entire Internet

Let’s say you want to open a video download from a remote machine. IPETEE would first test whether the remote machine is supporting the crypto technology; once that’s confirmed it would then exchange encryption keys with the machine before transmitting your actual request and sending the video file your way. All data would automatically be unscrambled once it reaches your machine, so there would be no need for your media player or download manager to support any new encryption technologies. And if the remote machine didn’t know how to handle encryption, the whole transfer would fall back to an unencrypted connection.

So if it’s technically possible, let’s go for it! Sure this brings some issues with security (like CSI-like need to identify who downloaded that content), but I guess we all deserve a little privacy on the web, right?

But he seemed optimistic that he would have at least a proof of concept implementation ready by the end of the year.

Source: NewTeeVee

After all, Internet is all read/write

Brecke showed me this tip on how to edit any website.

Just enter this code in your address bar (tested in Firefox and IE7, and by me in Safari 3.1) and you’re done:

javascript:document.body.contentEditable='true'; document.designMode='on';void 0

Okay, so the changes are not saved, but still can help you to take some funny screenshots ;)

The new desktop entertainment system

The HP TouchSmart IQ500 brings a new(?) interesting concept: a desktop media center touchscreen. I am not a fan of HP’s computers (although I still have my trusty compaq presario desktop) but this one is really something. And I guess it would rock for illustrations! (although if it was me, it would be just doodling). I guess would be the perfect computer for my parents.

As a final note: notice the two finger scrolling? Now that apple is moving into multi-touch, others are starting to do what they have been doing for years…

Javascript Diff3, merging and Distributed Versioning Control System

Tony Garnock-Jones presented JavaScript diff3, merging, and DVCS (video) of which you can learn more in his blog post.

From the presentation:

  • Version Control can seem jolly difficult if you tangle all the pieces together (CVS, SVN, …)
  • Merging is the most important bit for correctness; storage design is important for usability
  • Little Unix-style composable tools are the way to go (but user interface is also very important)

Which does make sense to me. And different VCS (distributed and centralized sharing more of the same code would also be nice).

And from the comments:

The idea is to see if it can be put into TiddlyWiki somehow – but there are plenty of other uses for a decentralised JSON synchronisation mechanism: bookmarks, calendar entries, contact lists, …

Nasty Adventures with a Desktop, a Macbook and a MyBook

Last week I installing some OSes to decide which one would stay (in the end it was Windows XP) in my desktop, and I accidently formatted the Storage Partition. The important stuff was replicated in my macbook, so I didn’t lost anything I can’t download again. But this has alarmed me to worry more about backups.

I was booting up the desktop after 2 months (in which I was kind of banned form the basement1) and it was making a louder noise than before. I opened it up and checked that the dissipator was full with dust, so much that is was black! And the computer is only one year and half old! So i removed it and cleaned it. I noticed that the thermal compound wasn’t that good when I remounted it. I booted the computer and it would shutdown after 1 minute because of processor overheat2. So without a working desktop, I got worried about backups again and I decided to buy a NetStore.

I ended up buing a MyBook World Edition 500Gb which also has a funny story that you should also read. When I was getting ready to backup stuff to the external drive, my macbook wouldn’t boot! The screen was gray with a darker apple logo and a AJAX-like spinner that would never end! Verbose mode gave me no idea on what was going on. A few more reboots with cmd+V, and nothing. I inserted the Leopard CD, opened Disk Utility and found out that it would recognize my harddrive, but no partition. No backups could be done then :S

From the nowhere the next boot succeeded and I am right now backing up all my stuff to the external disk. But I’m not sure if It will reboot next time…

Ironic how both of my computers died on me right before I was backing up. This should teach you something right? If you don’t have a secure backup plan, do it right now! the 79€ a 500GB drive cost will be nothing compared to how much you will lose if your single drive fails.

I suggest you make daily backups of your most important folders (SyncToy in Windows, rsync in everything else) and weekly backups of your system. When I got my workflow perfect, I will post about it.

1 Have you noticed that all great genius work in a basement?

2 I later bought a thermal compound kit and applied it, but no luck. I guess I’ll take the computer to MBit.

It's not the bars, it's you!

BBC News published an article by Richard Stallman about Bill Gates leaving MS, but the restricted digital empire of proprietary software and DRM still remains.

Although Stallman may be right towards some stuff he writes, I strongly disagree with him about the following piece:

Microsoft’s software is distributed under licenses that keep users divided and helpless. The users are divided because they are forbidden to share copies with anyone else. The users are helpless because they don’t have the source code that programmers can read and change.


If you’re a programmer and you want to change the software, for yourself or for someone else, you can’t.


If you’re a business and you want to pay a programmer to make the software suit your needs better, you can’t. If you copy it to share with your friend, which is simple good-neighbourliness, they call you a “pirate”.

Well, this is called commercial software. As long as their license is legal in the contry it is being sold, they can make the rules they want. And if everyone wanted to share with their friends, they would have no sells at all. If you buy that product, you agree to that license, so if you break it, you’re a pirate. It’s very simple, and I don’t see why can’t you understand that. No one is enforced to anything, you have the right not to buy it (as I presume you are using that right).

You’re just too narrowed to GNU/Linux that you can’t accept other software philosophies/practices. That’s why even many FOSS believers are not with you anymore. Why don’t you try to spread your “product” (GNU) or your philosophy without beating up on Microsoft? Just leave them alone, if what you believe is better, people will choose to adopt it.

1 for whom I had a great respect until this (English)

HP thinks "Everything As A Service"

Being less academic by being more academic: I was impressed by the new labs director – Prith Banerjee. One of his key points was that HP research would have to engage a lot more deeply in peer review through scientific and research journals. This idea makes so much sense- rather than a board at HP trying to work out whether an idea is really advancing the state of the art, the world will let HP know. This is open source/co-innovation thinking, and absolutely the right thinking to do.


I have regularly hammered IBM for having no “consumer” touch points. I came away from Bristol realising that HP has plenty, and its helping the company better understand Everything As A Service.

Source: “James Governor’s Monkships”:

Interesting how HP research works, tightly connected to the academic world (of which I don’t have the best idea). From my experience I’d say things get pushed forward more quickly in the enterprise world rather than when they’re in the academic one.

HP’s view of Everything As A Service and how they apply it to their business is also interesting.