del.icio.us for programming

Links of the week

April 26, 2008

How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L Read, is a wonderful short book every programmer should read. You’ll get an idea of the skills you should improve in the different stages of your path through programming. And I love the fact that there is no code there, not even one programming language name mentioned! And he goes through Debugging, Unit Testing and so. And you’ll read it incredible fast!

Why Johnny Can’t Scale is a post on why Twitter can’t scale as it should and a small rant on Ruby on Rails. You should read it along with the debate in the comments between Michael Galpin and DHH himself.

Fencing in the habitat – doing things right and getting the accessibility wrong is a presentation by Christian Heilmann on accessibility on the web. And I love how you can get the idea by just reading the slides. A must for webdevelopers!

This post has 0 comments. Feel free to read them and leave your own.

Why do I keep on using Python...

April 13, 2008

I sincerely believe Dynamic Languages are the future. Once people start learning these languages, they’ll hardly go back. I know a lot of guys, like me, to whom programming in C, Java or C# is painful. Most of people won’t learn any of this “new” (they’re so damn old!) languages. If you think right, they make you more productive!

So why Python? Well, I’ve spend many years coding PHP and I don’t want to do that again! (I know I will, and because it will the best choice, but I won’t have the same feeling as in coding Python). As for PERL, it is really good for those who learned it years ago. Nobody learns it nowadays. Ruby and Python are as powerful as Perl, and much more readable. As for Ruby, it is indeed a powerful language. I happen to love some of its features, but the simplicity of Python rocks my world. Ruby is almost used with Rails, which I also like, but it alone can’t make me change my language. Of course there is Shoes also, but that’s just for fun.

In Python I have all another world. I also have webdev with Django (which fits my specific needs better than rails) and I also have scripting and desktop apps. Do you know that a lot of the frontend of the applications you use daily in Linux distros like Ubuntu are mostly written in Python?

But the best is yet to come. I believe Python will be the next big languages. Not for developers (who will use something like Javascript with a bit of Ruby), but for PowerUsers. Society is getting more into computers and kids can now learn advanced stuff faster. In a few years, all software should be scriptable, and regular people will make small python scripts to change the way each program flows. And that’s what will Python be for. So if you do software development, you can see how easy it is to allow such thing in .NET.

I would also recommend reading Gobán Saor’s post on Python the new VBA which details more of this idea.

Tagged with: , ,
This post has 7 comments. Feel free to read them and leave your own.

Linguagem para caloiros

February 19, 2008

Ou, mais pomposamente, como o Nuno escreve: Primeiro contacto com programação por parte dos alunos do ensino superior. Ele defende os Haskell pelas suas razões. Cá eu, tenho uma opinião diferente, e quem me conhece destas bandas já o adivinhou: Python.

O meu curso até há uns tempos tem sido mais uma daquelas escolas horríveis de Java, mas com a remodelação para bolonha isso foi corrigido. Das quatro cadeiras de programação que temos, usamos Python, C, Java para as três primeiras e na quarta uma qualquer das anteriores (visto que se baseia apenas em algoritmos). Acho bem começar com Python. É uma linguagem de alto nível, que pela sua simplicidade serve perfeitamente para transmitir os conceitos básicos de ciclos, funções, recursividade, e dá aos alunos a capacidade de já poderem fazer programas e scripts que lhes sejam úteis no dia a dia. Depois é dado C para chegar a um nível mais baixo, que também é essencial saber. Depois na cadeira de POO damos Java, embora eu sugeria fortemente Ruby, mas nem é o que me preocupa mais.

Mas eu acho que está aqui uma coisa mal, a programação não devia ser ensinada no ensino superior, mas sim a nível do ensino secundário (e lá mais para a frente a nível do básico). Quem está na área científica, devia logo aprender a programar, porque o seu curso vai ter sempre uma cadeira de informática (ok, há umas poucas que não dentro da área da saúde) e ter capacidade de escrever um script em Python (ou uma outra) para automatizar o seu trabalho é sempre uma mais valia, e cada vez mais imprescindível. Já para economia, deviam saber trabalhar com bases de dados, mas se calhar também já estou a exagerar.

