I'm just a computer scientist who happens to have a tumblr. I'm specially interested in artificial intelligence and research, atually I'm a PhD student, so the posts will probably be related with these circumstances.
jmora
September 3, 2010
via i.imgur.com
via #read Ed (but I like to have the image :) )

via i.imgur.com

via #read Ed (but I like to have the image :) )

Comments
May 17, 2010
Excuses and pause

I’ve been rather busy lately and the foreseeable future is even more busy. I’ll do my best to fill the gaps, since tumblr is nice and lets users to post in the past, but I will temporally stop until I can keep a constant pace. I’ll continue on August 2nd of 2012 at 8:00 GMT if there are no technical impediments.

Weird or not, that’s all by now. I’ve enabled photo reply in this post, whatever that means.

Comments
April 26, 2010

I once said that Python is Dead because of the Language Moratorium but Jesse Noller convinced me an embargo on syntax innovation is the practical thing for the language. Reading about Perl 6 reminds me why this is a symptom of a more fundamental issue.

In Perl 6, the standard grammar is in a form executable by Perl 6. Like LISP, the language uses itself for parsing and compilation. Also like LISP, Perl 6 provides the user with the power of compile-time macros, empowering the addition of features like the with statement without any changes to language interpreters. This is important, because when such changes become standardized in Perl 6.1, secondary implementations can understand them without necessitating changes to the actual interpreter, just like changes to Python’s standard libraries can.

By contrast, Jython lags behind CPython syntax by over 3 years, precisely because all interpreters need to add the new syntax and semantic changes manually, and band-aids like the moratorium become necessary solutions, alleviating the symptoms of a more fundamental design flaw: syntax and semantics which require human implementation instead being portable from one implementation to another.

Interesting post. I never took the time to think about these separations (for instance between syntax and semantics) could affect a programming language. It seems quite interesting and important.

Comments
April 19, 2010
Comments
March 15, 2010
Big companies, a different league

An important aspect in big companies is that they can do things that small companies can only dream of. On one hand this is good for customers that get services that small companies cannot offer, on the other hand oligopolies are created and the status quo reinforced.

For example you can consider Google App Engine and Windows Azure, cloud computing services, the functionality is very similar, and the pricing is exactly the same. A small company could probably offer similar services, although I haven’t studied the costs, if the competition was harder probably these companies would have the potential to reduce costs much further.

A good example of this is the video games market. Microsoft got into that market not too long ago. With each sale of the first XBox Microsoft would lose a big amount of money, supposedly they would get that money back with games sales, but the balance was negative after the first XBox and then the second was launched, losing $125 for each unit sold after losing $4 billion. For sure competition is good for customers, but only a company like Microsoft can afford to be so competitive. The problem is how far it pushes the other companies and if there’s any room for them. Nintendo, small only in comparison, took a blue ocean approach that worked quite well and it is being followed by the other two big companies in the games industry, in other cases this may not be possible.

This may be the only way to go of small companies, to find a blue ocean and to make it theirs, until big companies get into it. As more and more problems can be faced more and more blue oceans should be reachable, and at the same time, as they are reached and as the reach of big companies grows less blue oceans will remain for small companies.

In any case it is a good reflection, competition is good for customers until it is too hard and very few companies can get into it, then oligopolies naturally emerge and customers lose. When does it become too hard? How can that be determined?

Comments
March 8, 2010
Synergy and inertia in big companies, the google case

Globalization may be a problem or a blessing, in any case it is clear that small companies have a hard time trying to compete with big companies and as IT industry evolves and becomes more mature there are bigger companies and bigger amounts of money involved, so creating something revolutionary in a garage becomes harder and harder.

If that’s a bad thing because people don’t have those opportunities or it is a good thing because those opportunities and harder ones are being exploited and reaching consumers much faster is something I’ll leave to your opinion. But I would like to put Google as an example of one of those big companies and how the synergy that appears in those cases makes this phenomenon even more important.

On one side we have aspects related with branch visibility, marketing and the hard time that a small company may have to get this renown. Due to this big companies may present products worse than the competitors, but due to the renown get more attention from the consumers. For example the DNS service from google is apparently worse than open DNS.

