Maximum Heap Available to Dalvik in Different Android Devices

Although physical memory of Android devices are reached to 3GB nowadays, only a limited portion of this memory is available to an application. Amount of this memory may change with different version of the Android even for the same device model.

You can access row data from here

 

Device Model Heap Available To Dalvik Virtual Machine
HUAWEI P6-U06 268
HTC One 201
LG Nexus 4 201
Sony C6603 201
Sony C6903 201
Samsung GT-I9100 134 67 50
Samsung GT-I9500 134 100
Samsung GT-I9505 134
Samsung GT-N7000 134 67
LGE LG-F240K 134
Samsung SM-N9005 134
LGE LG-F200K 134
Samsung SM-N900 134
Samsung GT-I9100G 134 67 50
GENERAL_MOBILE Discovery 134
Samsung SCH-I545 134
Samsung SM-N9000Q 134
HUAWEI Y300-0100 134
Samsung SM-N900V 134
Samsung GT-I9295 134
Samsung SHW-M250K 134 50
Micromax A116 134 100
LGE LG-F240L 134
LGE LG-D802 134
Samsung SM-G900F 134
HUAWEI G525-U00 134
LGE LG-LS980 134
Prestigio PAP5044DUO 134
Samsung SM-N900S 134
Samsung SAMSUNG-SM-N900A 134
LGE LG-F180L 100
Samsung GT-I8190 100 67
Samsung SAMSUNG-SGH-I747 100 67
Samsung SGH-T999 100 67
Samsung SCH-I535 100 67
Samsung SGH-T999L 100 67
Samsung SPH-L710 100
ZTE N986 100
Alps S5E 100
JSR Andromax AD682J 100
Samsung SM-G7102 100
KYOCERA KYY21 100
HTC Desire 601 100
Symphony W82 100
TCT Orange_infinity_996 100
LGE LG-LG870 100
Samsung GT-I9300 67
Samsung GT-N7100 67
Samsung GT-S7562 67
Samsung GT-I9070 67
Samsung GT-S5830i 67
Samsung GT-N8000 67
Samsung SGH-I727 67
Samsung GT-I9195 67
Samsung GT-N5100 67
Samsung GT-I9200 67
Samsung GT-I8190N 67
Samsung GT-N7105 67
Samsung GT-S7560 67
Samsung GT-I9152 67
Samsung GT-I9001 67
Samsung GT-I9100T 67 50
Samsung SM-T310 67
Samsung GT-I8160 67
Samsung GT-I9305 67
Samsung GT-I8530 67
Samsung GT-N8005 67
HUAWEI U8815 67
Sony Ericsson LT28h 67
Samsung SHV-E210L 67
Samsung GT-I8150 67
Samsung SGH-T989 67
Samsung SC-06D 67
Samsung GT-I8190L 67
Alps Symphony Xplorer W71 67
Samsung GT-N5105 67
LGE LG-E455 67
Samsung SC-02B 67
Sony C1905 67
Motorola DROID RAZR 67
Samsung GT-S5830i 67
Samsung GT-S5360 67
Lge LG-MS770 67
TCT ALCATEL ONE TOUCH 6030A 67
Samsung GT-I9082 58
Samsung GT-I9105 58
Samsung GT-I9105P 58
Samsung GT-I8262 50
Samsung GT-I8552 50
Samsung GT-S7582 50
Samsung GT-S7272 50
Samsung SGH-T599N 50
Karbonn Titanium S5 50
Samsung GT-S7580 50
Samsung GT-S6810 50
LGE LG-P705 50
Sony Ericsson LT18i 50 33
Samsung GT-S5282 50
Alps Celkon A900 41
Sony Ericsson SK17i 33
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Share Text Photo

New version of our app Share Text Photo is published. We have add some animations using the build in animation features of IOS. It is really easy to add some eye candy to an app in IOS.

For the ones who don’t know what Share Text photo is, it is an application for writing a text with custom styles and sharing that text as a photo on social networks like Twitter, Instagram and Facebook. Since it is shared as text, you could write more than 140 characters on twitter. New features of 1.2 version are:

