Noizeramp

  • Home
  • Archive
  • Posts
  • Tags
  • River of News Concept

    17 February 2006 ⋅ 5 min read ⋅ blogbridge thoughts

    I was having some periodical brainstorming sessions on River of News Concept throughout the whole day today. By itself, the concept is very simple: you just need a newspaper-like list of articles to scroll through. The question is where do you get these articles or news items?

    The first level is definitely a feed. Any feed has several items in it, or it isn’t a healthy feed. Having the feed displayed as the list of complete article bodies rather than only their titles, you get a newspaper-like look of it which makes it easier for you to quickly review what’s on. This is what BlogBridge and some other aggregators do perfectly. And now we are close to some more interesting stuff…

    The next step is to combine several feeds in one more wide river with more news drifting by. The most natural way of doing this is to group feeds you like and create “the river” for this group or, speaking in terms of user interfaces, click over the group itself to see every article of every feed in that group. In my opinion, though I’m not a usability expert by any means, this approach is slightly limited. It doesn’t allow me to create several “rivers” with different filters and properties for the given set of feeds. Of course, it will work fine for some time and I’ll be pretty satisfied until I realize that it could be better. For example, I might wish to have a river for today’s news only, the small stream with articles about my favorite tool etc. Having tens of feeds merged together into the same unfiltered stream is the most short path to drowning.

    What I’ve learned so far is:

    • I need a way to join several feeds together into one virtual feed which I could quickly run through and get the most interesting content for me.
    • I need a way to apply filters to control what’s in this feed.

    Pretty simple, yet advanced requirements. At this point, I started to check what our BlogBridge project is missing in order to fulfill my criteria and it comes that not too much. There are several loose ends in Search Feeds (type of Smart Feeds) functionality not allowing me to fully enjoy this whole news drifting stuff:

    First and foremost, is that I can’t group all feeds from one guide. Actually I can since today as I implemented it by adding Guide Title property to the Search Feed query builder.

    The second is it’s still not convenient to read the news. Any Search Feed should be supplied with the limit value — the number of articles it can have on display. When I have say 100 unread articles all over my subscriptions list and I create a Search Feed with some special criteria (like this: limit=10, status=unread) it shows me top articles only (10 in my case) as required. But when I mark them as read they aren’t being replaced by these in the back list. From one side, it’s correct because if you mark something accidentally and it goes, you won’t be able to get it back easily. On the other hand, I can’t just sit and read — I always need to jump off and get back to the Search Feed again to get another portion of articles.

    So, as you can see, we are pretty close to the ideal river of news capable aggregator. There’s just one small step to make. Do you have any ideas on how it could be better to deal with this last problem?

    Read more

  • Blogrolling with BlogBridge

    15 February 2006 ⋅ 1 min read ⋅ blogbridge

    Today we deployed one very interesting feature. But first, look at the Favorites section of the sidebar. Would you believe if I told you that this list is generated right from the “Favorites” guide in my BlogBridge client? The guide is being published as a Reading List. I’m simply dragging feeds to it, removing, renaming and tagging them as I wish and the BlogBridge Service does all the rest. Science fiction? No, absolutely not.

    Here’s the HTML excerpt of this particular page:

    <h2>Favorites</h2>
    <script src="http://www.blogbridge.com/rl/2/Favorites.js?tags=true"></script>
    <p style="margin: 15px 0 0 20px;">
      <a href="http://www.blogbridge.com/rl/2/Favorites.opml">
        <img border="0" src="http://blog.noizeramp.com/images/readinglist.gif" />
      </a>
    </p>
    

    You can see that the list of blogs/feeds is generated by the JavaScript scriptlet provided by the BlogBridge service for my favorites reading list. This scriptlet gives immediate access to the most fresh version of the reading list I publish which makes my site a little bit more dynamic and keeps maintenance at its minimum.

    A little geeky? There’s another, more official post rich on technicalities available on the BlogBridge home site.

    That’s one small step for BlogBridge… one giant leap for blogkind. ;)

    Have a good time!

  • BlogBridge 2.13 Stable Released

    9 February 2006 ⋅ 2 min read ⋅ blogbridge

    Phew, what a busy day was yesterday. I was absolutely mesmerized deploying and announcing till late night, hence I even hadn’t got a second to make this final post to my own blog. Well, you can blame me on being not very objective about it, but this release will become one of my cherished memories for sure. Not only is it packed with lots of features I’m personally proud of, but also the deployment went well, we’ve got nice and inspiring coverage from our users (check out this post by Brian from The Institue of Hybernautics) and stuff.

    I don’t wish to start outlining the changes even in brief here as probably you could have already seen them. If not — check the official announcement and history of changes.

    It’s a bit early to judge about download stats yet as most of the services we use for our public announcements are still have no data available, but according to our internal counters this release has an unprecedented density of installations for the latest several hours. That makes me think of some possible implications — we might need another, more powerful server here to tackle with all this traffic. :)

    Oh, one thing I would like to warn our Linux users still running stanalone (I mean taken from TGZ) version of BlogBridge 2.7 Stable. This version will successfully detect the update, but the “Download” button will be disabled. It happens because 2.7 wants to see Debian package but it’s not available. Starting from the version 2.13 the default package for Linux users is TGZ which makes more sense as it’s quite general and fits well every distribution.

    Have fun!

  • Thinking

    7 February 2006 ⋅ 4 min read ⋅ interesting thoughts

    I have just been watching an interesting TV program about robots we have today, their intelligence, outlook etc. Quite thought provoking. It may appear disconnected, but what I started to think about after it was how do we think in general.

    Everybody knows that we barely use 10% of our mind potential. Basically, it means that either our decision making is slow or the quality of the decisions leaves the room to wish more. Here’s the connection… Did you notice how you think? When we think, well I do it this way at least, we talk to ourselves in our minds. When we read, most of us does the same. It appears that the speed of reading and thinking is artificially limited by the speed of our speech. It gets us to some several interesting conclusions:

    A. If we had no speech, we could either think faster or couldn’t think at all.

    B. We feel comfortable in our environment because other speakers think at the same speed with us. The one doing it faster is “the genius”, the one slower — you know.

    In my opinion, one possible way for improvement could be cutting our mind off the physical abilities. But how the hell we would learn the result of some computation if we didn’t say it loud in the mind? I suspect, that it’s the place where our intuition connects to our thinking.

    Intuition is something that is used to foresee the future, and silent thinking, as I call it, to process the facts. Both work silently and emit thoughts and conclusions we could use. Hope the chain of conclusions isn’t broken somewhere.

    One other random thought: what if what we call “reaction” is something that’s connected too? What if in the critical situations we manage to make decisions without doubling them in speech what makes our movements faster yet still well-coordinated?

    Pretty good pile of random thoughts, hah.

    Read more

  • Book: Wicked Cool Java

    3 February 2006 ⋅ 1 min read ⋅ development book java

    Pito has just told me that the a book “Wicked Cool Java” by Brian D. Eubanks is already available. You can find the review on Slashdot or visit the official site to get more information. In this post I won’t dive deep into details, but will just say why it’s so exciting personally to me.

    Wicked Cool Java

    In the Chapter 4 “Crawling the Semantic Web” the author mentions the project I’ve been involved in as an active contributor for more than two years already — Informa. Informa is the news feeds parsing library with several utility modules greatly simplifying life, own persistence layer with mappings for several most popular database engines, RSS/Atom parsers, exporters etc. In his fourth chapter the author mentions and gives examples of how to use Poller module which is one of my beloved children as well as Cleaner and Persistence Manager.

    Well, what can I say!? It’s WICKED COOL and I’m really proud of it even though it looks like there’s no direct mention of me as an author of the modules. ;)

    Have a good reading! And go grab the book at Amazon!

  • Ruby + NASA = Nice Wallpapers

    1 February 2006 ⋅ 2 min read ⋅ photo

    I have a link among my bookmarks to the great page — Astronomy Picture of the Day by NASA. Several times a week I visit this place to get a new charge of positive energy. It’s inconceivable that they have so many great shots from all over the universe!

    Read more

  • Testing Method Signature

    27 January 2006 ⋅ 2 min read ⋅ java development testing

    Today I had some new interesting testing task. What I needed was to ensure that some method has public and non-static signature. The method plays role of hook in OPML import utility class — the hook, which is used to create Reader object for a given URL. By default, it uses simple InputStreamReader wrapper, but the client application may wish to have something more sophisticated. So, the task was clear — to ensure that this method does not lose its signature, because it already happened once when I was reviewing the code and noticed that this method had unjustified public modifier. That time I changed it to “private static” and the application using this library lost its encoding detection skills.

    Today, when I was looking for a bug in encoding detection it was a sort of revelation to see that the code even doesn’t get called. Yeah, sort of blown off the entire leg instead of simply shooting off the boots. So, traditionally I fixed the signature and put some warning for the future, but… the next thought was how to make an automated test to be one hundred per cent sure about it. It appeared simple and I would like to share it with you just to encourage.

    public class ImporterTest extends TestCase
    {
      // lots of other stuff skipped ...
    
      public void testCreateReaderForURLDefinition()
        throws NoSuchMethodException
      {
        Method crfu = Importer.class.getMethod(
          "createReaderForURL", new Class[] { URL.class });
    
        assertEquals("Method should be public and non-static.",
          Modifier.PUBLIC, crfu.getModifiers());
      }
    }
    

    Easy and bulletproof.

  • BlogBridge 2.12 — The Publisher

    25 January 2006 ⋅ 1 min read ⋅ blogbridge

    Today we release the next version of BlogBridge under the code name “The Publisher”. What makes it special is that it finally has Reading List Publishing support. Yahoo!

    Reading Lists publishing became really accessible now and you even don’t need your own site for that as we will host and take care of the load, we will pay for your traffic and do maintenance for you. Everything for your purest enjoyment!

    All you need is a service account, which is free for now. Now check out the quick tutorial by our lead — Pito — and start publishing like crazy! What? Still reading!?

    Among other things we have significantly improved our synchronization service, performance of some operations and made several tweaks noticeable to Mac users. But still the Publishing support is the major one.

    Don’t forget to tell us about your experience via embedded feedback facility (see Tools), or via forum, or contacting us directly, whatever fits best. And… enjoy!

  • Detroit Digital Vinyl

    25 January 2006 ⋅ 1 min read ⋅ music

    We all know how it’s bad to download illegal copies of music pirated by someone else, but we are not rich enough to get all what we want in a legal way, unfortunately. Yeah, nothing new here.

    What I saw this morning was an announcement of a “Detroit Digital Vinyl” store, specializing on Detroit techno. The store works with several well-known techno labels and sell tracks in high bit rates (192 / 320 kbit) or even in raw WAV format if you need. Plus they have high bit rate prelistening, plus they offer some bonus tracks which are not available on the original vinyl, and plus, and plus… Yes, and the tracks they provide aren’t rips of the original plastic, they are original digitally mastered copies free of clicks and noises!

    Amazing!

    Go check out Detroit Digital Vinyl.

  • Some Positive Spam

    23 January 2006 ⋅ 1 min read ⋅ interesting thoughts

    I never payed too much attention to what is in the spam messages I get. Well, until this morning. I briefly scanned the spam from two last days and was surprised with what I discovered. I am winning in at least two lotteries daily, each of which brings me about a million. Now look at it from the funny side.

    It’s inconceivable how cool am I that I even don’t bother watching what and when I win, putting it in spam folder all together? I’m just too lazy to grab all this cash. :)

    Have a good day… and see you soon!

  • arrow-left
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • arrow-right