The delicious grilled chicken in three simple steps.

FOR 4 PERSON

Ingredients

4 whole chicken legs (300-350g). The upper and lower parts of the leg should be cut off. Any excess skin and fat should be removed.

  1. Extra virgin olive oil 2 tbsp.
  2. Finely chopped onion 1 dl.
  3. Finely chopped garlic 2 tsp.
  4. Ketchup 2½ dl.
  5. Lemon or lime soft drink (not sugar-free) ½ dl.
  6. Freshly squeezed lemon juice ½ dl.
  7. Cane sugar ½ dl.
  8. Coarse mustard 2 tbsp.

Ingredients for sauce

Ingredients for scrubbing

  1. Smoked paprika 2 tsp.
  2. Fined salt 2 tsp.
  3. Finely grated skin of an organic lemon.
  4. Freshly crushed black pepper ½ tsp.
  5. Garlic powder ½ tsp.

Instructions

  1. Heat the oil in a pan at medium-high. Add onion and garlic and fry for approx 10 minutes until those get a golden color. Add the rest of the ingredients for the sauce and keep cooking. You should keep moving aside all ingredients. Turn down to lower heat and cook for another 10-15 minutes, until the gets a little thickness.
  2. Preheat the grill to direct and indirect medium heat (175-225°)
  3. Mix all ingredients for scrubbing in a small bowl. Rub thoroughly the mixer all over the chicken.
  4. Brush the grill grates clean. Grill the chicken pieces, first keep the skin side down over the direct medium heat, and keep the lid closed as much as possible for 8-10 until the pieces get a golden brown color. Keep turning to another side frequently. Move the chicken pieces to indirect medium heat. Keep grilling for approx 20 minutes with the lid closed. Brush to make a thin layer of the sauce over the chicken and grill for another 15 minutes with the lid closed until the meat becomes juicy and the pink color is no longer visible through the bone. Turn around the chicken pieces frequently and sometimes brush them with sauce. Take out the chicken pieces from the grill and keep them rest for 3-5 minutes.
  5. Serve the chicken warm with the rest of the sauce.

Spicy, sweet, and crispy grilled chicken wings

These crispy, spicy, and sweet wings are perfect for any occasion, whether you’re hosting a game day party or just looking for a tasty snack. There are some ingredients for marinating, you may find uncomfortable for your self but the combinations are really delicious.

FOR 6-8 PERSON

Ingredients for marinating

  1. Ketchup 1¼ dI.
  2. Balsamic vinegar ½ dl.
  3. Cane sugar 2 tbsp.
  4. Garlic powder 4 tsp.
  5. Worcestershire sauce 4 tsp.
  6. Hot chili sauce 1 tbsp.
  7. Dijon mustard (paste) 2 tsp.
  8. Paprika powder 2 tsp.
  9. Clean chili powder 2 tsp.
  10. chicken wings 20 pcs (approx. 1350 g.)
  11. Extra virgin olive oil.

Instructions

  1. Put all ingredients for marinates into a bowl and mix those using a whisk. Put the wings into a large plastic bag and pour with marinates mix. Take the air out of the bag and seal the bag airtight. Turn the bag around, so that marinated mix can be spread over the wings. Then put the bag into a bowl and keep it in the refrigerator for 4-6 hours. After taking it out from the refrigerator, turn around the bag a few times.
  2. Preheat the grill to direct and indirect medium heat (175-225o).
  3. Clean the grill grates using a grill brush & cotton fabric.
  4. Take the chicken wings out of the bag and take off marinated mix (extra). Brush the wings with oil slightly and put on direct medium heat with the lid closed for 4-6 minutes until the wings become brown and get an explicit grill mark. Turn those into another side for once. Transfer the wings over indirect medium heat, and continue grilling with the lid closed for 10-20 minutes until the skin become dark brown and the meat near the bone has no longer pink color. Turn around the wings for few times. Now you can eventually move the wings on the direct medium heat again for the last 2 minutes so that the skin becomes crispy. Turn around a couple of times. Take out the grilled wings and serve them warm.

