helion-prime
home about us blogs contacts

Blogs

This weblog by Helion-Prime Solutions about software design, experience, business, the web, simplicity and more
Blogs

A great technical future ahead

May 28th, 2011 by vasiliy.kiryanov

When every day seems the same, it is because we have stopped noticing the good things that appear in our lives, Paulo Coelho

Recently I hear almost everyday that technical progress goes very slow, no fresh news. Today I ‘m going to find few cool things that can change our lives in near future to prove once again quote of Paulo Coelho.

Self-driving cars

The project is being guided by the artificial-intelligence researcher Sebastian Thrun, who as a Stanford professor in 2005 led a team of students and engineers that designed robot car, winning the second Grand Challenge of the Defense Advanced Research Projects Agency, a $2 million Pentagon prize for driving autonomously over 132 miles in the desert.

Since then, Dr. Thrun has focused more of his activities at Google, giving up tenure at Stanford and hiring a growing array of experts to help with the development project.

In frequent public statements, he has said robotic vehicles would increase energy efficiency while reducing road injuries and deaths. And he has called for sophisticated systems for car sharing that could cut the number of cars in the United States in half.

“What if I could take out my phone and say, ‘Zipcar’, come here, and a moment later the Zipcar came around the corner?”, he asked an industry conference in 2010.
In 2010 Google said it had test-driven robotic hybrid vehicles more than 140,000 miles on California roads — including Highway 1 between Los Angeles and San Francisco. More than 1,000 miles had been driven entirely autonomously.

And in 2011 Google lobbies US state Nevada to allow self-driving cars. Today cars based on artificial intelligence raise questions about safety and liability but it seems in few years we will be able to ask our cars to drive us home.

Computer diagnoses

In the beginning of year 2011 IBM supercomputer Watson Wins Jeopardy game show’s against former champions Ken Jennings and Brad Rutter.
Watson is a significant leap a machine’s ability to understand context in human language. As IBM has said on several occasions, the goal was not to create a self-aware super computer that can run amok such as HAL 9000 from 2001: A Space Odyssey or Skynet from The Terminator. But a question and answer machine like the ship computer in Star Trek: The Next Generation.


In May 2011 Watson is a second-year med student. For 40 years, clinical decision support systems (CDSS) have promised to revolutionize healthcare. In fact, when the US government recently mandated electronic health record (EHR) systems in all healthcare facilities, one of the key objectives is to promote better and cheaper healthcare using CDSS based on the patient data collected from the EHRs. With the large amount of new data collected by the newly installed EHR systems, computers like the Watson will be able to find optimal answers to clinical questions much more efficiently than the human mind.

IBM’s collaborator on this project is Dr. Eliot Siegal, a senior radiologist and vice chair of informatics at the University of Maryland. Siegel’s team in Maryland helped IBM identify which medical journals and textbooks were best to feed into the computer and which questions to start asking it. Watson read all of Medline, PubMed, dozens of textbooks and asked and answered every question on board exams. “It’s all the information you’d need to be as good as the smartest second year med student,” says Siegel.

The next, more difficult phase of the project is to load Watson up with anonymized patient records so it can marry what it knows about diagnostics with the procedures, treatments and outcomes that follow. Then doctors can query Watson and get an assist in figuring out what to do next. Siegel says “Wouldn’t it be great to distribute sub-specialty expertise to the hinterlands where remote medical practices may lack the experience of seeing thousands of patients?” .

Siegel says widespread use of Watson as a diagnosis tool is more like 8 to 10 years out.

More information about IBM Watson: http://www-03.ibm.com/innovation/us/watson/what-is-watson/index.html

Faster web browsing

As part of the “Let’s make the web faster” initiative Google is experimenting with alternative protocols to help reduce the latency of web pages. One of these experiments is SPDY, an application-layer protocol for transporting content over the web, designed specifically for minimal latency.

In lab tests, Google compared the performance of these applications over HTTP and SPDY, and have observed up to 64% reductions in page load times in SPDY. And the pretty thing is SPDY uses TCP as the underlying transport layer, so requires no changes to existing networking infrastructure. The only changes required to support SPDY are in the client user agent and web server applications.

As client user agent we can use Google chrome browser that already has build-in support of SPDY. Google also use it for its services, such as Google Search, Gmail, Chrome sync and when serving Google’s ads. And people can start using it with web server applications as today we have some first implementation for Apache HTTPD server, Ruby and Java platforms. Google hopes to engage the open source community to contribute ideas, feedback, code, and test results, to make SPDY available everywhere in just few years.

