Setting up Ingress is an easy process but when it doesn’t work it gets really painful. First, make sure you have Ingress Controller setup correctly. This is in addition to Ingress resource and should be automatically setup by your cloud provider. When I was trying to setup a Kubernetes cluster on IBM Cloud, I ran into a lot of issues. It seems due to my permissions level something went wrong during provisioning of Kubernetes and Ingress Controller was not setup correctly. I went through a lot of steps including recreating alb , ingress resources, etc. The final fix was to login to IBM Cloud as superuser to change Access Policies for the cluster. Once did that, everything just worked magically.
Here is my solution to New Years Chaos problem from HackerRank. The first solution had a bug:
functionminimumBribes(q) {
letbribes=0;
for (leti=0; i<q.length-2; i++) {
if (q[i] - (i+1) >2) {
console.log('Too chaotic');
return;
}
// compare index to element, works great except when a smaller element is pushed way back
if (q[i] - (i+1) >0) {
bribes+=q[i] - (i+1);
}
}
console.log(bribes);
}
Second solution had O(n^2) complexity:
functionminimumBribes(q) {
letbribes=0;
for (leti=0; i<q.length; i++) {
if (q[i] - (i+1) >2) {
console.log('Too chaotic');
return;
}
// if there is a bigger element before this element
// then that element must have bribed this element
for (letj=0; j<i; j++) {
if (q[i]<q[j]) {
bribes++;
}
}
}
console.log(bribes);
}
At this point, I looked up in comments and found an optimal solution:
It is amazing how hard it is to find childcare. There are a lot of Facebook groups to find nannies and babysitters. We had been looking for babysitters there but there is high rate of people showing initial interest and then disappearing for a week. We cannot hire someone like that to watch our son.
We decided we should signup with care.com or sittercity.com. However, my colleague reminded that our employer, IBM, has some sort of program to find childcare. That’s when we discovered that IBM indeed has really great options for this. We talked to some of our friends at other companies and turns out pretty much all much employers provide a lot of great options to find childcare. Here three different options that many employers provide.
Daycares
A lot of employers have discount deals with major daycare chains and independent daycares. We get up to 10% discount.
Babysitters or Nannies
There are various types of options here:
Free memberships
We get free membership to sittercity.com to search for babysitters or nannies. Some friends had access to other internal tools for this.
Nanny Placement
While you can search for nannies on sittercity.com, you will need to interview, run background checks, etc. You can hire a Nanny Placement agency that will handle all the initial interview and vetting process for you. They usually charge $1000+. We get 30% or up to $300 off placement fees and found similar discounts at our friends companies.
Day Camps
Again another option for childcare. Many employers have 20-30% discount deals with various day camps.
Emergency Backup Care
This is a life saver. My company subsidize cost of emergency childcare during work hours. Total out of pocket cost for in-home babysitter is $6/hour for us for up to 25 days a year. Our friends also had similar deals. Some friends didn’t had restrictions that it was for only during work hours. So they can use their service for date night etc.
Runtime: 52 ms, faster than 13.33% of PHP online submissions for Set Matrix Zeroes. Memory Usage: 19.8 MB, less than 80.00% of PHP online submissions for Set Matrix Zeroes.
I work as a part-time REALTOR for White Rock Realty. I specialize in new construction homes. Currently, I am offering up to 50% of my commission in buyers' rebates. If you or you know someone who is buying a new home, please contact me. Visit my site here to search for New Build homes.
If you want to buy a preowned home, I may not be able to help you but I know some great Realtors. Looking for a home with a REALTOR is like going on a date, if you are not a good match, it will make whole process a little less fun. Contact me and I can refer you to someone who will make this complicated process fun and easy for you.
Even if you are not buying or selling a home, feel free to contact me if you have any questions regarding real estate. I love discussing and exploring DFW. I can run reports for you, help you understand real estate processes, contracts, etc. Whatever real estate related question or concern you have, I will help you.
This year I crossed off one of my bucket list item, got Open Water Diver{.rank-math-link} certification. I had done scuba diving before at Honolulu. It is among my top 3 best experiences. Ever since that vacation, I had been wanting to get into diving more seriously.
But since we live in land locked Dallas, I didn’t think it was possible or worth it. Then this year in February I saw Groupon from International Scuba{.rank-math-link} and I decided to just go for it. I think Groupon was for $250 but then there was a fine print which said we need to buy our own mask, fins, snorkel, and boots. I bought all this gear from International Scuba as they offered free gear rental for checkout dives. But this added about additional $200.
This certification consist of three parts, online education, in-person classes and training in a pool, and checkout dives in open water body such as lake.
Online classes were easy and interesting. Production quality is sadly extremely low though. It looks like they shot videos in 1980s.
My in-person classes and checkout dives were scheduled in March. It was still pretty cold outside, but International Scuba has nice heated indoors pool. Our instructor was great and very thorough.
This was around the time when COVID19 was spreading in the US but DFW had no such cases yet.
Our checkout dives were at Scuba Ranch{.rank-math-link} in Terrell. Water temperature there was about 60 F then. However, instructor assured that with thick enough wetsuit, we will be fine.
I got 7mm wetsuit but I was still cold in the water but it was bearable. One thing about thick wetsuits is that they increase your buoyancy significantly. We did our training in pool in just swimsuits, it was already hard enough to get neutrally buoyant in the pool without wetsuit. Now we had to not only do our skills in much colder water but also have totally different buoyancy profile. In addition, water is pretty murky there, so that is another new factor to consider. We had to do 4 dives, 2 on Saturday and 2 on Sunday.
But first 2 dives really pushed me exhausted me and I woke up on Sunday with low grade fever. I would have been fine if I had taken some Advil but with COVID19 in the news and just didn’t wanted to push myself, I didn’t go.
Then lockdown happened. So I could not do my last 2 dives until June.
Scuba International was really nice about it, I thought I had to pay for gear rental this time but the loaned me the gear for free again. Also I had prepaid for Sunday entry at Scuba Ranch, but they mailed me a raincheck. So I was able to my last 2 dives for the same cost as if I had not missed my dives initially.
This time water temperature was about 80F. It is amazing how big of difference 20F is, we dived in just swimsuits, no need of wetsuit at all. Also skills were so much easier to do too. Water was still murky but it wasn’t as bad as I remembered from the first time.
I highly recommend that you do your Open Water Diver training during summer. And checkout Scuba International, they are awesome.
This year I crossed off one of my bucket list item, got Open Water Diver certification. I had done scuba diving before at Honolulu. It is among my top 3 best experiences. Ever since that vacation, I had been wanting to get into diving more seriously.
But since we live in land locked Dallas, I didn’t think it was possible or worth it. Then this year in February I saw Groupon from International Scuba and I decided to just go for it. I think Groupon was for $250 but then there was a fine print which said we need to buy our own mask, fins, snorkel, and boots. I bought all this gear from International Scuba as they offered free gear rental for checkout dives. But this added about additional $200.
This certification consist of three parts, online education, in-person classes and training in a pool, and checkout dives in open water body such as lake.
Online classes were easy and interesting. Production quality is sadly extremely low though. It looks like they shot videos in 1980s.
My in-person classes and checkout dives were scheduled in March. It was still pretty cold outside, but International Scuba has nice heated indoors pool. Our instructor was great and very thorough.
This was around the time when COVID19 was spreading in the US but DFW had no such cases yet.
Our checkout dives were at Scuba Ranch in Terrell. Water temperature there was about 60 F then. However, instructor assured that with thick enough wetsuit, we will be fine.
I got 7mm wetsuit but I was still cold in the water but it was bearable. One thing about thick wetsuits is that they increase your buoyancy significantly. We did our training in pool in just swimsuits, it was already hard enough to get neutrally buoyant in the pool without wetsuit. Now we had to not only do our skills in much colder water but also have totally different buoyancy profile. In addition, water is pretty murky there, so that is another new factor to consider. We had to do 4 dives, 2 on Saturday and 2 on Sunday.
But first 2 dives really pushed me exhausted me and I woke up on Sunday with low grade fever. I would have been fine if I had taken some Advil but with COVID19 in the news and just didn’t wanted to push myself, I didn’t go.
Then lockdown happened. So I could not do my last 2 dives until June.
Scuba International was really nice about it, I thought I had to pay for gear rental this time but the loaned me the gear for free again. Also I had prepaid for Sunday entry at Scuba Ranch, but they mailed me a raincheck. So I was able to my last 2 dives for the same cost as if I had not missed my dives initially.
This time water temperature was about 80F. It is amazing how big of difference 20F is, we dived in just swimsuits, no need of wetsuit at all. Also skills were so much easier to do too. Water was still murky but it wasn’t as bad as I remembered from the first time.
I highly recommend that you do your Open Water Diver training during summer. And checkout Scuba International, they are awesome.
I got my iPad Pro at the end of 2017. Before buying it, I had read many blog posts by various developers who were using iPad for programming and web development. But soon after I bought it, I realized that serious web development on iPad is hard. The biggest issue was debugging JavaScript and CSS without web tools.
At first, I was having buyer’s remorse but I loved the form factor of iPad and loved drawing on it. I am used to reading on Kindle and iPad was just too heavy for long reading sessions but it was very decent reading device for quick reading sessions. So I kept it.
Initially, iPad was fun device for infotainment. But slowly I started to become more productive on it. I stopped doing web or app development. Instead, switched to command-line based projects such as algorithmic trading or data science experiments. It was sort of subconscious change as I carry iPad around a lot more than my laptop and when I had iPad with me, I didn’t wanna build anything with UI.
Currently, I cannot get rid of my personal laptop completely because I use it for some dev projects, I was learning Flutter and been playing with Godot. I tried to setup Flutter on my VPS but I could never get it to work right. Also laptop is needed for various trading softwares like Wealth Lab Pro or Think or Swim. Wealth Lab Pro is what got me into algorithmic trading but unfortunately it is Windows only. However, I am using RDP to log into Windows machine from my iPad. It is not a smooth experience but doable.
Currently, I use following apps on iPad Pro:
Blink shell for ssh connections to my VPSes.
ia Writer for writing fiction.
Kindle app
Working Copy for working with my repos on github and bitbucket.
Apple Photos app
Procreate for drawing and painting
Affinity Photo for drawing and editing photos
Snapseed for editing photos
Apple Notes for quick notes with Pencil
Dropbox for transferring files between Windows machine, Android phone, and MacBook Pro
Microsoft Remote Desktop
And then usual entertainment apps such Netflix, YouTube, etc
Also I tend to avoid installing most apps and use websites, like Reddit or Facebook. I rather login to website instead of an app on my machine that is constantly monitoring and sending data to mothership.
Last week, I had decided to use Swift/Apple’s ecosystem for initial gamedev. But I wasn’t feeling 100% okay with getting locked into Apple’s ecosystem.
So I spent last week doing more research on developing simple apps using Swift, Xamarin, Flutter, and React Native.
Since I use JavaScript at work, React Native would be the easiest way for me to get started but it feels too much like work and I am kind of tired of js/npm dependencies and build tools. One nice thing about staying in Apple’s ecosystem is that everything has really good documentation and feels more polished.
Then looking at Flutter, I love their docs and it looks very clean and polished. It also has game dev engines. It has a few game engines available.
And Xamarin, probably most mature cross-platform. The nice thing about Xamarin is that it uses C# which means my skills can transfer over to Unity. Xamarin also has game engines, good docs.
Idea
The first game idea that I am thinking is an app for project management, tasks, and relationships. As game dev is my side hustle, it is one of the lowest priority. After day job, I need to do errands, play with my son, and hangout with my wife. House projects such as painting walls are higher priorities. Then staying in touch with friends and families should be next priority.
But when I start a new project, I forget about everything and everyone. The most project management tools are build for teams working on commercial projects.
So the first project for me to build project management tool that is suitable for personal life and side-hustles. The few key features of this will be:
One time tasks - One time things like drop off packages at UPS.
Repetitive tasks - Such as take out trash
Each type of tasks can be part of a project. Project is basically just a label or category on a task.
Habits - Help you build or break habits.
Contacts - Name, number, social media profiles, birthdays
You can set a reminder to connect with your contacts every so often.
Add notes and photos for each contact
Reports or dashboard to show you your next highest priority tasks, who you need to contact, etc
Privacy - This will run locally, no data should be needed to stored on any server. Probably will use json format file for easy export or import of data from the app.
(Optional) Gamification - This might be simple as adding contacts or building new habits will earn you badges or level ups.
One of most common technology that new professional developers struggle with is git.
Many junior developers are eager to start using all of the powerful commands of git and usually end up getting more confused.
Here are a few commands that I recommend to anyone learning git for the first time:
clone
This downloads entire git repo from a remote server, usually. You will get all revision history and branches.
init
This initialize new empty git repo in current directory. As a junior developer you are unlikely to do this. Most likely you will be cloning an existing project.
Another caveat here is that when you initialize a git repo, you will need to set remote destination to push your code changes. But let’s not worry about it yet.
checkout
Once you have cloned a repo on your machine, you can checkout a specific branch. By default when you clone, master branch is checked out. Most likely you will be working in some other branch. So you will check it out by typing git checkout branch-name
pull
This command pulls changes from remote server into your local copy of repo. If you are working a branch that another developer created then that developer needs to push that branch to remote server, then you can pull it. And finally you can check it out. I see many junior developers not pulling before checking out a new branch.
commit
This is simple make your changes and commit your code to repo. When you issue this command, your changes are stored in your local copy of repo. You will need to issue push command before your changes are pushed to remote server and only then other developers can pull your changes.
push
This pushes your local repo with all local to changes to remote server.
Many times you will need to merge changes from remote in your local repo before you can push.
merge
This is where things get a bit confusing new developers. There are likely 3 different cases when you merging:
2 or more developers are working on same branch
This is simplest case. You can simply issue git pull command and it will fetch and merge remote changes. Now this can result in conflicts, which will need to be resolved manually. I will talk about conflicts later.
New release went out
It is recommend to merge master (or default) branch into your branch often especially right after any major release. This avoids any conflicts later during Continuous Integration pipeline.
You need a feature from another branch
This is probably the worst scenario to deal with because now your branch is dependent on another branch. I prefer to avoid this scenario unless the feature is in master. The reason for avoiding this scenario are two folds, first code reviews get hard as it is hard to tell what was changed in your branch and what was pulled in from the other branch. And then many times my code got delayed because I was waiting on other branch.
I use 13-inch MacBookPro for personal projects and 15-inch for work. My personal MBP would be last traditional laptop, hopefully. Since most of my work can easily be done on Linux VPS. I have been using 10.5-inch iPad Pro with Blink shell for most my side projects. I like the form factor of iPad Pro and I am getting better at Linux administration. Now I am also setting up Docker images so I can bring up new images as needed.
Though I might still need personal computer mostly for photos and videos but I might as well buy a desktop next time. I can build a powerful video editing station for fraction half or less than what a decent MacBookPro would cost.
MacOS Tools
Brew.sh
This makes installing various software dev tools super easy.
VS Code
I was a big fan of Sublime Text and PHPstorm but VS Code finally won me over. PHPStorm is still better for PHP work but VS Code lighter and faster to open, so I end up opening it more often than PHPStorm.
Docker
I am getting into DevOps and spinning up new VPSs as needed, Docker is pretty much default choice for this.
This is the best terminal software I have used. It is free and Open Source too. This is all you need to use iPad for development of most web apps and machine learning.
It is a git client. In theory, I didn’t need it when you got shell access to a Linux machine. But vim is great for writing code but not so much when writing blogs.
So I use WorkingCopy to clone my blog on iPad, add new posts with iaWriter, and then again use WorkingCopy to commit and push my posts. I use Netlify for hosting this blog, so as soon as I push new posts, Netlify will publish it here.
Linux Tools
I have been using Ubuntu as my main flavor of Linux. The list of tools that I use on Linux is long but here are some: