Saturday, 21 March 2015

Freedom v1.0.7 Apk : Unlimited In-App Purchases Hack on Android

















Freedom v1.0.7 Apk
Using this app, you will be able to purchase all Coins, Gems, Levels and Lives for free!! It contains an inbuilt free card, which can be used on Google Play!
How to use it?
  1. Download Freedom APK file given below
  2. Make sure that you have “Unknown sources” enabled in your security settings
  3. Install downloaded APK and launch it
  4. Allow superuser permissions request(root access)
  5. Tap on application in which you want to use free in-app purchase, wait a little. Application should start automatically
  6. Next, make your in-app purchase
Screenshots








































Note: REQUIRES ROOT ACCESS!
Downloads

Free Premium Link Generator ! No Login, No Ads




















Free Premium Link Generator
The simplified way of describing a premium link generator is that, it is a software system which regulates the easy and unrestricted downloading of files. It is especially extremely beneficial for those who have the habit of downloading files on a regular basis, and those who want to download files in a most hassle-free manner, without incurring any extra cost for surfing the internet. This is similar to a debrider tool, which helps the users to access the premium sites very easily. It can be used to share the files on net, and the payment can be made through online transfer..









Here are ‘Free’ Premium Link Generator site features:
  1. High Download Speed
  2. No Waiting Time
  3. No Download Limits
  4. Support For Download Resume
  5. Simple & Easy
Whats Really Amazing is its Support for 32 File Hosting Websites + >50 Ad Bypasser….
Here’s the list of Supported WebSites:
4Shared
Tusfiles
Depositefiles
FileFactory
Filepost
RapidGator
Netload
Ryushare
Oboom.com
MirrorCreator
2Shared
SoundCloud
GanoolMovie.com
Vodlocker
Youtube
Dailymotion
Metacafe
Solidfiles
Sharebeast
Uptobox
Uppit (click Generated link, ignore 403 Forbidden message then press “Enter” in the address bar of your browser within             existing URL)
Gett
Idup.in
Userfiles
Userscloud
Upfile
Elsfile
Zxcfiles
Acefiles
Aisfile
Sendspace
Clicknupload
Sharemods
Mp4upload
Shortlink (safelinkreview.com, adf.ly, adfoc.us, sh.st, mir.cr, cur.lv, linkshrink, srelink, p.pw, tinyurl, goo.gl, bitly, bit.do, ow.ly, tiny.cc, qrurl.cc, mylinkgen, dikit.in, tr.im, exashort, st.oploverz.net, st.azhie.net, st.wardhanime.net, +50 shortlink)
Downloads
If you are blocked by your country for accessing this Website than use any proxy server.

How To Get Gift Cards For Free [ Guide ]










How To Get Gift Cards For Free
Use AppBounty to hunt for cool new apps and we’ll reward you with free gift cards from Google Play, iTunes, Amazon, Xbox Live and more. Finally, we’re here for Android AppBounty hunters!
It is available for both, Android and IOS.
Remember that you can’t earn money just by doing nothing. You have to do some work in order to earn.
Features of AppBounty
  • You earn free stuff just for trying out free apps (like games and music from Google Play, iTunes and Amazon, Gems and Minecraft skins)
  • We offer international rewards (not just US)
Gift Cards Available
  1. Google Play Store gift cards
  2. iTunes gift cards
  3. Amazon gift cards
  4. Minecraft server subscriptions
  5. Xbox Live points
  6. PlayStation network cards
  7. Steam cards
  8. Many more coming soon…
How To Use AppBounty (Android)
  1. Download and Install AppBounty From the Links Given Below
  2. Open the app and enter your invite code (bttfktrk) to get +50 credits!
  3. Complete offers to Earn more credits.
  4. Enjoy Free Gift Cards 
How To Use AppBounty (IOS)
  1. Open The AppBounty Site Given Below in Safari Browser
  2. Enter invite code (bttfktrk ) and receive +50 Credits!
  3. Complete offers to Earn more credits.
  4. Enjoy Free Gift Cards 
Screenshots

































Note : Do Not Use Google Chrome To Open Offers
Downloads & Links

Wednesday, 11 March 2015

Building a List/Grid View Switcher in Blogger with Auto Read More

A list of posts in grid or list view provides a more defined canvas with which a blogger or website owner can use as a guide in creating content. This concept has extended to visitors, where they can have control on whether or not they wish to display posts in list or grid view. While custom modification codes are shared by some blogging sites, others are not. Some that are shared, however, can be complex even to bloggers themselves, such as JQuery.