-New backgrounds
-Ability to change text location with pan
-History of previously shared text photos
-Shutter animation to post
-Page view (like iBooks) and delete animations to history
-Ability to select from your own photos or from camera

 

 

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Android Kargo Takip Uygulaması

Günümüzde bir çoğumuz Internet üzerinden alış veriş yapıyoruz. Özellikle yurt dışından yapılan alış verişlerde kargonun nerede olduğunu takip etmek zor oluyor. PTT’nin takip sayfası oldukca kullanışsız ve yurt dışından yapılan bir gönderinin PTT takip sayfasında çıkması biraz vakit alıyor. Bazı alış veriş siteleri de kargo takip numarasını mail ile göndermeyip kendi siteleri üzerinden hesabınıza girip kendi sağladıkları arayüz üzerinden bu bilgiyi veriyorlar. Ben de kargom nerede diye kontrol etmeyi kolaylaştıracak bir Android uygulaması geliştirdim. Bu uygulama Türkiye’de hizmet veren bütün kargo şirketlerini kapsadığı gibi, UPS, Fedex, DHL ve China Post (Çin’den gelen postalar/kargolar için) gibi uluslar arası gönderi yapan kargo şirketlerini destekliyor. Uygulamayı Android Market’den indirebilirsiniz, ismi “Kargo Takibi”.

Uygulama en son girdiğiniz takip numaralarını da saklıyor ve tekrar sorgulama yapmak için sadece listeden takip numarasını seçmeniz yeterli oluyor. Kargo şirketini kendisi tamamlıyor.

Uygulama siz takip numarasını yazdığınız zaman girdiğiniz formattan hangi kargo şirketine ait olduğunu çoğu zaman anlayabiliyor ve otomatik olarak şirket seçeneğini dolduruyor. Bu uygulamayı yaparken tabiki farklı kargo şirketlerinin farklı farklı takip numarası kullandıklarını farkettim ve bu formatları da sizler ile paylaşmak istedim. Uygulama dışında da işe yarar olduğunu düşünüyorum çünku takip bu numara fatura no vb. diğer bilgiler ile karıştırılabiliyor.

ARAS Kargo: Aras Kargo takip numarası 13 tane rakamdan oluşur. Örnek:4208993503499

China Post(Çin’den yapılan posta gönderileri için): China Post takip numarası R ile başlar ve CN ile biter. R’den sonra bir harf daha vardır ve 9 tane rakam içerir. Örnek:RA697576059CN

DHL: DHL takip numarası 10 tane rakamdan oluşur. Örnek:2217900993

Fedex: FEDEX takip numarası 12 tane rakamdan oluşur. Örnek:802416569979

MNG Kargo: MNG Kargo takip numarası iki adet harf ile başlar ve ardından genellikle 6 tane rakam gelir. Tamamen rakamlardan oluştuğu veya 2 harften sonra 4 rakam gelen takip numaraları da olabilir. Örnek:DB501983

PTT Kargo: PTT Kargo takip numarası genellikle 13 adet rakamdan oluşur. 2 adet harfin ardından 11 adet rakam gelecek şekilde de olabilir. Örnek:AP00869174550 veya 2789339611984

PTT Kargo Yurt Dışı: PTT Yurt Dışı takip numarası R ile başlar ardından 1 tane harf gelir ve bunu 9 adet rakam izler. İki adet harf ile biter. Bu harf gönderinin yapıldığı ülkeye göre değişir. Mesela Çin’den yapılan gönderilerin takip kodu CH ile biter. Örnek:RS915119275CH

Sürat Kargo: Sürat Kargo takip numarası 12 adet rakam ve harfden oluşur. Örnek:2aca211a3b5b

UPS Türkiye: UPS takip numarası H veya U ile başlar. Harf ve ramaklardan oluşur. Toplamda 16 karakter uzunluktadır. Örnek:U34B519G2533391

Yurtiçi Kargo: Yurtiçi Karg takip numarası 12 tane rakamdan oluşur. Örnek:608993503499

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)

Component Level Versioning and Bundle of Components in JIRA

Each project in JIRA has its own set of components and versions. Versions are defined at project level so any version is valid for any component of the project. For a very long time ability to use component specific version numbers within the JIRA is one of the most requested feature. There are various feature requests opened just for this feature, like JRA-3501. If your project contains components that have different version numbers you have two choices:

