SimpleSync

What better way to welcome in the New Year than over-engineering a solution to an edge case that almost no one will need. Hurrah!

The thing is, sometimes I need to edit files on a remote server. This isn’t anything new or different, but sometimes I also want to use my editor of choice (VSCode), with all the shiny bits still shining.

There are ways of doing this, of course, including mounting the remote server over SSH (slow, doesn’t work well with code analysis), using remote editing extensions (I’ve never been able to get one to work reliably), or even just editing over FTP.

My own solution is a tool I’m prosaically calling simplesync. It monitors a directory for changes, and uploads them to the remote server. That’s it.

While I’m making no claims of it being a great solution, it does allow you to edit files locally, making full use of any editor features, and saves you having to manually upload stuff.

You run it as:

simplesync --local=dir —-remote=user@remote

You can store these settings in a local config file so you don’t need to remember anything.

A little extra bonus is:

simplesync down

This will sync changes from the remote server to your local machine. Handy for getting things set up in the first place, or for when files are changed on the server (only modified files will be downloaded).

As with any syncing it’s always worth testing the connection first, and you can do that by adding --test to the command. This will output the local and remote file paths instead of doing the sync, allowing you to check that you’ve set things up properly.

How does it work?

It uses rcp and rsync under the hood, combined with something to monitor for file changes.

What doesn’t it do?

Probably a lot of things. It doesn’t monitor changes on the remote server, and (currently) doesn’t handle new directories and deleted files well.

Why should I use it?

 
No reason. It works for my needs, should be platform independent (provided you have node setup), and it’s free.

https://github.com/johngodley/simplesync

Fallout 4 VR

After not touching my Oculus Rift for a good while I’ve had a resurgence of interest. This is mainly due to buying Fallout 4 VR.

fallout4.jpg

I’ll prefix this by stating that I’ve played the original Fallout 4 extensively, sinking countless hours into it (as well as the previous Fallouts). It’s a world and story that I’ve enjoyed a lot and so I’m very biased when playing the VR version.

I’ve read that it doesn’t natively support a Rift, and needs additional work to handle the touch controllers. I can only assume this was earlier versions, as it started up perfectly and before I knew it I was inside the game and looking at my Pip-Boy as I zipped around.

Movement is via the standard teleportation method – you point somewhere, press a button, and get transported. It’s not as natural as the 2D game, but it’s workable, and I’ve not had any motion sickness yet. There is an option for ‘normal’ movement, but I don’t think I’d last long.

So far it’s the most enjoyable game I’ve played in VR. I think part of that reason is that it’s an actual real game from a major producer. It’s not a mini-experience, and it’s not an on-rails shooter. There’s a plot, there’s things to do, and people to talk to. Part of the enjoyment of Fallout is its size, and that it allows you to explore anything and do whatever you want. This really becomes apparent when you’re virtually stood inside the world.

The thrill you get at completing your first encounter is vastly more satisfying than in 2D, and a lot of the imagery makes more sense when viewed in 3D. There are times when you have to take a few moments just to look around and soak in the post-apocalyptic scenery.

One scene that sticks out is when you rescue an actor and his supermutant friend from a skyscraper. After battling your way to the top there’s a section of the building exposed to the outside and you can stand and look out over the city as a storm bears down.

As with most Bethesda games, it’s a little… quirky at times. I’ve fallen through the floor and discovered an underworld. I’ve somehow appeared above the ceiling of a room and can look down, but have no way back in. At one point my viewpoint was at floor level until I ran a patch I found on Github to ‘fix’ the floor. And let’s not forget about the number of times I’ve accidentally dropped a grenade or molotov cocktail on myself…

It’s is fairly tiring, and there’s no sitting down. The resolution of the Rift is still a limiting factor with regards fidelity, and I still find the headset uncomfortable to wear for extended periods. The touch controllers have been used well though, and do bring you more into the world, although it would be nice to see your own body so as to feel a little more there.

Downloading iCloud photos

I take a lot of photos and try to be very careful with their management and storage. Everything gets included in Lightroom, and backed up in a variety of ways.

