Archive for the ‘Tech’ Category

Google Chrome

Thursday, September 4th, 2008

It’s the hot topic of the month, Google’s new browser Chrome. I’ve used for some time and I kind of liked it. I wasn’t thrilled by it. The interface is nice, it feels faster than Firefox - but I am still hanging on my Seamonkey. There is a lot of information around the web concerning Chrome, I’m sure that all of you have read at least something regarding it.

I’d like to stay in a few points:

  1. Chrome’s V8 Javascript engine is fast [1],[2]
  2. Has really easily applied security features (incognito anyone?)
  3. Has its own task manager [3] and is trying to be as robust as possible [4] - making it hungry for memory and quite heavy.
  4. It has a very simple interface, almost depraved from anything [5] and does not support extensions - that means no widgets a la Opera, no add-ons, plugins, ActiveX etc. Just a plain browser.
  5. It is fully open, with a well organized open-source community that will guarantee the browser’s continuous development.

One could think that OK, Google just wanted a browser so that they don’t need anyone else’s to operate their business [6]. Maybe not quite…

From my point of view, Google Chrome tends to look more like an operating system than a browser. It has thread and process management. It probably has also a really good memory management or will have in the near future. It has a fast Javascript engine that is being optimized and in the Web2.0 era that could easily be a GUI shell. It is minimalistic, as minimalistic as an OS should be.

What if instead or reinventing the Web and the browser, Google is trying to reform the whole world and force us into finally accepting Oracle’s and Sun’s vision, the Network Computer? But in a form that would now benefit Google.

We have cloud computing: Amazon’s S3 for storage, Google Docs for office application, YouTube for video distribution (and maybe movies in the future?) and a lot of others (Google Calendar, Gmail, Gtalk etc.) What we don’t have is a way of having all of these apearing on our screens as REGULAR applications - most people will only be convinced that a web-based application is actually serious if it looks as a regular application.

And here comes Google Chrome, which has a lot of features that a runtime system (or an operating system) has. And probably it will get more. All it needs is a minimal kernel and device drivers for the most trivial tasks. Then we’ll start seeing machines that have only a Google Chrome instance in place of KDE, Gnome, Aero or whatever else is out there in the market.

Google does not need a GoogleOS based on Ubuntu. It needs just a browser.

Blogging for money

Thursday, December 28th, 2006

For a couple of months now [1], I am using Google AdSense to see if indeed is a viable “funding” solution. The results: my total earnings are $1.89. Clearly a sum that could buy me a chocolate bar and nothing more. Overall: nope, not a serious funding option.

I have been reading quite some time for PayPerPost that basically pays bloggers for reviews. I am not against it - although I do not follow it - and I fail to see why people get so annoyed by it: bloggers get paid to make reviews for products/sites/whatever that nobody else wants to.

It is not immoral - this is being done for years in magazines - and if you are not preoccupied against or in favor, then it is indeed useful. I am not going to try it, because of limited time.

Today, I have read that MS is giving away Acer Ferrari laptops, preloaded with Vista, to certain bloggers. Oh my God, they have made an agreement with the devil. Get serious: MS wants feedback and reviews and hype, and nobody will be making noise by her/himself. If the bloggers deliver decent reviews on Vista, I do not see anything wrong in even keeping the machines they were given.

And I strongly believe that anyone who objects, is just being jealous - why do you care if a blogger makes a review for Microsoft Vista and is actually getting a Made-For-Vista laptop to do it? If you object to that, you have an option: do not read the blog.

Bill Hill @ Microsoft.com

Saturday, November 4th, 2006

The other day I was at a small Microsoft Techfest in TAMU - well, basically, it was more of a college student recruiting event. Nevertheless, I always go to those events, since they always have something interesting to hear and who knows, you might also win a XBOX (some would say that their food is also good, but I do not care, as I always have food at home).

