Tuesday 25 November 2014

Java Magazine November/December 2014 has been released!

The November/December issue of Java Magazine has been released. Some of the interesting topics include:
  1. Java Development for the Internet of Things (IOT)
  2. Java Coding on the Raspberry Pi
  3. jdeps, Compact Profiles and Java Modularity
  4. Performance, Security and Manageability improvements of JDK 8u20
  5. The Device I/O API
  6. Using Java FX to model historical treasures. 
  7. Much more...


Get your copy at  http://www.oracle.com/technetwork/java/javamagazine/index.html

Thursday 2 October 2014

Java Magazine September/October 2014 Released!

Java Magazine September/October 2014 has been released. Topics covered include:

  • Understanding Java JIT Compilation with JITWatch - Learn how to examine JIT logs to see what the JIT compiler is doing (and why)
     
  • 2014 Duke's Choice Awards
     
  • The Maker Movement
     
  • IOT Developer Challenge Winners
     
  • Fun and Games with Greenfoot and Kinect Create a game that is controlled by the movement of the players' bodies
     
  • Build mobile apps with Oracle Mobile Application Framework - a Java-based hybrid mobile platform
     
  • Location-Based Software using JavaFX - discover the benefits of using JavaFX for visualization software.
     
  • Get Your Java Applications Enterprise - Ready with Oracle WebLogic Server - Make your applications more robust, secure, highly available, and scalable.
     
  • Getting Started with Home Automation - Leverage openHAB and the huge Java ecosystem to create a truly smart home.
     
  • Streams code challenge 

Download it from here
http://www.oracle.com/technetwork/java/javamagazine/index.html

Tuesday 16 September 2014

Privacy Policy

http://africancoders.blogspot.com/ Privacy Policy
This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.

What personal information do we collect from the people that visit our blog, website or app?

When ordering or registering on our site, as appropriate, you may be asked to enter your Email address or other details to help you with your experience.

When do we collect information?

We collect information from you when you register on our site or enter information on our site.


How do we use your information?

We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
      To personalize user's experience and to allow us to deliver the type of content and product offerings in which you are most interested.

How do we protect visitor information?

We do not use vulnerability scanning and/or scanning to PCI standards.
Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.

We implement a variety of security measures enters, submits, or accesses their information
All transactions are processed through a gateway provider and are not stored or processed on our servers.

Do we use 'cookies'?

We do not use cookies for tracking purposes

You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser (like Internet Explorer) settings. Each browser is a little different, so look at your browser's Help menu to learn the correct way to modify your cookies.

If you disable cookies off, some features will be disabled that make your site experience more efficient and some of our services will not function properly.

However, you can still place orders .


Third Party Disclosure

No, we do not sell, trade, or otherwise transfer to outside parties your personally identifiable information unless we provide you with advance notice. This does not include website hosting partners and other parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others' rights, property, or safety.

However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

Third party links

Occasionally, at our discretion, we may include or offer third party products or services on our website. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.

Google

Google's advertising requirements can be summed up by Google's Advertising Principles. They are put in place to provide a positive experience for users. https://support.google.com/adwordspolicy/answer/1316548?hl=en
We use Google AdSense Advertising on our website.

Google, as a third party vendor, uses cookies to serve ads on our site. Google's use of the DART cookie enables it to serve ads to our users based on their visit to our site and other sites on the Internet. Users may opt out of the use of the DART cookie by visiting the Google ad and content network privacy policy.

We have implemented the following:
      Remarketing with Google AdSense

We along with third-party vendors, such as Google use first-party cookies (such as the Google Analytics cookies) and third-party cookies (such as the DoubleClick cookie) or other third-party identifiers together to compile data regarding user interactions with ad impressions, and other ad service functions as they relate to our website.

Opting out:
Users can set preferences for how Google advertises to you using the Google Ad Settings page. Alternatively, you can opt out by visiting the Network Advertising initiative opt out page or permanently using the Google Analytics Opt Out Browser add on.

California Online Privacy Protection Act

CalOPPA is the first state law in the nation to require commercial websites and online services to post a privacy policy. The law's reach stretches well beyond California to require a person or company in the United States (and conceivably the world) that operates websites collecting personally identifiable information from California consumers to post a conspicuous privacy policy on its website stating exactly the information being collected and those individuals with whom it is being shared, and to comply with this policy. - See more at: http://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf

According to CalOPPA we agree to the following:
Users can visit our site anonymously
Once this privacy policy is created, we will add a link to it on our home page, or as a minimum on the first significant page after entering our website.
Our Privacy Policy link includes the word 'Privacy', and can be easily be found on the page specified above.

Users will be notified of any privacy policy changes:
      Via Email
Users are able to change their personal information:
      By emailing us

How does our site handle do not track signals?
We honor do not track signals and do not track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.

Does our site allow third party behavioral tracking?
It's also important to note that we allow third party behavioral tracking

COPPA (Children Online Privacy Protection Act)

When it comes to the collection of personal information from children under 13, the Children̢۪s Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, the nation̢۪s consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children̢۪s privacy and safety online.
We do not specifically market to children under 13.

Fair Information Practices

The Fair Information Practices Principles form the backbone of privacy law in the United States and the concepts they include have played a significant role in the development of data protection laws around the globe. Understanding the Fair Information Practice Principles and how they should be implemented is critical to comply with the various privacy laws that protect personal information.
In order to be in line with Fair Information Practices we will take the following responsive action, should a data breach occur:
We will notify the users via email
      Within 7 business days
We will notify the users via in site notification
      Within 7 business days

We also agree to the individual redress principle, which requires that individuals have a right to pursue legally enforceable rights against data collectors and processors who fail to adhere to the law. This principle requires not only that individuals have enforceable rights against data users, but also that individuals have recourse to courts or a government agency to investigate and/or prosecute non-compliance by data processors.

Contacting Us

If there are any questions regarding this privacy policy you may contact us using the information below.
http://africancoders.blogspot.com/
Nairobi
Kenya

Last Edited on 2014-09-16

Monday 21 July 2014

Advantages of Online Courses (With inforgraphic)

In SkilledUp’s “The Advantages of Online Courses [Infographic]”–crafted from findings of leading educational research–four observations stand out from the overt characteristics:

Speedier Learning - “Research shows that online students achieve same or better learning results in about half the time as those in traditional courses”

More Active, Engaged & Motivated - Learners thrive “when working with coursework that is challenging but within their capacity to master.”

Tangible Skill Building - with an “improved attitude toward learning”

Better Teaching Quality - Courses are taught by experts, with various multimedia and cutting-edge technology, and “are usually better organized than traditional courses”


Wednesday 16 July 2014

New course by Udacity on programming Android apps

A new course is being offered on Udacity that teaches the fundamentals of Android app programming. 


The topics covered include:
  • Android Studio, Gradle, and debugging tools
  • User Interface and Layout managers
  • ListViews and Adapters
  • Threading and ASyncTask
  • HTTP requests on web APIs
  • Android Permission System
  • App navigation with Explicit Intents
  • Implicit Intents to incorporate 3rd-party apps
  • Share Intent and the Android sharing framework
  • Broadcast Intents and Broadcast Receivers
  • Activity lifecycle and background activity termination
  • SQLite databases and JUnit tests
  • Creating and using a Content Provider as an abstraction layer
  • Using Loaders to asynchronously load data
  • Creating Adapters to bind UI components to Content Providers
  • Fundamental Android design principles
  • Supporting localization and variable screen sizes
  • Optimizing tablet UIs using Fragments
  • Accessibility Features
  • Custom views
  • Background services and alarms to schedule background tasks
  • Efficient background data transfers with SyncAdapters
  • Rich notifications to interact with users

You can start learning by visiting the link below.
 https://www.udacity.com/course/ud853




Summary of Google I/O 2014

Here is a quick summary of the major announcements that were made at Google I/O 2014. 
 
Quick Summaries of I/O:

Opinion pieces:

Java Magazine July/August 2014 released

The July/August 2014 issue of Java Magazine by Oracle has been released. Topics covered in this issue include: 

  1. Alternative Languages for the Java Virtual Machine
  2. Production time compiling with Oracle Java Mission Control
  3. Interactive Objects with BlueJ.
  4. Air traffic control system with Netbeans and Java by a Russian research institute.
  5. Understanding Java JIT Compilation with JITWatch.
  6. Server-Side Deployment on the JVM.
  7. JavaFX with Alternative Languages.
  8. Introduction to the Java Temporary Caching API. 
  9. and many more... 

You can download the free copy from the link below.
http://www.oraclejavamagazine-digital.com/javamagazine/july_august_2014#pg1

Friday 13 June 2014

Which programming language to learn first

So you want to learn programming. Which programming language do you start with? There are so many programming languages out there. Wikipedia lists about 650 of them here. From the well known ones such as Java, Python, C#,  and Javascript to less popular ones such as E, A+, and Onyx. With all these choices, it's hard to figure out where to start out.

Depending on who you ask, different people are going to give you different advice. Some will suggest that you should just go with the languages that are popular and most used. According to tiobe, the most popular programming languages as of June 2014 are C, Java, Objective-C, C++ and C#.

 
tiobe index for June 2014

Others may suggest that you learn an object-oriented programming language. These are languages which use a programming paradigm that represents the concept of "objects" that have data fields (attributes that describe the object) and associated procedures known as methods. Objects, which are usually instances of classes, are used to interact with one another to design applications. Examples include Java, C#, and Python. Some of the advantages given to OOP languages include:
  • Increased understanding.
  • Ease of maintenance.
  • Ease of evolution.
Other people may suggest you begin with functional programming languages. These are languages which treat computation as evaluation of mathematical functions and they avoid state and mutable data. Examples of FP languages include Haskell, Clean, and Idris. These are pure functional languages meaning that entities in the programming environment are never updated. The identifiers therefore refer to immutable and persistent values. Haskell seems to be the most popular in this category. There are impure functional languages too such as Java (since version 8), Scala, Python, Mathematica, Rust, and OCaml. An impure FP language is one which has all the features of a pure FP language however it also allows things like side effects, object construction and mutability in a controlled way. Some of the advantages of FP languages include:
  •  Encouraging safe ways of programming.
  •  Stateless programming.
  •  Encouraging quick prototyping.
  •  Programs are usually shorter. 
That being said, functional programming isn't used much for commercial applications. Reasons for this can be read in this stackoverflow thread http://stackoverflow.com/questions/2835801/why-hasnt-functional-programming-taken-over-yet?rq=1 

So back to our question. Which language should one learn first. I think the best language to learn is one which is able to do the task that one wants to do. For example, if you want to start by making websites, then choose a language that is used to make websites. If you want to make mobile apps, then choose one that can do so. If you want to do scientific computation, then same thing. Below I have outlined the most used languages that are for particular tasks.

  1. Android Development - Java
  2. Windows Phone Development - .NET
  3. iOS Development - Objective-C and Swift
  4. Front end Web Development - HTML, CSS and Javascript
  5. Back end Web Development - Python, Ruby, PHP, .NET, Go and Java
  6. Embedded Programming - C and C++
  7. Scientific Computing - Python, C and Fortran
  8. High end Game Development - C++
  9. Web Game Development - Flash, Javascript, HTML5
Of course, there are many other languages for different use cases. However, for the first language to learn, I think these are good to go. Happy coding!