So this is one of my amazing learning of the day. I have been using coredns dns server at home home network to which all devices connect, beside just caching and speeding up opening website faster on home network. I also host my website from home. which while navigating I wanted to domain name should resolve to my local host ip that is serving the website. So here is the solution I figured out and it works.
In the above corefile , I am using hosts plugin of CoreDNS, that allows me to mimi the systems /etc/hosts file even within configuration. I have defined self-hosted.drydns.com pointing to local server IP address which is hosting my website. And for other websites it is forwared to cloudeflare dns server.
When I am at home network. (domain name resolve directly in a single hop.)
In the above output of nslookup 192.168.0.75 is my CoreDNS Server I have setup in my router.
And take a look below when I am outside , connected to a public wifi or via phone hotspot.
Now nslookup the same domain name I got it resolved to a external ip of the server. 22.214.171.124 is cloudfare DNS server ip.
sudo netstat -ltnp | grep 53
Where 53 is the port number, so if I run this on my linux box I get the following.
I wanted to put together a list of tools I have written from the time I started in vfx industry.
Starting from the first ever tool I wrote was more than a decade back. And that was not even in python.
In 2008-2009 I had a chance to learn and work on Apple Shake as a compositor while I was in Vancouver. that is more than a decade from now.
The first tool for Apple Shake was a macro that adds camera shake to a composite It was done while I worked on my first project with Landon and Blake.
Second macro I wrote was to handle multi-pass composite.
I uploaded my tools to creativehead.net .the website still exists but the interface is changed and I can't login to the website anymore.
Around the same time prior to ever working on Apple Shake, I also wrote tools for Maya using mel. I can recall the tool was called badApple as name given by Christopher Hartt. Since I come from technical background I wrote huge line of code . I don't remember what it does. But Chris was impressed.
Later when I moved to India and worked with Prime Focus I wrote tools for Eyeon Fusion using Lua. this tool was simple enough . It provided a prompt to browse image sequences and add them and generate a multi pass composite. There were few other tools I wrote but I do not remember anything from 2011.
Moving on from Prime Focus I taught myself python. and made my first Technical Artist showreel with tools written in python. That was Render Manager. using that showreel I landed for a job at MPC Bangalore. From that point on I wrote many tools for vfx . I basically became a 2d pipeline developer mostly writing tools for Foundry Nuke. I took over a application that worked as frontend integration of user with the backend asset management system . It was called hubNuke. In earlier days it integrated Nuke with hub and later it also added integration with MPC's new asset management system Tessa. I also wrote gizmos for nuke used by compositors at MPC.
Beside just writing tools for Nuke I also did some tools for Maya and Silhouette.
From there I moved to Basefx in Beijing where I worked in vfx company but my tasks were mostly devops writing tools for pipeline developers. I wrote a web application frontend for multisite Base-fx packages deployment. The frontend was done in Vue.Js framework and a rest api gateway done in flask-restplus. that was my first experience with web application development.
And after that I moved to London to work with Dneg where I worked on an application for Editorial / Layout department. Few frontend tools for maya using python for Animators. And Dneg's Popcorn framework for integrating nuke with Katana render dispatcher to dispatch 2d renders post lighting renders are done.
That was 2019 and here I am now at ILM in 2020 working on Shotgun and RV and lot of different things. I am happy I finally got to do some development related to shotgun I always wanted which I also asked for to do at basefx but I didn't got it, Here at ILM I wrote my first rvpackage for rv.
Hope more good developments come my way.
I finally have a good working simple example for HttpClient that works with Particle Photon. I have tested it on my particle photon and would like to document and share with everyone. I did faced one of the problem is that even when I included the HttpClient library into my experimental project it was continuously erroring pointing to glowfish library when I reckoned if glowfish was ever the dependency of httpClient library being included. So I have copied the httpClient.cpp and httpClient.h files along with my project.
take a look at the gitlab link of httpclient get example here:
In the previous company Basefx I worked in Beijing, China I got to play with socket. That was more than a year ago and I can clearly recall for sure we (the team) did not made use of systemd service or socket file path.
Maybe it was done by the system department (which is more likely because we were monitoring it with nigos web app) but the tool we had installed python scripts running socket based server to a location from where it was picked.
From last few days I had particle photon set up as tcp client to send room temperature and humidity to a tcp server running on a raspberry pi.
However, I initially picked up a node js example, since I have played alot with node js as well while I wrote web apps in vue js. And do these sort of things to refresh knowledge and not forget them.
Now I feel like doing it in python since python is one of my favourite programming toolkit. And I also need to write some more systemd service to run python code to fetch data from rest api on internet and post the data to mysql server.
Incase of my usage of sockets with particle photon I want to run tcp server and publish the temperature snd humidity data to mysql server.
What is sockets in computer terminology?
By definition: A socket is one endpoint of a two-way communication link between two programs running on the network. A socketis bound to a port number so that the TCP layer can identify the application that data is destined to be sent to. An endpoint is a combination of an IP address and a port number. So, Sockets allow communication between two different processes on the same or different or remote machines. To be more precise, it's a way to talk to other computers or devices using standard Unix file descriptors. In Unix, every I/O action is done by writing or reading a file descriptor. A file descriptor is just an integer associated with an open file and it can be a network connection, a text file, a terminal, or something else.
What is a socket file?
A socket is a special file used for inter-process communication, which enables communication between two processes. In addition to sending data, processes can send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls.
Have look at tcp server run through systemd service below.
Thanks for stopping by to read.
awakened by thoughts,