The photos on my and my wife’s iPhone live in the cloud, outside the rest of my archive. This is something that’s always irked me.

Downloading directly from icloud.com is not the easiest task. Although possible to download using a browser, it does so as multiple files which have to be manually selected. This is fine for a handful of images, but not great when you want to download several years.

I came across a great Python tool that automates this:

https://github.com/ndbroadbent/icloud_photos_downloader

It’s installed simply with:

pip install icloudpd

Supply it with appropriate login arguments (it supports 2FA accounts) and it will dutifully download every file from your iCloud account, including Live Photos (which are downloaded as video files).

You can configure it for specific date ranges, making it suitable for automation, and it can use your keychain for storing login details.

It does tend to freeze occasionally, although I suspect this is more an unofficial-iCloud-API kind of fault. Fortunately it figures out what has already downloaded, and you can restart from your last position.

Downloading the last three years worth of photos and videos took several days. This was a combination of size (there’s about 200GB of stuff), and having to restart the process every few hours.

 

Retro Mini Controller

My daughter received a Retro Mini Controller as a gift. It’s quite a cool looking little device with a tiny joystick, a couple of buttons, and a battery compartment. In fact, it’s mostly a battery compartment – the entire thing runs on 3 AAAs.

IMG_8814.JPG

The box advertises that it has 200 built in games and ‘connects straight to your TV’.

retro mini controller box.JPG

Sadly this means ‘connects straight to your analogue TV via a composite cable‘. As I no longer possess an analogue capable TV I had to resort to using the same HDMI convertor I bought for my C64.

The device boots into a fuzzy menu display:

retro mini controller menu.JPG

The quality may have suffered a lot due to the convertor, and shows similar banding issues to those I saw when using the C64. It also doesn’t help I’m using my phone to capture the screen.

Saying that, I don’t think the image quality is great to start with. In fact, nothing about this device is great. The build quality is terrible. The joystick is soft and mushy and often doesn’t register a movement. The games are… well. They are games, and there are 200 of them.

Here’s Magic Jony:

magic jony.JPG

I only played a handful and they all seemed to be replicas of more well known games. It’s like a really low quality budget deja vu experience.

They don’t appear to be emulated either, and all the games have a similar title screen, player selection, and scoring. I’m actually amazed that someone went to the trouble of creating 200 of these games rather than just emulating a bunch of ROM files.

It’s hard to find out anything about this device, other than it’s sold under many different names. The graphics are NES style, and the games seem like NES games, but that’s about all I can tell.

Looking inside theres a single chip:

retro mini controller.JPG

Looking this up reveals that it’s a Cypress 64Mbit chip. Some kind of system on a chip.

Overall it’s a fun gift, and I’m glad there’s not a princess in sight. It would be nice if it had HDMI output, and nicer still if the controls worked. Sadly I think even with those things the games aren’t worth playing. Still, my daughter enjoyed it, and that’s a good thing for a gift.

Before The Storm

My favourite video games to play are ones that are heavily story focussed or that allow me to create my own story. I’ve spent many many hours playing games like Fallout and Mass Effect, and will probably continue to play them in the future.

I’m a big fan of the Telltale Games series. They’re almost all fun to play – The Walking Dead, Batman, Tales from the Underground, The Wolf Among Us – and are all based around taking part in a story in which you make decisions, and these decisions have consequences further in the story.

I know that sometimes the decisions you make have no real impact on the end story, and often the Telltale Games fall into melodrama, but that doesn’t take away from the fun of playing them.

before-the-storm.jpg

Recently I’ve been enjoying Life Is Strange: Before the Storm, a prequel to Life Is Strange. I can’t say enough good things about these games. On the surface it would be easy for them to appear trite, but they’ve been so well crafted that you can’t help get attached to the characters and the story. Coupled with some great music and the overall Instagram filter tinged nostalgia and it’s a winner.

Immediately after finishing Before the Storm I returned to the original Life Is Strange. I’m still physically unable to play the story as anything other than a ‘good’ character, but I’ve discovered things that I’d originally missed, and am enjoying it just as much the second time.

life-is-strange.jpg