Moving a SVN Server from Windows Home Server to Ubuntu – Part II: Moving the Repository

Once the subversion software has been installed (see previous post) it is not time to move at least one of my existing repositories to the new environment to test my processes.

First, we take a Backup…

The process I have decided on is a SVN Dump / Load Migration. Since I am the only user on the repository, I will not have an issue with intermittent updates into my repository, therefore, it should be straight forward…

On my Windows Server, I dump the repository using the svnadmin dump command.

Image 03 - Dumping the SVN RepositoryI also decided to place the dump file straight on a network drive so I should not have an issue accessing the file from the target platform.

…then we load the Data

But before we can load the data, we need to create a (new) target repository. My SVN Repo I am transferring is named LEGO and I want to keep the name:

sudo svnadmin create /srv/svn/lego
sudo chown -R www-data:subversion lego
sudo chmod -R g+rws lego

This creates the new repository and adjusts the permissions.

Image 04 - New Target RepositoryTo load the dump file, I first need to be able to access the QNAP location where it is stored. Which means I need a mount point if I don’t have one yet (e.g. a QNAP directory in /mnt) and I need to mount the network share (mind that on QNAP, it is a SAMBA share!).

sudo mount -t cifs -o username=[myuser],password=[mypasswd] //[QNAPIP]/[QNAPShare] /mnt/QNAP

Now, that does the trick… and here comes (hopefully) my loading of information into Subversion.

sudo svnadmin load /srv/svn/lego < /mnt/QNAP/LEGO/LEGO.dump

Send it… and watch the load proceed!

Image 05 - Load finished

Checking the Data is actually there…

But how can we tell it actually worked? Well – two ways: we can first look at the WebDAV Interface through the web browser.

Image 06 - The LEGO Repository through the WebDAV InterfaceAnd of course, I can simply checkout the full repository into the temporary drive using TortoiseSVN.

Image 07 - Through Windows ExplorerOne final method is to simply use the built-in Repository Browser TortoiseSVN brings with it:

Image 08- SVN Repo BrowserLooks like my repository has finally made it to its new (test) location. Which is good. Now, I can rest assured that I can not only properly backup my data – I can also recover it. And I can recover it “cross-system”, from a Windows-based environment to a Linux-based environment.

Posted in Ubuntu | Tagged , | Leave a comment

Moving a SVN Server from Windows Home Server to Ubuntu – Part I: Installation

Luckily, these days you can see trouble coming – if you pay attention. And you can prepare – if you care.

I am running a Windows Home Server installation for many years now. It is placed on An Acer H340 Home Server. The system has done a tremendous job, unlike others that used it, I never had issues with it and it has been operational since 2009!

But all good things gotta come to an end – the H340 is running a four-disk configuration, all disks have reached a 20.000 hours operational threshold now. Also, the old Windows Home Server OS is no longer supported and in the past weeks, the system has shown some signs of aging.

A long time ago, I have moved most of the data off the system and used a QNAP TS-421 as storage device – the only data remaining on the Windows Home Server these days are my SVN Repositories. And although they are regularly backed up, it is time to consider a move…

Ultimately, I want to move the SVN Repos to a Linux-based system, possibly another small QNAP I would purchase. But before I will consider this, let me try and migrate the Repos to a Virtual Machine running Ubuntu Server 14.04.1 LTS.

Ubuntu 14.04.1 LTS & SVN Server

So far, I have performed a standard installation of the Ubuntu Server 14.04.1 LTS Operating System. Now it is time to add Subversion. The first thing to do is to make sure (as always) that the Repository Catalogue is up to date:

sudo apt-get update

Next, the software itself – Subversion and the Apache Webserver – need to be installed. Let’s do Apache first.

We need to install the following packages: apache2, apache2-utils, and libapache2-svn. You can either install the packages individually or with a single command:

sudo apt-get install apache2 apache2-utils libapache2-svn

Next, you need to install the Subversion package:

