Microsoft Web and Gaming Technologies @ Ualg

December 16th, 2007

So, like I said before, during this weekend I attended an MS event at my University, which, for someone like me who uses exclusively F/OSS, is kind of unusual. However, like I also said before, I am not a zealot, and I like to know what others are up to and how they are evolving (or not), whether it is Microsoft, Apple, etc. I have to admit I was expecting a bunch of zealots (the speakers were all Microsoft Student Partners) and that they were just going to say how good everything was and try and sell us the product, but it was quite different and some of the guys really knew their stuff.

The first day was mainly about web related technologies, together with a Vista and Office 2k7 presentation. Most of it was not new to me, as I usually don’t disregard news about what Microsoft is up to. It’s nice to see that they pay some attention to open standards once in a while, but unfortunately they don’t always make things right (OOXML anyone ?). I also have to admit that I liked some of the changes in the Office 2k7 UI and I actually found them interesting, like the fact that you don’t have lots of things in the screen at once, and only stuff related to the task you’re doing (I always liked minimalism). Yes, the fact that the change was so big might be bad for old versions users, but sometimes you need some abrupt changes if you really want to evolve (or change mentalities), no matter what.

In what concerns ASP.NET and the whole web development platform, I really think that their idea of applying MVC to it (which is still to come) was well played, because right now, things seem a little bit confusing (lots of presentation code mixed with logic code).

Silverlight also seemed really nice, and although most (if not all) capabilities of it were already present in Flash, I kinda liked the way they organized the whole development platform around it (and yes, I know about Flex and all that stuff).

There was also a presentation about AJAX for ASP.NET, which is basically the same as Prototype or other similar AJAX libraries/frameworks.

We also had a dinner with all the guys from the event and, as the good students we are, we went on partying through the night.

On the second day, we had a morning presentation about .NET 3.0 and beyond. First they talked about all the components (WCF, WPF, etc) and then they talked about LINQ, which is basically an ORM for .NET which can fetch data from different sources (databases, XML files, objects, etc). I was a bit surprised that Microsoft hadn’t come up with something like this until now, specially when they have such a huge and complex platform as .NET. They’re kinda late, but at least seems they’re doing it right.

I didn’t attend the afternoon presentation about the XNA game development platform as I had some more important stuff to do and I’m not that much into game development.

All in all, it was actually a nice event, and I didn’t end up making stupid anti-MS questions to the speakers (as some persons were probably expecting I would). I actually ended up helping them once or twice against the “evil anti-MS zealots” on the house.

Now, this doesn’t mean that I’m going back to using Windows or any MS products or technologies, and I still think they are kinda “ev0l” and I don’t approve many of their ideals or methods, but my opinion about them improved a bit, specially about MSP’s which were all a bunch of great guys (and not MS dummies as I expected) and I really hope to meet them again some other day (maybe while working with some F/OSS technologies :p).

Update:

A picture from the event, featuring the MSP’s and NEI’s President Miguel Fernandes and Vice-President Vasco Rodrigues.

MS Web and Gaming Technologies

Can it get any easier ?

July 9th, 2007

As if installing software on Ubuntu wasn’t easy enough, there’s now an easier way: installing applications from the web with a single click. Read all about it here, including how it works and security issues. Oh, and this is an upcoming Gutsy feature.

And this is not only easy for users, it’s easy for developers as well. They won’t have to develop any new packages, they will just have to place new links on their websites. Now, ideally, the best way to do this was not having an apt:// link, but something like a install:// link, which would support the main distributions and package installing tools (apt, rpm, emerge, and so on). It would then check which distribution you are running and do whatever was needed to install the package. If those who developed this method are reading this, please think about it before this method becomes popular.

But the big advantage here is not only in how easy it becomes to install software: it’s also in a big approach to the method Windows users have of installing software.

Although it’s really easy to install software on Ubuntu, many Windows users still find it weird that they have to use an application to install your software instead of going to an application’s website and download the installer. You can still find many newbies on the help channels asking stuff like “oh I downloaded this file but I don’t know what to do with it”. Ok, the problem here is also that many application websites probably don’t have distribution specific instructions.

So let’s just hope that developers notice this effort and start using this feature ASAP.

Huge problems, simple solutions

January 28th, 2007

Some times the biggest problems have the most simple solutions. And software installation on GNU/Linux is one of those problems. I’m pretty sure that almost everyone reading this knows how to install software on Ubuntu using apt-get/aptitude/synaptic (i’ll be referring to them all as apt-get from now on) and finds it extremely easy. However, most users with a Windows background don’t.

If you use Windows and you want to install some software, you go out on the web (or some p2p :p), search for that software’s website, download it, double click it and install it. I’ve read countless articles on Slashdot and OS News saying this is easier than using apt-get (please, don’t do drugs kids !). Using apt-get you just have to search and install. Using the “Windows method” you have to search, you probably won’t get the result you want at first, then you have to navigate on the application’s website, and download it and all that stuff. How is this easier ? I don’t know.

Now, i do understand that Windows users are used to this and many of them still do this and end up with some source code package for, say Xchat, and don’t know what to do with it. Autopackage came to solve this problem. However, Autopackage doesn’t care about native package management on each distro and the way it does things it’s not the best. A much better idea would be one of the following:

  • Educate users trough each application’s website. An appeal would be made by distribution managers (or even FSF) to everyone who builds applications for GNU/Linux. Then, a generic text would be created explaining quickly how to install that application on each of those distros, so the application websites could explain it even if the ones behind that application don’t use distro ‘xyz’. That way, users would learn how to do things the right way, and the next time they wouldn’t probably make the same mistake. Many applications already provide these mini guides, some of them even provide packages to some of the main distros, but not many do this and never in the same way. So the main issue here would be to appeal to everyone in order to do this and create a standardized way of doing it (it’s just a small text guide people !).
  • Instead of building packages on it’s own, Autopackage (or some similar project) could be integrated with the native software managers. Instead of containing the package or building it, it would ask the user which distro is he using, and then according to the user’s answer it would call the right set of commands to install the package (and still, inform and educate the user like the previous option).