Enjoy your delicious spicy, sweet, and crispy chicken wings!

Grilled eggplant’s dip

Grilled eggplant dip is a delicious and healthy appetizer that is perfect for any occasion. Made with smoky grilled eggplant with grilled garlic, lemon, and oregano. If you want more flavor, you can drizzle the finished dip with olive oil.

FOR 8-10 PERSONS

Ingredients

  1. One whole garlic.
  2. Extra virgin olive oil.
  3. Eggplant (around 250g each) 2 pcs.
  4. Freshly squeezed lemon juice 1 tbsp.
  5. Fresh oregano leaves 1 tsp.
  6. Flake salt 11/2 tsp.
  7. Freshly crushed black pepper 1/2 tsp.
  8. Pita bread or naan bread.

Instructions

  1. Preheat the grill to direct and indirect high heat around (225-275o).
  2. Take out the outermost, dry leaves from the garlic and cut on the top so that cloves can be visible. Put the garlic (bottom down) on a large aluminum foil paper, and burnish over the cloves with 1 tsp olive oil. Fold aluminum foil paper around the garlic and make it a small and tight packet, also make a small hole in it so that the stream can come out.
  3. Clean your griller’s grates with the brush. Grill the garlic packet over the indirect high heat with the lid closed for approx. 40-50 minutes, until the garlic cloves become tender enough. Take out the garlic packet from the grill, and let it be cold enough to be touchable.
  4. While the garlic is grilled, prick (make small holes) the eggplants using a fork. Grill them over direct high heat with keeping the lid closed, until the outer skin is burnt and the eggplants are squeezed. Roll over them a few times. If a knife or fork can enter inside easily, then you are done. Then take out eggplants from the grill and let them be lukewarm. Turn down the grill temperature to medium-high heat (175-225o).
  5. Press the garlic cloves take from the shells and put them into a food processor/hand mixer. Cut the luke-warmed eggplants into a long shape, and remove the skin and any large seeds. Put eggplants inside the food processor/hand mixer and run it until you get a thick cream. Add lemon juice, and oregano, and blend again until the mixture becomes smooth. Add salt and crushed black pepper for testing.
  6. Cut the pita bread into pieces and brush them with oil lightly and grill over direct heat for two minutes.
  7. Serve the delicious dip with the grilled bread.

Enjoy your delicious and healthy grilled eggplant dip!

What are the n-word and t-word in the danish language

According to the danish language’s grammar, the noun words (Substantiver/Navneord) can be either n-word or t-word. For example

T-Words

i.) et apotek. ii.) et glass iii.) et år

N-Words

i.) en bil ii.) en fisk ii.) en pige

So we can see that a prefix (en/et) of an indefinite singular word defines the type of the noun word.

The most used danish t-words(nouns) || De mest brugte t-ord-liste (substantiver)

In the danish language, most noun words are the so-called n-word, so it’s better if we can memorize t-words instead!

The bellow’s table contains most of all t-words, but you are welcome to add any missing one.

Ental ubestemtEntal bestemtFlertal ubestemtFlertal bestemt
Et apotekapoteketapotekerapotekerne
Et alternativalternativetalternativeralternativerne
Et amtamtetamteramterne
Et ansigtansigtetansigteransigterne
Et ansvaransvaret
Et arbejdearbejdetarbejderarbejderne
Et argumentargumentetargumenterargumenterne
Et arkarketarkene
Et askebægeraskebægretaskebægreaskebægrene
Et badbadetbadebadene
Et badeværelsebadeværelsetbadeværelserbadeværelserne
Et bageribagerietbagerierbagerierne
Et barnbarnetbørnbørnene
Et batteribatterietbatterierbatterierne
Et behovbehovetbehovene
Et beløbbeløbetbeløbene
Et benbenetbenbenene
Et besøgbesøgetbesøgbesøgene
Et bibliotekbiblioteketbibliotekerbibliotekerne
Et billedebilledetbillederbillederne
Et bjergbjergetbjergebjergene
Et bogstavbogstavetbogstaverbogstaverne
Et bordbordetbordebordene
Et bladbladetbladebladene
Et brevbrevetbrevebrevene
Et brudbruddetbrudebrudene
Et bryllupbrylluppetbryllupperbryllupperne
Et brystbrystetbrysterbrysterne
Et brødbrødetbrødbrødene
Et brætbrættetbrædderbrædderne
Et bæltebæltetbælterbælterne
Et bærbærretbærrene
Et båndbåndetbåndene
Et cafeteriacafeterietcafeteriercafeterierne
Et chokchokketchokkene
Et daggrydaggryet
Et demokratidemokratietdemokratierdemokratierne
Et diskotekdiskoteketdiskotekerdiskotekerne
Et dusindusinetdusinene
Et dyrdyretdyrene
Et dækdækketdækkene
Et efternavnefternavnetefternavneefternavnene
Et efterårefteråretefterårene
Et egernegernetegernerne
Et eksamensbeviseksamensbeviseteksamensbevisereksamensbeviserne
Et eksempeleksempleteksemplereksemplerne
Et fagfagetfagene
Et firmafirmaetfirmaerfirmaerne
Et faktumfaktummetfaktafaktaene
Et fjernsynfjernsynetfjernsynene
Et fjolsfjolsetfjolserfjolserne
Et flagflagetflagene
Et flyflyetflyene
Et folkfolketfolkene
Et forholdforholdetforholdene
Et forrådforrådetforrådene
Et forslagforslagetforslagene
Et fortovfortovetfortovefortovene
Et forårforåretforårene
Et fraværfraværetfraværene
Et frimærkefrimærketfrimærkerfrimærkerne
Et frøfrøetfrøene
Et fængselfængsletfængslerfængslerne
Et fårfåretfårene
Et gallerigallerietgalleriergallerierne
Et gardingardinetgardinergardinerne
Et genigenietgeniergenierne
Et glasglassetglassene
Et gymnasiumgymnasietgymnasiergymnasierne
Et gulvgulvetgulvegulvene
Et hadhadethaderne
Et halstørklædehalstørklædethalstørklæderhalstørklæderne
Et havhavethavehavene
Et hegnhegnethegnene
Et hjemhjemmethjemmene
Et helbredhelbredethelbrederne
Et heldheldetn/an/a
Et hjertehjertethjerterhjerterne
Et hjulhjulethjulene
Et hjørnehjørnethjørnerhjørnerne
Et holdholdetholdene
Et hospitalhospitalethospitalerhospitalerne
Et hophoppethoppene
Et hotelhotellethotellerhotellerne
Et hovedhovedethovederhovederne
Et hulhullethullerhullerne
Et hushusethusehusene
Et hvidløghvidløgethvidløgene
Et hæftehæftethæfterhæfterne
Et håndklædehåndklædethåndklæderhåndklæderne
Et håndtaghåndtagethåndtagene
Et indholdindholdetindholdene
Et insektinsektetinsekterinsekterne
Et instrumentinstrumentetinstrumenterinstrumenterne
Et jakkesætjakkesættetjakkesættene
Et jobjobbetjobsjobbene
Et jordbærjordbærretjordbærrene
Et jubilæumjubilæetjubilæerjubilæerne
Et julelysjulelysetjulelysene
Et kamerakameraetkameraerkameraerne
Et kammerkammeretkamrekamrene
Et klaverklaveretklavererklavererne
Et klimaklimaetklimaerklimaerne
Et klædeklædetklæderklæderne
Et knusknusetknusene
Et knæknæetknæene
Et kollegiumkollegietkollegierkollegierne
Et komfurkomfuretkomfurerkomfurerne
Et kontinentkontinentetkontinenterkontinenterne
Et kontorkontoretkontorerkontorerne
Et kortkortetkortene
Et kravkravetkravene
Et kruskrusetkrusene
Et krydderikrydderietkrydderierkrydderierne
Et kursuskursetkurserkurserne
Et kyskyssetkyssene
Et køkkenkøkkenetkøkkenerkøkkenerne
Et køleskabkøleskabetkøleskabekøleskabene
Et laglagetlagene
Et lagenlagenetlagenerlagenerne
Et lamlammetlammene
Et landlandetlandelandene
Et livlivetlivene
Et loftloftetlofterlofterne
Et lokalelokaletlokalerlokalerne
Et loppemarkedloppemarkedetloppemarkederloppemarkederne
Et lyslysetlysene
Et lægemiddellægemidletlægemidlerlægemidlerne
Et lærredlærredetlærrederlærrederne
Et løbløbetløbene
Et løgløgetløgene
Et låglågetlågene
Et malerimalerietmaleriermalerierne
Et markedmarkedetmarkedermarkederne
Et menneskemennesketmenneskermenneskerne
Et metalmetalletmetallermetallerne
Et miljømiljøetmiljøermiljøerne
Et middelmidletmidlermidlerne
Et minutminuttetminutterminutterne
Et museummuseetmuseermuseerne
Et møbelmøbletmøblermøblerne
Et mødemødetmødermøderne
Et mønstermønsteretmønstremønstrene
Et målmåletmålene
Et navnnavnetnavnenavnene
Et nummernummeretnumrenumrene
Et næsebornæseboretnæseborene
Et næsehornnæsehornetnæsehornene
Et offerofferetofreofrene
Et områdeområdetområderområderne
Et ordordetordene
Et organorganetorganerorganerne
Et papirpapiretpapirerpapirerne
Et parparretparrene
Et partipartietpartierpartierne
Et paspassetpassene
Et perspektivperspektivetperspektiverperspektiverne
Et pindsvinpindsvinetpindsvinene
Et postbudpostbuddetpostbudepostbudene
Et posthusposthusetposthuseposthusene
Et problemproblemetproblemerproblemerne
Et produktproduktetprodukterprodukterne
Et programprogrammetprogrammerprogrammerne
Et pulverpulveretpulverepulverne
Et pundpundetpundene
Et rebrebetrebene
Et resultatresultatresultaterresultaterne
Et ryryet
Et råbråbetråbene
Et rådrådetrådene
Et rådhusrådhusetrådhuserådhusene
Et salgsalgetsalgene
Et samfundsamfundetsamfundene
Et sekundsekundetsekundersekunderne
Et selskabselskabetselskaberselskaberne
Et signalsignaletsignalersignalerne
Et skabskabetskabeskabene
Et skibskibetskibeskibene
Et skrivebordskrivebordetskrivebordeskrivebordene
Et skægskægetskæggetskæggene
Et slipsslipsetslipsene
Et slotslottetslotteslottene
Et smykkesmykketsmykkersmykkerne
Et sodavandsodavandet
Et soveværelsesoveværelsetsoveværelsersoveværelserne
Et spejlspejletspejlespejlene
Et spilspilletspillene
Et sprogsprogetsprogene
Et spørgsmålspørgsmåletspørgsmålene
Et stativstativetstativerstativerne
Et stedstedetstederstederne
Et stereoanlægstereoanlæggetstereoanlæggene
Et stykkestykketstykkerstykkerne
Et supermarkedsupermarkedetsupermarkedersupermarkederne
Et svarsvaretsvarene
Et svinsvinetsvinene
Et symbolsymboletsymbolersymbolerne
Et systemsystemetsystemersystemerne
Et sædesædetsædersæderne
Et sømsømmetsømmene
Et sårsåretsårene
Et tagtagettagetagene
Et taltallettallene
Et talenttalentettalentertalenterne
Et teaterteateretteatreteatrene
Et tegntegnettegnene
Et teltteltettelteteltene
Et togtogettogene
Et toilettoilettettoilettertoiletterne
Et torvtorvettorvetorvene
Et trætræettræertræerne
Et tæppetæppettæppertæpperne
Et tårntårnettårnetårnene
Et universitetuniversitetetuniversiteteruniversiteterne
Et ururetureurene
Et ugebladugebladetugebladeugebladene
Vandvandetvandevandene
Et vaskerivaskerietvaskeriervaskerierne
vejrvejretn/an/a
Et venskabvenskabetvenskabervenskaberne
Et verbumverbetverberverberne
Et vinduevinduetvinduervinduerne
Et viskelæderviskelæderetviskelædereviskelæderne
Et vækkeurvækkeuretvækkeurevækkeurene
Et værktøjværktøjetværktøjerværktøjerne
Et værelseværelsetværelserværelserne
Et værtshusværtshusetværtshuseværtshusene
Et våbenvåbnetvåbnervåbnerne
Et wcwc’etwc’erwc’erne
Et æbleæbletæbleræblerne
Et ægæggetæggene
Et ægteskabægteskabetægteskaberægteskaberne
Et æselæsletæsleræslerne
Et øjeøjetøjneøjnene
Et øjeblikøjeblikketøjeblikkeøjeblikkene
Et øreøretørerørerne
Et åråretårene
Et årtiårtietårtierårtierne