You may make your each component a different project

Advantage of this approach is you may have finer level of detail in managing the project. You may assign different issue schemas, workflows or assign different persons to different roles. Disadvantage is your project administration may become more complex. Also you have to define special filters to see all issues of higher level project.

You may use “Component and Bundle Versions for JIRA” plugin

This plugin allows you to assign different versions to different components within your JIRA project. This component specific version is enforced on every issue operation like create, edit, inline edit, workflow screens. Possibility of selecting incorrect component and version pair for an issue is greatly reduced. This plugin also allows you to group different version of different components into a bundle. Bundles has different versions than components. In any issue screen if no component is selected, plug-in only allows versions that are assigned to a bundle. You can also filter issues using two new JQL functions; affectsBundle and fixedInBundle. affectsBundle function takes a list of bundle names and returns all issues that are affecting the components in the bundle or directly entered for bundle without specifying any component. fixedInBundle JQL function works similar to affectsBundle but works for “fix version” field.
You may have more detailed explanation of plug-in at its home page and help pages. You can also visit the plug-in’s page at Atlassian Marketplace.

Use following links to take advantage of a limited time promotions:

Component and Bundle Versions for JIRA

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)

CMMI, Scrum, Kanban

I have just checked trend of 3 popular process. As you can see, CMMI goes down for a long time. The interesting part is CMMI is very popular in India, China, Pakistan, Taiwan then it is in the other parts of the world. On the other hand scrum is more popular in Europe.

Google Trends for Scrum, Kanban, CMMI

Google Trends for Scrum, Kanban, CMMI

Popularity of CMMI by Country

Popularity of CMMI by Country

Popularity of Scrum by Country

Popularity of Scrum by Country

VN:F [1.9.22_1171]
Rating: 8.7/10 (3 votes cast)

Minecraft 1.6.2′ye Nasıl Mod Yüklenir

Oğlum Ata uzun bir süredir Minecraft oynuyordu ve çok seviyordu, önce Ipad verisyonunu aldık, daha sonra desktop versiyonunu. Bu yaz tatilinde ben de onun ile beraber oynadım ve oyun tek kelimeyle mükemmel. Ata’nın söylediği gibi, “güzel grafik sevenler için değil, ama oyun çok zevkli”. Şimdi tatilde olduğu ve mod yüklemek istediği için ben de onun için adım adım Minecraft Modu nasıl yüklenir  anlatmak istedim ve yazmışken de diğer çocuklarada faydası olur diye buradan paylaşmak istedim. Bu oyunu genelde küçük çocuklar çok seviyor. Hatta 3 yaşındaki kızım bile biz oynarken çoğu zaman bize eşlik ediyor, kendine pembe ev istemeyi de ihmal etmiyor. Çocuklar bu oyunu çok sevdiği için yazdığım bu yazıyı buradan paylaşmak istedim.

Minecraft Mod Kurulumu

Öncelikle yüklemek istediğiniz modun kullandığınız Minecraft ile uyumlu olmasına dikkat etmeniz gerekiyor, aksi takdirde sorun yaşama olasılığınız yüksek. Bu bilgiyi genellikle modu indirdiğiniz web sayfasında verilir, verilmiyorsa çok bilinen bir mod yüklemiyorsunuz demektir ve bu durumda yüklemenizi tavsiye etmiyorum.

Örnek olarak sağ üst köşede küçük harita üzerinde bulunduğumuz yeri gösteren bir mod yükleyeceğiz. Bu modun adı Rei’s Minimap Mod. Bu modu http://www.9minecraft.net/reis-minimap-mod/ adresinden indirebilirsiniz. Küçük harita üzerinde hangi bilgilerin de görüneceğini ayarlayabiliyorsunuz, mesela düşmanların yerleri, en son öldüğünüz nokta gibi.

Winrar Kurulumu

