• ThreeJS is tricky, but awesome.

    Date: 2014.09.12 | Category: blender, nfc, nfc ring, threejs

    Over the past few months I have been using ThreeJS to create a 3D model of the NFC Ring.

    ThreeJS from Wikipedia:

    Three.js is a lightweight cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. Three.js scripts may be used in conjunction with the HTML5 canvas element, SVG or WebGL.

    The ThreeJS community is actually really helpful, I’m not saying other communities aren’t helpful or useful I just found that the ThreeJS community did a lot more to help get me started.  There are also quite a few demostration videos online that can be used as reference material.

    The real power of ThreeJS comes when you mix it with the power of Blender.

    Blender from Wikipedia:

    Blender is a professional free and open-source 3D computer graphics software product used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games. Blender’s features include 3D modeling, UV unwrapping, texturing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, camera tracking, rendering, video editing and compositing. Alongside the modeling features it also has an integrated game engine.

    At first I was completely stuck, the video tutorials were out of date and the documentation far too fuzzy, finally I met someone on IRC who did the type of task I was trying to to accomplish every day as his day job.  Things fell into place quickly, so quickly I thought it would be worthwhile putting together a video showing how easy the process is to model an object and export it as something that can be used in ThreeJS:

    Canvas is pretty much a no-go for the work I’m doing, it’s nice to have the fallback options there but Canvas just doesn’t have the features I need to display a ring in all of it’s glory.  With that in mind if a user wants to see the ring and doesn’t have WebGL supported they are shown a message how best to upgrade their browser.

    Finally we should note both three.js and blender are open source projects, completely free and depend on community donation and support. They are both evolving under great leadership and they deserve the credit and respect they get.

    This is what I was able to accomplish, I’m pretty proud of it.

    You can see the source code and access the assets here

  • Living with 2560 pixels wide.

    Date: 2014.08.28 | Category: hardware, review

    Super widescreenSo you might be pondering if you should go “super-widescreen”, what are the pro’s/con’s for someone like you?  I’m going to assume as you are reading my blog you don’t spend the majority of your time glued to pointless dribble on Facebook, if you do then this post isn’t for you.  Move along, use whatever Apple tell you to use.

    What you are seeing on the picture above is a 34″ LG 2560×1080 display that set me back about 500 British quid.  Not a cheap investment but I figured I’d bite the bullet as my monitors were getting old and squealing when in low power mode (probably only caused by caps going but I wanted to tidy up my desk anyway) and was curious how my workflow would change with one monitor.

    So 2560×1080, that’s a lot of pixels, but not as many as I had before when I had 2x 24″ monitors, one horizontal, one vertical.  First things first, I miss my vertical display, only for writing code.

    My desk is a lot tidier with this, however I can’t rotate the monitor to be portrait which is a huge negative.

    Here is a print screen of my blog at 2560px:

    Screenshot from 2014-08-28 13:38:50

    For me, that’s a poor UX because the meta data is just so far away, a quick fix for this would be to have a max-width property in the CSS of WordPress but obvious this isn’t enabled by default.

    I loved using etherdraw/gimp/inkscape/blender with this monitor, so much pixel space is so valuable when using those apps.

    For work, I use it exactly as if I had two monitors side by side, however no bezel is nice for mouse flow.  When writing I find I very rarely run full screen, mostly because the view between the beginning/end of the object is just too far.  When doing 3d modeling (Blender) having the extra px is awesome.

    For gaming and consuming video, this setup is superior, sadly I do less and less of that nowadays.  Project Zomboid was great however Runner2 isn’t setup to use the additional pixels so it really depends on the type of game you play and if you need additional reference material when playing the game(such as you would if playing Project Zomboid).  If you are pondering getting one of these monitors I’d check to see if the game you are going to play on it supports 2560×1080 resolution.

    TLDR;  Good for most gaming, good for 3d model work, image editing, good for movie watching.  No better for word processing, blog publishing, code writing.  If anything my code writing will be more difficult without a vertical monitor.


  • XBMC, Transmission, Flexget, Youtube-DL.

    Date: 2014.04.28 | Category: open source, opensource

    With these pieces of software your torrents/TV shows and Youtube subscriptions automatically download to one easy to use interface(XBMC).

    You can also use this interface to access streaming video services such as iPlayer and Radio services such as Radio 1 Extra.  Using the XBMC Remote app on your smart phone you can control your video streaming with the usual buttons (pause/play/skip etc.).

    There are no Ads on your Youtube subscriptions and Ads can be skipped if they are embedded in the videos by the content uploader.

    I’d recommend using a laptop instead of a Pi, the Pi just doesn’t have enough grunt for this type of setup.  Basically next time you have an old laptop lying around and you are thinking of a use for it, spend a few hours whacking linux and these tools on it and you wont look back.

  • Plastic Vs Metal phone bodies – HTC One M8

    Date: 2014.04.28 | Category: review

    I recently found myself owning a HTC One M8, all of the reviews looked great.  However I have a huge gripe with the metal body.  While this phone looks great metal bodies fail for these 3 reasons:

    1, Slippy.  Because the phone body is metal and because the edges are far too rounded the phone slides out of your hand far too easily.  It’s also way too big for an average sized hand but I kinda got used to this.

    2. Cold to touch.  Admittedly I’m probably one of a handful of people that lives in an old, cold house.  This phone just becomes a horrible thing to touch when it’s been left out in a cold room over night when the heating is off.

    3. NFC.  The NFC support on this phone only really works where the camera lens is, this is probably mostly due to the metal body, I can imagine the discussion went something along the lines of..  Engineer: Yea but it will affect phone signal and NFC performance..  Sales guy: “Yea but SHINY!”…  We need to grow up and use the right materials, not just the ones that are the most ascetically pleasing.  A phone is not a piece of jewellery.

    Thankfully the Dot view case solves all 3 of these problems.  It’s disappointing but understandable that the LED output isn’t visible in direct sunlight conditions.  The case also serves as a nice little stand keeping the phone tilted to you in landscape mode when placed flat on a surface.

    I also wish this phone came with less bloat-ware, ugh!

  • Video conferencing within Etherpad

    Date: 2014.04.26 | Category: etherpad

    If you are working with anything that requires and privacy or security it’s pretty clear doing this on a publicly facing web service is risky, everyone has been left shaken from Heartbleed.  We will get over this issue but until that point we wanted to remind people you can do local real time document editing sharing and video conferencing so we put up VEtherpad.  VEtherpad is Etherpad with a webrtc plugin installed.  The webrtc plugin introduces Video and Audio chat functionality to pad members.

    Think to yourself next time you are using a Google/Microsoft service locally in your organization, do you really want to take the risk of your document/data being leaked?

    VEtherpad empowers you and it’s free / open source and easy to deploy.  There is really no reason you wouldn’t have a bash!

- My Brain made this.