Search Preview
macbury.ninja
macbury.ninjamacbury.ninjaMy blog about programing and developinghttp://macbury.ninja/ DIY Weather station<div class="image-container"><a preview-image="tr
.ninja > macbury.ninja
SEO audit: Content analysis
Language | Error! No language localisation is found. | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Title | macbury.ninja | ||||||||||||||||||||||||||||||||||||
Text / HTML ratio | 94 % | ||||||||||||||||||||||||||||||||||||
Frame | Excellent! The website does not use iFrame solutions. | ||||||||||||||||||||||||||||||||||||
Flash | Excellent! The website does not have any flash contents. | ||||||||||||||||||||||||||||||||||||
Keywords cloud |
|
||||||||||||||||||||||||||||||||||||
Keywords consistency |
|
||||||||||||||||||||||||||||||||||||
Headings | Error! The website does not use (H) tags. | ||||||||||||||||||||||||||||||||||||
Images | We found 0 images on this web page. |
SEO Keywords (Single)
SEO Keywords (Two Word)
Keyword | Occurrence | Density |
---|---|---|
class=imagecontainer> | 26 | 1.30 % |
class=imgresponsive imgthumbnail | 26 | 1.30 % |
imgthumbnail alt=false> | 10 | 0.50 % |
imgthumbnail alt=false>9 |
0.45 % |
|
alt=false> | ||
unsigned int | 9 | 0.45 % |
ForgE DevLog | 5 | 0.25 % |
imgthumbnail alt=false> |
5 | 0.25 % |
end end | 5 | 0.25 % |
that will | 4 | 0.20 % |
bash=> 4 |
0.20 % |
|
static char | 4 | 0.20 % |
4 | 0.20 % | |
I have | 4 | 0.20 % |
Nov 2014 | 4 | 0.20 % |
ampamp bin | 4 | 0.20 % |
returnValue = | 4 | 0.20 % |
bin = | 4 | 0.20 % |
if bin | 3 | 0.15 % |
SEO Keywords (Three Word)
Keyword | Occurrence | Density | Possible Spam |
---|---|---|---|
class=imgresponsive imgthumbnail alt=false> | 10 | 0.50 % | No |
alt=false> | |||
imgthumbnail alt=false> | |||
class=imgresponsive imgthumbnail alt=false>9 |
0.45 % |
No |
|
class=imgresponsive imgthumbnail alt=false> |
5 | 0.25 % | No |
4 |
0.20 % |
No |
|
Final result |
3 | 0.15 % | No |
id=finalresult>Final result | 3 | 0.15 % | No |
display block margin | 3 | 0.15 % | No |
0px display block | 3 | 0.15 % | No |
margin auto height | 3 | 0.15 % | No |
style=border 0px display | 3 | 0.15 % | No |
builds | |||
width=450 height=260 style=border | 3 | 0.15 % | No |
height=260 style=border 1px | 3 | 0.15 % | No |
style=border 1px solid | 3 | 0.15 % | No |
1px solid cccccc | 3 | 0.15 % | No |
block margin auto | 3 | 0.15 % | No |
SEO Keywords (Four Word)
Keyword | Occurrence | Density | Possible Spam |
---|---|---|---|
class=imgresponsive imgthumbnail alt=false> | |||
imgthumbnail alt=false> | |||
0px display block margin | 3 | 0.15 % | No |
Final result | 3 | 0.15 % | No |
| |||
width=450 height=260 style=border 1px | 3 | 0.15 % | No |
height=260 style=border 1px solid | 3 | 0.15 % | No |
style=border 1px solid cccccc | 3 | 0.15 % | No |
style=border 0px display block | 3 | 0.15 % | No |
height 480px marginbottom 20px> | 3 | 0.15 % | No |
auto height 480px marginbottom | 3 | 0.15 % | No |
builds | |||
margin auto height 480px | 3 | 0.15 % | No |
pulselength 321 protocol 1 | 3 | 0.15 % | No |
block margin auto height | 3 | 0.15 % | No |
display block margin auto | 3 | 0.15 % | No |
|
2 | 0.10 % | No |
|
2 | 0.10 % | No |
|
2 | 0.10 % | No |
Internal links in - macbury.ninja
Game log - macbury.ninja
VideoLog - macbury.ninja
Starlog - macbury.ninja
macbury.ninja
macbury.ninja
Hello, my name is Arkadiusz Buras and Iâm a Ruby, Java & Javascript Developer from Poland - macbury.ninja
Hello, my name is Arkadiusz Buras and Iâm a Ruby, Java & Javascript Developer from Poland - macbury.ninja
Hello, my name is Arkadiusz Buras and Iâm a Ruby, Java & Javascript Developer from Poland - macbury.ninja
Macbury.ninja Spined HTML
macbury.ninja My blog well-nigh programing and developing http://macbury.ninja/ DIY Weather station <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTgvMDUvMDUvMzlucjU1NXhwd18yMDE4MDUwNV8xODM1MTEuanBnIl1d/20180505_183511.jpg?sha=6b6d98e6" title="false"><img src="/media/W1siZiIsIjIwMTgvMDUvMDUvMzlucjU1NXhwd18yMDE4MDUwNV8xODM1MTEuanBnIl0sWyJwIiwidGh1bWIiLCIxMDI0eDc2OFx1MDAzZSJdXQ/20180505_183511.jpg?sha=90f29f3f" class="img-responsive img-thumbnail" alt="false"></img></a></div> <p>Just finished simple Weather Station. All data is published on thingspeak channel:</p> <iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/482738/charts/2?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=60&type=line&update=15"></iframe> <iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/482738/charts/4?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=60&type=line&update=15"></iframe> <iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/482738/charts/5?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=60&type=line&update=15"></iframe> <p><a href="https://thingspeak.com/channels/482738">More info at Thingspeak</a></p> Sun, 06 May 2018 07:00:09 +0200 http://macbury.ninja/2018/5/diy-weather-station http://macbury.ninja/2018/5/diy-weather-station Homemade cat feeder <p>I needed a will-less feeder for my cat, so he would stop waking me up:</p> <p><a href="https://www.youtube.com/watch?v=XM9isy4HUUo" youtube-iframe="true" movie-id="XM9isy4HUUo">https://www.youtube.com/watch?v=XM9isy4HUUo</a></p> <p>Additionaly, I did integrated it with my home automation based on <a href="http://homeassistant.io">Home Assistant</a>: <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTgvMDQvMDEvNHl5aWJyMzlkbV9acnp1dF9la3JhbnVfMjAxOF8wNF8wMV9vXzIyLjA0LjI1LnBuZyJdXQ/Zrzut%20ekranu%202018-04-01%20o%2022.04.25.png?sha=d1079bce" title="false"><img src="/media/W1siZiIsIjIwMTgvMDQvMDEvNHl5aWJyMzlkbV9acnp1dF9la3JhbnVfMjAxOF8wNF8wMV9vXzIyLjA0LjI1LnBuZyJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/Zrzut%20ekranu%202018-04-01%20o%2022.04.25.png?sha=2ee9b81d" class="img-responsive img-thumbnail" alt="false"></img></a></div></p> <h2 id="parts">Parts</h2> <ul> <li><a href="https://www.aliexpress.com/item/6pcs-lot-illuminated-Arcade-Push-Button-5V-LED-Arcade-Button-With-Microswitch-To-Arcade-Machine-Game/32807322244.html">Arcade button(everything is largest with shopping button)</a></li> <li><a href="https://www.aliexpress.com/item/D1-mini-V2-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/32681374223.html">WeMos D1 Mini v2</a></li> <li>Wires(of curse)</li> <li>Servo</li> <li>5V/4A power source DC 5,5 / 2,5mm</li> <li>Big tube</li> </ul> <p>Now everyday from 6:00 to 23:00 my cat receives his portion of food. Additionaly thanks to <a href="https://www.home-assistant.io/components/binary_sensor.iss/">International Space Station sensor</a>, every time the station is whilom my home location he gets bonus feeding.</p> <code class="language-YAML" mode="YAML" highlight-code-sample="true">- alias: 'Feed the cat' trigger: - platform: state entity_id: 'binary_sensor.iss' from: 'off' to: 'on' - platform: state entity_id: calendar.cat_feeding from: 'off' to: 'on' action: - service: cat_feeder.feed - service: notify.all data: message: 'Cat have been feeded!' </code> Sun, 01 Apr 2018 22:15:06 +0200 http://macbury.ninja/2018/4/homemade-cat-feeder http://macbury.ninja/2018/4/homemade-cat-feeder lam.py <p>Led lamp that displays information well-nigh current jenkins build status. Main features:</p> <ul> <li>Automaticaly turn on/off if user is logged on Hipchat</li> <li>Beam effect if somebody makes coffee(<a href="http://codesthq.com/blog/2016/how-did-we-hack-coffeemaker-and-had-fun-with-it.html">How i know that</a>)</li> <li>Unicorn effect if supplies is delivered(via. <a href="http://lunching.pl">lunching.pl</a>)</li> <li>Big red shopping sawed-off that can send random message to somebody on Hipchat</li> <li>Change verisimilitude depending on <a href="https://jenkins.io/">Jenkins</a> build status</li> </ul> <h2 id="how-it-works">How it works:</h2> <p>On separate server(in my specimen Raspberry Pi under my couch), there is running python script that periodically fetch information from jenkins and other endpoints. Any transpiration is then published to separate MQTT topic. Each lamp subscribe to topics and animates acording to event:</p> <p><a href="https://www.youtube.com/watch?v=UrOeL2-fV0c" youtube-iframe="true" movie-id="UrOeL2-fV0c">See it in whoopee on YouTube</a></p> <h3 id="failing-builds">Failing builds</h3> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTgvMDMvMjkvMmh0YXZocGhwYl9mYWlsaW5nLmdpZiJdXQ/failing.gif?sha=722b50c8" title="false"><img src="/media/W1siZiIsIjIwMTgvMDMvMjkvMmh0YXZocGhwYl9mYWlsaW5nLmdpZiJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/failing.gif?sha=5b57e4a9" class="img-responsive img-thumbnail" alt="false"></img></a></div> <h3 id="running-builds">Running builds</h3> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTgvMDMvMjkvNmlkeGZtbGxhaF9ydW5uaW5nLmdpZiJdXQ/running.gif?sha=76bbe57b" title="false"><img src="/media/W1siZiIsIjIwMTgvMDMvMjkvNmlkeGZtbGxhaF9ydW5uaW5nLmdpZiJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/running.gif?sha=4463959f" class="img-responsive img-thumbnail" alt="false"></img></a></div> <h3 id="success-builds">Success builds</h3> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTgvMDMvMjkvODc5anRrN2t3NV9zdWNjZXNzLmdpZiJdXQ/success.gif?sha=860884b6" title="false"><img src="/media/W1siZiIsIjIwMTgvMDMvMjkvODc5anRrN2t3NV9zdWNjZXNzLmdpZiJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/success.gif?sha=d7f774f3" class="img-responsive img-thumbnail" alt="false"></img></a></div> <h2 id="requirements">Requirements</h2> <ul> <li><a href="http://www.ikea.com/pl/pl/catalog/products/10376601/">IKEA Jar EKLATANT</a></li> <li><a href="https://www.aliexpress.com/item/6pcs-lot-illuminated-Arcade-Push-Button-5V-LED-Arcade-Button-With-Microswitch-To-Arcade-Machine-Game/32807322244.html">Arcade button(everything is largest with shopping button)</a></li> <li><a href="https://www.aliexpress.com/item/D1-mini-V2-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/32681374223.html">WeMos D1 Mini v2</a></li> <li><a href="https://www.aliexpress.com/item/1M-5M-WS2812B-led-strip-30-60-74-90-96-144leds-DC5V-dearm-color-pixel-strip/32688092455.html">NeoPixel 5V LED RGB WS2812B strip</a></li> <li>Wires(of curse)</li> <li>Toilet paper inner tube</li> <li>5V/4A power source DC 5,5 / 2,5mm</li> <li>Frozen glass spray</li> <li>Server with LINUX to run python script and MQTT server</li> </ul> Thu, 29 Mar 2018 20:30:12 +0200 http://macbury.ninja/2018/3/lam-py http://macbury.ninja/2018/3/lam-py HomeAssistant configuring rpi rf switches <p>In this post I will show how to configure <a href="https://home-assistant.io/components/switch.rpi_rf/">rpi_rf</a> platform in <a href="https://home-assistant.io/">HomeAssistant</a> to tenancy electric outlets. For this we need:</p> <ul> <li>HomeTeammateinstalled on Raspberry Pi</li> <li>Arduino uniform board</li> <li>FS100A 433 MHz Radio Receiver and Emitter</li> <li>Stuff to control, in my specimen radio controled electric outlets with remote</li> </ul> <h1 id="configuration-part-in-home-assistant">Configuration part in Home Assistant</h1> <p>The rpi_rf switch platform allows you to tenancy devices over 433 MHz signals with generic low-cost GPIO RF modules. Configuration in <strong>configuration.yaml</strong> looks like this:</p> <code class="language-yml" mode="yml" highlight-code-sample="true">switch: - platform: rpi_rf gpio: 3 switches: bedroom_humidifier: code_on: 1361 code_off: 1364 pulselength: 321 protocol: 1 signal_repetitions: 80 living_room_humidifier: code_on: 4433 code_off: 4436 pulselength: 321 protocol: 1 signal_repetitions: 80 </code> <p>As you can see we can have multiple switches. Each switch have separate lawmaking on and lawmaking off. This lawmaking is emitted by RF remote that controls outlets. <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTcvMDkvMTYvM2c0aWg1b2xrOF8yMDE3MDkxNl8xMzA5NDAuanBnIl1d/20170916_130940.jpg?sha=06b8b5e7" title="false"><img src="/media/W1siZiIsIjIwMTcvMDkvMTYvM2c0aWg1b2xrOF8yMDE3MDkxNl8xMzA5NDAuanBnIl0sWyJwIiwidGh1bWIiLCIxMDI0eDc2OFx1MDAzZSJdXQ/20170916_130940.jpg?sha=4fdb448a" class="img-responsive img-thumbnail" alt="false"></img></a></div></p> <h1 id="recording-codes-sended-by-pilot">Recording codes sended by pilot</h1> <p>I have assembled this simple remote lawmaking recorder using Arduino uniform board. First I unfluctuating receiver to workbench in this way:</p> <h3 id="receiver-pins">Receiver pins</h3> <ul> <li>GND - pin 1 (GND, undecorous wire)</li> <li>D2 - pin 2 (DATA, yellow wire)</li> <li>+5 V - pin 4(VCC, red wire) <zdjecie odbiornika=""></zdjecie></li> </ul> <p>With workbench it should squint like this: <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTcvMDkvMTYvN3IwanEzZnc3NV8yMDE3MDkxNl8xMzAwNDkuanBnIl1d/20170916_130049.jpg?sha=27748b32" title="false"><img src="/media/W1siZiIsIjIwMTcvMDkvMTYvN3IwanEzZnc3NV8yMDE3MDkxNl8xMzAwNDkuanBnIl0sWyJwIiwidGh1bWIiLCIxMDI0eDc2OFx1MDAzZSJdXQ/20170916_130049.jpg?sha=9b75848e" class="img-responsive img-thumbnail" alt="false"></img></a></div></p> <p>Install arduino <a href="https://github.com/sui77/rc-switch">RC Switch library</a> in arduino IDE and run this code:</p> <code class="language-cpp" mode="cpp" highlight-code-sample="true">static const char* bin2tristate(const char* bin); static char * dec2binWzerofill(unsigned long Dec, unsigned int bitLength); void output(unsigned long decimal, unsigned int length, unsigned int delay, unsigned int* raw, unsigned int protocol) { if (decimal == 0) { Serial.print("Unknown encoding."); } else { const char* b = dec2binWzerofill(decimal, length); Serial.print("Decimal: "); Serial.print(decimal); Serial.print(" ("); Serial.print( length ); Serial.print("Bit) Binary: "); Serial.print( b ); Serial.print(" Tri-State: "); Serial.print( bin2tristate( b) ); Serial.print(" PulseLength: "); Serial.print(delay); Serial.print(" microseconds"); Serial.print(" Protocol: "); Serial.println(protocol); } Serial.print("Raw data: "); for (unsigned int i=0; i<= length*2; i++) { Serial.print(raw[i]); Serial.print(","); } Serial.println(); Serial.println(); } static const char* bin2tristate(const char* bin) { static char returnValue[50]; int pos = 0; int pos2 = 0; while (bin[pos]!='\0' && bin[pos+1]!='\0') { if (bin[pos]=='0' && bin[pos+1]=='0') { returnValue[pos2] = '0'; } else if (bin[pos]=='1' && bin[pos+1]=='1') { returnValue[pos2] = '1'; } else if (bin[pos]=='0' && bin[pos+1]=='1') { returnValue[pos2] = 'F'; } else { return "not applicable"; } pos = pos+2; pos2++; } returnValue[pos2] = '\0'; return returnValue; } static char * dec2binWzerofill(unsigned long Dec, unsigned int bitLength) { static char bin[64]; unsigned int i=0; while (Dec > 0) { bin[32+i++] = ((Dec & 1) > 0) ? '1' : '0'; Dec = Dec >> 1; } for (unsigned int j = 0; j< bitLength; j++) { if (j >= bitLength - i) { bin[j] = bin[ 31 + i - (j - (bitLength - i)) ]; } else { bin[j] = '0'; } } bin[bitLength] = '\0'; return bin; } #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); mySwitch.enableReceive(0); } void loop() { if (mySwitch.available()) { output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol()); mySwitch.resetAvailable(); } } </code> <p>After you run lawmaking on arduino, each time you printing key on rc remote you should receive information like this: <code highlight-code-sample="true"> Decimal: 1361 (24Bit) Binary: 000000000000010101010001 Tri-State: 000000FFFF0F PulseLength: 321 microseconds Protocol: 1 Raw data: 9984,232,1040,236,1048,236,1044,232,1052,224,1064,216,1044,236,1056,220,1056,224,1052,228,1048,228,1044,236,1044,236,1056,864,404,212,40,72,48,64,1244,1136,16,36,16,52,76,192,32,616,1352,32,32,40,340, </code> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTcvMDkvMTYvNTliZ2I4OHlib19zLmpwZyJdXQ/s.jpg?sha=61174ff7" title="false"><img src="/media/W1siZiIsIjIwMTcvMDkvMTYvNTliZ2I4OHlib19zLmpwZyJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/s.jpg?sha=d237645d" class="img-responsive img-thumbnail" alt="false"></img></a></div><br /> What is interesting for us is:</p> <ul> <li>decimal lawmaking - in this specimen it is 1361</li> <li>pulse lawmaking - 321 microseconds</li> <li>protocol - 1</li> </ul> <p>With this information we can configure our first switch:</p> <code class="language-YML" mode="YML" highlight-code-sample="true">switch: - platform: rpi_rf gpio: 3 switches: bedroom_humidifier: code_on: 1361 code_off: 1364 pulselength: 321 protocol: 1 </code> <h1 id="wiring-raspberry-pi">Wiring Raspberry PI</h1> <p>The last step is to wire up our RF with emitter raspberry pi:</p> <ul> <li>DATA - <a href="https://pinout.xyz/pinout/pin5_gpio3">PIN 5 - GPIO 3</a></li> <li>VCC - <a href="https://pinout.xyz/pinout/pin2_5v_power">PIN 2 - 5v</a></li> <li>GND - <a href="https://pinout.xyz/pinout/ground">PIN 6 - GND</a></li> </ul> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTcvMDkvMTgvOTBqcWl2eXR4NF8yMDE3MDkxN18yMTQ5NTAuanBnIl1d/20170917_214950.jpg?sha=69f51f01" title="false"><img src="/media/W1siZiIsIjIwMTcvMDkvMTgvOTBqcWl2eXR4NF8yMDE3MDkxN18yMTQ5NTAuanBnIl0sWyJwIiwidGh1bWIiLCIxMDI0eDc2OFx1MDAzZSJdXQ/20170917_214950.jpg?sha=a43c6572" class="img-responsive img-thumbnail" alt="false"></img></a></div> <p>After restarting home assistant, there should towards new switch in states tab that will enable us to switch on and off this outlet prescribed to it.</p> <p><a href="https://www.youtube.com/watch?v=XthTKgmQkjY" youtube-iframe="true" movie-id="XthTKgmQkjY">https://www.youtube.com/watch?v=XthTKgmQkjY</a></p> Tue, 19 Sep 2017 18:42:04 +0200 http://macbury.ninja/2017/9/homeassistant-configuring-rpi-rf-switches http://macbury.ninja/2017/9/homeassistant-configuring-rpi-rf-switches Fix Samsung S8 and S8+ woebegone bars in android using <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTcvMDYvMTcvNDk3ODZ0ZWhpYV8yMDE3MDYxN18xNzIwNDcuanBnIl1d/20170617_172047.jpg?sha=c864c545" title="false"><img src="/media/W1siZiIsIjIwMTcvMDYvMTcvNDk3ODZ0ZWhpYV8yMDE3MDYxN18xNzIwNDcuanBnIl0sWyJwIiwidGh1bWIiLCIxOTgweDY0MCMiXV0/20170617_172047.jpg?sha=5490d756" class="img-responsive img-thumbnail" alt="false"></img></a></div><p>New Samsung S8 and S8+ have an 18.5:9 screen. And that ways Android apps that aren’t designed for these displays might show woebegone bars at the top and bottom. To fix this we need to add spare line to AndroidManifest that will tell os what maximum speciality ratio can our app use:</p> <code class="language-xml" mode="xml" highlight-code-sample="true"><meta-data android:name="android.max_aspect" android:value="3.0" /> </code> <p>This should be placed inside <strong>aplication</strong> tag:</p> <code class="language-xml" mode="xml" highlight-code-sample="true"><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.awesome.app" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.INTERNET" /> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" /> <application android:name=".MainApplication" android:allowBackup="true" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme"> <meta-data android:name="android.max_aspect" android:value="3.0" /> <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> </code> Sat, 17 Jun 2017 17:23:40 +0200 http://macbury.ninja/2017/6/fix-samsung-s8-and-s8-black-bars-in-android-application http://macbury.ninja/2017/6/fix-samsung-s8-and-s8-black-bars-in-android-application RpgGo - just simple agumented geo game <p>For a few months I have been working on game similar to Ingress and Pokemon Go. The whole project is divided into two shared codebases:</p> <ul> <li>Game vendee - a libgdx game written entirely in java. It can handle rendering of whole world and should run plane on older devices</li> <li>Backend server - written in jruby and uses lawmaking from game client. It fetches data from fantastic https://mapzen.com/ and pericope stuff that is used in game like roads, forest and places.</li> </ul> <h3 id="preview">Preview</h3> <p><a href="https://www.youtube.com/watch?v=L9Yym4aUBzY" youtube-iframe="true" movie-id="L9Yym4aUBzY">https://www.youtube.com/watch?v=L9Yym4aUBzY</a></p> <p><a href="https://www.youtube.com/watch?v=8Iqj3GGpy_M" youtube-iframe="true" movie-id="8Iqj3GGpy_M">https://www.youtube.com/watch?v=8Iqj3GGpy_M</a></p> <p><a href="https://www.youtube.com/watch?v=HUhLQLYW1gs" youtube-iframe="true" movie-id="HUhLQLYW1gs">https://www.youtube.com/watch?v=HUhLQLYW1gs</a></p> <p><a href="https://www.youtube.com/watch?v=NNRR0cthzHI" youtube-iframe="true" movie-id="NNRR0cthzHI">https://www.youtube.com/watch?v=NNRR0cthzHI</a></p> <p><a href="https://www.youtube.com/watch?v=iZzoJahj4wU" youtube-iframe="true" movie-id="iZzoJahj4wU">https://www.youtube.com/watch?v=iZzoJahj4wU</a></p> <p><a href="https://www.youtube.com/watch?v=CYXLxKXWoxM" youtube-iframe="true" movie-id="CYXLxKXWoxM">https://www.youtube.com/watch?v=CYXLxKXWoxM</a></p> Sun, 28 May 2017 12:05:58 +0200 http://macbury.ninja/2017/5/rpggo-just-simple-agumented-geo-game http://macbury.ninja/2017/5/rpggo-just-simple-agumented-geo-game GdxAi testing path finding <p><a href="https://www.youtube.com/watch?v=u9Y2KjL43-4" youtube-iframe="true" movie-id="u9Y2KjL43-4">https://www.youtube.com/watch?v=u9Y2KjL43-4</a></p> <p><a href="https://www.youtube.com/watch?v=VDUH-CS7Jmc" youtube-iframe="true" movie-id="VDUH-CS7Jmc">https://www.youtube.com/watch?v=VDUH-CS7Jmc</a></p> <p><a href="https://www.youtube.com/watch?v=GFUchD1R2jI" youtube-iframe="true" movie-id="GFUchD1R2jI">https://www.youtube.com/watch?v=GFUchD1R2jI</a></p> Mon, 17 Oct 2016 12:15:58 +0200 http://macbury.ninja/2016/10/gdxai-testing-path-finding http://macbury.ninja/2016/10/gdxai-testing-path-finding Web dungeon on itch.io <p>You can now play my game on itch.io:</p> <iframe frameborder="0" src="https://itch.io/embed-upload/207858?color=000000" allowfullscreen="" width="960" height="660"></iframe> <h2 id="how-to-play">How to play</h2> <ul> <li>Touch on place where you want to go</li> <li>To wade you must be stand abreast monster and touch it</li> <li>To pick item you must be on the same tile as item and touch it</li> </ul> <h2 id="todo">TODO</h2> <ul> <li>Procedular dungeon</li> <li>More monsters</li> <li>Field of view</li> <li>More Items</li> <li>Screens</li> <li>Loading/Save game</li> <li>Quests</li> <li>Story</li> </ul> Sat, 14 May 2016 15:25:04 +0200 http://macbury.ninja/2016/5/web-dungeon-on-itch-io http://macbury.ninja/2016/5/web-dungeon-on-itch-io Pocket Dungeon version 0.0.3 <h1 id="changes">Changes</h1> <ul> <li>Added some vital tests <a href="https://travis-ci.org/macbury/dungeon"><img src="https://travis-ci.org/macbury/dungeon.svg?branch=master" alt="Build Status" /></a></li> <li>Base classes for attacking and stats</li> <li>Working turn system</li> <li>Simple wade for preview</li> <li>Placeholder sound effect</li> </ul> <iframe src="/store/games/4_05_2016/index.html" style="border: 0px; display: block; margin: 0 auto; height: 480px; margin-bottom: 20px;"></iframe> Wed, 04 May 2016 18:15:07 +0200 http://macbury.ninja/2016/5/pocket-dungeon-version-0-0-3 http://macbury.ninja/2016/5/pocket-dungeon-version-0-0-3 Pocket Dungeon version 0.0.2 <p>Next version of my game. Now you can click on map and player and monsters will move.</p> <iframe src="/store/games/25_04_2016/index.html" style="border: 0px; display: block; margin: 0 auto; height: 480px; margin-bottom: 20px;"></iframe> Mon, 25 Apr 2016 18:20:15 +0200 http://macbury.ninja/2016/4/pocket-dungeon-version-0-0-2 http://macbury.ninja/2016/4/pocket-dungeon-version-0-0-2 Pocket Dungeon version 0.0.1 <p>Here is first “playable” version of game that I’m creating using phaserjs, typescript and webpack:</p> <iframe src="/store/games/20_04_2016/index.html" style="border: 0px; display: block; margin: 0 auto; height: 480px; margin-bottom: 20px;"></iframe> <p>Currently only moving is possible but in future there will be increasingly features in it like:</p> <ul> <li>Fighting with monsters</li> <li>Dynamic dungeon</li> <li>Items</li> <li>Stats</li> <li>Dynamic quests</li> </ul> Wed, 20 Apr 2016 13:50:31 +0200 http://macbury.ninja/2016/4/pocket-dungeon-version-0-0-1 http://macbury.ninja/2016/4/pocket-dungeon-version-0-0-1 RaspberryPi Bitcoin node + Tor node + Torrent Box + Clock <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTYvMDEvMTIvN3AwdzZkdHVteV9JTUdfMjAxNjAxMTFfMjIwMzQ5LmpwZyJdXQ/IMG_20160111_220349.jpg?sha=e3bfc7a6" title="false"><img src="/media/W1siZiIsIjIwMTYvMDEvMTIvN3AwdzZkdHVteV9JTUdfMjAxNjAxMTFfMjIwMzQ5LmpwZyJdLFsicCIsInRodW1iIiwiMTk4MHg2NDAjIl1d/IMG_20160111_220349.jpg?sha=1a51001a" class="img-responsive img-thumbnail" alt="false"></img></a></div> <p>Simple new year project. I used my old RaspberryPi and transformed it into polity node. I have installed on it:</p> <ul> <li><a href="http://raspnode.com/diyBitcoin.html">Full Bitcoin Node</a></li> <li><a href="https://www.torproject.org/">Tor Node</a></li> <li><a href="http://deluge-torrent.org/">Torrent Client</a> that seeds few linux distros</li> </ul> <p>Additionaly I have installed this nifty unseemly <a href="http://www.waveshare.com/3.5inch-rpi-lcd-a.htm">3.5inch RPi LCD (A)</a>.Withoutmarching system starts simple ruby app that displays current time.</p> <h1 id="final-result">Final result:</h1> <p><a href="https://www.youtube.com/watch?v=KHqkxnGJBL0&feature=youtu.be" youtube-iframe="true" movie-id="KHqkxnGJBL0">https://www.youtube.com/watch?v=KHqkxnGJBL0&feature=youtu.be</a></p> Tue, 12 Jan 2016 06:00:52 +0100 http://macbury.ninja/2016/1/raspberrypi-bitcoin-node-tor-node-torrent-box-clock http://macbury.ninja/2016/1/raspberrypi-bitcoin-node-tor-node-torrent-box-clock Forge - DevLog 6 <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTUvMDkvMDIvN2wzdWF6NDMxMV9mYl9vdXQucG5nIl1d/fb_out.png?sha=e8c27040" title="false"><img src="/media/W1siZiIsIjIwMTUvMDkvMDIvN2wzdWF6NDMxMV9mYl9vdXQucG5nIl0sWyJwIiwidGh1bWIiLCIxOTgweDY0MCMiXV0/fb_out.png?sha=f986bd80" class="img-responsive img-thumbnail" alt="false"></img></a></div> <p>Just finished working on day night trundling and widow flexible post processing pipeline. I just need to edit simple json that defines framebuffers and steps with information well-nigh uniforms and shaders:</p> <code class="language-js" mode="js" highlight-code-sample="true">{ buffers: [ { width: 512, height: 512, format: "RGB888", filter: "Linear", wrap: "MirroredRepeat", depth: false, name: "my:small-color" }, { width: 512, height: 512, format: "RGB888", filter: "Linear", wrap: "ClampToEdge", depth: false, name: "my:blur" }, { width: 256, height: 256, format: "RGBA8888", filter: "Linear", wrap: "ClampToEdge", depth: false, name: "my:light-scattering-assembler" } { width: 256, height: 256, format: "RGBA8888", filter: "Linear", wrap: "ClampToEdge", depth: false, name: "my:light-scattering" }, ], steps: [ { copy: "forge:main-color", target: "my:small-color" }, { target: "my:light-scattering-assembler", fragment: "prepare-light-scattering-texture", customUniforms: { u_depthTexture: "forge:depth", u_sunTexture: "forge:sun" }, helpers: { vertex: [], fragment: ["shadow_map"] }, }, { target: "my:light-scattering", fragment: "light-scattering", customUniforms: { u_mainTexture: "my:light-scattering-assembler", u_density: 0.87, u_weight: 5.60, u_exposure: 0.0014, u_decay: 1.0, u_numSamples: 70 }, uniforms: [ "LightPositionOnScreen" ] }, { target: "my:blur", fragment: "blur", customUniforms: { u_mainTexture: "my:small-color", u_blurPower: 0.003 }, }, { fragment: "final", target: "forge:final-color", uniforms: [ "VignetteTexture" ], customUniforms: { u_mainTexture: "forge:main-color", u_blurTexture: "my:blur", u_lightScatteringTexture: "my:light-scattering", u_blurMix: 0.25 } } ] } </code> <h1 id="final-result">Final result:</h1> <p><a href="https://www.youtube.com/watch?v=dICr1aKgz4o" youtube-iframe="true" movie-id="dICr1aKgz4o">https://www.youtube.com/watch?v=dICr1aKgz4o</a></p> Tue, 01 Sep 2015 22:00:03 +0200 http://macbury.ninja/2015/9/forge-devlog-6 http://macbury.ninja/2015/9/forge-devlog-6 Join multiple videos and speed them up using FFMPEG on linux <p>First go to directory with your videos and create list:</p> <div bash=""> <div bash-command="">printf "file '%s'\n" ./*.MOV > list.txt</div> <div bash-output=""></div> </div> <p>Next join all videos and speed them up using filter “setpts=0.01*PTS”</p> <div bash=""> <div bash-command="">ffmpeg -f concat -i list.txt -preset ultrafast -filter:v "setpts=0.01*PTS" -c:a reprinting -nostdin -an /tmp/final.mp4</div> <div bash-output=""></div> </div> <p><a href="https://youtu.be/lcYdN4J4tJQ" youtube-iframe="true" movie-id="lcYdN4J4tJQ">https://youtu.be/lcYdN4J4tJQ</a></p> <p><a href="https://www.youtube.com/watch?v=aBwt15fpDag" youtube-iframe="true" movie-id="aBwt15fpDag">https://www.youtube.com/watch?v=aBwt15fpDag</a></p> Wed, 08 Jul 2015 10:10:56 +0200 http://macbury.ninja/2015/7/join-multiple-videos-and-speed-them-up-using-ffmpeg-on-linux http://macbury.ninja/2015/7/join-multiple-videos-and-speed-them-up-using-ffmpeg-on-linux ForgE - DevLog 5 <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTUvMDQvMjgvNWIxN2Z1c3dzc19JTUdfMjAxNTA0MjhfMTAxOTMzXzIuanBnIl1d/IMG_20150428_101933%7E2.jpg?sha=4d9ad000" title="false"><img src="/media/W1siZiIsIjIwMTUvMDQvMjgvNWIxN2Z1c3dzc19JTUdfMjAxNTA0MjhfMTAxOTMzXzIuanBnIl0sWyJwIiwidGh1bWIiLCIxOTgweDQ4MCMiXV0/IMG_20150428_101933%7E2.jpg?sha=074e925f" class="img-responsive img-thumbnail" alt="false"></img></a></div> <p>For the last week i was working on implementing collisions and psychics in my engine. I used for that spanking-new psychics library <a href="http://bulletphysics.org">Bullet</a>. First I generate colliders for level, with greedy algorithm that builds quads for collision: <a href="https://github.com/macbury/ForgE/blob/master/core/src/macbury/forge/graphics/builders/TerrainBuilder.java#L86">https://github.com/macbury/ForgE/blob/master/core/src/macbury/forge/graphics/builders/TerrainBuilder.java#L86</a></p> <p>Finaly only thing left is to hoke quads into btConvexHullShape: <a href="https://github.com/macbury/ForgE/blob/master/core/src/macbury/forge/graphics/builders/ChunkPartCollider.java#L74">https://github.com/macbury/ForgE/blob/master/core/src/macbury/forge/graphics/builders/ChunkPartCollider.java#L74</a></p> <h1 id="final-result">Final result:</h1> <p><a href="https://www.youtube.com/watch?v=Vdf6bimxiSg" youtube-iframe="true" movie-id="Vdf6bimxiSg">https://www.youtube.com/watch?v=Vdf6bimxiSg</a></p> Tue, 28 Apr 2015 00:15:30 +0200 http://macbury.ninja/2015/4/forge-devlog-5 http://macbury.ninja/2015/4/forge-devlog-5 ForgE - DevLog 4 <h3 id="editor-new-features">Editor new features</h3> <ul> <li>New nicer woodcut previews</li> <li>Saving loading map</li> <li>Greedy meshing</li> <li>Map managment</li> <li>Foliage blocks</li> <li>Tree brush</li> <li>First version of game player</li> </ul> <p><a href="https://www.youtube.com/watch?v=gSF-W50CTLg" youtube-iframe="true" movie-id="gSF-W50CTLg">https://www.youtube.com/watch?v=gSF-W50CTLg</a> <a href="https://www.youtube.com/watch?v=qIEqMRsj6ts" youtube-iframe="true" movie-id="qIEqMRsj6ts">https://www.youtube.com/watch?v=qIEqMRsj6ts</a> <a href="https://www.youtube.com/watch?v=wUjp4elLo34" youtube-iframe="true" movie-id="wUjp4elLo34">https://www.youtube.com/watch?v=wUjp4elLo34</a> <a href="https://www.youtube.com/watch?v=qxUJrh7U9kk" youtube-iframe="true" movie-id="qxUJrh7U9kk">https://www.youtube.com/watch?v=qxUJrh7U9kk</a></p> Thu, 16 Apr 2015 13:35:04 +0200 http://macbury.ninja/2015/4/forge-devlog-4 http://macbury.ninja/2015/4/forge-devlog-4 Rspec take screenshoot on capybara test failure <p>This simple script takes screenshot on every test failure and saves it in tmp/rspec_screens directory:</p> <code class="language-ruby" mode="ruby" highlight-code-sample="true"># -*- encoding : utf-8 -*- ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'capybara/rspec' require 'capybara/poltergeist' Capybara.javascript_driver = :poltergeist SCREENSHOT_DIR = Rails.root.join("tmp/rspec_screens") def take_screenshot(example) meta = example.metadata filename = File.basename(meta[:file_path]) line_number = meta[:line_number] screenshot_name = "screenshot-#{filename}-#{line_number}.png" screenshot_path = File.join(SCREENSHOT_DIR, screenshot_name) page.save_screenshot(screenshot_path) puts meta[:full_description] + "\n Screenshot: #{screenshot_path}" end RSpec.configure do |config| config.before(:suite) do SCREENSHOT_DIR = Rails.root.join("tmp/rspec_screens") FileUtils.rm_rf(SCREENSHOT_DIR) FileUtils.mkdir_p(SCREENSHOT_DIR) end config.after(:each) do |example| if example.metadata[:type] == :feature and example.exception.present? take_screenshot(example) end end end </code> Wed, 31 Dec 2014 08:45:14 +0100 http://macbury.ninja/2014/12/rspec-take-screenshoot-on-capybara-test-failure http://macbury.ninja/2014/12/rspec-take-screenshoot-on-capybara-test-failure tmux can't create socket <p>When I wanted to start today TMUX, i got this strange error:</p> <div bash=""> <div bash-command="">tmux</div> <div bash-output="">can't create socket</div> </div> <p>After some research i found the culprit was invalid file coruption in <em>/tmp/tmux-*</em>. To fix it i just executed:</p> <div bash=""> <div bash-command="">rm /tmp/tmux-* -R</div> </div> Wed, 10 Dec 2014 10:10:05 +0100 http://macbury.ninja/2014/12/tmux-can-t-create-socket http://macbury.ninja/2014/12/tmux-can-t-create-socket Using jquery instead have_css in rspec poltergeist test <p>Capybara function have_css is very nice but it is very limited. With this simple lawmaking I can replace it with jquery:</p> <code class="language-ruby" mode="ruby" highlight-code-sample="true">module JQueryMacro def jquery_element_count(jquery_query) page.driver.evaluate_script <<-EOS function() { return $("#{jquery_query}").size(); }(); EOS end def jquery_have_css(jquery_query) result = false Timeout.timeout(Capybara.default_wait_time) do while !result sleep 1 result = jquery_element_count(jquery_query) > 0 end end result end RSpec::Matchers.define :have_jquery_css do |jquery_query| match do jquery_have_css(jquery_query) end end end </code> <p>Now i can execute queries like:</p> <code class="language-ruby" mode="ruby" highlight-code-sample="true">expect(page).to have_jquery_css(".result-suggestions li:nth-child(0):not(.selected)") </code> Thu, 27 Nov 2014 13:10:46 +0100 http://macbury.ninja/2014/11/using-jquery-instead-have_css-in-rspec-poltergeist-test http://macbury.ninja/2014/11/using-jquery-instead-have_css-in-rspec-poltergeist-test ForgE - DevLog 3 <p><a href="https://www.youtube.com/watch?v=Qc8eagCJ8yA&list=UU_Kisz4ua1D2zVrFfPy2aAA" youtube-iframe="true" movie-id="Qc8eagCJ8yA">https://www.youtube.com/watch?v=Qc8eagCJ8yA&list=UU_Kisz4ua1D2zVrFfPy2aAA</a></p> <h3 id="editor-new-features">Editor new features</h3> <ul> <li>Pencil woodcut placement</li> <li>Rect woodcut placement</li> <li>Replaceing appending blocks</li> <li>Erase block</li> </ul> <p>Additionaly now i can easly pinpoint blocks using json file:</p> <code class="language-javascript" mode="javascript" highlight-code-sample="true">{ solid: true, shadeAO: true, envAO: true, textures: { top: "grass_top", bottom: "dirt", side: "grass_side" } } </code> <p>Editor will snift transpiration and reload map with its blocks.</p> Tue, 18 Nov 2014 10:10:56 +0100 http://macbury.ninja/2014/11/forge-devlog-3 http://macbury.ninja/2014/11/forge-devlog-3 Integrate Firefox with Gnome 3 <p>I have found really nice tutorial for making your firefox to squint increasingly like gnome 3 app: <a href="https://github.com/chpii/Headerbar">https://github.com/chpii/Headerbar</a></p> <p>After few tweaks my firefox looks like this: <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTEvMTcvMnJ4ZmQxa2UzOF9acnp1dF9la3JhbnVfel8yMDE0XzExXzE3XzA5XzQ5XzM4LnBuZyJdXQ/Zrzut%20ekranu%20z%202014-11-17%2009%3A49%3A38.png?sha=7ee74cf4" title="false"><img src="/media/W1siZiIsIjIwMTQvMTEvMTcvMnJ4ZmQxa2UzOF9acnp1dF9la3JhbnVfel8yMDE0XzExXzE3XzA5XzQ5XzM4LnBuZyJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/Zrzut%20ekranu%20z%202014-11-17%2009%3A49%3A38.png?sha=7c1406a3" class="img-responsive img-thumbnail" alt="false"></img></a></div></p> Mon, 17 Nov 2014 09:45:32 +0100 http://macbury.ninja/2014/11/integrate-firefox-with-gnome-3 http://macbury.ninja/2014/11/integrate-firefox-with-gnome-3 ForgE - DevLog 2 <p>And flipside week have passed on developing ForgE. I have implemented a lot stuff for debuging, widow simple directional lighting and have wiring for editing world with support for undo and redo :P</p> <p>Additionaly i have widow live editing of shaders with helper support. I just need to create simple json file:</p> <code class="language-javascript" mode="javascript" highlight-code-sample="true">{ class: macbury.forge.shaders.TerrainShader, fragment: "terrain", vertex: "terrain", helpers: { vertex: ["directional_light"], fragment: ["fog"] } } </code> <p>After engine starts it loads vertex and fragment shaders source from files and suspend helpers from assets/shaders/helpers directory. The live editing of shaders works by using <a href="http://jnotify.sourceforge.net/">JNotify</a> that allows me to listen to file system events.</p> <p>Next week i want to implement wiring level editing tools like pencil, eraser and rect fill.</p> <p><a href="https://www.youtube.com/watch?v=YO0UyYdDrv8&feature=youtu.be" youtube-iframe="true" movie-id="YO0UyYdDrv8">https://www.youtube.com/watch?v=YO0UyYdDrv8&feature=youtu.be</a></p> <p><a href="http://armadillo.cc">Music from</a></p> Wed, 05 Nov 2014 09:55:06 +0100 http://macbury.ninja/2014/11/forge-devlog-2 http://macbury.ninja/2014/11/forge-devlog-2 ForgE - DevLog 1 <p>When i was still goint to school i have created a few games using RPG maker 2000. It was a nice tool for creating simple RPG games. <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMjYvNzdiYjh1c3A4dF9ybTJrLmpwZyJdXQ/rm2k.jpg?sha=285d70fe" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMjYvNzdiYjh1c3A4dF9ybTJrLmpwZyJdLFsicCIsInRodW1iIiwiMTAyNHg3NjhcdTAwM2UiXV0/rm2k.jpg?sha=9c78a4e6" class="img-responsive img-thumbnail" alt="false"></img></a></div></p> <p>Now I think i could write similar tool using libGdx.Withoutfirst week this is my progress at work:</p> <p><a href="https://www.youtube.com/watch?v=H3duCPY6CRs&list=UU_Kisz4ua1D2zVrFfPy2aAA" youtube-iframe="true" movie-id="H3duCPY6CRs">https://www.youtube.com/watch?v=H3duCPY6CRs&list=UU_Kisz4ua1D2zVrFfPy2aAA</a></p> <p>I decided to make my engine to use voxels for terrain and game objects. It will indulge to yank terrain and NPCs in simple editor like you would do it in paint :P. Currently i have working voxel mesh builder, camera controller and voxel culling.</p> Sun, 26 Oct 2014 14:14:23 +0100 http://macbury.ninja/2014/10/forge-devlog-1 http://macbury.ninja/2014/10/forge-devlog-1 KontestPod for Android <p>KontestPod is simple android using that will indulge you to play polish podcasts from <a href="http://kontestacja.com">http://kontestacja.com</a>. </p> <h2 id="main-features">Main features</h2> <ul> <li>Downloading episodes</li> <li>Streaming episodes</li> <li>Favorite auditions</li> <li>Automatic downloading favorite episodes</li> </ul> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvN2t6NWdxN3pwal9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMTQucG5nIl1d/Screenshot_2014-10-12-17-10-14.png?sha=a9690ae0" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvN2t6NWdxN3pwal9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMTQucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-10-14.png?sha=99a7c5e3" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvNDZibmVtaG8wbF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMjEucG5nIl1d/Screenshot_2014-10-12-17-10-21.png?sha=3c9cafa1" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvNDZibmVtaG8wbF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMjEucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-10-21.png?sha=429b34be" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvNDBwNTE3bjl6ZF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMjkucG5nIl1d/Screenshot_2014-10-12-17-10-29.png?sha=77009716" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvNDBwNTE3bjl6ZF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMjkucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-10-29.png?sha=bc1306ec" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvMm85bjVjcW5zZF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMDcucG5nIl1d/Screenshot_2014-10-12-17-10-07.png?sha=3afddf0d" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvMm85bjVjcW5zZF9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMTBfMDcucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-10-07.png?sha=1185fd20" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvN254cWVpbGNndV9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMDlfNDQucG5nIl1d/Screenshot_2014-10-12-17-09-44.png?sha=fed1d7b7" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvN254cWVpbGNndV9TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMDlfNDQucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-09-44.png?sha=a4fa57eb" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMTIvNjQzNm01dWVmY19TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMDlfMzIucG5nIl1d/Screenshot_2014-10-12-17-09-32.png?sha=79c70171" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMTIvNjQzNm01dWVmY19TY3JlZW5zaG90XzIwMTRfMTBfMTJfMTdfMDlfMzIucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-12-17-09-32.png?sha=d0ce9585" class="img-responsive img-thumbnail" alt="false"></img></a></div> Sat, 11 Oct 2014 19:05:43 +0200 http://macbury.ninja/2014/10/kontestpod-for-android http://macbury.ninja/2014/10/kontestpod-for-android EnklawaPod 0.1 <p>EnklawaPod is simple android using that will indulge you to play polish podcasts from <a href="http://enklawa.net">http://enklawa.net</a>. </p> <h2 id="main-features">Main features</h2> <ul> <li>Downloading episodes</li> <li>Streaming episodes</li> <li>Favorite auditions</li> <li>Automatic downloading favorite episodes</li> </ul> <div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMDcvMnpjdWdsd2ZuaF9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDRfMjUucG5nIl1d/Screenshot_2014-10-07-17-04-25.png?sha=52f45993" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMDcvMnpjdWdsd2ZuaF9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDRfMjUucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-07-17-04-25.png?sha=56608349" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMDcvNzA0MWRyNnFmbl9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDVfNTcucG5nIl1d/Screenshot_2014-10-07-17-05-57.png?sha=daf40e4d" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMDcvNzA0MWRyNnFmbl9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDVfNTcucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-07-17-05-57.png?sha=0c310da4" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMDcvNjhkdHBrNmhzdl9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDRfNDcucG5nIl1d/Screenshot_2014-10-07-17-04-47.png?sha=b98f35f6" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMDcvNjhkdHBrNmhzdl9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDRfNDcucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-07-17-04-47.png?sha=ef935699" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMDcvNXJhaXJ1MHpxbF9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDNfMTgucG5nIl1d/Screenshot_2014-10-07-17-03-18.png?sha=5d7b570d" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMDcvNXJhaXJ1MHpxbF9TY3JlZW5zaG90XzIwMTRfMTBfMDdfMTdfMDNfMTgucG5nIl0sWyJwIiwidGh1bWIiLCI0ODB4MzIwXHUwMDNlIl1d/Screenshot_2014-10-07-17-03-18.png?sha=d6e9b466" class="img-responsive img-thumbnail" alt="false"></img></a></div><div class="image-container"><a preview-image="true" href="/media/W1siZiIsIjIwMTQvMTAvMDcvaWJ3Yjk1enRkX1NjcmVlbnNob3RfMjAxNF8xMF8wN18xN18wMl8wMC5wbmciXV0/Screenshot_2014-10-07-17-02-00.png?sha=d4ae32c9" title="false"><img src="/media/W1siZiIsIjIwMTQvMTAvMDcvaWJ3Yjk1enRkX1NjcmVlbnNob3RfMjAxNF8xMF8wN18xN18wMl8wMC5wbmciXSxbInAiLCJ0aHVtYiIsIjQ4MHgzMjBcdTAwM2UiXV0/Screenshot_2014-10-07-17-02-00.png?sha=70fa05e9" class="img-responsive img-thumbnail" alt="false"></img></a></div> Wed, 08 Oct 2014 02:00:00 +0200 http://macbury.ninja/2014/10/enklawapod-0-1 http://macbury.ninja/2014/10/enklawapod-0-1