You can type mathematical symbols into emacs using the TeX input method.
C-\
TeX <enter>
\ohm
\therefore
\pi
C-\
will toggle the input method on and off. Note the \ indicator in the bottom left of the status bar.
Author: Jason
-
typing mathematical symbols into emacs using the TeX input method
-
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.xzfilename md5sum</> VFPODBC.msi 4fbb57a7efabde9925af86a239e5c93c VFPODBC.msi.xz aa85ab82c179e4c6b2ee9200b81f8956 filename sha512sum</> VFPODBC.msi 84aa3f1bf8dd45c7f25575a69b55672b
4f91eadfbcd29ceefaea3dbc1aedcb952c4a
8d14290fe8da0039d5d5dd681f1a86d7cf74
13d0aa36467a8ed2eeb7c8edVFPODBC.msi.xz 97bd6301442320df590f87cde5ffa23f
b10f45532c0a791be9ab4c2a5628474d7039
876b86593bb96561d496bcb597353bba0cbb
af7b54a7f0a6fd7e052a92a2 -
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.
-
Anacron run-parts: /etc/cron.daily/amavisd-new exited with return code 1
I’ve been getting messages like the ones below from cron my debian box for some time now. I finally got sick of seeing them and I tracked down the error.
/etc/cron.daily/amavisd-new:
Please run this cronjob as user amavis
run-parts: /etc/cron.daily/amavisd-new exited with return code 1
At some point the debian package moved the cron config file from /etc/cron.daily/amavisd-new to /etc/cron.d/amavisd-new but for some reason when upgrading, it does not remove the old config file, leaving you with an erroneous file.
All you need to do is delete /etc/cron.daily/amavisd-new and the messages should go away. -
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
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.
CoffeeSCad: Solid CAD modeling in your browser, with a CoffeeScript based syntax (and lots more!)
ImplicitCAD: Powerful, Open-Source, Programmatic CAD. Haskell and extopenscad.
RapCAD: Rapid prototyping CAD IDE for RepRap and RepStrap 3D printing machines.
OpenJSCAD: OpenSCAD + JavaScript = OpenJSCAD, edit locally or remote online, preview in browser direct via WebGL.
FABFabbers bills itself as “a new site for the 3d printing community”. It provides in browser OpenSCAD compilation and linking to github projects.
Update: Atomic let me know about BRL-CAD, the free military-grade antecessor to all of these.
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.
Update 3: CScheme is the integration of geometric kernels in a functional language.
;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.
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.
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 } }
Let me know if I’ve left any off the list? -
Emacs: yank a line multiple times from the kill ring
Today I needed to copy a line multiple times in emacs. I needed 8 copies, but how to do that in emacs short of pressing C-y to yank 8 times? My initial guess was to try C-u 8 C-y but that yanks the 8th item from the kill ring.
Fuco on #emacs supplied the awesome answer:
F3 C-y C-8 F4
So what does that do? F3starts recording a macro, C-yyanks the line, then within the macro itself you can add a numeric argument of 8 using C-8. End recording of the macro with F4. Emacs then runs the macro 8 times. Recall that pressing F4 after ending recording of the macro runs the macro. -
Setting alternate hreflang in WordPress
UPDATE 2013-05-03:
After writing this I found out my approach was incorrect. I have since removed the code as it was not useful.
Dan’s team was kind enough to point me to Virgin Australia‘s site. If you inspect the source and search for hreflang, you’ll see how it should be done.
/UPDATE
After seeing the excellent talk by Dan Petrovic at the Melbourne WordCamp, I went to find out more about the <link rel=”alternate” hreflang=”en-AU” href=”http://somesite.com.au/” />. He has an article describing it. Essentially if you have multiple sites that have similar content (but not exactly the same) then you can instruct google that the sites serve different regions by using the rel=alternate hreflang=”en=gb” options for the link tag.
A common scenario that you might find this useful would be in online stores where there is a different store for each country.
eg. for site somesite.com.au you want a <link> tag like this:
<link rel=”alternate” hreflang=”en-AU” href=”http://somesite.com.au/” />
and for somesite.com you might want a tag like this:
<link rel=”alternate” hreflang=”en-US” href=”http://somesite.com/” />
and you want to remove the rel=”canonical” option too.
I couldn’t find a plugin that would implement this in WordPress so I wrote one and put it up on github. Yoast does not have an option for this as far as I can tell.
At some point I might put it up on wordpress.org too if it seems like there is interest in it.