Opening Unity Script Files in Emacs

24 Jan 2018

I've recently embarked on a mission to fully integrate Emacs with my Unity game development environment. One feature that I wanted to have is the ability to open Unity scripts and text-based files in Emacs instead of MonoDevelop. This is an easy task for supported external editors but for those who aren't (Like Emacs), doing something like this is a bit tricky.

Setting emacsclient as the external editor works in opening the files but the line number is not passed at all (Or is not received by emacs. Seems to be a bug). This means... Read more...

Chef Wars Postmortem -- What Went Right: Risk Adjusted Technical Estimates

10 Dec 2017

Note: This is from a series of articles (3 of 9999) that outlines the things I've learned while making Chef Wars for 2+ years.

TL;DR We used a risk adjusted estimation system that produces near accurate estimates we can confidently rely on.

I usually dreaded being asked how long a programming task will take. I always seem to have the knack to overshoot no matter how hard I try. This is an all too common scenario that programmers face and is something that is considered to be a difficult, if not impossible, problem to solve.

This all changed when... Read more...

Chef Wars Postmortem -- What went wrong: Optimizing too early and too late

06 Dec 2017

Note: This is from a series of articles (2 of 9999) that outlines the things I've learned while making Chef Wars for 2+ years.

TLDR

  • There is more to the saying that "premature optimization is the root of all evil".
  • Instead of asking WHEN to optimize, it is more important to ask WHAT and HOW to optimize.

It is a well known adage among programmers that premature optimization is the root of all evil. If this is true then I must have been very close to the devil himself.

During the early months of development on Chef Wars I did my best to... Read more...

Chef Wars Postmortem -- What went right: Having a Universe File

05 Dec 2017

Note: This is from a series of articles (1 of 9999) that outlines the things I've learned while making Chef Wars for 2+ years.

TLDR

  • All data in our game is contained in one excel file we call the "Universe".
  • Prototypes can be done on the Universe excel file itself
  • Iteration is easier as we only need to change one file.
  • We made a system that downloads changes from our server so players don't need to update their builds.

Before we started development on Chef Wars, Cliff, my co-founder and game designer for the team, already had pages of spreadsheets containing important values in... Read more...

Minifying buffer contents in Emacs

27 Sep 2017

I needed a way to minify JSON files from Emacs so I made the short function below.

(defun arebel-minify-buffer-contents()
  "Minifies the buffer contents by removing whitespaces."
  (interactive)
  (delete-whitespace-rectangle (point-min) (point-max))
  (mark-whole-buffer)
  (goto-char (point-min))
  (while (search-forward "\n" nil Read more...
      

Temp Solution For When Text Copying Does Not Work in Emacs Under Windows Subsytem for Linux

23 Sep 2017

One of the problems I was having with my Emacs environment under WSL (Windows Subsystem for Linux, aka. Bash On Windows) is that I could not copy text from WSL Emacs to other Windows applications. Copy and pasting from Windows to Emacs works without any problems so it's weird it does not work the other way around.

I tried a lot of solutions from Google but none of them seem to work. There was an emacs package called simpleclip that worked but the results were not consistent.

I then realized that a temporary solution would be to make use of Windows'... Read more...

Converting org-journal entry to org-page post

19 Apr 2017

Since my recent switch from Wordpress to org-page I wanted a way to convert my org-journal entries to org-page posts. Instead of copying each entry by hand and pasting to an org-page new page buffer I decided to make an elisp code that would do it automatically which can be seen below:

(defun arebel-org-journal-entry-to-org-page-post ()
  "Copy the org-journal entry at point and then convert it to a org-page new post buffer."
  (interactive)
  (if (Read more...