computerscience Archives - ProdSens.live https://prodsens.live/tag/computerscience/ News for Project Managers - PMI Sun, 23 Jun 2024 19:20:16 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://prodsens.live/wp-content/uploads/2022/09/prod.png computerscience Archives - ProdSens.live https://prodsens.live/tag/computerscience/ 32 32 What is Recursion? https://prodsens.live/2024/06/23/what-is-recursion/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-recursion https://prodsens.live/2024/06/23/what-is-recursion/#respond Sun, 23 Jun 2024 19:20:16 +0000 https://prodsens.live/2024/06/23/what-is-recursion/ what-is-recursion?

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer When defining an object…

The post What is Recursion? appeared first on ProdSens.live.

]]>
what-is-recursion?

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

When defining an object or a function, using itself within its own definition is called recursion.

Additional Context

It is a very powerful problem-solving strategy.

The post What is Recursion? appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/23/what-is-recursion/feed/ 0
Computer Science under 125 characters. https://prodsens.live/2024/06/22/computer-science-under-125-characters/?utm_source=rss&utm_medium=rss&utm_campaign=computer-science-under-125-characters https://prodsens.live/2024/06/22/computer-science-under-125-characters/#respond Sat, 22 Jun 2024 16:20:20 +0000 https://prodsens.live/2024/06/22/computer-science-under-125-characters/ computer-science-under-125-characters.

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer Assigning multiple complex tasks…

The post Computer Science under 125 characters. appeared first on ProdSens.live.

]]>
computer-science-under-125-characters.

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

Assigning multiple complex tasks to metals, plastics,0’s,1’s, and electricity because we were too lazy to do it on pen and paper.

Additional Context

We saw the gap of no one explaining the title of the challenge and ended up doing something raw.

Team Submissions:

Also a huge shoutout to my team member @vedangit !!

The post Computer Science under 125 characters. appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/22/computer-science-under-125-characters/feed/ 0
The Halting Problem https://prodsens.live/2024/06/19/the-halting-problem/?utm_source=rss&utm_medium=rss&utm_campaign=the-halting-problem https://prodsens.live/2024/06/19/the-halting-problem/#respond Wed, 19 Jun 2024 01:20:20 +0000 https://prodsens.live/2024/06/19/the-halting-problem/ the-halting-problem

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer Can a program determine…

The post The Halting Problem appeared first on ProdSens.live.

]]>
the-halting-problem

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

Can a program determine if another program will finish running or loop forever? It’s the Halting Problem. Alan Turing proved it’s undecidable: no algorithm can solve it for all possible programs. This limits what computers can predict about other programs.

Additional Context

The post The Halting Problem appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/19/the-halting-problem/feed/ 0
What is a Queue? https://prodsens.live/2024/06/15/what-is-a-queue/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-a-queue https://prodsens.live/2024/06/15/what-is-a-queue/#respond Sat, 15 Jun 2024 18:20:48 +0000 https://prodsens.live/2024/06/15/what-is-a-queue/ what-is-a-queue?

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer When you visit a…

The post What is a Queue? appeared first on ProdSens.live.

]]>
what-is-a-queue?

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

When you visit a bank or you go to the supermarket to get some groceries, you stay in line. The person in front of you gets answered first because he was there before you. That’s basically a queue in computer science

The post What is a Queue? appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/15/what-is-a-queue/feed/ 0
🌐 Resource Preloading in HTML | One Byte Explainer https://prodsens.live/2024/06/15/%f0%9f%8c%90-resource-preloading-in-html-one-byte-explainer/?utm_source=rss&utm_medium=rss&utm_campaign=%25f0%259f%258c%2590-resource-preloading-in-html-one-byte-explainer https://prodsens.live/2024/06/15/%f0%9f%8c%90-resource-preloading-in-html-one-byte-explainer/#respond Sat, 15 Jun 2024 06:20:19 +0000 https://prodsens.live/2024/06/15/%f0%9f%8c%90-resource-preloading-in-html-one-byte-explainer/ -resource-preloading-in-html-|-one-byte-explainer

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer Resource preloading in HTML…

The post 🌐 Resource Preloading in HTML | One Byte Explainer appeared first on ProdSens.live.

]]>
-resource-preloading-in-html-|-one-byte-explainer

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

Resource preloading in HTML can be achieved using the element with the rel attribute to hint at the browser about resources that will be needed soon. Fetching resources in advance improves load time and webpage performance.

Additional Context

Here are some options you may consider :

  1. rel="preload": Actively fetch the resource and cache it, as needed for current navigation.
  2. rel="prefetch": Fetch the resource in advance as it is needed for follow-up navigation.
  3. rel="dns-prefetch": Perform DNS resolution for the resource for easy fetching later.
  4. rel="preconnect": Perform a connection request to the resource and establish a connection for easy fetching later.
  5. rel="prerender": Preload the resource in the background. However, one should note that this might negatively affect the user’s bandwidth.

The post 🌐 Resource Preloading in HTML | One Byte Explainer appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/15/%f0%9f%8c%90-resource-preloading-in-html-one-byte-explainer/feed/ 0
One-Byte: CAP Theorem https://prodsens.live/2024/06/13/one-byte-cap-theorem/?utm_source=rss&utm_medium=rss&utm_campaign=one-byte-cap-theorem https://prodsens.live/2024/06/13/one-byte-cap-theorem/#respond Thu, 13 Jun 2024 15:20:22 +0000 https://prodsens.live/2024/06/13/one-byte-cap-theorem/ one-byte:-cap-theorem

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer. Explainer CAP Theorem: In distributed…

The post One-Byte: CAP Theorem appeared first on ProdSens.live.

]]>
one-byte:-cap-theorem

This is a submission for DEV Computer Science Challenge v24.06.12: One Byte Explainer.

Explainer

CAP Theorem: In distributed systems, you can have Consistency, Availability, or Partition Tolerance, but only two at a time. It’s a trade-off triangle. Essential for designing fault-tolerant databases and networks.

Additional Context

Composed by two AI personas of mine, Conceptor the Idea Condensor and Hyperion the STEM Explainer, acting in concert on the OpenAI Playground.

The post One-Byte: CAP Theorem appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/13/one-byte-cap-theorem/feed/ 0
Design Research Methodology in Information Technology https://prodsens.live/2024/05/08/design-research-methodology-in-information-technology/?utm_source=rss&utm_medium=rss&utm_campaign=design-research-methodology-in-information-technology https://prodsens.live/2024/05/08/design-research-methodology-in-information-technology/#respond Wed, 08 May 2024 04:20:06 +0000 https://prodsens.live/2024/05/08/design-research-methodology-in-information-technology/ design-research-methodology-in-information-technology

Metodologi riset desain (Design Research Methodology) adalah pendekatan sistematis untuk melakukan penelitian dalam konteks desain. Ini melibatkan langkah-langkah…

The post Design Research Methodology in Information Technology appeared first on ProdSens.live.

]]>
design-research-methodology-in-information-technology

Metodologi riset desain (Design Research Methodology) adalah pendekatan sistematis untuk melakukan penelitian dalam konteks desain. Ini melibatkan langkah-langkah yang terorganisir dan strategis untuk memahami masalah, membangun solusi, dan mengevaluasi kinerja atau efektivitas desain tersebut. Metodologi riset desain sering digunakan dalam berbagai bidang termasuk desain produk, desain grafis, desain web, dan lainnya.

Beberapa langkah umum dalam metodologi riset desain termasuk:

  1. Pemahaman masalah: Identifikasi masalah atau kebutuhan yang ingin dipecahkan melalui desain.
    Studi literatur: Melakukan tinjauan literatur untuk memahami konteks dan penelitian terkait yang telah ada.

  2. Penelitian lapangan: Mengumpulkan data dari pengguna potensial atau pemangku kepentingan melalui wawancara, survei, atau observasi langsung.

  3. Analisis dan sintesis data: Menganalisis data yang terkumpul untuk mengidentifikasi pola, tren, dan kebutuhan yang relevan.
    Pengembangan konsep: Membangun ide-ide dan konsep desain yang memecahkan masalah yang diidentifikasi.
    Prototyping: Membuat prototipe dari solusi desain untuk diuji dan dievaluasi.

  4. Evaluasi dan iterasi: Menguji prototipe dengan pengguna akhir untuk mengevaluasi kinerja dan pengalaman pengguna, kemudian melakukan iterasi desain berdasarkan umpan balik yang diterima.

  5. Metodologi riset desain sering kali melibatkan pendekatan partisipatif, di mana pengguna atau pemangku kepentingan langsung terlibat dalam proses desain. Ini membantu memastikan bahwa solusi yang dihasilkan benar-benar memenuhi kebutuhan dan ekspektasi mereka. Metode yang digunakan dalam riset desain dapat bervariasi tergantung pada konteks proyek, target pengguna, dan tujuan desain yang ingin dicapai.

