I’m writing a book titled Street Coder for beginner and medium-level programmers. It’s got released recently as part of Manning Early Access Program (MEAP). Here is how the cover looks:

Image for post
Image for post
The cover illustration doesn’t necessarily depict you at work, but it also might.

I’m a self-taught programmer and I’ve found that the gap between what you’re taught at school, bootcamp, courses, or in your room, and what you need to know in your professional software development career is something that can be addressed early.

We start our professional career with demanding workloads. There is always something to do and deadlines can always be pressuring to revisit our approach to software development. …

I’ve tried Hey email service for 10 days in its 14 day evaluation period and have finally decided that it’s not for me.

I was awestruck by Hey’s phenomenal introduction video. It resembled the presentations of Steve Jobs. It got me excited and eager to try it out. I’ve been a loyal GMail user since it was released 16 years ago but the privacy concerns have made me to look for alternatives. I looked at fully-encrypted solutions which were too much for my threat model. …

I saw a question on Quora asking this and I started to write an answer. But it got so long that I converted into a post here.

Here are some changes I have noticed over the last 20 years, in random order:

  • Some programming concepts that were mostly theoretical 20 years ago have since made it to mainstream including many functional programming paradigms like immutability, tail recursion, lazily evaluated collections, pattern matching, first class functions and looking down upon anyone who don’t use them.
  • A desktop software now means a web page bundled with a browser.
  • Object-Oriented Programming (OOP) has…

TradeNet (later TradeSoft), the company I worked for back in 2000 had me enrolled in a .NET Early Adopter Training Program which taught .NET Programming using a beta version of Visual Studio .NET.

I had mostly written code in Borland Delphi until then because of its rapid prototyping features for Windows applications, heck even for web applications. Delphi’s IDE was unmatched. The programming language it came with, Object Pascal, was clean for such a low-level one, had the right high-level constructs and abstractions in places and had a robust standard library called VCL. The only downside was manual memory management…

With ASP.NET Core and Entity Framework

So you plan on switching to .NET Core 3.0 but you’re not sure if you also want to make use of the new feature called “nullable references”. Yes, it is a great feature in terms of preventing bugs and crashes so you should be using it, but how should you approach switching to it?

But Weren’t References Already Nullable?

I know, “nullable references” is a confusing term because you have always been able to assign null to a reference in C#. As I understand, C# team implies that if the value can be encapsulated inside a Nullable<T>, it’s nullable, not that if it can be…

WARNING: This article might contain spoilers from Season 8 Episode 3 of Game of Thrones.

Everyone’s bashing the alliance at Winterfell about their clusterfuck battle tactics but I think Night King also performed really poorly. I’d like to point out some issues about his handling of total world destruction.

Night King Failed To Drive The Narrative

I think Night King failed in PR throughout the series. Here, you have the most impressive, fearful, terrifying, horror show of an army, you can raise dead at will who cannot be killed, yet your enemies don’t even know the half of the story. Nobody in Westeros knows about you. Some…

Setting up my Windows PCs from scratch is a pain in the ass. I wanted to automate some of the mundane tasks and it turned out to be a PowerShell script called “Genesis” mainly for my personal use.

I used PowerShell because it’s quite flexible, straightforward and its VS Code support works just great. The problem is that there are only two configuration file formats PowerShell could recognize and they are terrible: JSON and XML.

JSON And XML Are Not Good For Humans

JSON is a terrible choice for storing human-edited configuration. People have already written about it. It doesn’t support comments, you have to constantly juggle the…

I have been following the Surface lineup and salivating at the design of the products since the launch of the first Surface tablet. It is a beautiful looking piece of hardware and promises a lot. I finally purchased one, the Core i7 model, last week and I returned it today. I wanted to write about my impression and my thoughts about the device, which I hope would help the team developing it at Microsoft and people who are considering buying it.

Pleasant Packaging

Make no mistake, I don’t care much about the packaging, but I must admit that great packaging can also…

Another day, another question got downvoted, closed, drawn and quartered by StackOverflow moderators for obscure reasons. So here I am moving my answer here with some more elaboration.

The question was “why did Go creators choose to not treat nil as false?”. I think that it is a great question and can enhance someone’s understanding of certain concepts when explored.

First, we should ask about why references are evaluated to booleans in some languages. I think that comes from the time when C treated almost everything as integers. …

Note: This is an article I wrote back in 2016 but stayed in my drafts. Although .NET MVC Core is a significant leap from .NET MVC now, my points still have some merit.

Statically-typed programming languages are not the easiest ones. We see students easily grasp Python yet struggle with Java when introduced with types, declaration statements and all the mumbo jumbo. Compare the Hello World examples for instance:


public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");


print(“Hello World”)

Java example introduces us three distinct types: HelloWorld class, “void” and “String[]”, yet…

Sedat Kapanoglu

Writing Street Coder (https://www.manning.com/books/street-coder) · Ex-Software Engineer at Microsoft · Founder of eksisozluk.com · Demoscene old-timer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store