Suramya's Blog : Welcome to my crazy life…

March 13, 2024

Computers/Technology is not the cure to the worlds problems and its time we stop pretending otherwise

Filed under: Artificial Intelligence,My Thoughts,Tech Related — Suramya @ 11:56 PM

As a software developer we tend to be pretty confident that software or algorithms can solve all the problems in the world because we are using ‘technology’/AI/LLM/Blockchain or whatever the buzzword of the day is to solve a problem. This is an issue because when we look at a problem from an outsider’s perspective it looks fairly simple because we don’t know enough to realize the complexity. Or put another way we don’t know enough to know what we don’t know (the unknown unknowns). As always XKCD has a comic that talks about this:


Megan: Our field has been struggling with this problem for years.
Cueball: Struggle no more! I’m here to solve it with algorithms!
Six months later:
Cueball: Wow, this problem is really hard.
Megan: You don’t say.

To be fair, computers have solved a lot of problems in the world and have had a tremendous impact on it, but that doesn’t mean that they are the key solving for every problem. There is a saying that I love quoting “When all you have is a hammer, everything looks like a nail” and as a developer/techie a lot of us tend to forget this. We look at a problem and think that its an easily solved problem and in most cases that is true during the testing in controlled situations. Once you try the same in the real world things turn out a lot more differently. For example, in a 2020 study, a deep learning model was shown to be more accurate in predicting whether bladder cancer has spread in a patient and other models also showed similar results. Unfortunately, when the model was implemented in the real world the results where a lot more ambiguous and not as rosy as we thought.

The major problem we have right now is that AI can give us information at sounds authoritative and accurate especially if it is about a topic you know nothing about because you don’t quite know well enough to identify the nonsense it sprouts. This is similar to how movies and TV shows portray technology or medical science, they will bombard us with buzz words and if you know nothing about the topic it sounds impressive otherwise you are either completely confused or rolling on the floor laughing.

We need to actually look at the problem, understand it and then start implementing a solution. Move fast and break things is not a feasible working model unless you just want to create a buzz so that your technology/company gets acquired and then it is not your problem to get it to work.

– Suramya

January 20, 2024

NFTs, AI and the sad state of Thought Leaders/Tech Influencer’s

Filed under: Artificial Intelligence,My Thoughts,Tech Related — Suramya @ 11:59 PM

NFTs became such a big thing in last few years, going from millions of dollars to 95% of them being worth $0 in Sept 2023. The whole concept of a JPG of an ugly drawing never made sense to me but you won’t believe the no of people who tried to convince me otherwise.

Today I was watching Lift on Netflix and the first 20 minutes are this group of thieves stealing an NFT Oceans 11 style. It is one of the most ridiculous things that I have seen that someone would spend so much effort showing a NFT heist but the movie was scripted in 2021 when the NFT craze was starting to become insane. Haven’t finished the full movie yet and I doubt I will ever do so as it is very slow/corny and has poor acting and script (as if the whole NFT heist thing didn’t give that away).

It is interesting that all the folks who were shilling NFTs a few years ago have ‘pivoted’ to AI now. If you read the posts from Infuencers you will think that AI is the best thing since sliced bread. Saw the following in my feed and I did question the sanity of the person posting such ‘thought leadership’.

I can suggest an equation that has the potential to impact the future: E=mc?+ Al This equation combines Einstein's famous equation E=mc?, which relates energy (E) to mass (m) and the speed of light (c), with the addition of Al (Artificial Intelligence). By including Al in the equation, it symbolizes the increasing role of artificial intelligence in shaping and transforming our future. This equation highlights the potential for Al to unlock new forms of energy, enhance scientific discoveries, and revolutionize various fields such as healthcare, transportation, and technology.
Technology Consultant’s thoughts on AI

Each influencer keeps posting things like this to make them sound more technical and forward thinking but if you start digging into it then you will find out that they are just regurgitating a word salad that really doesn’t mean much but sounds impressive. Actually now that I think about it, they are just like an AI bot that sounds impressive if you are not experienced in the that area but when you start digging into it, you find out that there is no substance to what they are stating.

The current state of AI is basically a massive hype machine which is trying to get folks to buy things or invest in companies because they are working creating an intelligent entity. Whereas in reality, what we have today is a really good Auto Complete or in some cases really nice Machine learning system. It does some things quite well but is nowhere close to being “Intelligent”. What we have now is something that is really good at extrapolating and guessing which can reduce manual efforts in a lot of things but it is not the cure all that everyone is making it out to be.