Berikut adalah contoh penerapan design research methodology dalam ilmu komputer:

Pengembangan Antarmuka Pengguna (UI/UX Design):

  • Problem Definition: Tim desain memiliki masalah dengan tingkat konversi yang rendah pada aplikasi mobile mereka.

  • Research Planning: Mereka merencanakan untuk melakukan penelitian untuk memahami mengapa pengguna tidak terlibat dengan antarmuka pengguna aplikasi mereka.

  • Data Collection: Melakukan wawancara dengan pengguna yang ada, serta menganalisis data pengguna dan perilaku pengguna dari aplikasi.

  • Data Analysis: Menganalisis wawancara dan data pengguna untuk mengidentifikasi masalah utama dan kesempatan perbaikan.

  • Insight Generation: Menghasilkan wawasan tentang preferensi pengguna, hambatan, dan kebutuhan yang belum terpenuhi.

  • Prototyping and Testing: Berdasarkan wawasan, mereka membuat prototipe baru dari antarmuka pengguna dan mengujinya dengan pengguna untuk mendapatkan umpan balik.

  • Iteration: Iterasi desain berdasarkan umpan balik pengguna, terus menguji dan memperbaiki prototipe sampai mereka mencapai solusi yang optimal.

  • Documentation and Reporting: Dokumentasi langkah-langkah penelitian, temuan, dan rekomendasi dalam laporan untuk tim pengembangan.

Pengembangan Perangkat Lunak (Software Development):

  • Problem Definition: Tim pengembangan perangkat lunak memiliki tantangan dengan tingkat retensi pengguna yang rendah pada platform mereka.

  • Research Planning: Mereka merencanakan penelitian untuk memahami alasan di balik tingkat retensi yang rendah dan bagaimana meningkatkannya.

  • Data Collection: Mengumpulkan data dari pengguna melalui survei online, analisis log, dan wawancara pengguna.

  • Data Analysis: Menganalisis data untuk mengidentifikasi pola dan faktor-faktor yang mempengaruhi retensi pengguna.

  • Insight Generation: Menghasilkan wawasan tentang fitur yang paling berharga bagi pengguna, serta hambatan yang menghambat pengguna dari menggunakan platform.

  • Prototyping and Testing: Membuat prototipe fitur baru yang diusulkan dan mengujinya dengan kelompok pengguna untuk mendapatkan umpan balik.

  • Iteration: Melakukan iterasi pada fitur berdasarkan umpan balik pengguna, mengoptimalkan fungsionalitas dan pengalaman pengguna.

  • Documentation and Reporting: Mendokumentasikan temuan dan rekomendasi dalam laporan, serta menyediakan pembaruan untuk tim pengembangan.

Dalam kedua contoh ini, pendekatan metodologi riset desain membantu tim dalam memahami kebutuhan pengguna, mengidentifikasi masalah, menghasilkan solusi yang lebih baik, dan meningkatkan kinerja produk mereka.

The post Design Research Methodology in Information Technology appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/05/08/design-research-methodology-in-information-technology/feed/ 0
Empower your Projects with Face Recognition SDK: 9 Must-Have Features for Developers https://prodsens.live/2024/04/24/empower-your-projects-with-face-recognition-sdk-9-must-have-features-for-developers/?utm_source=rss&utm_medium=rss&utm_campaign=empower-your-projects-with-face-recognition-sdk-9-must-have-features-for-developers https://prodsens.live/2024/04/24/empower-your-projects-with-face-recognition-sdk-9-must-have-features-for-developers/#respond Wed, 24 Apr 2024 01:22:39 +0000 https://prodsens.live/2024/04/24/empower-your-projects-with-face-recognition-sdk-9-must-have-features-for-developers/ empower-your-projects-with-face-recognition-sdk:-9-must-have-features-for-developers

Face recognition SDK is critical in a variety of initiatives, from improving security to transforming customer experiences. This…

The post Empower your Projects with Face Recognition SDK: 9 Must-Have Features for Developers appeared first on ProdSens.live.

]]>
empower-your-projects-with-face-recognition-sdk:-9-must-have-features-for-developers

Face recognition SDK is critical in a variety of initiatives, from improving security to transforming customer experiences. This breakthrough technology has quickly made its way into a wide range of applications, offering increased efficiency, convenience, and security across industries. The face recognition SDK (software development kit) is at the heart of this transformation, allowing developers to easily integrate the power of facial recognition into their apps.

