#techtalksNarendra Shetty: Contributing to OSS Is a Great Way to Work on the Quality Codebase
- Narendra Shetty is a passionate senior web developer who currently works at Twillio on building Twilio Flex, a programmable contact center.
- In this interview, Narendra relates his inspiring story of moving out from India to the Netherlands and then the UK, the hardships he faced while transitioning, the importance of stepping out from your comfort zone, and a fear of public speaking, which he successfully overcame.
- My time at Twilio so far has been great, again it’s out of my comfort zone, and I’m loving every bit of it.
- It all started with React Amsterdam meetup, which gave me a platform to speak at, and ever since then, I’ve spoken about a couple of topics ranging from Web Performance, Animations & Transitions in React Native, AB Testing and now -- Programmable components.
The Ladybug Crew's Learn to Code Stories
- In a recent Ladybug episode, we discussed computer science degrees, bootcamps, and self-directed learning.
- So, he bought me an ”Introduction to Drupal” book and – quite frankly, I do not recommend starting out as Drupal when you’re learning to code but that’s how I did.
- Then a year or so after that I started learning about React and VueJS and I’m now a React developer and the rest is kind of history.
- I honestly thought that I was going to be learning how to format Word documents or something like that - I had no idea what code was.
- You can listen to the whole podcast episode where we discussed our thoughts on bootcamps, computer science degrees, and self-directed learning as well as advice for everyone in the midst of their journies.
Never split the difference: Negotiating As If Your Life Depended On It by Christopher Voss
- Christopher Voss shows us through various stories how and why hostage negotiation strategies changed over time at FBI where he was both a lead and an instructor.
- If you ever read about body language and its importance, you should be familiar with the concept.
- By the way, one of the best books of body language was written by another FBI agent, Joe Navarro.
- In body language, mirroring means that you try to take a similar posture to your partner.
- Voss says that on the other hand a no usually means the beginning of real negotiation as it is barely a hard no.
- All in all, I really liked the book and I think I will be able to use some of the techniques at my work, at package negotiations, not mention more personal situations.
#discussSix Ways to Make Your Posts More Engaging
- I was recently asked by @mjuraj for advice on how to write something more engaging, and about what guidelines I follow.
- You may never let your paragraphs be longer than four sentences, or may have a very profound use of commas; whether it is good or bad form, guidelines have a strong role in the way we write.
- Nobody wants to read a post written by someone bumbling about something they don't understand, like a front-end UX designer writing about back-end software they have never touched before.
- Nobody wants to be bombarded by a wall of text, and concise paragraphs help readers become engaged by letting them understand your points quickly.
- By making the audience think, it helps them remember your writing, and maybe even leave a like or comment; a type of engagement.
- Clear, professional-esque grammar and style engages the readers through helping boost your credibility.
Web Scraping 101 in Python
- In the next parts we will see the different ways to perform HTTP requests with Python and extract the data we want from the responses.
- Exactly the same number of line, however, there are some things that urllib3 does not handle very easily, for example, if we want to add a cookie, we have to manually create the corresponding headers and add it to the request.
- To begin we will use the HTML that we got thanks to urllib3, we just want to extract all the links from the Google homepage so we will use one simple XPath expression: //a and we will use LXML to run it.
- If you want to do large-scale web scraping projects, you could still use Requests, but you would need to handle lots of things yourself.
My privacy setup 🔐
- Instagram hears what you say, Whatsapp reads what you write, Google knows where you are, and all that data is shared among so many other 3rd parties looking for profit.
- As soon as you exit the app, Bouncer will remove location permissions from Whatsapp so it can't access them in the background.
- It comes in many forms such as Tor Browser, Tor OS and private tabs with Tor from Brave, and it allows you to navigate the internet freely and with privacy thanks to its multiple layers of encryption.
- I do use Google Maps frequently, I just have many features disabled such as recommendations and location history.
- I highly recommend to check the DuckDuckGo resources below, they have immense high quality information about why you should care about privacy.
Writing Tests with PyTest and Factory
- I like to use pytest with pytest-factoryboy to generate testing data.
- Fixtures defined in conftest.py file will be recognized in any test file.
- "Registering" the factories lets you inject them into your tests with a lowercase-underscore class name.
- In this same file, I'm defining fixtures with @pytest.fixture() which I'll use in my tests, and injecting them with the factories I just registered.
- I'm passing in my fixture data into my test method, and also passing in a factory called move because that's what I'm mainly testing here.
- In order to test player moves, I first needed to have created the players, the game, and the round, which is what I did in my conftest.py file.
- I only need to do this once, and I don't need to import the fixtures because anything declared in conftest.py is visible to the test files.
Use Auth0 to secure your NestJS application
- Besides that, the Auth0 Management API is included to receive the current logged in user's profile.
- Auth0 offers a generous free tier, which offers passwordless user accounts, two social identity providers (like Google, Facebook, Twitter or GitHub) and support in their community.
- Because we also want to read the profile of an authenticated user later on, we have to activate the Auth0 Management API for the application we just created.
- Once the Application is running, use cURL to access the API endpoints /secret and /profile.
- The Auth0 Management API uses the sub (subject) field from the JWT response to retrieve your user profile.
- I hope that this article will give you an idea of how you can implement an authentication provider like Auth0 in your NestJS application.
Nginx: Everything about proxy_pass
- A proxy_pass is usually used when there is an nginx instance that handles many things, and delegates some of those requests to other servers.
- Note how in the proxy_pass definition, there is no slash between "api" and $request_uri or $uri.
- While this is not exclusive to proxy_pass, I find it generally handy to be able to use regexes to forward parts of a request to an upstream WebApp, or to reformat it.
- For some unexplainable reason, nginx will try to resolve all hosts defined in proxy_pass directives on startup, and fail to start when they are not reachable.
- You can circumvent nginx's requirement for all hosts to be available at startup by using variables inside the proxy_pass directives.
- From a simple location /webapp/ with a proxy_pass http://localhost/api/ it has become this behemoth.
Global State Management with React usestate, useContext Hooks and Context API.
- In this post I will explain with some examples on how we can manage the state of the components by using context API and Hooks.
- The way Context API work is that we create a context using React.createContext() and provide it at the top of our components tree by using a <Context.provider> once we have provided the context at the top of our components tree it is accessible at every level inside that tree.
- In our BaseComponent we have provided the value for two contexts name and age and then we have consumed those values in the ChildComponentB like we did previously.
- One of the easiest ways to manage the state of a component globally (To update the state of a component from anywhere inside the provider) is to pass the callback function as the context value so we can call it anywhere we want to update our state variables.
- The post State Management with Context Api, UseState and useContext hooks – React CreateContext.