Kategorien
Private Tech

NAS: A near-perfect experience

Synology DS414 product photo
Synology DS414 product photo – from Synology website

For years I have been thinking about buying a NAS for our home at the K-Team Headquarters. I couldn’t really justify the price tag for such an investment. But as I have experienced many times over: once you take the plunge, you kick yourself for not doing it earlier. Same thing with the NAS 😉

But to justify and rationalize the purchase, I set myself some goals to be fulfilled by the solution. Maybe this can be helpful to you when you start thinking about buying something „professional“, so here goes:

The family setup

  • My wife’s private computer (13″ Macbook)
  • My work computer (15″ Macbook Pro)
  • Our shared living room computer (Mac Mini)
  • Fritz Router
  • Ethernet LAN
  • WiFi
  • several external hard drives, either for backup or for media

As you can see, we are pretty Apple-centric at the Headquarters, so I started looking for solutions that would support that infrastructure. An iTunes Server would be nice and it would also be cool to use the NAS for all Time Machine Backups.

My main goals for the NAS

  • having enough central disk space for the foreseeable future
  • use the disk space with the whole family
  • make backup „bulletproof“ for my wife and our shared machines
  • using Time Machine automatically for all my home machines
  • consolidate the external hard drives that were floating around
  • free up the external hard drives for moving bigger files around
  • taking files back from cloud services and host them myself
  • getting closer to a „real“ backup strategy
  • consolidate media files, family photos, videos, etc.
  • having a solution to support our media center ambitions 😉

The setup I ended up buying is a Synology DS414, a 4-bay NAS with 4 HGST Deskstar NAS hard disks (4 TB each). It was a bit pricey, but once I commit to a solution, I want it to be as hassle-free as possible and all reviews (personal and on the web) recommended either the Synology or the Qnap products. As Synology has recently revamped their product line, I chose their NAS.

Synology NAS Setup with HDD
Synology NAS Setup with HGST HDD

Once you get a 4-bay NAS, it gets even pricier, but I wanted to have a good balance between disk space and failover safety, so with 2-bays, there just wasn’t enough room on the system to support all computers and all our existing files (mainly family pictures and -videos).

So far, I have achieved some of the goals, but I am still on the road for some of the others:

Unified Time Machine Backups

I have set up all machines to use the Synology as their Time Machine volume. I configured users on the NAS for each of the machines so they all have their quotas. It’s important to use quotas because otherwise TIme Machine would fill up the whole NAS volume with hourly backups. I have set a quota of 1 TB for each user.
The Time Machine services on the DSM (that is the operating system of the NAS) manage the backup folders for each machine automatically, so you just have to tell Time Machine on the computer to use the NAS. Synology will set up a new folder for the machine and Time Machine will start backing up to that drive.
My main concern was the 13″ Macbook: Marny was using a pink, 1 TB external hard drive from Western Digital, but she could never find it and so the time between backups was quite long. This is now covered by the WiFi backup and I am quite happy with it.

Having my own private cloud

I have configured Cloud Station to work as a replacement for my Dropbox and Google Drive cloud storage services. I now have the whole NAS available with regards to storage space and I have a better feeling about the fact that the files are not hosted on machines in the US anymore. The speed is a bit slower, as my home connection is now the determining factor. This is not data centre level (yet) 😉 But as files can be sync’d in the background, this is not a big problem for me. I can even use it on my iPhone and share files from it with other people. And it also got built-in versioning so changes and deleting files are the same as on Dropb or Google Drive.

Consolidate external HDD and use them differently

As I now use the Synology for Time Machine Backups, I now have two hard drives with 1 TB and one hard drive with 500 GB free’d up to be used in another fashion. I am also currently copying the files from our 3 TB Seagate media drive to the NAS, so that I can then use it as a backup drive for the Synology itself. I have to check if that suffices or if I need to get a bigger one. We’ll see.
I will definitely peruse the house and find more older hard drives that I can copy to the Synology and then maybe even discard. Don’t be surprised if I offer some of the hard drives for sale 😉

Some bonus tips: Choose the right connection

I made the mistake to do the first ever Time Machine backup from Marnys laptop through WiFi. Bad idea! It took us nearly 3 days to get the complete 420 GB over the air to the NAS. My second „initial backup“ for the Macbook Pro was then done through Ethernet and it turned out that 440 GB would only take one night 😉 It would have been even faster when done through USB, but I wanted to use the network drive option directly.

