Tuesday, October 23, 2012

LaTeX BibTeX undefined citations

As a LaTeX beginner, a problem I ran into while trying to set up my first bibliography was that of undefined citations. I was using TeXnicCenter and opening a .tex file, which uses a .bib file to store the bibliography. I was getting question marks wherever I used \cite, and the build log reported the following:


LaTeX Warning: Citation `testcitation' on page 1 undefined on input line 1
3.

No file test.bbl.
[1

This problem is answered on this page, which explains that BibTeX is actually not used if you just open a .tex file directly in TeXnicCenter. Instead, you need to set up a project and tick the "Use BibTeX" checkbox. If you already have a standalone .tex file, a very quick and easy way to do this in TeXnicCenter is to go in the Project menu and click "Create with active file as main file". You can then check "Use BibTex", choose your language settings, click OK, and live happily ever after.

Sunday, September 30, 2012

The Zynga Mess

Zynga. Until a few years ago, this company didn't even exist. Then, like a plague, silly games like FarmVille began to spread on Facebook. Two years ago, Zynga actually became worth more than EA, making many of us wonder what the world is coming to, while legions of virtual chickens were fed by people with nothing better to do with their lives.

Working at EA was once the dream of any amateur game developer, but now it must be Zynga. So let's chase our dreams, and apply for a job with Zynga! Going into the Zynga homepage, following the "Jobs" link at the bottom, and selecting "US Careers", we find that just in the States, there are many locations where it is possible to work for Zynga. Wow! The excitement is growing (yeah, right). So we pick Austin, TX, United States and view the Software Engineer (Austin) position. Here's what we get:


Well, the vacancy is a mess, but Zynga is a big company, and we can just look for another position somewhere else, right?


When finding something else in San Francisco, it seems like that, too, is screwed. Since we're good citizens, let's tell Zynga about the problem.


Given that there's no immediately visible easy way to drop them an email, we go to the Support page and read about Contacting Zynga Support, which is the page in the screenshot above. There is still no way of sending an email, but one can supposedly reach them through their Facebook Support page, which is the page in the screenshot below.


As a first time user you might expect to find some good customer service here, but all you see is complaints from disgruntled Zynga customers. The Zynga Facebook page (below) is no different, with countless complaints that nobody seems to answer. Makes me glad I'm not a Zynga customer, and positive that I'll never be one.


As a last resort, in the Contacting Zynga Support page there's a "Need More Help?" link on the right that takes you to per-game support. Of course here you're going to expect to see people complaining about issues, but is anyone answering them?


It pains me to see fully grown men complaining that "i lost my first goat", but seriously, is this how Zynga treats its customers? To be fair, it's notoriously difficult to contact other big game companies as well.

What really annoys me is that any contact is always regarding games. Is it really so hard to imagine a situation where a customer wants to send a game company an email about something general, such as a problem with the website, or permission to use in-game material, etc? It's quite clear that such companies care only about the cash, and unfortunately, many people in the world are stupid enough to give it to them, even for something as ridiculous as FarmVille.

Windows bootup screens through the ages

Microsoft Windows has been around longer than I have, and has seen a great many iterations through the years. This two-page article shows the bootup screens for Windows 1.0 through Windows 7, illustrating the progression from what was effectively a blue screen (of death?) to the pretty Windows logo in Windows 7.

And now, with the advent of Windows 8, and today's modern technology, we'd expect the new logo to be even more beautiful, right? Right?



Uhhh... no, sorry.

Saturday, July 14, 2012

Setting up SVN on Windows

Source and version control is a very useful thing to use for any developer, even on an individual level. It is surprisingly easy to set up. The following two links provide the necessary steps to set up an SVN server on a Windows environment:

http://www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html
http://willperone.net/Code/svnserver.php

In short, it boils down to installing the Win32 SVN server, configuring access control, and creating a repository. The step about setting up a service is optional - you can just run the server when needed, using:

svnserve -d -r RepositoryName

On the client side, all you need to do is install TortoiseSVN and set up your project folders. Designate a new folder (e.g. "projects" or "sources") to contain all your SVN projects. Then do an SVN Checkout inside that folder, and try your first commit. The path to connect to looks like this:

svn://machinename/ .

If you want multiple repositories for unrelated sets of projects, just organise them that way on the client side before you start committing. For example, you can have a directory structure that looks like this:

C:\sources\java\MyFirstJavaProject
C:\sources\java\MySecondJavaProject
C:\sources\cs\MyFirstCSharpProject
C:\sources\cpp\MyFirstCPlusPlusProject
C:\sources\cpp\MySecondCPlusPlusProject

Problems that are easy for newbies (such as myself) to run into include connection and authorisation issues. If you can't connect, or can't find the repository, then make sure the SVN path is as described above, the service is running, and that port 3690 is open in your firewall. Authorisation issues always relate to the svnserve.conf and passwd files, which are located in the conf folder of the repository.

For those concerned about retention of history and data for backup purposes or when eventually moving the SVN server to a different machine, check out the svnadmin dump and load subcommands, illustrated in the following article:

http://www.petefreitag.com/item/665.cfm