Read full article here.
https://faceplugin.com/face-recognition-sdk-by-faceplugin/

The post Empower your Projects with Face Recognition SDK: 9 Must-Have Features for Developers appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/04/24/empower-your-projects-with-face-recognition-sdk-9-must-have-features-for-developers/feed/ 0
Left and Right Shift: Bitwise Operators in Python https://prodsens.live/2024/04/11/left-and-right-shift-bitwise-operators-in-python/?utm_source=rss&utm_medium=rss&utm_campaign=left-and-right-shift-bitwise-operators-in-python https://prodsens.live/2024/04/11/left-and-right-shift-bitwise-operators-in-python/#respond Thu, 11 Apr 2024 02:21:04 +0000 https://prodsens.live/2024/04/11/left-and-right-shift-bitwise-operators-in-python/ left-and-right-shift:-bitwise-operators-in-python

Last week while browsing on X (Twitter), I came across the following quiz: > 2). Options: 1, 2,…

The post Left and Right Shift: Bitwise Operators in Python appeared first on ProdSens.live.

]]>
left-and-right-shift:-bitwise-operators-in-python

Last week while browsing on X (Twitter), I came across the following quiz:

> 2). Options: 1, 2, True, Erro” width=”800″ height=”746″>

What do you think the correct answer would be? Do you know what the >> sign means?

This sign means that the language will perform a bitwise operation. But what exactly is that?

Don’t worry if you’re not familiar with this operation. At the time, reading through the tweet’s comments, most people had responded True. According to them, the operation to be executed would be “4 greater than 2”. Since 280 characters are not enough to cover everything I’d like to address in solving this quiz, I decided to write this text to introduce a concept that seems to be little known.

Bitwise Operations: Left and Right Shift

Let’s start with the basics. As the name of the operation suggests, bitwise is an operation done directly on the bit, meaning it’s an operation directly understood and supported by the processor, making it extremely fast.

There are various bitwise operators, but we will only discuss two of them focusing on solving the quiz: left shift and right shift. The idea of these operations is to move the digits of a certain set of bits to the right or left. It’s as simple as that!

Let’s suppose we have the following binary: ‘0b100111’ (‘0b’ at the beginning is just a binary representation indicating that every bit to the left is 0). When we perform a left shift on it, we will move the bits one place to the left, adding a new bit to the right of the binary. This new bit will always be 0 for this operation, resulting in a new binary.

Binary 0 1 0 0 1 1 1 with arrows pointing to the bits moved to the left resulting in 1 0 0 1 1 1 0

For right shift, the idea is quite similar, the difference is that we will move the bits one place to the right. Thus, the bit farthest to the right of the old binary will be removed from the new binary.

Binary 1 0 0 1 1 1 with arrows pointing to the bits moved to the right resulting in 0 1 0 0 1 1 1

Python Syntax

Great, now that we know what the shift operators are, let’s move on to the syntax in Python. The binary used in the previous examples (‘0b100111’) is the representation of the number 39, so, to perform a left shift of just one bit from this decimal we use the following command:

>>> 39 << 1
78
>>> bin(78)
'0b1001110'

The first element of the operation is the number whose bits we want to move (39), the operator << represents left shift, and the second element (1) is the number of bits that will be moved in the direction of the operator (left <<).

"Hold on, does that mean we can perform more than one shift at the same time?"

Exactly! For example:

>>> 39 << 2
156
>>> bin(156)
'0b10011100'

The same syntax applies to right shift: the first element is the number whose bits we want to move, the operator >> represents right shift, and the second element is the number of bits that will be moved in the direction of the operator (>> right).

>>> 39 >> 1
19
>>> bin(19)
'0b10011'
>>> 39 >> 2
9
>>> bin(9)
'0b1001'

Notice, whenever we perform a left shift operation the binary increases. Consequently, its decimal representation also increases. On the other hand, when performing a right shift operation, the binary always decreases, as does its decimal representation.

Back to the Quiz

Now that the concepts of left and right shift are clearer, returning to the quiz we realize it's not that difficult after all. The operation to be done is a right shift of the binary representation of the number 4 ('0b100') moving the bits twice to the right.

>>> 4 >> 2
1
>>> bin(1)
'0b1'

Therefore, the correct answer to the quiz is 1.

