Author Archives: commx

.com domain registration spam

Today I’d like to share some information with users registering .com domains. Other TLDs may be affected as well, such as .net or .org (they’re all managed by the same registry).

A few days ago I’ve registered a new .com domain which unlikely was in service at any time before the registration (I even checked with the archive.org time-back machine). Later that day, I received an email with subject “DOMAIN SERVICE NOTICE”. It was sent by an third-party and asked me to subscribe a “service package”. Two days later, I’ve got another email for the very same domain. It has not been used anywhere, so I guess the registration information is retrieved by an automated process. This is probably not allowed, especially not since it gives the impression that responding to such requests is required in order to use the domain.

Please do not reply to these emails. They generate additional cost and may publish your domain name to untrusted resources. Such behavior is not serious business, so please be careful with emails like these.

python-rrdtool 0.1.3 released

Today I’ve released python-rrdtool version 0.1.3, which fixes some bugs when building the module in build environments that do not have specific rrdtool build headers included. Now all the graph and xport functions are available again.

To update or install, use pip:

pip install -U rrdtool

There are some discussions going on about the number of Python bindings for rrdtool. The version I’ve created is just one of a few, and was probably the first one that offered Python 3.x support. Some people were asking if it may be possible to get this merged into the regular rrdtool distribution. It might be. But from a certain point of view I think it’s a better approach to distribute the bindings via PyPI, because it’s more pythonic, and it allows building for multiple Python versions at once.

UI Performance concerns on OS X El Capitan and Yosemite

A few weeks ago, OS X El Capitan (10.11) was released. I took the chance to test it for a few days – just to replace it again with Mavericks (10.9). Let me explain why.

When Apple released Yosemite in 2014, they did a major update to it’s design. Not only the system font has changed from Lucida Grande to Helvetica Neue (and to San Francisco in El Capitan to address some readability issues on non-retina displays), but also many things under the hood have been changed. These changes to the UI system made Yosemite and El Capitan responding slower than Mavericks. But that’s something that you’ll eventually only notice if you’re having a dual-boot system with both versions running on the same device. I can definately work faster with 10.9 as with any newer OS X versions, because everything responds faster.

With El Capitan, Apple simply continued where they left off with Yosemite. Especially in bringing their Apps up-to-date with the new UI design introduced with Mavericks and improvements regarding security mechanisms with the system itself. They also have improved the performance. Unfortunately, the performance is still not the same as with Mavericks.

Some further issues discovered with El Capitan were:

  • Finder canceled renaming files when the list of file reached the bottom. This was freaking me out when renaming files in directories with hundrets of items.
  • PDF documents look somehow blurry. This wasn’t the case with Yosemite and Mavericks.
  • They have a new beach ball. But I see it even more often than in previous OS X versions. Not good.
  • Disk Utility was redesigned. While it perfectly fits into the rest of the system design, some things have been changed (especially the partition stuff works a bit different). Humans don’t like changes, you know… 🙂
So at the end of the day I ended up restoring my Time Machine backup to have Mavericks back on my device. For users of retina-based devices, Yosemite or newer is a must, as only those versions have full retina support.

Apple iPhone 6S Battery Issues

When I bought my first Apple product back in 2001, I was thrilled to have something that looks great, has great capabilities and yet does a good job. It was an iPhone 4S, for which I paid around 630 € back then. However, that phone was not working well with recent iOS versions, since it’s hardware specs are somehow outdated (well, everything older than two weeks is out-dated nowadays).

So I decided to get an iPhone 6S. The presentation of the latest iPhone in Apple’s September Event looked promising. More processor power, more GPU power, 3D Touch and so on. A well designed device with current technology. Three days ago my phone was delivered. After unboxing, I charged it until the Battery was full and then started setting it up. I did not recover any existing backup.