For transferring files from an external drive (like my 3 TB media drive), the backup experience informed my decision to definitely use the USB option on that one. 2.16 TB would still have taken some days via LAN and I didn’t want to have to have another computer running for the transfer. So I attached the external drive directly to the Synology and initiated the file transfer through the DSM File Manager. This worked superb-ly.

Next steps

Backup strategy

  • use the 3 TB hard drive as a backup hard drive for the Synology NAS
  • think about an off-site backup option. Not sure if I want to use a cloud provider as I just moved away with my files from them. Maybe I can sync another Synology at my mum’s place, although this might be prohibitively expensive.

iTunes

  • find „the“ way to harmonize the iTunes media files between the family. Not the complete library – as we all have different iTunes accounts and sync with different iCloud services.

iPhoto

  • this is the biggest pain-point and therefore I want to think this through thoroughly before I take any decisions. If you have experience how to solve this piece of the puzzle, let me know.

Media center

  • Maybe I can switch out the Mac Mini in the living room for an Apple TV so I can save some energy and make using it a bit more „living-room-esque“. Maybe I use the Plex offering from Synology or maybe there are still different possibilities. Again: if you have ideas, let them be heard!

Conclusion

I hope this piece gave you some insight into some of the factors that might play a role in an NAS setup. I think it is important to define the goals up front so you can make an informed decision and compare the products in a useful way. So if your goals differ, you might pick another product or go down another route in the whole setup. I always like to hear about alternatives.

So far, I am quite happy with the investment and I think that I will find solutions to most of the goals that I have set myself. Make them Euros earn back their value in „peace-of-mind“ 😉

Kategorien
Allgemein

Agile projects in an agency context

During the last 18 months I made myself familiar with agile methodologies. They have been a hot topic at conferences, lots of articles have been published and even some customers asked for it. Especially scrum. So I started to learn about it.
I think that scrum is a good fit for many scenarios. But I do have some reservations in regards to using scrum as an agency. In this article I want to point out some of the problems that I have found.

Understanding of scrum roles

Lots of times the customer is very excited to use a method like scrum. But they don’t grasp all of the ramifications. And most problematic, they often don’t understand their own role as a product owner. This puts a heavy burden on the whole project. And it may lead to overhead on the agency side if you want to put in a proxy product owner to make up for it. It will also lead to a lot of of discussions during the project and especially after finishing the project.

Procurement regulations

Sometimes the project team on the clients side is very enthusiastic about using scrum. And all the roles might be understood. But many clients who use an agency have very strict procurement regulations. And the procurement department is very straightforward about this. They need a fixed price and they need a fixed final result. And at best they also need a fixed date. This is very understandable as they need to minimize risk. But this makes working in a scrum context very hard if not impossible.

Resource allocation

In many projects there will be an ongoing support contract. This means the agency has to plan for supporting a project on a longer time frame. And they need to plan their resources accordingly.
People from the original project need to be able to make time available for feature requests or bug fixes. They might also have to stand by for call support.
They also need to take into account the effect of emergencies. In this case developers from the original project team might need to support.
But as you can’t plan emergencies and as this problem might also occur in project contexts in general, this is only a minor consideration.
There might also be a need for certain types of experts. These experts are typically shared between parallel projects. This makes planning for these resources very difficult.
Resource allocation for scrum projects needs some type of exclusivity of the people who work in the project. This is very hard to do in a ongoing support situation.

Workplace limitations

Many agencies prefer open floor offices. It reduces friction while working together and makes communications a lot more inclusive.  When a project becomes hot, some switch to a team- or project room or even a war room. But in regards to the requirements, a scrum project is always hot. So it might be tough to find a room for each scrum project.
Please don’t get me wrong, I think that scrum is an important project management methodology which has many benefits for a development team.  And we will definitely continue to use it in client projects.
But I also think that you need to consider the limitations and risks of using this methodology in certain contexts.
What are your experiences? I would be happy to discuss this further via Facebook or twitter.
Maybe you have already solved a lot of these problems…
Kategorien
Tech Work

Now there’s #gitflow in the IDE

After my talks about Git Flow in Hamburg and Essen, some developers (especially Andy) came up to me and were very skeptical if companies will be able to establish a workflow such as Git Flow without proper IDE integration. We at TWT were happy with the command line or a GUI client like Sourcetree. But I could understand Andys point of view.