So, did you get it right on the first try? I hope you're now more familiar with this type of operation. Comment here if you want to know more about other bitwise operations.

The post Left and Right Shift: Bitwise Operators in Python appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/04/11/left-and-right-shift-bitwise-operators-in-python/feed/ 0
Are hackers watching your screen right now? https://prodsens.live/2024/04/10/are-hackers-watching-your-screen-right-now/?utm_source=rss&utm_medium=rss&utm_campaign=are-hackers-watching-your-screen-right-now https://prodsens.live/2024/04/10/are-hackers-watching-your-screen-right-now/#respond Wed, 10 Apr 2024 20:20:29 +0000 https://prodsens.live/2024/04/10/are-hackers-watching-your-screen-right-now/ are-hackers-watching-your-screen-right-now?

It’s a possibility. I want to share with you one of the most sophisticated hacks I have ever…

The post Are hackers watching your screen right now? appeared first on ProdSens.live.

]]>
are-hackers-watching-your-screen-right-now?

It’s a possibility.

I want to share with you one of the most sophisticated hacks I have ever come across. If you truly love technology, this is something you need to be aware of.

This extraordinary exploit exists in every single electronic device you own, and there is no reliable way to protect yourself from it completely.

“Van Eck Phreaking” is the concept of spying and gathering data by eavesdropping on electromagnetic fields produced by electronic devices.

In theory, it is possible to pick up every bit of data passing through every one of your electronic devices, without the need to physically access or handle the device.

Sounds scary? Yes, it is (but there is nothing to be afraid of).

This is not a science fiction novel or some loosely based theory, but rather a real hack that has been used successfully in the past.

Back in 1985, Wim van Eck published a technical analysis of the security risks involved in using computer monitors (hence the name, Van Eck Phreaking). Since then, (or maybe even before that) this method has been used with varying levels of success in private and military operations around the planet.

How does it work?

Electronic devices are emitting electromagnetic radiation by nature. There is no possible way to avoid electromagnetic leakage while using an electronic device.

For example, a USB keyboard is connected to your computer’s USB port. Every time you type a character – the electronic signal travels through the wire and into your computer’s USB port, where it is then analyzed using multiple layers of logic and turned into the character you see on your screen.

While the signal is traveling through the wire, an electromagnetic field is created for a brief moment around the conductive wire. The movement of electrons generates a “force” field that expands outside the wire (depending on the wire and its insulation, the field can extend over long distances).

The electromagnetic field can be picked up by attackers, which will then attempt to reverse-engineer the signal and reconstruct the data passed through the wire. In theory, the same approach applies to every electronic device. every connection, whether wired, wireless, internal or external.

“Van Eck Phreaking” takes advantage of the fact that many people aren’t aware of this process. Some public examples of incredible spy operations went unnoticed for years using such methods.

Insulation and mitigation

While there is no way to avoid electromagnetic leakage completely. Some concepts and standards aim to reduce the risk of eavesdropping significantly – such as the TEMPEST standards (learn more in the Quicklinks below).

My recommendation to reduce the risks of being attacked by such methods is to always pay the extra dollar when purchasing cables. This does not eliminate the risk, but proper insulation reduces electromagnetic leakage significantly, and may even make it impossible for an attacker to eavesdrop on your devices unless they are in the same room as you.

What is realistically possible?

Using the right hardware and tools such as GNURadio (GR-Tempest) and TempestSDR, it is possible to get a live feed of an HDMI cable from up to 50~ meters away.

For my example, I used the cheapest SDR receiver, running on my Windows and Linux machines with the TempestSDR tool. I was able to capture the other machine’s screen with minimal configuration on two different occasions.

Using my windows machine and an SDR to capture my linux machine's screen

Using my windows machine and an SDR to capture the HDMI cable going to a second monitor

Quicklinks

Van Eck Phreaking on Wikipedia

GNURadio

GR-Tempest

Tempest Standards

TempestSDR

Who am I?

My name is Lev, a self-proclaimed hacker and radio enthusiast, writing for my personal tech hub at HackFM. I have been tinkering with computers for over a decade, and although I may not always be successful in putting them back together, I have gained some knowledge in the field. I currently work as a senior data engineer and I am always available for consulting or discussing anything tech-related. Want to write for HackFM or collaborate on a gritty technical article? Please let me know!

The post Are hackers watching your screen right now? appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/04/10/are-hackers-watching-your-screen-right-now/feed/ 0