Virtuous cycle

Bartlomiej Owczarek weblog

You are currently browsing the Virtuous cycle weblog archives in 'Technology' category.

Return to 'Virtuous cycle' home page

Savants and hierarchical memory

Savants are capable of amazing performance in a number of specialized tasks (e.g. rapid counting). In the same time they have difficulties with tasks requiring higher level of abstraction, and display poor general intelligence.

Is integer arithmetic fundamental to mental processing? the mind’s secret arithmetic, A. W. Snyder, D. J. Mitchell:

In contrast to the popular views discussed above, the unique aspect of our perspective is that the mechanism and information drawn on for savant mathematics resides equally in us all but it cannot be recruited by us for mathematics. In other words, we believe that mathematical savants, like all autistic savants, arise from their privileged access to lower levels of raw information.

Why is it that savants have privileged access to lower levels of information ? Perhaps it is promoted by a loss of those centres that control executive or integrative mechanisms (…)

An intriguing question remains. Although we do not normally have access to lower levels of information as do savants, is there nonetheless some artificial means to promote this access, say via induced altered states of consciousness?

A reference to the theory of hierarchical memory (Jeff Hawkins, On intelligence, see earlier post).

From the point of view of this theory savants would be somehow unable to develop higher level memory patterns.

On the flip side, a normal person cannot recognize lower level memory patterns anymore, and therefore doesn’t have access to savant-like abilities, which are based on this raw access.

On Intelligence: recommended reading

I’m fascinated by the topic of artificial intelligence, but the fact is, despite all the hype in the last half a century, this faculty hasn’t come up with anything even remotely close to capabilities of a human brain, and many pundits started to lose hope that it ever will.

Development focused on custom solutions designed to tackle specific, narrowly defined problems. The books I read so far tended to be technical reviews of various types of neural networks, which are of course inspired by the brain’s circuitry, but share little with it in terms of flexibility and adaptability.

Hawkins’ book is a rare attempt to come up with general view on how brain really works. In the process, it uses concepts from both biological and technological sides. Its general idea is not obscured by technical jargon, which makes it easy to follow.

In summary, the book offers a glimmer of hope, that some kind of breakthrough in the field might be around the corner.

Visualization – Microsoft Pivot

Microsoft previewed one of its new technologies from the labs, the Pivot.

(on a separate note, while watching the video I realized that till now I didn’t know how to spell pivot correctly)

From the video, it seems that new Pivot does the same thing as it’s desktop older brother in Excel, namely allows to slice a collection of data along available dimensions.

What new Pivot seems to offer on top of that is a more immersive way of exploring data sets, especially those whose items can be visualized somehow. So it’s like a very visual drill-down capability.

New war of platforms?

Interesting article by Tom O’Reilly.

Perhaps days of fragmented but free-for-all web are coming to an end, as the gravitational pull of proprietary platforms – Facebook, iPhone, Google services – steadily increases.

On the other hand, many of these platforms in fact broke open spaces that were previously off limits to anyone but owners of the closed ecosystems and the few who bought their way in.

iPhone allowed everyone to write and distribute apps without mobile carrier’s blessing, and Facebook granted access to its social graph, allowing third party apps to take advantage of it.

3D map visualizations of data from presidential inauguration

Some impressive map overlays (phone calls data during Obama inauguration):

I find visualizing data to be such a cool topic – which can easily be seen from the number of posts related to statistics on Ogito blog, like this one.

But there is often a gap between aesthetics and usefulness of advanced visuals.

To be useful we typically require easy access to lots of context, to be able to draw any conclusions from the data, for example:

  • ability to drill down – investigate what contributes to the variable value
  • ability to compare variable level through time
  • ability to compare variable level in case of different objects (e.g. competitors, regions, etc.)

(Ogito statistics for cities — registration required to see the charts — use simple Google Charts and tables with links to underlying sets of objects, and this is already enough to get the basic understanding outlined above)

Sometimes complex visualizations add difficulty to perform these basic operations rather than reduce it.

Giving ground to the kids

It used to be like this: kids were first to learn new technologies, and then explained them to their less savvy parents.

In my family it was always the case, with stuff like VCR and computers.

I was always curious if that situation will remain with my generation, or if perhaps we are different – world is so much about learning something new all the time, that we simply cannot afford to fall back on getting used to new things quickly.

I got my first feeling that I was behind a kid (10 years old daughter of a friend) a couple of days ago, when we were skyping and she used XD emoticon (written form), and I didn’t know what she meant.

First sparrow?

Google Waves goodbye to email (and Microsoft)

Google revealed its stealth Wave project, with the announcement timed, by the way, within minutes after Microsoft Bing’s coming out.

