When trying to connect to my new Raspberry Pi via SSH, this only worked when done locally. It turned out to be caused by the /ect/hosts file. I had set the hostname using the raspi-config tool, which linked it with the loopback address instead of the real one (192.168.x.x). Changing it to the proper address solved the issue.
Although I was quite sure that I had SE Linux disabled, it was causing connection issues for me. Entering the command
chcon -t samba_share_t /path solved this for me.
Just recently I purchased an AirPort Epress from Apple to connect it to my stereo and enjoy music in a better quality than from the built-in speakers of the MacBook. The inital setup went fine but iTunes was not able to connect (iPhone just worked). After trying various things it turned out that IPv6 was responsible for this. Unfortunately it is not possible to turn IPv6 off in the GUI (brilliant idea, folks!). But it can be achieved via the command line. So here are the steps I had to take
- Open terminal
- Your wireless network probably shows up as “Wi-Fi“. Please adjust the following line accordingly, if your system uses a different name
sudo networksetup -setv6off "Wi-Fi"
With those steps things we worked immediately.
Every once in a while someone is rolling their eyes when I, again, insist on a well-chosen name for a piece of software or an architectural component. And the same also goes for the text of log messages, by they way; but let’s stick with the software example for now.
Well, my experience with many customers has been the following, which is why I think names are important: As soon as the name “has left your mouth” the customer will immediately and sub-consciously create an association in his mind what is behind it. This only takes a second or two, so it is finished before I even start to explain what a piece of software does.
Assuming that my name was chosen poorly, and hence his idea about the software’s purpose is wrong, he will then desperately try to match my explanation with his mental picture. Obviously this will not be successful and after some time (hopefully just a few minutes), he will interrupt me and say that he doesn’t understand and shouldn’t the software actually be doing this and that.
It makes the conversation longer than necessary and, more importantly, creates some friction; the latter is hopefully not too big, but esp. at the beginning of a project when there is no good personal relationship yet, it’s something you want to avoid. Also, think about all the people who just read the name in a document or presentation and don’t have a chance to talk with you. They will run around and spread the (wrong) word. I have been on several projects where bad names created some really big problems for the aforementioned reasons.
Published on April, 1st
Having been a very happy iPod user for more than six years, I finally got myself a Mac Mini as a kind of New Year’s present. And I must admit that it totally blew me away! The overall usability and the many tiny details that show the degree of thinking that was put into the product are awesome. And of course the design is so much beyond any computer I ever had before.
My only problem now is to find and play with all those nice tools that make one’s life even better. What I already installed are of course Emacs, Eclipse, and a few more. Once I have gained enough experience there will probably be a separate post on what I consider useful.
Just a quick post to share two awesome utilities that I have been using for a while now. I like working with the keyboard over the mouse in many cases, simply because I am faster with that, and was recently pointed to a a tool that will make things even better:
Auto Hotkey: This allows you to “play” an arbitrary set of key strokes and commands either by replacing text you just typed or by re-assigning a key (combination). Very handy for emails where you can now simply type “brc” and get “Best regards,<NEW_LINE>Christoph”
Another tool worth mentioning is Key Tweak, which provides a GUI over the registry that allows to remap the keyboard. My use-case was a very old IBM Model M keyboard that does not have a Windows key (I was made aware of the tool by this post)
I stumbled over this when reading a German article about the Visual Studio ALM Days 2011. Eric Ries basically makes the argument that startups, like any company, need management; you cannot expect to succeed without it. The key point, though, is that a special flavor of management is needed, which is tailored to the specifics of startup companies.
When looking at the reviews at Amazon, it becomes apparent that the author has hit a nerve. Although not all of them are really enthusiastic, already their sheer number (142 as of this writing) is interesting. I will not repeat things here but provide a few of my thoughts:
- First of all, I was reading this not from the perspective of someone who works for a startup or wants to create one any time soon. Instead my background is on distributed systems working for a well-established software company. So the aspect of how to change innovation within an existing organization was the interesting part for me.
- The key aspect I took away was that in many, many cases it is better to start building something quickly, fully accepting that the initial solution is far from perfect, and get feedback fast. This also coincides with my observation that most people have great difficulty to really grasp and understand something really new. Instead of spending much time on slides, just do a mock-up or prototype and some screenshots and all your discussions will be much smoother.
- If you expect checklists and concrete advice for your particular situation, you will probably be disappointed. I would argue, however, that the book’s approach to tell you how to think is certainly better than to have a one-size-fits-all list of things to check off.
Overall I enjoyed the reading and fell that it has expanded my way of thinking. Also, I found quite a few parallels (e.g. with agile software development) and this reiteration has helped to “persist” things in my mind.
Recently, I came across a very interesting post on Harward Business Review’s blogs. The article from Peter Bregman is called “How to Counter Resistance to Change” and I recommend you read it and also scan the other posts from the author. The part that will probably create a few raised eyebrows is when it advises against getting buy-ins. Well, at least in the dumb way this is usually done: In most cases I have personally experienced, what people effectively did, was try to persuade me (or even talk me to death). Folks, this is not getting a buy-in, this is talking someone to death.
In my view getting someone else’s buy-in usually means that the other party needs to change, at least partly, a position they had taken before. To make matters more difficult, in many cases the incumbent position has also been communicated to others, so we add the not-loosing-face factor to the equation. Variations of the latter are things like being seen in control by superiors as well as subordinates. But also the impact on relative strength perceived, compared to the person that gets his or her own view through, plays a role. So all in all this is quite a minefield and careful handling is required from a short as well as a long-term perspective.
What I found particularly interesting, or rather amusing, is that the author’s approach is something I also heard about in a TV series where it was called the “horse dealer’s approach”. So nothing really new, but still very relevant to many situations. Also, you can look at it as identifying a given pattern in as many different scenarios as possible. I am very much someone thinking in patterns and always find that one gets tremendous insight into the core of something following this approach.
I am quite happy that my first contribution to a pretty well known open source program has made it into the latest release of JMeter, the famous load-testing tool from the Apache folks. At the beginning of this year I needed to do some load-testing on JMS topics with durable subscriptions. At the time those weren’t available in JMeter so I dug into the code and added the functionality, which was less difficult than anticipated.