The good news is there are lightweight codes available, including the Auto Read More in Blogger. Through it, a blogger can add two buttons that will enable visitors to switch between grid view and list view, depending on what they prefer. These buttons, however, are only visible on limited pages - homepage, label page and archive page. Nonetheless, it is better than not having this particular feature at all.

Unlike JQuery, the Auto Read More uses HTML, CSS and JavaScript. To view posts in a list view, two sets of CSS codes are added as one. Another set is added to view posts in grid view. Other combination of codes is used to enable easy switch between views, particularly at a click of a button.



How to Add a List/Grid View Switcher in Blogger

Step 1. Log into your Blogger dashboard and select your blog, then go to "Template" > press the "Edit HTML" button.

Step 2. Click anywhere inside the code area and press the CTRL + F keys to open the search box. Type this tag below inside the box and hit Enter to find it:
</head>
Step 3. Just above the </head> tag, copy and paste the following CSS style and scripts:
<script type='text/javascript'>
function list_view(){
if(document.getElementsByClassName(&quot;post&quot;)) {elementArray = document.getElementsByClassName(&quot;post&quot;); while (elementArray.length) {elementArray[0].className = &quot;post-grid-view&quot;;}}
if(document.getElementsByClassName(&quot;post-title&quot;)) {elementArray = document.getElementsByClassName(&quot;post-title&quot;); while (elementArray.length) {elementArray[0].className = &quot;post-title-grid&quot;;}}
}
function grid_view(){
if(document.getElementsByClassName(&quot;post-grid-view&quot;)) {elementArray = document.getElementsByClassName(&quot;post-grid-view&quot;); while (elementArray.length) {elementArray[0].className = &quot;post&quot;;}}
if(document.getElementsByClassName(&quot;post-title-grid&quot;)) {elementArray = document.getElementsByClassName(&quot;post-title-grid&quot;); while (elementArray.length) {elementArray[0].className = &quot;post-title&quot;;}}
}
</script>
 <script type='text/javascript'>
posts_no_thumb_sum = 100;
posts_thumb_sum = 350;
</script>

<script type='text/javascript'>
//<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID, pURL, pTITLE){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = posts_no_thumb_sum;
if(img.length>=1) {
imgtag = '<span class="posts-thumb" style="float:left; margin-right: 10px;"><a href="'+ pURL +'"><img src="'+img[0].src+'" /></a></span>';
summ = posts_thumb_sum;
}

else {
imgtag = '<span class="posts-thumb" style="float:left; margin-right: 10px;"><a href="'+ pURL +'" title="'+ pTITLE+'"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYsla0w2YsaTrkGof65SVirpHSIS7-J2M-ZqGWvwI7j44D3bX_5yyLbvrtGAs7M1qXtTTLav4PCWzLcSP1dGrbN4QcjOt2Tiw811-aURy8nBd8qHeIBihXfxEg720jps-5j4V3InvRJ9tN/s1600/sorry-image-not-available.png" style="margin-top: -30px;" /></a></span>';
summ = posts_thumb_sum;
}

var summary = imgtag + '<a href="'+ pURL +'"><div class="post-summary-text">' + removeHtmlTag(div.innerHTML,summ) + '</div></a>';
div.innerHTML = summary;
}
//]]>
</script>