Luckily, Opher Vishnia took up the gauntlet (as he purports the story himself ;)) and created a simple IntelliJ/PHPStorm Plugin that enables you to use Git Flow directly inside the IDE. You can get the Plugin via the Jetbrains Repository or from his Github Account. Thanks to Dominik for bringing it to my attention again after I had neglected to test this thoroughly…

After installation you can create features, releases and hotfixes from within the IDE.

gitflow-screenshot_14307

One problem that people seemed to have with the plugin on a Mac (myself included) was an error that prevented the plugin from working at all.

11:05:19.663: git flow feature start test-plugin
 git: 'flow' is not a git command. See 'git --help'.
 Did you mean one of these?
 reflog
 show

It turns out (from this support thread on Github) that the git executable and the git-flow executable must live in the same directory for the plugin to work. As my PHPStorm uses /usr/bin/git, I just symlinked my git-flow installation to /usr/bin:

cd /usr/bin
 sudo ln -s /usr/local/bin/git-flow-feature git-flow-feature
 sudo ln -s /usr/local/bin/git-flow-hotfix git-flow-hotfix
 sudo ln -s /usr/local/bin/git-flow-init git-flow-init
 sudo ln -s /usr/local/bin/git-flow-release git-flow-release
 sudo ln -s /usr/local/bin/git-flow-support git-flow-support
 sudo ln -s /usr/local/bin/git-flow-version git-flow-version
 sudo ln -s /usr/local/bin/gitflow-common gitflow-common
 sudo ln -s /usr/local/bin/gitflow-shFlags gitflow-shFlags

So that it looks like this afterwards:

ls -la git*
 -rwxr-xr-x 1 root wheel 14224 25 Nov 2013 21:11:19 git
 -rwxr-xr-x 1 root wheel 14256 25 Nov 2013 21:11:19 git-cvsserver
 lrwxr-xr-x 1 root wheel 23 21 Jan 2014 11:01:20 git-flow -> /usr/local/bin/git-flow
 lrwxr-xr-x 1 root wheel 30 21 Jan 2014 11:01:18 git-flow-common -> /usr/local/bin/git-flow-common
 lrwxr-xr-x 1 root wheel 31 21 Jan 2014 11:01:04 git-flow-feature -> /usr/local/bin/git-flow-feature
 lrwxr-xr-x 1 root wheel 30 21 Jan 2014 11:01:16 git-flow-hotfix -> /usr/local/bin/git-flow-hotfix
 lrwxr-xr-x 1 root wheel 28 21 Jan 2014 11:01:26 git-flow-init -> /usr/local/bin/git-flow-init
 lrwxr-xr-x 1 root wheel 31 21 Jan 2014 11:01:38 git-flow-release -> /usr/local/bin/git-flow-release
 lrwxr-xr-x 1 root wheel 31 21 Jan 2014 11:01:32 git-flow-shFlags -> /usr/local/bin/git-flow-shFlags
 lrwxr-xr-x 1 root wheel 31 21 Jan 2014 11:01:54 git-flow-support -> /usr/local/bin/git-flow-support
 lrwxr-xr-x 1 root wheel 31 21 Jan 2014 11:01:04 git-flow-version -> /usr/local/bin/git-flow-version
 -rwxr-xr-x 1 root wheel 14272 25 Nov 2013 21:11:19 git-receive-pack
 -rwxr-xr-x 1 root wheel 14256 25 Nov 2013 21:11:19 git-shell
 -rwxr-xr-x 1 root wheel 14272 25 Nov 2013 21:11:19 git-upload-archive
 -rwxr-xr-x 1 root wheel 14272 25 Nov 2013 21:11:19 git-upload-pack

After that, everything worked like a charm. We’ll use that for some time and I’ll report back how that works out for us.

Kategorien
Tech Work

TYPO3Camp Rhein Ruhr #T3CRR

IMG_1971

Last weekend I also visited the TYPO3Camp Rhein Ruhr at the Unperfekthaus in my hometown Essen. My partners in crime Lars and Jaume were hardcore and went straight to the conference on Saturday after our trip to Hamburg. Being a family man, I took Saturday off to spend time with my wife and kids and let my colleague Alex check out the first day.

To make up for being absent, I proposed my gitflow talk as a session and fortunately it was voted in. Thanks for all the interest in this subject. It really is humbling and quite an honor. I liked presenting the gitflow process and giving a quick demo of the command line git plugin and I hope it had some value for the audience. You can still find the slides at github.

IMG_1968

You can find the rest of the talks on the TYPO3Camp website. Also take a look at the sponsors who made that great event possible!

