Nginx routing voor ownCloud

Ik kreeg de url routing van ownCloud maar niet aan de praat op mijn nieuwe Nginx installatie, de standaard routing statement werkte niet omdat ownCloud urls heeft met index.php in de url (bv. index.php/apps/files). De oplossing bleek onderstaande Nginx statement:

if (!-e $request_filename)
{
    rewrite ^/(.*)$ /index.php?/$1 last;
    break;
}

Uiteraard moeten er nog andere configuraties toegevoegd worden om ownCloud naar behoren te doen werken…

Fish shell & sudo !!

Het gebeurt maar al te vaak dat je in de terminal een commando opnieuw wilt uitvoeren maar dan met sudo ervoor. Op de meeste systemen typ je dan sudo !! om het vorige commando als super user uit te voeren, maar fish shell doet dat niet.

Het is echter mogelijk om de sudo functie te herdefiniëren om dit probleem op te lossen.

function sudo
    if test "$argv" = !!
        eval command sudo $history[1]
    else
        command sudo $argv
    end
end

Je maakt een nieuwe file aan in ~/.config/fish/functions/ met de naam van de functie. De functie wordt dus opgeslagen in het bestand ~/.config/fish/functions/sudo.fish.

Vanaf nu kan je weer sudo !! gebruiken in fish!

Fish: een handige, gebruiksvriendelijke command line shell

fish shell logoZoals vele andere informatici en programmeurs breng ik dagelijks (te) veel tijd door in de command line omgeving. Alle manieren om het werk in de Terminal te versnellen zijn dan ook welkom. Fish shell is daar één van.

fish is een “smart and user-friendly” command line shell voor Unix besturingssystemen (en voor Windows). Het voordeel van zo’n shell is dat je veel minder moet typen, en je meer informatie te zien krijgt.

Enkele key features van fish:

  • Autosuggestions
  • Glorious VGA Color: een gekleurde terminal maakt alles een pak overzichtelijker
  • Scripting
  • Man Page Completions, want niemand kent alle commando’s en opties uit het hoofd.
  • Simpele configuratie
  • … en veel meer …

 

Enkele schermafbeeldingen

 

Handige CMake configuratie

Handige CMake configuratie waarmee je alle source files in een project automatisch compileert en installeert.

Simpeler kan haast niet…

 

cmake_minimum_required(VERSION 2.8)
set(CMAKE_CXX_FLAGS "--std=c++11")

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)

file(GLOB SRC
    "src/*.cpp"
)

add_executable(ProjectName ${SRC})
install(TARGETS ProjectName DESTINATION ${PROJECT_SOURCE_DIR}/bin)

 

Deze CMakeLists.txt plaats je in de root directory. Code komt in de src map, executable komt in de bin map, en het project compilen (en CMake files genereren) doe je in de build map.

Mac: Terminal venster maximaliseren

Terminal venster maximaliseert niet volledigWanneer je op Mac OS X het Terminal venster maximaliseert zal dit venster niet steeds het hele scherm vullen. Onderaan en rechts van het scherm zal er wat ruimte overblijven. Dit komt omdat het Terminal venster met rijen en kolommen werkt, en dus niet per pixel zal vergroten/verkleinen, maar per rij.

 

Na veel geëxperimenteer met de instellingen van Terminal, heb ik ondervonden dat je het probleem toch kan oplossen. Dit door de waarden van de rijen en kolommen bij de instellingen van Terminal te verhogen, totdat het hele beeldscherm gebruikt wordt. (Klik op Terminal, Voorkeuren of gebruik de sneltoets CMD + ,)

Terminal Voorkeuren

 

Uiteindelijk zal je Terminal venster dan perfect gemaximaliseerd zijn…

Terminal maximaliseren

CSS: Simpele popover zonder javascript

Een eenvoudig popover maken voor een website is niet moeilijk. Hier een CSS/HTML voorbeeld om duidelijk te maken hoe eenvoudig het is.

 

HTML

De HTML code voor het voorbeeld is triviaal: we hebben een container class, deze bevat het item waarover de cursor moet gaan om de popover te doen verschijnen.

<div class="container">

    <div class="item"></div>

    <div class="popover"></div>

</div>

 

CSS

De container hoeft eigenlijk geen stijl mee te krijgen, maar het ligt het meest voor de hand om deze dezelfde grootte te geven als het element dat de popover moet doen verschijnen.

De popover krijgt zelf display: none; mee: da’s triviaal. Daarnaast moet de position ook absolute zijn. Anders zal het verschijnen van de popover de hele pagina layout in de soep doen draaien. Als deze op absolute staat, komt het gewoon boven de andere elementen.

De popover zal verschijnen wanneer men met de muis over de container hovert, door de display: block.
Het kan allemaal wat meer fancy gemaakt worden door met CSS transitions te spelen.

.container {
	width: 30px;
	height: 30px;
	margin: auto;
}

.item {
	background-color: red;
	width: 30px;
	height: 30px;
}

.popover {
	background-color: green;
	width: 300px;
	height: 200px;

	position: absolute;
	display: none;

	/* Position popover horizontally in middle        */
	/* The same can be done for the vertical position */
	margin-left: -135px /* = -300/2 +30/2 */;
}

.container:hover .popover {
	display: block;
}

Om tot slot de popover in het midden te krijgen, zal er wat gespeeld moeten worden met negative margin.

 

Voorbeeld

Ga met de muis over het rode vlak, en je zal zien dat de groene popover verschijnt…

Sint-Sixtusabdij van Westvleteren

De Sint-Sixtusabdij van Westvleteren is ongetwijfeld bij iedereen wel bekend om het heerlijke trappistenbier dat er gebrouwen wordt.

De paters trappisten brouwen de Westvleteren Blond (5,8%), Westvleteren Acht (bruin bier 8%) en Westvleteren Twaalf (bruin bier, genaamd ‘abtsbier’ : 10,2%).

Zoals alle andere trappisten kloosters, is Westvleteren zeer gesloten:  je kan er niet zomaar even binnenwandelen en wat rondkijken. Je kan echter wel het middaggebed bijwonen in de kapel.

 

Hieronder enkele foto’s van de Sint-Sixtusabdij van Westvleteren…