Bu işlem sırasında Winrar programına ihtiyacımız olacağı icin Winrar uygulaması kurulu değilse aşağıdaki adımları takip ederek Winrar’ın kurulumunu yapmanız gerekiyor. http://www.rarlab.com/rar/wrar420tr.exe linkine tıklayıp Winrar’ı indermeye başlayabilirsiniz. Dosya indikten sonra üzerine çift tıklayıp kurulumu başlatıyoruz, ilk açılan ekranda “Yükle” seçeneğini, daha sonraki ekranda “Tamam” seçeneğini, en son olarak da “Tamam” seçeneğini seçerek kurulumu tamamlıyoruz. Bu indirdiğimiz Winrar’ın deneme sürümü olduğu için arada sırada sizi satın almanız için uyaracaktır. 

Mod Dosyasının İndirilmesi

Öncelikle http://www.9minecraft.net/reis-minimap-mod/ adresine gidip mod dosyasını indirmemiz gerekiyor. Sayfaya gitdiginizde biraz aşağılara doğru kayarsanız mod ile ilgili indirme linklerini bulacaksınız. Burada Minecraft versiyonunuz ile uygulu bölümü seçmeniz gerekiyor, örneğin benim Minecraft versiyonum 1.6.2 olduğu için ben “For 1.6.2” bölümünü kullanıyorum. Sşağıdaki ekran görüntüsünde olduğu gibi sarı renkli alandaki linklerin bir tanesine basın. Kırmızı ve büyük düğme sizi bir reklam sayfasına yönlendirecektir, ona basmayın.

Image

Buradaki linklerin birisine bastığınızda aşağıdaki gibi bir sayfa açılacaktır, burada büyük download düğmesine basarsanız dosyayı indirmeye başlayacaktır. Modun büyüklüğü ve internet hızınıza göre indirme süresi değişecektir.

Image

Minecraft Kurulum Dizininin Açılması ve Değiştirilmesi

Image (Windows + R ) tuşları ile aşağıdaki çalıştırma ekranını açın ve Open/Aç etiketli alana %appdata% yazıp Ok düğmesine basın. 

Image

Karşınıza içinde .minecraft dizininin de olduğu bir pencere açılacaktır. Bundan sonraki adımlar Minecraft versiyonunuzun 1.6 olup olmadığına göre değişiyor. Minecraft versiyonunuza göre aşağıdaki mavi veya yeşil kısımlardan bir tanesini seçip devam etmeniz gerekiyor.

1.6.0 ve Daha Yeni Minecraft’lar İçin

.Minecraft dizini altında “versions” her bir minecraft versiyonu için ayrı bir dizin bulunacaktır. Örneğin 1.6.2 Minecraft versiyonu icin 1.6.2 dizini bulunacaktır. Öncelikle bu dizinin bir kopyasıni oluşturmamız gerekiyor. Bunun için 1.6.2 dizinine sağ tuş ile tıklayıp “Copy/Kopyala” seçeneğini seçiyoruz, daha sonra boş bir alana sağ tuş ile tıklayıp “Past/Yapıştır” seçeneğini seçiyoruz. Bu işlemi doğru yaptığınızda aşağıdaki gibi aynı dizinin iki tane kopyası oluşacaktır. Eğer kurulum sonunda Minecraft’da sorun yaşarsanız bu yeni oluşturduğumuz dizini silip sadece 1.6.2 dizinini bırakırsanız Minecraft’ınız orjinal haline dönecektir.

Image

1.6.2 – Copy dizinine yine sağ tuş ile tıklayıp “Rename/Yeniden adlandır” seçeneğini seçiyoruz ve bu dizini 1.6.2MP olarak isimlendiriyoruz. Aslinda 1.6.2 den sonra herhangi bir ismi yazabilirsiniz ben MP eklemeye karar verdim. Neyi seçerseniz seçin bundan sonraki adımlarda da büyük küçük harfe dikkat ederek aynı eklentiyi kullanmanız gerekiyor. Unutmayın, büyük küçük harf ayrımı önemli. 


Daha sonra yeni oluşturduğumuz 1.6.2MP dizini içine giriyoruz. Burada 1.6.2.json ve 1.6.2.jar isimli iki adet dosya olacak, bunları 1.6.2MP.jar ve 1.6.2MP.json olarak yeniden adlandırıyoruz. Bunun için yine sağ tuş ile üzerine tıklayıp “Rename/Yeniden adlandır” seçeneğini seçiyoruz. Eğer sizin bilgisayarınızda .json ve .jar eklentileri görünmezse önemsemeyin ve işleme yukarıda anlatıldığı şekilde devam edin.

