Blog

Nintendo 3DS

909174b

While I bought a Nintento Switch a few weeks ago I must say that I still like my 3DS better. In fact I liked the DS better too.

Over the years I have bought a lot of DS and 3DS games and all of them were good.

  • Super Mario 64 DS (kept me and my flat mate busy for months)
  • Namco Museum DS (still the best Namco Museum, has the best games, has Mappy)
  • New Super Mario Bros. (just wow)
  • Tetris DS (never as good as the original Game Boy Tetris)
  • Sim City DS (was a bit of a filler)
  • Mario Kart 7 (good enough)
  • The Simpsons Game (surprisingly good)
  • Duck Amuck (a bit pointless Bug Bunny game)
  • The Legend of Zelda: A Link Between Worlds (very nice and old school)
  • Asterix The Mansions of the Gods (haven't tried it yet, moved the movie)
  • New Super Mario Bros. 2 (almost as wow as 1)
  • The Legend of Zelda: Majora's Mask 3D (don't remember anything)
  • The Legend of Zelda: Tri Force Heroes (don't remember a thing)
  • Pac-Man & Galaga Dimensons (has the original arcade games)
  • Atari Greatest Hits (the usual)
  • Donkey Kong Country Returns 3D (love the Donkey Kong 3D games)
  • Mario Golf World Tour (I just like golf games)
  • Mario Kart DS (an instant classic, again kept me and my flat made busy for months and made me buy a Wii to play more Mario Kart)
  • Super Mario 3D Land (a very good mixture between 2D and 3D, loved it)
  • Luigi's Mansion 2 (fun game, much too difficult for me towards the end)

I am missing two Zelda games, one with a boat and one with a train. Weird.


MyPad

So I bought an iPad.

44

It's an iPad mini 4 with a 7.9" screen, a dual core CPU running at 1.5 GHz, 2 GB RAM, 128 GB SSD, and 4G. It's golden. I use it for reading comic books.

It's rather overpriced for what it can do but there simply were no small Android or Windows tablets available running a current version of their respective OS and with support for the cellphone network.

I called it Abaqus. I already called my Samsung phone Golda. And the iPad looks a bit like an abacus, I thought.

What surprised me was how difficult it is to use. I tried downloading some files from my OneDrive and open them with Chunky, a comic book reader, and couldn't figure out how to do it. Windows and Android are more straightforward, iOS is a bit of a riddle for me.

Apart from that, the device is quite ok. Look at him run.

IMG 0010

I immediately bought a few apps. Some came back from my iPhone days, including Deep Green, a Chess program and a Tintin game (which refused to run because the OS was too new) and some other games (which all refused to run because the OS was too new).

I bought Chunky, an excellent comic book reader, iOS versions of my usual French and Hebrew dictionaries (Ascendo French English Dictionary+ and HEBREW Dictionary Prolog), and Continuous .NET C# and F# IDE (which I had heard about in a podcast). I have yet to use the C# IDE on the iPad. I also installed Microsoft Office for iPad.

All-in-all, as a comic book reader the device is excellent. But as a general purpose tablet computer, it's a bit limited and the compatibility with older games is a joke. As long as I switch between Chunky and the French dictionary and do nothing but read comics and look up words and browse the Web a little, all is well. Once I try to do anything else, the limits are reached and I am grasping for my Android phone or, better yet, my macOS or Windows laptop.

Oh, and I think I like the iBooks application. The bookshelf looks nice. I imported a few ebooks I bought from Packt Publishing. (Some are duplicates because I imported all formats and don't know yet which one iBooks prefers.)

IMG 0013


פאלעסטינא אין בילד

The Information Control Division either caused or allowed a small publisher near Munich to publish this Yiddish language book in 1946 describing Palestine to Jews who had survived the Shoah and had nowhere to go, their homes either destroyed, overrun by Russians, or simply now "owned" by Germans.

WP 20170617 17 54 32 Rich

Palestine in Picture


Check out this small gallery.

News from the Land, 1919

I found a newspaper from Jerusalem from 1919. In fact it is a British newspaper and it was published as English, Arabic and Hebrew issues during and shortly after World War I to cement British control over the diverse territory. As far as I know it was printed in Cairo. It was later sold to a Jewish publisher.

WP_20170617_17_52_03_Rich

It's price is given in Egyptian currency. It cost 2 Egyptian Grosi. The Hebrew title is "News from the Land". Unfortunately much of the issue I have is really unreadable. I took a picture of the front page which really is the best-kept page.

The newspaper also featured an ad for the Anglo-Egyptian bank which was then a major operation in the region.

22496060 10214524575817059 5782180182252849782 o

The bank was founded in 1864 and is a Limited Company in Hebrew as well as in English.

The list of cities it has branches in is interesting.

London, Gibraltar, Malta (both British outposts), Alexandria, Cairo, Tanta, Mansora, Port Said, Zagazig, Beni Su'ef (all in Egypt), Khartoum (!), Yafo (which was then still larger than Tel Aviv), Jerusalem, and Haifa.


VideoFileSorter

A while ago I write a little program to rename video files ripped off a DVD.

videofilesorter

Try figuring out how it works. Here's a hint.

videofilesorter1

You can use any input that contains the individual new file names (or parts of them) in quotes among further text.

Download it here: VideoFileSorter.msi.zip

VereMolf Rising


VereMolf

A while ago I wrote a few PowerShell scripts that back up my VMware VMs (while they are running or shutting them down, depending on a flag).

I thought for a while that I should write a GUI to control the mechanism as well as binary versions of the backup scripts. The solution is VereMolf, a VMware GUI and backup program.

The problem is that VMware's C# API appears to change very often and I had to start several times. I now have a working prototype that can connect to a VMware host or a vCenter server and display VMs. This was the difficult part. More is to come.

02mainwindow

VereMolf's GUI is WPF-based. It might not look even close to the above in the end.

01mainmenu


password

Servers (currently VMware hosts and vCenter servers, planned is support for Hyper-V and XenServer hosts as well) can be added. VereMolf will ask for a user name and password and whether those should be saved. If they have been saved, VereMolf will fill them in automatically.


03oneserver

My vSphere host Cambyses has been added and can now be queried for VMs.

04getvms


05vms

One of the VMs is a vCenter appliance. It can be promoted to the first level to become a server that can be queried.

06promote

The vCenter appliance is now officially a host.

07twoservers

And its VMs include both the VMs of other hosts associated with the same vCenter as well as templates which exist on associated VMware hosts but are invisible to the hosts themselves.

Currently VereMolf's GUI cannot do much more. The VM named "VereMolf" in the list is the Windows 10 VM the PowerShell version of VereMolf is currently running on. This C# version will eventually replace the PowerShell version.


Saving Credentials in the Credential Manager

One of the best features of Windows is the Remote Desktop Connection software and one of the most annoying features is Windows' inability (or rather unwillingness) to use the current credential (username and password).

EnterYourCredentials

Yes, "Remember me" works. But it means having to type the password again and again for every server one visits and saving it for each server individually. The Remote Desktop client stores the username and password in the Windows Credential Manager.

CredentialManager

It is possible to add a credential to the Credential Manager manually.

PS M:\> cmdkey /add:TERMSRV/telly /user:testuser /pass:password

CMDKEY: Credential added successfully.

PS M:\> cmdkey /list:TERMSRV/telly

Currently stored credentials for TERMSRV/telly:

    Target: TERMSRV/telly
    Type: Domain Password
    User: testuser

Adding to the Credential Manager programmatically is similarly simple.

Using native code, that is.

#include <Windows.h>
#include <wincred.h>

BOOL ok;
int error;

int main()
{
    // credential information
    LPWSTR sTargetName = L"TERMSRV/telly";
    LPWSTR sUserName = L"testuser";
    LPWSTR sPassword = L"password";
    DWORD cbCredentialBlobSize = (DWORD)(wcslen(sPassword) * sizeof(WCHAR));

    // create credential
    CREDENTIAL credential = { 0 };
    credential.Type = CRED_TYPE_DOMAIN_PASSWORD; // 2
    credential.TargetName = sTargetName;
    credential.CredentialBlobSize = cbCredentialBlobSize;
    credential.CredentialBlob = (LPBYTE)sPassword;
    credential.Persist = CRED_PERSIST_ENTERPRISE; // 3
    credential.UserName = sUserName;
    
    // write credential to credential store
    ok = CredWriteW(&credential, 0);
    error = GetLastError();
    wprintf(L"%d\n", error);
    
    return error;
}

It is actually a lot more complicated using managed code. The CREDENTIAL struct has to be rebuilt in managed code and the CredWriteW() API declared. The code is much longer and it is very easy to make mistakes.

using System;
using System.Text;
using System.Runtime.InteropServices;

namespace CreateCredTestManaged
{
    class Program
    {
        static bool ok;
        static int error;

        // credential struct definition as per Windows API
        [StructLayout(LayoutKind.Sequential)]
        struct CREDENTIAL
        {
            public uint Flags;
            public uint Type;
            public IntPtr TargetName;
            public IntPtr Comment;
            public System.Runtime.InteropServices.ComTypes.FILETIME LastWritten;
            public uint CredentialBlobSize;
            public IntPtr CredentialBlob;
            public uint Persist;
            public uint AttributeCount;
            public IntPtr Attributes;
            public IntPtr TargetAlias;
            public IntPtr UserName;
        }

        // CredWriteW from Windows API
        [DllImport("advapi32")]
        static extern bool CredWriteW(
            ref CREDENTIAL Credential,
            uint Flags
            );

        static void Main(string[] args)
        {
            // credential information
            string sTargetName = "TERMSRV/telly";
            string sUserName = "testuser";
            string sPassword = "password";
            uint cbCredentialBlobSize = (uint)Encoding.Unicode.GetByteCount(sPassword);

            // create credential
            CREDENTIAL credential = new CREDENTIAL {
                Type = 2, // correponds to CRED_TYPE_DOMAIN_PASSWORD
                TargetName = Marshal.StringToCoTaskMemUni(sTargetName), // copies managed into unmanaged memory
                CredentialBlobSize = cbCredentialBlobSize,
                CredentialBlob = Marshal.StringToCoTaskMemUni(sPassword),
                Persist = 3, // corresponds to CRED_PERSIST_ENTERPRISE
                UserName = Marshal.StringToCoTaskMemUni(sUserName)
            };

            ok = CredWriteW(ref credential, 0);
            error = Marshal.GetLastWin32Error(); // corresponds to GetLastError()
            Console.WriteLine(error.ToString());

            Marshal.FreeCoTaskMem(credential.TargetName); // releases bytes allocated in unmanaged memory
            Marshal.FreeCoTaskMem(credential.CredentialBlob);
            Marshal.FreeCoTaskMem(credential.UserName);

            Environment.Exit(error);
        }
    }//class
}//namespace

Both programs create a credential in the Credential Manager like the cmdkey command quoted before does. It took me hours figuring it out...

ArcaOS 5.0

A new OS/2 distribution has arrived.

What's new?

  • The Arca Noae Package Manager, a frontend for yum, the "Yellowdog Updater, Modified" of Red Hat (and Yellow Dog) fame.
  • More ported UNIX and GNU software (alas no Emacs).
  • Odin is included.
  • Apparenly the icons are bigger now.

What's old and good?

  • The Sybase Watcom compiler comes as a package and is usable (but its IDE is not).
  • vi is a much better editor than epm, e and tedit.
  • Odin allows running 32 bit Windows applications.

What's ugly?

  • Still no command line shell that supports multitasking (but OS/2 had one until version 1.3 in 1991!).
  • No hex editor. No xxd.


The desktop looks like the desktop.

desktop

The "Computer" object is like Windows' "My Computer" or "This PC" icon.

computer

I always liked the "Command Prompts" object which contained traditionally the OS/2 and MS-DOS command prompts as well as the Windows program manager seamless and stand-alone. ArcaOS adds the 4OS2 shell (which is really not great but an improvement on OS/2's cmd.exe, neither shell is even better than Windows' cmd.exe).

commandprompts

The OS comes with FireFox and a few other common available Internet programs. Putty also works via Odin.

firefoxputty

Unfortunately the package manager does not offer an X server or rdesktop client so connectivity is limited to pure ssh or Telnet.

What the OS can do is run 16 bit Windows programs, the majority of them (but not, for example, Microsoft Cinemania '94). It probably runs most of the 16 bit Windows programs better than Windows Vista and above do these days.

win16

ArcaOS also comes with Java 1.6, ultimately limiting the software that is runnable to most real mode DOS programs, most 16 bit Windows programs, some 32 bit x86 Windows programs, all (i.e. the few existing) 16 and 32 bit OS/2 programs and 32 bit Java programs up to version 1.6 of the platform.


Coins from the Mandate Period

These are a few (essentially worthless) coins I picked up.

The first three are from the French Mandate of Syria. Lebanon had just been split from the territory and the two countries under French control became l'Etat de Syrie and 'Etat du Grand Liban. (The letter is "grand" because today's Lebanon includes some regions around the original Libanon as well.)

WP 20170514 22 45 06 Rich


And these are coins from the British Mandate of Israel/Palestine. (I don't know how they dealt with Iraq currency-wise.)

The currency was the Palestine Pound which was equal to the British Pound but was decimalised. Instead of 12 pence to the shilling and 20 shillings to the pound, the currency was subdivided into 1000 "mils" ("milim" in Hebrew). Note that 1 pound in 1942 was approximately the equivalent of 40-50 pounds today and hence 2 mils were a usable 10 New Pence.

WP 20170514 22 45 58 Rich

Bank notes existed as well (printed by a private bank in London) but I don't have any here.

A few years after independence the "Palestine Pound" was hebraised and became the "Israeli Lira" (with "lira" being the Italian word for "pound" used by the Ottoman Empire) and was then finally replaced by the (even more hebraised) Israeli Shekel (with "shekel" being the Hebrew word for a certain weight less than a pound) and the Israeli New Shekel.

Israeli Lira had the adorable socialist paradise look fashionable in the 1950s.

WP 20170514 23 14 25 Rich


WP 20170514 23 09 58 Rich

The strong, happy labourer (with a moustache and otherwise clean-shaven, not religious) and the female farmer (also strong and happy) were now in power.

The obverse of the notes showed artefacts from Israelite history and the words "Bank of Israel" in Hebrew, Arabic and English.

WP 20170514 23 14 39 RichWP 20170514 23 10 29 Rich




QNAP TS-451+

I bought a QNAP TS-541+ NAS. It came with 8 GB RAM and I added an 8 TB hard drive and a 500 GB SSD.

After downloading the QFinder tool the NAS configured itself and finally showed this Web interface.

desktop

The interface is quite snappy and works really really well. In fact I haven't seen a Web interface as well-done as this ever before. (Citrix XenApp comes close but is not nearly as pretty.)

controlpanel

So far I found you can create users and groups, shares (SMB, AFP, and NFS), and an FTP server. The NAS also acts as a Web server and can be a VPN server or even a (apparently Windows-compatible) domain controller.

Each user has a home directory. Only the "admin" user can log in via ssh (or Telnet, if enabled). The su and sudo commands are missing.

storagemanager

The NAS also supports the creation of virtual machines. I think it uses KVM.

virt


There are a lot of apps and features I didn't even try or look at yet.

So far I recommend the device fully.


 © Andrew Brehm 2016