sudo apt-get install subversion

With that, the software is installed and ready to be configured.

User Configuration

Next, we need to do a bit of administrative housekeeping. The user I am using to connect to the system as well as the Apache2 User need access to my Subversion Repositories.

First, I will create a new group called subversion.

sudo addgroup subversion

Next, I will add myself and the Apache2 User to this group

sudo usermod -aG subversion [myAccount]
sudo usermod -aG subversion www-data

Directory Configuration

Following the users, we need a storage location for the SVN Repositories.  I create the SVN Root Directory in the /srv directrory.

sudo mkdir /srv/svn

Next, I create the Repository itself – simply calles svntest this time.

sudo svnadmin create /srv/svn/svntest

This will also create a repository directory in /srv/svn. Finally, we need to adjust the file system permissions.

cd /srv/svn
sudo chown -R www-data:subversion svntest
sudo chmod -R g+rws svntest

Configuring WebDAV Access

Finally, we need to make sure that we can actually access the repositories from a remote machine. I am going to set this up so we can browse all SVN Repos in the location.

You need to add the following section to the dav_svn.conf file located in /etc/apache2/mods-available.

<Location /svn>
   DAV svn
   SVNParentPath /srv/svn
   SVNListParentPath On
   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /etc/subversion/passwd
   Require valid-user
</Location>

Now, the password file needs to be created – the very first time after the installation, you will have to use the -c switch, but only the first time (otherwise, you will overwrite the existing file!)

sudo htpasswd -c /etc/subversion/passwd [user name]

It will prompt you for a password and confirmation thereof. Once created, you can always review which users are allowed to access your SVN by using

cat /etc/subversion/passwd

to retrieve the currently enabled users. Finally, let’s reboot the system.

sudo reboot

Testing the Connection

If everything is set up properly, you should now be able to browse the repository through a web browser by using the following URL: http://[SVNServerIP]/svn

Image 01 - WebBrowserLikewise, you should be able to connect to the Repository using a SVN Client such as TortoiseSVN.

Image 02 - TortoiseSVNNow, you should be able to work with the repository as you see it fit.

Posted in Ubuntu | Tagged , | Leave a comment

LEGO Classic Space – Norming & Forming

My two previous posts (Post 1, Post 2) dealt with the construction of a modern-day LEGO model that was supposed to re-create the flair of the old Classic Space Sets  from the early 1980s.

But like with every project: along the lines of progress, you find things that you would like to change in the long run. As for the LEGO model, I found a couple of things I thought I should change:

  • Looking at the list of brick types I have used, I would like to thin it out a bit. Ordering bricks is hard, I would like to allow for maximum re-usability of bricks by standardizing their use.
  • I managed to “modularize” the compartment and the airlock in the previous two posts. But I noticed it would be even nicer if the compartment itself would be modularized so you can “grow” room by attaching compartmental modules of small size to some larger compound.

Now, modularizing the module even further means also modularizing some things that were “one” in the previous model: the side walls will have to become their own “module”, floor, rear wall and ceiling will form another one. Also, I need to worry about the connecting elements of the modules. In general, there are two ways of doing this:

  1. I can build the modules in a way that they will allow for connections with the typical LEGO “offset” building approach.
  2. I can build the modules in a way that they provide “connection” points using technical bricks and pins.

I have opted for the second one – my take on reality is that modules would have to be build “self-sufficient” and would then simply be connected using appropriate techniques.

The Center Section

First, I am going to build up a Center Section – that one is open to both ends and multiple of these sections can be connected to form a module. It starts out with two 6 x 10 Plates.

Image 01 - The BaseBase on these two plates, a total of 10 Slope Bricks and 4 Technical Bricks form the lower foundations. This leaves a small compartment under the floor that – if desired – can be used to simulate underfloor installations (e.g. using technical connectors).

