Raspberry Pi, hub USB 3.0, error -71

If you have a USB 3.0 hub connected to your Pi and devices plugged into this hub are not configured properly, you check the logs and you see something like

device descriptor read/64, error -71

around USB activity – chances are that you ran into the same problem as several people, including the author of these words.

The conclusion is that USB 1.1 devices, connected to USB 3.0 hub are not working correctly in such configuration, due to a bug here or there, even if the very same hub, with the very same devices works well when connected to something else than Raspberry Pi. A workaround to this is to add an entry inside /boot/cmdline.txt

dwc_otg.speed=1

which forces the whole bus to 12Mbit/s USB 1.1 speed and lets you configure and use the devices.

Posted in GNU/Linux | Tagged , , , , | Leave a comment

Fix Finder’s contextual “Services” menu

I sometimes add or remove “services” to my ~/Library/Services directory. Unfortunately this alone doesn’t make the changes being reflected in the menu…

It might be caused by the fact that I keep things I want to have on all machines in a Dropbox folder and link to it. Or it may be due to some other reasons. In any case. I am not alone as this old hint shows. It was posted in the times of the OSX version 10.6. At the time of writing I use 10.9 and the problem remains. Luckily almost the same solution applies. The only difference is that one has to add an option to the command:

/System/Library/CoreServices/pbs -flush

should do the trick and bring your “Services” menu back to what you want it to be.

From the

$ man pbs

pbs is an agent for the Services menu.  It scans for and vends available Services, to populate the Services menu [and] is NOT related to the pasteboard.

Who would have guessed?

Posted in OSX | Tagged , , , , , , | Leave a comment

HTTP query strings in Laravel routes

So you read the documentation back and forth, and again, and even more again. And you still can’t make your

Route::get('myroute?querystring=myquerystring', function()

work?

Well – you don’t find it in the docs but what you have to do is:

Route::get('myroute', function()
{
    $myvariable = Input::get('myqueryparameter');
    // do whatever you want with the variable now
});
Posted in Uncategorized | Leave a comment

Why git is sometimes more gitty than any other git you are ever about to encounter…

So you work on a project which is version controlled and moreover it is version controlled by the almighty git himself. No matter whether you just got around all the teething problems and a steep learning curve of using git or you are a seasoned git professional – at one point or another you may find yourself in a situation where you want (or need) to:

No problem – you say? Sure – no problem as you can see if you follow the links above – nobody has ever got any problem with any of those operations. And no – using

$ git --follow

is not a solution either. Neither one knows when/where to try using some extra command line switches nor can one do it with non-command-line interfaces.. And no, unless you are a git geek, don’t even try to follow the discussions on those topics out there. The closest to something, which I felt could somehow work were a few discussions involving “filter-branch” command of git but God only knows what those dudes were really talking about. You know, this single big PITA alone can make one scream “GIVE ME MY SUBVERSION BACK!!!”

And you think there are no heroes anymore these days, don’t you? I tell you – There ARE! This awesome dude somehow made something out of this whole pile of conflicting, half-truth, semi-baked, scruffy-looking “advices” or just studied the matter on his own ;-) and came up with a shell script, which does the hardest part for you. I tried it. Sure I made a fresh pull to be up to date as action zero. Then backup of the whole directory first, then –dry-run second, then

$ git-mv-with-history myfile=mysubdirectory/

Rewrite cbb1a3111387949c0efde1540aa4565918f12f9b (1/117)

Rewrite ebb01ba7b2454a83f4e1b916384735a76cea15f9 (2/117)

[...]

Rewrite 18222fce98839724338fcdc833f3e307875eb6eb (115/117)

Rewrite 0b229d7fefa417f5b2e4975a87ea5ae69a2ebfe0 (116/117)

Rewrite e1ea07ce21b4a7ec6ba8e28dc1f5baba512bdbf2 (117/117)

Don’t forget the trailing slash if you want to move the file to a subdirectory or you may end up with your file being renamed into what you wanted a directory to be named!

I eyeballed all the files (checking them against the original clone of the repository) and the git status results..

silverdr$ git status

On branch master