For example, Github Copilot automates a lot of grunt work while coding allowing users to reduce the time spent of writing code, but in a recent study it was found that Users Write More Insecure Code with AI Assistants. Now this might change in the future with advances in compute power, data and something that we haven’t even thought of yet. But the problem is that in the short term these can cause immense harm and problems.

– Suramya

October 31, 2023

Firefox built-in local translation works quite well

Filed under: Tech Related — Suramya @ 11:59 PM

Firefox recently released Firefox 118 and one of the interesting features in the release was the inclusion of the local translation of websites. Meaning that all the translation was done locally on the machine running Firefox without sending the content to an external service such as Google Translate.

I have been using it infrequently and am impressed with the quality of the translations. Historically the local translation tools don’t seem to be able to translate well and most of the times we end up with a literal translation of each word. Firefox translate is high quality and uses language packs, which the user has to download once to the local system. Post which the system can start translating websites. The supported languages in the initial release were English, German, French, Italian, Spanish, Portuguese, Dutch, Polish and Bulgarian. Support for additional languages is being added in an iterative manner.

The next release of Firefox (120) will have support for new languages: Catalan, Czech, Estonian, Finnish, Hungarian, Icelandic, Norwegian (Bokmål and Nynorsk), Persian, Russian, Ukrainian. You can try them out in the nightly build but the support is still a work in progress and not ready for prime time use. I am waiting for support for the Indian languages to be added along with support for pages which have content in a mix of languages.

You should download the latest version of Firefox and try it out. It is free and doesn’t have all the monitoring tools that Chrome has built-in.

– Suramya

October 28, 2023

New tool called Nightshade allows artists to ‘poison’ AI models

Filed under: Artificial Intelligence,Tech Related — Suramya @ 12:20 AM

Generative AI has burst into the scene with a bang and while the Image generation tech is not perfect yet it is getting more and more sophisticated. Due to the way the tech works, the model needs to be trained on existing art and most of the models in the market right now have been trained on artwork available on the internet whether or not it was in the public domain. Because of this multiple lawsuits have been filed against AI companies by artists.

Unfortunately this has not stopped AI models from using these images as training data, so while the question is being debated in the courts, the researchers over at University of Chicago have created a new tool called Nightshade that allows artists to poison the training data for AI models. This functionality will be an optional setting in the their prior product Glaze, which cloak’s digital artwork and alter its pixels to confuse AI models about its style. Nightshade goes one step further by making the AI learn the wrong names for objects etc in a given image.

Optimized prompt-specific poisoning attack we call Nightshade. Nightshade uses multiple optimization techniques (including targeted adversarial perturbations) to generate stealthy and highly effective poison samples, with four observable benefits.

  • Nightshade poison samples are benign images shifted in the feature space. Thus a Nightshade sample for the prompt “castle” still looks like a castle to the human eye, but teaches the model to produce images of an old truck.
  • Nightshade samples produce stronger poisoning effects, enabling highly successful poisoning attacks with very few (e.g., 100) samples.
  • Nightshade samples produce poisoning effects that effectively “bleed-through” to related concepts, and thus cannot be circumvented by prompt replacement, e.g., Nightshade samples poisoning “fantasy art” also affect “dragon” and “Michael Whelan” (a well-known fantasy and SciFi artist).
  • We demonstrate that when multiple concepts are poisoned by Nightshade, the attacks remain successful when these concepts appear in a single prompt, and actually stack with cumulative effect. Furthermore, when many Nightshade attacks target different prompts on a single model (e.g., 250 attacks on SDXL), general features in the model become corrupted, and the model’s image generation function collapses.

In their tests the researchers poisoned images of dogs to include information in the pixels that made it appear to an AI model as a cat. After sampling and learning from just 50 poisoned image samples, the AI began generating images of dogs with strange legs and unsettling appearances. After 100 poison samples, it reliably generated a cat when asked by a user for a dog. After 300, any request for a dog returned a near perfect looking cat.

Obviously this is not a permanent solution as the AI training models will start working on fixing this issue immediately and then the whack-a-mole process of fixes/updates to one up will continue (similar to how virus & anti-virus programs have been at it) for the foreseeable future.

Full paper: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models (PDF)
Source: Venturebeat: Meet Nightshade, the new tool allowing artists to ‘poison’ AI models

– Suramya

October 26, 2023

Its ok to ask questions about basic stuff that ‘everyone’ knows about

Filed under: My Thoughts,Tech Related — Suramya @ 12:12 PM