Image 02 - The Floor PartThe next step is adding floor plates, the yellow ribbon for the Classic Space flair and the boundaries for the Technical Sections as discussed in the previous posts. This time, however, the spacing (12 Studs wide) and the width of the Technical Sections (4 Studs) suggests that each one of the sections receives a full frame of vertical studs.

Image 03 - The beginnings of the wallThis pattern continues for 5 brick lines – making the Technical Sections one brick-line higher than in my previous attempt. This is owed to the double floor layer which has taken away one line in height. The section is topped with a 2 x 12 yellow plate, connecting all elements together. By the way: the construction is completely build from 1 x 1 Bricks with a Stud on the side (requires 20  bricks) and 1 x 2 Bricks with Studs on the side (requires 10 of those).

Image 04 - The entire wallOn top of that comes the roof – it is built from slope bricks, 1 x 1 bricks with studs on the side and 6 x 10 plates. Also, two long technical bricks form the sides.

Image 05 - The lower part of the rootThe last steps add the roof elements and finishings that I have used in the last posts as well. The spacing is a bit different now as I wanted to make the module symmetric.

Image 06 - The complete roofThe entire section consists of 88 bricks of 17 different types. That is not too bad – the following shows the brick list as taken from MLCad.

Image 07 - The Brick ListNow the nice thing with this modular approach (from my perspective): with the same set of bricks, you can build a second module if you want. Both can be connected with technical pins and with a reinforced roof structure (to come in a  few steps) and the stands, the construction is pretty stable.

Image 08 - Connecting two Container ModulesNext, let’s build a Side Section that allows us to close module on one side (and if you invert the design, you can build it for either side of the module).

The Side Section

The Side Section starts out with a 2 x 10 plate. On top of that, two technical bricks for the connectors and inverted slope bricks are placed.

Image 09 - The Side - Lower PartThis is followed by 5 rows of bricks, leaving a single opening for a plug-in section. The corner needs to be carefully crafted – the inner vertical studs need room so the last column before the corner is a simple 1 x 1 brick.

Image 10 - The Sides Wall SectionThe Side Section is then closed off with the roof construct – the module is constructed exactly symmetrically: you can use it for the left and the right side without changing a brick.

Image 11 - The complete Side SectionWith the Side Section finalized, we are one step closer to completing the next version of the Command & Control Center…

Image 12 - Assembly LineI guess, you notice that you are a Consultant for too long when you start optimizing the construction process for LEGO Models…

Posted in LEGO | Tagged | Leave a comment

LEGO Classic Space – Next Century Part II

In my last post, I described the beginnings of a LEGO Classic Space Next Generation Command & Control Center Module.

I have now finalized that portion of the set and completed the root structure, adding some Solar Panel with Extension and another Pressurizer Unit for the main section of the module.

Image 01 - Completed Roof StructureThe Interior Parts

Now, with the outer walls and roof finished, it is time to think about a modular approach to the interior part. The challenge are the wall section – typically, the Classic Space sets featured little to nothing on the interior side – slope bricks with computer displays and specific larger wall bricks such as Part ID 3754, a Brick 1 x 6 x 5  with two printed motives were the maximum there was. These days, there are many more bricks one can use to create a more “dedicated” interior for different modules. Especially, the 1 x 2 and 2 x 2 Tiles with different designs make up nice computer walls. Slope bricks are still around and then of course you may want to mount one or the other clip brick to hold equipment.

Wolf Leews used the outer walls with angular plates in his LEGO Idea “LL928 Comes Home”. I have added a sample of this approach in my airlock section where you can see the gray brackets providing studs for vertical mountings in the image above. While is approach works very well, it still does not provide me with the flexibility and modularization I would like to have. So instead, I am going to utilize the “step” that is left at the bottom of the module when switching from the 2 x 2 inverted slope bricks to the 1 stud-wide walls as an anchor point. If course, this will make the windows a bit “deep” but I am going to break this up as you will see.