Wave is an attempt to redefine and merge communication media, possibly replacing email, IM and others.

The demo looked really cool. Sadly Wave is not available yet – but I am really eager to check it out when it opens.

Demo lasted more than an hour, the video is available at project’s homepage.

Briefly, Wave aims to replace exchanging messages back and forth, which is the current practice, with single threads, called waves.

Different stuff can be added to waves – messages, but also photos and instant messaging.

In fact they implemented IM in a way that allows to follow each keystroke of the counterpart – like in good old days of Talk sessions on unix systems.

Meanwhile, Microsoft rebranded its search engine to “Bing” and tries to promote it as a “decision engine”, tailoring search results layout depending on the recognized query context (e.g. travel related search) and presenting structured information on its own page, rather than rely on user to go to any of the results.

I like the direction Microsoft is taking, but at this point I would be more excited about Wave’s ability to change my daily routing rather than Bing.

Bing is at most evolutionary step in the right direction, while Wave has more revolutionary feeling to it.

Note: this doesn’t bode well for Microsoft, which is an underdog compared to Google. In this position it should be Microsoft coming up with revolutionary ideas, not Google. Microsoft fails to show real innovation for all the dollars it sinks into search (for years already).

Another note: Wave makes me think of tremendous advantage Google has thanks to it capabilities in mass scale, real time processing. Building a system like this would be a challenge for a small startup.

Browser to gain lots of power, soon

Just reading stuff from Google I/O.

The event was used to showcase some of the things we can expect from the browsers in the (near?) future. Screenshot from one of the demos:

All this purely browser computing (javascript and html). Soon things like video and location will be available in the browser without any plugins.

Check out the rest of the demos.

Notes from the event at Techcrunch.

The browser is going to be really powerful, and the promise of writing software that can run anywhere without need of any installation will inspire developers to push the envelope ever further.

Browser apps, which now often look quite rudimentary, might evolve rapidly.

All this erodes value of the underlying OS, so it’s not surprising that Microsoft is dragging its feet in this area.

RESTful Ogito: I need to clean up some mess

I decided to rebuild something I specifically hoped would not need to be touched, namely Ogito’s internal routes structure in Rails.

Ogito uses links looking like this:

The idea in itself is ok – links include context information like city and country, so that they are more meaningful.

Much better, in my opinion, than links like /places/4652. Not even from the point of view of SEO, but rather of users who are given additional hint if the link is relevant to their search or not.

However, the purpose doesn’t really justify the way I implemented them (read more…)

Witcher for consoles on hold, Widescreen Games and CDP blame each other

I was very sad to hear that CD Project RED put their Witcher console version on hold.

Original PC Witcher game was a resounding success and the console port had a chance to steer the project into a much wider market.

CDP release cites quality as a reason behind the decision, meaning specifically that a French contractor they hired for the job, Widescreen Games, didn’t deliver neither on time nor appopriate quality.

WSG in press release defends their “propriety technology” and blames CDP for missing payments.

There is an interview with CDP founder at Polygamia (Polish), in which he explains in detail quality issues with WSG and asserts payment delay were only linked to WSG missing the milestones, with last payment not to be made since the milestone was not completed and the contract canceled:

We put an enormous effort to make sure the production goes the right way, and still the plans were becoming invalid, and there were new delays? After a few such incidents, we sent a large team over to Lyon. The group consisted not only of people involved in the project, but also of technology managers from RED and Metropolis. They spent one whole week to examine thoroughly the whole project and its technology.

As a result, we found out that WSG’s promises had no grounds in reality and that the game’s premiere date and quality cannot be guaranteed. So, after a long discussion, we decided to suspend the cooperation with WSG, because we understood there is too much risk in it. And actually we haven’t paid for the last milestone, but only because it wasn’t complete and we have already started the termination of the contract.

Michal claims that redundancies and savings at CDP, though they are unpopular and generate lots of gossip, will allow the company to continue its key projects.

In any case, the situation is pretty sad. The only good news is that CDP claims that their current flagship project, kept in secret but assumed to be Witcher 2, is on track.

Quite impressed by web gadu-gadu

(gadu gadu is a Polish IM)

It must be like 100 years since I saw Gadu Gadu last time. Almost all of my friends use gmail embedded chat or skype. And even before, I was rather using tlen (another Polish im).

But today I needed to contact a potential contractor who only provide GG number, and I found that I can use a web interface (web gadu gadu) instead of downloading a client (not even sure if there is one for Mac):

Looks rather cool!

(except for the flashing banners maybe)

My contact in unavailable anyway, so can’t say how well it works for now.

Learning from Twitter, Facebook

Lately I’m mostly busy with community functionality of Ogito and I’m trying to take advantage of some intuitions from Twitter and Facebook.

