AWS, VPN and Public IP
Once you start to integrate services with Telcos, ISPs or other major Network players who are not “Cloud Aware”, you will need to go the VPN way using IPSec. Their setups have used all the available IP’s defined by RFC 1918 (or just don’t want to use them). They will want to use Public IP’s behind your VPN.
The problem is that your EC2 instances are running behind a 1:1 NAT with only a private IP’s attached to them. To add to the complexity, your instances are part of an auto-scaling group, with IP’s all over 10.0.0.0/8.
Luckily the way to solve this problem is actually quite easy, we just need to add some iptables rules and a proxy.
Read More…
OpenTTD: Timelapse from game save
This script allows you to create a timelapse video from your OpenTTD game. It will use your previously saved games. No need to remember to take screenshots during the game, ad since you play it safe and save before and after each big civil engineering work (ooops ?), you will have enough frames to create a nice work to put into your Company heritage cabinet.
The resulting video is zoomed into a defined location and works with large games (tested on a 512x512 map).
Read More…
Dynamically resizing EBS volumes
AWS provides multiples services that adjust sizes to your actual usage. This is not really the case when it comes to EBSEBS.
You can see EBS has a hard drive that you can attach to a running EC2 instance. The attached EBS will be accessible like any other driver under /dev/xvdX.
The idea here, is to provide a way to increase and decrease the size of the used EBS volumes according to the actual usage of the disk, and even allow you to increase the partition size beyond the 1TB limit.
Read More…
From Gallery to Koken
Back in the 90’s, there was no Ajax or HTML5. There was no Flickr, Picasaweb, or Instagram. The most common way to publish your photos on a website was to create a static html page for each album with all the thumbnails and images associated to it.
To solve this problem, one project emerged: Gallery. Since the beginning, the tagline was “Your photos on your website” and it did exactly that. Your photos are organized in albums, thumbnails and HTML are generated on the fly. There was even no database, information is stored as serialized data in flatfiles. In the past 15 years, 2 new versions where created each of them addressing issues from the previous. Gallery was always focused on the backend technology, doing a lot of amazing things. The frontend stayed in the same line, generating HTML to display albums, thumbnails and photos.
Read More…
Qmail: Routing outgoing SMTP through smarthost
If, like me, you are still using an old style LAMP stack combining Web and E-Mail, then you certainly made a “stay over” in SPAM-paradise.
The Stack I self-host my E-Mails, using QMail and vpopmail with a bunch of intermediate tools like Spamassassin, Clamav, Greylisting, DNSBL checks. This helps to clean out incoming SPAM. Messages are delivered to users through courier-imap or qmail-pop3d.
For outgoing messages, Qmail sends (via qmail-remote) the messages via SMTP to the concerned MX servers. Qmail doesn’t have a great way to handle SMTP-Auth, at least not without applying a bunch of patches. To allow users using the server to send E-Mails, I use Anubis on the submission port. Anubis takes the incoming messages and feeds it to qmail-queue for final delivery.
Read More…
Ubuntu, Flash and DRM hell
Yes, there are still peoples serving content through flash, and yes there are still peoples using DRM.
I was struggling getting movies with Adobe-Access DRM to work on Ubuntu Raring (13.04), and the cryptic “3323 error” didn’t help much.
Read More…
Android: Open an app from web link or fallback to market
For the Android app we developed at Spuul, we needed to redirect users to the app when they opened certain links on their device.
The first problem was that not every link should open the app, since some pages are ment to be visited by a mobile device.
The second problem was to redirect users to Google Play when the app is not installed.
Opening the app for certain links only Android apps have the ability to interact with the network stack and launch an app according to known patterns in an URI. This is known as Intent. The most common use is to catch all schemes that have a specific name.
Read More…
Squeezebox on RaspberryPI
I was looking to find a usage for my (RaspberryPI)[http://www.raspberrypi.org/]. Why not a headless Squeezebox-Client? To control the player, the Squeezebox app on your Android phone is the perfect choice.
Read More…
WordPress, Total Cache and Cloudflare
Everybody is aware that WordPress is a heavy truck to display some “mostly” static content. Each Plugin or Widget that is added ads some stylesheet calls, javascript calls and database requests. This all together slows up the loading time of your blog. And it gets even worse when the site become popular and has to deal with thousands of requests. Why request for each visitor something from the database when the content only changes once in a while? Why go through all the PHP logic when the final rendered HTML is always the same?
Read More…
First steps into Cloudflare
While writing about Cloudfront, I came accross another CDN service called Cloudflare. The free entry price made me suspicious, hosting and transport has a price. Since I had nothing to loose and that this domain was new, I decided to give it a try. So far, didn’t find any dirty trick.
What is Cloudflare? CDN is one of the features, but in fact, they do more than just delivery.
Content Delivery Network They place themselves in the CDN category. They are not a CDN in the strict sens of the term. You are not able to push files to Cloudflare and let them serve it. They are acting as a proxy in front of your site, same way Varnish would do it. But instead of having only one proxy server, they have them spread over the world, assuring that each user always get the content from the nearest one, and therefore reducing latency and speeding up the page serving.
Read More…