More information about SPPY protocol: http://www.chromium.org/spdy/spdy-whitepaper

Be Sociable, Share!

    Reasons for Google to recreate Groupon instead of acquisition

    December 1st, 2010 by vasiliy.kiryanov

    There are only 3 good reasons for company acquisition: to buy user base, cheap idea or technology that takes time to recreate.

    I think that Groupon is the fast answer to social demand based on recession that warms up because of the attention it is getting. And once the recession is over, and people calm down there is much less attention to such companies. But current price is heavily overrated due to above-mentioned reason.

    Recreation of Groupon

    Google has everything to create almost any software and make it popular: Brand, Users base, and Money.
    How much does it cost for Google to create some initial version within 2 months using average salary rates from Glassdoor site?

    2 weeks UI design – 1 engineer,
    1 month development – 20 engineers,
    1 month testing – 10 engineers.

    development: $124,135/12 * 20 = about 207,000$
    Google Senior Software Engineer average salary $124,135 (according to glassdoor)

    management: $102,300/12 = about $8,000
    Google Project Manager average salary $102,300 (according to glassdoor)

    UI design: $85,706/12/2 = about $3,500
    Google User Interface Designer average salary $85,706 (according to glassdoor)

    testing: $103,125/12 * 10 = about $56,000
    Software Engineer III average salary $103,125 (according to glassdoor)

    overall: about 274,500$

    Cheap marketing

    Google can get some exclusive agreements with popular brands, local retailers in exchange of some price reductions on Adsense, and sell adsense ads on terms that close to Groupon.

    Be Sociable, Share!

      Full Text Search with several tables in PostgreSQL

      October 21st, 2010 by alex.shapovalov

      Preamble

      Quite often to overcome performance degradation in Full Text Search with several tables in PostgreSQL people use external full text search engines. And surely you should use them if you have really big amount of date.

      It seems that currently there are 2 most popular engines:

      Sphinx: http://sphinxsearch.com/
      license: GPL version 2. Commercial licensing (eg. for embedded use) is available upon request.
      native API implementations: PHP, Perl, Ruby, and Java.
      written in: C++

      Lucene: http://lucene.apache.org/
      license: Apache License 2.0.
      native API implementations: Delphi, Perl, C#, C++, Python, Ruby and PHP.
      written in: Java

      Basics

      As all active users of PostgreSQL know support of full text search is integrated into the core database system since version 8.3.
      If you don’t have basic understanding of full text search in PostgreSQL, please check:
      http://www.postgresql.org/docs/8.4/interactive/textsearch-intro.html

      Simple full text search query:

      1
      2
      SELECT * FROM blog_post
      WHERE to_tsvector('english', text || ' ') @@ plainto_tsquery('test')

      As for any query to achieve acceptable performance using big amount of data we need to add DB index.

      1
      2
      CREATE INDEX blog_post_ts_idx
      ON blog_post USING gin(to_tsvector('english', text || ' '));

      The problem arises when we need to perform search with several linked tables. The experiments show that even with necessary indexes on tables during full text search PostgreSQL uses only 1 index and performance degrades.

      Solving of the issue with PostgreSQL

      For example we have 2 tables:
      table: Blog_post, field: text,
      table: User, field: name

      Queries with UNION
      We need indexes on both tables:

      1
      2
      CREATE INDEX blog_post_ts_idx ON blog_post USING gin(to_tsvector('english', text || ' '));
      CREATE INDEX user_ts_idx ON USER USING gin(to_tsvector('english', name || ' '));

      We execute full text search with composite query (UNION )

      1
      2
      3
      4
      5
      SELECT id FROM blog_post WHERE to_tsvector('english', text || ' ') @@ plainto_tsquery('test')
      UNION
      SELECT blog_post.id FROM blog_post
         LEFT JOIN USER ON USER.id = blog_post.user_id
         WHERE to_tsvector('english', name || ' ' ) @@ plainto_tsquery('test')

      In that case PostgreSQL perform 2 separate query that accomplish search by different fields, and that solve issue of index using.

      Using of materialized View

      Materialized View – is a database object that contains the results of a query. And as it’s a real object we can add DB index to it. Unfortunately at this time Postgresql doesn’t support that type of DB view.
      Therefore we need to create such object by itself. In the capacity of materialized view we will use regular table that consists of 2 fields:

      1
      2
      3
      CREATE TABLE blog_post_ts_keywords (
         blog_post_id INTEGER NOT NULL PRIMARY KEY,
         keywords TSVECTOR);

      Then we can add DB index to it:

      1
      2
      CREATE INDEX index_blog_post_ts_keywords ON blog_post_ts_keywords
         USING GIN(keywords);

      Now we can execute regular full text search:

      1
      SELECT blog_post_id FROM blog_post_ts_keywords WHERE keywords @@ plainto_tsquery('test')

      Main complication here is maintenance of that view in actual state.
      We can use DB triggers: http://www.postgresql.org/docs/8.4/interactive/trigger-definition.html or simple update queries by some schedule

      1
      2
      3
      4
      5
      INSERT INTO blog_post_ts_keywords
      SELECT blog_post.id AS blog_post_id,  
            (to_tsvector('english', blog_post.text ||  usr.name || ' ')) AS keywords
         FROM blog_post
         LEFT JOIN USER ON USER.id = blog_post.user_id

      Here you can see simple query for materialized view filling. The query for data refreshing looking quite the same considering checking of changes. And your query for outdated data deleting should take into account deleted or not active records.

      Be Sociable, Share!

        Google voice versus skype

        August 26th, 2010 by alex.shapovalov

        Yes, it’s finally happened, we can call regular phones with Google voice. That Google Voice VoIP functionality based on Gizmo5 technology [http://www.google.com/gizmo5/]. Also good news are: Google agreed to trial free calling booths at an airport and a pair of universities!

        Now, all that we need is to compare prices and test quality.

        Prices comparison

        Country Google voice Skype
        United States free 2.4 ¢/min (incl. VAT)
        Canada free 2.4 ¢/min (incl. VAT)
        India 6 ¢/min 10.6 ¢/min (incl. VAT)
        UK landline 2 ¢/min 2.4 ¢/min (incl. VAT)
        UK mobile 18 ¢/min 29.10 ¢/min (incl. VAT)
        Mexico landline 10 ¢/min 11.4 ¢/min (incl. VAT)
        Mexico mobile 19 ¢/min 38.6 ¢/min (incl. VAT)
        France landline 2 ¢/min 2.4 ¢/min (incl. VAT)
        France mobile 15 ¢/min 23.3 ¢/min (incl. VAT)
        Russia landline 4 ¢/min 5.5 ¢/min (incl. VAT)
        Russia mobile 6 ¢/min 8.2 ¢/min (incl. VAT)
        Russia Moscow 2 ¢/min 2.4 ¢/min (incl. VAT)
        Russia Saint-Petersburg 2 ¢/min 2.4 ¢/min (incl. VAT)



        As you see Google set lower prices for all cases, even if it’s few cents. You can make own comparisons for your local places:
        Skype rates [http://www.skype.com/intl/en-us/prices/payg-rates/]
        Google rates [https://www.google.com/voice/b/0/rates].

        Quality testing

        We have compared quality of sound in the same places with same computer configuration. For most cases they show almost same results.

        Here we need to mention only 2 things:
        Gmail Voice has clearer sound in most cases.
        Skype provides better noise cancellation.

        Be Sociable, Share!

          35 lessons of 35 years

          August 18th, 2010 by vasiliy.kiryanov

          Ryan Freitas shares some ideas

          Work

          - Debates over terminology and semantics are for archivists and academics. If you’re interested in the living heart of what you do, focus on building things rather than talking about them.
          - No one gives a damn about the size of your to-do list.
          - How we handle ambiguity and failure have a lot to do with our potential for success.
          - Your reputation is more important than your paycheck, and your integrity is worth more than your career.

          Money

          - Recognize the time value of money, and start spending appropriately.
          - Overtip everybody. Doormen, valets, bartenders – their job is in fact tougher than yours. They have to put up with people like you all day.
          - Debt, no matter how creatively structured, is anathema to peace of mind.
          - Leisure travel is expensive, but it is by no means an indulgence.

          Read full list on: http://ryanfreitas.tumblr.com/post/968361763/35-lessons-in-35-years

          Be Sociable, Share!
            ©2010 Helion-Prime Solutions Ltd.
            Custom Software Development Agile Company.