Anyways, this last event was far better than I expected, due to Mr. Bill Hill. It is always exciting to meet people that have made quite a research in the Computer Science or Computer Engineering fields, but it is a lot more thrilling to meet people that are not Computer Scientists (Mr Hill was a journalist) and after so many years they have the motivation to make things better. We only had a small talk around why the user is not been given total control on how his document looks in an ebook reader and my being an ignorant fool on this topic made things worse, but I realized how much impact his ideas have - and will have - in future’s “computers” (they might not be as they are now).

Mr Hill is one of the inventors of ClearType technology, which I think it delivers the best readability on screen - and I have to admit that readability in Windows is way better than in Linux or anything else. He is the “reading guy” in Redmond and a very prestigious researcher. I stumbled upon a couple of videos that explain his way of thinking (here and here). He really thinks out-of-the-box and guys like him are what is needed for computer science which makes a loop over the same stuff again and again.

Multicore CPUs and software

Friday, October 6th, 2006

Everybody’s talking now about multicore CPUs - it is the new hype. Once it was the race for MHz, some other time was GPUs and SLI, now it is more cores in a single package. The idea of having more than one CPUs in the same box is not new. Both Intel and AMD, as well as IBM and a few others had products for parallel processing and multiprocessor systems. Also, many system manufacturers had their lines of products - just think of DEC (RIP), NEC, Cray, SGI and many others.

However, the Intel Core Duo made multiprocessing mainstream. Now everyone can buy one chip and have two processors - multiprocessor systems tend to be somewhat more expensive that multicore systems, because the former often need separate memory for the processors, require more power (thus more expensive power supplies) and never became mainstream. Now, with the Core Duos and AMD’s Athlon64 X2s, anyone can have two processors in his box.

This step wasn’t sudden at all: HyperThreading was a first rough form of multicore CPUs, and the Core Duo was the next evolutionary step. However, the (r)evolution is incomplete: we don’t have the software to fully exploit multicore CPUs. The majority of mainstream software is written with one processor in mind, even if it uses threads: most software uses threads to handle the slow I/O rather than splitting computations across different threads. Even games are optimized to run on one processor. Additionaly, a lot of existing algorithms have been designed to work in a centralized environment and not on a parallel or a distributed one.

Writing efficient parallel programs is a real pain: there are many portability issues (although POSIX threads are a very good step towards portability), there aren’t any good tools for developing quickly parallel applications and there is just too much software out there that is not written having in mind more than one processors. However this applies for desktop applications and normal users, since laboratories, research institutes and companies across the globe have already parallel applications for calculating whatever they need.
There are a few attempts to standardize parallel programming (for example I am working in parasol labs of the CS dept. in TAMU on STAPL, an STL-like framework that supports parallel and processing) but they are just now being developed and it will take a while before everyone adopts them.
Up until now, we could fully exploit the dual core CPUs. Everyone runs a bunch of daemons (services in Windows) and some applications the same time. However, even a modest 2GHz CPU was enough for all these, the dual core CPUs just gave us some speedup. But what will happen if the new 4-core or 8-core CPUs will come out? Who - and how - will use the additional cores? And for how many cores would you optimize your software - for 1-core tablet PCs, 2-core laptops, 4-core desktops or 8-core dream machines?

Having a lot of threads would be an overkill for 1-core or 2-core CPUs, having too little would waste the other cores. And how is the multicore implemented? How much does the communication cost between threads? All those must lie in the back of software developers’ minds - and there is no tool to take care of it.

The bottom line is that the hardware leads the way and software is the last to follow: since we cannot stop the progress of hardware, we have to develop more efficient software.

What I wanted for the new year

Thursday, July 13th, 2006

From a previous post, some of my wishes have been partially fulfilled:

  1. There’s a new Skype client for Linux, that reaches the quality of Skype for Windows. Visit Skype and get it.
  2. SuSE 10.1 is a lot faster that 10.0: I wanted a faster KDE, however it suits me.
  3. I didn’t get a MacIntel laptop - I now want a classic x86 (or a dual-core), preferably from Dell.
  4. I still want Linux on my Axim - WindowsCE (or PocketPC) is terrible.
  5. I am now officially a Texas A&M University graduate student in the Computer Science dept.