The next day I encountered an issue with the device. While not fully set up (a lot of Apps I use were not even installed), the battery drained pretty quickly, while the phone was on Standby for 95% of the time. A full battery lasted for about 12 hours. Later that day I contacted Apple Support and told them that the battery was draining for no reason. They remotely tested the device via their diagnosis tools and told me that everything is fine. They recommended me to reset the settings. I did that. I even did a factory reset – without success. Again I contacted Apple’s support and the result was the same: The device is fine, all I can do is bring it in for service. Unfortunately the next free time slot in my local Apple Retail Store is in more than a week. So I might go and get it checked there to find out what’s wrong with it.

For me, it’s an hardware issue. With no apps installed, Bluetooth, location services and many background services turned off, the phone is not meant to consume a lot of energy at all. My OnePlus One lasts at least one and a half day with average use and a fully charged Battery. That’s what I expect. I know that Apple reduced the battery capacity for the 6S compared to it’s predecessor, but it shouldn’t be that dramatic.

Text Editor Comparison

Editors are the most important tool for software developers. A great editor can speed up the development of your project and make life easier in many aspects. There are many editors out there – some with the minimalism of vi or nano, other are graphical editors like Textedit, Notepad(++) and so on. The difference between an editor and a word processor like Microsoft Word/LibreOffice Writer is simple: Plain text editors just store the text as-is, without any formatting. Word processors may store the contents in binary format to preserve formatting. That way, word processors are not suitable to write code and configuration files.

Editors nowadays offer much more features than just text manipulation: Syntax highlighting, intelligent search/replace functionality, version control integration and many more. Below is a list of editors I think that are worth to be mentioned.

1. Sublime Text 2 & 3

Released in 2011, became one of the most popular editors out there. Sublime Text is by far the fastest editor out there, starts in no time and offers a lot of themes and extensions. It’s written in C++ with a Python backend. Available for Windows, Mac and Linux. A license can be obtained for $70. License: Commercial.



2. TextMate 2

The user interface seems to be inspired by Sublime Text 2/3. It’s written in Objective-C and available for Mac only. Still in beta (as of Feb 2015) and free of charge. Allows extension using Bundles. TextMate 2 is open source. Free.


  3. Atom

Atom is a editor from GitHub, written in HTML, LESS and JavaScript. It runs on Chrome’s rendering engine and renders the UI using web technologies. While it takes a few moments to start up, it runs very quick when launched. It can be extended using themes and plugins. Available for Windows, Mac and Linux. Atom is licensed under a MIT-style license. Free.

Conclusion

All of the editors above offer a great look and feel and a wide range of features, even if they’re just text editors. While I usually spend most time using a full-blown IDE, these editors can be a great alternative, especially when it comes to speed and efficiency. Atom is currently one of my favourites, because it uses web technologies on the desktop which I think is a great step towards the future of apps on the desktop. The reason is simple: Since it’s not written in a compiled language, it’s possible to run it on any system that offers a interpreter for the code. That way, Atom may work natively on FreeBSD while Sublime Text may only work with Linux emulation there.

PyCharm on OS X Yosemite

When installing PyCharm on Yosemite, you’ll get an error about missing Java Runtime 1.6. In fact, Apple has removed the Java Runtime version 1.6 on Yosemite. Don’t worry – you can install Java 1.6 using Java for OX 2014-001 from Apple. I strongly recommend doing it that way. You could also download JDK 1.7 or 1.8, but in fact that would break the signatures for the app bundle and as a result, updates won’t work anymore. Read more about that in Jetbrain’s blog.

This may also apply to other IDEs based on IntelliJ, such as WebStorm etc.

Another side effect on using Java 1.6 for IntelliJ products is font hinting: While it works fine with 1.6, it looks horrible on 1.7 and 1.8. This has to do with some Apple-specific adjustments in their Java distributions. You may also find the UI having the pre-Yosemite UI elements (buttons for example). Maybe the latest Java JDK/JRE do not support the new UI elements yet. This applies to any Java versions to date (1.6 – 1.8u25).

OnePlus One Pre-order

On October 28, 2014 OnePlus offered a public pre-order for their phone model “One”. People usually need an invite to be able to buy that phone. With the pre-order campaign, everyone were able to buy a phone within a one-hour period. However, their servers were totally overloaded and a lot of people were not able to place an order – even if they had prepared their order prior to the one-time time frame where the orders could be actually sent.