There is a well known meme where people talk about how the questions they asked were ‘cringe’ and make fun of the questions people ask. One such example is the comic below that showed up in my feed. Here the refrain is that having to read all the questions that someone has posted on Google/ChatGPT about programming is equivalent to Torturing them because of the implication being that the questions were so basic that everyone should know the answer to them. I get that people are trying to be funny but there is a problem with these kinds of posts because it actively discourages people from asking questions, it builds the narrative that people who post ‘stupid’ questions are not smart and their questions are cringe. It actively promotes the imposter syndrome because people start thinking that they don’t know much when they have to search for ‘basic’ stuff.


Let the torture commence. Let’s reveal all the coding related questions you asked on Google and ChatGPT

Instead I prefer the XKCD approach called the 10,000.


In this strip, Randall presents a mathematical argument against the idea of making fun of people for their ignorance.

There are so many things that I know that others don’t, just as there are so many things that you know that I don’t know. This is because each of us has different life experiences/upbringing etc. Expecting everyone to know the same things as you do is super egoistical.

I have been a developer for about 25+ years now and still I look up syntax when I am coding. Knowing the proper syntax for a command doesn’t make you a programmer, knowing what command/logic to use is what makes a programmer. I can always look up the syntax but the basic logic to solve the problem is something that I have to come up with and that is what I usually test when interviewing people. I need people who can solve problems not someone who can regurgitate the syntax for a function in C++/Python.

