Skip to main content

Home/ Coders/ Group items tagged software libraries

Rss Feed Group items tagged

Fabien Cadet

Hadoop! : Apache distributed computing ecosystem - 4 views

  •  
    « The Apache™ Hadoop™ project develops open-source software for reliable, scalable, distributed computing. The Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using a simple programming model. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-avaiability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-availabile service on top of a cluster of computers, each of which may be prone to failures. »
Matteo Spreafico

Joe Duffy's Weblog - OnBeingStateful - 0 views

  • The biggest question left unanswered in my mind is the role state will play in software of the future.
  • The biggest question left unanswered in my mind is the role state will play in software of the future. That seems like an absurd statement, or a naïve one at the very least.  State is everywhere: The values held in memory. Data locally on disk. Data in-flight that is being sent over a network. Data stored in the cloud, including on a database, remote filesystem, etc. Certainly all of these kinds of state will continue to exist far into the future.  Data is king, and is one major factor that will drive the shift to parallel computing.  The question then is how will concurrent programs interact with this state, read and mutate it, and what isolation and synchronization mechanisms are necessary to do so?
  • Many programs have ample gratuitous dependencies, simply because of the habits we’ve grown accustomed to over 30 odd years of imperative programming.  Our education, mental models, books, best-of-breed algorithms, libraries, and languages all push us in this direction.  We like to scribble intermediary state into shared variables because it’s simple to do so and because it maps to our von Neumann model of how the computer works.
  • ...3 more annotations...
  • We need to get rid of these gratuitous dependencies.  Merely papering over them with a transaction—making them “safe”—doesn’t do anything to improve the natural parallelism that a program contains.  It just ensures it doesn’t crash.  Sure, that’s plenty important, but providing programming models and patterns to eliminate the gratuitous dependencies also achieves the goal of not crashing but with the added benefit of actually improving scalability too.  Transactions have worked so well in enabling automatic parallelism in databases because the basic model itself (without transactions) already implies natural isolation among queries.  Transactions break down and scalability suffers for programs that aren’t architected in this way.  We should learn from the experience of the database community in this regard
  • There will always be hidden mutation of shared state inside lower level system components.  These are often called “benevolent side-effects,” thanks to Hoare, and apply to things like lazy initialization and memorization caches.  These will be done by concurrency ninjas who understand locks.  And their effects will be isolated by convention.
  • Even with all of this support, we’d be left with an ecosystem of libraries like the .NET Framework itself which have been built atop a fundamentally mutable and imperative system.  The path forward here is less clear to me, although having the ability to retain a mutable model within pockets of guaranteed isolation certainly makes me think the libraries are salvageable.  Thankfully, the shift will likely be very gradual, and the pieces that pose substantial problems can be rewritten in place incrementally over time.  But we need the fundamental language and type system support first.
David Corking

Dr. Dobb's | Smartphone Operating Systems: A Developer's Perspective | March 30, 2009 - 0 views

  • The industry stewards have countered Apple's move with their own application stores, so there's a huge opportunity to write the "killer app" for one of several smartphone platforms.
  • 40 MB to less than 4 MB of free RAM
  • one-app-at-a-time requirement complicates any implementation of a copy-and-paste mechanism.
  • ...45 more annotations...
  • As a security sandbox, the iPhone OS permits only one third-party application to run at a time, and not in the background.
  • adding some useful Bluetooth profiles that supported stereo headsets, data synchronization, or the ability to implement multiplayer games would be usefu
  • iPhone OS 3, that provides some of the missing features mentioned here, such as the A2DP profile for Bluetooth, voice recording, and copy-and-paste.
  • Have to learn Objective-C; is only smartphone platform that uses it.
  • Competitors will soon catch up on the UI.
  • embed navigation and GPS plotting into applications.
  • provide their own map content
  • The OS now supports the use of accessories connected to the iPhone either through its 30-pin docking connector or wirelessly via Bluetooth. Now that the device has been "opened", you can expect an entire ecosystem to build up around the device, much like the iPod has.
  • peer-to-peer connectivity using Bonjour
  • developers can now allow users, from within the application, to purchase and obtain new content
  • No voice dial.
  • A client-server mechanism provides access to low-level system resources, and in fact the kernel itself is a server that parcels out resources to those applications that need them. This transaction scheme allows applications to exchange data without requiring direct access to the OS space.
  • C/C++ for porting existing UNIX applications, and Java to port Java ME MIDlets. As mentioned previously, the software stack offers several run-times that offer application development using WRT widgets, Flash, and Python. The primary programming language for the platform is Symbian C++,
  • Handango has managed the wide-scale distribution of Nokia applications. In February, Nokia announced plans to launch its Ovi Store, which sells applications, videos, games, pod-casts and other content, similar to Apple's App Store. The store will be accessible by Nokia S60 smartphones in May.
  • Non-standard Symbian C++ has steep learning curve, with special idioms to master. Large number of Symbian APIs to learn, since it contains hundreds of classes and thousands of member functions.
  • BlackBerry Device Software executes multiple applications simultaneously
  • Manages multiple e-mail Exchange e-mail accounts, along with support for POP3 and SMTP, and e-mails can have file attachments
  • FIPS 140-2 compliant, and supports AES or Triple DES encryption sessions via BlackBerry Enterprise Servers
  • BlackBerry Device Software has enhanced the capabilities of the platform with its own Java virtual machine (JVM), along with new Java classes that offer multitasking capabilities and UI enhancements to go beyond the capabilities of Java ME.
  • You can also take existing Java ME code and add specific BlackBerry classes to make a hybrid Java ME application
  • don't intermix MIDP 2.0 and BlackBerry API calls that perform either screen drawing or application management.
  • The catch to writing an application that uses BlackBerry API extensions is that it ties the application this smartphone. However, this is no worse than using the unique Java classes found in Google's Android.
  • Apple promotes the design goal that applications should accomplish one purpose.
  • no Flash support, and you can't download files.
  • For non-Exchange users, Apple's MobileMe online service, after some fits and starts in 2008, now supports the push of e-mails and changes to the calendar and contacts.
  • The iPhone 3G can work in tandem with Microsoft Exhange Server 2003 and 2007 to support enterprise operations.
  • Cocoa Touch is a subset of Apple's Cocoa,
  • Cocoa Touch components manage most of the writing to the screen and playing media, yet there are APIs exposed that let you access the accelerometer and camera.
  • Quartz engine is identical to the one found in Mac OS X
  • Only a select few higher-level frameworks have access to the kernel and drivers. If necessary, an application can indirectly access some of these services through C-based interfaces provided in a LibSystem library.
  • the SDK provides Dashcode, which is a framework based on a Web page composed of HTML and Javascript. You can use DashCode's simulator to write and test your web application. You can also use several other third-party frameworks to write web applications, and debug these with Aptanna Studio's tools.
  • Made by HTC, the G1 is the first smartphone using the Android platform.
  • e-mail program (which makes use of Google's Gmail), a mapping program (using the company's Google Maps), and a browser that uses WebKit, not Google's Chrome web browser
  • Android is not Java ME, nor does it support such applications
  • ability to both browse and manage multiple IM conversations. On the other hand, such heavy use of the smartphone's CPU shortens battery life significantly. Maybe Apple is on to something in limiting the number of applications that the platform can run.
  • On the positive side, the Android APIs support a touch interface (and the G1 has a capacitive touch screen), but not any multi-touch gestures.
  • copying text from the web pages is the browser isn't allowed
  • The advantage to Android's use of a different bytecode interpreter is that the DVM was designed so that multiple instances of it can run, each in their own protected memory space, and each executing an application. While this approach offers stability and a robust environment for running multiple applications, it does so at the expense of compatibility with Java ME applications.
  • Seasoned Java programmers will find the Android SDK an amalgam of Java SE and Java ME methods and classes, along with unique new ones
  • compile the Java code to generate Dalvik bytecode files, with an extension of .dex. These files, along with the manifest, graphics files, and XML files, are packaged into an .apk file that is similar to a Java JAR file.
  • The certificate that you use to generate the private key does not require a signing authority, and you can use self-signed certificates for this purpose.
  • The Developer Phone provides access to a shipping Android device without the cash outlay or contract contortions required when developing for the other platforms.
  • in February the site began supporting priced applications. Google allows developers to take seventy percent of the proceeds.
  • it's possible that you might pick up a malicious application before it is detected by the user community.
  • Open source, open platform: if you hate the mail program, some third-party is writing a better one.
  •  
    Lengthy developer's overview of Symbian, Mac OS X iPhone, Blackberry, Android. This talks about the leading app platforms except Java ME and Windows Mobile, though it does explain how Blackberry and Symbian support Java ME.
emysa341

Text To Speech Conversion using Espeak Engine for Iphone Application Development | crun... - 0 views

  •  
    There are some 3rd party libraries and API which are used to convert TTS ( TEXT TO SPEECH ) in iphone 1) Sphinix                        ( Not Efficeint  ) 2) Open-Ear                    ( Do not Required Internet Connectivity offline  TTS ) 3) Google TTS             (Requires Internet Connection) 4) Acapela                      (Not Free You Have to pay to get SDK) 5) Objectuve C Speech Synthesizer Speak Engine (Do Not Required Internet Connectivity One of the Good offline TTS )
Joel Bennett

CertMgr (Windows) - 0 views

  •  
    CertMgr is a new tool for the management of certificates, certificate trust lists (CTLs), and certificate revocation lists (CRLs). It is installed in the \Bin folder of the Microsoft Windows Software Development Kit (SDK)
Joel Bennett

Automatic Online Update Toolkit - The Code Project - 0 views

  •  
    A set of tools for automatic updates ...
David Corking

Dr. Dobb's | Q&A: When Mobility and Open Source Collide | March 28, 2009 - 0 views

  • The web browser is a good example, on a pc it may make sense to ask a user to find, click, type, and browse the web or look for a service. In a mobile, converged product, you need to help the user be present with the service even or especially when they are driving or have the product in a pocket or handbag, and requiring them to constantly select 'yes' or to type in forms etc. are real headaches for a consumer.
  • We will not provide a store front, but will help the community create multiple online stores from which they can generate revenue for themselves and the developer.
  • At the other end of the spectrum, you see hoards of teenagers in the U.S., Europe and Asia happily texting one handed, using predictive text.
    • David Corking
       
      No: they do NOT use predictive text - we 40 somethings might - but the kids uset text speak. How does a kid text rom an iPhone in his pocket?
  • ...7 more annotations...
  • Focus on the whole experience, meaning you need to be inclusive of display sizes, input methods, and form factors when you design and develop your applications and services.
    • David Corking
       
      How much time does a Symbian app developer have to put in to considering all the different Symbian phones on the market?
  • .Net CF
  • expanding this functionality with QT libraries, Adobe AIR technology
  • StyleTap has a Palm emulator that allows you to run thousands of Palm applications on Symbian products
  • Red Five Labs has a runtime for Symbian OS which ensures Microsoft .net applications can be fully supported.
  • many people around the world are not buying and cannot afford a PC.
  • The Symbian Foundation is helping to do this by ensuring we lower the barrier for entry for software developers.
  •  
    Really interesting interview with Symbian boss
1 - 11 of 11
Showing 20 items per page