This may actually play on favor of smaller companies if they are fast enough, as it happened with youtube and google video, it was too late for google and all the users were already using youtube. We will see what happens in the future with the social networks and initiatives from google like buzz. Despite of that youtube was bought by google, again if this is good or bad I’ll leave it to your opinion, but the purpose of small garage companies may be just to get bought by bigger companies (if you can’t beat’em, join’em) and globalization (problem or blessing) is presented as unstoppable.

On the other hand, big companies may develop different services that come together, allowing them to offer more complex services with greater functionality at a relatively low cost, which is one of the best examples I can think of how synergy may happen. For example google has been offering a service to translate pages and text for some time, with an update the translation became real-time, no big deal in principle. At the same time, google offers videos in youtube (and google video), and launches a service to include automatic captions, which is a very nice service, but when combined with real time translation it is even nicer. When you combine this with android and mobile phones, then you can get real-time voice translation on your mobile phone. That belongs to the real of Sci-Fi at this point in time, but google is making many efforts in different areas that converge to great applications like this. The same could be said with many other companies.

Small companies can tackle the small problems, but they can’t get into the big problems that can only be faced when using this synergy and efforts focused on the “sub-problems”. This phenomenon is pushing some developers towards the open source alternatives, that allow in a similar way to integrate many different aspects to offer a greater final product. I still have a very superficial, if any, knowledge about the dynamics in open source projects and the reasons that lie behind those projects, setting aside projects with public funds, so I’ll not comment any more on that.

How is this relevant? It is not, but I try to have a post every week :P It is interesting (for me) to see what is google doing, as it is a reference for people working in IT, it is also interesting (for me again) the emergent properties as synergy that appear on many systems. It is just a personal fascination for emergence, and the post was fitting with the next group I’ve planned, the long delay in posting has caused groups to be formed and the best is always left for the end.

Comments
March 1, 2010
Twitting constantly

I’ve been using internet for a while now, and I’ve probably spent a lot of time reading and writing, which may not be a good thing, n00bs!!one! Last summer, due to several complex interactions that will probably remain unknown for me, as I haven’t any intention to pay a psychologist to find out them, I decided to use the web 2.0 in a slightly different way, this blog was born and also my twitter account in the way it exists now.

Since then, a lot of activities that I may carry out in the web had a tweet associated, there are very few things that I like more than automation, and thus the tweets were primarily automated using twitter feed. But something more could be done in that respect.

I decided to join all the sources for twitter feed, and add some additional sources that were posting directly to twitter using yahoo pipes, this would allow to keep a constant flow of tweets, which would not be so dependent on my activity, which is more uneven. Probably it isn’t relevant in any aspect, but it looked like a good idea at that time. @replies are not included in this counting, in case there is any or you are wondering.

The problem is that it is extremely hard for yahoo pipes to handle tags properly for the services that have them (the label “category” in rss), actually it is impossible, it won’t handle lists, there are workarounds that could be satisfactory, but then twitter feed won’t be able to manage the output unless a web service is deployed to build a workaround to manage tags. Long story short, if I have to develop so much (something I may do but not in a foreseeable future) then I’ll probably forget about both solutions, yahoo pipes and twitter feed, and do something on my own. By now, there are no tags and that’s it. There will also be some posts that may be repeated in the beginning, but in the long term it will be fixed, I’m just explaining this for historical reasons, because I don’t even know if someone will read it now or will ever care about any of these things.

In any case, I’m considering the setup of this little fix as finished, it has been the first pipe I do in a slightly serious way and it is going to be the last one. It’s great to have computational resources as you have with pipes completely at your disposal and with an up-time that, I don’t know how good may be, but is there even if you do nothing about it. But the experience of the constant workaround to get something similar to the initial intention is very frustrating.

From now on, the frequency in the tweets should be constant.

Comments
February 22, 2010
Comments
February 14, 2010
Anticomputable problems are those that the more resources are spent on their computation the further from the solution is the system.

Anticomputable problems are those that the more resources are spent on their computation the further from the solution is the system.

Comments
February 7, 2010
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.
Linus Torvalds http://bit.ly/3llRxm
Comments