Founder's blog

Mar 6 2020
C# Ternary Operator with no "Else"

C# Ternary Operator with no "Else"

Here's a little C# hack I'd like to share, might be really useful to other devs too since it's a very common pain in all languages, not just .NET.

Sep 9 2019
WebClient Async (!) with Timeout

WebClient Async (!) with Timeout

The .NET Framework's built-in WebClient class does not have a built-in timeout feature.

Jul 7 2019
Invalidating ASP.NET Forms Authentication tickets server-side

Invalidating ASP.NET Forms Authentication tickets server-side

Sometimes you need to "log out other user sessions". To prevent cookie replay attacks or - a very common use case - log out other sessions when a user changes their password. ASP.NET does not have a built-in way of doing this, but there's a simple solution.

Jun 6 2019
CloudFlare, SEO and building my own caching proxy with Nginx

CloudFlare, SEO and building my own caching proxy with Nginx

TL;DR I spent the last month testing how CloudFlare affects my organic traffic by turning it off and on again™ and measuring the ranking changes. Looks like CF hurts SEO. So we've built our own caching proxy with blackjack and hookers AWS and nginx, while saving a couple of hundred $ a month on the way.

May 21 2019
If Arabs read right-to-left, do they see "700" as "007"?

If Arabs read right-to-left, do they see "700" as "007"?

This post has nothing to do with tech nor startups. Today, while adding proper "right-to-left" support to our app UI (for Hebrew and Arabic languages) I got a little carried away and found myself discovering a lot about Aramaic languages and ancient numeric systems.

May 2 2019
Clear/Flush all OutputCache in ASP.NET

Clear/Flush all OutputCache in ASP.NET

If you're using OutputCache directive like this:

[OutputCache(Duration = 600, VaryByParam = "*", Location = OutputCacheLocation.Server)]

Or storing custom data in HttpRuntime.Cache like this

HttpRuntime.Cache.Add(...)

You probably caught yourself wondering

Apr 9 2019
Returning a Zip File from ASP.NET MVC Actions - in Pure .NET

Returning a Zip File from ASP.NET MVC Actions - in Pure .NET

If you search for "generate zip in ASP.NET/C#" you get tons of blog posts and StackOverflow answers suggesting DotNetZip, SharpZipLib and other 3rd party archiving libraries. And up until now that was the only solution - all because .NET had no built-in support for zip format.

Mar 28 2019
Back to PC after 14 years on a MacBook

Back to PC after 14 years on a MacBook

I've been a happy MacBook user for almost 14 years. Tried all of them - from a tiny 11" MacBook Air to the enormous 17" Pro - and in 2014 I finally ended up with the 15-inch retina model.

The best laptop I ever owned.

Even if you need to occasionally run Windows for work - MBP is still the best possible hardware to do that. The 15-inch retina MacBook had that unique blend or elegance, power, durability... And by "durability" I mean I fell off a motorcycle with this thing in my backpack - not once, not twice, but thrice.

Jan 30 2019
Thoughts on Tech Stacks for Bootstrapped Startups

Thoughts on Tech Stacks for Bootstrapped Startups

So you're starting a bootstrapped web-based business and you're deciding on the tech stack. After running a software startup with zero funding for 13 years, here's what I have to say about this.

Nov 20 2018
CSS: always use transparent colors for your shadows

CSS: always use transparent colors for your shadows

I see a lot of websites and apps using "box-shadow" like this box-shadow: 0px 0px 20px 5px #ddd. Which literally means "lets have a #ddd-colored shadow, with zero offset, 5 pixels wide and 20 pixels blurred".

Which is perfectly fine, for the most part.

<< newer   older >>