When I was in high-school (10th Standard) my senior project was to create an address book where we used the locate command quite extensively to make the output pretty (this was in GW-BASIC). So in my preboard exams, during the viva I was asked to give the syntax of the locate command. I always got confused on the parameters for this function and couldn’t remember if it was LOCATE [row][,[col] or LOCATE [col],[row]. I guessed and gave the wrong order so the teacher told me that she doubted that I had coded the program as I didn’t even know the syntax of the command. I responded by telling her that I don’t need to remember the syntax because I can refer to the book when I need to know the syntax but the logic of the program is what I focused on and challenged her to quiz me on that. I remember she was pretty taken aback by this and I did get a good score on the viva but she told me not to be so blunt during the actual board exam viva’s.

I have sat in meetings where people have talked about concepts or used examples I had no clue about and sometimes I would interrupt to ask for clarifications and in other times I would make a note and do lot of research before the next meeting so I understood what we were talking about. I am not saying that people shouldn’t do research or put in effort before asking questions. I am saying that we need to be supportive of new comers into the field who don’t have the experience to know all the things that might be obvious to you. In the past I used to refer folks to the How To Ask Questions The Smart Way by Eric Steven Raymond & Rick Moen when I talked about how to ask questions. However as I have gotten older and more experienced I find that while the FAQ has some good points it is absolutely condescending and not really the right approach to asking questions. So Instead of that I now refer people to Julia Evan’s post on How to ask good questions.


How to ask Good Questions

Teaching people that it is ok to ask questions is an important part of being a mentor and training the next generation.

– Suramya

October 23, 2023

HashiCorp CEO attempts to gaslight folks into believing that foundations of Open Source are bad

Filed under: My Thoughts,Tech Related — Suramya @ 10:03 PM

On August 10, 2023, HashiCorp decided to change the license for its products (including Terraform) from the open source under the MPL v2 license to a non-open source BSL v1.1 license, starting from the next (1.6) version. This change was met with widespread vocal opposition from the community and when HashiCorp refused to reconsider, the community decided to take action and forked the last stable version of Terraform into a new solution called OpenTofu (Yes really…) and almost immediately over 100 companies, 10 projects, and 400 individuals pledged their time and resources to keep Terraform open-source and the number is growing fast.

With more and more companies looking at alternatives, The Stack has published an interview with the HashiCorp CEO. I am having a hard time figuring out if this is a Troll piece in line with The Onion or an actual interview, because the quotes in the interview are mind boggling. From the interview:

HashiCorp’s CEO predicted there would be “no more open source companies in Silicon Valley” unless the community rethinks how it protects innovation, as he defended the firm’s license switch at its user conference this month.

Every company I have worked with over the decade has worked with Open Source software and companies and I don’t think a single one would make a statement like what he is claiming.

While open source advocates had slammed the license switch, McJannet described the reaction from its largest customers as “Great. Because you’re a critical partner to us and we need you to be a big, big company.”

Indeed, he claimed that “A lot of the feedback was, ‘we wished you had done that sooner’” – adding that the move had been discussed with the major cloud vendors ahead of the announcement.

“Every vendor over the last three or four years that has reached any modicum of scale has come to the same conclusion,” said McJannet.

Here’s my personal favorite:

He said the Linux Foundation’s adoption of Open Tofu raised serious questions. “What does it say for the future of open source, if foundations will just take it and give it a home. That is tragic for open source innovation. I will tell you, if that were to happen, there’ll be no more open source companies in Silicon Valley.”

Because foundations allow communities to continue with products they love and built even when corporate’s try to lock them in a closed garden, it is apparently a bad thing. Yes, it is a bad thing for folks who want to just take advantage of the community, enshittify the product while making money and ignoring the needs of the community. Open Source allows people to fork the product (which was built with Open Source contributions), keep it free and out of the greedy hands of corporate CEOs. That’s the beauty of Open Source and this article is a poor attempt to gaslight folks into believing that this is a bad thing.

– Suramya

October 19, 2023

How to approach a topic to make learning hard things easy?

Filed under: Interesting Sites,My Thoughts,Tech Related — Suramya @ 7:16 PM

Talking about complicated topics is hard. I remember reading somewhere that if you can’t explain what you do in simple enough terms that a grandmother can understand it then you don’t know enough about what you are doing. Unfortunately I can’t find the original quote but if you think about it, it makes sense. People who don’t understand a given topic in depth will revert to using acronyms or jargon to explain what they do. Folks who do understand will be able to explain it using small words and concepts. The best example of this is the Thing Explainer: Complicated Stuff in Simple Words a book by Randall Munroe from the XKCD fame. In the book, things are explained in the style of Up Goer Five, using only drawings and a vocabulary of the 1,000 (or “ten hundred”) most common words. Explore computer buildings (datacenters), the flat rocks we live on (tectonic plates), the things you use to steer a plane (airliner cockpit controls), and the little bags of water you’re made of (cells). My Niece and Nephew love the book and refer to it regularly.

Julia Evans recently gave a talk on Making Hard Things Easy that everyone should listen to or read, since she also gave a transcript. Which was awesome else I would have missed out on this great talk. She talks about how to approach a problem/question/topic to make it easier to understand with examples from her own experience.

Julia is a wiz at making difficult topics seem easy. She publishes Webzines that explain computer topics in easy to understand comic format. I have bought all the ones she has published so far as PDF’s and would recommend you do the same. The site above has samples of her work so do check it out.

– Suramya

October 17, 2023

Best Support response times and quality I have seen is from the WordPress Activitypub team

Filed under: Computer Software,My Thoughts,Tech Related — Suramya @ 10:49 PM

I have been using Open Source since I found out about it back in 1999. At present majority of the software I have running on my system is opensource with a few notable exceptions such as Microsoft Word (Libreoffice still has formatting issues) and CrossOver by Code Weavers (that allows me to run Windows software on Linux) and a few games that I don’t get to play enough. Which means that I have considerable experience with the support offered by the various opensource projects. The support ranges from RTFM, no responses to questions or detailed responses from the team/users.

Out of all the projects that I have reached out for support the most fantastic & the fastest support response has been from Matthias Pfefferle (German Site) from the wordpress-activitypub project. I have raised multiple tickets with the project and have always gotten a quick (Fastest response in 2mins!!!), detailed and helpful response to my questions. For the issues I raised, some of them required a code fix and a fix was released within days. I don’t think I have received such a fantastic response even from sites/projects where I am a paying subscriber.

Anyways, we always post about the bad experiences we have so I think that we should also take time to post about the fantastic experiences and people we interact with because there is way too much negative news out there and these small things can help bring a smile to someones face and make sure they know that their hard work is appreciated.

If you run a WordPress Blog (self-hosted) you should definitely install this plugin and federate your posts to Mastodon (and the rest of the fediverse).

– Suramya

October 12, 2023

Someone got fired for not using Windows because the invasive workplace surveillance tool didn’t work well on Linux

Filed under: Linux/Unix Related,My Thoughts,Tech Related — Suramya @ 9:38 PM

There are a lot of reasons why I recommend people don’t use Windows but there are times when you have to use it because it is required for work, or for other reasons such as compatibility (though CrossOver by Codeweavers is a lifesaver for that). Over at HackerNews, there is a thread about a post over at Reddit (I guess people are still using it…) where a guy is claiming that “I Lost my job because I refused to use Windows, who is at fault?”)

I have been using Windows at work at almost every company I have worked with because that is the default and most corporate apps are designed for and work only with Windows systems. Since I personally prefer using Linux I have asked (and in some cases) gotten a Linux version of the desktop for my use. The main blockers for corporations to use something like CrossOver is the problem of support. If a company is running MS Office on Linux using crossover and they hit an issue, MS can and does blame it on the setup and asks you to revert to a standard setup. I have even heard folks claiming that they (MS) have blamed custom plugins that the company was running for the issues were being highlighted.