I don’t see how any of these options could be a bad idea, but i really think that the way Autopackage does things it’s not the best solution (if you ask me it’s like killing an ant with a bazooka). And please don’t tell me “oh what about distros which don’t have that package in their repositories or don’t have a decent dependency solving installing system ?”. If the distros don’t have the package, it’s up to the application creator to pressure those distro’s packagers to package it, or package it themselves and try to get it on the official repositories. And any decent distro nowadays has a dependency solving package system. If it doesn’t then it ain’t a decent distro !

Laptops. I hate them.

September 23rd, 2006

It’s been nearly 3 years since i bought my first and current laptop. An Airis Diamond 630, Pentium IV 2.80 Ghz, 512 MB Ram (about to have an upgrade to 1GB), 40GB HDD, ATI Radeon Mobility 9000 64MB, Combo drive, 15″, and some nice 3,5 Kg of weight.

Now, why have i bought such a lousy laptop, you ask me ? Price. It was all about price. And the fact that at the time, i was mostly a gamer, more than the GNU/Linux webdeveloper geek i’ve turned into. Airis (a spanish maker) is cheaper than most of it’s competitors and they had some nice promotions (i got an Epson CX3200 for 50???, where it was being sold for more than 150??? at the time).

Centrino based laptops were really new at the time, and the truth is i haven’t researched on the subject a bit. I knew almost nothing about it, and the little i knew was that they were probably not as good in terms of performance as desktop processor based laptops.

I had just entered University at the time, and i was in need of a new computer, so a laptop was the best choice. As i said before, i was a gamer at the time, so i wasn’t really worrying about weight, size or anything else. I wanted something where i could play my games and that was it. However, i changed a lot since then and i haven’t played usual games (other than some emulated games or Frozen Bubble) in almost 2 years. Ok, maybe some Enemy Territory, just to kill time.

A while after i bought it, i was introduced to Linux, and in a couple of months it became my main operating system. At the time there was no Ubuntu, and i was somehow lost in the world of Slackware.

In the meanwhile, some problems started appearing. The battery had a warranty of only 6 months. At the 7th month, it died. Once in a while, i started to have some weird freezes. I soon found out that they were not software related (as i was dual booting into Gentoo and Windows at the time), and less than a year after i had bought it, it had a little trip to the doctor. When it came back, i was told that it was some loose screw that was causing the problem. I found it weird, but since some of the freezing happened when i accidentally bumped it with my hand or knees, i tought it might be possible.

The problem was gone for a long time. Once in a while, it started happeing again, but it was so rare, that i didn’t bother about it. I could have sent it to the store again, yes, but since it happened so rarely i got lazy and never done anything about it.

After the warranty was over, it started getting worse. It started happeing more often, usually after i had transported it for a while. And now it would do something different. After the freezes, it would refuse to boot. When Grub started to boot the OS, it would refuse to do it, feeding me error messages which are rather random, but usually refer to CRC error checks, and Kernel panics, stating it can’t mount the root filesystem. After some tries, it boots. And sometimes freezes again.

It happens every once and then, and the only thing that has gotten worse is the frequency on how much it happens. It’s a pain in the ass, but i have to live with it, and i’m not sending it to repair as long as it works again after a few tries.

Over the time, i talked about this problem to lots of people, and even after i said everything i already wrote here, they would still say things like “have you formatted your hard drive already ?”, and the closest chance i ever got (based on searching Google for the error messages i get on boot and talking to a friend of mine who works at the tech support of one of the largest Portuguese computer store chains) was that it might be the BIOS battery dying out,but i already tried opening up the machine, and given it’s awfully bad construction, i doubt i will ever be able to replace it and use the machine again (unless i send it to repair…which i’d like to avoid).
The other huge problem i have with this laptop (other than it’s weight, and bad materials that are starting to crack), it’s related to hald/dbus.

After i started using Ubuntu (almost a year ago, 10 months or so), i started having other kind of freezes. These would happen if i wasn’t working on the laptop, and only after it was on for a considerable period of time (1 day or more).

The logs report an error related to a timeout on /dev/hdc (the combo drive). After some googling, i found out it’s a problem related to dbus/hald (stopping the services stops the freezing), but it’s in reality a kernel bug (Andrew Morton confirmed this himself on a bug report i read at the time on Red Hat’s bugzilla, which disappeared in the meanwhile).

Dapper came, and the problem remains. I read lots of bug reports somehow related to this, i tried lots of stuff (unloading modules, turning off DMA on the drive, etc), but the only way to stop this is not using hald and dbus, and not just stopping the service but killing every daemon some other application might spawn (actually, i just noticed that despite the existence of a script to do that, the daemon is still spawning somehow…damn, i need some holy water).

So my only hope is that the problem is solved in one of the next kernel or hald/dbus versions. Either that, or wait until i get a new laptop (which i intend to sometime in the next year, but this time i won’t make the same mistakes). And the truth is that without hal and dbus, i’m missing out a lot of interesting features.

The Logout/shutdown dialog in Ubuntu depends on it, so it won’t work. The Hibernate feature won’t work as well (i guess it wouldn’t work anyway but…). And many other programs complain that they need dbus in order to do this or that.

So altough i’m using Ubuntu, i sometimes still feel like i’m using Slackware. Well…not that much…but a little bit.

And now it’s bed time. I guess i just caught a flew so i’m having a really bad day with lots of pain on my body, chills and a dripping nose. Oh, and on top of all that, a huge hangover…