Skip to main content


Istio —simple fast way to start

istio archeticture (source I would like to share with you a sample repo to start and help you continue your journey learning istio. If you are not familiar with Istio and just know it by name or the internet waves brought you here you can start by reading this very tiny historical background   If you are familiar with microservices and containers and preferably Kubernetes then you are set to play with istio right away. the only prerequisite is having a Kubernetes cluster, and no you don’t have to go to AWS or Google cloud, you can have your own one on your local machine, a fully blown multi-node cluster with one command. check this fantastic tool to do that it’s a very quick setup and easy enough to follow through: now that being done you can follow the command by command it’s all done with a Makefile to group commands in sets that make them easier to understand and execute. jump
Recent posts

[part 1] Spring State-of-the-art microservices full project

In this blog I want to introduce something I've been working on for a while last month, it's a java, spring boot 2, microservices application to demonstrate best of breed, state of the art spring tech stack. the app itself is not new, it's good old Nutracker (a macro nutrition log & diary) I wrote this app as a monolith before and now I split it into different microservices with my focus on the architectural components that becomes essential with moving to a distributed system. In microservices you basically leave the easy-to-debug and easy-to-write monoliths behind you to embrace a new mindset of thinking, one that is more complex and challenging to code, test, debug and deploy. and the reason why you may want to do that is to achieve more flexibility and scalability gains that will become more costly when the application gets beyond the early development stages. Software starts simple but over time we add more features, we change old ones and we adapt new techno

Deep Learning - Digit recognizer for MNIST - part 1

In this blog, I want to talk a little bit about testing different fully connected neural networks to see how each performs on this dataset: this is a very famous and one of the first classical data sets in the computer vision field. we have images like this: and we want to be able to identify each image with least amount of errors.  we have 42,000 labeled images for training we have 28,000 non-labeled for kaggle evaluation. In this blog I'll use few deep neural networks using Keras to build different models and evaluate them. each model will be different in either number of layers, nodes per layer to get a sense of what increases the accuracy of a neural network in this kind of problems and whether more layer & units and larger models mean better performance. I'll assume you are familiar with python, basics of neural network. as for Keras basics if you are not familiar with it, I recommend googling things along t

[PART 5] NuTracker ReactJS app - Add Login & Profile using Router

In the previous part we finished the dashboard read functionality, now we want to add the skeleton for other pages: - Login   In this page the user will be able to login to their account and the dashboard won't show unless the user is logged in. - Profile In this page the user will be able to update their daily nutrition goals that they can track in the dashboard. to be able to have multiple 'pages' in react and navigate from one to one, we need something that can switch the rendered content based on what we want, we can do that with if statements in the App components and store some location state, but why invent the wheel. React Router every major single page app web framework has the routing concept and functionality to interact with the usual browser urls and switch the content based what user should see. for example on the profile page I want the url path to be /profile, and for login to be /login and so on. in more advanced cases you want the users

[PART 4] NuTracker, ReactJS application - Finish Dashboard Read functionality

In the previous part we added the first call to the async api to do search, now we will build on that to call more apis, and to add more components on the page to finish up the Display flows (i.e. what doesn't require writes / forms) : search this allows the user to find a specific food and choose to add an entry for it to their day to record that they consumed a specific portion of that food. show entries This feature is to allow users to see what they recorded as a list of entries, each entry represents a food the user added on a specific date. show progress bars The user will be able to set goals like how many calories, proteins, fats they want to consume daily and these bars will calculate from the entries they added how close they are to their daily goals reload entries & progress metrics when date change  This is to provide the ability for the users to go back in history and see their entries. all this is in general similar to the steps I did before:

Using Windows 10 built in bash to ssh to ec2 instance

Using Windows 10 built in bash to ssh to ec2 instance detailed steps to install bash on windows here: Summary: 0- enable windows subsytem for linux 1- open cmd 2- type bash 3- accept and create a unix user account 4- wait to finish 6- you may need to reboot reopen cmd and type bash, you should see your cmd prompt changed. 5- to ssh to ec2 you need .pem key file that you download when you create the instance 6- copy that file under /home or something else but not under /mnt/* (windows files) because the next step will not work, the file has to be in a linux directory (bash in windows can't change windows files permissions) 7- we have to run this command : $ chmod 400 pem_file.pem because otherwise you will get an error that this key permissions are too open (not secure enough). 8- the command is ssh -i "pem_file.pem" ec2-user@123.456.897  (replace the pem file name and ip with your values). now yo

Online IDE :)

I stumbled upon this neat online IDE , where you can : - instantly start, share and run code - use npm dependencies and install what you need quickly - you can drag drop files from your computer I'm yet to explore it but seems very promising it also has a neat feature to embed itself in blogs like this one so that's awesome because now I can show live examples of running code and share them with my readers ! all I had to do is include an iframe with url to my test project on their website this is an example of a react project   :) Kudos to the people who create this cool stuff and share with us !