/contrib/famzah

Enthusiasm never stops


Leave a comment

HTTP Keep-Alive timeout values used by popular websites

Here is the command to test the Keep-Alive timeout of a website:

VHOST="www.google.bg"; time openssl s_client -ign_eof -connect "$VHOST:443" <<< "$( echo -ne "GET / HTTP/1.1\r\nHost: $VHOST\r\nConnection: Keep-Alive\r\n\r\n" )"

And here are the today’s results for some popular websites:

slashdot.org: 0s
LWN.net: 5s
snag.gy: 5s
yahoo.com: 10s
readthedocs.org: 10s
www.superhosting.bg: 15s
httpd.apache.org: 30s
nginx.org: 1m
en.wikipedia.org: 1m
famzah.wordpress.com: 1m15s
aws.amazon.com: 2m50s
www.facebook.com: 3m
www.google.bg: 4m
cloudplatform.googleblog.com: 4m
www.cloudflare.com: 6m40s
www.mozilla.org: 6m40s
www.tagesschau.de: 8m
access.redhat.com: 8m20s
stackoverflow.com: 10m
www.timeanddate.com: 10m
www.dreamhost.com: 10m
www.reddit.com: 10m
twitter.com: 15m
Advertisements


Leave a comment

JIRA notify on create but only for parent issues

Here is a quick tutorial on how to create a custom notification in JIRA. It triggers when new issues are created but only if the issue is a parent, excluding sub-tasks.

You need to have the ScriptRunner for JIRA plugin.

First navigate to “Administration -> System -> Events -> Add New Event”:

  • Name: Issue Created (only parents)
  • Description: Triggers only for parent issues, not for sub-tasks
  • Template: Issue Created

Then navigate to “Administration -> Add-ons -> Script Listeners -> Add New Item -> Fires an event when condition is true”:

  • Note: Fire an “Issue Created (only parents)” event
  • Project Key: leave empty or enter a project name to limit the scope of this notification only for it
  • Events: Issue Created
  • Condition: !issue.isSubTask()
  • Event: Issue Created (only parents)

Finally, navigate to “Project settings -> Your project -> Notifications” and then “Actions -> Edit”. At the bottom there is the newly created custom event “Issue Created (only parents)”. Add one or more recipients and enjoy.

A quick note when testing the custom event. If you added only yourself as the recipient of the new event, JIRA won’t send you an email when the event fired. JIRA correctly thinks that it doesn’t make sense to notify the creator of the issue, as he or she already knows what they did. Therefore, in order to test this properly, you need to add someone else’s account or group, and then create a new test issue. Or do it vice versa by adding your account and let someone else create a new test issue.


Leave a comment

BlackVue DR550GW-2CH dash camera samples

Here are a few uncompressed video samples from my BlackVue Wi-Fi 2 Channel DR550GW-2CH car recorder. Each two files represent a capture from the front and from the rear camera. I’ve tried to demonstrate the performance under different light conditions.

I’ve been using the camera in an always-on mode via the Power Magic PRO. This produces a footage even when the car is parked. So far I had no problems with the accumulator when leaving the car parked for a day or two.


Leave a comment

Authentication for google-sites-liberation

I am doing a regular backup of my Google Sites using the free tool google-sites-liberation. Out of the blue, today I got the following authentication error:

Aug 06, 2014 2:34:08 PM com.google.sites.liberation.export.Main doMain
SEVERE: Invalid User Credentials!
Exception in thread "main" java.lang.RuntimeException: com.google.gdata.client.GoogleService$InvalidCredentialsException: Invalid credentials
        at com.google.sites.liberation.export.Main.doMain(Main.java:89)
        at com.google.sites.liberation.export.Main.main(Main.java:97)
Caused by: com.google.gdata.client.GoogleService$InvalidCredentialsException: Invalid credentials
        at com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:586)
        at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:490)
        at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:336)
        at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:362)
        at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:317)
        at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301)
        at com.google.sites.liberation.export.Main.doMain(Main.java:79)
        ... 1 more

