Then what is a branch in Git, actually? A branch in Git is simply pointer to the hash of a commit (which will be the HEAD commit of that branch), and a name of your branch, of course. That means creating a branch in Git is extremely cheap and is almost instantous.
Now if you look back at the branch tree in Git Extensions, you will see a linear tree. (It’s not something you usually see in your working environment, but we’re new anyway.). You can see that the name of the branches and the commit message are in bold.
For the commit, it means the commit is the HEAD commit of a active branch. A commit will always point to it parent (or its parents, in case of a merge). When you know the HEAD commit, you can know how does your branch look like, down to the initial commit (which has no parent).
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.
Update: I found a faster, more reliable way to import, here
Today when I tried to import a .bacpac file from a customer, I ran across this issue:
Could not load schema model from package. (Microsoft.SqlServer.Dac)
—————————— ADDITIONAL INFORMATION:
Internal Error. The internal target platform type Sql120DatabaseSchemaProvider does not support schema file version ‘2.6’. (File: D:\supportcases\something.bacpac) (Microsoft.Data.Tools.Schema.Sql)
I’m using SQL Server 2014, Developer edition. Searching for the error returns no matched result. However, as the file was exported by Azure v12, we can assume Microsoft should have done something to support the latest version (2.6) in Management Studio.
If your Apache website is under a load-balancer or proxy, some features might not work very well. The proxy, for example, might “hide” the true IP from clients, the address your application sees in REMOTE_ADDR attribute (PHP, for example) will be the IP of the proxy renders IP-ban in .htaccess useless.
If such things happen, time to do some configuration. First, you need to enable the mod_remoteip module to handle requests through a proxy. It will allow you to “rewrite” some headers in the request to make your web application to know the true client IP.
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).
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?
Today I updated our TeamCity server from 8.15 to 9.17. We need to support C# 6.0 so it’s an essential move. TeamCity 10 is still EAP and we would wait a couple of months after it comes out to make sure all the plugins are supported.
The installation was a breeze – the installer detected there was a previous version and offered to uninstall it. All good. Until there was a browser window opened so I can continue the configuration, but http://localhost/ only returned time out.
When I opened the Service Management (services.msc), it looked like the service was not running. I tried to start it, but then it stopped immediately. Events viewer was not exactly helpful, it gave a very obscure information:
The description for Event ID 404 from source TeamCity (see below) cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
=============================================================== TeamCity JetBrains JetService v1.1.755.777 c:\TeamCity\bin\TeamCityService.exe Service process exited without service stop request =============================================================== Continue reading “Upgrading to TeamCity 9.x: the JRE headaches”
At first you will have to update to TeamCity 9.x (9.1.7 at the time of this post) to support Visual Studio 2015 compilation.
After upgrading (with some hassles, of course, but you’ll figure out), you’ll have TeamCity 9.x up and running. Now the time for some configuration. Change your compiler in build definition to Visual Studio 2015 and you are ready to go!
Change the Visual Studio to 2015
Not so fast. You will soon notice that most (if not all) of your build agents are not unusable.
Solution? Download and install Microsoft Build Tools 2015 from
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.
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).
From what I heard, developers seem to love both QuickSilver – as a template – and ServiceApi – as a REST server – very much. Despite of being relatively new on the field, they are being used quite frequently – QuickSilver is the preferred choice for MVC template while many sites are using ServiceApi to update the catalogs. What’s about the combination of these two? Would it be the best-of-bread for Episerver Commerce. I would say yes, but after you have fixed the issue.
The installation of ServiceApi.Commerce package to Quicksilver site should be easy and painless. Update the database and build the project, you should be expecting to have a working site.
Note quite. You should be seeing this error:
Aroute named'MS_attributerouteWebApi'isalready inthe route collection.Route names must be unique.
is called twice (as it’s called in ServiceApi as well). So naturally, let’s try by commenting that line in SiteInitalization.cs, and build it again.
This can also be solved by adding this into appSettings: