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…

 

ZeeJong.eu – Programming Project Databases

Dit jaar heb ik het vak ‘Programming Project Database’. De opdracht dit jaar luidde als volgt: “Het project omvat de ontwikkeling van een web-service waarin de gebruiker voorspellingen kan maken over, bijvoorbeeld, WK voetbal wedstrijden.”

 

In een groep van 5 personen gingen we meteen aan de slag en programmeerden we onze online betting site in PHP. We doopten onze website ‘ZeeJong’. Het resultaat werd een online voetbal weddenschappen site, waarop gebruikers toegang hebben tot een heus archief aan statistische data uit het verleden. Daarnaast kunnen aangemelde gebruikers bets plaatsen en gebruikersgroepen aanmaken.

De site haalt zelf nieuwe wedstrijden op en zal zelf data inladen. Om archief te voorzien hebben we ook een crawler geschreven in Go, die het archief van gespeelde matchen vult. Het geheel is goed voor zo’n 20.000 matchen en 50.000 spelers.

 

Het eindproduct, onze ZeeJong website, kan je vinden op ZeeJong.eu. De source code staat op Github.

 

Registeren en gokken op matchen is warm aanbevolen! (en geheel gratis)

 

ZeeJong Soccer Betting System

 

IPv6 Ready!

IPv6Deze week heeft mijn webserver een IPv6 adres gekregen. Tot een week geleden had ik enkel maar nameservers die bereikbaar waren met IPv6.

Alle websites gehost op mijn server (met een AAAA record) zijn dus vanaf nu 100% bereikbaar via IPv6!
Klaar voor de toekomst!

IPv6 is onder andere ontwikkeld om de beperkingen en tekortkomingen van IPv4 te verhelpen. Met name het tekort aan beschikbare IP-nummers levert een enorm probleem op: binnen de systematiek van IPv4 zijn ongeveer 4 miljard adressen beschikbaar en op 3 februari 2011 heeft de Internet Assigned Numbers Authority (IANA) de laatste IPv4-adresblokken toegewezen.

IPv4-adressen bestaan uit 32 bits, terwijl IPv6-adressen uit 128 bits bestaan. Daardoor telt IPv4 ongeveer 4 × 109 adressen, terwijl onder IPv6 ongeveer 3,4 × 1038 kunnen worden toegewezen. Het nieuwe IPv6 heeft dus een bijna onuitputtelijke voorraad adressen: voor elke aardbewoner zijn er ongeveer 50 quadriljard beschikbaar.

via Wikipedia