Image 02 - Compartment without InteriorThe wall along the airlock door towards the wall is 4 studs at the floor level and 5 above the slope brick. Also, from the airlock door to the window, we are dealing with 4 studs. The area underneath the ceiling provides enough space to proper anchoring of the structure to make it stable.

Image 03 - Possible Corner SectionOne example for a technical corner section is displayed on the left. The exact way to build it (when physically built) will be more or less determined by the types of tiles you can get – those with technical displays also fit for a Space Station can be pretty rare…

But I think, you can get the idea. Again, the panels are mounted on brackets build into the support structure in the back. In my case, I have mounted them on a 4 x 4 plate but that make the display rather “thick” – if you want it thinner, you can place the tiles directly on the brackets, no problem. Also, it remains taste if you want to angle off the window section – if you don’t, you can remove the 1 x 1 bricks I used for the mounting of the small slopes and build the wall in a regular way. That would then provide space for more brackets, e.g. LEGO ID 42446 (a 1 x 1 bracket). That way, you would be able to mount additional 1 x 2 tiles vertically and add more technical displays.

Image 04 - Corner Section mountedWe did say that this was a module to serve as a kind of “ready room” for the Command Center itself – we got our sleeping area, now our space men should also have some sort of “hang-out area” to read the odd book or watch an occasional movie (I assume, they will be using their tablet computers for that, so there will be no monitors on the wall or book-shelfs required). But what we need is some seating and maybe a table or two to place stuff and put those drinks (non-alcoholic, we are “on duty”!) down.

The seating is easy – I will reuse the line of studs left beneath the window section and just make it a bit wider.

Image 05 - Crew Compartment finishedWith a bit of seating, the completed separator wall, a few more monitors under the ceiling and two tables, th crew area is finished. Well – almost: the last step here is the connection of the structures to the roof plates (which is really just building them up vertically).

Last but not least, the airlock has received an equipment holder – it will not quite work when physically built: the air tanks will needs a support structure below to actually remain in their lots – but otherwise, things work.

Image 06 - Added the Airlock Equipment HoldersI finally rendered the model though POVRay rather than working with the faster but cruder LDView Rendering.

Image 07 - Rendering the back side of the moduleAs you can see, I already mounted the module on a 50 x 50 base plate to prepare for the outside elements – some antennas, maybe a generator block, etc. Also, the inside has received a high-resolution rendering.

Image 08 - Rendering the front side of the moduleNice view of the solar panels and other roof elements as well… so much for now, I will have to complete the interior one of these days (building it all up to the ceiling), then attach the outside elements of the module and some external items as mentioned before. But that will be another day…

Posted in LEGO | Tagged | Leave a comment

LEGO Classic Space – Next Century

Well, I have created a few posts on LEGO Classic Space sets earlier – to name two specific ones: the LEGO Classic Space Sets until 1981 and LEGO – Some more Classic Space from 1983. But all those dealt with the “real” models from way back when – now, a little while has passed since these posts and – to my surprise – LEGO Classic Space is not as dead as I thought it was.

The LEGO Movie created huge interest in Benny’s Spaceship but in all honesty: I don’t really like it but it brought back the ideas of a “classic space theme that once was”. The second one that came up is a model born from the LEGO Ideas website: the Exo Suit. This one has actually made it all the way up to 10.000 supporters and is now on the shelfs as LEGO 21109. And finally, there is another LEGO Ideas Project that very much had an inspiring effect on me: LL 928 Comes Home.

What I really like with this set is the combination of an “old” set with new ideas and modern bricks. Wolf Leews, the designer of this idea, has really done a superb job by maintaining the “classic space feeling” but bringing the idea set to a new level. Many things that we wonder about with the old sets (e.g. “How the hell do they get into the stations?” or “How can they take off their helmets when there is no airlock?”) are not important when you are a kid – but this idea provides some interesting solutions.

Wolf Leews was nice enough to provide a LEGO Digital Designer source file for this project – I have not asked him but I hope me taking some of the ideas from this project is accepted as an homage to the work, not as stealing Wolf’s ideas. (I actually have deliberately decided to keep exactly his constructions on some parts to make it clear where they come from!)