It’s worth mentioning that I also won a prize 😉 One video2brain training. Thanks a lot, Monika and #T3CRR! And another shoutout to twt.de for making this possible.

Kategorien
Tech Work

Developer Conference 2013 #dchh

IMG_1885

I have been lucky to attend devcon 2013 this year. A big thanks to twt.de for making this possible. I’ll try to recap the conference, although it might be hard because so many things were going on.

First, some basic info about the conference:

The first thing I noticed even in my preparations before the conference was the broad approach in the talks and presentations. They really had subjects for almost everybody. And being kind of a generalist myself, this meant conflicts of interest in almost every slot. Which is a kind of luxury problem not many conferences have 😉

Here are some of my personal highlights of the conference:

IMG_1890

Location
Citing @muhdiekuh: „An IT Conference in a multiplex cinema is a no brainer.“… It was very refreshing to read code on slides from the last row of the room. Cinema displays are very well suited for all those gory details of tech presentations that get lost on a 800×600 low-res beamer. Everything was crystal clear and the big screen sometimes dwarfed the presenters which also led to some funny tweets all the while 😉 But really: THAT is the way to show slides!
One thing that kind of sucked about the cinema was that the foyer definitely isn’t meant as a place for hosting 1500 people at once. It is normally just an area that you pass through on your way out or your way in. Grabbing something to eat and talking to people was sometimes a bit packed. But I’d take that if I can have the big screen any day of the week 😉

IMG_1893

Orga
Tarek mentioned that they had Sarah, a professional event manager, working on the conference preparation for quite some time. This showed in many details, big and small. You found lots of people to ask questions about org-stuff and using cinemaxx staff for food and drinks was also brilliant. The coat check was also a nice detail and the overall organisation went smoothly. Kudos for all that small stuff which can really make the conference a pain if it doesn’t work.

IMG_1923

Food
The food was A-MA-ZING! Be it the nachos and popcorn at the cinemaxx or all of the food at the social event – it was nothing I expected, quite frankly. Some of my foodie highlights were the sea-salmon burgers, the currywurst wagon and the ready-prepared salad bar. Knowing three speakers (and their special treatment regarding beer coupons), there were always enough coupons to get drinks that night. The Hühnerposten was a very nice location as well and it needed some discipline to end the evening and return to the hotel to be fresh again for the next day.

IMG_1950

Now to some of my favourite sessions
The elasticsearch. talks ([1], [2]) were all very well prepared and had some nice uses-cases and demos to make you immediately want to try out some of the features, new and old. Also, it is always nice to compare that to the Google Search Appliance stuff that we are also very fond of at twt.de. Competition keeps you honest, I guess 😉
I also really liked the Neo4j talk. I am looking forward to version 2.0 now as some of the features will really drive the product forward. And who knows, maybe there are projects on the horizon someday. Graph-databases will definitely be relevant in the future and Neo4j does have some compelling features there.
I was a bit irked about the Zend Framework 2 session, but that might stem from the fact, that most of the best-practices seem like common sense to me and that I keep up with ZF2 use-cases for our projects anyway. Some nuggets of wisdom were to be found nonetheless, albeit very small ones 😉
Being a CMS guy, my motivation to see Marios React talk was more informative and it was interesting to see the Javascript XML stuff used in React.
And two more „meta“ kind of talks were also really entertaining: Judiths „Retrospektiven“ and Dr. Johannes Mainuschs „be nerd„, full of crazy ideas and pencil drawings with a big dose of real life bullshit bingo.

IMG_1937

Three is Company
Last but not least it was great to see all the friends and colleagues and talk about the sessions. It’s always good to discuss matters further and go deeper with the subject at hand. Being able to do that in a constructive setting is best. And although it was an exhausting trip, I never regretted taking it with Lars and Jaume 😉

Kategorien
Private Tech

The Zen TV Experiment

Broken TV Set

Lately I have been pointed to an interesting experiment about television. It is called The Zen TV Experiment by Adam Shand. I found it to be a very interesting read and I recommend you check it out although it is a bit longer than your typical 140 characters that we are so used to nowadays 🙂

It is basically a small experiment everybody can do themselves and it teaches us a lot about the television and its effect on our lives. Having studied media myself, I can relate to a lot of the scientific arguments – and watching television from time to time, I can relate to the described effects as well. In the experiment, you are basically asked to analyze television from a purely technical perspective to see what really happens when you are watching it. To look at the atoms of what makes the tv experience. Go read the piece and come back after that 😉

