As fake as it gets: Git fake submodules, what else?

I’m learning about new things everyday… and today I learned a nice trick on how to deal with github repository inside another repository… my way.

Image representing GitHub as depicted in Crunc...

Image via CrunchBase

You see, I have had this problem: my LODGrefine github repository contains code of Google Refine (GR), code of my GR extension –  which is another github repository – and some other stuff. Some people might have GR already installed and therefore separate repository for the extension makes sense. I didn’t like the idea of a “proper” submodule for the extension, because: 1) it shows up as links on github , 2) when cloning the main repo, extension’s folder was empty – additional command is needed to pull the submodule from the github. It’s complicated.

Today I found this great solution of using fake submodule. It works swell! Code of the extension is visible in the main repo and I have all the code in one place… It’s a little more work updating it – calling git commit and git push twice – in main repo folder and in extension folder, but what a small price to pay for such a great solution! :D

Enhanced by Zemanta

Generation G and the Era of Praise and Whine

Generation G(oogle)

Can you remember the times when we didn’t use Google? When Altavista and Yahoo! or metacrawler were the only ones you could ask for the meaning of life and stuff? Boom and then it came Google.

Google Logo officially released on May 2010

Image via Wikipedia

Today I realized how deeply Google sneaked into our lives behind our backs. Don’t get me wrong, this is not necessarily a bad thing, but it should make you at least think about it… It’s like an addiction. Here’s my story.
Every now and then we have to print a number of small tickets (we call them stories) for

planning purposes. Every story has a title, a description, a list of tasks and estimated value of this story. Ever heard of agile development or scrum? No? In few words: our work is organized in cycles (e.g. 14 days). At the end of current cycle we define what to do in next cycle in the form of stories (more abstract descriptions of what to do). Stories are written in a document (e.g. Google Docs) and later manually transferred into a template, created in Adobe Indesign. Because I’m a big fan of simplifying tedious tasks, I decided to surprise our project manager and help her automate at least part of the dull repetitive task of copying stories into template. Indesign already supports Data Merge, but it needs a comma or tab separated text file as an input. No problem if your data consist of single-line values, but as soon as you have to include multi-line text values, you have a ‘it’s complicated’ relationship – not an option in my case. Well, I figured out how to overcome this obstacle, but I still had to transform semi-structured text of Google Doc document into a structured text (spreadsheet) and export it as csv. Hmmm, how should I do it without additional tools?
People, let me introduce you Google App script. Have you noticed that Google offers Google app script for Google docs? Oh yes, it does. I used to write (not record!) a lot of macros in MS Office and I must admit Google app script kicks ass. You don’t believe me? Try it. It is based of Javascript or VB script and it can do magic… well almost. :) It solved my problem though! You can even create your own custom menus. Niiiceeee. :)

Lesson learned: Watch your back or next time you’ll find Google underneath your sheets instead of your partner. :)

Whine smart or drift apart

It’s been a month since I started working in Z-company. So far so awesome. :D  One of the things I learned here was to ‘whine smart’. It is actually a part of agile software development – a retrospective in which team members share their thoughts and opinions what went wrong or not so good and what to do about it in next (development) cycle. I’m a ninja with academic background, where whining is by default useless (mostly due to the complexity and rigidity of the system), therefore I was surprised to see that smart whining works, while not being whining at all!

If it doesn’t work any more, it is time to drift apart (before it is too late).

Praise a lot, sir Lancelot

Honesty didn’t kill the cat, neither did curiosity. If you tell people they’re good, when they deserve it, if you give credits where due and if you are true to yourself, you probably won’t take over the world, but you’ll be able to sleep at night. Guess what, praising is also a part of agile software development, just like whining. :) Ego-trippers you’re welcome to praise others… it won’t hurt you. :D

Enhanced by Zemanta