Book review: Clean architecture by Robert C.. Martin

The new classics by Uncle Bob is engaged in software architecture: What is a good software Arcjtektur and why do you need you at all.

I have summarized the most important statements in the following:

What to benötugt a good architecture? It's easy to write a program, I'm something, even schoolchildren write programs. But it is difficult to write a program, What is expandable and felxibel in the future, without incurring large costs and effort. That's why it brought at first good architecture.

The evolution of programming languages is, the programmers of less opportunities to give, bad code to write.

One should not fall into the trap: We program the project to end quickly to be fast on the market and later we clean up the code. This will never happen.

The user interface (UI), the database and the business rules should be connected independently of each other via interfaces with each other and interchangeable (Plugin architecture). This allows a

  • independent deployment of 3 Components and
  • unabhängige Entwicklung in verschiedenen Teams

Functional programming solves the problem of deadlocks and multi-threading problems, da keine richtigen Variablen vorhanden sind. more…

Yii for professionals: Book review by Yii project blueprints

The September 2014 published book “Yii project blueprints” Grabs from the publishing Publisher comes from a Reihge of good English-language books on the PHP framework-Yii. In the beginning, I was very skeptical, If I would keep the 43te HowTo about how to create a CMS or PM ticket tools in my hands, but I was very positively surprised:This book is aimed at experienced Yii programmer, who want to dive into the depths of the framework.

The first two chapters are rather intended for the entry, but then you meet amazingly interesting tricks with the framework. A few examples:

  • Integration of composer
  • many safety-related tips: Real random number generation, Markdown-parser, etc.
  • Cronjobs with Yiic
  • Focus on reusability and independence of the components, e.g.. explains exactly, How to use modules and how to best to reuse this
  • Flash messages
  • Use an email-Sende and receive service on the BSP. by SendGrid
  • Authentication of users with HybridAuth: Google , Twitter, Facebook etc. Accounts
  • SEO: Slug URLs and implementation of Sitemap/RSS feeds
  • Implementation of a RESTful API

The only downside are the rare screenshots, you have can contribute much to the understanding of the often very long code examples.

Adobe InDesign Scripten mit Javascript Tutorial

Adobe Indesign and Photoshop can be cross-platform scripting with javascript on MAC and PC with the javascript extension of Adobe ExtendScript.

Using the menu Window>Tools->Scripts are already supplied with scripts displayed. Custom scripts are in the Users folder and have the ending .jsx. To the file browser to access the directory, where the scripts are found, one must simply right-click on the script and then “Open in Finder” click, we arrive at the simplest to the most deeply hidden folder. There you can create new custom scripts.

To test the file “changeLanguage.jsx” in the same folder (with me/…/Library/Preferences/Adobe InDesign/Version 7.0/en_GB/Scripts/Scripts Panel) be created. This appears autotmatisch in InDesign.

To edit the Dati, you just have to select InDesign Right click on the file and edit script and it will open the editor / IDE from Adobe Light: ExtendScript Toolkit.

It is important, set as the first, for the program to run the script, in our case: Adobe InDesign CS5 select the drop top right.

In addition, the auto-complete enabled: ExtendScript Toolkit->Preferences>Help>By car. Completion Report.

Example 1: Hello World

The Hello World is written quickly and before that includes a directive to InDesign, it is clear, for the program to run the script:

#target InDesign
alert("Hallo Welt");

This procedure can be executed by pressing F5 or Apple R.

Debugging can be very good with the function writln for strings, in the window Javascript-Konsole output is:

#target InDesign
//alert("Hallo Welt");
$.writeln ("Konsole log");

I had the problem, Comments that was hidden, that's because, that the font was not installed for comments. Simple font change: ExtendScript Toolkit->Preferences>Fonts and colors:

  • all indicators entkreuzen
  • Comment /**/ ->Font: Verdana Select
  • Comment // ->Font: Verdana Select

A reference / overview of the object model of InDesign finds here.

Microsoft's technical evolution of the Kinect

The work on the Kinect launched at Microsoft after Nintendo 2005 had released their Wii console with the Wii Remote controller. In the actual control but has been since 2003 worked: see History of NUI / Kinect.

The development of the hardware

Were initially 2 Team established, which is based on 2 different technologies should build the Kinect. The technology came from the company 3DV (bought for $ 35 million) and PrimeSense (Israeli an independent research company). In the end only managed the PrimeSense technology, the high demands on technology to accomplish and to build a prototype, the RGB camera, Could infrared sensor and an infrared light sensor contained and render depth data at 30fps. The speed was made possible by, that the depth data were determined using the infrared data in a new way:

Previously The time was measured, which require data, to the sensor to an object and back to the sensor flew. The new technique to determine a pattern of projected red dots on the space and measuring the size and the distance to the depth data.

In the Kinect was a 4-fold integrated microphone array, to perform effectively in large rooms speech recognition can. Microsoft was able to draw on the experience of Windows, contained in the speech recognition since Windows XP.

The development of the software

Based on the hardware first, the problem of the motion-tracking solved. The Kinect development team (Project Natal) Jamie Shotton commissioned the Microsoft Research in Cambridge with the improvement of the first motion-tracking algorithm, had the following disadvantages:

  • The players had to take at the beginning the famous T-pose for calibration
  • the camera lost the occasional user and the system had to be re-calibrated again incl T-Pose
  • it only worked with certain body types, namely with those of the conducting Microsoft developers :)
  • from the silhouette of the user had the body parts and the joints are extracted from it. The joints of the skeleton can then be generated, that uses the Kinect for the movements

The solution: It was used computer learning software and fed a movement with tons of data, u.a. aus Hollywoods Motion Capture Studios. This resulted in a decision tree, which could see the joints.

A further highlight is the American Speech Recognition, that can deal with various American accents and was created with the help of computer learning.

The Kinect is finally on 26.9.2010 published, 3 Years after the actual release date at E3 2007. In the first 60 Days, an average of 133.000 Units sold pro Tag whereby the Kinect appears before the iPhone and iPad in the Guinness Book of Records.

Read more: The technical history of the Xbox Kinect and NUI or Kinect SDK Tutorial Installation unter Windows 7