You have been 'busy' all this while( even if it's a sabbatical). That's important, that is what you need to project to your potential companies on your application.
Create a personal website(if you don't have one) and put up your personal projects that project you in a positive light. Github is also great.
When a company receives a resume, there's no way to quantify and judge what the candidate has done in the past year. Give them something to think about.
I have marked Cybercoders as spam and you should too. They lazily bombard you with irrelevant jobs. There are other tech recruiting firms(Bay Area and LA) that have better reach and more understanding of candidates profiles. LinkedIn is great for networking and reaching out to recruiters and seeking out referrals.
Mark up your sabbatical period on your resume. Write in there "Traveled the world exploring new cultures, worked on personal projects, taught myself new skills to grow forward." Mention a supporting online link in this section.
Nothing to hide here IMO
On your website, you can write down experiences you gained in detail, while working on your open source projects, what you learnt. This is a huge plus. Many candidates send in resumes without a proof of their past projects. You already got this, try to work it into an interview call + offer.
This tutorial hasn't been updated in a long time (~1 year)
Honestly, I haven't learnt anything significant about Lua from this tutorial.
Lua was initially designed as an embedded scripting language.The most popular applications built using Lua are games! It's also used a lot in building plug-ins, most often embedded into other languages.
This tutorial explains nothing significant about meaningful programming using Lua :
how to write functions?
how to build Tables(most important data structures in Lua)
Arrays? Object-oriented programming in Lua?
Lua was a boon to game enthusiasts with no programming experience. Can an amateur even start developing the simplest of games using this tutorial? I think not.
I am a big fan of Zed Shaw's tutorials, and if one wants to follow a similar trend, they should be more consistent with updating their material for everyone.
I opened it up thinking, "wow, I might finally get a good idea of how to configure my old Awesome install."
From the first bits I read (up to the arithmetic bit), I think it falls into the pitfall of rambling about boring stuff and not getting straight into it.
Yeah, aspiring programmers need to know the difference between a comment and a string. Do they need to see a several page explanation of a comment and a string put in different places? Hell no.
Do they need to see how their script can do the same things a basic calculator does? If they're learning programming, then credit them with some intelligence.
How about a basic app that does something useful? We have so many APIs available to use now, and while it might be difficult to put them in a printed book (the API might not be around forever), I can think of few things more engaging than, say, replacing the 'Hello world' with a simple Twitter timeline fetching script.
Through that one example you can explain functions, types, variables, control structures, and documentation, and establish a solid base for delving deeper into the language and what you can do.
This will of course test the skill of the author more than it will test the patience of the eager learner. No bad thing.
If you are in a team where you are the only person in charge of the software, right from the design->implementation->final shipping of the product, you need to have complete & utter faith on the people who came up with the idea in the first place. And also use a bit of common sense from your side and ask yourself why you think this product will work in the market?. You are going to spend countless hours away from family, slogging on developing a state-of-the-art product which's going to be discarded in a couple of months/years time. Not a good way of investing precious time, which might have well been spent in academia.
I empathize with your situation.Long ago, I too, was stuck in a similar environment. The concept maker was undoubtedly brilliant but when it came to the software specs, he was at a complete loss. I was the only one in charge of development work. But gradually the product design changed and I kept on modifying my project every other day- changed the tools, changed the OS, shifted through multiple languages and finally setup my environment which worked well. By that time, I was half nuts. I struggled to get my work completed in time due to many technical issues, frequent changes in the original concept, and primarily because of lack of practicality of the project. I lost faith , I realized it was just going to be a test project and will be discarded in a couple of months time when they start working on the next long-term project. For them this was a low-priority project, but for me, it was everything and the only thing that mattered at that time. So I thought what the heck, I stayed put and tried to get as much work done as possible, worked like a dog, but my end product was not as impressive as they had imagined it to be. I didn't want to leave them, I loved my entire team and they are nice people. So, I continued being nice & tried to help them as much as I could. You know what, at the end, the entire project was scraped and forgotten as I expected and now they are focusing on a much bigger, profitable & 'practical' project. Guess who was blamed in the end and who got away?
If you want to help someone, they will never refuse. Being nice is easy, trust me. You want to be the nicest guy in the startup world, be the superhero in charge of saving your company from an predictable doom and maintain true friendship, I understand. But choose to continue what you are doing only if, you feel you cannot be more useful anywhere else in the world. God forbid, but suppose things go seriously wrong in your company tomorrow, the business people might put the blame on you, since you are the sole implementer.You mentioned that all of you are close friends..., but if they were in your shoes instead, what would they have done by now?
The toughest part is saying 'No'. It's painful for you, especially if your friends are on the receiving end of your rejection, but you need to do the right thing and save everyone's time including yours. Move on and help your friends move on too. Find another project or start a different company with your friends. Or if you have an alternate idea in mind, discuss the concept with them, don't just be a code monkey.