maidstone-hackspace/website/static/html/blog.htm

123 lines
20 KiB
HTML
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:sa="/">
<head>
<link rel="stylesheet" id="navigationCss" href="/static/css/materialize.css" media="" type="text/css" />
<link rel="stylesheet" id="navigationCss" href="/static/css/default.css" media="" type="text/css" />
<link rel="stylesheet" id="navigationCss" href="/static/js/jquery-ui/themes/base/jquery-ui.css" media="" type="text/css" />
<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-navigation-white.css" media="" type="text/css" />
<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-action-white.css" media="" type="text/css" />
<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-content-white.css" media="" type="text/css" />
<script type="text/javascript" src="/static/js/jquery-2.2.3.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-animate.js"></script>
<script type="text/javascript" src="/static/js/materialize.js"></script>
<script type="text/javascript" src="/static/js/default.js"></script>
<link rel="icon" type="image/png" href="/static/images/favicon.png">
</head>
<body>
<div id="headerstrip" class="row"><nav class="navstrip"><div class="navstripleft col s6"><a id="mini_logo" href="/login"><img src="//http://127.0.0.1/static/images/hackspace.png" class="mini-logo"></a><span class="mini-logo-text">Maidstone Hackspace</span></div><div class="col s6 offset-s8 social"><div class="socbtn"><a href="https://twitter.com/share" class="twitter-share-button" data-via="https://maidstone-hackspace.org.uk/" data-hashtags="mhackspace">Tweet</a></div><div class="socbtn"><div class="fb-share-button" data-href="https://maidstone-hackspace.org.uk/" data-layout="button_count"></div></div><div class="socbtn"><script type="IN/Share" data-url="https://maidstone-hackspace.org.uk/" data-counter="right"></script></div><div class="socbtn"><div size="standard" class="g-plusone" data-href="https://maidstone-hackspace.org.uk/" data-size="medium" data-annotation="bubble" count="true"></div></div></div></nav></div>
<div id="menubar" class="row" ><nav class="col s10 offset-s1" >
<ul>
<li class="active mi0"><a href="/" >Home</a></li>
<li class="mi1"><a href="/chat" >Chat</a></li>
<li class="mi2"><a href="/donate" >Donate</a></li>
<li class="mi3"><a href="/contact-us" >Contact</a></li>
<li class="mi4"><a href="/mailing-list" >Group</a></li>
<li class="mi5"><a href="/login" >Login</a></li>
</ul>
<div style="clear:both;"></div>
</nav></div>
<div class="row"><div class="page col s10 offset-s1" >
<header class="pageHeader">
blogs</header>
<section class="pageSection col s12">
<div class="col">test1</div><div class="col">test2</div><div style="clear:left;"></div></section>
<section class="pageSection col s12">
<div class="col s12"><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://webboggles.com/wp-content/uploads/2016/03/IMG_0985.jpg);background-size:contain;"></div><header class="tile-header"><h2><a href="http://webboggles.com/spectacular-vr-for-nexus-5/">Spectacular VR for Nexus 5</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>This is a quick and easy 3D print that turns a Nexus 5 phone into a VR device, inspired by google cardboard. DIY: STL files on Thingiverse 2x M3 bolts and nuts are required, or just use cable ties. 2x 28mm bi-convex lenses (The lenses can be ordered on ebay for a couple of pounds)</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images//gtk/gtk_print_example_01.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/gtk3/printing.htm">Printing with Cairo GTK3 and python</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Example demonstrating how to draw a graphic and position it on a page for printing complete with preview and printer settings dialog.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://webboggles.com/wp-content/uploads/2016/02/IMG_0165B.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://webboggles.com/attiny85-game-kit-assembly-instructions/">Attiny85 Game Kit Assembly Instructions</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>I have updated the Attiny85 keychain game making it easier to source and assemble. The new snap case has been updated to allow enough height for the screen header as well as a factory made CR2032 battery holder. The buttons have been concealed to prevent spontaneous button presses inside bags and pockets. Below is a … <a href="http://webboggles.com/attiny85-game-kit-assembly-instructions/" class="more-link">Continue reading <span class="screen-reader-text">Attiny85 Game Kit Assembly Instructions</span></a></p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_window_list.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/grid_layout.htm">Class for generating a grid to position and size windows</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>This is a helper class to split an area up into increasingly smaller areas.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img"></div><header class="tile-header"><h2><a href="http://webboggles.com/attiny85-ufo-escape-keychain-game/">Attiny85 UFO Escape Keychain Game</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>UPDATE: assembly instructions I finally had some free time to make something fun and decided to write a new game for the Attiny85 ssd1306 keychain.  I reused the sleep, display and interrupts code from the “Breakout” game I created a while ago. This time I wanted a more addictive game. The game had to be … <a href="http://webboggles.com/attiny85-ufo-escape-keychain-game/" class="more-link">Continue reading <span class="screen-reader-text">Attiny85 UFO Escape Keychain Game</span></a></p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_splash.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/png_image_loader.htm">XCB loading and displaying images</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Helper class which will load in a png and convert it ready for display in a X window.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://webboggles.com/wp-content/uploads/2015/12/charlieplex14.gif);background-size:contain;"></div><header class="tile-header"><h2><a href="http://webboggles.com/attiny85-charlieplexed-makerbot-snow-shades/">Attiny85 Charlieplexed Makerbot Snow Shades</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>I decided to light up the Snow Shades by MakerBot for a party using an Attiny and some LEDs. I mocked up LED position and animation: Then worked out the wiring using the Attinys 5 pins. Modified the model in Blender to allow space for the microchip and LEDs. Model files on Thingiverse. Using strands … <a href="http://webboggles.com/attiny85-charlieplexed-makerbot-snow-shades/" class="more-link">Continue reading <span class="screen-reader-text">Attiny85 Charlieplexed Makerbot Snow Shades</span></a></p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_sdir.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/sdir_utility.htm">XCB utility method for examing available methods</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Simple extended dir function for inspecting xcb.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/thumbs/effectivepython.jpg);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/reviews/effectivepython.htm">Review of "Effective Python"</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Short review of "Effective Python"</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://webboggles.com/wp-content/uploads/2015/08/gmaps_data.jpg);background-size:contain;"></div><header class="tile-header"><h2><a href="http://webboggles.com/loading-csv-markers-data-to-google-maps-api/">Loading CSV markers data into Google Maps API</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>Here is a nifty solution designed to populate a google map with geo location markers and infowindow popup boxes. Please enable iframes to view the content First youll need to get a Google Maps API developer key. Then we need to prep the data — we need a csv table with a title, content, latitude … <a href="http://webboggles.com/loading-csv-markers-data-to-google-maps-api/" class="more-link">Continue reading <span class="screen-reader-text">Loading CSV markers data into Google Maps API</span></a></p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_window_keyboard_events.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/keyboard_events.htm">Handling X keyboard events</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Example demonstrating handling X keybaord events.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img"></div><header class="tile-header"><h2><a href="http://webboggles.com/blue-screen-of-death-caused-by-wacom-driver/">Blue Screen of Death Caused by Wacom Driver</a> <br />By Ilya Titov</h2></header><div class="card-content content"><p><p>So if you get a blue screen of death when using a Wacom Intuos Pro tablet on your desktop, the Wacom driver may be to blame. The error message reads DRIVER_POWER_STATE_FAILURE 0x0000009f In my case the issue was preceeded by the tablet switching off when I plugged the usb cable in. To fix the issue, … <a href="http://webboggles.com/blue-screen-of-death-caused-by-wacom-driver/" class="more-link">Continue reading <span class="screen-reader-text">Blue Screen of Death Caused by Wacom Driver</span></a></p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_window_mouse_events.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/mouse_events.htm">Handling X mouse events</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Example demonstrating handling X mouse events.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_window.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/window_creation.htm">Creating a simple window</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Example on creating new window and attaching them to the root window.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_extension_screen_sizes.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/screen_sizes.htm">Querying display information</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Example on detecting screen sizes and number of screens in a multi head setup.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/thumbs/appaccomplished.jpg);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/reviews/appaccomplished.htm">Review of "App Accomplished"</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Short review of "App Accomplished"</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_extension_list.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/extensions.htm">Querying Extensions</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Query available extensions and checking for availability.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_debugging.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/debugging_x.htm">Debugging with XCB</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Debugging XCB and catching errors and exploring the library.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/properties_and_atoms.htm">Using properties and atoms</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>This example shows how to get properties and use atoms.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/xcb_window_list.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/query_windows.htm">Retrieving window details</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Howto get a list of open windows and there titles.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img" style="background:center no-repeat url(http://digitaloctave.co.uk/static/images/x/synaptics.png);background-size:contain;"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/building.htm">Generating a debian package</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Using launchpad we will create a ppa which will automatically generate your package from the standard debian packaging files.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/login.htm">Create a new login greeter entry</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Populate a listbox with custom widgets, in this case an example file downloader.</p></p></div></div></div><div class="tile col s4"><div class="tile-border card"><div class="tile-img"></div><header class="tile-header"><h2><a href="http://digitaloctave.co.uk/pages/desktop_enviroment/packaging.htm">Create your project repository</a> <br />By Oliver Marks</h2></header><div class="card-content content"><p><p>Howto create a new project and push it to launchpad.</p></p></div></div></div></div></section>
<footer class="pageFooter col s12">
</footer>
</div></div>
<div id="footer"><div id="footertop"></div><div id="footerbottom"><div class="container"><div class="copyright">&copy;2016 Maidstone Hackspace</div><div mailing-list-signup class="google-groups-signup"><h3>Signup and make yourself known</h3><form class="block" name="signup" method="get" action="https://groups.google.com/group/maidstone-hackspace/boxsubscribe"><label for="groups-email">Email Address</label><input id="groups-email" name="email" class="required"/><button type="submit" />Subscribe</button><a href="http://groups.google.com/group/maidstone-hackspace">View Group</a></form><div style="clear:both;"></div><div></div></div><div>
<!--google analytics-->
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script src="//platform.linkedin.com/in.js" type="text/javascript"> lang: en_US</script>
<div id="fb-root"></div><script><!--//--><![CDATA[//><!--
//facebook share
(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.3";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));
//]]></script><script type="text/javascript" ><!--//--><![CDATA[//><!--
var app = angular.module('myApp', ['ngAnimate']);
app.controller('sliderController', function($scope, $interval) {
$scope.currentSlide = 0;
$scope.autoSlide = true;
//$scope.length = 0;
$scope.next = function() {
$scope.autoSlide=false;
if ($scope.currentSlide < $scope.length - 1){
$scope.currentSlide += 1;
}else{
$scope.currentSlide = 0;
};
}
$scope.prev = function() {
$scope.autoSlide=false;
if ($scope.currentSlide > 0){
$scope.currentSlide -= 1;
}else{
$scope.currentSlide = $scope.length - 1;
}
}
$scope.isCurrentSlideIndex = function (index) {
return $scope.currentSlide === index;
};
$scope.loopSlides = function (index) {
if ($scope.autoSlide==false){return false;}
if ($scope.currentSlide < $scope.length - 1){
$scope.currentSlide += 1;
}else{
$scope.currentSlide = 0;
}
};
$interval(function(){$scope.loopSlides();}, 5000);
});
$(document).ready(function(){
$('#mini_logo').on("click", function(e){
e.preventDefault();
$('#member_navigation').toggle();
});
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-63373181-1', 'maidstone-hackspace.org.uk');
ga('send', 'pageview');
//]]>
</script>
</body>
</html>