<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:blog.pageType!= &quot;item&quot;'>
<style>
#list-view-button {font-family: Verdana; text-align:left;cursor:pointer;font-size: 14px;border-bottom: 5px solid #eaeaea;text-decoration: none;}
#list-view-button a{text-decoration: none; color: #666;}
.grid-view-button {background-color:#efefef;color:#666;padding:5px 10px;border-radius: 5px;font-size: 12px;}
.list-view-button {background-color:#efefef;color:#000;padding:5px 10px;border-radius: 5px;font-size: 12px;}
.post-grid-view {width:100%;height:250px;overflow: hidden;float:left;margin:0px 0px 20px !important;position:relative;display: block; -webkit-transition:all 0.5s ease 0s; -moz-transition:all 0.5s ease 0s; -o-transition:all 0.5s ease 0s; transition:all 0.5s ease 0s; }
.post-grid-view .posts-thumb {width:40% !important;height:250px !important;float:left;margin:0px;position:relative;border-top: 0px solid transparent !important;overflow: hidden;}
.post-grid-view .post-header {display: none;}
.post-grid-view .post-body img {min-width: 300px !important; min-height: 250px !important;display:block;width:100%!important;height:auto!important;max-width:800px!important;max-height:400px!important;border:none;outline:none;position:relative;margin: 0px;padding:0;}
.post-grid-view .post-summary-text {opacity: 1; background: none; width: 58%;font-size: 120% !important;clear: none !important; display: inline-block !important; padding: 80px 0px !important; color: #666 !important; text-shadow: none !important; float: right !important; text-align: left; position: relative !important; font-family: &#39;Open Sans Condensed&#39;, sans-serif;}
.post-grid-view .post-body {height: 250px;background:#f5f5f5; box-shadow: none !important;}
.post-title-grid a { font-size:170%;color: #777;font-family: &#39;Open Sans Condensed&#39;, sans-serif;}
.post-title-grid { position: absolute; left: 42%; top: 5%; z-index: 1;}
.post-grid-view .post-footer {left: 41%; display:block;position: absolute; bottom: 2%;font-size: 120%; background: transparent !important; border: 0px solid transparent !important;font-family: &#39;Open Sans Condensed&#39;, sans-serif;}
.post-grid-view .post-footer a{color: #128EC9;}
.post-grid-view a.comment-bubble {display: none;}
.main-inner .column-center-inner .section {margin: 0px !important;}
.post { -webkit-transition:all 0.5s ease 0s; -moz-transition:all 0.5s ease 0s; -o-transition:all 0.5s ease 0s; transition:all 0.5s ease 0s;}

#blog-pager {clear:both;}
.post {height:auto;width:32.2%;display:inline-block;text-decoration:none;float:left;margin:0 1% 1% 0%;overflow: hidden;padding:0!important;}
.date-header {display: none;}
h3.post-title a {font-size:90%;font-family: &#39;Open Sans Condensed&#39;, sans-serif;text-transform:uppercase;color:#fff;text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);font-weight: bold;}
h3.post-title {text-align: center; position:absolute;top:0;width:100%;overflow:hidden;margin:0px !important;padding-top: 30%; background-color: rgba(50, 126, 213, 0.8);transform: scale(1);opacity: 0;z-index: 10;height: 100%;transition: all 300ms ease-out 0s;}
h3.post-title:hover {opacity: 1;}
.posts-thumb {width:100%!important;height:200px!important;overflow:hidden;clear:both;}
.post-body {border-radius:2px;box-shadow:0 5px 4px 1px rgba(0,0,0,0.1);position:relative;overflow: hidden;}
.post-body a {text-decoration: none;}
.post-body img {display:block;width:100%!important;height:auto!important;max-width:800px!important;max-height:400px!important;min-width:200px!important;min-height:200px!important;border:none;outline:none;position:relative;margin: 0px;padding:0;}
.post-summary-text {display: none;}
a.comment-bubble {color:#fff;text-decoration:none;font-size:100%;width: 100%;text-align: center;position:absolute;top:175px;left: 0px;text-shadow:1px 2px 1px #333;font-family: &#39;Pacifico&#39;, cursive;z-index: 122;}
a.comment-bubble:before { content: &quot;Comments: &quot; url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwe3yloKxwOQlaGAoP5UulrckecA-2NiP6Fq4igQa2_7HD9hh2fPUam0aPzOsgJrAUHe2Ybh-YK6iKULB58eHnGBLjSvmzNwjQpUZeAWocfH2E2QJw-Am_PbvEsJVK0BX1Erj4KZL6V5pL/s1600/heart-active.png);}
.post-header,.post-footer {display:none;}
</style></b:if></b:if>
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300' rel='stylesheet' type='text/css'/>
<link href='http://fonts.googleapis.com/css?family=Pacifico' rel='stylesheet' type='text/css'/>

Step 4. Next, search for the following line:
<b:section class='main' id='main' name='Main' showaddelement='no'>
...in case you can't find it, search for this one instead:
<b:section class='main' id='main' name='Main' showaddelement='yes'>
Step 5. Just above this line, add the following code:
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:blog.pageType!= &quot;item&quot;'>
<div id='list-view-button'><a class='grid-view-button' onclick='grid_view()'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCLQOliLg0UCf78wUxT0uELPpjaq1p7eGzJuMUIqLuSCdYDSi6wlGfHdokZukro_oQP1yO4GZAy3_D2tx0DdQACaPsGkg6O97qz6teHyExsgf2GGbnuZHJsnCzn4XjXV1tR4N4G_Hxa9wv/s1600/search-grid-icon.png' style='margin: -8px 1px -3px -6px;width: 16px;'/> Grid View</a> <a class='list-view-button' onclick='list_view()'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbVEC1BeaB4E1FhNnWVl1yOONYAw0vhwlxvPsOOVF1YA1DsHyOvY-pYa00qN7o-g9GdfhsGADwcKalG5X_rK98r203WLaeBSaiSpDT8tQvmWqinqxJ_voDCHSxuTuzCOlB_xZlP-I1SJMs/s1600/icon-list-view.png' style='margin: -8px 1px -3px -6px;width: 16px;'/> List View</a></div>
</b:if></b:if>
Step 6. Now, search the tag below:
<data:post.body/>
Step 7. You will find 3 occurrences of this code... replace only the second and third one with this one below:
 <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
    <b:if cond='data:blog.pageType != &quot;item&quot;'>
        <div expr:id='&quot;summary&quot; + data:post.id'>
            <data:post.body/>
        </div>
        <script type='text/javascript'>createSummaryAndThumb(&quot;summary<data:post.id/>&quot;,&quot;<data:post.url/>&quot;);</script>
        <b:if cond='data:post.allowComments'>
            <a class='comment-bubble' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
                <data:post.numComments/>
            </a>
        </b:if>
    </b:if>
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
    <data:post.body/>
</b:if>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
    <data:post.body/>
</b:if>

Important: if you already added the auto read more script, remove the previous one in order to make this work.

Step 8. Finally, click "Preview" to see if everything looks good and press the 'Save Template' button to save the changes...

That's it!

Adding a dynamic view switcher on a blog will make viewing content a lot easier for visitors. Whether using a list or grid view, a more compressed list of posts will eliminate the need to click on the next page, which could take time if loading takes a while to complete. For a blog archive, using the Auto Read More codes in Blogger will surely make everyone's viewing experience very convenient.

Considering the ease with which the codes can be customized, building a list/grid view switcher would be completed in no time. A real bonus is that Auto Read More works on all platforms, with cross-browser support as well.

Sunday, 8 March 2015

SDL2 FPS & on Finding New Open Source Games

I took a quick look whether one could find some open source games news (new game projects to be specific) by sorting SourceForge game projects by date but no luck, only established projects seem to show up there.

So I did the same on GitHub, and after making educated guesses whether projects might be worth clicking based on their title and short description, I f ound graphitemaster/neothyne.


The project uses SDL2, is about half a year old, doesn't have shooting functionality but at least movement feels kind of nice and definitely fast. In fact I'm honestly surprised that SDL is usable for 3D.
Neothyne is an attempt at getting back to the roots of good old twitch shooting akin to that of Quake World..
It certainly feels more like Cube 1 or Quake, rather than OpenArena, Sauerbraten or Nexuiz.

What surprised me even more that it compiles in mere seconds.



To come back to the point of finding games: My impression is that development is getting faster, projects are getting more but also less ambitious (read: more realistic to achieve) and less care is being given to licenses but at the same time more legal resources are being used because of OpenGameArt's and Freesound's popularity.

Personally, I have been using old onboard graphics for two years or more (no chance to run anything interesting 3D) because I'd prefer to upgrade from a HTC Wildfire (Buzz) to a OnePlus One, rather than buying a new Power Supply and Graphics card, having a louder computer and the knowledge that it's using more electricity.

This is also the reason why the above video is so tiny. :) No 720p 3D for my GPU.

If you find it interesting to browse through lists of game projects, trying to find a playable one that suits your interest, I recommend the GitHub search. Just don't rely on the "game" search key too much and imagine what the developer might use to describe it (probably genre names...).

For your entertainment, a list of "game" project short descriptions from GitHub.

  • Actual game for the Capstrong DePaul capstone team
  • recreating cs203-game1 repository because of a corruption in the original repo that I can't figure out how to fix atm
  • the tic tac toe game on node.js
  • Survival game
  • kouluprojekti2
  • Hotline Miami inspiered HTML5/JS game for school project
  • Island is a programming game designed as a support for Software Engineering classes
  • game
  • Just a little game I'm working on
  • Card game...
What's your favorite? Can you find anything better?