Campus Bikes II
Here’s a medium (problem)[https://leetcode.com/problems/campus-bikes-ii/] which can be solved by using backtracking. Since the problem mentioned about minimizing the sum of distances for a possible combination of workers and bikes, we can use backtracking to go through all possible combinations of bikes and workers. We also keep track of the minimum sum and use that as the final answer. ......
Range Sum Query Immutable
An easy level question with an interesting solution. ......
Character Mapping
This isn’t a solution to a problem but this could be really handy when solving some problems on LC particularly when you need to create a histogram of characters in a particular string. For example, the word “leetcode” will have a histogram of: ......
Set Mismatch
To solve this problem, you need to know the arithmetic progression formula. ......
Invalid Transactions
Starting today, I will try to solve mostly medium level LC questions as I’ve solved about 75% of easy questions. This one seems to be quite easy as it only involves straightforward logic. ......
Word Pattern
The solution to this problem is very easy but I struggled a little bit because I was focusing more on finding a regex to represent the pattern. ......
1-Bit and 2-Bit Characters
The idea to solve this problem is to first, get the total number of bits then iterate through each bit and if the previous bit is 1, then deduct 2 from the total number of bits. If it’s a 0, then deduct only 1. In the end, if the total number of bits is equal to 1, then last character must be a 1-bit character. ......
Search in a Sorted Array of Unknown Size
Honestly, this should be an easy-level problem as it only involves binary search. ......
Binary Watch
As I’ve mentioned before, I really enjoy solving problems involving bit manipulation and this is one of the many problems that are fun to solve with. ......
Valid Word Square
This is a fun problem to solve and also relatively very easy. I was able to solve this with just one try. ......
Binary Tree Level Order Traversal II
The solution for this problem is the same as the other similarly named problem. Except at the end, we just have to reverse the list before returning it. ......
Minimum Depth of Binary Tree
Here’s another shot at a tree traversal problem. This solution uses Depth-First Traversal. ......
Valid Mountain Array
The idea for this problem is to first find the index of the peak. Peak is defined as A[i-1] < A[i] > A[i+1]. ......
Get Equal Substrings Within Budget
The approach for this problem is to use sliding window technique after getting an array of all the costs involved per character. ......
Reverse Bits
This problem does not support Kotlin yet so I have to do it in Java. ......
Minimum Index Sum of Two Lists
The solution for this problem is to loop through any of the list and each time a word exists in both lists, then get the sum of their indexes and use that as the key to store the word in a hashmap. Also, keep track of the lowest key of the map so that later on, you can use that to return the answer. ......
First Unique Character in a String
Most problems like this one can be solved by using the character count map. This approach is very effective as it can give you O(n) time complexity. ......
Majority Element
Writing code in Kotlin brings so much fun particularly when solving Leetcode problems such as this one. ......
Rotated Digits
For this problem, the idea is to swap each digit with their corresponding 180-degree values and use Integer.parseInt to verify if it’s still a valid number. If yes, check also if it’s not equal to the original number as this may also affect the validity of the number. ......
Occurrences After Bigram
Another easy one with a straightforward answer. ......
Merge Intervals
This is one of the commonly asked questions in LC as there were about 22 companies who’ve used this question in their interviews. ......
Minimum Absolute Difference
The idea to solve this problem is to sort the input array and then use a sliding window approach to find the minimum absolute difference between two consecutive elements. If we find a new low, then clear the result and add the current elements. Add more elements if the current diff is equal to the lowest diff so far. ......
How Many Apples Can You Put Into the Basket
Straightforward solution for this easy problem ......
Prime Palindrome
This is one tough medium problem and I had to look at the official solution to solve this. I can solve for smaller numbers but once it gets to 7+ digits then I always get the Time Limit Exceeded result. ......
Excel Sheet Column Number
One of the favorite problems in LC because the problem looks simple but the solution involves quite a bit of analysis. ......
Detect Capital
The easiest way to solve this problem is to count the number of uppercase character. We can easily do that by using map and Character.isUpperCase functions. ......
Meeting Rooms
I never expect that the solution for this problem would be this easy so here it goes. ......
Roman to Integer
I solved this using Java before so this is just a re-implementation in Kotlin language. ......
Two Sum IV - Input Is a BST
This is a fun problem as it really makes you think of how to improve your solution. There are multiple ways of solving this such as iterating through the tree and collecting all the values in a hash set. Then loop through the hash set and find if there are any entry equals to k - current element. ......
Contains-DuplicateII
This is a variation of the previous problem. Again, this is best solved using hashmap. ......
Contains-Duplicate
There are multiple ways to solve this problem. One could sort the arrays and check element by element if two consecutive items are equal. ......
Find the Difference
Just another easy problem. ......
Single Element in a Sorted Array
This medium problem can be solved easily by few lines of code with O(n) time complexity. ......
Game of Life
Here’s a medium problem of which I found out a weird behavior, probably a bug in LeetCode. ......
Shortest Completing Word
The idea to solve this problem is to first create a histogram of characters for the license plate. Then, for each word, and for each character of the word, check if it exists in our histogram and if it is, then reduce the count. If the total sum of the histogram is zero then that means the word completes our license plate and is a candidate for the answer.......
Max Consecutive Ones
I’m starting to enjoy binary related problems particularly bit manipulation. But this time, it’s just plain loop that monitors max count of consecutive ones. Easy peasy. ......
Design HashSet
Another simple problem with simple solution :) ......
Verifying an Alien Dictionary
My answer to this problem is very verbose and I didn’t like it but it works so ¯_(ツ)_/¯. ......
Partition Array Into Three Parts With Equal Sum
Easy problem with easy solution. ......
Number of Days in a Month
This is rather easier if you can have access to a calendar to check if a certain year is a leap year, otherwise, you need to memorize this criteria to check if a year is a leap year: ......
Distance Between Bus Stops
Ok, I cheated on this one by looking at other people’s solution. I initially tried hard to compute the clockwise and counterclockwise sum without realizing that I can actually just compute the clockwise and subtract it from the total sum. Duh! But I reimplemented the idea using Kotlin’s way so give me credit even just for a bit :D ......
Reverse Linked List
This could be one of the most commonly asked questions in LC. This question has been asked in interviews for the following companies: Amazon, Microsoft, Google, Mathworks, Apple, Oracle, Uber etc. ......
Index Pairs of a String
I’ve used Brute-force to solve this problem. Other people used Trie to solve but I’m not yet familiar with it. ......
Binary Number With Alternating Bits
I’m starting to get comfortable with bit manipulation and here’s another problem that I’ve solved in just a few amount of time. ......
Goat Latin
Easy problem with a short solution. ......
Complement of Base 10 Integer
This is an interesting easy problem. ......
Flip-Game
This is another easy LC problem with easy solution. ......
Invert Binary Tree
I initially tried to solve this iteratively but I couldn’t figure out the solution. Recursive approach seems to be the best and easiest way. ......
Average of Levels in Binary Tree
Another problem that can be solved easily using recursion and with the help of Kotlin’s operator, everything becomes easy-peasy. ......
Binary Gap
This is a bit manipulation problem and the solution, although a bit verbose is really efficient beating 100% of all submission for Kotlin. ......
Sum of Root to Leaf Binary Numbers
I solved this problem initially using Java but here’s a similar implementation using Kotlin. ......
Fizz Buzz
Another elegant solution for easy LC problem. ......
Prime Number of Set Bits in Binary Representation
This solution for easy LC problem is very concise the easy to understand don’t you think? ......
Next Greater Element I
Another easy to understand solution for an easy-level LC problem. ......
Palindrome Permutation
I cheated on this easy problem a little bit by looking at the suggested hints. ......
Uncommon Words From Two Sentences
I really don’t like my solution for this one but it’s enough for now. Maybe one way to optimize this is not to use the map and filter operators and just use pure for-loops. ......
Single Number
This is an easy but very tricky problem specially if you aren’t too familiar with logical operations. ......
Baseball Game
Another problem with a very straighforward answer. ......
Island-Perimeter
This is definitely an easy one because all you have to do is to that if a block is filled up, check the four conditions: ......
Binary Tree Right Side View
Here’s one of my favorite questions in LC. I like this because it looks complicated as it may seem but the approach to the solution is very simple. ......
Valid Palindrome
Another easy problem and probably one of the most commonly asked questions in interviews. ......
Last Stone Weight
Is there any other way to solve this without using PriorityQueue? One could use a list and sort it always everytime a new non-zero value is created from smashing the rocks together but that won’t be that much different than using PriorityQueue which sorts the elements in every offer ......
Toeplitz Matrix
Not the cleanest solution but so far this is the only solution I can think of for this easy LC problem. ......
Sum of Even Numbers After Queries
My first solution to this easy problem passed but only faster than 6% of submissions which means we still have some room for improvements. ......
Compare Strings by Frequency of the Smallest Character
This easy problem looks intimidating at first because the description looks complicated but when you analyze it further, the solution is actually straightforward. ......
Number Complement
Here’s another easy problem which can be solved by applying logical operators. ......
Keyboard Row
This is another one of those problems that I was able to solve in less than 5 minutes. ......
Power of Two
Another beautiful solution to an easy LC problem. ......
Find Words That Can Be Formed by Characters
For this easy LC problem, the solution is to first, create a map of all the characters in chars and their corresponding count or occurences. We will use occurences later on to count the available characters that can still be used. ......
Happy Number
This easy problem looks simple at first but it gets very tricky specially when finding out if your loop already started in an endless loop. I did try a couple of ideas without using a list to keep track of previous sums but all didn’t work. Eventually I ended up using a mutableList to maintain a list of previous sums so I can look up and see if the new sum has been solved before. If it is, then it means we entered into an endless loop already. ......
Jewels and Stones
This probably is one the shortest solutions I’ve ever written to a problem in LC. ......
Reverse Integer
Another super easy problem using math operations. The problem asks us to reverse the digits of an integer. For example, 123 should return 321. You should also maintain the original sign of the number whether it’s positive or negative. This problem took me about 3 minutes to solve. ......
Best Time to Buy and Sell Stock
This easy LC problem is just a reword or a variation of a problem that finds a pair with the maximum difference. This can be solved in O(n) because we can calculate the mininum number and maximum difference at the same time as we go through each of the array elements. ......
Subsets
The idea to the solution for this medium LC problem is to use bit manipulation to iterate through all possible combination of bits and use this bits to generate the list of subsets. For example, a given array is [1,2,3], you could represent a subset of {1,2,3} as 111, {1,2} as 110, {1} as 100 and so on and so forth. ......
Maximum Subarray
Another easy LC problem. Most solutions will probably have O(n^2) or worst but here’s an another solution which has an O(n) time complexity. ......
Two Sum
This is one of the easiest problem on LC as this has the highest acceptance rate as of now. ......
Maximum Binary Tree
We can solve this medium LC problem by recursively finding the index of the highest value (let’s call it as maxIndex) then splitting the array into two subarrays starting from 0 to maxIndex - 1 and maxIndex + 1 to array’s size - 1. We construct the tree everytime we encounter the max value. ......
Binary Search Tree to Greater Sum Tree
The solution to this medium LC problem involves traversing the tree using inorder traversal. In-order traversal means the left node gets the priority, followed by the root node then right node. ......
Transpose Matrix
Another short solution for this easy LC problem. ......
Single-Row Keyboard
I solved this easy LC problem in less than 5 minutes. Solution is very easy and straightforward. I provided two solutions: One that uses the map operator and another using the good ‘ole for loop. ......
K Closest Points to Origin
To solve this medium LC problem, you must first define a function to calculate the Euclidian distance of two points. In this case, we have to find the distance between a point and the origin (0, 0). ......
Number of Lines to Write String
The solution to this easy LC problem is quite simple and I think the code is also self-explanatory so I won’t say that much about this solution. ......
Remove All Adjacent Duplicates in String
Not the fastest solution for this easy LC problem but it’s readable and easy to understand so I’m fine with this. ......
Shortest Distance to a Character
Here’s another tricky easy LC problem. ......
Matrix Cells in Distance Order
To solve this easy LC problem, my initial idea was to use a TreeMap<Int, Pair<Int, Int>> to store the distance and its corresponding coordinate. TreeMap automatically sorts the keys during insertion so that will save us some time instead of sorting the keys ourselves. ......
Leaf Similar Trees
This problem can be easily solved using recursive way. ......
First Bad Version
This easy LC problem was asked in one of my past interviews (Facebook) which I think I didn’t really answered very well. ......
Maximum Depth of Binary Tree
Another tree traversal easy LC problem. ......
Smallest Range I
Here’s another short answer for an easy LC problem. ......
Reverse Words in a String III
I solved this easy LC problem in less than 10 seconds :D ......
Middle of the Linked List
My first solution for this easy LC problem involves traversing the whole linked list to find the total length. Then calculate the mid point and then use this to traverse the linked list again starting from root until mid point. ......
Increasing Order Search Tree
Tree traversal problems are very common in LC and this easy-level LC problem looks difficult at first but once you find out the pattern, implementing the solution in recursive way is very easy. ......
Available Captures for Rook
I tried to simplify the solution for this easy LC problem but I guess this could’ve been the simplest I can get to. Not a beautiful code but this’ll do for now. ......
Projection Area of 3D Shapes
At first, the problem looks very difficult as it involves multi-dimensional array and projections but the graph in the example really gives out the clue about how to solve this problem. ......
Maximum Depth of N-Ary Tree
Easy LC problem again but this time the problem doesn’t support Kotlin yet so my solution will be in Java. ......
Sort Array By Parity II
Here’s another easy-level LC problem. My initial solution uses two pointers: One to keep track of the index of the next even number and another for odd number. ......
Merge K-Sorted Lists
This is a Hard-level Leetcode problem although the solution looks very trivial to me. ......
Squares of Sorted Array
I solved this problem in like, maybe 5 seconds haha. ......
Total Hamming Distance
My initial solution to this medium leetcode problem uses Kernighan’s way to calculate the number of 1’s in a binary: ......
Height Checker
I really liked the solution to this problem as the code is extremely short. Thanks to Kotlin’s built-in operators. ......
Defanging an IP Address
Just take a look at how easy it is to solve this Easy-level Leetcode question using Kotlin: ......
Candy Dispenser
Candy Dispenser At Google I/O 2017, people who completed the IoT Codelabs were given an awesome reward: A Pico Maker Kit for Android Things. It’s basically another hardware development platform just like Raspberry Pi and Intel Edison. ......
Hello Android Things
Flashing Intel Edison with Android Things Beta In May 2015, Google announced Brillo and Weave. It’s a combination of a modified Android OS that’s specifically designed for embedded devices (Brillo) and an online platform (Weave) for managing your Brillo devices. It looks promising but the only thing that I didn’t like at that time was that, you need to write in C++ to be able to create your apps in Brillo. I know a bit of C++ but not really fluent. ......
Me
I’m a software engineer who enjoys building software for mobile devices. Here are my social network links in case you thought it would be nice to connect with me. LinkedIn Twitter Github ......
Moving to Silicon Valley
Mountain View Whoah, it’s been a while since I last blogged and all I can say is, now that I’m starting a new life in California, I think I will try to push myself to post more personal stories and technical articles. ......
GDG GeorgeTown Devfest Slides
Here are the slides for the Android Wear presentation that I presented in GDG GeorgeTown’s first ever Devfest + Gdays last November 15, 2014. ......
Reading Heart Rate Data from Samsung Gear Live
Here’s a quick tutorial on how to get data from the heart rate sensor in your Samsung Gear Live watch. ......
SAP Inside Track Singapore 2014
Here are the slides for my talk @ SAP Inside Track Singapore 2014 entitled: Rapid Prototyping with Grails on HANA Cloud Platform. ......
Instagram Network Analysis
Introduction Social networking has become one of the most important topics in recent times because of the several social networking sites that have now become part of our day-to-day living. There’s a huge amount of information that we can gather from analyzing these social network. ......
GDG Kota Kinabalu Devfest Talk
I just want to share the slides that I’ve used during my talk in GDG Kota Kinabalu Devfest last November 16, 2013. My talk is all about Arduino and Android. In the presentation, I briefly discussed the overview of Arduino and presented simple demonstrations of using Google ADK. ......
Visualizing CrazyFlie Flight Data
In this post, we are going to explore one of the smallest quadcopters that are available in the market: CrazyFlie and how we can use node.js, d3.js, socket.io and html5 to visualize the flight data. CrazyFlie is a nano quadcopter from Bitcraze, a swedish company, whose goal is to provide an open-source hardware design and firmware for developing small quadcopters. ......
WallpaperManager and OutOfMemory
While working on an app that sets the wallpaper in Android, I’ve encountered this weird issue with the WallpaperManager API. Initially I thought this will be a very easy and straighforward task because the WallpaperManager API looks simple. You just have to get an instance and call setStream() or setBitmap() depending on the type of your source. ......
Social Network Analysis and Online Courses
Facebook Graph So it’s my first week in the Social Network Analysis and my 4th week in Programming in Scala by Martin Odersky which are both available as online courses in coursera. I’ve tried enrolling to several online courses before but I never finish a single one because of several factors: being so lazy to work on assignments, day job, personal projects. So hopefully, I can finish at least one of them :) ......
The DigiX Development Board
It’s my first time to back a Kickstarter project and it felt really good to be part of a community that helps small/budding companies launch their products. I’ve seen so many awesome Kickstarter projects before but it always felt like they are too expensive for me or I don’t have any use for them. ......
New Blog Title, new UI and Investments
Changes I’ve decided to change the blog title to something more ‘generic’ because I’m thinking of shifting the type of my posts to a mix of technical stuff and lighter topics such as personal stories and other non-technical stuff. I’ve also changed the color theme so something ‘light’ just to give it a new look. ......
Leap Motion and Android: A Match Made In Heaven
Leap Motion is cool and so is Android so in this post, I’ll explain how to put them together to control a very simple fighter plane in 3D space. The example 3D application was taken from Rajawali’s example and you can take a look at its source code here. ......
Fix the missing R.java on ADT 22
If you’ve recently upgraded your ADT to version 22, most likely you’ll encounter a problem where in R.java and other stuff in gen folder are not being generated at all. I’ve wasted few hours of my life and torn few strands of my hair trying to resolve this by re-installing eclipse multiple times thinking that the problem could be a corrupted Eclipse installation but the solution is simple yet not obvious: Install Android SDK Build Tools (New item in SDK Manager)......
Connecting Android to Arduino using Bluetooth
Background There are multiple ways of how you can connect an Android device to an Arduino board. You can use wifi module, a usb cable or a bluetooth module. In this post, we will try to explore the connection between the two devices using bluetooth. ......
Geocoding and Accessing Google Doc using Python Script
Churches In the Philippines I have a list of around 1000+ churches that contains the name of the church, simple address, the residing priest and some contains mass schedules. I thought it will be nice if we can get the latitude and longitude based on the given address. The way I do it before is to manually search the address in Google Maps and get the latitude/location by centering the marker and executing the javascript below:......
Heart Rate Monitor using Android and Arduino
Last week I decided to buy some stuff from local reseller of Arduino. I bought a Kyto Heart Sensor that transmits heart pulses to a receiver via radio frequency. The RF receiver can then be interfaced to an arduino and then pass the results to an Android device for visualization. ......
Fixing the ADK Library to work with Arduino 1.0
If you’ll try to create a sketch using the Android ADK library on the latest version of Arduino (1.0 as of this writing), you will get several errors just like this: Damn it I accidentally deleted the images! This is because they renamed some header files and also changed the signature of some commonly used functions.......
How to use a Tricolor LED and a Mini Buzzer
So I've made a little not-so-challenging game that uses a tricolor LED, mini buzzer, arduino and of course our Android device. The mechanics of the game is that you need to choose a color, red, green or blue from the Android app and then the accessory (arduino) will randomly pick a color after pressing the switch. If the color you've chosen matches the color that the accessory generated then you win the game. ......
Controlling a Micro-Servo
In this post, I'll show you how to use a micro-servo in Arduino and be controlled from an Android application. Let's start by describing what a servo is. ......
Sensing Light Variations using LDR
Today, I’m going to show how easy it is to read data from an accessory to your android device. In this example, we are going to use a special kind of resistor whose resistance is dependent on the amount of light falling on its surface. It is called Light-Dependent-Resistor or LDR or also known as Photocell. ......
Getting Started with Android and Arduino
Writing applications on Android is cool but writing applications on Android that can talk to the physical world is totally awesome. I recently bought a Seeduino ADK Board, which is actually a clone of an Arduino board that has support for the Android Accessory Development Kit. You can find more information about Seeduino here.......
Pixel Playground using Renderscript Compute API
Today I’ll show how you can take advantage of the renderscript compute API to manipulate pixels in an image. Previously, I’m doing all my pixel manipulations using OpenCV ports for android (here and the official one), NDK and JNI since there are no direct API that you can use to call OpenCV functions from the Java layer. It is a painful process because you need to write in C for all the pixel manipulations and then call the C functions in Java via JNI. ......
ListView Row Highlight
Basically the idea behind this post is to show unobtrusive way of informing the user that something has changed in the data. When using ListView in Android and the backing data has changed, most of the time, I just call notifyDatasetChanged() and voila, ListView will automatically refresh the UI for me. But I noticed that this isn’t particularly good for the user as most of the time he has no idea that something has changed. ......
Sharing Apps on Android via Bluetooth
There are times when you just want to share a particular application on your phone to a friend and as developer, I encountered this problem several times when I want to let my friend try out an application on his/her phone. ......
Phone Phreaking/Hacking
PABX I suddenly missed all the phone phreaking/hacking I’ve done back in 1999. It all started when someone introduced me to this group of teens calling themselves as “Liners”, most of the them are from Marikina and Pasig area. Basically these “liners” originated from cross-line party, a “bug” in the analog PSTN where multiple people can hear everyone simultaneously.......
Eircom SSID
Back in 2009, me and my team went to Dublin, Ireland to undergo 3 months of training for our client. Unfortunately, our apartments don’t have any internet which makes it really difficult specially for IT guys like us who are always connected to the Internet. ......
Converting Bitmap to Grayscale
I’m just going to share this simple snippet to convert your colored bitmap to grayscale. I’ve used this before because my application needs to communicate to a server which will just extract the image features using SURF. It doesn’t really need the color information so we decided that we can remove the color information so save up few kbps and eventually speed up the transfer. ......
Android Development using Maven
If you are working alone in creating an Android application, there seems to be no problem at all using your IDE and ADT plugin to automatically build everything for you but if there are other people working on several modules in a particular Android application, you will need a better way to build your application. ......
Alphabet for Android Developers
I just noticed that there are equivalent short URLs for Google’s android-related sites. I hope you’ll find this useful. ......
Custom SeekBar Preference
I just would like to share the code that I’ve posted in the Google Devs mailing list when someone asked about the SeekBar Preference. This allows you to popup a seekbar that you can use to adjust some properties like volume, difficulty and other things where a slider will be useful. ......
AppEngine Tricks
So I’m working on quite a few Google AppEngine apps and recently, I need to delete all the data in the datastore. I’ve searched around the interwebs and most of the solution is by using the remote api that uses python. But I don’t want to mess around with python so what I did is modify the request parameters from the Datastore viewer so that it displays 200 records at one time which then you can delete using the Delete button below.......
Life Stories for iPhone
I just started playing around with Objective-C for the Life Stories version in iOS 4.Then as usual, for newbies, I encountered a problem when displaying adView. Basically the problem is that when your view changed, like you hit the back button or change to another view, while your adview is still loading, the call to - (void)bannerViewDidLoadAd:(ADBannerView *)banner and - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error which ever is called will fail.......
Complete List of ADC 2 Top 200 entries
Arcade: 4 Player Reactor (ADC)Atmosphere: TrainerAtomic BlasterBazooka Rabbit Demo For ADCFRGGangWarsGraviturn 1.0Head To Head RacingJumpyBall 3DLight Racer 3D TrialMoto X MayhemPhotoShoot – The Duel (ADC)ProjectINF ADCRadiantRunes MMORPG – Alpha releaseSpace STG – Galactic WarsSpeed Forge 3DSpheremareStroids – ADC2Subzero Challenge Casual BlinkBlockx 3D Pro (ADC2)Comeks Microphone HeroDecadesFlick It!JelixKUMPALucid ADC2MazenessmPuzzleN. American Conquest (ADC)NintaiiPobsPocoroSeek ’n SpellSketch OnlineSudoku CameraTotemoUrbanGolf lightWhat the Doodle!......
Handy Poll made it into ADC 2 Top 200
Yesterday, while browsing through the android mailing list, I found out that Google has already released the result of the first round of Android Developer Challenge 2. Then I immediately checked my inbox for any email…….. argh, no new mail!!!!. Then I checked my Spam folder, and boom! There’s an email coming from ADC 2 Support saying that my app Handy Poll ADC2 made it into the Top 20 under the Productivity category.......
Certification
Yey, I just received my certification kit today.......
Trying out different ROMs
Despite several attempts of reinstalling / applying optimization patch to the Rosie ROM, it is still so slow and unusable so I decided to give the Rogers ROM a try. By the way Rogers ROM is the one included in the HTC Dream and HTC Magic phones that’s going to be released in Canada.......
FML Widget updates
I just released an update for the FML widget: Version 1.3 - new icon (yes, finally I was able to create a shiny button, whew!) - changed widget size to 2x2 - enhanced UI thanks to Jenny for the colors :) - widget now displays the whole FML - fixed other issues......
FML Widget
Today, I released my first widget for Android called FML Widget. It displays the latest entries from FMyLife and allows you to share it via SMS or email. You can also view other people’s comments on the FML entry. The widget updates every hour to minimize battery consumption. It is now available in the market so go and try it out.......
Cupcake on my Android phone
Hear ye! Just an hour ago Google and HTC released the Android 1.5 system image and Android 1.5r1 SDK for ADP phones and as a proud owner of an ADP phone, of course I immediately downloaded it and flashed my phone. It’s already past 3 AM and I’m still awake playing around with the new system image.......