Forti Client VPN download previous releases

How to find previous releases of FortiClient VPN

From my experiences, I got stuck to find appropriate link to download version 6.4.0 through google search (may be my bad to do appropriate search).

But finally I found one solution that is interesting for me, and also want to share with you if you face same problem like me!

https://filestore.fortinet.com/forticlient/ there you should find list of available files to be downloaded, just use related path of your desired file with current url. For my case, it was https://filestore.fortinet.com/forticlient/downloads/FortiClientVPNOnlineInstaller_6.4.dmg

SSH agent forward into docker container on macOS

Preface

I am used to git ssh remote URL, in case of public and private repositories either from GitHub or gitlab (those projects are either contributed or authored by me). Beside in my current company (Zitelab ApS), we have our gitlab enterprise edition server which is hosted into our own cloud and most of the repositories are internally accessible by our team exclusively. The main reason for using ssh remote URL is to avoid entering username and password at each time of push, pull (required over https remote URL)

Why SSH agent for docker container

For me as a new macOS user, for the first time, I faced problem while trying to clone some of the repositories from the inside docker container. My idea was to copy my local ssh key pair into container´s .ssh directory (not secure huh!) and help from the great teacher Google found many solutions for me like Pass local machine’s SSH key to docker container, Using SSH keys inside docker container and so on, however honestly speaking I was not able to implement the ssh key pair copying idea (may not be tried so hard, because I found a better and safe idea later?)

