HNHacker News
TopNewBestAskShowJobs

mostafah

1,265 karma · joined May 24, 2013

submissionscomments
mostafah··on Google announces uProxy
It will be very interesting for us living in Iran. We have a lot of friends abroad.
mostafah··on Golang Object Oriented Design
One of the most common problems people have when they get to know Go is to not embrace its approach to programming, but try to enforce what they already know in Go programs.

This is a clear example of that. Implementing “polymorphism” with Go interfaces is abusing interfaces! Seeing embedding as inheritance misses the point of both embedding and inheritance. Comparing packages to namespaces isn’t that bad, but just delays you getting to know Go for real.

I’m not saying that these old concepts are bad or Go’s new approach is superior. (I believe in that; but that’s not the point here.) I’m saying if you’ve gotten used to these concepts so much that you can’t think or program without them, then there’s a problem. Don’t design a solution around polymorphism or inheritance and then try hard to force that into Go. Design your program with that your language is giving you.

mostafah··on Introduction to Golang
For people not familiar with Go Playground, that’s a compiler error.
mostafah··on Dropbox Uploader: Bash script to upload, download, list, delete from Dropbox
This is the perfect tool for a simple and free backup solution for servers for configuration files, logs, and even encrypted database dumps.
mostafah··on Practical Typography
> I don't know how long it takes to design a good font, but is it longer than writing a good smartphone app?

No if you spend years on an app! Seriously, developing a good type, from the idea to the final font files, is massive undertaking and can’t be compared to developing software. (I’m an experienced software developer and also a not-so-experienced type designer.)

mostafah··on Stunned by Go
It’s not like that. It makes sense in Go. Say you have a type, and you implement “Read” function for it. You don’t do anything else but now you are implementing an interface and other functions can call your “Read” function. Having a “ReadByte” function and other functions calling that isn’t that much different from your perspective. Any type that implements “Reader” may implement similar functions too. And if they do, that’s probably for a reason. If your type has a specific “ReadByte” function you want others to use that instead of the generic “Read” for reading a single byte.
mostafah··on Mammouth is a small language that compiles into PHP
How come you guys compare with it CoffeScript? Compiling to JS makes sense because that’s how the code should be distributed. That’s what browsers understand. But why should a new language come to compile to PHP? Why not build a first-class language?

CoffeeScript took off because that was the best way to write client-side code with a cleaner language/syntax. But for server-side, if someone wants a better language/syntax, there are a lot of options to choose from and you don’t have to continue with PHP if you don’t like it.

mostafah··on What Is Nostalgia Good For? Quite a Bit, Research Shows
It’s also good for advertising: http://www.youtube.com/watch?v=suRDUFpsHus
mostafah··on Poll: What's your favorite bug tracker?
They have a guide (http://asana.com/guide/videos/bug-tracking) in their help pages about it. I use it too, but not their way. I don’t have a “Bugs” project. I have a “Bug” tag that set to bugs in different projects. If you already have a projects structure that works for you and can hold issues like bugs, this might work better.
← PreviousPage 3 of 3