I’ve had Facebook account for some time, but was never an active user. Twitter I never used at all, even though I had some experience with blip, a Polish twitter look-alike. So I opened a twitter account to experience the original thing.

My initial goal was something very close to twitter – or how I imagined it should feel like before actually using it. Low barrier of entry, easy to use, one information stream carrying all the relevant user updates.

After playing with Twitter and reading reactions to Facebook latest redesign, which makes social network look quite similar to its much smaller competitor, my vision is evolving a bit.

In fact I wasn’t disappointed by how easy it was to start using twitter. The application is lighthearted and inviting, also because the community seems to radiate with enthusiasm of the early converts.

On the other hand, and maybe it’s my lack of experience with the app, the updates stream seems overwhelming, difficult to read continuously and unstructured. Figuring a conversation from exchanges of replies is one example when I’m quite lost (stream of given users shows replies he directed at someone, but not the other way round, so it’s hard to understand the context).

Facebook feed was supposedly better. It had intelligence to handle updates (status vs activity reports) differently. It lost this advantage after redesign and maybe this is why so many people hate it.

Given that we will have a lot of non-status related updates, Facebook (as of before redesign) might serve as a better inspiration.

Its latest redesign also suggests a number of points where caution should be applied (I’m basing it mostly on this summary in huffingtonpost): overuse of user thumbs, large fonts and trivial updates, lack of real time view.

Of course, many of the complaints (photos flooding the feed em masse etc.) will be resolved by subsequent fixes.

You can now run EC2 servers in Europe – how faster it is?

I just reached the first milestone – deploying my application into a production server. Roughly at the same time, Amazon announced that it is now possible to have EC2 instances running on data centers located in Europe.

What is EC2? It’s a platform which allows you to run your application on arbitrary number of virtual servers. EC2 charges for servers on hourly basis, so it allows, in principle, to scale very flexibly.

From the very beginning I wanted Ogito to run on EC2.

Having servers located in Europe is a good thing, because latency is lower – ie. requests get handled faster because they don’t have to travel back and forth over the ocean. But I wanted to have some idea what the difference would be and ran couple of pings from my home location. Results:

  • EC2 us-east instance: 120ms
  • EC2 eu-west instance: 60ms
  • 46ms
  • 17ms
  • 15ms

60ms. Doesn’t beat local hosting, but better than hosting in the US.

For now my app is running in the us-east region, anyway, because ec2onrails AMI that I use (AMI is a server “template”) is not available in Europe yet. I was a bit surprised that one cannot access public AMIs across the regions, but that’s the way it works – regions are very self-contained.

Side note 1: I deployed my app successfully over the weekend, upgrading ec2onrails image to rails 2.2.2 and doing some other modifications. Hooray!

Side note 2: that said, the app currently is able to only display “come back later” page without any errors:)

Side note 3: I wish I had a place to write about more geeky stuff, I don’t like writing them here because my friends would find them hard to digest, while having another side blog never worked for me.

Backup your Gmail before it’s too late

At last I got concerned about possibility of losing access to my primary Gmail account – and with it to all my mail – sufficient enough that I decided to make an effort and learn how to make an offline copy of my mailbox.

First I found this tutorial on how to setup a daily backup routine from the command line.

The solution is fancy enough, but I thought, why not simply use Apple’s Mail app to get all the mail on the desktop?

Here we go.

I was following instructions from here and here.

Synchronization seems to work all right, so aside from backup, now I can use Mail app to work on email offline.

I’m going to try Rails on EC2

I’m not exactly in a stage of getting into technical details, but I already kind of decided that I will switch to Ruby on Rails for development of the current project.

Reasons: learning rails would probably be no harder than staying with PHP and learning framework like Zend, which is where I stopped last time.

And RoR promises much improvement with time-to-market.

Having sort of decision on rails, I wanted to have an initial idea of available hosting options, also for the needs of a “back of an envelope” business case.

I’m very happy with my current provider, progreso, but sadly they don’t support rails on shared servers, yet. If I wanted to host with them, I would have to buy a dedicated server anyway.

But as far as dedicated servers are concerned, Amazon’s EC2 looks much more attractive (at least at a first glance).

As for pricing, basic virtual servers are cheaper than in case of progreso (like, $70 a month excluding bandwidth and additional storage).

Additionally, path to hosting Rails applications on EC2 seems already well-beaten. For example here: Deploy a Ruby on Rails app on EC2 in five minutes. There are even Polish startups (shoptrix) who chose this solution.

And of course the most advertised benefit of using EC2 is the ability to increase capacity on pay-as-you-go basis, by easily launching new virtual servers when necessary.

Next Page »