I also filled the order that day and pressed the submit button on 4:00 p.m. (CET). And my browser got a time-out. It was almost impossible to log in. Either the login was not available (HTTP 404), or there were OpenID login issues. After 40 minutes of trying, I was finally able to login. But not able to place the order. In the meanwhile, OnePlus announced that they are going to extend the pre-order time frame to three hours. I tried again and finally I was able to submit my order after 90 minutes.

On November 1st, I received an e-mail from OnePlus stating that my payment has failed:

Hello ., 

Your authorized payment for your OnePlus One pre-order has unfortunately failed! 

No worries though – just make sure you have a valid payment method set up in your PayPal account with sufficient balance. Also, please make sure your shipping information is correct in your order. We’ll try to complete the payment authorization once again in a few days.

I verified that my PayPal account is fine (appropriate payment sources have been set up correctly etc). No changes have been seen since then.

On November 12, 2014 I received an e-mail from OnePlus regarding my order: It was cancelled. The reason for that is the same as for the previous e-mail: The payment has unfortunately failed. When asking PayPal, they say it’s on OnePlus side and vice versa.

However, one good thing has been left: OnePlus promised to spend an invite because of the failed payment within two business days. The invite can be used to order a phone instantly. So let’s wait for another two days…

Update Nov 13, 2014: Today i have received an invite from OnePlus and was finally able to place my order again. Believe it or not: It worked instantly. Let’s hope that this is fixed for the next pre-order on Nov 17.

About the OnePlus One

Being around for some months already, the One is a smartphone by chinese company OnePlus. It consist of brillant hardware specs and an unbeatable price: For only € 299.00 you’ll get a phone that is almost as good as the iPhone 6 Plus, but for a much lower price. The One runs CyanogenMod, a Android derivate and will receive an update to the latest Android 5.0 (“Lollipop”) platform soon.

A second pre-order run will take place on November 17, 2014 on 5:00 p.m (CET). People have the ability to buy the phone within a one-hour period. If you plan to buy it, please make sure that you have PayPal account and it’s set up correctly to avoid issues like I had on the first pre-order.

python-rrdtool now available on PyPI

python-rrdtool is now available on PyPI. This simplifies the installation of the rrdtool bindings for Python when using pip or easy_install.

To install, you can simply use the following command:

# pip install rrdtool

python-rrdtool is a Python binding for rrdtool. It’s based on the original Python rrdtool binding distributed with the source code of rrdtool. This bindings work with Python 2.6+ and 3.3+.

YDNS: How to add a custom domain

We recently added support for custom domains to YDNS. That feature allows you to have YDNS manage your DNS records for your own domains. That makes YDNS not only offering free dynamic DNS services but also DNS services in total, since we added support for a few more record types as well.

I see many people adding domains the wrong way. Our system currently does not test whether a domain exists or not; it will frequently check its nameserver records for correctness. If they are not configured correctly, YDNS will disable those domains for further use (this will also happen if you have successfully validated your domains in the first place, but changed its configuration afterwards).

To correctly add your domain to YDNS, follow these steps:

Login to your Domain registrar’s Control Panel. It shall offer a section where you can change the nameservers which are responsible for your domain. If you cannot find this, you cannot add your domain to YDNS. In case you successfully found the appropriate section, replace your domain’s name servers with these two (and of course delete the previous one if they still exist after that):

  1. ns1.ydns.eu
  2. ns2.ydns.eu
After you’ve one that, you can add your domain in YDNS by navigating to the Domains page and use the “Add Domain” link on the right side on the top of the page. You may enter your domain name appropriately (e.g. “mydomain.com”) there. Our system will accept invalid domain names as well, but they’re deleted automatically after two weeks if they cannot be validated during that time frame.
Once your domain configuration is synchronized through the internet, our system will automatically flag your domain as being active and you can start using it.
If you have difficulties using this, please write to support@ydns.eu