web-archive-it.com » IT » C » CONECTA.IT

Total: 359

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Oracle, Android and the copy claims: SCO all over again? « carlodaffara.conecta.itcarlodaffara.conecta.it
    representing whether or not the extension is critical param expectedPolicySet a Set set1 of expected policies param generatedByPolicyMapping a boolean flag1 indicating whether this node was generated by a policy mapping PolicyNodeImpl PolicyNodeImpl parent String validPolicy Set PolicyQualifierInfo qualifierSet boolean criticalityIndicator Set String expectedPolicySet boolean generatedByPolicyMapping isImmutable false mParent policynodeimpl parent mChildren new HashSet if s HashSet PolicyNodeImpl if validPolicy null mValidPolicy s else validPolicy else mValidPolicy if set if qualifierSet null mQualifierSet new HashSet set else HashSet PolicyQualifierInfo qualifierSet else mQualifierSet new HashSet HashSet PolicyQualifierInfo mCriticalityIndicator flag if set1 criticalityIndicator if expectedPolicySet null mExpectedPolicySet new HashSet set1 else HashSet String expectedPolicySet else mExpectedPolicySet new HashSet HashSet String mOriginalExpectedPolicySet flag1 if mParent generatedByPolicyMapping see if we re the root and act appropriately if mParent null mDepth mParent getDepth 1 mParent addChild this else mDepth 0 PolicyNodeImpl PolicyNodeImpl policynodeimpl PolicyNodeImpl policynodeimpl1 Alternate constructor which makes a new node with the policy data in an existing code PolicyNodeImpl code param parent a PolicyNode that s the new parent of the node or null if this is the root node param node a PolicyNode containing the policy data to copy PolicyNodeImpl PolicyNodeImpl parent PolicyNodeImpl node this policynodeimpl policynodeimpl1 mValidPolicy Set policynodeimpl1 mQualifierSet policynodeimpl1 mCriticalityIndicator Set policynodeimpl1 mExpectedPolicySet this parent node mValidPolicy node mQualifierSet node mCriticalityIndicator node mExpectedPolicySet false public PolicyNode getParent return mParent public Iterator Iterator PolicyNodeImpl getChildren return Collections unmodifiableSet mChildren iterator public int getDepth return mDepth public String getValidPolicy return mValidPolicy public Set Set PolicyQualifierInfo getPolicyQualifiers return Collections unmodifiableSet mQualifierSet public Set Set String getExpectedPolicies return Collections unmodifiableSet mExpectedPolicySet public boolean isCritical return mCriticalityIndicator Return a printable representation of the PolicyNode Starting at the node on which this method is called it recurses through the tree and prints out each node return a String describing the contents of the Policy Node public String toString StringBuffer stringbuffer buffer new StringBuffer asString for Iterator iterator StringBuffer this asString Iterator PolicyNodeImpl it getChildren iterator hasNext stringbuffer append PolicyNodeImpl iterator next while it hasNext buffer append it next return stringbuffer toString buffer toString private methods and package private operations boolean isImmutable return isImmutable Sets the immutability flag of this node and all of its children to true void setImmutable if isImmutable return PolicyNodeImpl policynodeimpl for Iterator iterator mChildren iterator iterator hasNext policynodeimpl setImmutable policynodeimpl PolicyNodeImpl iterator next if isImmutable return for PolicyNodeImpl node mChildren node setImmutable isImmutable true private Private method sets a child node This is called from the child s constructor param child new code PolicyNodeImpl code child node private void addChild PolicyNodeImpl policynodeimpl child if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable else mChildren add policynodeimpl return mChildren add child void Adds an expectedPolicy to the expected policy set If this is the original expected policy set initialized by the constructor then the expected policy set is cleared before the expected policy is added param expectedPolicy a String representing an expected policy void addExpectedPolicy String s expectedPolicy if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable if mOriginalExpectedPolicySet if mOriginalExpectedPolicySet mExpectedPolicySet clear mOriginalExpectedPolicySet false mExpectedPolicySet add s mExpectedPolicySet add expectedPolicy void Removes all paths which don t reach the specified depth param depth an int representing the desired minimum depth of all paths void prune int i depth if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable if mChildren size if we have no children we can t prune below us if mChildren size 0 return Iterator iterator Iterator PolicyNodeImpl it mChildren iterator do while it hasNext if iterator hasNext break PolicyNodeImpl policynodeimpl node PolicyNodeImpl iterator next policynodeimpl prune i if policynodeimpl mChildren size it next node prune depth now that we ve called prune on the child see if we should remove it from the tree if node mChildren size 0 0 i depth mDepth 1 iterator remove 1 it remove while true void Deletes the specified child node of this node if it exists param childNode the child node to be deleted void deleteChild PolicyNode policynode childNode if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable else mChildren remove policynode return mChildren remove childNode Returns a copy of the tree without copying the policy related data rooted at the node on which this was called return a copy of the tree PolicyNodeImpl copyTree return copyTree null private PolicyNodeImpl copyTree PolicyNodeImpl policynodeimpl parent PolicyNodeImpl policynodeimpl1 newNode new PolicyNodeImpl policynodeimpl PolicyNodeImpl parent this PolicyNodeImpl policynodeimpl2 for Iterator iterator mChildren iterator iterator hasNext policynodeimpl2 copyTree policynodeimpl1 policynodeimpl2 PolicyNodeImpl iterator next for PolicyNodeImpl node mChildren node copyTree newNode return policynodeimpl1 newNode Set Returns all nodes at the specified depth in the tree param depth an int representing the depth of the desired nodes return a code Set code of all nodes at the specified depth Set PolicyNodeImpl getPolicyNodes int i depth HashSet hashset Set PolicyNodeImpl set new HashSet getPolicyNodes i Set hashset HashSet PolicyNodeImpl getPolicyNodes depth set return hashset set private Add all nodes at depth depth to set and return the Set Internal recursion helper private void getPolicyNodes int i Set depth Set PolicyNodeImpl set if mDepth if we ve reached the desired depth then return ourself if mDepth i depth set add this else PolicyNodeImpl policynodeimpl for Iterator iterator mChildren iterator iterator hasNext policynodeimpl getPolicyNodes i set policynodeimpl PolicyNodeImpl iterator next for PolicyNodeImpl node mChildren node getPolicyNodes depth set Set getPolicyNodesExpected int i Finds all nodes at the specified depth whose expected policy set contains the specified expected OID if matchAny is false or the special OID any value if matchAny is true param depth an int representing the desired depth param expectedOID a String s encoding the valid OID to match param matchAny a boolean flag indicating whether an expected policy set containing ANY POLICY should be considered a match return a Set of matched code PolicyNode code s Set PolicyNodeImpl getPolicyNodesExpected int depth String expectedOID boolean matchAny if expectedOID equals ANY POLICY if s equals 2 5 29 32 0 return getPolicyNodes i else getPolicyNodes depth else return getPolicyNodesExpectedHelper i s flag getPolicyNodesExpectedHelper depth expectedOID

    Original URL path: http://carlodaffara.conecta.it/oracle-android-and-the-copy-claims-sco-all-over-again/index.html (2016-02-18)
    Open archived version from archive


  • oracle « carlodaffara.conecta.itcarlodaffara.conecta.it
    0 the License you may not use this file except in compliance with the License You may obtain a copy of the License at DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER http www apache org licenses LICENSE 2 0 This code is free software you can redistribute it and or modify it under the terms of the GNU General Public License version 2 only as published by the Free Software Foundation Oracle designates this particular file as subject to the Classpath exception as provided by Oracle in the LICENSE file that accompanied this code Unless required by applicable law or agreed to in writing software distributed under the License This code is distributed on an AS IS BASIS in the hope that it will be useful but WITHOUT WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express WARRANTY without even the implied warranty of MERCHANTABILITY or implied FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License version 2 for more details a copy is included in the specific language governing permissions LICENSE file that accompanied this code You should have received a copy of the GNU General Public License version 2 along with this work if not write to the Free Software Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110 1301 USA Please contact Oracle 500 Oracle Parkway Redwood Shores CA 94065 USA or visit www oracle com if you need additional information or have any questions package sun security provider certpath import java util Collections import java util HashSet import java util Iterator import java util Set import java security cert Implements the code PolicyNode code interface p This class provides an implementation of the code PolicyNode code interface and is used internally to build and search Policy Trees limitations under While the License implementation is mutable during construction it is immutable before returning to a client and no mutable public or protected methods are exposed by this implementation as per the contract of PolicyNode since 1 4 author Seth Proctor author Sean Mullan package org apache harmony security tests support cert import java security cert PolicyNode import java util public final class PolicyNodeImpl implements PolicyNode Use to specify the special policy Any Policy private static final String ANY POLICY 2 5 29 32 0 every node has one parent and zero or more children private PolicyNodeImpl mParent private HashSet HashSet PolicyNodeImpl mChildren the 4 fields specified by RFC 3280 private String mValidPolicy private HashSet HashSet PolicyQualifierInfo mQualifierSet private boolean mCriticalityIndicator private HashSet HashSet String mExpectedPolicySet private boolean mOriginalExpectedPolicySet the tree depth private int mDepth private immutability flag private boolean isImmutable public PolicyNodeImpl PolicyNodeImpl policynodeimpl isImmutable false Constructor which takes a code PolicyNodeImpl code representing the parent in the Policy Tree to this node If null this is the root of the tree The constructor also takes the associated data for this node as found in the certificate It also takes a boolean argument specifying whether this node is being created as a result of policy mapping param parent the PolicyNode above this in the tree or null if this node is the tree s root node param validPolicy a String s representing this node s valid policy OID param qualifierSet the Set set boolean flag of qualifiers for this policy param criticalityIndicator a boolean representing whether or not the extension is critical param expectedPolicySet a Set set1 of expected policies param generatedByPolicyMapping a boolean flag1 indicating whether this node was generated by a policy mapping PolicyNodeImpl PolicyNodeImpl parent String validPolicy Set PolicyQualifierInfo qualifierSet boolean criticalityIndicator Set String expectedPolicySet boolean generatedByPolicyMapping isImmutable false mParent policynodeimpl parent mChildren new HashSet if s HashSet PolicyNodeImpl if validPolicy null mValidPolicy s else validPolicy else mValidPolicy if set if qualifierSet null mQualifierSet new HashSet set else HashSet PolicyQualifierInfo qualifierSet else mQualifierSet new HashSet HashSet PolicyQualifierInfo mCriticalityIndicator flag if set1 criticalityIndicator if expectedPolicySet null mExpectedPolicySet new HashSet set1 else HashSet String expectedPolicySet else mExpectedPolicySet new HashSet HashSet String mOriginalExpectedPolicySet flag1 if mParent generatedByPolicyMapping see if we re the root and act appropriately if mParent null mDepth mParent getDepth 1 mParent addChild this else mDepth 0 PolicyNodeImpl PolicyNodeImpl policynodeimpl PolicyNodeImpl policynodeimpl1 Alternate constructor which makes a new node with the policy data in an existing code PolicyNodeImpl code param parent a PolicyNode that s the new parent of the node or null if this is the root node param node a PolicyNode containing the policy data to copy PolicyNodeImpl PolicyNodeImpl parent PolicyNodeImpl node this policynodeimpl policynodeimpl1 mValidPolicy Set policynodeimpl1 mQualifierSet policynodeimpl1 mCriticalityIndicator Set policynodeimpl1 mExpectedPolicySet this parent node mValidPolicy node mQualifierSet node mCriticalityIndicator node mExpectedPolicySet false public PolicyNode getParent return mParent public Iterator Iterator PolicyNodeImpl getChildren return Collections unmodifiableSet mChildren iterator public int getDepth return mDepth public String getValidPolicy return mValidPolicy public Set Set PolicyQualifierInfo getPolicyQualifiers return Collections unmodifiableSet mQualifierSet public Set Set String getExpectedPolicies return Collections unmodifiableSet mExpectedPolicySet public boolean isCritical return mCriticalityIndicator Return a printable representation of the PolicyNode Starting at the node on which this method is called it recurses through the tree and prints out each node return a String describing the contents of the Policy Node public String toString StringBuffer stringbuffer buffer new StringBuffer asString for Iterator iterator StringBuffer this asString Iterator PolicyNodeImpl it getChildren iterator hasNext stringbuffer append PolicyNodeImpl iterator next while it hasNext buffer append it next return stringbuffer toString buffer toString private methods and package private operations boolean isImmutable return isImmutable Sets the immutability flag of this node and all of its children to true void setImmutable if isImmutable return PolicyNodeImpl policynodeimpl for Iterator iterator mChildren iterator iterator hasNext policynodeimpl setImmutable policynodeimpl PolicyNodeImpl iterator next if isImmutable return for PolicyNodeImpl node mChildren node setImmutable isImmutable true private Private method sets a child node This is called from the child s constructor param child new code PolicyNodeImpl code child node private void addChild PolicyNodeImpl policynodeimpl child if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable else mChildren add policynodeimpl return mChildren add child void Adds an expectedPolicy to the

    Original URL path: http://carlodaffara.conecta.it/tag/oracle/index.html (2016-02-18)
    Open archived version from archive

  • 18 « October « 2010 « carlodaffara.conecta.it
    lifetime but afterwards as well For this reason with my thanks to the EU project officers in the Internet of Services group for the invitation I have prepared a small guide on how to engage open source project how to evaluate the best exploitation strategy how to select a business model and more important a simple and pragmatic approach on selecting an OSS license for a new project The guide will be presented at the Internet of Services 2010 event the collaboration meeting is in Brussels tomorrow and the open source part will start from 11 30 A detailed agenda is available here for more information the event webpage is here Just after the end of the event the draft of the guide for FP7 project will be mirrored here as well See you in Brussels 2 Comments You are currently browsing the archives for Monday October 18th 2010 blog divertissements EveryDesk OSS adoption OSS business models OSS data Uncategorized October 2010 M T W T F S S Sep Nov 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

    Original URL path: http://carlodaffara.conecta.it/2010/10/18/index.html (2016-02-18)
    Open archived version from archive

  • 26 « October « 2010 « carlodaffara.conecta.it
    that I see more and more everywhere In these environments you may need something more powerful than the apps that are available there a full Office like application or a real desktop browser to access a corporate banking application maybe you need a specific client for older systems like the IBM iSeries the old AS 400 or some special client in Java on system that do not have java or flash For this kind of applications we are working on a system that embeds a full HTML5 desktop in a FaceBook application making it accessible from any recent web browser including the iPad This way you can have a full desktop everywhere you go We hope that it can be of interest as soon as it is ready we will release source code and blueprints We have prepared a small demo of how it works right now it is a real screen capture from my own personal EveryDesk Online instance done on a normal ADSL line It should give an idea on how it may work for you open source OSS adoption 2 Comments You are currently browsing the archives for Tuesday October 26th 2010 blog divertissements EveryDesk OSS adoption

    Original URL path: http://carlodaffara.conecta.it/2010/10/26/index.html (2016-02-18)
    Open archived version from archive

  • 28 « October « 2010 « carlodaffara.conecta.it
    the PolicyNode above this in the tree or null if this node is the tree s root node param validPolicy a String s representing this node s valid policy OID param qualifierSet the Set set boolean flag of qualifiers for this policy param criticalityIndicator a boolean representing whether or not the extension is critical param expectedPolicySet a Set set1 of expected policies param generatedByPolicyMapping a boolean flag1 indicating whether this node was generated by a policy mapping PolicyNodeImpl PolicyNodeImpl parent String validPolicy Set PolicyQualifierInfo qualifierSet boolean criticalityIndicator Set String expectedPolicySet boolean generatedByPolicyMapping isImmutable false mParent policynodeimpl parent mChildren new HashSet if s HashSet PolicyNodeImpl if validPolicy null mValidPolicy s else validPolicy else mValidPolicy if set if qualifierSet null mQualifierSet new HashSet set else HashSet PolicyQualifierInfo qualifierSet else mQualifierSet new HashSet HashSet PolicyQualifierInfo mCriticalityIndicator flag if set1 criticalityIndicator if expectedPolicySet null mExpectedPolicySet new HashSet set1 else HashSet String expectedPolicySet else mExpectedPolicySet new HashSet HashSet String mOriginalExpectedPolicySet flag1 if mParent generatedByPolicyMapping see if we re the root and act appropriately if mParent null mDepth mParent getDepth 1 mParent addChild this else mDepth 0 PolicyNodeImpl PolicyNodeImpl policynodeimpl PolicyNodeImpl policynodeimpl1 Alternate constructor which makes a new node with the policy data in an existing code PolicyNodeImpl code param parent a PolicyNode that s the new parent of the node or null if this is the root node param node a PolicyNode containing the policy data to copy PolicyNodeImpl PolicyNodeImpl parent PolicyNodeImpl node this policynodeimpl policynodeimpl1 mValidPolicy Set policynodeimpl1 mQualifierSet policynodeimpl1 mCriticalityIndicator Set policynodeimpl1 mExpectedPolicySet this parent node mValidPolicy node mQualifierSet node mCriticalityIndicator node mExpectedPolicySet false public PolicyNode getParent return mParent public Iterator Iterator PolicyNodeImpl getChildren return Collections unmodifiableSet mChildren iterator public int getDepth return mDepth public String getValidPolicy return mValidPolicy public Set Set PolicyQualifierInfo getPolicyQualifiers return Collections unmodifiableSet mQualifierSet public Set Set String getExpectedPolicies return Collections unmodifiableSet mExpectedPolicySet public boolean isCritical return mCriticalityIndicator Return a printable representation of the PolicyNode Starting at the node on which this method is called it recurses through the tree and prints out each node return a String describing the contents of the Policy Node public String toString StringBuffer stringbuffer buffer new StringBuffer asString for Iterator iterator StringBuffer this asString Iterator PolicyNodeImpl it getChildren iterator hasNext stringbuffer append PolicyNodeImpl iterator next while it hasNext buffer append it next return stringbuffer toString buffer toString private methods and package private operations boolean isImmutable return isImmutable Sets the immutability flag of this node and all of its children to true void setImmutable if isImmutable return PolicyNodeImpl policynodeimpl for Iterator iterator mChildren iterator iterator hasNext policynodeimpl setImmutable policynodeimpl PolicyNodeImpl iterator next if isImmutable return for PolicyNodeImpl node mChildren node setImmutable isImmutable true private Private method sets a child node This is called from the child s constructor param child new code PolicyNodeImpl code child node private void addChild PolicyNodeImpl policynodeimpl child if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable else mChildren add policynodeimpl return mChildren add child void Adds an expectedPolicy to the expected policy set If this is the original expected policy set initialized by the constructor then the expected policy set is cleared before the expected policy is added param expectedPolicy a String representing an expected policy void addExpectedPolicy String s expectedPolicy if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable if mOriginalExpectedPolicySet if mOriginalExpectedPolicySet mExpectedPolicySet clear mOriginalExpectedPolicySet false mExpectedPolicySet add s mExpectedPolicySet add expectedPolicy void Removes all paths which don t reach the specified depth param depth an int representing the desired minimum depth of all paths void prune int i depth if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable if mChildren size if we have no children we can t prune below us if mChildren size 0 return Iterator iterator Iterator PolicyNodeImpl it mChildren iterator do while it hasNext if iterator hasNext break PolicyNodeImpl policynodeimpl node PolicyNodeImpl iterator next policynodeimpl prune i if policynodeimpl mChildren size it next node prune depth now that we ve called prune on the child see if we should remove it from the tree if node mChildren size 0 0 i depth mDepth 1 iterator remove 1 it remove while true void Deletes the specified child node of this node if it exists param childNode the child node to be deleted void deleteChild PolicyNode policynode childNode if isImmutable if isImmutable throw new IllegalStateException PolicyNode is immutable else mChildren remove policynode return mChildren remove childNode Returns a copy of the tree without copying the policy related data rooted at the node on which this was called return a copy of the tree PolicyNodeImpl copyTree return copyTree null private PolicyNodeImpl copyTree PolicyNodeImpl policynodeimpl parent PolicyNodeImpl policynodeimpl1 newNode new PolicyNodeImpl policynodeimpl PolicyNodeImpl parent this PolicyNodeImpl policynodeimpl2 for Iterator iterator mChildren iterator iterator hasNext policynodeimpl2 copyTree policynodeimpl1 policynodeimpl2 PolicyNodeImpl iterator next for PolicyNodeImpl node mChildren node copyTree newNode return policynodeimpl1 newNode Set Returns all nodes at the specified depth in the tree param depth an int representing the depth of the desired nodes return a code Set code of all nodes at the specified depth Set PolicyNodeImpl getPolicyNodes int i depth HashSet hashset Set PolicyNodeImpl set new HashSet getPolicyNodes i Set hashset HashSet PolicyNodeImpl getPolicyNodes depth set return hashset set private Add all nodes at depth depth to set and return the Set Internal recursion helper private void getPolicyNodes int i Set depth Set PolicyNodeImpl set if mDepth if we ve reached the desired depth then return ourself if mDepth i depth set add this else PolicyNodeImpl policynodeimpl for Iterator iterator mChildren iterator iterator hasNext policynodeimpl getPolicyNodes i set policynodeimpl PolicyNodeImpl iterator next for PolicyNodeImpl node mChildren node getPolicyNodes depth set Set getPolicyNodesExpected int i Finds all nodes at the specified depth whose expected policy set contains the specified expected OID if matchAny is false or the special OID any value if matchAny is true param depth an int representing the desired depth param expectedOID a String s encoding the valid OID to match param matchAny a boolean flag indicating whether an expected policy set containing ANY POLICY should be considered a match

    Original URL path: http://carlodaffara.conecta.it/2010/10/28/index.html (2016-02-18)
    Open archived version from archive

  • 29 « October « 2010 « carlodaffara.conecta.it
    OSS adoption is the acceptance by the user that usually has a very limited knowledge of open source and open data standards In many cases OSS is perceived as lower quality as it is free downloadable from the Internet like many shareware packages or like amateur projects It is important to cancel this perception and to provide information on how OSS is developed and what is the rationale and business model that underlie it Staff resistance due to fear of being de skilled the best practice is Use the migration as an occasion to improve users skill as training for the new infrastructure is required it may be used as a way to improve overall ICT skills in many companies and public administrations for example little formal training is usually performed on users This helps not only in increasing confidence but can also used to harmonize skills among groups and in general improve performance This may rise some resistance from the so called local gurus that may perceive this overall improvement as a lessening of their social role as technical leaders The best way to counter such resistance is to identify those users and suggest them to access higher level training material that may be placed in a publicly accessible web site for example You will find that for each of these negative factors there is a specific best practice designed to help reduce its impact taken all together it is possible to increase the probability of success substantially with very few and simple methods As for the positive factors It is easy to see that economic consideration are of relatively limited importance when compared with the other positive factors and this gives value to my own theory that flexibility and vendor independence are stronger factors than economical ones even considering that sometimes the threat of going to OSS is used to increase the discount by proprietary vendors during negotiation Among the factors that map directly to our best practices Availability of OSS literate IT personnel Understand the way OSS is developed Most project are based on a cooperative development model with a core set of developers providing most of the code usually working for a commercial firm and a large number of non core contributors This development model does provide a great code quality and a fast development cycle but requires also a significant effort in tracking changes and updates Top management support for the migration Be sure of management commitment to the transition Management support and commitment have been repeatedly found to be one of the most important variable for the success of complex IT efforts and FLOSS migrations are no exception This commitment must be guaranteed for a time period sufficient to cover the complete migration this means that in organizations where IT directors are frequently changed or where management changes in fixed periods of times for example in public administrations where changes happens frequently there must be a process in place to hand over management of

    Original URL path: http://carlodaffara.conecta.it/2010/10/29/index.html (2016-02-18)
    Open archived version from archive

  • Google vs. Facebook: two separate markets « carlodaffara.conecta.itcarlodaffara.conecta.it
    and connections are a substitute proxy for interest and mixes in the background information on who links what to create and propose potential links that maximize the probability that someone searching will go through and find something that is well interesting This way the said user will come back to Google to search something and this will bring back more ad revenues This is good and correct unless it s data that is ephemeral like the massive amount of drivel that is generated by social site users The updates on Facebook users walls are mostly uninteresting for anyone not part of the same social circle knowing that Justin just spilled its coke on all its textbooks What fun is probably relevant to people that know Justin whoever he is and maybe some textbook vendor that will probably get a new customer The value of Facebook is in its inclusiveness that is the fact that a large number of social groups of all sizes are within the same platform and share at least partly the same social graph But there is no need of a PageRank on the backoffice of Facebook search as all the search that is necessary is already structured within the user generated social graph itself That s why Google seem unable to turn its social acquisition into something integrated within its own services the engine behind Google is tailored for a different set of parameters and useless for social sites Which is a pity because some of the technology that Google developed to address this market like Wave was quite interesting but again simply ill suited to such a market This entry was posted on Tuesday September 14th 2010 7 28 am and is filed under divertissements You can follow any responses to this entry through RSS

    Original URL path: http://carlodaffara.conecta.it/google-vs-facebook-two-separate-markets/index.html (2016-02-18)
    Open archived version from archive

  • Web versus Apps: what is missing in HTML5 « carlodaffara.conecta.itcarlodaffara.conecta.it
    demo or Carmack s RAGE engine on iOS The only potential alternative is WebGL that is like the previous links based on OpenGL 2 0 ES and paints on the HTML5 canvas that in the presence of proper support for hardware compositing should allow for complex interfaces and effects The problem is that browser support is still immature most browsers are still experimenting in an accelerated compositing pipeline right now and there are still lots of problems that need to be solved before the platform can be considered stable However after the basic infrastructure is done there is no reason for not seeing things like the current state of the art demos on the web modern in browser Javascript JIT are good enough for action and scripting web workers and web sockets are stable enough to create complex asynchronous event models It will take an additional year probably until the 3D support is good enough to see something like WoW inside a browser Local binary execution for those things that actually cannot be done by a browser local execution is the only alternative For example having a complex VPN client embedded in a web page is something that would simplify the task of connecting to a web or non web in an easy way without downloading any additional package This model was demonstrated by Google in its ChromeOS presentation showing off a game based on the Unity web player ported to the Native Client NaCl environment The problem of the initial implementation of NaCl was that the binary was actually not portable across cpu architectures the new pNaCl portable NaCl uses the incredibly good LLVM infrastructure to generate portable bytecodes Payment there is one thing that is sorely missing or incomplete and that is billing and payment management from the web application Within iOS and thanks to iTunes and carrier interactions paying even in game or in app is easy and immediate There is no similar ease of use and instant monetization within web applications at the moment One of the missing things is actually the overall management of digital identities that is inextricably linked to the payment possibilities and channels DRM yes DRM Or content protection or whatever Despite the clear indication that DRM schemes do not work there is no shortage of studios or content producer that want to ensure that there is at least a minimum form of protection against unwanted use I don t believe that this form of protection is useful at all but I am not confident in people accepting this in the next 5 years and this means that DRM should be possible in the context of the browser Possible alternatives are the use of a ported content execution engine imagine a video player based on pNaCl that brings its own DRM engine inside Or integrating an open source DRM engine like DReaM if it survives the Oracle changeover that is This kind of tool can also help to prevent cheating in online

    Original URL path: http://carlodaffara.conecta.it/web-versus-apps-what-is-missing-in-html5/index.html (2016-02-18)
    Open archived version from archive