22/02/2025
Binary Frameworks in Xcode In the context of Xcode (Apple’s IDE for macOS and iOS development), a binary framework typically refers to a precompiled, reusable package of code that includes compiled binary files (machine...
6 tags
22/02/2025
Static vs Binary Framework in Xcode Let’s dive into the key differences between static frameworks and dynamic frameworks in iOS, explore when to use each, and then tackle the curveball about performance trade offs. This...
6 tags
21/02/2025
SOLID Principles applied in Swift programming Let’s explore how to apply the SOLID principles of Object Oriented Programming (OOP) when designing a Swift SDK for an iOS app, specifically one for Oracle to manage customer...
3 tags
21/02/2025
End to end encryption Can you elaborate more on the end to end encryption of messages? For example: when device A sends "Good morning device B" to device B, how's that message encrypted, where does the encryption keys st...
2 tags
17/02/2025
Artificial Intelligence Operating System Introduction to AIOS An AIOS (Artificial Intelligence Operating System) is a conceptual operating system designed to facilitate the development, deployment, and management of appl...
2 tags
15/02/2025
Let's talk about Swift compiler. what is swift runtime? What compiler does swift uses? Can you draw a flow diagram of how a typical swift code like if (true) { print("hello, world!") } goes through various stages of comp...
5 tags
17/03/2020
The wikipedia definition of a software design pattern is A reusable solution to a commonly occuring problem in the context of software design. Gang of four book in 1994 formalised a number of design patterns. Here we are...
5 tags
12/03/2020
When someone says something is dynamic, it usually means things could change. Dynamic array, meaning the content of the array could change, or a dynamic system could mean a system that is robust and can adapt to differen...
5 tags
26/03/2019
Race condition happens when 2 or more threads access the shared data at the same time and change its value at the same time resulting in unexpected state. A simple example is the typical ATM withdraw problem. ATM withdra...
3 tags
26/03/2019
Deadlock is a situation when two or more threads are waiting on each other to be completed causing both to be locked and not able to continue. A practical example of a deadlock is ! Let's see an example in swift. here, t...
3 tags
19/03/2019
It's been a while I've updated my posts. Here are some new tips that makes coding with swift cool. @autoclosure @autoclosure attribute defines an argument that automatically gets wrapped in a closure. It's used to defer...
3 tags
04/12/2016
It's a common requirement to tweak different configurations of the app for debug purposes. The general way of doing it is using Settings.bundle where the Settings are located inside Setting of the iPhone. It has a few dr...
5 tags
20/11/2016
Property List is a convenient and flexible format for saving data. It was originally defined by apple, to use in iOS devices and later extended to various apps. Plist internally is actually an XML file and can easily be...
5 tags
25/01/2016
Since a complex number is comprised of a real and imaginary component, two complex numbers are equal if and only if their respective real and imaginary components are equal.
2 tags
24/01/2016
](https://travis ci.org/freesuraj/TLDR) ](http://twitter.com/iosCook) ][href2] TL;DR (iOS Version) [TL;DR][href1] is a open source project which maintains a list of man pages. This project is the iOS Client of that.
3 tags
24/01/2016
Swift protocol is very interesting yet very weird. Sometimes it behaves very strangely. {% highlight swift %} import Foundation protocol Command {} struct TLDRCommand: Command {} // Works func getOk() [Command] { return...
2 tags
24/01/2016
playground A command line application to quickly create and launch a Xcode playground. [![NPM version][npm image]][npm url] ! ](https://github.com/freesuraj/playground/blob/master/LICENSE.md) ](https://david dm.org/frees...
2 tags
01/01/2015
Hello and a happy new year to everybody. 2014 was a year of trial and errors for myself. We were finally able to incorporate LaoHan Pte Ltd officially in Singapore. we have been thinking about doing a lot of stuffs and n...
4 tags
20/08/2010
Inside shell, you can’t directly run a command like this java jar abc.jar to run the .jar file. shell doesn’t recognize the java command. you need to export the environmental variable PATH of JAVA, normally it’s done by...
3 tags
12/01/2010
First of all, let me tell you it’s a hell job if you don’t know which gcc or cpp package it needs for disksim 3.0 to run. By default, ubuntu comes with gcc and cpp of version 4.4 as of today. If you want to remove the cu...
3 tags