Image  ———>  Image


Notepad uygulamasını açıp (“Windows + R” Image ile açılan ekrana notepad yazıp enter a basarak açabilirsiniz) 1.6.2MP.json dosyasını sürükle bırak ile içine atıyoruz ve daha sonra bu dosyanın hemen başındaki 1.6.2 yi 1.6.2MP ile değiştirip kaydediyoruz ve notepad uygulamasını kapatıyoruz. 

Image


Image


Daha sonra 1.6.2MP.jar dosyasına sağ tuş ile tıklayıp “Open With/Birlikte aç” seçeneği altında olan Winrar ile aç seçeneğini seçiyoruz. Burada meta-inf dizini üzerine sağ tuş ile tıklayıp açılan menüden “Delete/Sil” seçeneğini seçiyoruz. Benzer şekilde internetten indirdiğimiz mod dosyasını da Winrar ile açmamız gerekiyor. Büyük olasılıkla chrome/interner explorer vb. Ile inderdiğiniz dosya Downloads dizini içinde olacaktır. “Windows + E” tuşu ile yeni bir dosya tarayıcısı/explorer penceresi açıp Downloads dizinine tıkayın ve bu dizindeki mod dosyasını (bizim mod dosyamız için ismi Rei-Minimap-Mod-1.6.2) yine üzerine sağ tuş ile tıklayıp Winrar ile aç diyerek Winrar ile açıyoruz. 

Ekranda iki Winrar klasörü yan yana açıp bir mod dosyası içindeki bütün dosyaları 1.6.2MP dosyasının içini gösteren Winrar penceresine sürükle bırak ile bırakın. 

Image



1.6’dan Daha Eski Minecraft’lar İçin

Öncelikli olarak kuracağımız modun sorun çıkarma ihtimaline karşı mevcut “.minecraft” dizinin bir yedeğini alacağız. .Minecraft dizinine sağ tuş ile tıklayıp açılan menüden Copyala/Copy seçeneğini seçiyoruz.

Image


Daha sonra aşağıdaki ekran görüntüsünde görüldüğü gibi New Folder/Yeni Klasör seçeneği ile yeni bir dizin oluşturup ismini “yedek” olarak değiştiriyoruz.

 

Image

Bu dizinin ismi tam olarak yedek olmak zorunda değil, sadece ne isim verdiğinizi hatırlayın yeter. Eğer Minecraft çalışmazsa .Minecraft dizinini silip bu yeni oluşturduğumuz dizini .Minecraft olarak tekrar isimlendirin düzelecektir. Bunun için sağ tuşla açılan menüyü kullanabilirsiniz. Eğer herşey normal giderse yeni oluşturduğumuz yedek dizinine ihtiyacımız olmayacaktır.

Image

Daha sonra .Minecraft dizinine gidip buradaki bin dizinine girip burada bulunan minecraft.jar dosyasını daha önce kurduğumuz Winrar uygulaması ile açıyoruz. Bunun için minecraft.jar dosyasına sağ tuş ile tıklayıp “Birlikte Aç/Open With” alt menüsünden “Winrar ile Aç” seçeneğini seçiyoruz. Bundan sonraki adımlar 1.6.2 için verilen kurulum ile neredeyse aynı, indirdiğimiz mod dosyasi içindeki bütün dosyaları minecraft.jar dosyası içine atıyoruz.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)

Gorgeus UI Timely Android Application

Timely Android application is actually a very basic application with alarms, timer, stop watch and clock functionality. There are a lot of mobile applications with these functionalities. What makes Timely special is its beautiful user interface and animations. It can not be explained you have to see it yourself. 

In addition to its amazing UI it has a very interesting promotion strategy. Every functionality of the application can either be purchased with money or using share point. You earn share points if any one installs Timely using your promotion code. For example removing adds either $1.07 or 5 share points.

You can install it from Play Store and get a theme free with code JAPK-YXRW-92Q5. This will also gain me share points :)

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

