Cygwin without Windows administrator access

This is really simple, but useful. Especially since I have a work-provided computer and the IT people don’t give us members of the proletariat administrator access. ‘Cos, you know, we’re unreliable and might do something crazy. Now, I could get back at them by wasting their time getting them to do every little thing for me. (‘Ticket #12456: I’d like a different screensaver picture, please.’) But that’s petty and not good for my reputation. So it’s useful to look at installing things without admin rights. MikTeX works that way, and so does cygwin. Even if they will install cygwin for me (they would, I’m pretty sure), I don’t want to have to put in a job request every time I want to install a cygwin package. Fortunately, it’s no big deal. It’s designed that way.

(A) Went to cygwin.com and downloaded setup*.exe

(* is just x86 or x86_64, depending on your bits)

(B) Created C:\Users\username\installs\cygwin and put it in there

Opened a command window (cmd.exe). In the command windows, typed:

H:\> C:
C:\> cd C:\Users\username\installs\cygwin
C:\Users\username\installs\cygwin> setup-x86_64.exe --no-admin

Then clicked through in the usual way. This installed cygwin to C:\cygwin64

For future use, I created a batch file, cygwin_update.bat

and all that is in it is:

C:\Users\username\installs\cygwin>setup-x86_64.exe --no-admin

and I put it in my path. Now, also simple to make a Windows shortcut

  1. Right click on setup-x86_64.exe, select ‘Make shortcut’

  2. Right click on setup-x86_64.exe - Shortcut, select ‘Properties’

  3. Look in the ‘Target’ box. It should say something like:

    1. C:\Users\username\installs\cygwin\setup-x86_64.exe

  4. Just add the flag to the end of this

    1. C:\Users\darren\installs\cygwin\setup-x86_64.exe --no-admin

  5. Rename the shortcut to something more useful, like ‘Cygwin Setup

  6. To update or install new packages, double click the shortcut.

The batch file and the short cut.

That’s it.

Bossypants by Tina Fey: A view from outside.

How many people who’ve read this book have never seen an episode of 30 Rock or SNL? Not many, I’m guessing. But I am one such. SNL has never to my knowledge been shown on free-to-air TV in Australia (and I’ve yet to see a compelling reason to pay for TV). 30 Rock has been on Aussie TV, but slid past my radar of the time.

<img class="size-medium wp-image-3387" src="https://darrengoossens.files.wordpress.com/2017/04/bossypants.jpeg?w=188" alt=""

It’s a good book. The stuff of greatest value (at least for me as a white male) outlines the biases (conscious and unconscious) that she faced moving upwards in the comedy business. I’ve seen the same prejudices in science and heard of it in so many fields, I always end up wondering how many potentially fantastic talents have been stifled, often intentionally. Sadly, a second theme, or at least undercurrent, is that these biases are overcome through patronage rather than cultural change. One enlightened individual in a position of power makes all the difference.

It’s a funny, easy read. Made me laugh out loud in a few places, and was consistently amusing and often insightful. Recommended if you like comedy or autobiographies or yellow. And it’s not a problem if her shows are not familiar, though they do feature heavily — after all, they are a big part of the setting of her story.

What sort of typewriter is that? A Lettera 32?

Extra ultra super glue.

Just a useful trick. Some people use the word ‘hack’ for stuff like this, but I … don’t.

However, I will say that I have found that super glue, by which I mean cyanoacrylate glue, is lousy for fixing the plastic that most kids’ toys are made from. However, some companies now sell a double-pack for fixing that kind of stuff — it’s sometimes called ‘Toy Fix Glue‘ or similar.

You can buy it, but it costs a premium, and what is in the pack is a felt-tip marker filled with MEK or something very similar, and a tube of what smells a lot like super glue. Now, you’ll pay something like $10 for this tube of super glue and a few ml of this primer. It works, though.

But, instead, I prefer to pay like $2.50 for a multi-pack of no-name super glue and then go to the plumbing section and get a container of primer for joining PVC pipes for about $6. Now, this primer can be coloured, so it’s a good idea to get the transparent, colourless one.

I use a paint brush, like a cheap watercolour brush, to pain the primer onto both surfaces to be joined. Then I let it evaporate off, and apply the glue to one surface and then hold the surfaces together firmly for as long as possible.

This fixes plastics that super glue won’t normally bond, as well as ceramics — I’ve glued up teacups that have then been used for years, though I don’t put them through the dishwasher. Probably could, but don’t.

Warnings:

Use in a well-ventilated area!

Some plastics will be softened by the primer, so avoid applying more than necessary, and if it is a really valuable/valued item, maybe ‘do a test in an inconspicuous area’, as they say.

Super glue is dangerous and must be kept away from skin, eyes and any other body parts, whether your own or those of other people.

Keep out of reach of children, and don’t let them touch the glue either.

 

Glue, ink, whatever.

My new work profile.

I am now officially an editor… http://www.biotext.com.au/staff/darren-goossens/. From the company website:

A grab from the Biotext website, as it was in May 2017.

A grab from the Biotext website, as it was in May 2017.

Further updates as they come to hand…

The last domino falls: A little bit of science.

This paper and its deposited material explore clustering of 2 × 1 dimers (dominoes) subject to simple interactions and temperature. Much of the work in domino tilings has been statistical, combinatorial and thermodynamic in nature. Instead, here, the domino is used as a simple model of a non-spherical molecule to explore aggregation, rather as if the molecules were interacting in solution. As a result, the work does not look at how many ways there are to tile a plane, but at how the cluster evolves with different parameters in the potential that governs the clustering. These parameters include the rules used to select which of the many possible dominoes will be added to the cluster, and temperature. It is shown that qualitative changes in clustering behaviour occur with temperature, including affects on the shape of the cluster, vacancies and the domain structure.

The paper is on the web, open access, at http://dx.doi.org/10.3390/condmat2020015 and http://www.mdpi.com/2410-3896/2/2/15. It comes with a bundle of software anyone can use to play with the model, modify it, whatever. Please do!

It’s basically a toy model, but it shows some nice behaviour. Apologies to the red/green colour-blind.

 

<i>T</i>=0.

T=0. At low temperature, the model gives strongly structured domains.

 

<i>T</i>=0.16.

T=0.16. At intermediate temperatures, the ordering begins to break down, though remains apparent. If temperature continues to increase, vacancies appear.

 

<i>T</i>=10

T=10. Vacancies, no domains, really. Addition of new dominoes is almost random.

 

Movies.

A fool’s guide to installing a new hard drive in my Linux box.

(1) First I bought a new drive. Nothing fancy, Seagate 2 TB 3.5″ HD. I want extra data space, not a boot disk. I just want to mount it as a multimedia repository. Audacity generates a lot of GB.

(2) Second, I found an empty bay in my tower case and slotted the drive in and fastened it in with all four screws.

Sideways pointless picture of the inside the my PC case.

Sideways pointless picture of the inside the my PC case.

(3) Ran a SATA cable from the drive to an empty plug on the motherboard, and connected power to the new drive.

(4) Disconnected all external storage and booted up, and noticed that the drive showed up in the boot output. (Disconnected external storage to make identifying the correct disk easier when creating partitions.)

(5) I know that my existing HD is sda. Ran gparted. (Applications -> System -> Administration -> Gnome partition editor in the Debian menu structure).

(6) Waited while gparted found the partitions on all the attached disks.

(7) Identified new disk as sdb. Good.

(8) Created partition table: I chose gpt, but msdos works usually too. Device -> Create Partition Table -> select type.

<tt>gparted</tt>. A screen shot too fill up space.

gparted. A screen shot to fill up space.

(9) Right click on its entry in the partition editor window. Selected ‘New’ and added details as preferred. I like ext4, used the whole disk, and gave it a label different from any other disks. It had to be Primary since it is the only partition on the disk.

(10) Clicked ‘Add’, then ‘Apply’. Closed the dialogue when successfully completed. The partition editor took a few seconds and found the new partition.

(11) Okay. Now, to get it to mount on boot. The modern way uses a sort of ‘universal ID’ for the drive — UUID are four letters that come to mind. I just used the fact that the partition is called sdb1.

(12) Created a mount point in my file tree.

Whatever.

Whatever.

$ cd
$ mkdir Music

I was not acting as root at this point — because this is my desktop machine and my data. I am treating it as part of /home/myusername, not creating a drive for everyone to see.

(13) Then edited /etc/fstab. This has to be done as root

$ sudo vim /etc/fstab

This is the added text in /etc/fstab.

#New 2TB GB drive as ~/Music
/dev/sdb1 /home/myusername/Music ext4 rw,user,exec,auto,errors=remount-ro 0 2

(14) Then gave the machine a reboot and saw what happened…

(15) Use the ‘disk free space’ command to see if I can see the new disk.

$ df -h

Here is the output for the new disk…

Filesystem Size Used Avail Use% Mounted on

/dev/sdb1 1.8T 196M 1.7T 1% /home/myusername/Music

OK!

(16) Need to do a test… Can I write to it? Test:

$ touch /home/myusername/Music/testfile

No! Because when mounted Music is owned by root, not by me.

(17) So…

$ sudo chown myusername /home/myusername/Music/ 

$ touch /home/myusername/Music/testfile

Success… (Note, this may not be the cleverest way to do all this, it only works.)

(18) Now reboot and see if I can still write to it…

(19) Yep. OK, now put the sides back on the tower and copy the back-up to the new data space… Yep, that works.

And awayyyy…….

Tapes, cassettes, whatever, ripping to mp3.

OK, so ‘ripping’ cassettes using my old AKAI in the shed. Same method works for vinyl.

Verify the below with a run-through.

(1) Get the two ended 3.5mm plug audio cable, one end into stereo output, other into mic input of netbook.
(2) run audacity (2.0.6) and record…
(3) Massively overloads the input, huge distortion
(4) Mic gain inside audacity is greyed out, says ‘use system mixer’
(5) Playing a tape while recording in audacity and fiddling with System → Control Centre → Sound (on MATE). Reduce mic amplification. (Volume control on my stereo is flaky.)
(6) Does affect the loudness. Dropped it back so that it touched the edges of the scale now and again but not repeatedly.
(7) Playback…Sounds ok.
(8) Record output of tape player.
(9) Find where tracks start in Audacity window. Place cursor there and type ‘Ctrl-B’ and type track name. I use the form ‘XX Title’ where XX is 01, 02, 03… (makes for better sorting of filenames).
(10) Highlight whole thing and Go File → Edit Metadata and set the album and artist name.
(11) Use the noise removal under the Effects menu.
(12) File → Export Multiple, choose your file locations and types and away you go.

Notes: I found I got weird buzzing noise in the captured audio stream when my netbook fan turned on, so it worked a lot better on cold days (!).

Noise reduction can affect the ‘feel’ of the result (can kill the high end frequencies a bit) – do a test and undo if desired,

Check settings like balance, equalisation and Dolby on the tape player. Because the input to Audacity is coming from the earphone jack, these things will affect the result.

If the Audacity display is maxing out a lot, the sound will be clipped and distorted. Reduce either input mic gain on the computer or just turn down the volume on the stereo; it is worth starting the recording, looking at the display, adjusting the volume until it touches the maximum now and again but not a lot, then (just leave Audacity recording) rewind the tape and play it at the new volume level. The bit of experimental crap at the start can be snipped off later.

It is best to give the file a name before you start, say /home/username/audacity/projectname.aup. On a Linux system if you don’t it will be written to some tmp folder somewhere (/tmp, /etc/tmp or something), and it can get very big. If you have a root partition with not a lot of free space on it, it can get filled right up (Audacity can generate GB of stuff, especially if you go off and forget it is capturing the audio). When / runs out of space, Linux can behave a little oddly… Don’t let that happen. Set an alarm or something.

Tapes can be highly variable. Wow, hiss, all kinds of issues. A good tape in a good deck gives very worthwhile results. Much the same process can be used to grab audio from vinyl, of course.

Vinyl.

My Vanguard is Alive! (Or: “I’m really out of material for this blog.”)

The Vanguard No 6. Engineered like no other stapler.

The Vanguard No 6. Engineered like no other stapler.

Yes, it’s a stapler. The Vanguard No 6, a real heavy-duty piece of kit. Don’t drop it on your toe!

It only has one problem — you can’t buy ammunition for it any more. The occasional box of staples comes up on ebay or similar, but I cannot find any new product out there.

I think that’s because the staples are half inch across the bridge, where modern ones are 12 mm, and that quarter millimetre is enough to result in incompatibility.

But it’s alive again because I picked up a box at a jumble sale. As a machine for driving heavy-duty staples through the spine of an A5 booklet (or a wall), it is better than any more modern stapler I’ve used. Does require a fair bit of force, though, since there’s no lever arm to give a mechanical advantage — you literally just push the staple through the paper using the big black handle.

Anyway, there’s only so much space I can dedicate to talking about a stapler…

Stapler plus ammo.

Stapler plus ammo.

 

Made in England.

Made in England.

 

Office Equipment.

Biotext

This week I started work at Biotext, a company that specialises in writing and editing complex scientific documents. It’s incredibly exciting — it’s the kind of opportunity that does not often come along. There’s a huge amount to learn, but that is part of the enjoyment.

As the name suggests, their focus has often been on biological material, though in the broadest sense — agriculture, environment, and medicine feature strongly. I’m hoping to increase the expertise in the physical sciences.

I looks like a chance to bring together science and writing, and it has come along at a time when I was on the lookout for a new job.

Good luck to me!

 

Bizz.

Old g95 (for the make use of)

I needed to compile a Windows g95 binary for someone. I have Win 7 in a VM on VirtualBox. I had the g95 install tree from a (quite old) back-up of a previous computer, but not a proper install.

The install tree looks like this:

C:\util>dir /s g95
 Volume in drive C has no label.
 Volume Serial Number is 8440-3CD9

 Directory of C:\util\g95

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
23/08/2012  09:42 AM              bin
23/08/2012  09:42 AM              doc
23/08/2012  09:42 AM              lib
23/08/2012  09:42 AM            55,782 uninstall-g95.exe
               1 File(s)         55,782 bytes

 Directory of C:\util\g95\bin

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
26/03/2008  11:49 AM           553,984 ar.exe
26/03/2008  11:49 AM           827,904 as.exe
17/06/2009  09:44 PM           123,046 g95.exe
26/03/2008  11:49 AM           782,848 ld.exe
28/12/2007  12:23 AM            15,964 mingwm10.dll
26/03/2008  11:49 AM           554,496 ranlib.exe
26/03/2008  11:49 AM           685,568 strip.exe
               7 File(s)      3,543,810 bytes

 Directory of C:\util\g95\doc

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
16/10/2004  09:36 PM            17,015 bg.gif
27/11/2004  03:51 AM            18,007 COPYING.txt
08/12/2005  06:19 AM            22,431 docs.html
23/11/2004  12:00 PM           107,122 g95.bmp
02/01/2007  01:59 AM           170,619 G95Manual.pdf
31/05/2008  06:59 AM            11,858 Readme.html
31/05/2008  07:00 AM             6,687 README.txt
               7 File(s)        353,739 bytes

 Directory of C:\util\g95\lib

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
28/12/2007  12:23 AM             2,192 crt1.o
28/12/2007  12:23 AM             2,288 crt2.o
28/12/2007  12:23 AM             1,239 dllcrt2.o
23/08/2012  09:42 AM              gcc-lib
22/10/2006  01:27 AM           408,608 libadvapi32.a
30/10/2005  11:13 AM           253,890 libgdi32.a
22/10/2006  01:27 AM           594,018 libkernel32.a
28/12/2007  12:23 AM               458 libm.a
28/12/2007  12:23 AM             7,514 libmingw32.a
28/12/2007  12:23 AM           267,880 libmingwex.a
28/12/2007  12:23 AM            82,558 libmoldname.a
28/12/2007  12:23 AM           503,692 libmsvcrt.a
22/10/2006  01:27 AM           128,262 libshell32.a
22/10/2006  01:27 AM           435,754 libuser32.a
30/10/2005  11:13 AM            82,086 libws2_32.a
              14 File(s)      2,770,439 bytes

 Directory of C:\util\g95\lib\gcc-lib

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
23/08/2012  09:42 AM              i686-pc-mingw32
               0 File(s)              0 bytes

 Directory of C:\util\g95\lib\gcc-lib\i686-pc-mingw32

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
23/08/2012  09:42 AM              4.0.4
               0 File(s)              0 bytes

 Directory of C:\util\g95\lib\gcc-lib\i686-pc-mingw32\4.0.4

23/08/2012  09:42 AM              .
23/08/2012  09:42 AM              ..
23/08/2012  09:42 AM             1,022 cc1.lnk
17/06/2009  09:44 PM         5,242,021 f951.exe
17/06/2009  09:44 PM           859,168 libf95.a
17/06/2009  09:44 PM            61,284 libgcc.a
               4 File(s)      6,163,495 bytes

     Total Files Listed:
              33 File(s)     12,887,265 bytes
              20 Dir(s)  42,207,707,136 bytes free

Now, all that is required to make this work is to set some environment variables. (Start → Control Panel → System → Advanced System Settings → Environment Variables).

First, I had to put some directories in the path, so I edit the PATH variable. It works if I have the path to the g95.exe binary and also to the f951.exe file. That is:

PATH=C:\util\g95\bin;c:\util\winvi;c:\util\g95\lib\gcc-lib\i686-pc-mingw32\4.0.4;[[INSERT REST OF PATH HERE]]

I’ve put [[INSERT REST OF PATH HERE]] at the back, but I’ve actually got the g95-related paths at the back (you want the most commonly used bits of the path at the front, not that it matters with modern fast coomputers). Then, I want to create a new variable called LIBRARY_PATH:

LIBRARY_PATH=c:\util\g95\bin;c:\util\g95\lib\gcc-lib\i686-pc-mingw32\4.0.4;c:\util\g95\lib

Now, I don’t know if I need all three directories in the LIBRARY_PATH, but it works so I am not complaining.

So to compile my tiny little program I can now type:

X:\Downloads\Brill_dir>g95 -o Brill.exe brillouin.f90

And it works. Is it statically linked? Well, on Linux, dynamically linked, compiled with GFortran, it’s about 68 kB. This binary is about 360 kB, so I sure hope it is statically linked!

Caveats: I have not tried anything fancier than this absolutely basic compile. It works. Compiling with the -static flag makes no difference to the size of the binary.

FWIW