Java 2 Browser Edition

Wednesday, April 12th, 2006

In his blog, Ethan Nicolas suggests to have a smaller, more compact Java2 version, the J2BE (Java 2 Browser Edition).

He thinks that JRE (Java Runtime Edition) is too bloated (~7MB) and Sun must create a smaller edition that will dynamically download any necessary classes from the Internet whenever they are needed.

I totally agree with the above. JRE is indeed too bloated and that new cut-down version could be nice and could easily beat Macromedia Flash (now part of Adobe) and AJAX.

However, he also supports that 1) Java is slow, 2) it is unreliable and 3) it cannot be installed easily. Starting from the latter, I say that he either didn’t install Java or that he is using some exotic hardware. I’m using Java on GNU/Linux and Microsoft Windows XP and have never had any problems installing it - moreover on my Linux (OpenSUSE 10.0) it was installed automatically during installation. And I do not know anyone, either simple user or developer that had problems. Of course I’ve never had any problems with Flash either.

He states that Java is unreliable. Yes it is, if the developer does a crappy job. In the mean time, my browser hung while viewing Flash content, just because the developer made a crappy job. So it is not a Java problem, it is a developer mentality and ability.

And here comes the first argument: Java is slow (while starting). Yes, the JVM is a bit slow to come up, however in today’s machines it is not that bad. And I prefer to have a slow start than a slow experience (TM).

What he forgets though is that:

  1. Flash is only available in a few platforms, while Java, through the open-source implementations, is available in almost all platforms - have you ever seen Flash on Alpha processors? I haven’t…
  2. Java is a lot safer than Flash - yes, Flash has some security flaws and nobody, except Macromedia, knows them. Recently a bug was discovered. What was the last time there was a security flaw in Java?
  3. AJAX does not scale well. Today’s AJAX applications are simple. But what will happen tomorrow when there will be full featured applications? Are there any tools to create such applications? For Java I can think of some (eclipse, NetBeans, JBuilder etc.).

Photoshop cannot be ported to MacIntels

Saturday, April 1st, 2006

According to Scott Byer, an Adobe software engineer, they cannot make the transition for Photoshop CS from PowerPC to x86. The problem is that they cannot port the existing codebase to XCode (Apple’s development tool) and create Universal Binaries.

So now, they are doing heavy work to clean things up and make the transition to XCode. All of you remember, this is not open-source software that one can make a quick compile, distibute, see what is wrong and then fix it.

They must create a quality application that will be used by professionals all over the world and if it is bad it won’t be nice for the company profile.

My point of view: MacOS and Photoshop were an endless hack. So now, they need to revert it to more clean code. It would have happened some time in the future.

AJAX Unleashed: Fold

Saturday, March 25th, 2006

Fold is the new way of seeing portals. It is a virtual desktop, based on AJAX principles, that hopes to become our everyday start page. All it needs is a Mozilla Foundation browser (Mozilla Suite Navigator or Firefox).

It is still on beta, but it shows what will happen in the future.

Try it in: http://beta.fold.com/

Imminent change in HDD sector sizes

Friday, March 24th, 2006

IDEMA (International Disk Drive, Equipment, and Materials Association) has formed a commitee to investigate future specs for magnetic storage devices - yeap, hard disk drives.

Well, the commitee recommended to replace standard of 512 bytes/sector - a 30-year-old standard - with sectors of 4096 bytes.

Windows Vista are said to support this. So, developers, start modifying your programs if you use aggressive buffer that relied upon 512 byte sectors.

More in: http://www.geekzone.co.nz/content.asp?contentid=6076

GNU/Linux and Games

Friday, March 17th, 2006

I the Linux Game Tome, one can find all the available open-source games for Linux. Seems good to me ;)