Solid Groundwork – the Legs of the Station

In the “old days”, the legs of the stations such as LEGO 9670 had simple gray Support Bricks as “legs” (Part Number 3940) or the classic “fins” (Part 3479). Wolf Leews has designed a new “stand” for the buildings, one that looks a bit more “elaborate”.

Image 01 - The new StandWolf’s is the left one – all in “Light Gray”. I have checked the parts for these stands via BrickLink – turns out that the black Support Leg is easier to get than the gray one so I placed with versions here. The accumulated cost per stand (11 Bricks needed) is roughly 0,80€.

The original layout of LEGO 6970 is 24 x 8 studs. It includes a small working section and a resting area with two beds.

LEGOSet-0021The 2014-Version, nicknamed “Classic Space Command Center NG” or “CSCC NG” should feature a separate module for housing and one for working.

CSCC NG Housing Module

Let’s give our Spacemen some living area first. Actually, it should be more like a “Ready Room” where the crew can rest during long shifts rather than actual living quarters. First, I decided to give those beds a new design – I will keep the 6 x 2 studs for the the bed area, my new version gets a handle on each side to make it look a little “wider”.

Image 02 - The new BedWith the new bed designed, I am going to overcome another problem with the original sets – and that is space (as in “space in the station”). The old sets used a depth of 8 studs for the buildings, I am going to follow Wolf Leews design that extended that to 10 studs.

Image 03 - The sleeping AreaNow, obviously there is some room for improvement. Let’s say that the two beds should be in a separate area, with some seating and entertainment next to it, divided by a thin wall with some window. We also need a foundation for an outer wall.

Image 04 - The full Living Quarters AreaWidth 34 x 10 Studs, the Housing Module is much more spacious than in the early 80s. Also, at the far end, the groundwork for an air-lock has been laid, allowing to seal the compartment from whatever is connected as next module.

Next is bringing up the outer walls. Next to the obvious need for a stable construction if physically built is an easily repeatable pattern: modules of different sizes should not have to be re-constructed every time – the building patterns should be repeatable and interchangeable so different designs can be applied to different sections, yet they should provide a homogeneous view if multiple modules are combined.

Building up the Module

First, we are going to put in some sections with windows. But before we do that, we stabilize the current structure by applying some plates to the current foundation of the outer walls.

Image 05 - Wall FoundationsIf you want to make the wall foundation a yellow ribbon, following the classic “blue & yellow” color scheme, is personal taste – blue would work equally well. Important here is the offset construction approach, connecting the underlying slope bricks to each other.

Up next is the creation of the outer wall itself – the wall is divided into “section” (e.g. a window, a technical section, etc.) and the wall elements themselves. Unlike the 1980s sets, the walls of the Next Generation Modules have vertical studs to allow different bricks to be mounted on the outside.

Each section is 4 Studs wide with a separator column of 1 Stud. Towards the edges, a minimum of 3 Studs is maintained.

Image 06 - Wall structure with empty SectionsThe idea with the outside Studs for brick mountings is also taken from Wolf Leews LEGO Idea Project – I have just slightly adapted the spacings between sections and wall elements.

Next, we will bring back the foundation for a 2-Stud structure above the empty sections – this is the foundation for the roof. Also, the remaining wall section will be closed off.

Image 07 - Completed Wall StructureOn this foundation we can now add three additional layer – a first one that produces a Stud-Bar running around the entire module and a second one with roof slopes and support structures that finally are topped with a combination of curved bricks and bars with handles.

Image 08 - Roof TopWith a total hight of 7 – 8 bricks, the module is slightly higher than the original ’80 Sets – they usually used a hight of 6 bricks. But hey, a bit more room for our space men should be granted in the next millennium…

Let’s quickly finish up the missing parts, then we worry about the still empty sections.

