Few times already in the past couple years I tried doing some development for Android, but most of the time I decided to postpone that for another piece of undefined time.
The reason was that I always had issues with setting up the virtual device for debugging. And without debugging there is no development.
So, what was the problem? I always used a VirtualBox machine for development, having Windows as host and Ubuntu as guest. But to run AVD (Android Virtual Device), Linux uses KVM infrastructure; and according to StackOverflow, KVM can’t be run together with VirtualBox.
Although, KVM can be emulated, but then AVD is extremely slow (which I observed on the previous computer).
Solution? I pulled from the shelf one of my old Android phones (not to kill the tablet accidentally) and configured it to be a debugging device instead of AVD. Bingo 🙂
I have recently bought a desktop PC with Windows 8 on-board, and one of the first programs I installed was Virtualbox.
But unfortunately I’ve got a famous error ‘VirtualBox – Error in supR3HardenedWinReSpawn’ when running any virtual machine. In my case it was NtCreateFile error.
Forums said that the error was introduced somewhere at version 4.3.14 and had to be fixed in later builds (current build is 4.3.28), but in the latest version I still observe the error.
Solution that worked for for me was uninstalling Windows update KB3045999 (to do that, go to Control Panel -> Installed Updates, find patch KB3045999, right click it, choose Uninstall).
Unfortunately, after some time Windows installed the update again, so I had to turn the automatic updates off.
What I tried and what did NOT help:
- Playing with VirtualBox settings.
- Downgrading to VirtualBox 4.2.* where some security features are not present yet.
Hope this helps someone.
Even better solution would be to use Linux 🙂
I usually use a mix of command line and IDE GUI to run git commands. And today while trying to click Git Commit I accidentally clicked Git Add for the whole folder including my IDE .idea sub-folder which I don’t need in my repository.
So I had to ‘unstage’ the content of the .idea sub-folder.
The operation is opposite to git add and is called git reset. The parameter is the file (or directory) which has to be ‘unstaged’.
git reset <file>
In my case it was:
git reset .idea
So, I use WordPress CMS to run this blog and super-simple-google-analytics plugin to collect some analytics.
And because the plugin is really super simple, it lacks some settings. In my case I want to use a sub-domain feature of Google analytics ‘_setDomainName’ to point Google Analytics to my main website.
My solution is maybe too straightforward, but it is super simple as well, and it works. So, to add a required feature, open the super-simple-google-analytics plugin settings, find line ‘_gaq.push([\’_setAccount\’, \’UA-%1$s-%2$s\’]); ‘ and the following line after it:
Then click Update File and you’re done!
Oh, yes it works only for asynchronous loading of Google Analytics.
Now some pictures to illustrate this:
1. Link to the plugins page. I use multi-sites configured in my wordpress, but in single-site version it should not be very different:
2. In the plugin list find the Super Simple GA plugin and choose to edit it’s code:
3. Make the changes:
OK, I was late for the workshop because of talking to people presenting their projects outside. But it seems that I’ve got the main idea of the workshop:
If you use Windows and something doesn’t work – reboot.
Even more general idea:
If something doesn’t work, then let me guess: you’re using Windows.
Basics of git aliases
Use git config alias.* , Luke. Or edit your .gitconfig file.
An example will be a shortcut for git branch – br:
git config alias.br branch
Or add the following to your .gitconfig (~/.gitconfig in Linux):
br = branch
Aliases can be applied on a global level (for the whole operating system) or locally – for the current repo.
To create a local alias you may use git config alias.* command:
git config alias.br branch
To do the same on a global level you can modify your global configuration file (usually ~/.gitconfig ) as it was shown above or run git config with –global modifier:
git config --global alias.br branch
Some useful aliases
git config alias.st status
git config alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)\<%an\>%Creset' --abbrev-commit --date=relative"
Here st will be a shortcut for status and lg will output nicely formatted commit history.
If you’ve already commited something, but haven’t pushed yet and now you want to show not pushed commits:
git log origin/branch_name..branch_name
git log origin/branch_name..HEAD
To be updated…