All that said and done I don’t think I would ever point blank refuse to use windows when my company asks me to run it and threatens termination if I don’t. Though to be honest I would have also started looking for other opportunities if I was in this persons shoes since as per their post the reason for the demand was that: “A software they use for time tracking didn’t support screenshots on Wayland and I refused to switch to Windows (xorg is just no for me) to support them.”.

Having a program running on my personal machine that constantly takes screenshots and uploads them to a remote server is not something I would agree to do. We don’t know what company they were working for but this kind of invasive surveillance might not be 100% legal in all locations. A company might get away with it on work systems if they have a contract and the user explicitly agrees to it but on a personal machine… If the user forgets it is running and accesses their health record, or bank account or other sensitive data their employer would have a copy of that data. Imagine if they got breached, how much sensitive & personal data might get exposed with this setup.

A lot of work has been put into these surveillance technologies and there is a whole industry around monitoring people at work to ensure they are actually working. In a previous company a team wanted to put software on all office computers that would track the time the person was actually typing/moving the mouse etc and use that to calculate their productivity and then rate them on that. After the system was demoed, I asked how it was accounting for time spent in face to face meetings, design discussions, calls etc that don’t necessarily need a computer, the answer was vague enough that the head of the department remarked that if it was implemented every single member of the management team would be rated as non-productive as a majority of their time was in meetings and discussions etc.

During covid a lot of people were worried that folks working from home would not actually work and started tracking mouse/keyboard activity. So people came up with ingenious solutions to ensure that the mouse was moved and text typed on the office systems. Some was done via software/scripts others used hardware and innovation such as taping the mouse to a desk fan amongst other methods.

This kind of monitoring is being routinely done on employees who don’t have much options and are not able to move easily. The end result is that the company is trying to maximize their profit by nano-managing their employees and using this tech to ensure they squeeze all possible work out of them while paying the minimum amount.

Now coming back to the original question, was it wrong to insist on using Linux when the job requires you to use Windows? If the company was giving me a laptop/computer running windows and I formatted it to run Linux then I would be in the wrong. If I am using my own computer then I can use whatever OS I want as long as the work gets done. However if I am insisting on using Linux on a Work computer when they require windows and even after multiple warnings they don’t switch back to Windows then the company is right to fire them. (Assuming that there are no other issues such as the invasive monitoring we talked about earlier.)

There are multiple people who will find this stance unacceptable but there is a rational behind this that not everyone thinks about. The company might be legally required to keep records/logs of work, mails sent etc and the audit requirements would not be met if a non-compliant system was in use. Similarly the default backup and archiving systems might not work with Linux and cause problems. There are a ton of issues that would need to be worked out before having a mixed use OS landscape and if no other considerations are there then the company can be justified in firing such a person who refuses to use Windows because they don’t like it.

Source: Hacker News: Lost my job because I refused to use Windows, who is at fault?

– Suramya

September 5, 2023

Invalid Flight plan submission to UK National Air Traffic Services causes multi-day chaos

Filed under: My Thoughts,Tech Related — Suramya @ 6:50 PM

One of the cardinal rules in computers is to “never trust the input” or put another way: “Never trust user input”. If you ever wondered what would happen if this wasn’t followed here’s a real world example that happened late last month (28th Aug) where almost every flights to and from the UK were delayed or cancelled after their air traffic control systems went down.

An analysis of the crash found that a French airline had filed a flight path in the wrong format to the National Air Traffic Services (NATS) and instead of rejecting the plan because it was in an invalid format as it should have done the entire system went down hard. This is a basic programming principle and I am not sure why their testing didn’t catch this massive vulnerability. Basically, it looks like anyone with access to file a flight plan can crash the entire NATS just by submitting a flight plan in the wrong format.

Apparently it is expected behavior as per NATS chief executive Martin Rolfe, who said that both Primary AND Backup systems responded to the incorrect flight data by suspending automatic processing “to ensure that no incorrect safety-related information could be presented to an air traffic controller or impact the rest of the air traffic system”

Nats chief executive, Martin Rolfe, told BBC Radio 4’s Today programme: “It wasn’t an entire system failure. It was a piece of the system, an important piece of the system.

“But in those circumstances, if we receive an unusual piece of data that we don’t recognise, it is critically important that that information – which could be erroneous – is not passed to air traffic controllers.”

Mr Rolfe said Nats has “safety-critical systems” and “throwing data away needs to be very carefully considered”.

To me it is unbelievable that anyone thought that crashing both the Primary and Backup systems was preferable to throwing away an invalid flight plan.

Sources:

– Suramya

Older Posts »

Powered by WordPress