To me, it is not merely a question of the Technical Events – which are a big part of the experiment – that are manipulating our perception of reality and our own lives. On a more abstract level, there are also mechanisms that capture our brains and make it stay with the program for a lot longer than we initially intended to. In television programming, a principle called flow is used to perpetually keep us interested in the next episode, the next news show, the next part of the movie.

Flow is the reason that the commercial breaks are the longest in the middle of a show and not between shows. Our brains are wired to solve puzzles and to want to figure stuff out. That’s why you see so many teasers for the story line of the next crime show while you are still watching the afternoon cooking show. The flow preps your brain to be interested in what really happens and to stay with the program to figure that out. The nasty fact is that this works even for shows that you have already watched a few times. It is something that even people who know the principle and recognize the mechanism can’t really defend against when they don’t consciously discipline themselves to turn the tv off. Maybe you know the feeling of: „after the next show I will DEFINITELY turn the tv off“ and then find yourself still zapping at three in the morning.

So Flow in combination with the basic flood of technical events really makes it hard for all of us to turn the tv off. It might be best to not turn it on in the first place. Maybe we can start with the Zen TV Experiment and see for ourselves. Take care 😉

Image from Flickr User schmilblick

Kategorien
Tech Work

DevCon and TYPO3Camp RR

DevCon2013

Next week it’s travel time again. First, I am going to visit Hamburg again and have a look at what the Developer Conference has to offer. I am really looking forward to the event and I am thankful, that TWT has again made it possible for me to participate in the event. That’ll be November 7th and 8th for DevCon.

TYPO3Camp Rhein Ruhe 2013

As if that wouldn’t keep me busy enough, I’ll also be participating in the TYPO3Camp Rhein Ruhr in the Unperfekthaus in my hometown, Essen. It’s the first time for me on a CMS specific conference, but maybe they’re also interested in my general git-flow talk there. I’ll throw my hat in the ring and we’ll see what comes of it. The TYPO3Camp will be held on November 9th and 10th.

I’ll post updates regarding the talks and workshops I see here on the blog so stay tuned.

Kategorien
Allgemein

Stimulating Playgrounds

Fantasy Playgrounds

As a father of three I often think about what is good for my children. I came across this wonderful blog post about creative playgrounds on one new idea.

I think that creative surroundings do a lot for the upbringing of children. And I would appreciate it if normal city playgrounds would look more like these examples.

Maybe vandalism would also be less of a problem. In my experience people value the creative accomplishments of others more than rules and regulations. So that would be a classic win-win situation, even if the initial cost is higher. In the long run, you would have very creative playgrounds and it would cost less in total.

Feel free to make the world a better place for yourself and our children. Build some great playgrounds 🙂

Or, if you don’t want to build them yourself: support sikitas.de or similar associations.

http://www.inewidea.com/2013/09/03/56389.html

Kategorien
Allgemein Tech

PHP Unconference 2013

Wow, a whole year passed since last year’s Unconference. This time we were able to visit Hamburg with 6 developers from TWT (thanks again for the support) to rock the (un)conference.

For me, the Unconference is always a very intense three day event. To make it even more intense, I decided to also propose a talk this time. So I through my hat in in the ring for „Versionskontrolle mit git-flow“ as we are currently implementing git-flow in our teams.

And it seemed to hit a nerve as I got voted in to give my talk in room H2 at the Geomatikum. A big thanks to everyone who voted for it. Being in the first slot was a bit of a challenge, but I hope people were entertained at least 🙂

For those interested in the subject, you can find the slides at Github.

After that I was a bit relieved and could concentrate on taking in the atmosphere, the great food and the very interesting talks other people held.

Of course there was too much good stuff to see so that we all had to pick. Here is my schedule:

You can find slides for the talks at the Unconference Wiki.

Not to forget the social aspect. We met with a bunch of colleagues, ex-colleagues, acquaintances, gurus, experts and Star Wars characters:)

Naturally there’s lots of entertainment in HH.

I hope that next year’s Unconference will feature another one of my talks and I am looking forward to the next incarnation…

Take care 😉

Kategorien
Work

Making Shit Work…

Making Shit Work

DHH (of Rails und 37signals Fame) erinnert uns daran, worum es bei unserer Arbeit eigentlich geht: Den Scheiss zum Laufen bringen! Und nach Möglichkeit „geilen Scheiss“ 😉

Dem kann ich mich nur anschließen!

http://37signals.com/svn/posts/3163-making-shit-work-is-everyones-job