Your branch and 'origin/master' have diverged,

and have 110 and 110 different commits each, respectively.

(use "git pull" to merge the remote branch into yours)

DON’T! DO! IT! I meant don’t “use git pull to merge the remote branch into yours”! Unless you want to ask for trouble, that is. Don’t try to simply push the changes either (but since your push will be most probably rejected anyway – it shouldn’t at least do much harm if you insist and try anyway). Now – what I did and it worked (but remember: YMMV!!) was:

silverdr$ git push --force origin master

Counting objects: 428, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (398/398), done.

Writing objects: 100% (409/409), 562.33 KiB | 0 bytes/s, done.

Total 409 (delta 154), reused 0 (delta 0)

To https://github.com/yourowner/yourrepository.git

+ e1ea07c...8879fe2 master -> master (forced update)

silverdr$

YES – there are still heroes. Even these days…

Posted in Coding, Git, Rants | Tagged , | 2 Comments

Making Github’s “fork & pull” model palatable

When collaborating with other people using Github’s “fork & pull” collaboration model, it is a real PITA to have to re-fork and re-merge upstream repository changes all the time. The solution is to set your “forked” repository to use different pull (fetch) and push repositories. This way one can always pull/update from the upstream but keep pushing own changes (AND the upstream updates) to the forked repository of his own. This single, simple (when you know it and you know how to do it) step makes a major change in the efficiency and perception of the “fork & pull” collaboration model.

Posted in Coding, Git | Tagged , , | Leave a comment

Give me my Save As… back!!

No, I don’t want any “Duplicate”. I don’t want to duplicate anything! The work I have done on the file makes it different than the original file. NOT A DUPLICATE! I want to simply Save [my work] As… [different file]. Understood, Apple?! NO, I don’t want to push Command + Shift + Option + S (thanks God somebody kicked your butt so that at least the function is back there again!) – this is not a convenient shortcut for one of the often used functions. Neither is fiddling with mouse and keyboard (alt key) at the same time. Will you get it?

So much for the rant. Now a (partial but still good) solution to this small part of Apple’s-After-Leopard loss of reason, by tjluoma:

$ defaults write -globalDomain NSUserKeyEquivalents -dict-add 'Save As...' '@$S'

Gosh… thank you TJ!

Posted in OSX, Rants | Tagged , | Leave a comment

Woes of an Android “switcher” – continued

OK – so here’s another one. If you run e.g. one of the Samsung Android phones and suddenly realise that you don’t receive any notifications whenever new text message (SMS based) arrives, and you tried everything, including rebooting, taking out battery, wiping cache partitions (Gosh! How Microsoft® Windows™ – alike all this is), every trick you read on the web or remember from your Symbian/Windows times, and still no luck (and no SMS messages notifications) – then…

When everything else fails, you may still try the one below. It helped restoring proper SMS messages notifications from the built-in “Messaging” application on a Galaxy S4 mini.

The thing you’d never thought of… Google’s “Hangouts” (how “socially” desperate Google has to be in order to invent such  names for their applications/services?!). Find Google’s “Hangouts” application (hint: it might be in a folder called “useless stuff” or it might be one of those that don’t show in the list of applications because you decided long time ago to hide it), open it and double check if you haven’t happily agreed (and even more happily forgot about it) to the irresistible offer to receive SMS messages with “Hangouts”. Of course at the time when you agreed, you thought it would be like with any other SMS application you can find in the Android Market… erm… “Playstore” or whatever it is called now, even if there are many people who never “played” with anything from there. Unfortunately this time you were wrong. Google’s “Hangouts” in its ultimate desperation to take over Facebook messaging, takes over all your incoming SMS activity on the way. And if you turned off notifications there (because you thought that whatever application you are going to use in the end, will notify you anyway) then you are out of  luck and Samsung’s “Messaging” will not inform you about incoming SMS messages, regardless of how many times you try to turn its notification settings “on”.

What you have to do in such case is to disable receiving SMS with Google’s “Hangouts”. After that you can safely hide it again or keep it in the “useless” folder…

Posted in Android, Rants | Tagged , , , , | Leave a comment