How to Align Images in Markdown

Most markdown processors support HTML content within a markdown document. Basically you could embed your markdown markup within a div which will centre its content. Following sample centers the image on the document.

<div style="text-align:center" markdown="1">

![Alt Text](/path/to/image "Caption")

</div>
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

caniuse.com

http://caniuse.com/ is a very handy web site for web developers. It shows browser support for every HTML/CSS/JavaScript feature. Information is very detailed and shows current support level and estimated support level in future version of browsers. Partial supports are also shown with color codes.

Screen Shot 2013 07 07 at 2 11 58 PM

VN:F [1.9.22_1171]
Rating: 6.0/10 (1 vote cast)

Introduction to MongoDB:Part 2

MongoDB Shell = Build-in MongoDB Client

MongoDB comes with a build in mongodb client called mongo. It is a JavaScript interpreter with build-in MongoDB client capabilities.

starscream-5:bin starscream$ ./mongo localhost:27017
MongoDB shell version: 2.4.4
connecting to: localhost:27017/test
Server has startup warnings:
Mon Jun 24 00:16:12.835 [initandlisten]
> db
test
> db.messagemodels.findOne()
{
    "to" : "Ata Oğuz",
    "subject" : "Furby",
    "body" : "Furby yi aldım oğluş.",
    "_id" : ObjectId("51d01bb444f791b21f000001"),
    "deliveryTime" : ISODate("2013-06-30T11:51:16.126Z"),
    "__v" : 0
}

db variable is set to current database. You can access collections in current database with “.” notation, as in the example above: db.messagemodels.

Creating New Documents and Saving Them

> mail = {to:"test@google.com", from : "Ada Oğuz", subject : "Furby", message : "Ben de pembe Furby istiyorum!!!", deliveryTime:new Date()}
{
    "to" : "test@google.com",
    "from" : "Ada Oğuz",
    "subject" : "Furby",
    "message" : "Ben de pembe Furby istiyorum!!!",
    "deliveryTime" : ISODate("2013-07-02T20:03:46.263Z")
}
> db.messagemodels.insert(mail)

Since this is a JavaScript environment we could create documents a JavaScript objects and assign them to variables as in the above example. After creating the object we could save it using insert method of collection.

Querying Existing Documents

> db.messagemodels.find({from:"Ada Oğuz"})
{ "_id" : ObjectId("51d33242cd860ef98403dc6d"), "to" : "test@google.com", "from" : "Ada Oğuz", "subject" : "Furby", "message" : "Ben de pembe Furby istiyorum!!!", "deliveryTime" : ISODate("2013-07-02T20:03:46.263Z") }
>

You could query existing documents by using find method on the collection. You could supply a simple query also as a document/JS Object. As you can see, an _id field is automatically created and saved with our document.

> use local
switched to db local

You can switch between different databases using use command.

Updating Documents

> newMail = {to:"test@google.com", from : "Ada Oğuz", subject : "Furby", message : "Ben de 1 pembe, 1 tane de mor  Furby istiyorum!!!", deliveryTime:new Date()}
{
    "to" : "test@google.com",
    "from" : "Ada Oğuz",
    "subject" : "Furby",
    "message" : "Ben de 1 pembe, 1 tane de mor  Furby istiyorum!!!",
    "deliveryTime" : ISODate("2013-07-02T21:07:50.743Z")
}
> db.messagemodels.find({from:"Ada Oğuz"});
{ "_id" : ObjectId("51d3417bcd860ef98403dc6e"), "to" : "test@google.com", "from" : "Ada Oğuz", "subject" : "Furby", "message" : "Ben de 1 pembe, 1 tane de mor  Furby istiyorum!!!", "deliveryTime" : ISODate("2013-07-02T21:07:50.743Z") }

To update an existing document, apply your changes to JS Object/document and give it to update function with a criteria that shows which documents should be updated.

Deleting Documents

> db.messagemodels.remove({from:"Ada Oğuz"})
> db.messagemodels.find({from:"Ada Oğuz"});
>

Removing documents is performed with remove method of the collection instance. As in the case of find and update you give it a criteria in the form of a document.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)