This was followed by an email with subject “Google Account: sign-in attempt blocked”, which was a very useful hint by Google!

It turns out that they are now blocking login attempts from apps or devices that do not use modern security standards, according to their “Less secure apps” documentation.

Once I enabled the “Access for less secure apps”, I was able to export my Google sites using “google-sites-liberation”. It’s highly recommended that you disable the less secure authentication once you’ve finished the backup.


7 Comments

Auto screenshot on Windows

I recently migrated my desktop back to Windows, and while I’m at work I need to have regular screenshots of my monitor, for investigation and other purposes. I easily found a solution to record desktop activity by making regular screenshots on Ubuntu, and I thought that Windows solutions will be even more. It turned out to be the opposite — they were all either paid or not working/lacking features.

Here is how “Auto Screen Capture FV” was born. Two screenshots of the interface follow:

It has the following features:

  • Runs on Windows
  • Free as speech; open-source, developed with Microsoft Visual C# 2010 Express
  • Captures a screenshot automatically without disrupting user activity
  • Saves the snapshot images as compressed JPEG files, in order to save disk space
  • The destination directory where the images are saved is selected by the user
  • Rotates too old image files by deleting them, in order to save disk space
  • All settings are permanently saved in the registry, so next program starts remember what you configured
  • Auto screen capture can be easily temporarily suspended
  • Program can run in background; it minimizes to system tray

Old image files are actually moved to “Recycle bin” by default, in order to be on the safe side — if we have a bug, no files are lost. Auto Screen Capture FV has been tested on Windows 7.

Download links:


Resources:


Leave a comment

ResellerClub technical problems with DNS and Domain Forwarding

Today I woke up and found out that many of my domains aren’t working. I’m using ResellerClub (aka. DirectI) free DNS and free Domain Forwarding. Well, they deleted all my DNS records. The Domain Forwarding service stopped working too.

I’ve filed a support ticket with an “Emergency” priority. Let’s see what happens now… I’ll keep you updated.

UPDATE: Instead of just fixing things, ResellerClub really disappointed me. I am their long-term and very faithful customer, but now I see that I shouldn’t have trusted them so much.

It took two days for ResellerClub’s support to respond with the following ridiculous statement:

DNS records are merely record entries made in the server, and not a space occupying entity for which a ‘backup’ would be available/generated.
Hence there is no backup for the records at our end.

ResellerClub keep no backup whatsoever of their DNS and Domain Forwarding configurations! The explanation of this fact is hilarious — because DNS records do not occupy space. 🙂

This really pissed me off, and I asked them how they could operate without a backup. What if the disks of their DNS or database servers fail? What if an operator deletes a record by mistake? The answer by ResellerClub’s support was that they monitor their servers, so this is not an issue. Ha-ha! Since when is monitoring a substitution of backups?? Furthermore, they added that the system was fully automated, so no operator’s mistake was possible. I replied that even if the system operates automatically, it is still being maintained by humans, who may delete data by mistake. How would they explain why my DNS and forwarding data was lost…

Anyway, no need to dig into this any further. I re-created the DNS records, and also learnt an important lesson — never trust an (IT) organization unless you really know that they operate in a professional way by following all well-established principles in the industry. ResellerClub ain’t one of them!


2 Comments

StartSSL customer care

A few days ago I had to go through the “Class 2 Identity Validation (StartSSLâ„¢ Verified)” process, so that I can issue an unlimited count of wild-card certificates.

Before even getting any deeper in the process, I first contacted StartSSL and asked them if they stand behind their words, that once verified (one time-fee $49.90/yr), a customer of theirs can issue an unlimited count of wild-card certificates. I got a pretty quick response by StartSSL stating that this is indeed true, there’s no catch.

After that I started the process of verification – registered, submitted documents, etc. There were many unknown things to me and I had to ask their support many questions (I won’t go into details as I can’t disclose all of it), and we’re almost at the end – they send me a verification postal mail. Once I get the code, we should be done.

But this post is not only about my success with StartSSL – it’s about their very quick, accurate and helpful Support service. You guys rock!