Why do games need more Elena (Fisher)

Elena’s a strong, independent woman, with her own motivations and thoughts. She’s indeed attractive (very attractive if you think about Uncharted 4), but in terms of being healthy and fit, not being overly sexy as a “fan service” (Japanese games, I’m looking at you)

 

She’s not some female characters who are over-confident, and/or over-powered, to the point they don’t even need men. She does not work alone. She works with Nathan Drake to overcome the odds.

Continue reading “Why do games need more Elena (Fisher)”

How can Horizon: Zero Dawn be (even) better?

If you own a PS4, you might want to try out Horizon: Zero Dawn, and if don’t have a PS4, you might want to buy a PS4 Pro + a HDR TV to try it out. Yes, the game is a blast to play: vast, beautiful world – which will drop your jaw frequently, and fun, exciting combat with the dino-robots. The game is selling very well and an expansion is under the work already – and I’d not be surprised if a sequel Horizon: Zero Dawn is announced in the future. But, can it be better? Yes! How?

Continue reading “How can Horizon: Zero Dawn be (even) better?”

Learn Git in … 30 days

Recently I stumbled on a tutorial named Learn git in 30 minutes. While there is nothing wrong with that tutorial, it’s actually pretty accurate, and clear and easy to follow – thumbs up to the author about the writing – I have great concerns about how should we learn Git.

Git is not that easy.

Don’t get me wrong, Git is a great tool, perhaps the greatest developers’ tool since C language. Where I work at, we switched from Team Foundation Server to Git two years and a half ago, and I’ve never looked back – Git does things right where TFS did wrong. It really helped my life, as a developer, easier.

But everything comes at a cost.

As powerful and flexible as it is, Git is also complex and easy to mess up. It can be your best tool,  but it can also be your worst nightmare, when something goes wrong.

Continue reading “Learn Git in … 30 days”

StackOverflow – a missed opportunity

Back when I was young and mostly stupid, I discovered StackOverflow. The site struck me hard. There were a lot of “Wow” moments for a third year student. I still remember the first time I asked the first question, then even think about the questions to ask (so I can gain some precious reputation – yeah, I was young and stupid, remember?), and the first time I tried to answer a question myself.

It has been a long time since those days.

I still use StackOverflow, even at this very moment. But it’s on demand, instead of browsing it everyday as a habit. I search for a question, read the answer, possibly vote it up, then leave. Sometimes, when I have absolutely nothing to do, I try to review the suggested edits from other users. And that’s it.

I don’t entirely leave StackOverflow, I just don’t actively use it any more.

Continue reading “StackOverflow – a missed opportunity”

What does it take to be a developer?

No I’m not talking about becoming a “developer” like Bill Gates, or Mark Zuckerberg, or even someone less “famous” like Linus Torvald or Anders Hejlsberg. Man, I’d give up many things to become one of those. To become such successful developers, you must be extremely talented, extremely determined, and of course, a sizable amount of luck. I’m talking about an average human being, trying to become a person who can enjoy his work (and hopefully, provide his family with that work). 

Somebody might think, it’s easy to be a developer today. Most problems can be found on the internet – by searching Google, or asking questions on sites such as StackOverflow. Some might even jokingly define “programming = copy and paste answer from StackOverflow”, but we all know that, it takes more than that.

I’ve been trying to answer that question. I’m not a great developer by any mean. A decent, at most (My boss has been saying that I’m doing a very good job, I truly hope he’s not just being nice). It’s been 14 years since I get into programming, 10 years since I made the final decision to be a programmer, when I chose the faculty at my university  and 6 years since I began my professional career as a developer. It’s been all natural to me – what does it take to be a decent developer?

Continue reading “What does it take to be a developer?”

Why don’t I reply to your recruitment emails?

This post is about a (I hope) small portion of recruiters. If you have never sent an email like this, congratulations, I think you can consider yourself as a professional recruiter. If you did, might be you can changed the way you communicate with candidates to be more effective? I don’t want to burn any bridge here – I have high respects for recruiters, who are working hard to connect companies with potential employees, making the world a better place.

Most of the recruiters I’ve had chances to work with are great specialists and it’s been a pleasure working with them, even that I have to turn down all of the offers because I don’t want to change jobs now (While I’m not seeking for new job at the moment – have I ever mentioned that I have a great team at Episerver? – I think it’s not harmful to build up a network, just in case). However, there were times I feel annoyed when I receive a recruitment email. Initially, I would kindly reply to that email, saying I’m not interested in the positions. Later, I simply delete those emails. And I even marked some as spams.

It should not have to come to that end.

Why?