Image 09 - Missing Parts completedNow, for the sections, I want to fill them with section modules serving different purposes: the two left ones as well as the two right ones are serving an open area – they should become window sections. The central section is sitting right where the internal divider structure is – a window would not be too great.

A Service Section

Let’s assume the central one is a Service Section with supply lines coming on, maybe a handle that acts as a fuse or main power switch and some radiator to vent of the heat produced in an electrical module.

Image 10 - Service Section Base PlateOur Service Section is clearly defined – 4 Studs wide and 4 bricks high. The setup is simple: a 1×4 plate is combined with a 1×4 brick and a bracket part (44728) on top of that. This is repeated, giving a nice 4 x 4 vertical mounting plate. Another 1 x 4 plate and two handles finish it off, with a height of exactly 4 bricks.

If you need more vertical mounting on the inside, e.g. for computer panels, etc., you can replace the 1×4 plates by additional brackets in reverse mounting. That way, you produce a double-sided mounting area. With the items mounted on the outside, you can be creative. In MLCad, I am doing the Service Section as an independent item and include it into the overall multi-part project. That way, I can easily reuse these sections wherever needed.

A Window Section

Next up is a Window Section. And given that my space men in the past always complained about not being able to close the windows, this time, the Window Section will come with shades.

Again, the window makes use of 1×4 plates, handles and yellow transparent glass. The construction is quite straight forward, no magic here. But it does look good…

Image 11 - Module with all Sections mounted

 

 

Completing the Airlock and adding Doors

Now, we need an Air Lock. Ours is made up of two parts: the door to the actual compartment and the door to the outside world. The inner one is a sliding door – just as Wolf has created it in his LEGO Idea Project.

The outer one is a hydraulic door that opens to the outside and at the same time provides the steps for the crew to safely walk down.

Image 12 - Module with Airlock attachedThe above shows the module, extended with the Air Lock section. The idea for this section is that it is a module by itself meaning it can easily be replaced by a module with similar size, e.g. a connecting hallway in case one wants to link multiple modules in a row. The small side – again – has a free section for a service module: appropriate for an airlock is maybe something that looks like some more powerful vents and handles. Also, we need to add a door to our exit as well as an internal door, separating the airlock compartment from the living compartment.

Image 13 - Exit AreaI agree: the exit could be a bit more elegant but hey, those guys need to walk down there with some clumsy suits on and maybe that is just what the need! But I am happy for some more elaborate ideas…

On the other hand, we now have a completed compartment – although it is pretty empty at the moment and it still needs it roof reinforced and setup with some communications and supply equipment.

Image 14 - The completed compartmentBut the entire setup is quite flexible – if I would rip out those two beds and the dividing wall, we would be left with a huge general purpose compartment. You can also see the earlier mentioned “inner mountings” where I have put in the airlock’s technical section.

Completing the Roof

The roof so far is not more than a bunch of plates – and if this would be build physically, it would be pretty instable. But here comes salvation. We will reinforce the roof structure and make it more “space-like” at the same time.

The original LEGO Classic Space sets have been rather uninspired when it comes to the roof structures: most models that do feature some will have different satellite dishes of various sizes and that is it. The occasional antenna and some lights add to it in some models – end of story. With todays bricks, there is so much more to be done.

Again, I will build the technical sections for the roof as “modules” – that way, I can easily re-use them in MLCad. Also, in a real-world scenario, our space men would benefit from easy-to-build, standardized modules – it would make their space station cheaper to construct and safer in operations.

The foundation of my technical modules is a 8×8 gray plate. The plate itself will be placed in the typical “offset fashion” and that alone will stabilize the roof structure.

Image 15 - Partially assembled roof structureFor the moment, this is the last image of the day – it will be a few more days until I will find time to get back to the project. So far, enjoy what you have seen and don’t forget to vote on Wolf Leews’ great LEGO Idea LL928 Comes Home.

Posted in Allgemein, LEGO | Tagged | Leave a comment