aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--news/1729396343-radio_station_emulator93
-rw-r--r--news/1759407714-why_you_might_need_ai_less_than_you_think153
2 files changed, 246 insertions, 0 deletions
diff --git a/news/1729396343-radio_station_emulator b/news/1729396343-radio_station_emulator
new file mode 100644
index 0000000..ce128dd
--- /dev/null
+++ b/news/1729396343-radio_station_emulator
@@ -0,0 +1,93 @@
+Radio Station Emulator
+======================
+
+First of all, since you are reading this at most probably the web/internet, let
+me clarify that the "radio station" part is referring to a webradio station, a
+station that resembles the classic "radio" that plays on the FM/AM and other
+bands which instead of transmitting signal to the airwaves, it actually streams
+data over the internet.
+
+Secondly, the "emulator" part means that the particular radio station we are
+going to talk about it has mainly pre-recorded shows to play on its program.
+Live programs are also possible in this emulator by extending the core idea but
+to keep it simple and trully emulator we will only consider the pre-recorded
+shows, for ease and to not create a hybrid emulator, in the sense that sometimes
+is an emulator, some other times is not, cause it actually plays live.
+
+The main goal is to eliminate the streaming of data in its synchronous form and
+make it asynchronous. One of the main problems moving from streaming the data
+the audience is supposed to hear is that with no synchronous streaming, we would
+be unable to synchronize the audience in the same way radio stations are doing
+this.
+
+At the current time this is getting written, the link to the website
+https://radio.arching-kaos.com will land you to the implementated idea we are
+here to talk about.
+
+While being analytical to this point, the solution to the problem won't be of
+the same degree of analysis. For this, a thesis paper is being developed but I
+am eager to share the news about it and talk about how the emulator works.
+
+Assume the pre-recorded shows and that these shows are played on after another
+on a radio station. If new content is not added, the list of these shows is
+repeated from the beggining.
+
+To make the asynchronous part, we need to have each show ready to be transfered
+to the audience. For convenience and for further expanding of the project, we
+would be having some metadata files, describing somethings about each show and,
+also, point the audience to the actual show. These metadata files, would need to
+let the audience about some key elements for later use. The most important parts
+are:
+1. date of publishing,
+2. duration,
+3. pointer to the show,
+4. the format of data that the show is stored in.
+The third and fourth parts are for the audience to be able to play the shows.
+The first and second ones, we will need them later for calculations.
+
+Now, think that these metadata files are referenced from another file that holds
+the list:
+of them, with to more elements:
+1. date and time of first appearance of this list and
+2. total duration of the list.
+
+To make the asynchronous, synchronous, we will need to calculate how much time
+has passed since the playlist started playing for the first time. Subtracting
+these two timestamps, we would get the number of seconds that have passed
+since.
+
+Timestamp(now) - Timestamp(playlist) = SecondsPassed
+
+Dividing the SecondsPassed with the total duration of the list we would now the
+times the list was fully played (the integer part of the outcome) and a ratio
+of how many seconds have passed since the latest start from the beggining of the
+list (the decimal part).
+
+SecondsPassed / TotalDuration = TimesFullyPlayed + K
+
+where TimesFullyPlayed is an integer/natural number
+
+K = SecondsPassedSinceLastStart / TotalDuration where 0<=K<1 which also means
+that SecondsPassedSinceLastStart > TotalDuration
+
+Finding the TimesFullyPlayed + K part would be easily calculated if for the
+ratio SecondsPassed/TotalDuration we would keep the integer part of the outcome
+and subtract it from the actual ratio. This would leave us with K which to
+convert back to seconds, we would multiply it by the TotalDuration which would
+be the amount of seconds passed since the last repeatition of the list.
+
+Knowing this amount of seconds, we would manage, knowing the durations of each
+show, to calculate which show is already played, which is not and which is the
+one that the audience is supposed to hear and the moment of tuning in.
+
+This part could be achieved by looking for each show in the list, effectively
+iterating until the point that the SecondsPassedSinceLastStart is greater than
+the summary of the durations, that we have already iterated in our process.
+When this condition is met, we get the current iterated show and load it.
+
+Finally, we sync on that show, by subtracting the summary of the previous shows'
+durations from the SecondsPassedSinceLastStart and we start playing the current
+show starting at the amount of seconds we just calculated.
+
+And we are back in synchronicity!
+
diff --git a/news/1759407714-why_you_might_need_ai_less_than_you_think b/news/1759407714-why_you_might_need_ai_less_than_you_think
new file mode 100644
index 0000000..6276446
--- /dev/null
+++ b/news/1759407714-why_you_might_need_ai_less_than_you_think
@@ -0,0 +1,153 @@
+Why you might need AI less than you think
+=========================================
+LLMs (aka AI) are models that have been trained to do human-like conversation,
+mimicking effectively (or not) the lingual parts of the human brain, the parts
+that are responsible for making sentences, paragraphs and expression in native
+(human) languages.
+
+Many are using it for coding. I strongly believe that this is a wrong usage for
+the tool. As it is trained for writing and reading text, the job of "writing
+code" is inherently different by nature.
+
+When we want to code some project from an idea or from reading some objectives,
+we go in a process where we need to understand the objectives and change them in
+a way that computers understand by writing a code base on some programming
+language. The programming languages though are not governed by the same rules
+and logic of the human-native ones. Things in human language might not make any
+sense for computers.
+
+There is a wrong assumption that since we are telling a computer to do it, it
+will be natural for them to do the task easier. That's a common internal
+misconception. As already said, this programs/models are trained to mimic human
+language, not computer languages. They don't operate as when we say to someone
+"how to say 'my name is ...' in your mother language". They don't have one.
+
+What an LLM will do (in short) is read your text and try to express your text
+as code. The outcome is more close to human text than real programming
+algorithms or computer native programming language utilization. In other words,
+it's good until it's not. This can be witnessed far more easily when one is
+prooompting for lower level computer languages. It can also be seen many times
+in high level ones.
+
+For example, providing a function written with bad naming conventions (both
+function name and variables) in a type-safe computer language like golang,
+including some comment about its usage and asking to rename the function and the
+variable names only, might result on having a reply that changes also the types
+of the variables, not renaming everything or just hallucinate from a small and
+concrete prompt. For this example, I had to ask again (around 5-6 times) until
+it made it right. That's what I call "losing time with garbage tools".
+
+I have countless personal examples of using LLMs in ways which resulted me to
+waste more time than if I did it by myself. I have lots of examples read from
+articles that conclude to the same time wasting and go in extend analyzing
+hallucinations or even bug discovery for bugs that aren't there or they are
+there but only a small amount of percentage are figuring them out.
+
+Note that the claim here is not that "I am better than AI" or an inferiority
+complex. For short, anyone with intuition is better than AI and intuition is
+installed by default in every human, so there's that: we are all better than AI.
+
+The claim is the following: in order to get things going, people are choosing
+convinience over factors that don't really understand. This creates a kind of
+debt, known as knowledge debt. If you are doing it for your own sake and nobody
+else will ever see it, then yes, you could go nuts on copy-pasting. And to be
+real about it, I did a lot of copy-pasting in my early years (pre-LLM era). It's
+not inherently bad. But there are more steps on this: you copy-paste, you try,
+it might not work as intented, you edit it, retry, edit again, done.
+
+On collaborative projects though, this is very different. One might want to just
+complete a project, rushing to a final solution without any critisism or thought
+on what it should be or should not be there. No understanding of architecture,
+no will to change anything on the code if it's working, leaving codebases in a
+huge mess, really badly written, with lots of repetition and not at all simple.
+
+To me, this means that for the sake of not putting the work, you put almost the
+same amount of work, get into knowledge debt, pass it on to your colleagues,
+provide badly written code and get the credits for being "fast". Before going on
+about what comes with this approach, let's quickly discredit the "fastness".
+They are not "fast". "Vibe-coding" is totally unrelated to coding and more
+related to "testing". This approach has severe drawbacks which one might think
+they will never show up but they are just waiting around the corner.
+
+People that are about to work with such "testers", while trying to grasp the
+concepts of good practices, reading such code might end up having a really bad
+time while doing so. If the architecture of the whole project is just bad, this
+alone adds up time. Repetition requires deduplication which takes time. People
+that don't want to put the time will lose interest. People that don't want to
+refactor badly written code will lose interest. And that's problematic.
+
+Your future (or current) manager might not even know how to read code. Having a
+manager used to quick project deliverance is not something really bad. But will
+turn badly when for smaller features you will need more time than the first code
+base was written on. This will be witnessed by managers.
+
+Quits, firings, bad reputation, bad relations: hostile work environment for
+short. Will LLMs help when one reaches this level? I don't think so. Learn your
+craft! You can do it!
+
+There are tools (yeah, AI ones) that specialize on coding, but they tend to come
+with costs or limitations. If these tools are the only devs you know available
+for hiring, what can I say, go nuts. But don't forget(!!!!): you pay someone
+else now, which is bad. You probably work a 9-5 to make a living. The company
+you work at is not yours. You don't do hiring, your manager does. Ask them to
+hire people and set the standards. The money you are making is for you to keep,
+not to buy stuff for a company you don't own. Hello!!!
+
+We are still using software written in the 1970's. From back then until pre-LLM
+era software is written completely by humans. That's more than 50 years. The
+hype promoting AI is creating a mindfield crisis to some that lack of
+understanding can enhance its effects. The manager we mentioned before, might
+have no idea how to write/read code. Seeing LLMs spitting all this output looks
+nice to them, but it's not realistic. To them, it looks productive, to devs
+sooner or later will be counter-productive.
+
+So why you might need LLMs less than you probably think? Because you possibly
+started recently to code and the learning curve is a learning curve and it's
+natural to get overwhelmed, bored, lazy or just want to see some results. Learn
+your tools instead, your editor, the compiler you are using, get in depth or at
+least reach a level of understanding. Write code that you know why you wrote it.
+That's "owning the code".
+
+This article was inspired after a lot of discussions, personal experiences and
+articles. Unfortunately, I won't be referencing the articles. Truly, though, it
+is my intention to raise awareness about my humble opinion which I feel that
+while it's seemingly unpopular, it might express statements that others might
+also agree. The point, however, is mostly for people that might haven't thought
+about this before and possibly dealt with the issues mentioned. A lot of these
+can be reasons for causing frustration, and when this emotion comes up, people
+tend to not explain the reasons and just leave, stop talking, break
+collaborations or other ways of avoiding confrontation.
+
+While the following could be a heads up I feel that it matches much better for
+closing thoughts and clarity. I personally stand against this LLM/AI hype. I
+find it stupid, extorting and very disturbing. I don't like big corporations
+either. My understanding is that these organizations are trying to monopolize
+once again various sectors of human-driven workforce so they can gain more for
+theirselves. I find it plain stupid to waste time to use those tools and in the
+process of doing so, train them to do it better. Therefore I personally
+discourage anyone from using them. If you do decide to use them, my advice is
+to make one simple prompt at the time and never engage with them after that.
+Don't train your competitors for free. You are being used. Any governmental
+regulations leave me indifferent and utopias that it will transform society in
+a way that would be beneficial for everyone are lacking understanding of how
+governments and capitalism works.
+
+Finally, as I really dislike the "conclusion" part on every article I am reading
+on the internet, you are encouraged to draw your own for yourself. If you used
+some LLM to summarize this article, I assume that you can't gain anything from
+this article because reading it, requires time and work which you seem to not be
+willing to put on anything. Value comes from work you put on stuff, if you don't
+they are just cheaper but this doesn't guarantee any type of quality. Maybe
+harsh, but I honestly can't care more.
+
+If you really read it as it is, I then thank you for your time and effort. I
+hope you will find ways to include it in your thinking and internal processes.
+In the case you disagree with what I wrote, firstly we might have different
+purposes but secondly, I hope it adds up to your omni-opinion development.
+
+This took long enough to write. I won't make a series of articles about this as
+engagement with current hypes is not my lifestyle, so don't expect follow ups.
+
+Again, thank you for your time,
+kaotisk
+