Estou também a ver se junto um grupo de alunos do 8º ano para lhes ensinar a programar, porque acredito que é essa a idade ideal. Linguagem? Python (ou IronPython). Depois mostro os resultados ;)

Tagged with: , , ,
This post has 9 comments. Feel free to read them and leave your own.

The Average Joe

February 08, 2008

Following this two posts, I’ve found Steve Yegge’s Drunken Blog Rants™, a re-edition of his 2004–2005 blog posts that I recommend to every Computer Science guy.

I want to focus two of his posts. The first, The Five Essential Phone-Screen Questions, in which he recommends five topics on phone screen interviews and just like Daniel Tenner’s they are interesting from both student/employee and employer points of view. Are you even capable of giving the right answers?

The second one is about Being the Averagest and how most of the programmers are just average and don’t try to improve their skills, they just go as they need. An excellent read and it also gives you some interesting tips ;)

Tagged with: , ,
This post has 0 comments. Feel free to read them and leave your own.

Lambdas

February 03, 2008

It’s ironic, when Python tries to get rid of lambda expressions, it’s when Java sees the light (and after C#).

I can’t wait to see what they’ll borrow from dynamic languages next (and I mean having lambda inside OOP code, and not lambda expressions themselves).

Tagged with: , , , ,
This post has 5 comments. Feel free to read them and leave your own.

Web programming and Hosting II

January 12, 2008

Following up with this post, James Bennett really does it well.

He explains the problem (the lack of a universally good standard gateway for dynamic languages and webservers), the objective (the change to long-running processes) and the solution (Languages guys and hosting working together to provide a better way for programmers like me to easily deploy stuff to the server and whatever magic is behind to be correctly handled by the hosting guys).

I know that DH guys really want it, now it’s just a matter of fact they can get along with RoR and Django guys to do some real work.

Tagged with: , , ,
This post has 1 comment. Feel free to read it and leave your own.

What makes a good programmer?

January 12, 2008

A while ago I wrote a post in Portuguese about the lack of entrepreneurship and innovation among undergrads. I received a lot of comments from people complaining the fact that they didn’t do any projects apart from those required for school due to the lack of time and other excuses.

Well, here is a excellent, and I do agree with all of it about How to recognise a good programmer. If you are a business guy, you should definitely read this because it will sure help you when recruiting developers for your company. But I also see this post as a good reading for student who still have the time to learn from it. Here are some of the highlights for students like me:

I believe that good developers are always passionate about programming. Good developers would do some programming even if they weren’t being paid for it.
However, there’s a class of programmers that will (...) typically have learnt programming at university, and expect to get by on whatever skills they picked up there, plus whatever courses their company is willing to send them on. (...) A good programmer doesn’t need a training course to learn a new technology.
You wouldn’t look at them chattering away in the pub and think “what a bunch of geeks!” - at least until you approach a group and realise they’re talking about the best way to design a RESTful application with a heavy UI frontend.
I strongly believe that most good programmers will have a hidden iceberg or two like this that doesn’t appear on their CV or profile. Something they think isn’t really relevant, because it’s not “proper experience”, but which actually represents an awesome accomplishment. (...) “can you tell me about a personal project - even or especially one that’s completely irrelevant - that you did in your spare time, and that’s not on your CV?” If they can’t (unless their CV is 20 pages long), they’re probably not a good programmer.
Learning a new technology is one of the most fun things a programmer with any passion can do. So they’ll do it all the time, and accumulate a portfolio of things they’ve “played around with”.
(..) formal qualifications don’t mean squat when you’re trying to recognize a good programmer. Many good programmers will have a degree in Computer Science. Many won’t. Certifications, like MCSE or SCJP or the like, don’t mean anything either.

All I’ll make his my final words:

As a final note to this, in my experience most average or poor programmers start programming at university, for their Computer Science course. Most good programmers started programming long before, and the degree was just a natural continuation of their hobby. If your potential programmer didn’t do any programming before university, and all his experience starts when she got her first job, she’s probably not a good programmer.
Tagged with: , ,
This post has 3 comments. Feel free to read them and leave your own.

Web programming and Hosting

January 10, 2008

A little background here: I have worked for a long (maybe too long) time with PHP and for a year now I am doing all my web development with Python with Pungi, my microwebframework. Since my early days at Terràvista I’ve always used shared hosting. It fitted my needs for PHP and MySQL support.

I am still on shared hosting (ideias3 is hosted at dreamhost) and I keep planing to use since it’s way cheaper. I am enjoying Dreamhost, I have all the stuff I want there, (virtually) unlimited storage that I don’t imagine using even 50% of it. It also comes with some goodies such as Jabber and SVN support. Of course I would like a dedicated server, where I could run my own stuff (jabber bots, experimental stuff) and even a git server (yeah, I am planing to move some of my code to git). But I don’t want to afford that, and for running PHP apps, dreamhost is doing fine. I have a bunch of e107s and Wordpresses there. None of them are vital information. If you are looking for a stable hosting forget dreamhost. Has too many downtimes in their machines and runs a bit slow sometimes.

When I built Pungi, I made it in order to work through CGI since it would run (almost) everywhere. Those are my needs! I later implemented a Fast-cgi MVC way of running it (inspired a bit by web.py, Django and Nuno’s dispatcher) but I went through hell to get it working. Buzzwords is the only project that runs it. I’m back with CGI, I know it’s slow but I don’t feel it. Since I only use it for simple applications (that’s the target of pungi) it runs fine without any trouble.

I’ve set up Django in my Leopard and it was pretty easy and I know it’s possible to run django applications on Dreamhost but they don’t offially support it. Even web.py is too troublesome to install. So I’m sticking to old CGI with pungi for my websites. I know it’s sad, but it’s what runs smoothly in my shared hosting.

We also have a bunch of Rails applications running in Dreamhost, Sérgio’s blog, TwitterNotes and some projects still in dev stage. Once in a while the application stops and we need to manually reset the fast-cgi process. I say “we”, but it’s all Sérgio’s work, since he is the Ruby on Rails guy here. Well, there is a post on DreamHost official blog in which the lack of shared hosting support in Rails is a real problem. I agree: Rails will never be the next PHP if they can’t support it. John Gruber explains that the power of Rails is in being easy to code and not to deploy(as in set up environment and all). You can’t have both.

There are a few PHP MVC frameworks (Symphony, CakePHP and CodeIgniter) that do more than the 20% features of Rails that 80% of programmers use and works almost everywhere. Alhouth I hate PHP for its nasty syntax and language nature and evolution, the modphp for apache is the key for a quietly FTP-upload-only deployment. That and hKit are making me wondering if I should get back to do some PHP5 stuff again.

Tagged with: , , ,
This post has 5 comments. Feel free to read them and leave your own.

Miscellaneous Stuff II

January 07, 2008

I’ve been sick the last days. I caught a cold, and my head was about to explode any second. So, no work done at all and no decent post, only this random stuff I got in my google reader:

A programmer should not be a translator and in some of my informatics engineering courses, is what we do. We just translate the solution from portuguese to some programming language. I believe we should be the architects of our program and not just builders.

Tom Morris on the idiotic UN blasphemy resolution that is in fact idiotic since it goes against my freedom of will. And I’ve been in the situation where I get offended for being atheistic. I totally agree with him.

Rob Miles who I met in TechED, released his book on XNA 2.0. I should read it someday. And those who are interested in learning how to easily do a game, should go ahead and buy that book.

TurboGears is not dead! They are just learning from other frameworks like Django.

Oh and another thing: I am feeling pain in my wrists after about half an hour on the keyboard. I am really scared since what I believe will be my future is depending on my hands to code. Any idea what this should be? I already got one of those mousepads with a rest support for my wrist and I’m also using it in the keyboard sometimes… But I feel is not enough… Yeah, and I’m doing pauses now :(

This post has 5 comments. Feel free to read them and leave your own.

About

I used to write in this blog, but I've found a better format to express myself. From now on, you may read my writings on ideas, programming and politics on my new wiki.

hCard

Name: Alcides Fonseca
Email:
MSN:
Gtalk:
Nov 24, 1988 40.197958, -8.408312

Tagcloud

Archives

Other links