Continue reading “Why don’t I reply to your recruitment emails?”

Joel test scores are (somewhat) outdated – you should ask something else

Joel test scores are widely accepted as the “12 golden checks” for interviewee to ask interviewer during an interview. They were originated by Joel Spolsky – and his blog was famous among developers, they were quite well-known – and have been popularized even more with StackOverflow (where Joel Spolsky is one of the founders). StackOverflow Jobs even have a check list for recruiters when they post their job vacancies. Here’s the list:

  • Do you use source control?
  • Can you make a build in one step?
  • Do you make daily builds?
  • Do you have a bug database?
  • Do you fix bugs before writing new code?
  • Do you have an up-to-date schedule?
  • Do you have a spec?
  • Do programmers have quiet working conditions?
  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do new candidates write code during their interview?
  • Do you do hallway usability testing?

The list served its purposes for a long time – and I can say it, to a point – contributed to software industry. When developers are aware of such things, companies need to adapt to attract talents – resulting in better work environments and processes (again, there are companies which do that well before the list, and there are companies do not care about it at all).

Continue reading “Joel test scores are (somewhat) outdated – you should ask something else”

It’s Microsoft, after all

The news that will interest most of .NET developers today, is Microsoft decided to sack project.json and come back to MSBuild.

We feel lucky because we held off the transition to ASP.NET Core, but the other teams in my company might not be as happy. They will have to move back – and that means there will be a delay in developing new features. (Yes, we invest in a pre-release framework, because that’s what you need to do to stay ahead of your competitors)

You might say you saw it coming.

It’s not the first time Microsoft creates something cool, lets some of us fall in love with it (or even have our lives depends on it), the eventually kills it off.

Remember Silverlight?

Or XNA?

Or Windows Workflow Foundation 3.5? Technically there was WF 4.0, but the API:s were entirely changed, to the point that we can consider Microsoft killed WF and created something else with the same name.

Sadly enough, this is not uncommon in the software industry – especially in a big company like Microsoft. Microsoft has many divisions, each division has many teams and those teams, unfortunately, *compete* with each other, sometimes. Sometimes they win. Sometimes they lose the battle and their product is killed in a favor of other product from other team. It’s not something super secret about Microsoft – in fact – it’s quite well known.

It’s bad habit, without a doubt. You invest your time into learning it. Your company invests their money into using it. And then you have to start all over, again. You can still keep using the technology, it will not just die, but the does mean you put yourselves in the risk of lagging behind and security threats.

This time, it’s slightly better because the ASP.NET Core, technically, has not been released yet. It’s still bad because Microsoft should have made the decision before the Release Candidate, but I feel lucky. What if Microsoft makes it to ASP.NET Core 1.0, and we use it, then they kills it off in 2.0? What if we invest hundreds of development hours into it and then spend another hundreds of hours reverting back?

For me, personally:

It’s good thing this time we don’t have to learn a new thing. It’s bad thing this time we don’t have a new thing to learn.

 

 

Never send me my password

I’m not a security expert myself, not even close, but for more than once, I’ve been greatly concerned about the risks for having accounts in several websites. I wonder myself why did the developers there go with the decisions that bad.

It’s already bad enough to use HTTP on your register/login page . It’s even worse when you send me my password in plain text. Either the one I chose or the one you randomly generated for me.

Oh please, I know what my password is
Oh please, I know what my password is

And this has happened more than once. Each time, it raises my eyebrows higher and higher. I don’t want to rant here – but it takes great deal of ignorance or laziness, or both, do do such as bad practice about securities.
Continue reading “Never send me my password”

What not to do with your newsletters

Newsletter is a powerful communication channel – it keeps your customer informed, and even more, keep then engaged . Truth is, most of your customers won’t visit your website often, and newsletter is a very good way to keep they coming back. I myself – am an example of those customers – most of my purchases were made from newsletters. A good deal shows up and I just buy it – even thought I don’t really need it. Yes it’s not the best habit in the world, but it’s the way marketing works. You get a good sale, I get a product that I might need some day. Everyone is happy, well, might be except my wife.

However, like other channels of marketing, mistakes can be made with newsletter and drive your customers away. Make sure to avoid these:

Sending too many newsletters:

Unless your customers explicitly say that they want to get your newsletter everyday, it’s best to avoid to do so. Even if your site is full of interesting content, keep in mind that if customers received too much emails from you, their interests might wear out. It’s bad when customers start getting a habit of “Oh another mail from <blah blah>, just ignore it”. It’s even worse if they don’t open your newsletter at all, or simply create a rule to delete it.

Continue reading “What not to do with your newsletters”