Ahmet Alp Balkan
  • Blog
  • About
  • Talks
  • Bluesky
  • Go – taking slices of any type as input parameters

    27 December 2013
    My recent involvement with my new side project, go-linq, showed me that type system of Go is not designed for anything near object-oriented programming. There are no generics, no type inheritance, or anything helpful for certain purposes. However there is a type called interface{} you can assign pretty much anything into it, like object in .NET or Object in Java: var o interface{} o := 3.14 o := Student{Name:"Ahmet"} and it does not give any compilation errors. Read more →

  • Open sourcing my rejected iOS app: In-Stock

    05 November 2013
    Last weekend, I finished an iOS app that checks if latest Apple products are available for pickup in nearby Apple retail stores called In-Stock. It got rejected from App Store and no way it is getting in. So I’m open sourcing it. It looks like this: This app makes it dead simple to check availability of a new iPhone in town. It gets the job done in 2 seconds, compared to at least a few minutes you would spend on store. Read more →

  • Serializing Custom Objects in Objective-C

    23 October 2013
    Objective-C is a big pain in the ass when it comes to serialize instances of your custom classes inheriting from NSObject. If you Google how to you serialize your custom objects into JSON, you will get tens of results saying “implement NSCoding” protocol. Biggest take of this post will be: You don’t need to implement NSCoding. Here’s why: First of all, take a look at Sam’s article on how to implement NSCoding protocol. Read more →

  • magicmime: MIME type detection in Go

    21 October 2013
    I recently discovered rakyll’s new Go library magicmime on GitHub. In simple words, this library provides MIME type detection for files or buffers in Go. For example, if you have a file uploaded to your application, you might want to figure out its MIME type (e.g. if it is an image or a video file). This project is a demo of how to do C bindings in Go: It uses libmagic(3) to make calls directly to this native library. Read more →

  • Launching Dailybbble

    16 October 2013
    I’m happy to announce that I have launched yet another side project of mine: Dailybbble. This little project delivers most popular designs every day or every week via email. So you subscribe and you’ll get 6 best designs submitted to Dribbble yesterday in your your inbox every morning at 9am and you’ll have a chance to skim Dribbble as your day begins while commuting or clearing out your emails. So far half a thousand people have subscribed already for daily emails, it’s been really fast and honestly I didn’t anticipate this growth. Read more →

  • Goodbye.py: Automating mentions for unfollowers

    03 October 2013
    I have just released yet another useless script: goodbye.py. When someone unfollows you, this program sends a message saying goodbye to that guy. This is not intended to be something irritating or disturbing, it can totally turn into something useful or funny with creative ideas. I’m using it only to keep track of unfollow reactions to my tweets in my timeline. You can send a random fact every time someone unfollows you. Read more →

  • A dashboard about myself

    31 July 2013
    For a long time, I had a plan to expose data about myself publicly and I came up with this idea of personal dashboard. I launched it and it is live on my home page. Go ahead and take a look. → I had three motivations that made this idea possible: Data should be about myself and my daily life Data should flow to the system automatically It should look cool # Collecting data As a data freak, it didn’t take me too long to realize that I actually can collect a lot of data about myself using various APIs. Read more →

  • Spark.NET: sparklines in C# programs

    08 June 2013
    I ported Zach Holman’s command line charting script, spark, to C#. You can grab the source code from GitHub and the binary package from NuGet. Here’s simply how it works. ::csharp using SparkNet; ... string chart = Spark.Render(0, 30, 55, 80, 33, 150); // "▁▂▃▄▂█" Well, it does not work properly on good-old command line of Windows, cmd.exe. Default font of cmd.exe is bitmap (raster) fonts which has a very limited support for fancy chars and Windows console host has no support for Unicode. Read more →

  • 8 months in Microsoft, I learned these

    07 June 2013
    Two years ago today, I started Microsoft Windows Azure as an intern, in the very same team I joined right after college and I am working for last 8 months. I decided to summarize a few points I learned so far in this job during last 8 months. This may sound like the way things work are crappy, it is not. I learned that one will see this sort of problems in all large scale companies. Read more →

  • Redirecting output of Python programs to log file in Supervisor

    29 May 2013
    If you are also using Supervisor to monitor and heal your long running Python projects and observed that output of your program is not being logged to stdout_logfile, it is because Python print statement does not automatically flush output to STDOUT. One solution is using sys.stdout.flush() frequently to flush the output or if you are using Python 3.3, print(msg, flush=True) is another solution. However, a better solution is to run python with -u parameter (unbuffered mode). Read more →

  • ««
  • «
  • 10
  • 11
  • 12
  • 13
  • 14
  • »
  • »»

About the Author

I'm a software engineer at LinkedIn's Kubernetes-based compute infrastructure team. I enjoy building tools to orchestrate large-scale compute server fleets and love digging deep on Kubernetes and containers space. In my spare time, I maintain several tools in the Kubernetes open source ecosystem.

About me Other articles Follow on Bluesky Follow on 𝕏