Finally took the idea of ssh agent forwarding (which method I used already in the vagrant based machine). In my opinion, this approach is the best fit for fulfilling my purpose at least.

Configure SSH agent forward in Mac Machine

I refer ´host´ as my development machine it-self and ´guest´ is referred to the docker container. Ignore this the step if you have already.

Setup Host Machine´s ssh config (~/.ssh/config) (Optional)

Example wildcard(*) applicable for all host
Host *
     ForwardAgent yes
     IdentityFile ~/.ssh/id_rsa
Example Certain Host
Host gitlab.com
     ForwardAgent yes
     IdentityFile ~/.ssh/id_rsa_gitlab
Example Certain IP ranges
Host 192.168.*
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa_gitlab

Setup in Docker-compose file

docker-compose.yml

version: '3'
services:
  my_service_name:
    build: .
    environment:
      - SSH_AUTH_SOCK="${SSH_AUTH_SOCK}"
    volumes:
      - ${SSH_AUTH_SOCK}:${SSH_AUTH_SOCK}

Enable SSH Forwarding directly from docker command

docker run --rm -t -i  -v $SSH_AUTH_SOCK:${SSH_AUTH_SOCK} -e SSH_AUTH_SOCK=${SSH_AUTH_SOCK}  <your container tag>

Disclaimer

My machine is MacBook pro 15 2109 and with Mojave OS (at the time of writing), However, I saw on the internet some complaints about not working properly but in my case, it is working perfectly.

References

  1. Can we re-use the OSX ssh-agent socket in a container?

MySQL Connector C API (libmysqlclient) install and configure in MacOS

UPDATE 1

The latest version of mysql-connector-c++@1.1 you might don’t need to go Configure mysql_config section as I see that is already correctly configured.

But one file “my_config.h“ is missing, you will feel that when you are going to install “MySQL-Python“. Solve that issue I manually create a file named “my_config.h” at /usr/local/opt/mysql-client/include/mysql [that is my local machine location, you might have in different place] and put contents from here

Preface

I am the mad (maybe fool) guy who doesn’t prefer to install services (like MySQL, PostgreSQL and so on) into development machine, instead using docker containers, this way gives me a lot of flexibilities, for example, I could have multiple versions of MySQL servers (each version could be project-specific depends on requirements), besides no unnecessary processes are running in my development machine.

This writing for those concerns who don’t have MySQL server installed into MacOS powered development machine (like MacBook Pro) but need to work with MySQL connection through programming languages (i.e Python in my case). Bellows are focused on ´MySQL-Python´, ´mysqlclient´ installation problems and solutions. If you have MySQL server installed through Homebrew, we don’t expect you are facing any connection related problem.

Prerequisite

As a requirement of my solution, I assume you already have Homebrew installed on your machine, other than going to the official site about to installl it, should be pretty easy.

OpenSSL

Make sure you have OpenSSL installed and the path is added in bash and/or zsh profile. Try (which openssl) to check if already available. Other than installed and configure it.

brew install openssl

echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile 

echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc (if you are using zsh)

Install and Configure MySQL connector C API

Install through Homebrew

brew install mysql-connector-c

Configure mysql_config

  1. Find the file location by using the command ls -la `which mysql_config`
  2. Open the file with sudo privileges by any editor.
  3. Find #Create options and comment in libs="$libs -l "
  4. Add libs="$libs -lmysqlclient -lssl -lcrypto" and save

Update bash and/or zsh profile

echo 'export LDFLAGS="-L/usr/local/opt/openssl/lib"' >> ~/.bash_profile 

echo 'export CPPFLAGS="-I/usr/local/opt/openssl/include"' >> ~/.bash_profile 


# if you have zsh
echo 'export LDFLAGS="-L/usr/local/opt/openssl/lib"' >> ~/.zshrc 

echo 'export CPPFLAGS="-I/usr/local/opt/openssl/include"' >> ~/.zshrc

Some Common errors could be solved

Collecting mysqlclient   Using cached 
https://files.pythonhosted.org/packages/ec/fd/83329b9d3e14f7344d1cb31f128e6dbba70c5975c9e57896815dbb1988ad/mysqlclient-1.3.13.tar.gz
     Complete output from command python setup.py egg_info:     
Traceback (most recent call last):       File "<string>", line 1, in <module>       
File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup.py", line 18, in <module>         metadata, options = get_config()       

File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 60, in get_config         libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]       
File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 60, in <listcomp>         libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]       
File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 13, in dequote         
raise Exception("Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?")     
Exception: Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?

References

  1. MySQLClient instal error: “raise Exception(”Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id”
  2. pip3 install mysqlclient fails on macOS
  3. MySQL Bug #86971 mysql_config –libs of mysql-connector/c 6.1.0 on macOS is wrong