Saturday, 30 December 2017
Thursday, 16 November 2017
align multiple images in jupyter notebook
In a single cell this works but adding text breaks it. This code may get mangled. view the source:
Friday, 10 November 2017
timing file write
time dd if=/dev/urandom of=test bs=1024 count=1024
urandom causes some delay though.
Friday, 3 November 2017
ubuntu screensaver
ffs. Why do I keep having to manually stop a damn blank screen every 15 minutes, every few months. I watch films. Stop assuming the machine isn't in use.
and why are there more and more point and click solutions to linux issues? I don't use the default window manager. STOP ASSUMING EVERYONE DOES!
$ xset s off
$ xset s noblank
$ xset -dpms
Monday, 11 September 2017
Replacing files with zipped versions
Previously this was interesting as drive space was a premium. Now it's access speed. So to get our files to and from the cloud as quickly as possible, use compressed files where possible. Julia will deal with compressed files easily.
So before the first upload, replace all .O07 files with .O07.bz2:
$ find . type f -name "*.O07" -exec bzip2 {} /;
Check out the amount of space used / saved:
$ find . -iname '*.O07' -print0 | du -ch --files0-from=-
I'm getting about reduction to 25% original with these.
Saturday, 2 September 2017
multiple versions of julia side-by-side
in my ~/bin directory i have julia0.5 which contains bin, etc, include, lib, libexec etc etc.
Add to .bashrc:
alias julia05='~/bin/julia0.5/bin/julia'
and the shared libraries etc all 'just work'.
Sunday, 27 August 2017
encrypting external drive.
Why do I feel like I've done this before and it's gone wrong? Anway. This was shamelessly copied from
somewhere else on the 'net, in which place a comment was present saying trucrypt was a more secure approach.
Do some searching. For now, this is a private note.
$ sudo apt-get install cryptsetup
$ sudo fdisk /dev/sdf
d 2 # delete partition 2
d 1 # delete partition 1
w # write changes.
sudo fdisk /dev/sdf
n new
1 partition number
default first sector = 2048 (not 34 as is available)
default last sector = 15628053133
Created a new partition 1 of type 'Linux filesystem' and of size 7.3TiB
that should have been 8tB. Grrr.
w write.
/dev/sdf now present.
/dev/sdf1 now present.
sudo modprobe dm-crypt
I don't think this was needed.
nice indication of disks attached:
lsblk
$ sudo cryptsetup -v -y -c aes-xts-plain64 -s 512 -h sha512 -i 5000 --use-random luksFormat /dev/sdf1
-v = verbose
-y = verify passphrase, ask twice, and complain if they don’t match
-c = specify the cipher used
-s = specify the key size used
-h = specify the hash used
-i = number of milliseconds to spend passphrase processing (if using anything more than sha1, must be great than 1000)
–use-random = which random number generator to use
luksFormat = to initialize the partition and set a passphrase
/dev/sdf1 = the partition to encrypt
check the configuration of the luks header:
sudo cryptsetup luksDump /dev/sdf1
LUKS header information for /dev/sdf1
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha512
Payload offset: 65535
MK bits: 512Key Slot 0: ENABLED
Iterations: 1367519
Salt: xx xx xx xx xx xx
xx xx xx xx xx xx
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Back up the header:
sudo cryptsetup luksHeaderBackup --header-backup-file /home/me/luksHeaderBackupFile8TB.img /dev/sdf1
open the container and mount at /dev/mapper/volume01:
sudo cryptsetup luksOpen /dev/sdf1 volume01
create the ext4 filesystem.
sudo mkfs.ext4 /dev/mapper/volume01
mount it
sudo mkdir -p /mnt/drive01
sudo mount /dev/mapper/volume01 /mnt/drive01
unmount and close the container.
sudo umount /mnt/drive01
sudo cryptsetup luksClose /dev/mapper/volume01
Latter mounting/unmounting:
sudo cryptsetup luksOpen /dev/sdf1 volume01
sudo mount /dev/mapper/volume01 /home/ms/mnt/drive01
##DO YOUR WORK HERE##
sudo umount /home/ms/mnt/drive01
sudo cryptsetup luksClose /dev/mapper/volume01
non-blocking ping range with julia
a=[]
for i in 1:254
@spawn push!(a, [i,
match(r"time=(.*)$",
split(readstring(`ping -c 1 10.27.96.$i`), "\n",
keep=false)[2])[1]])
print(i)
sleep(0.1)
end
after a line from https://discourse.julialang.org/t/how-can-i-ping-an-ip-adress-in-julia/3380
Friday, 18 August 2017
nvidia and linux.
How NOT to do it!
Get your card ID:
lspci -vnn | grep VGA
Translate the result at NVIDIA. eg,
VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1c30] (rev a1) (prog-if 00 [VGA controller])
gives 10de:1c30 and NVIDIA says this is the quadro p2000.
Go to http://www.nvidia.com/Download/index.aspx and fill in the details to establish which driver. I get NVIDIA-Linux-x86_64-384.59.run to download so the version is 384.
See if apt-get can do it:
sudo apt-get install nvidia-384
AND HOSE YOUR MACHINE!
No graphics after this. DO NOT USE!
******************************
Use graphics update from the desktop and don't install anything other than the recommended......
Wednesday, 16 August 2017
Julia dictionaries
Something unexpected happened today with Julia 0.5 dictionaries:
In []: test = Dict(1 => Dict(2 => 3))
test[4] = test[1]
test[1][2] = 5
test
Out[]: Dict{Int64,Dict{Int64,Int64}} with 2 entries:
4 => Dict(2=>5)
1 => Dict(2=>5)
So that looks like reference passing. Changing the original also changes the copy. But,
In []: test = Dict(1 => 2)
test[3] = test[1]
test[3] = 4
test
Out[]: Dict{Int64,Int64} with 2 entries:
3 => 4
1 => 2
In the case above adjusting the value in the copy does not affect the value in the original. Maybe the
direction of propagation is important:
In []: test = Dict(1 => 2)
test[3] = test[1]
test[1] = 4
test
Out[]: Dict{Int64,Int64} with 2 entries:
3 => 2
1 => 4
Nope! Direction did not change the outcome. The dictionary of dictionaries appears to use references but
the dictionary of keys and values does not. :|
Friday, 14 July 2017
copy paste vim
install vim-gtk
Copy into the clipboard.
"+P to paste into vim, selecting " as the register
"+Y to yank to the system 'board.
Friday, 7 July 2017
julia reading a string as if it's a file.
This opens all those file reading functions to direct input. :)
julia> readcsv(IOBuffer("1,\"text, more text\",3,4"))
from https://stackoverflow.com/questions/21437137/how-to-parse-csv-files-with-double-quoted-strings-in-julia
Wednesday, 5 July 2017
julia's filter
In []: xlist = [1,2,3,4,5,6,7,8,9]
xmin = 3; xmax = 7;
filter!(e->(e < xmax) & (e > xmin), xlist)
Out[]: 3-element Array{Int64,1}:
4
5
6
Tuesday, 4 July 2017
Friday, 23 June 2017
Removing blanks from julia arrays
j> a = [contains("$i", "gmsh_")? i: "" for i in names(abaqusElements₂)]
15-element Array{Any,1}:\n
""
""
""
""
""
""
""
""
:gmsh_n
:gmsh_elType
:gmsh_nParams
:gmsh_param1
:gmsh_param2
:gmsh_topo
:gmsh_physicalName
There we see the blanks.
j> filter!(e->e∉["", :gmsh_physicalName], a)
7-element Array{Any,1}:
:gmsh_n
:gmsh_elType
:gmsh_nParams
:gmsh_param1
:gmsh_param2
:gmsh_topo
Thursday, 22 June 2017
Thursday, 18 May 2017
Wednesday, 3 May 2017
Trek district belt drive conversion to chain
I loved this bike so much I bought a second hand replacement when my shop-new one was stolen. Unfortunately the second-hand one had a very tight belt setting. A few months later and the belt is jumping and free rotation of the crank presents a vibration to the pedals. I think the bottom bracket bearings need replacing. (I was wrong!)
I started with the rear wheel bearings however, as it felt like they'd failed too; and were easier to approach. The wheel and bits are lying around the house now as I had some difficulty with them.
Anyway....
what is the required part for the bottom bracket?
http://www.chainreactioncycles.com/bottom-brackets?&utm_source=google&utm_term=Generic&utm_campaign=UK_Generic_Cycle_Components_Bottom-Brackets_B&utm_medium=cpc&utm_content=mkwid|sZ7uj0sgc_dc|pcrid|183363587263|pkw|%2Bbottom%20%2Bbrackets|pmt|b|prd|
sells many. Can they help?
According to
http://wheelsmfg.com/bb90-tech-info
it's a case of replacing two bearing shells that are knocked out of the frame from the opposite side. Sounds straightforward! "The BB90/95 standard is currently used by Trek."
http://wheelsmfg.com/bottom-brackets.html
is the sales part. Maybe they sort by bike.
According to
http://www.parktool.com/blog/repair-help/bottom-bracket-service-bb90-bb86-bb92-gxp-press-fit#article-section-3
http://www.parktool.com/blog/repair-help/bottom-bracket-service-bb90-bb86-bb92-gxp-press-fit#article-section-4
It looks straightforward. Less talk, more summary:
List of bike manuals: maybe bb90 is mentioned for the trek district:
http://www.bike-manual.com/brands/trek/om/welcome/index.htm
Trek support site: useless.
http://archive.trekbikes.com/gb/en/2011/trek/district#/uk/en/support
Interestingly, the more expensive bikes have the bb specified at Trek.
If it's 200 quid for a working one, maybe go that way:
https://www.gumtree.com/p/bicycles/trek-district-2011-single-speed-carbon-forks.-price-negotiable/1172427732
Trek parts: maybe call these people:
http://www.jejamescycles.com/parts/frames.html?limit=36&manufacturer=415
Expensive ceramics:
https://r2-bike.com/KOGEL-BEARINGS-Bottom-Bracket-TREK-BB90-Road-Seals-Ceramic-for-24-mm-Spindle-/-SRAM-GXP
-----------------------------------
The right answer:
The rear wheel bearings HAD gone and the pedal bearings are worn. Rotating the crank gave the vibration feeling. Anyway, at over 100 pounds to replace the belt and rear sprocket I changed to chain.
I read http://bestandworstever.blogspot.co.uk/2013/07/trek-district-chain-conversion.html
I bought: front chainwheel is a 130 BCD 5 connection 55T object. I changed to a 130 BDC 5 connection 46T object from www.velosolo.co.uk. About 35 quid.
A 5 quid chain. Better value than the 60 Euro belt. ;)
A 16T rear, single speed sprocket in a single-speed conversion kit including spacers from wiggle.
The machine looks gorgeous at the moment. On completion I'll throw a picture on here.
Anyway. A month later the damn bike got stolen from St. Neots. I'm sick of this shit.
I started with the rear wheel bearings however, as it felt like they'd failed too; and were easier to approach. The wheel and bits are lying around the house now as I had some difficulty with them.
Anyway....
what is the required part for the bottom bracket?
http://www.chainreactioncycles.com/bottom-brackets?&utm_source=google&utm_term=Generic&utm_campaign=UK_Generic_Cycle_Components_Bottom-Brackets_B&utm_medium=cpc&utm_content=mkwid|sZ7uj0sgc_dc|pcrid|183363587263|pkw|%2Bbottom%20%2Bbrackets|pmt|b|prd|
sells many. Can they help?
According to
http://wheelsmfg.com/bb90-tech-info
it's a case of replacing two bearing shells that are knocked out of the frame from the opposite side. Sounds straightforward! "The BB90/95 standard is currently used by Trek."
http://wheelsmfg.com/bottom-brackets.html
is the sales part. Maybe they sort by bike.
According to
http://www.parktool.com/blog/repair-help/bottom-bracket-service-bb90-bb86-bb92-gxp-press-fit#article-section-3
http://www.parktool.com/blog/repair-help/bottom-bracket-service-bb90-bb86-bb92-gxp-press-fit#article-section-4
It looks straightforward. Less talk, more summary:
List of bike manuals: maybe bb90 is mentioned for the trek district:
http://www.bike-manual.com/brands/trek/om/welcome/index.htm
Trek support site: useless.
http://archive.trekbikes.com/gb/en/2011/trek/district#/uk/en/support
Interestingly, the more expensive bikes have the bb specified at Trek.
If it's 200 quid for a working one, maybe go that way:
https://www.gumtree.com/p/bicycles/trek-district-2011-single-speed-carbon-forks.-price-negotiable/1172427732
Trek parts: maybe call these people:
http://www.jejamescycles.com/parts/frames.html?limit=36&manufacturer=415
Expensive ceramics:
https://r2-bike.com/KOGEL-BEARINGS-Bottom-Bracket-TREK-BB90-Road-Seals-Ceramic-for-24-mm-Spindle-/-SRAM-GXP
-----------------------------------
The right answer:
The rear wheel bearings HAD gone and the pedal bearings are worn. Rotating the crank gave the vibration feeling. Anyway, at over 100 pounds to replace the belt and rear sprocket I changed to chain.
I read http://bestandworstever.blogspot.co.uk/2013/07/trek-district-chain-conversion.html
I bought: front chainwheel is a 130 BCD 5 connection 55T object. I changed to a 130 BDC 5 connection 46T object from www.velosolo.co.uk. About 35 quid.
A 5 quid chain. Better value than the 60 Euro belt. ;)
A 16T rear, single speed sprocket in a single-speed conversion kit including spacers from wiggle.
The machine looks gorgeous at the moment. On completion I'll throw a picture on here.
Anyway. A month later the damn bike got stolen from St. Neots. I'm sick of this shit.
Friday, 14 April 2017
Tuesday, 4 April 2017
Tuesday, 7 February 2017
Monday, 6 February 2017
ED
Picking up passengers, dog fights, landing and docking: without VR
https://youtu.be/Oa3Wnqfpqaw
Meeting the aliens: with VR:
https://youtu.be/GqaIWtTCB1E
# config: green
Install ED into root, not buried in Documents and Settings or Programs. Humans organise on project basis, not software.
find GraphicsConfiguration.xml
Standard
0, 1, 0
0, 0, 1
0, 0.47, 0.49
https://youtu.be/Oa3Wnqfpqaw
Meeting the aliens: with VR:
https://youtu.be/GqaIWtTCB1E
# config: green
Install ED into root, not buried in Documents and Settings or Programs. Humans organise on project basis, not software.
find GraphicsConfiguration.xml
Saturday, 4 February 2017
fuel data
141126 miles, 22.15L@ 1.169 £/L, 2016:12:24, Sainsbury's St Clares.
141445 miles, 22.78L@ 1.199 £/L, 2017:1:8, Sainsbury's St Clares. # 3p/L increase in two weeks! 319 miles, 22.78L, 14 miles/Litre, 64mpg (with 0.22g/L).
141445 miles, 22.78L@ 1.199 £/L, 2017:1:8, Sainsbury's St Clares. # 3p/L increase in two weeks! 319 miles, 22.78L, 14 miles/Litre, 64mpg (with 0.22g/L).
Friday, 27 January 2017
oculus rift dk2 win10
I bought the DK2 on release and had great fun with Elite Dangerous and the demo scenes.
Then I lost interest for a while. In the mean-time installed Win10.
Now, I considered buying the next Oculus device as its resolution is higher and there is an ED extension available; also more games are compatible.
My background: Master of Science in Physics from London; PhD in Aero from London. I simulate acoustics using the finite/boundary-element method and flow using the finite-volume method. I built a high-performance cluster at work and use it / maintain it daily. I know computers. Those people at Oculus have been promising Win10 drivers for this hardware, literally, for years.
Not one byte to that effect.
I've rolled back my drivers to win7. Spent man days on this waste of time. No joy. Demo scenes work: amazing hardware! But those people didn't release Win10 drivers.
I will never buy from Oculus again. They took my few hundred pounds and I got a few months of gameplay and now, no support.
Disappointing performance. I will avoid you and any of your spin-offs in the future. My money will gladly go elsewhere.
People reading this: don't waste your time rolling back, reinstalling, dicking around. Go smell the flowers, spend time with family, see new places. These people will take your money, waste your time, and leave you hanging.
Now, I considered buying the next Oculus device as its resolution is higher and there is an ED extension available; also more games are compatible.
My background: Master of Science in Physics from London; PhD in Aero from London. I simulate acoustics using the finite/boundary-element method and flow using the finite-volume method. I built a high-performance cluster at work and use it / maintain it daily. I know computers. Those people at Oculus have been promising Win10 drivers for this hardware, literally, for years.
Not one byte to that effect.
I've rolled back my drivers to win7. Spent man days on this waste of time. No joy. Demo scenes work: amazing hardware! But those people didn't release Win10 drivers.
I will never buy from Oculus again. They took my few hundred pounds and I got a few months of gameplay and now, no support.
Disappointing performance. I will avoid you and any of your spin-offs in the future. My money will gladly go elsewhere.
People reading this: don't waste your time rolling back, reinstalling, dicking around. Go smell the flowers, spend time with family, see new places. These people will take your money, waste your time, and leave you hanging.
Subscribe to:
Posts (Atom)