Category: General

  • I just donated to Wikipedia

    After reading a blog post from someone who donated to Wikipedia because they use it a lot, I realised I use it a lot too, so I decided to donate too. Unfortunately I can’t quite remember who’s post it was, but thank you whoever you are!
    I donated $30. You should too if you like Wikipedia, and you use it.

  • Apache [warn] RSA server certificate CommonName (CN) does NOT match server name!?

    Apache was giving me lots of errors like this on my host that has multiple virtual hosts on it.

    [Mon Nov 10 13:54:01 2014] [warn] RSA server certificate CommonName (CN) `www.xxx.com.au' does NOT match server name!?
    [Mon Nov 10 13:54:01 2014] [warn] RSA server certificate CommonName (CN) `www.yyy.com.au' does NOT match server name!?
    [Mon Nov 10 13:54:01 2014] [warn] RSA server certificate CommonName (CN) `www.zzz.co.uk' does NOT match server name!?
    [Mon Nov 10 13:54:01 2014] [warn] RSA server certificate CommonName (CN) `www.cocolo.com.au' does NOT match server name!?
    [Mon Nov 10 13:54:01 2014] [warn] RSA server certificate CommonName (CN) `www.aaa.com.au' does NOT match server name!?
    [Mon Nov 10 13:54:01 2014] [notice] Apache/2.2.22 (Debian) PHP/5.4.4-14+deb7u14 mod_ssl/2.2.22 OpenSSL/1.0.1e configured -- resuming normal operations
    

    After a little investigation it turned out the CN in the certificate was set to www.domain but the vhost’s ServerName was set to www-less.
    The solution turned out to be to ensure the vhost ServerName == the CN in the certificate. You can examine certificate with:

    certtool -i < domain.cert

    And in the vhost, make sure there is a ServerAlias for the www-less version:

    ServerName www.domainname.com.au
    ServerAlias domainname.com.au
    .
    .
    .
    
    

    a few less warnings in the logs now. Phew!

  • How to factory reset a Yealink phone

    If you ever need to do a factory reset on a Yealink phone, maybe if you forgot the admin password, simply hold the OK key down for 10 seconds and follow the prompts.
    Thanks to Langineers for that tip.

  • LED Clock Project

    LED Clock Project

    For a long time I have wanted a bedside clock that would keep accurate time via some external mechanism, and would take care of daylight savings automatically. I eventually decided that the best approach would be to use a wifi enabled device and use the NTP protocol for keeping the time accurate.
    After wasting several months hacking away on an Olimex IMX 233 that never worked reliably, I decided to change platform to the Beaglebone Black (BBB).
    Along the way I realised there were a few other features I needed:

    • LEDs should dim with the ambient light so the clock doesn’t light up the whole bedroom
    • The display needs to be big enough for me to read from across the bedroom without my glasses on.
      To make them dimmable I decided to get a pair of
      I also needed a power supply that could give 12v for the LED drivers but 5v for the BBB. I found a nice little board on ebay for a few bucks that seems to do the trick. Its called the Benq 12v-5v-3.3v
      I hooked that up tonight so now I only need the one power supply to run the LEDs and the BBB.

  • My uranium mug is not radioactive

    My uranium mug is not radioactive

    A while ago I broke my favourite mug. After a long and difficult search I found a new mug. A mug with the periodic table of elements entry for uranium on it. It also glows in the dark. Gav from the hacker space has a Geiger counter so I took the opportunity to measure the radioactivity of my mug. Luckily it’s not radioactive at all. Only 0.106μSv/h (micro Sieverts per hour).

  • LED down light comparison website – www.ledbenchmark.com

    LED down light comparison website – www.ledbenchmark.com

    I’ve wanted a reliable source of information on LED light bulbs for a long time. Well apparently it does exist. ledbenchmark.com have brief reviews and comparisons of many blubs and it seems to be done in a nice scientific way.
     
    Image By Mcapdevila [CC-BY-SA-3.0], via Wikimedia Commons

  • Windows 7 Visual FoxPro ODBC Driver

    Microsoft have made it virtually impossible to find out how to get this driver for Windows 7.
    If you are getting the error “You must first install the current version of the Visual FoxPro ODBC Driver”, you need to download this driver and install it.
    Tthe file you are after is called VFPODBC.msi and can be downloaded directly from Microsoft at the time of writing. No doubt they will move that link to ensure no one can find it again.
    http://download.microsoft.com/download/vfoxodbcdriver/Install/6.1/W9XNT4/EN-US/VFPODBC.msi
    To use it on a 64 bit windows system, you need to run the 32  bit version of ODBC: C:\Windows\SysWOW64\odbcad32.exe
    [update 2016-07-20]
    or you could download it from here. I’ve tested and it seems to install fine in Windows 10, but I haven’t tested if it works as I don’t use FoxPro any more.
    VFPODBC.msi.xz

    filename md5sum</>
    VFPODBC.msi 4fbb57a7efabde9925af86a239e5c93c
    VFPODBC.msi.xz aa85ab82c179e4c6b2ee9200b81f8956
    filename sha512sum</>
    VFPODBC.msi 84aa3f1bf8dd45c7f25575a69b55672b
    4f91eadfbcd29ceefaea3dbc1aedcb952c4a
    8d14290fe8da0039d5d5dd681f1a86d7cf74
    13d0aa36467a8ed2eeb7c8ed
    VFPODBC.msi.xz 97bd6301442320df590f87cde5ffa23f
    b10f45532c0a791be9ab4c2a5628474d7039
    876b86593bb96561d496bcb597353bba0cbb
    af7b54a7f0a6fd7e052a92a2

    Free Palestine!

  • Top 3 tips for migrating a server to a virtual machine

    I recently migrated a server to a virtual machine, and while it was mostly a smooth process, I did encounter a couple of problems.

    • Ensure that any licensing services will run on the new virtual hardware. Our accounting system’s license server wouldn’t run until it was set up with new licenses.
    • Check date and time are correct on the new host and guest vm.
    • Make sure the server is set to use a static IP addresses before migrating.
  • How to make a bootable usb stick in Windows 7 of a debian iso

    Every so often I need to make a bootable USB stick in Windows 7 (64 bit) of a debian installer iso. For some reason my googling usually does not reveal a simple solution for this.
    I asked on #debian on the OFTC network and got various suggestions. The first suggestions were to use win32 compiled variants of dd or rawwrite. The problem is that there seems to be multiple versions of these tools out there and the ones I tried all seemed to have issues of one sort or another, mostly to do with dd complaining that it would not run on 64 bit Windows. My other issue is that they are command line based. Not that I mind using the command line but it does feel fiddly when all you want to do is get on with writing the image to the USB stick so you can install Debian.
    Next I came up with unetbootin. This looks promising and seems to work but it does some very strange rewriting of the boot menus you get on the resulting USB stick. I was confused by the menus when I first saw it and I’m sure novice users would have no idea what to do.
    Finally dvs on #debian suggested win32diskimager. This is exactly what I wanted. A point and click solution.

    screenshot of win32diskimager
    screenshot of win32diskimager

    Select the DVD image you want. If the file’s extension is .iso you’ll need to change the filter from *.img;*.IMG to *.* in order to see the file. Then select the Device you want to write to. Hit Write and go and have a cup of tea while it writes the ISO to the USB stick.

  • Programmatic CAD, OpenSCAD alternatives

    There are quite a few programatic CAD, OpenSCAD alternatives out there. I am collecting a list of them and providing links to them here. The requirements to be included in this list are:

    • Free and libre.
    • They are a programming language as opposed to a GUI.

    OpenSCAD: The most well known programmatic CAD program. Probably the original open source one that I am aware of.openscad screenshot
    CoffeeSCad: Solid CAD modeling in your browser, with a CoffeeScript based syntax (and lots more!)coffeescad screenshot showing code edit window and a rendered cube
    ImplicitCAD: Powerful, Open-Source, Programmatic CAD. Haskell and extopenscad.edit area and rendered object in ImplicitCad
    RapCAD: Rapid prototyping CAD IDE for RepRap and RepStrap 3D printing machines.code edit window of RapCAD with rendered line next to it
    OpenJSCAD: OpenSCAD + JavaScript = OpenJSCAD, edit locally or remote online, preview in browser direct via WebGL.
    screenshot of OpenJSCAD
    FABFabbers bills itself as “a new site for the 3d printing community”. It provides in browser OpenSCAD compilation and linking to github projects.FABFabbers screenshot
    Update: Atomic let me know about BRL-CAD, the free military-grade antecessor to all of these.
    BRL-CAD mged graphics window
    BRL-CAD mged command window
    Update 2: gzmask pointed out SchemeCad, a programmable 3D CAD tool that supports wireframe models and features animation. Users can program Scheme Cad by writing extensions in Scheme (a dialect of LISP). It’s available for Windows and Linux.
    screenshot of scheme-cad
    Update 3: CScheme is the integration of geometric kernels in a functional language.
    screenshot of cscheme website

    ;export the model
    (define (print-brep shape filename)
      (BRepTools_Write shape filename))
    ;translate an object
    (define (translate obj x y z)
      (let ((vec (make-object gp_Vec% x y z))
            (trsf (make-object gp_Trsf%)))
        (begin
          (send trsf SetTranslation vec)
          (send (make-object BRepBuilderAPI_Transform% obj trsf #t) Shape))))
    ;make a structure from two given object
    (define (structure obj1 obj2)
      (let ((compound (make-object TopoDS_Compound%))
            (builder (make-object BRep_Builder%)))
        (begin
          (send builder MakeCompound compound)
          (send builder Add compound obj1)
          (send builder Add compound obj2)
          compound)))
    ;make a structure from a list of object
    (define (composite lis)
      (if (list? lis)
        (cond
          ((= (length lis) 0) (error "empty list"))
          ((= (length lis) 1) (car lis))
          (else (make-compound (car lis) (composite (cdr lis)))))
        (error "Not a list")))
    ;build a torus
    (define (torus radius circle)
      (make-object BRepPrimApi_MakeTorus% radius circle))
    ;build a sphere
    (define (sphere radius)
        (make-object BRepPrimApi_MakeSphere% radius))
    ;calculate the torus dimension
    (define (radius z)
      (sqrt (- 1 (* z z))))
    ;make all torus objects
    (define (torus-on-sphere the-list)
      (composite
        (map
          (lambda (z) (translate (torus (radius z) 0.05) 0.0 0.0 z))
          the-list)))
    Final export operation
    ;export the model
    (print-brep
      (structure
        (sphere 0.3)
        (torus-on-sphere (list -0.93 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 +0.93)))
      "./torus.brep")

    and PLaSM: a functional language for computing with geometry.

    screenshot of plasm website

    DEF points1 = <<0,0,0>,<0,3,4>,<0,6,3>,<0,10,0>>;
    DEF points2 = <<3,0,2>,<2,2.5,5>,<3,6,5>,<4,8,2>>;
    DEF points3 = <<6,0,2>,<8,3,5>,<7,6,4.5>,<6,10,2.5>>;
    DEF points4 = <<10,0,0>,<11,3,4>,<11,6,3>,<10,9,0>>;
    DEF dom = intervals:1:12;
    MAP:(beziersurface:< points1 , points2 , points3 , points4 >):
    (dom * dom);

    Thanks to Kristoffer Josefsson for those two.
    Update 4: Parametric Parts allows consumers to create and print 3D parts through our web-based platform. Anyone can make an idea come to life, even without technical expertise or prior 3D experience. It apparently uses  CadQuery for its backend.
    CadQuery is an intuitive, easy-to-use python based language for building parametric 3D CAD models. CadQuery is for 3D CAD what jQuery is for javascript. Imagine selecting Faces of a 3d object the same way you select DOM objects with JQuery! Thanks to Monique for pointing them out.
    screenshot of parametricparts website
    Pierre left a comment to let me know about POV-Ray.  The Persistence of Vision Raytracer (POV-Ray) is a high-quality, Free Software tool for creating stunning three-dimensional graphics. The syntax looks very similar to OpenSCAD and C.

    #include "colors.inc"
    camera{
      location <4, 4, -10>
      look_at 0
      angle 36
    }
    light_source{ <500, 500, -1000> White }
    plane{ y, -1.5
      pigment{ checker Green White }
    }
    union{
      box{ -1, 1 }
      sphere{ 0, 1.375 }
      pigment{ Red }
    }

    screenshot of povray of sphere unioned with a cube
    Let me know if I’ve left any off the list?