Category Archives: general

iPhone Offline Feed Reader, at last!

Long time no post!

It seems that iPhone developers heard what I was claiming in my last post.

The iPhone users around the world are able to get in touch with their feeds even when far from Wi-Fi hotspots. NewsGator has released NetNewsWire for iPhone:

NetNewsWire

It’s only available for devices with software 2.0 (3G or not), because it can only be downloaded in App Store. It doesn’t cost a thing and, so far, woks pretty good. I’m using it with a ruge amount of data: a litte bit more than 2,300 feeds!

I continue thinking that Apple should include this feature in the next version of iTunes: Podcasts and text feeds side-by-side.

By the other hand, I still miss WidSets. I Wish I could use it on my iPhone. Imagine that awesome graphical dashboard in a multitouch 3,5″ screen!

Good memories of WidSets

I used to be happy with WidSets

At that time, I could download my preferred feeds and read them everywhere offline on my Nokia Phone.

Now, using an iPhone, I have a bigger screen, Wi-Fi conectivity, a nice usability due to the multitouch screen and many other advantages of the Apple’s blockbuster. But I can’t read my feeds when I am not near from a hotspot. Ironically, I can download audio and video podcasts from iTunes, synchronize my device and listen/see them later. Why can’t I do the same with my RSS feeds?

There are many iPhone webapps to read RSS (even Netvibes has an iPhone specific version), but no one works offline. Unfortunately, neither WidSets will be the savior because it’s not compatible with iPhone (requires Java MIDP 2.0).

I’ve been looking for an iPhone RSS Reader that works offline. That’s my message:

• If you know one, please let me know, leaving a comment; I will really appreciate it.
• If you are a iPhone developer, that’s a good idea of a new application;
• If you are from WidSets development team, it’s time to code a new version compatible to iPhone;
• If you are from iTunes development team, feeds (as well as podcasts) downloading an synchronization would be really good feature.

In any case, I will really appreciate it.

A roman inspiration for the Discrete Fourier Transform

Divide et impera (in english, divide and rule): that was one of the main foundations of the political, military and economic strategy of the expansionist Roman Empire. The roman ambition was too big to be achieved without division. They realized that the sum of necessary efforts to perform each part of a divided task may be less than one needed to perform the same task without dividing it.

Playing with algebraic notation without any mathematical or conceptual formalism: if a task that demands an effort $T$ to be performed could be divided in $n$ subtasks, each one with its respective $T_i$ performing efforts, it is intuitive to consider that $T_1+T_2+...+T_n=T$. Instead, the roman experience establishes the opposite: $T_1+T_2+...+T_n!

In mathematics and computer science, this “roman insight” is called Divide and Conquer Algorithm: a logical maneuver that breaks a big problem in many little others to (among other benefits) reduce its overall computational complexity. There are many applications of it, but my preferred is the Cooley-Tukey algorithm to process a DFT (Discrete Fourier Transform), most known as the Fast Fourier Transform. A really simple subtlety (breaking the problem into subproblems recursively) makes the problem much easier.

A classical result is to compute the DFT of a sequence with $N=2^n$ elements, $N^2$ complex multiplications are needed by the original DFT algorithm. If we the Cooley-Tukey algorithm instead, only $N \log_2 N$ multiplications have to be done. Don’t you see big difference? Imagine that you have to process a tiny signal with 1024 samples:

• Original DFT algorithm: $2^{20}$ complex multiplications
• Cooley-Tukey algorithm: $10 \cdot 2^{10}$

In this example the FFT, also called as 2-radix FFT (because the sequence is broken recursively in 2 others) is 102.4 faster than the original. If $N$ increases, the difference will be much more than this. What would be the Digital Signal Processing without such subtleties? So, let us divide to conquer.

Ave Cooley and ave Tukey!

From the stock exchange straight to MATLAB

Many creative and interested MATLAB files are posted on MATLAB Central. This week, I knew one extremely useful for those who use MATLAB to handle mathematical models for analizing stock quotes behavior and forecasting: Historical Stock Data downloader posted by Josiah Renfree. It makes possible to download stock data from Yahoo! Finance website straight to MATLAB workspace by a simple command line.

For example:

stock = hist_stock_data(‘01012007’, ‘08022008’, ‘PBR’);

Returns date, open, high, low, close, volume, and adjusted close price adjusted for dividends and splits of Petrobras ticker on NYSE between the dates given.

It’s also possible to retrieve multiple ticker information at once, and even to read a file with a list of symbols desired. Yahoo! Finance provides data from other Stock Exchanges than NYSE: NASDAQ, Bovespa, London Stock Exchange and others.

To make my own analysis – before using it – I used to go to financial websites, copy the historical data, paste in a spreadsheet and only than export to MATLAB variables. Because of this hard work, the mathematical models were only fed by a few selected tickers. But now, I can scan the whole spectrum of stocks and select the best ones based on my criteria. It really makes the analysis much easier and more comprehensive.

Back to the classes

Last week I got an enjoyable novelty in my mailbox: the acceptance letter of Masters application. I applied to Postgraduate Electrical Engineering Program at UFRJ (Federal University of Rio de Janeiro) in Electronics/Signal Processing area.

I am very glad to be accepted for many reasons:

• First of all, I am thirsty of breathing the academical air. I stopped breathing it since I interrupted the masters I was taking at UFPE (Federal University of Pernambuco – also in Electrical Engineering Program in Signal Processing area. I am sick and tired of only reading papers. I do want to write them too!
• UFRJ’s Electrical Engineering Program owns a fantastic reputation in the academia and industry as well. It is on top of Brazilian Ministry of Education ranking.
• The diversity and quality of the faculty members is awesome: most of them with a huge amount of publications, an intense research activity and some really active members of IEEE.
• Besides all of this, (at least here in Brazil) Masters is a necessary step to the Doctorate studies.

I am really motivated to get started, but I need to wait until march.

It’s not a bird, a plane, much less the Superman

It’s been a long time since my last post! I’ve had fabulous vacation days in my hometown in Northeastern Brazil: Recife. But there was something strange in one of the pictures that I took at Cinco Pontas Fort (formerly known as Frederick Henrich Fort by the Dutch Colonizers who build it in 1630). I just wanted to photograph the Recife’s flag and I saw that elliptical thing on the top of the picture.

Since nobody knows how to explain what it is (at least so far)… it can be considered an UFO. It doesn’t look like a bird, a plane, much less the Superman. I am not such an extraterrestrials believer and not a photography expert neither. So, if you know what it could be, please leave a comment.

Getting started

Yes, this is my first post! I think I should had started blogging before, but… it’s never late.

I definitely have no big expectations about this blog. I just want to share some ideas I have and discuss some issues of my interest. This blog also will not be necessarily thematic, although most of posts probably will be somehow related to my professional and/or academic interests.

Certainly, some of my brazilian colleagues and friends question the reason of my blog is written in english, instead of my native and preferred language, portuguese. For those, I just have to say that, in my opinion, portuguese is and always will be the most beautiful language I ever knew (though, I don’t know so many others), but no other language could have a bigger audience than english, primarily when talking about technical issues. I do hate when results of my queries on the internet are in languages that I don’t understand, so that is my counterpart for all non-portuguese language readers. I only ask the ones who speaks english to apologize any eventual (or frequent) english mistake. Ok?

So, let’s get started. My (real) first post will be published soon.