It’s very interesting to note that Ancient Babylonians had procedures and parameters in their mathematics. It evokes programming concepts.
However, I think the parallelism is overdrawn at this point:
<< Note that both in this example and in the very first one we discussed we are told to make two copies of some number; this indicates that actual numerical calcula- tions generally destroyed the operands in the process of finding a result. Similarly we find in other texts the in- struction to “Keep this number in your head” [6, pp. 50-51], a remarkable parallelism with today’s notion that a computer stores numbers in its “memory.” >>
It is to be noted that the memory of a computer stems directly from the human brain, it is not that we are advanced, it is that we copied an original reference.
Paper: https://lnkd.in/dBMAt-6M
When talking about documentation, people often refer to the end-user experience. However, when things go wrong internally, the end-users don’t have a clue on how to solve it.
It is not only necessary to state the how of things. But the why and rationale also. It’s a pleasure to read well-documented code, for sure. But, if you have 100Ks of lines, it’s not enough.
There are various techniques to document internals. If ever I am doing it, I’d explain:
Current documentation advice is like people advising on how to write good books. But, you always deal with libraries. Sure, you can start shelf by shelf until you find the book you are looking for and get an overview of the library along the way. But, if you need a particular book, it makes sense to have a catalog so that you know what book exists and a library layout, enabling you to navigate your way to the book. Once you get to the book, of course, you’d relish a well-written book.
Documentation is a time investment you make to save someone else’s time. People often say that you should not invest too much in the docs as when changing code, it takes time to re-write the docs and sometimes it slogs you down. True. But, documenting the internals as well as techniques used is not mirrored at the code-line level. It’s a high-level explanation to get an idea of how things are achieved. This way you can replace a whole code section if needed.
At the end of the day, it’s about enabling users to use the product as if you cannot support them. Imagine launching some people on a planet, for one year, with no outside contact. You’d like to produce documentation that is self-reliant as far as possible. It’s about giving more power to your users.
The tech bro’s appearance at community meetups is inversely proportional to the time passed after marriage, at least in Mauritius. This begs the question: why do you attend meetups?
The Mauritian answer it seems, is that I have too much free time on my hands: let’s try attending a meetup. Your career goals are the same 1s before marriage and 1s after marriage. Why do you just disappear?
If you think of community meetups as incredible investments,
Else,
Not having enough time is relative to the importance you attach to something. If something is really important, you’d be prepared to even shift your life paradigm. If after having kids you don’t have time, then I think that your poor time-management skills are finally showing cracks.
Work is work, you’d say. I am getting my paycheck, that’s fine. Yes, that’s fine. But, why do you pursue a Masters after a BA? To land better opportunities. Same thing with community meetups. You gear up your skills. You meet people. hashtag#OpenSource-wise, core developers-led sprints are an incredible opportunity to stack up expertise in your field of choice.
KVM or Kernel-based Virtual Machine has been integrated into the Linux kernel since 2007. It allows the kernel to be used as a hypervisor, allowing instructions to be run at the hardware level.
It’s very comprehensible for such a piece to be integrated early in the Linux kernel. I just wasn’t aware of the term.
I was perplexed by why Redhat pages kept appearing when looking for KVM. KVM was developed by Qumranet, an Israeli-based company that was acquired by … RedHat in 2008. Very comprehensible.
It’s great to see RedHat’s vision from early on. Since RedHat offers OpenSource solutions, it secures it’s expertise over it.
The âGoogle Developer Expertsâ is a thoroughly useless program (except for Google, of course). The people in the program are great enough without this nugatory marketing scheme. They dazzle you with flights to events etc which does not happen for most GDEs.
I never gave GDE much thought as you just don’t become a sellout to boost a for-profit company’s influence for free. A company that indoctrinates you into believing you are doing pro-bono work for the community. When a great friend proposed that I apply for the GDE program, I considered the request and invested one week to build a case for it. I was trying to lay down footholds to support my decision that it was indeed worth it. But sadly enough, I could not find in the GDE members’ own experiences, grounds to support my decision.
GDE is like freemasonry. You cannot apply, a member must contact you. This should tip people that something strange is afoot. You can have high standards, but, let the doors open. It’s a way for them to also identify their best fishermen and target them more.
Another thing is that they also look for influence within the community. In addition to technical expertise, you need to be already speaking at events, publishing content, mentoring, and advising others. They need to ensure that you will be able to pump down Google’s marketing through enough throats; hooks, sinks, and lines. And oh, if you don’t qualify yearly, you’ll have your fisherman license removed.
In sum, you need to be already great to be part of a program that uses you to promote its products and services and give you access to relevant events and resources for you to be able to do your job better. It also gives you exclusive access to other fishermen so that you can fish better.
It is your responsibility as a developer to prevent initiatives like the GDE from wrapping people up. We must allow all companies to be the corporate-as-community entity. Since we cannot, we must give the privilege to none. The community is the community. Sure Google can have a community of its own experts. But, the GDE program also includes OpenSource and machine learning for example even if they don’t have a direct link to specific Google products.
We do need corporations but as community sponsors. Not that the corporation becomes the community. GDE is not like Microsoft’s MVP program where you are recognized for your work in relation to the company’s products. This one tries to pass Google as a community evaluator with a title branded under its own banner, not even a community-focused title.
We don’t need Google, the privacy freak’s validation to be expert developers. And we need to keep Google and its fake tech-agnostic sugar-coated goodwill at bay. We must purge the community from economic foxes and keep the community spirit untainted. You can be great without Google and noble if you refuse to be corrupted and tempted by its economic lures.
Long live hashtag#opensource and may mountebanks marketing always foil!
Google’s nose dive further accentuates after the maze in the mouse saga 11 months ago. In a scathing take, senior staff engineer Diane Hirsh Theriault describes the soulless state Google find itself in.
She writes:
“My hot take: Google does not have one single visionary leader. Not a one. From the C-suite to the SVPs to the VPs, they are all profoundly boring and glassy-eyed.
Google has not launched one single successful executive-driven thing in years. Sometimes, VPs try to decree “we need a new chat app or AI-first demo for I/O!” There’s a huge death march, and in the end, the thing is half-baked and roundly derided. If it doesn’t get 100 million users in six months, they give up and shut it down. It’s like that joke algorithm I learned about in college – BogoSort. In each iteration of the algorithm, you reorder everything randomly and if the elements happen to land in order, you are done.
Some of Google’s executives are competent referees. I couldn’t name which, but I feel like I’ve seen it done in my 8+ years. They point in a direction, their subordinates swarm the area, try a bunch of stuff, and sometimes something sticks and is cool.
Right now, all of these boring, glassy-eyed leaders are trying to point in a vague direction (AI) while at the same time killing their golden goose. Given that they have no real vision of their own, they really need their subordinates to come up with cool stuff for them. And at the same time, there have been rolling layoffs for the past 6-12 months throughout the company, including engineering, sales, support, UX, product, data science, SRE, everything. Just randomly firing people, torching institutional knowledge, and blowing up perfectly functional teams.
…
There is a pervasive sense of nihilism that has taken hold. “Well, I guess I will just do the job until they fire me.” A lot of people have golden handcuffs situations and aren’t going to walk away from the salary, but nobody works late anymore. The buildings are half empty at 4:30. I know a lot of people, myself included, who used to happily do extra work evenings and weekends to get the demo done or just out of boredom. That’s gone.
Google really was a magical place, not very long ago. And for some reason, executives are cashing out their human capital at the very moment it seems to me like they really need it. Who can be dawn-of-a-new-era-of-humanity creative in this environment of fear? It’s really sad. I have no way to align myself with any unspoken VP strategy or do good enough work to save myself if my whole team is cut. So I guess I will just hang around and do my job until Google no longer wants me.”
Do we get answers if we google “How to save Google”?
OP: https://lnkd.in/dYrScRRp
Maze in the mouse: https://lnkd.in/ddpC2xwB
KilledByGoogle is a website listing the filicides of Google. It lists the lifespan of products Google started and shut down. When looking at this erratic behavior, it feels like looking at the handiwork of a deranged mind. I remember clearly reading an engineer’s account of how people start products in a bid to land promotions.
I find it disturbing that a senior staff engineer (the top of the top brass in the engineering track) describes this practice akin to BogoSort, where you randomly sort and expect it to land correctly.
“Google has not launched one single successful executive-driven thing in years. Sometimes, VPs try to decree “we need a new chat app or AI-first demo for I/O!” There’s a huge death march, and in the end, the thing is half-baked and roundly derided. If it doesn’t get 100 million users in six months, they give up and shut it down. It’s like that joke algorithm I learned about in college – BogoSort. In each iteration of the algorithm, you reorder everything randomly and if the elements happen to land in order, you are done.”
The saddest part of it is that it has been gobbled up by … itself.
KilledByGoogle: https://lnkd.in/d3ZRHy_n
Senior staff engineer’s account of Google: https://lnkd.in/dcC2qnvt
In an epic hashtag#killedByGoogle move, Google domains customers now find themselves funding Squarespace.
Some interesting takes:
a. “I canât even imagine the consequences of this happening to google photos, drive, gmail” b. “Neither those who bought a Stadia, invested $5,000 into a Google JamBoard, those who relied on Google Reader and many others.
We’ll probably see Google shutting+selling down not-profitable-enough businesses as they focus more on profitability (it’s what investors want).”
Google is squarely sacking itself off the competition board.
When looking for SaaS ideas it might be simpler than we think. I found an interesting perspective from the story of Shoji Morimoto, who rents himself out for cleaning services, no I’m kidding, he rents himself out for doing absolutely nothing!
Can we develop a SaaS that does nothing? I think so. If for example we develop an app to emulate accounting software so that people can pretend to be working hard.
I’m pretty sure that any boring service that already exists can be profitable. It’s hard to find new ideas all the time as it’s hard to be original among billions of people. It can be argued that doing nothing is an original idea that’s why he is successful. But ideas can be and are always copied. So, a nice product vision and continued development of trite ideas can be profitable.
Starting out I think is the best advice. Accompanied by a proposal that works. Then even if the service is very common, people will drop by.
Story shared by Trung Phan on Twitter.
When I started Luminotes in March 2023, I intended it to be a collection of random interesting technical content. Now it has a combined audience of around 1.3k on LinkedIn and Substack. It grew from a personal blog to an engineering newsletter read by interesting profiles.
Some weeks ago I was looking at subscribers and I was amazed to see engineers working at different prominent companies subscribed to it. Amazon, Facebook, Google, Apple, IBM, Dell, Nokia, Siemens, VMware … as well as great Mauritian-based ones. There is also a readership amongst academia, including professors and doctors.
So, wherever you are, if you publish interesting pieces, it’s sure to attract the right audience. I have no secret, just a curiosity to explore how awesome pieces of software work under the hood. It’s always fun to see what human ingenuity can cook up.
And yes, exploring hashtag#opensource systems also renders a community service by empowering more people to take collective ownership of codebases.
I am planning to cover the software side of robotic systems, you can subscribe on: substack: https://lnkd.in/drJETzB3 linkedin: https://lnkd.in/dkmuHYUP
hashtag#newsletter
After analyzing 75k votes, Product Hunt announced the very best products of 2023. One conspicuous landmark was, unsurprisingly … Ai. This offers compelling evidence that the world is just mad about it.
This year even had dedicated Ai categories:
which is wild. But, even in other categories, we see many Ai products topping the leaderboard. Ai is doing awesome, useful work despite the routine jailbreaks we hear daily.
ChatGPT is the cornerstone of the 2023 revolution. As we scroll, we see more products relying on chatGPT to deliver features. It also projects a product vision that with Ai, we can. With Ai, we just do it. With Ai, the crafted product is insanely good and aligned with expectations.
LLMs are not 100% reliable but I guess that the end-result counts, a lot!
Golden Kitty Awards: https://lnkd.in/dHwsRryC
Linus Benedict Torvalds started Linux as an educational project to learn more about the i386 microprocessor. It was based on the educational operating system called Minix. Like many opensource projects, many people have questioned Linus’ engineering choices on various topics. Like Jose Crespo mentioned today concerning interrupt handling in RISC-V where they operate in a serial manner where each interrupt is processed sequentially.
But, questioning Linus starts right from the inception of Linux itself by none other than the creator of Minix, Andy Tanenbaum. Minix used a microkernel approach, where the userspace and kernel are separated. Linux used a monolithic approach. Andy told Linus in exasperation that “While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won.”
Being on the research side of things, Andy labeled Linus’ approach as pure misguidance. He accused him of catapulting us back to prehistoric ages: “LINUX is a monolithic style system. This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea.”
And to that Linus agreed. From a theoretical point of view, he chose a bad design, but, he argued, Minix did not implement microkernels correctly. He preferred something that he could make to work well.
There is always this rift in hashtag#opensource between the original author’s wishes and basically everybody else. The original author often has the project’s wellness and survival at heart. While people might be quick to judge and point out validly, the original author considers things holistically. A certain way of doing might be better but, the original author might prefer ease of use over doing things the right way. The original author has in addition, the vision behind the product.
But, of course, Linus is mortal. So, how do we keep the original author’s vision, intentions, and definition around? It depends on the author, how much he taught about himself to others, and how much of the relationship between himself and the carving process he exposed to the world.
That’s why many authors prefer to remain a dictator over the project, to guide the project to their dreams, not to a dream guided by the weathering process of maintainers’ majority votes.
Google officially joins the stodgy club. With the wipe-out of the engineering vision at the top, it struggles to find a purpose. Google has been fully embracing the corporate spirit. Amid cuts, immoral profits, and decimations certified to be senseless by engineering’s top brasses, Google has been quacking like corporate proper for some time now. Perks flashing on social media no longer works to attract people.
Even employees themselves are no longer deluded, Google is simply free-falling. Not knowing what to do, Google leadership is now simply pushing levers up and down. With harsh, inconsiderate layoffs, it is expected that the creativity and innovation of employees will go down.
Google is no stranger to the AI game. There was a time when Jeff Dean was buying any AI/Neural book he could find and replaced quite a few services with AI. But, the rise of generative AI proved to be a hard blow to Google’s business model. The technological shift was of such a magnitude that Google struggled despite its engineering force.
Google is displaying the signs of a lean corporate â one where the company’s value is sought in business practices rather than a strong engineering culture. If a company’s value lies in engineering, trying to pump its value through cuts and buybacks will eventually show, harshly. Google it seems, is out of phase with its own spirit. Googlers now feel like they are living in a stranger’s home, a stranger, in addition, ready to kick them out all of a sudden.
Working for Google used to be ‘sexy and exciting,’ with a strong sense of security. Now, not so much. - https://lnkd.in/dVA9p4bg
Google’s nose dive further accentuates - https://lnkd.in/dNVTbZcd
When a company derives value through engineering, if it seeks value through business practices, will simply tank. When Airbus launched the A320 Neo engine, it led to a series of events, which showed Boeing’s disregard for engineering boomerangs back hard.
Airbus decided to launch a 15% more efficient engine, which companies can use to lower their fares. This was so attractive that even American Airlines decided to buy the planes from Europe. This prompted Boeing to work on a competing product. Everybody expected a robust engineering response, one which polishes the American prestige, but, unfortunately, it revealed that the company officially stooped to flying-coffins levels long ago.
Boeing readied the 787-Max as a response. But, soon it became clear that something was wrong as planes crashed. It was revealed that the company had changed from being an engineer’s paradise to a hotbed of sheer incompetence. Probes into the company revealed that even employees did not trust to fly their families on Boeing planes. The shift started when Boeing merged with McDonnell Douglas, a company rooted in General Electric’s (GE) management style. The merger found Boeing’s key staff being replaced by cut-throat business-minded people. Within 2 years, under the pretense of cost-saving, the R&D budget was cut by a staggering 60%. Then the usual patterns of other cost cuts appear, including the selling of plants and firing of people, including its most valuable assets. “If you hire a team that you think is really good and theyâre performing well, why in the hell would you eliminate 10 percent every year?”
Before the 787-Max, the Dreamliner, a plane produced under the draconian leadership was plagued with quality issues due to replacing quality with cost at each turn. Continuing under the same tone, the 787-Max design was influenced by cash flow more than everything else. They developed great, efficient engines that were too big and had to be refitted further up the wings. This resulted in a change in the centre of gravity which could be solved by the expensive change in tail design. Instead, they found a cheaper alternative by programming the software of the board computer to automatically push the nose of the airplane down by moving the small horizontal stabilizer wing at the back. This relied on unreliable sensors, which Boeing tried hard to hide from regulators and escaped expensive fixes to the system as more and more problems emerged. Pilots in turn could not find anything to help them when erratic behaviours emerged leading to fatal crashes.
Even after two 787-Max crashed, the company was hailed as a true dividend rockstar. But, as with the Dreamliner, increasing production rates increased further quality defects leading to backlogs and canceled contracts. The net result was that eventually, Boeing asked the government for a 60 billion USD bailout, the amount it spent on buybacks and dividends between 2013 and 2019.
This is what is happening to hashtag#Google.
The current education system is a thorough insult to intelligence. It’s an imposed filler-episode service for your life, from 3 - 18 years. It’s a fundamentally broken system that feeds you the worst aspects of teen life for free. In stark opposition to human nature, it stifles creativity and coerces you into a factory life routine. It’s a grossly inefficient system, that is falling apart, failing its moral duties, and filled with bureaucracy. By shackling educators to copy-paste policies from abroad, the sincere ones among them now silently, every day, mourn the last days of a zombie.
Yesterday we celebrated the top achievers of a dysfunctional system. What does it mean when you excel in a broken system? It means that you conform to it and will champion it. The more effort you put into a system, the dearer it is to your heart. Some people speculate as to the secret laureate formula. Knowing teachers of laureates, it is surprisingly not a matter of superior intelligence, just like rocket scientists and brain surgeons [1]. It is rather a change in study methodology. Even very average students, with poor grades, became laureates with a change of study regime.
The general school life is one where family ties are blasted to bits and moral education is left to the wind. It’s one where a social animal is reduced to a trained robot, tied to a legal leash. It’s one where time is a luxury and paradise is promised after work. With tuition, students are tortured mentally, physically, financially, and, ironically, cognitively.
People sacrifice life skills for A-level success. A success that stops at the university door. Then it’s completely out of your life. You won’t see it twice. Whereas life skills serve sincerely until death. If ever in developing life skills, you have to sacrifice academic excellence, it’s completely worth it. A mediocre performance I fear, is the just retribution for a mediocre system. It does not behold the status of the mind to conceive that people have been learning English since 3 years of age, for 16 years more and not being able to hold basic conversations. Or to carry on with basic English mistakes. When people don’t invest in themselves, it comes to haunt and bite later at infrastructure and societal levels.
A top illusion is the fact that by working hard you’ll get a nice certificate. By this you’ll enter Ivy League universities. With the university degree you will land a job in the top 5% pay percentile. Then you’ll have a nice house and a seaside villa, a university-hooked sweetheart and a hot mistress and you’ll send your kids to the best private school in town in one of your 3 Ferraris. During your 14 days vacations per year, you’ll go surfing in Hawaii and have a blast like there’s no tomorrow. Wake up mate. Wealth, power and influence is another game. And it’s not like if you nipped yourself in the bud personally, you’ll have the faculty to discern.
“But Abdur, the French educational system is a great one.” Yes, indeed, it’s a great one. For whom? For France, of course. At the end of the cycle, it seems, and I hope I am wrong, that students in colonies and former colonies end up like guided minions, aligning their dishes with Paris, ready to receive, with eagerness, whatever their overlords over there will beam.
Make no mistakes dear friends, I eat tartine in the morning: sliced baguette, with butter, jam, and even marmelade. I enjoy all sorts of coffee and even special cheese at the end of meals. I speak French, needless to say. But, this does not mean that I have an internalized over-glorification of France in my mind. I don’t see la mĂ©tropole as the epitome of perfection at each turn of the conversation.
My French friends even refer to the French educational system as “Ă©ducation nationale pourrie”. But, people from outside France see it as the world’s beacon. Injected with France’s gloriole and dependent on a specific setting, they cannot fathom further studies away from the hive.
Oftentimes I see our neighbors in Reunion comment on the uncultured Mauritians on the net. As the French system teaches art and biased, polarised philosophy, brainwashed products look down upon other people. People can study silly topics for long enough, develop respect for people producing silliness, and listen to people certifying silliness as grand, it is their wish. As for people who don’t worship crap, they congratulate themselves on the lack of it in their lives.
As a way to dissolve surrounding societal structures, students of the system are taught l’analyse critique, to rethink, and question assumptions. A critical and inquisitive mind should also be used on France, its beloved educational system, how it maintains itself as one of the world’s top weapon exporters, how it still derives its power and influence, and the horrifying, despicable, shamelessly bloody, forever stained history behind gifting this educational system to various parts of the world.
Once I proposed to include the French flag in the French README of the Python docs. The main maintainer did not want to. He said that French is the language of people speaking French, around the globe and not the exclusivity of France. It’s good to see people maintaining an inclusive spirit and putting everyone on the same pedestal. People in the French system outside of France in contrast see it as their duty-bound mission to roll out their tongues as the red carpet on which French icons tread as haughty aristocrats.
I sincerely hope that regular trips and activities and rigourous standards are not treated as grounds to preach with pride. Educational systems around the world are wrecking humanity, the French one included. They are failing in the self-assigned role of upbringing. They are at best, very dutiful in producing moulded workers. They don’t care about the collateral damage to the human psyche or desirable human qualities.
“I feel that there’s a subtle question that is not answered though - what are the characteristics of a good educational system and why?” Well, do we need education or do we need an educational system? When there is mass production, a natural occurrence is rejects. Now, when mass-producing animate products, the trauma is upon life.
Since education is done through a system that everyone has to pass through, and that too for a decade, it ensures that everybody has the same treatment for a long time. This contrasts with the diversity of human profiles. Unfortunately, people can’t be molded into perfect, finished robots as they won’t give up part of their profile to fit the system’s vision. Many people just switch off their receiving end and cruise through the system without absorbing anything.
With the system in place, it has become like a robust funnel. Whatever ill there is in the society, it ends up through school friends in a person’s life. There is no need to wait for people selling hazardous products on the streets to initiate students. Friends and regrettably now, teachers sell health-damaging products on school premises. Even if a student only goes to school and back home, with no additional trips, it is sufficient to lead a broken life. It is happening around us. This is why today it’s a shivering statement to put the educational system as one of society’s worst ills. We hope it’s not the worst evil as it’s mandatory, compound, and severely damaging.
Is it good to keep dogs in cages with some food during the day and release them at night? I don’t know about dogs but surely I think that keeping human beings in cages from 08:00 to 14:30 with some food and then back into the cages again until dusk is bound to routinely erupt. Maybe some people like it but not all. Man is a social, physical creature that ensures its survival by moving around. The system of forcing everyone to sit on a chair for hours on end is bound to generate hate and dissidence.
Educational systems view books as a fundamental teaching tool. It has to be the focal laughingstock of contemporary pedagogy to feed books to children as early as 6 years of age. Man is intelligent, curious, and understands quickly. But, forcing pages down the throats of youngsters shows the superimposition of an adult mind on the workings of a nascent organism.
An educational system, if there is one, should serve the needs of society. With the current one, society bends to the whims of the system. Responsible parties plan their daily schedule and yearly plans according to an inherited system that obliterates the individual and was not conceived to help society achieve its goals.
We need education, but not an indiscriminate educational system. There is a mandatory part of education that should be imparted. Education should also be centered around man, not the movement of matter. Home is the first school. We should cater according to desire. And we surely don’t need an overdose of education.
“A mediocre performance I fear, is the just retribution for a mediocre system” Just like we don’t waste time with foolish people, similarly, if a system is foolish and takes us as fools, we don’t invest our resources with it. If we are legally bound to do so, we invest an average amount of resources. Kicking academic excellence out of the door for teens might be, sadly, a good bet for kids’ future.
There is a difference between man’s child and that of animals. A man’s child is not ready to hit the road straight out of birth. Its functional abilities reach a stable level years later. During this time and after, care should be devoted to upbringing. They should be inculcated with great values, awareness of their environment, and social skills.
The current educational system has set education as a teen’s life goal. Its curriculum is filled with everything but what relates to man’s upbringing. Parents should bring up the child I hear you say, but, the system takes up so much time that no time is left for upbringing. And it sucks so much energy that a child is drained when reaching home. And this sick routine as early as 3 years of age, holidays included.
Is the curriculum geared toward financial success? No, it does not teach about economics as a foundational topic or managing money or wealth creation or studying how people hit millions and billions. It seems tailor-made for people to be employees. And people think that it’s good to excel in a system that is preparing you to work hard for someone’s else economic success.
People leave the educational system as uneducated animals. They know how the environment works, and what exists in the world, but they are uneducated as to how they should act in society. Education also includes practice. If in pursuing ‘education’ you never respected elders, then you were never educated in terms of respect.
To excel in a system, you need to devote focus, time, and energy. You invested so much in a system that leaves you deprived of good moral grounding and excellent human character. You take care to prepare for exams as you know great results don’t materialize out of thin air, but, you rely on society’s hazy hangover to become a wholesome human.
As the educational system completely does not care about man and his standard of life, it’s the responsibility of parents to ensure that family ties are maintained, that cooperation exists in a society, that a child returns good for the bad, is altruistic, and knows about good and evil. To do that, if we have to invest less in an educational system, it’s worth it.
If we don’t invest in man to become good, material investment will turn out to be wasteful or harmful. People in control of powerful technologies will be selfish and people, while abandoning their upbringing for ‘education’, turn rogues, will demolish the very advanced infrastructure everyone has been working to further.
Good, wholesome and competent people bring out good, wholesome and competent systems.
When parents prepare food for their children in the morning before going to school, they are in fact raising vicious vipers that will bleed their hearts many times in the future. When parents click pause on all life activities and dedicate their children solely to the altar of the current educational system, they are breeding compassless, apathetic, stress-drowned, morally derelict, and dangerously feral creatures that bite the hands of their feeders first and foremost.
We identify trees by their fruits. The current educational system produces what kind of human beings exactly? Students act like properly untamed and uncouth individuals. They display a complete lack of manners in class, trying their utmost to render the life of educators hell. They engage in hair-raising behaviors outside of classrooms. They do exactly what they want. If ever teachers or anyone try to stop them, their windshields get shattered or recently, they just get beaten by a mob outside school. These are routine occurrences. Everybody just leaves them to the sacred job of rotting their lives further.
The current system takes it upon itself to break the bond between parents and children. From an early age, children are made to attend time-filling sessions filled with gibberish rather than stay with their parents. Parents entrust their children to be reared by the population’s children, which gets progressively atrocious. Back home they have to deal with children raised by others. It’s heart-burning to see children, as a direct consequence of going to school, treating parents like dirt.
The whole track is designed for these ungrateful goblins to be financially dependent on their parents for years on end. Tolerating and absorbing their constant deep clawing, parents hope that one day they will realize and reflect on their behavior once they get a job. They also hope that they just won’t forget them, especially if they took loans to fund university. But, how many morally-deprived children do we hear just disappear abroad after studies?
People were dependent on society’s good morality to reflect on the system. But, with the nuking of the concept of morality globally, coupled with the babysitting of kids by the internet, no parenting safety net exists. You have to be good at parenting against a system that tries hard to rot your children. It’s like dipping clothes forcefully in the mud then trying to wash them and so on for one whole year.
Parents who have been through the system unbelievably forget about its darkness. Like birds breaking free, the newly found freedom makes them forget their time in cages. They send their children to school once again, stupidly hoping that the coolness of their eyes will turn out to be all right without any upbringing.
Needless to say, seeing the thankless, repulsive, demoniac attitude of children, people don’t want to have kids. This in turn leads to bodies begging people to rejuvenate a constantly aging population.
The educational system offers flat poor role models. Many of the people glorified snugly fit into the depths of the dustbin of relevance. Though the system ditches the human side of things, it bizarrely glorifies scientists and mathematicians. These fleeting references to humans in a human system are a joke to human values and the selections are oftentimes inadequate in relation to the field itself.
It’s great time that Pythagoras and Euclid are booted hard out of textbooks and buried deep in the graveyard of embarrassment. Who was Euclid? We simply don’t know[1]. Was Elements written by Euclid? On Part 1 Definition 1, you can read “This definition may or may not have been in Euclidâs original Elements. Many parts of the Elements have been added since the original version. Indeed, all of the formatter including the definitions, common notions, and postulates may have been added after Euclid.” [2]. A literal shame to be in a textbook. Unless it’s for showing the superiority of a culture rather than objective, efficient study.
Pythagoras is another pitiful disaster. “It is difficult to distinguish Pythagorasâs teachings from those of his disciples. Pythagoras himself likely wrote no books, and Pythagoreans invariably supported their doctrines by indiscriminately citing their masterâs authority. …, and the Pythagorean theorem for right triangles) were probably developed only later by the Pythagorean school. More probably, the bulk of the intellectual tradition originating with Pythagoras himself belongs to mystical wisdom rather than to scientific scholarship.” [3]. No comments are needed.
A great, relevant embodiment of this whole circus should have been Von Neumann. Students should have been taught his life as the personification of this whole saga. He was a beautiful avatar of the system: a dazzling employee, excelling in studies, inventing lots of stuff, and accomplishing the goals of the state brilliantly. He was a mega master of disciplines. But, he is surprisingly missing in high school textbooks.
Von Neumann knew disciplines as we do now, not some primitive field figure. He was into extensive maths, quantum physics, computer science, and even chemistry. If there were Nobel prizes in his time for maths, computers, and economics, he would have won those. The last genius put his knowledge to modern butchery, being the leading mathematician in shaped charges, contributing significantly to the atomic bomb, and overseeing calculations as to death tolls, detonation distance, and blast radius of Hiroshima and Nagasaki. He was also a founding father of the hydrogen bomb. He won the Presidential Medal of Freedom for these works. In his last days, worried about the afterlife, he accepted Christianity.
This is your life story. Excelling in studies with no life aim, being a brilliant employee, furthering the immoral aims of nations, winning freedom medals, and then pondering reality as death looms. Don’t be the next Von Neumann.
It’s a jaw-dropping fact to note that despite a humanistic-dominating worldview across countries, the educational system has exhibited a remarkable degree of impermeability in teaching good human character.
Some nice-to-have human principles are appreciated universally. When children respect parents for example. Or being helpful, maintaining good relationships, feeding the poor, being honest, sticking to agreements, not cheating in business, acting the best with family members, being truthful, caring for the orphans, and joining together to accomplish the same. Nowadays, even the very basics are in need of dissemination due to erosion and re-questioning.
It is not sufficient to delegate the responsibility to intuition to arrive at these qualities. Man forgets often and needs to be reminded. Enough reminders are an encouragement to shift the balance, forging parts of the personality. This formation should be shared by everybody. Parents at home, friends we hang out with, colleagues we work with, and strangers on the street.
Society currently relies on randomness to produce good citizens. After passing through the educational system, people took from the good like a leaking basket, feeding themselves a miser’s meal. Then people complain when rulers are corrupt, the administration is inefficient, partners cheat more than enough even in open relationships, traders sting and we are apathetic to hunger.
People are ready to blame a decaying society, including health on everything except what they sowed with their hands. Schools are your regional tavern, gambling house, drug den, whore house, and chamber of horrors all in one. People in my country should verify these statements one by one. Setting foot in even one of these places is sufficient to be doomed. This means that a child is surrounded by drunkards, gamblers, drug addicts, whores, and psychological abusers. To come even clean is a miracle.
We follow people we take as friends. Bad companionship is like hanging out with a blacksmith. Even if sparks don’t burn your clothes, you and your clothes will drink smoke and stink.
It’s the individual responsibility of everybody to share good advice. If humans are good, society will be a nice place to live and people will look forward to living. Else people will envy the inhabitants of graves if only they were friends with them instead of living with arc-demons in a hellish reality.
killedbygoogle is such a signature move that even Google Cloud CEO, Thomas Kurian, got jarred trying to announce Gemini for Workspace on Twitter.
Thomas Kurian: “We’re introducing a new offering called Gemini Business, which lets organizations use generative AI in Workspace at a lower price point than Gemini Enterprise, which replaces Duet AI for Workspace Enterprise.”
Sacha Sayan: “Hey Thomas, can I pay for it with Google Pay in Google Wallet, which replaced Google Pay, which replaced Android Pay, formerly known as Google Wallet?”
Sacha Sayan: “If not we can jump on a call and discuss billing. I’ll send you an invite on Google Meet, the enterprise Google Chat, previously Duo, which replaced Allo, the replacement for Hangouts, the rebrand of +Hangouts, which replaced Talk and Voice.”
Michael Parker: “Just to clarify do you mean you’ll send an invite on Google Meet, or Google Meet (original)?” (Two apps on the Play Store)
Sacha Sayan: “Great question Michael. As a Google Workspace user, formerly GSuite, otherwise known as Google Apps for Work, previously Google Apps Premier Edition, aka Gmail for Your Domain, which would you recommend?”
I get it that hashtag#Google guillotines cashless cows, but, the product department looks like a distributed system aiming for eventual consistency.
Google’s graveyard currently lists 293 items, the majority of which are services.
Hardware customers are the unfortunate ones, scratching their heads over dead devices.
Thread: https://lnkd.in/dEUagM6w
Rust always felt hypy. For the simple reason that if you try it, it leaves an unsavoury aftertaste which comes as a surprise not tallied with marketing. It’s like a super-energy food which just has a bad mix of ingredients. Here we have the person who oversaw the introduction of async/await into the language. In a beautiful piece about Async Rust, he explains how marketing shapes features in Rustland.
“In early 2018, the Rust project had committed to the idea of releasing a new âeditionâ that year, to fix some of the syntactic issues that had emerged with 1.0. It was also decided to use this edition as an opportunity to promote a narrative around Rust being ready for prime-time; the Mozilla team was mostly compiler hackers and type theorists, but we had some basic idea about marketing and recognized the edition as an opportunity to get eyeballs on the product. I proposed to Aaron Turon that we should focus on four basic user stories which seemed like growth opportunities for Rust. These were:
This remark was the jumping off point for the creation of the âDomain Working Groupsâ, which were intended to be cross-functional groups focused on a particular use âdomainsâ (in contrast to the pre-existing âteamsâ controlling some technical or organizational bailiwick). The concept of working groups in the Rust project has morphed since then and mostly lost this sense, but I digress. The work on async/await was pioneered by the ânetwork servicesâ working group, which eventually become known as simply the async working group (and still exists under this name today). However, we were also acutely aware that given its lack of runtime dependencies, async Rust could also be of great service in the other domains, especially embedded systems. We designed the feature with both of these use cases in mind.
It was clear, though usually left unsaid, that what Rust needed to succeed was industry adoption, so that it could continue to receive support once Mozilla stopped being willing to fund an experimental new language. And it was clear that the most likely path to short-term industry adoption was in network services, especially those with a performance profile that compelled them at the time to be written in C/C++. This use case fit the niche of Rust perfectly - these systems need high degrees of control to achieve their performance requirements but avoiding exploitable memory bugs is critical because they are exposed to the network.”
– withoutboats, https://lnkd.in/dEbNU26F
The pressing need for industry adoption might explain the entire culture around the Rust userbase.
Modular monolith, an incredible twist in architecture. I was pleasantly surprised to encounter this term and view its applications. A monolith has been traditionally viewed as being unmaintainable with difficulties for teams managing features.
A monolith centralizes features and reduces the whole codebase into one unit. Features are all together and teams work across the codebase as they have to touch everywhere to implement features. Running the whole codebase runs every feature.
People have been thinking of isolating features and abstracting them into their own services for better organization and redundancy. But, they soon presented their own challenges, including complexity. Blindly migrating to microservices was a “mistake” apparently.
Google now offers serviceweaver, which is a modular monolith framework. “The main advantage of components is that they decouple how you write your code from how you run your code. They let you write your application as a monolith, but when you go to run your code, you can run components in a separate process or on a different machine entirely.”
As to whether turning to monolith is a wrong turn, serviceweaver answers: ” Service Weaver is trying to encourage a modular monolith model, where the application is written as a single modularized binary that runs as separate microservices. This is different from the monolith model, where the binary runs as a single (replicated) service.
We believe that the Service Weaver’s modular monolith model has the best of both worlds: the ease of development of monolithic applications, with the runtime benefits of microservices.”
Nice paper Ruoyu Su and Xiaozhou Li, but reference [1] seems super vague to me. Nothing specific to see where you concluded that.
A cell-based architecture is real candy for enterprises. I sense it is a great Kubernetes companion. A cell-based architecture is traditionally introduced like compartments in a ship, containing water or fire spread. The cell contains damage, preventing disruption of the entire system. Services are designed to be autonomous and message-driven.
A cell consists of components. These can be monoliths or microservices or whatever. A cell is independently deployable, manageable, and observable. This is great if you ask me. Each cell has a control plane and a data plane. They can communicate outside with each other using a sidecar via a cell gateway. Communication planes inside a cell are called the local mesh and the communication planes outside the cells are called the global mesh.
The components are grouped by key elements or functions which can also mirror an enterprise’s team structure.
A cell can be scaled as needed.
Databases can occupy a cell or each cell can have its own database.
With pool architecture, each cell can have its client. This seems like a dreamland concept for Saas founders. Each client starts with a basic cell which can be scaled appropriately, with a consequent initial cost though.
Architecture reference: https://lnkd.in/dvPwQvVH
Preparing my first course on Enterprise Python for, fortunately, a Mauritian company. When choosing Python as one main tech, knowing Python engineering or how the industry currently operates Python projects is a great boost to efficiency, automatically takes away pains, and increases team collaboration, making switching teams seamless.
My first exposition to the Enterprise Python concept was through a beloved friend Mahmoud Hashemi, Ex-paypal lead. It was deeply profound, with counter-intuitive practices. For this company, I am topping with my own experience, both industry and OpenSource.
Python is easy to pick up, but, as with all tech, some superpowers enable us to surf development deadlines and enrich the programming pleasure index. Python has a gazillion ways of doing things in terms of packaging for example. Good Python engineers are aware of the whole landscape, keep up with recent enhancements, and most importantly ensure spotless clean usage.
There are also hidden gems to be aware of, PEPs that got accepted but not enhanced for a long time. There are packages that build up on those PEPs, providing awesome, stable solutions tried in big tech.
Enterprise Python is beyond programming practices. It’s about being pro shipping and maintaining great Python projects, smashing tech stack dead ends and finely sculpting unheard-of, robust solutions.
Doing that for a Mauritian company is extraordinary. But, the Python ecosystem seems to be growing in here based on merit. If Python is rocking the programming craft to and fro, it’s conceivable that the shockwave will hit our shores sooner or later.
Uber released Cinnamon, a load-shedder (Using Century Old Tech to Build a Mean Load Shedder). While a load balancer balances loads across servers, load shedding prioritizes important requests and drops less important ones. Well, a load balancer can have surge queues, but a load shedder has far more appropriate elements. This fits in the concept of graceful degradation, where a system reduces its performance predictably rather than go bust abruptly.
Uber previously had the QALM framework, but, it had quirks. It required configurations which meant that for the thousands of services, values had to be set, and that too routinely as these get outdated. This means lots of man-hours lost. Also, these values were not optimum often. Cinnamon in contrast requires no configuration, has low latencies, and adjusts load-shedding dynamically. Also, in contrast with QALM, this one has priority propagation, and service priority could be tagged.
Cinnamon is implemented as an RPC middleware, with priorities having 6 tiers (0-5) and a cohort value (0 - 127) where 0 is the highest priority. The component sits behind business logic, dropping requests where needed. Requests pass through a priority checker, rejector, priority queue, scheduler and timeout component with 2 background services: the PID controller (minimize the number of queued requests) and auto-tuner (maximize the throughput of the service, without sacrificing the response latencies much, using a modified TCP Vegas algo).
The century-old tech is the idea of a PID controller, originating as early as the 17th century. They took inspirations from:
Cinnamon is being rapidly adopted due to it’s performance but also ease of integration and use.
DoorDash implemented a multi-layered cache to homogenize caching across all services (How DoorDash Standardized and Improved Microservices Caching). Caching has its twists which teams have to solve when each one implements their own. Oftentimes they all face similar challenges.
Doordash teams most commonly use - Caffeine, a high-performance in-memory Java library (for local caching) - Lettuce, an advanced Java Redis client for thread-safe sync, async, and reactive usage (for distributed caching) - HashMaps But, as these were not caches as such and each team had to write caches from scratch, caching problems like staleness appeared, and each team chose their own key schemes, which also made observability less accessible.
They tested the new cache on the DashPass backend, which was also experiencing spikes. When it was successfully tested, they deployed it everywhere. They set up a single code interface CacheManager, with a suspend function withCache to standardize caching APIs. With a multi-layer cache, if a key is not found in the first layer, it is searched until the source of truth (SoT) is reached. Once this is done, the key is inserted in the first layers to reduce the need to reach the SoT.
They implemented 3 layers: - Request local Cache: Uses HashMap, for the lifetime of the request - Local Cache: Uses a cache made of Caffeine, accessible within a JVM - Redis Cache: Uses Lettuce and accessible to all pods sharing the same Redis cluster The suspend function (withCache) is the intermediary between databases and services and the layers (suspend -> Redis -> local -> request local).
Runtime control was also introduced to switch off layers, useful in the case of a bug for example and to enable cache shadowing at a particular percentage. Since all caching uses a single interface, metrics are built in to measure cache hits and generate logs on misses. Using a shadowing mechanism, fresh cache entries are also compared with the SoT. Staleness is measured by the latency between cache updated and cache entry creation, critical for evaluating invalidation strategies.
Codewise, each cache key has 3 components (abstract class CacheKey with 3 components): - unique cache name - key type (to categorise keys) and key type id - configuration (as CacheKeyConfig)
A key is referenced by cache_name->cache_key->cache_key_id, across all services.
I heard the most poignant darts for engineering success from Suhail Patel of Monzo Bank. The team at Monzo runs 1000s of microservices on the cloud with tools like Kubernetes. It’s a spectacular feat for banking, tech’s most dinosaur industry. This also means that they operate sparkling, seamlessly performing systems as money is a very, very serious matter.
The first thing that strikes me is knowing your investments well. They chose Kubernetes when it was still around version 1.0. They even had dead endpoints due to an etcd compatibility issue. And, needless to say, at that time there were very few resources on the planet about k8s. This prompted them to be really good at knowing Kubernetes and its eccentricities. That knowledge has paid off handsomely over the years. They kept that spirit with Cassandra as well, when a bad config meant stopping reads and writes to the cluster. They decided to deepen their understanding of it as well as their operations through production runbooks and practice. After this incident, they decided to generalize this approach to their systems as a whole. A tech stack has to be chosen carefully, and, when you adopt a tech like WASM or any hot tech, without the required level of investment, it ends up in disaster. If you are not prepared to invest, better choose boring techs.
Kubernetes YAML is nightmare spelled in reverse. Just kidding. Though they aced Kubernetes for example, they also realize that not all engineers are going to be K8s PhDs. They work much to abstract platforming problems so that people meant to solve business logic can do so easily. They even generate infra codes when needed and engineers don’t need to write K8s YAML except when doing something really not standard. They automated deployment, with steps engineers have to follow, pre-push hooks, and automated checks. Engineers worry about code, rather than platform.
2.5k services means that you have to be consistent with the overall setup so that engineers can find themselves in familiar lands in terms of structure and patterns when switching codebases. They take onboarding very, very seriously. They invest much in the experience. They teach people deployment, services structure, legacy patterns, and blacklisted items. They update the onboarding to reflect changes in infra and tooling and work to ensure consistency across all services, refactoring where needed. They also ensure great maintainability, checking off issues so that new pull requests are shown failing checks only related to the code they touched. They have a channel where engineers post about their optimizations. The net effect is that teams are enthusiastic about code and tools upkeep.
They also invest a lot in a high-quality observability stack. Since services are standardized, each new service deployed instantly gets a dashboard with metrics filling in. This is super useful for alerts and quickly identifying root causes of failures and even hotpaths.
Jaeger (2017) is a classical tool for distributed tracing invented at Uber but used well outside it. It integrated Dapper-inspired traces (Google, 2010). It’s a Cloud Native Computing Foundation (CNCF) graduate project (2019). Distributed tracing involves following a request and the time taken for each step across services. Jaeger (ËyÄ-gÉr) comes from German for hunter or hunting attendant (Jochen KirstĂ€tter can help us pronounce it maybe). Its crafting comes off as gradual improvements to a Zipkin-like clone, which is another distributed tracing tool.
Distributed tracing works like this. Let’s say we are recording a transaction. The whole recording of it involves several services.
A transaction involves passing the data through the 3 services.
Jaeger will record the time taken for each step as well as the return status. But, of course, if we record every single request path step, we will record a lot of data, most probably more than the system is generating. For this, a nice strategy is to sample the traffic, which it does. A span represents a logical unit of work in Jaeger that has an operation name, the start time of the operation, and the duration. A trace consists of spans.
Jaeger’s predecessor is Merckx, which worked great for a monolith. It stored tracing data as blocks, and users could query the data. It also shipped with a UI for visualizations. It traced calls to other services, databases, and Redis queries but could not go one level deeper, lacking distributed context propagation. Also, data was stored in global states.
Uber began developing a network multiplexing and framing protocol for RPC called Tchannel. Tracing was specified in the protocol. Since they did not know tracing well then, they integrated with Zipkin. They had tchannel clients sending data to a collector which sent data to a Riak/Solr backend and they used Zipkin for UI and query. Since the backend experienced scaling problems, they switched to Cassandra, a db they had experience with. Clients implemented the OpenTracing API from the start.
Zipkin was good but lacked good instrumentation outside of Java/Scala and had a fixed strategy. Jaeger implemented a responsive sampling strategy. By now it had its own query service and UI, with the first versions still using tchannel. Later on, reporting was done via UDP.
Jaeger at first had its own set of client libraries for instrumentation but now these have been deprecated and OpenTelemetry libraries are recommended instead.
The all-in-one version includes jaeger-collector, jaeger-query, and jaeger-agent.
I am not interested in reading the Guardian, except for its engineering blog, which is published as a regular news article. I was looking at how they improved their breaking news notification service for their mobile app to reach the 90% audience in 2 minutes (90in2) target.
They had a token to topic database, which corresponds to devices and subscribed topics of users. The database is sharded to optimize queries to find tokens, specially useful for heavily-subscribed topics. When an editor decides to publish a breaking news, the notification is triggered from an interface and sent to a Scala Play app. A routine job counts subscribers/topic to optimize sharding. For each shard to query, a message is sent to an Amazon SQS queue, then an AWS Lambda function (Harvester) is triggered to query the db via many queries and receives a stream of tokens for the topic. These tokens are inserted into SQS queues, grouped by Android or iOS. Then functions are triggered to send notification delivery requests to readersâ devices.
As the current engineering team never touched the system before, they decided to enhance observability by structuring logs in the ELK stack. Through Kibana, they saw that the Harvester was performing poorly due to db errors and lots of retries. Each function required a db connection and the db could not handle many concurrent requests. They set up connection pooling through AWS RDS proxy to control the amount of connections.
To reduce SQL query time, they replicated the amount of data in production (few GBs) and used pg_stat_statements to track the plan. AWS Read IOPS informed that queries lead to lots of reads. They also noticed that due to dead rows from earlier snapshots, the tables data was taking more space than the actual data. Even though they had autovaccum on, they applied a full vacuum (this one was easy to catch, right?). This reduction in storage also meant that reads were faster, leading to the database being able to accept more Harvester connections. They also upgraded the posgres version for performance and price reasons as the AWS Gravitron 2 offers 40% better price performance for pg12 and above. To ensure a smooth migration, they setup another dataless db with the same schema and logically replicated the data. When the 2nd db was populated they switched over.
Next, they reduced the time taken by worker lamdas to deliver tokens to Apple/Google for delivery by increasing the Scala thread pool size and increasing the memory dedicated to each Lamda execution environment.
They used a data-led approach, reverting when necessary. They developed theories, carried out experiments and retained the successful ones. They also learnt the lessons of how small, isolated changes can contribute to the goal.
Freelancing is different from office work. It needs rigor and professionalism. It might be the same work you do at work but more is expected from you as you don’t have the company or co-workers to cover for you. Here are some basics for office workers.
The first thing is to give updates. It is crucial for people involved to know where you reached, they don’t wait until deadline day to discover that you did not do anything. Even if you delay due to legitimate reasons, it’s a bad surprise. Giving continuous updates also helps tune expectations. It also builds a case for paying you more and give them an idea of what the work is really about. It reduces a lot of anxiety when people know a project is alive. Would people want to deal with someone again if the person has been giving them weeks of anxiety?
The second thing is 1. to deliver and as a bonus 2. deliver well. If you don’t depend on freelancing for a living, you’ll consider 1. only. That’s because your reputation and kitchen do not depend on the work done. Freelancing requires you to be conscious of people after you. It might be a random someone from a different part of the world. So, ensure the docs are great and standards adopted are sensible. It also means going above what they asked if you see they missed something interesting that might help them. You need to give them the sweetness of doing business with you once again. If you depend on office work and this is a side gig, you probably won’t see the logic of it as you cannot do that in office work, you’ll burn out as office work is continuous work. Freelancing is often a one-time affair.
The third thing is to please the client. If they insist on something or a convention or a way of doing it or some diligence, please do it. You can suggest alternatives, but, if they decline, please comply. Freelancers are oftentimes a piece of puzzle, if the piece does not fit, well this is frustrating. The client carries the burden of the app before and after you. They sometimes craft a setting that allows them to deal with the app. They won’t change their setting with each new freelancer.
The fourth thing is speed. Ponder if you can do it. While the industry is still doing agile and planning and pokering around, pro teams of freelancers take down projects in swift moves.
So, that’s my first time getting an invite for a conf. Thanks, Python Software Foundation for thinking about the community and Chukwudi Nwachukwu from the Python Grants Team! Penning down my experiences to help people.
When I first received the email, I was still thinking. This year I had the idea of going to PyCon US as David Lord proposed FlaskCon at the hatchery program. FlaskCon was going to have its first physical presence. On the other hand, going to the US is well, very far and very, very tiring. Pittsburg is further inland. And plane travel is super tiring. Once you fly, twice you fly and then you are like is that the fastest the place can go … . Considering the year and the opportunity I said yes, it’s worth it to attend.
Except that I was super clueless about visas etc. Pinged LoĂŻc Forget as he likes to travel to Austin. Gave me a few tips. And then I saw that Visas are applied online. Cool, except that hum, looks like a website straight from the 90s with contentful info.
Spent some days checking what’s about the visa, criteria and the Rs8500 needed XD. Tried a mock application and then let the application sleep (you are given an application number by which you can save and return to your in-progress application), still figuring out how to deal with airfare - visa, and in what order should i proceed. We decided to have a meeting and had a brief about what we understood about the visa. We decided to complete the visa process as soon as possible. I remember some 21 days written for processing. Since the conference is in May, makes sense to speed things up.
To be continued …
Mauritians are steadily garnering a dubious reputation in the freelancing market. Mostly due to people looking to make some quick bucks alongside their main job. They are in a period of their lives where they need more money as expenses suddenly rise. They are in for the money and disappear once they get enough. Needless to say, they incinerate their reputation, our reputation as Mauritians, and the reputation of the poor Mauritians who trusted them.
For the past 3 years, I have been collecting lament stories of Mauritians who were kind enough to trust Mauritians with freelancing work for foreign clients, only to be slapped hard in the face. These people don’t deliver. Some even provide them with rs100k laptops to work but to no avail. The employers are kind enough to pay them even then …
This is why I say that freelancing is not office work folks. A real freelancer is often a one-man business or small company, dedicated to his craft, with sharp skills, and conscious about his reputation. He knows the ins and outs of the tech stack and has been doing this for some time. He has also been interacting with customers, planning projects, and estimating deadlines. A CEO, PM, Scrum master, engineer, team lead, marketer, all in one. You don’t get this by hiring an irresponsible side-gig seeker or a hit-and-run opportunist.
Good, strong engineers do deliver even if they don’t have freelancing experience. Choose your deck wisely. So, like set up short interviews for freelancers or have an internal checklist. I hope to share some hiring tips in another post.
But please, if you are looking for freelancers, don’t just book anybody who knows a tech stack.
My blog post about fiducial markers [1], particularly the AprilTag papers led me to a chat with Dr. Murat Dogruel, Professor at Istanbul Sabahattin Zaim University. He presented me with a system supporting the 6 degrees of freedom he developed that might be manyfold better than AprilTag. He gave me permission to talk about the system in public for the first time.
Fiducial markers are markers recognized by systems visually, containing information that the system can use. In the case of a robot, a marker meaning pause, when read, will cause the bot to pause in its path. A QR code can act as a fiducial marker, we just encode some text. However, for robotic and industrial purposes, more performant markers are used that are fast and operate in bad conditions.
The system is really good, with documents presenting tests against AprilTag. In tests conducted,
Below is a demo of a hand drill changing orientation. Notice how the system (masked by a white square) accurately reflects the drill’s position.
Refs
Since the internet is anonymous, your LinkedIn connection might be Elon’s dog typing away behind the screen. Here are some tips I use to evaluate freelancers.
Since I code, I check their code. Don’t believe people recently shtposting on GitHub. A GitHub account is a great asset for a freelancer. If they have well-maintained code over there, this gives an insight into how they code, what they use, how they operate, and maybe even how they deal with people. Contributions to projects are very interesting, if they contribute to the tech stack you are looking for, even better. Maintaining an average Github profile helped me land >rs1M. If they have hobby projects glance and move on to other metrics.
If they have blogs, I like to see what they write about and the depth at which they go. The more technical the better. It reveals
Next, I see their overall social activity if they don’t have a personal site. Just to see some technical insights.
Then I see their showcase if any, what projects they tackled, case studies if any, and customer testimonials. These are of course metrics for people already freelancing.
At the end of the day, I just look for people who can deliver fast. Those two words are important. Deliver and fast. If I cannot guarantee fast, I choose people who can deliver. A strong engineer or someone with experience in the tech can deliver. If they are used to freelancing, they’ll deliver fast. The fast aspect is also important.
The hardest part of going to the US I bet is the visa application process. It’s a 10-page form with various kinds of questions, much like a multi-disciplinary Olympic track which includes archery, skiing, and shooting. I travelled and applied for visas before but the US visa form is interesting.
First of all, you need to solve a captcha and be given an application ID to complete your visa later, pretty standard procedure for countries with long visa forms. The UI comes from the 90s but is very functional.
The visa type was quite surprising. There are no traditional straightforward tourist, business, or study types. There are B1, B2 and I don’t know what kind of weird letters. We figured out we needed a B1 visa which covers tourism and business.
Of particular note, I noticed that the picture in the form requests to be how you are in everyday life. It is mentioned that if you wear headgear, you should include it. If you wear glasses, the same. This I guess hints towards the open culture America has. This is different from the picture that you have to submit physically which requires to be in passport format, without glasses. For the first one, I took a smartphone picture with a uniform background and passed it through a software online transforming the picture to a passport-size ratio.
The visa also asks about companions traveling with you and the organization paying for the travel. Must tell Mariatta Wijaya or Ewa Jodlowska or Laura Graves to put the PSF address and phone number on the website as we had some trouble finding them. Then it also asks traditional infos like where are you staying at etc. They also ask about your financial details.
At the end, it gives you an application confirmation PDF which I downloaded. I’m glad I did as the UI to get it back is a maze and I just gleaned the submission ID from the PDF. Next, I needed to book an appointment. There is a separate system for appointments needing the submission confirmation ID.
There is confusion concerning Thursdays being reserved for other nationalities after clarification turns out that Mauritians can apply on Thursdays as well. Cool as the slot is usually free. I booked the earliest Thursday and it was all set. You can edit your scheduled appointment anytime to an earlier or later slot. Sometimes people cancel their’s, so you need to log in each time to check if you are in a hurry. Each time after booking, you have a booking confirmation number. Thanks, Lafleur Marie L for clearing the confusion.
Your booking confirmation number is needed to enter the consulate. This number also ensures you have a valid visa submission number since you need the latter to book an interview with a consulate.
Interview experience coming next …
Note: Penning attending a US conference experience to help anybody who one day needs to go to the US.
What if you are so good at innovation that you flop the boring basics? That’s the surprising story of Tesla. Suspensions have existed since the Stone Age of cars and perpetuated in good tradition. However, some users experienced snapped suspensions. One owner experienced it on the day he bought it, less than 24 hours, with extremely low mileage. 40 hours of labor later, yes 40 you read that right, and $14,000 later Tesla refused to cover the cost, blaming the owner. The company has a habit of charging customers with out-of-warranty cars to replace parts that Tesla engineers internally called flawed or that they knew had high failure rates.
In case you think attached wheels are the default for a car, Tesla owners are sometimes afraid to speed after several have had their front wheels fall off. Yes, you are driving and the front wheel decides that being in a car is too boring. Let’s innovate and go on a trip, that’s true innovation.
All is not so rosy on the marketing side as well. South Korean regulators forced Tesla to apologize and say that it misled customers about range. Musk and two executives publicly apologized. They also requested the “or longer” part to be removed from “You can drive 528 km (328 miles) or longer on a single charge.” on the website. The company was fined $2.2M after regulators found that the cars delivered 1/2 their range in cold weather. Authors of the study “Comparison of On-Road Highway Fuel Economy and All-Electric Range to Label Values” confided that three Tesla models offered the worst performance.
Cybertruck owners recently found that their pet was rusting. One owner saw an eruption of orange specks after 11 days in Los Angeles rain. Apparently, the trucks are not rusting but âstainless steel is reactive and free iron that sits on it will rustâ and could be cleaned easily. Of course, since Tesla does not come with clear coat, a typical solution for cars, you can buy a $5,000 urethane-based film, a Tesla exclusivity. Who said Tesla does not have the Apple spirit?
âYour Data Belongs to You,â states Teslaâs website. But reality is grim and spooky. Employees were found to share recorded videos of customers around the company. Employees see kids, people in intimate moments, even without clothes. When cars were having trouble reversing out of garages, Tesla took customers’ garage videos it had, labeled the data for its computer vision program and the issue was solved. This is in addition to its constant labeling of customer videos in the bid to ever improve its autopilot. The recordings Tesla says are anonymous. But faces, personal items, and neighborhoods are clearly identifiable. There was also a time when employees saw a submersible vehicle parked inside a garage. They were fascinated and wondered what and to whom it belonged. Turns out it belonged to the CEO of an EV company named Elon Musk.
The stuck pedal problem saw a massive recall, but brakes and pedals have been malfunctioning for some time …
PyCon US diary - Consulate interview experience
My interview was at 09:00 AM. I gathered the required documents. In my case, it was:
The consulate is located at Rogers House, 4th Floor, P.O. Box 544, President John Kennedy St, Port Louis. Yes, of course, it had to be at JFK Street. The website says embassy, there is an ambassador but mails say consular and you meet with a consul.
To go to the fourth floor, Rogers security has to see the appointment confirmation. Then it is confirmed via walkie-talkie. Then you are seated on chromium chairs, waiting to get into the elevator. I recommend going early, well before 09 00. I think I got in at 08:40. The interview is at 09:00 means you have to clear everything to be ready at 09:00. If you come at 09:00, the interview will be farther away.
Once you get out of the elevator, you need to speak up and tell you were first. Else people coming after try to pass in front of you. For me the security asked who was first, sometimes they don’t though. You need to be alert.
Then it’s like at the airport. You need to scan your bag, yourself and put metallic items in a tray. The security officers spoke English with me. Turns out they thought I was a foreigner. The building itself is like a matchbox.
Then you sit, waiting to pay for your visa. The lady at the counter took my passport, documents, and photo and kept them with her. You speak to her and her to you via speaker/mic. Then I got in a second queue waiting for the interview. I had to wait outside on seats near the elevator as there was not enough seating space inside.
For the interview, you enter into a soundproof wooden cabinet and talk to the consul via speaker/mic. She was nice. Mind you anything you don’t enter in the application form is not going to be missed. You’ll be asked about it. They asked about the background of the grant. Spoke about PYMUG (Python Mauritius User-Group), FlaskCon, and American relationship. She asked me about finance and related items. Also about my trip details. She was pretty much interested in Python and the community. It was really speedy. At the end, she said: Your visa is approved. Lol, she handed me a receipt that I paid for the visa with a time on it to collect my passport next Monday, saying I need to see this next time.
Then you just take the elevator and go out. Next Monday I came around 1 hour early to collect the passport. Thought I was going to be bored. But was great since the queue when it was time to enter reached the door of Rogers house. Then you collect your passport. Typically visitors get 10 years with a 6-month allowance in one go.
Dedicate some one and a half hour for each visit.
Note: Penning down my experience attending a US conference to help anybody who one day needs to go to the US.
With social media, one crucial forgotten aspect is owning your data. There does not seem to be a need for it when billion-dollar servers are storing the data. It’s worthwhile remembering the fleeting nature of social media.
Posts get buried down, sometimes stored only for a certain amount of time. Accounts also get banned, wrongfully or not. Others are simply shut down to save storage costs. The right to data exists but if you are banned, you are walled from your own content.
It’s a good idea to host your data somewhere, to have a copy and a reference distribution point for your personal content. It takes some effort but at the end of the day you get to present your data how you like it. And with the age of SEO-less content where content is assessed based on merit, your content will float around if it’s good enough, as value was the point all this time.
The main problem with owning your data is gathering a backup. Pulling years worth of data from platforms takes a lot of time. It’s great if the platform has an export option.
Personal branding is one powerful reason to own your data. A great distribution point is a powerful force. Thanks Jochen KirstÀtter for making me realize the need to own my data.
Tesla is one tech topic that has unconditional support. No matter how hard you point out some defects in it, people just love red cars. When I first began sharing my Tesla observations, people have been telling me that the info must be coming from Elon Musk haters.
They might be right, as Tesla has been experiencing resentment after the hostile and rough takeover of Twitter. But, there are some simple truths that are hard to miss. Like pointing out the fact that Tesla experiences routine problems that have been solved by carmakers for decades now. Like the front wheel falling off, this and that common part not working as intended, etc. A dear friend shared with me that the Tesla he drove had water leaking from the roof when driving in the rain which left his documents wet. I mean, this is a solved problem. I am not encouraged to buy the bleeding edge of cars for my patience to be massacred by routine, casual, ordinary, dumb issues.
Even people who encountered some Tesla issues are quick to defend Musk’s cow. Maybe this issue that one other person reported was not exactly like that. Maybe this did not happen or it happened this other way.
How did we get to this point? Maybe because they popularised novel features the right way? Maybe a lot of engineering went into it? Maybe the feeling is great when driving? Maybe. There are lots of reasons to love Tesla, but, when it’s flawed, it’s flawed.
Love is blind. Red love blinds.
MKBHD (Marques Brownlee) has an explanation for the Tesla phenomenon. He places the Humane pin and the Rabbit box at the apex of a trend that rushes unfinished products to the market in a bid to gather feedback and then deliver the real product. This also happens with games when releases are labeled as alpha with lots of bugs and glitches, even from big studios. Needless to say, the half-baked versions charge full price.
In the spirit of the current trend, Tesla launches cars with lots of glitches, bugs and undesirable corners. Then, the product is refined with million data points collected. The auto driving was promised and then shipped later.
MKBHD has taken on the task it seems, to call out this very spirit. The main crooks i think are investors. Entrepreneurs capitalize on trends fair, but, if investors weigh in immeasurably on a particular hype, then entrepreneurs follow suit to fulfill the entrepreneurs’ desire to see those products on the market.
The result: when landing in customers’ hands, disappointment follows as they were not crafted to fit product vision or target needs.
Well, in any case when going to the US, avoid Canada when passing through. You need a visa. Or, well, since now you know, you can book a visa. But, it takes time and money if I remember well.
Our route passes through England, which has two ‘near’ Airports:
If you don’t check well, you can have a flight which lands at Gatwick and takes off at Heathrow XD. You have to verify if you have enough time in between to take a coach or car. It’s ~1 hour by car if I remember well.
Then the next flight is from London to JFK Airport in New York. Then to Pittsburgh.
Time breakdown:
Total .............................. 22h 16min
Add to it waiting time etc and it already feels super exhausting.
That’s the raw travel time, excluding waiting times.
I will also visit somewhere else after the Pycon.
For that, I checked several flights from Google Flights.
Spirit Airlines seems the best. However, the website just won’t let me reset passwords or fill in details. The website is very good-looking but not functional at all. To avoid at all costs.
I choose United Airlines. Basic economy is good, no food. They scare you into buying economy, don’t fall for it if you don’t need to.
The catch: No carry-on bag in basic economy and a checked bag costs $35 with pre-registration. Avoid bundled offers etc.
You can also skip pre-registering a seat to save some USDs.
Here are some useful terminologies:
A carry-on bag is a bag fitting in the overhead compartments. A backpack is one fitting under the front seat in front of you. A check-in bag is your normal luggage.
Note: Penning down my PyCon US experience, I hope it helps one day.
PyCon US is held at the David L. Convention Centre, located in ‘downtown’ Pittsburg. The PSF got an agreement with nearby hotels to be booked during the conference at reduced prices.
When registering for PyCon, you have access to an accommodation dashboard. Not everyone found how to book through it though as it redirects to a booking site with a token lowering the prices (I guess).
You are encouraged to book through that as if not enough PyCon attendees arrive, the hotel might not consider striking a deal with the organizers again. People do book Airbnbs also.
We booked a suite for 3 / 4 persons for the price of one person. Since I am remaining for sprints (OpenSource stuff), I was looking into alternative accommodations for that time period, since the accommodation dashboard was closed by that time.
I tried going directly with Google Maps. Google automatically displays hotels and prices. I found 3 nights for MUR4k. A scam as when you go to the website no such price exists. Also, not all accommodations are shown on Maps. To avoid.
AirBnBs nearby were full. I needed something nearby as when you book within walking distance, it saves you … taxi costs. I looked at AirBnB alternatives to no avail. Finally one day I found one on AirBnB which was very cheap for 3 nights as maybe someone had canceled. Got the 3 nights for USD210. There are super cheap ones but they are far away from the convention center.
I also made the most stupid financial decision in my life. I previously booked an AirBnB for the 02nd of April instead of May. Around MU20K wasted. I related that to a friend who told me he once did that for a whole week when booking for a conference in Holland. I was notified of it when the host asked if I slept well …
The hosts had a strict cancellation policy and AirBnB leaves it on the host. Nothing to do as it was in the middle of the booking period. Lesson learned: verify what you are paying for.
Suites normally provide a kitchen, which is nice if you want to save costs buying outside food. Normally pictures are included, so you can verify where you’ll be sleeping.
You can save costs drastically by sleeping on couches when you are in a group but we decided to prioritise comfort and looked for apartments with beds as far as possible.
Note: Penning my US conf experience, hoping to help others!
We stayed at Embassy Suites by Hilton (Pittsburgh), the furthest of the 4 hotels as the others were all booked by the time we looked for accomodation. Reception was on floor 25. I think it’s a US thing for the floors to start at 1. Ground floor is the first floor.
You are given an electronic card as key, which allows access to residential floors. The staff is very approachable, the location great and amenities good. Breakfast is given free, complimentary it’s called. The building is also very stylish as it was a bank previously.
The only problem is the $75 USD/day in addition to the price per night. This is if you need to take dinner or snacks available or some other services. It is refunded if you don’t use those services. But, it’s a surprise that you have to disburse on arrival. The actual price was also different from the booking price, from ~$205 to $251/night. Not a great experience on this side.
We went to a small room the first day with a sofa that could be transformed into a bed. Next day we were upgraded to another room with two queen beds and one sofa-bed for the same price as we booked two reservations. The conference venue was within walking distance. Google Maps is not too optimized for walking venues and we discovered shortcuts over time.
For the sprints, I stayed at an AirBnB ‘hotel’. This was a building with many floors and rooms run by the same host. You are given access to the main gate and door lock code at check-in. Wifi, laundry, and dryer were available.
When I first entered, the bed was in a mess and the washing machine door would not open. They moved me to another room, which was better, bigger even with iron which was non-existent in the first room. The host was very responsive but not a great experience in terms of repacking and moving around. They wanted to move me to yet another room until I told them about my early flight.
At the hotel, even the lift was nice as it was noiseless and fast with nice damping on arrival. You get what you pay for sure, but next time it’s going to be an AirBnB most probably as hotels charge more than they ask you for. The AirBnB’s decor was also nice though.
While everyone including me thought MCB Group was the better bank, I now have some reservations about it.
Well, when we first landed at the hotel, our MCB debit card would be declined. Embassy Suites by Hilton (Pittsburgh) does not accept cash, so, we were perplexed as to why the card would not pass through. I did not inform MCB before leaving the country, fine, but Kherin Bundhoo, ex-software eng at MCB did that and it still would not pass.
MCB chat support through Whatsapp was responsive at this time of the day, got some relative to call them at midnight to ask them to monitor the chat. The chat’s response time is some 30mins as we discovered later. Then MCB informed us that well, debit cards cannot be used for hotel check-ins as they don’t support pre-authorizations, credit cards and prepaid cards are supported though.
Fortunately, I had an SBM Bank Mauritius visa card but not with enough funds. We transferred from MCB Juice which has an instant transfer option. All was good for one day. Then we had to pay for a second reservation. Juice would not allow transfer as it was over the daily limit with a maximum of rs50k. Internet banking and juice have 2 separate limits.
Normal transfers are not instant. I then could not use Juice as well, Juice detected I was outside Mauritius and kicked me out of the app. We got Kherin Bundhoo’s relative to send us the amount needed on the SBM card.
I spent rs900 on roaming with MCB Group to confirm my phone number as staff take all the time in the world to ask you for information. I asked the 3rd staff on the 3rd call to please be quick as I am on roaming. It took only some 30 seconds i think. And, they started the foreign onboarding process which is a crappy process that de-registers you from the app and unlinks your accounts.
For the Python Software Foundation elections this year, if you care about Python user-groups, I recommend supporting these 3:
They are proposing to enable better collaborations between user-groups, caring for the community and have nice overall community sense.
People take the Python community for granted, but, organizers know how to spot real issues.
I personally think the community is broken, half of listed usergroups are dead and i sense these people would be doing a job i would be doing if i were over there.
Remember folks: Python is the community and a broken community is a broken Python experience.
The approach to AI right now is based on belief. An influencer was saying that he doesn’t agree with the fact that LLMs can’t reason based on his rejection of human exceptionalism.
Then you have Claude developers referring to Claude in 3rd person mode for fear that people might mistake it to be sentient.
It’s only right now that we are living through an interactive embodiment of Turing’s conception of men as soulless machines.
The discourse about AI is divided between pragmatists and cultists. Pragmatists want tasks done better and cultists have an intense desire to validate their worldview.
Computers since their recent invention have always been centered around man. We would not have PCs as we have it, was it not for the brain. The Von Neumann architecture is not even a cheap copy of the brain. It’s literally a very high-level conceptual copy of the different functions of the brain as understood during his time.
The idea of neural networks as machines was postulated by McCullogh/Pitts, von Neumann was aware of it. Regular expressions were an offshoot of it. Later on weights were added to simulate the learning process. This goes back even further, to the formalization of languages, binding languages to the rule of logic, which gave birth to programming languages.
All this springs from the desire to find and deal with truths. Some find sport in dealing with and developing tools of truth, at the expense of truth. And truth demands actions.
I haven’t seen a foolish branch of computing as AI, unfortunately. Brilliant papers come out very often, with breakthroughs improving the current state of things. But, we rarely find based alternatives to the brain as foundational model.
That’s because developers consider the brain as the gold standard and an easy benchmark against which to compare models. The idea of neurons themselves are a pale imitation of the workings of the human brain, an organ we don’t even know where it stands on the scale of intelligence.
In the midst of all this, money matters the most. As long as money flows, people don’t care about the game they are playing. Papers enhance reputation, developers work on tasks, VCs squander on each hype rush producing a wonderful time warp machine, taking away the time to contemplate and reflect.
Don’t remain foolish during the nth rush.