Upload and retrieve photos using Amazon iOS SDK and Swift – Part 2

In the first part of the simple iOS mobile app (toDoList) tutorial series, you covered the basics of setting environment, user interface/autolayout and AWS setting.

In this second and final part of the tutorial series, we’ll cover AWS integration.

We’ll start where we left off last tutorial, so open your project from last time, or go through the previous tutorial first. http://blog.revivalx.com/2015/09/30/upload-and-retrieve-photos-using-amazon-ios-sdk-and-swift-part-1/

Junior Full Stack Mobile App Developer (iOS/Android + PHP)

Responsibilities

As a developer, the most boring job you can get is to keep building things that bring little or no self improvement. Make no mistake about it, these jobs usually pay well which make it so hard to leave behind. If you are looking for a place where you get to level­up yourself every day in terms of technical skills and other soft skills, we have the right offer here.

We are currently looking for Junior Full Stack Mobile App Developer who are willing to sharpen their skills in either iOS (Objective-­C) or Android (Java) development.

As part of our development team, you will be:

  • In charged of developing new features and bug fixing either for our iOS or Android app.
  • Building Web API to support our mobile app.
  • Work closely with other development team members to establish workflows in order improve efficiency.

Requirements

  • Familiar with either iOS (Objective­C) or Android (Java) app development.
  • Comfortable with working on existing code base.
  • Independent and able to self­learn.

About Us

CLOSETStyles is a simple and fun way for women to buy and sell fashion out of their closets. We are a C2C Fashion Marketplace app supported by a Malaysia based Venture Company and enrolled into an Accelerator Program in Malaysia. The social platform helps women find their style mates and shop each others’ closets, cultivating a closet sharing culture across Asia. Visit our website at http://closetstyles.co

closetstyles.co

closetstyles.co

Android (GCM) Push Notification Tutorial – Part 1

In this tutorial, I will show you how to implement push notifications in your native app for android.

Download the required software packages.

  1. Download and install Android Studio and Android SDK.
  2. Android Studio + SDK – http://developer.android.com/sdk/index.html.

Setting up your development environment

Open your Android Studio and choose Start a new Android Studio project.

Start a new Android Studio project

Start a new Android Studio project

Enter your custom Application name, Company Domain and select Project location. Click Next.

Configure your new project.

Configure your new project.

Select Phone and Tablet. Make sure API 15 selected. Click Next.

Configure your new project.

Configure your new project.

Select Blank Activity and click Next.

Add an activity to Mobile.

Add an activity to Mobile.

Click Finish.

Customize the activity.

Customize the activity.

Now we need to get project id from google cloud. Go to  https://console.developers.google.com and create a new project. Click Create Project button and a popup will appear. Enter your project name and click Create. Mine is Native Push.

google cloud create project

google cloud create project

Then you will be direct to this page. Copy out your project number on the top. Click Enable API. Enable Google Cloud Messaging for Android. Click Credentials under APIs and auth on left sidebar.

google developer console API

google developer console API

 

Google Cloud Messaging for Android

Google Cloud Messaging for Android

Go to Credentials page. It’s under APIs & authCredentials.

APIs Credentials

APIs Credentials

Choose Server key.

APIs Credentials - server key

APIs Credentials – server key

Enter your custom Name and click Create.

APIs Credentials - Create server API key

APIs Credentials – Create server API key

Below is API key details for your project. Copy your API key.

APIs Credentials - API keys

APIs Credentials – API keys

Continue…

Replacement Algorithms

Before we discuss more deeper about the replacement algorithm, we need to understand what and how cache memory works. Cache memory is a component used by CPU (central processing unit) to reduce average time access main memory.  Data that frequently used will be store inside cache memory obtain from main memory. The cache memory is faster and smaller.

storage cache memory

storage cache memory

If the CPU want to read or write data from memory, it will check it first is it exist or not. If yes, CPU directly read or write from cache memory because it’s more faster rather than access to main memory. The block that contain data inside cache memory will be replace the block of data from main memory using replacement algorithm technique if all the blocks already been fill up in cache memory.

There are a lot of cache levels that can rely only one single replacement algorithm. There are two types of page, HOT (active) page and COLD (passive) page. The blocks will be distributed into HOT pages and store in cache memory meanwhile COLD pages will be store in main memory (sometimes can be in cache memory).

Current processors technology are able to support from L1,L2 until L3. L4 will be in future because limitation in terms of hardware size and cost. L1 stores HOT pages compare to L2 stores both HOT and COLD pages. L1 used LRU (Less Recently Used), FIFO (First In First Out) and LFU (Less Frequently Used).

 

IBM has open contract positions for Bluemix

IBM has open contract positions for Bluemix in all of ASEAN (SG, MY, TH, ID, PH) for fresh graduates.

IBM Bluemix

IBM Bluemix

Candidate should fit 2-3 of the minimum requirements:
1. Minimum of 2 years in Web Application Development using NodeJS, Java or Go
2. Minimum of 2 years in Android or iOS application development
3. Familiar with Web stack – HTML, CSS and JavaScript.
4. Familiar with MongoDB or other NoSQL (Document-based)
5. Familiar with Relational Database
6. Familiar with Web Services (REST or SOAP) and OOP concept
7. Familiar with cloud environment (IaaS or PaaS)
Bonus points for:
1. Experience or knowledge in data analytics – especially social media analytics
2. Experience in web development framework – Angular JS, jQuery, Bootstrap
3. Skill in other programming language (Ruby, Python, Scala, C#, etc)
4. Conceptual knowledge in MVC or microservices
5. Past experience in using PaaS
6. Experience in IoT related development (Raspberry Pi, Arduino, etc)
7. Degree in Computer Science / Computer Engineer / AI
8. Experience in DevOps – i.e. Continuous Integration, Continuous Deployment is a plus
9. Experience or knowledge in Docker container technology.

To those interested, can send your resume to st.wissel@sg.ibm.com.