<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dejan S. Višekruna</title>
    <description>The latest articles on DEV Community by Dejan S. Višekruna (@dveb).</description>
    <link>https://dev.to/dveb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1072158%2Fc52da2b9-95ae-4cc4-8af6-9e1dcb73f8fb.jpg</url>
      <title>DEV Community: Dejan S. Višekruna</title>
      <link>https://dev.to/dveb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dveb"/>
    <language>en</language>
    <item>
      <title>50 Shades of grAI</title>
      <dc:creator>Dejan S. Višekruna</dc:creator>
      <pubDate>Thu, 11 Jun 2026 22:57:10 +0000</pubDate>
      <link>https://dev.to/dveb/50-shades-of-grai-9c3</link>
      <guid>https://dev.to/dveb/50-shades-of-grai-9c3</guid>
      <description>&lt;p&gt;When working with AI tools, the difference between expectations and real delivery becomes visible very quickly.&lt;/p&gt;

&lt;p&gt;The expectation is simple: AI writes code, speeds up work, and reduces repetition. That is true. AI can suggest structure, write initial code, explain an existing implementation, and accelerate parts of everyday development work.&lt;/p&gt;

&lt;p&gt;But output is not the same as a delivered solution.&lt;/p&gt;

&lt;p&gt;In a real project, code has to fit the product, the context, the architecture, the team’s rules, and the expected behavior of the system. AI can help write code, but it does not take responsibility for whether that code should be accepted, changed, or rejected.&lt;/p&gt;

&lt;p&gt;That is where the real delivery problem starts.&lt;/p&gt;

&lt;p&gt;The question is not only whether AI can generate something. The question is who understands the requirement, who verifies the result, who sees the error in context, and who takes responsibility when the solution reaches production.&lt;/p&gt;

&lt;p&gt;AI has value when it is used by someone who knows what to verify.&lt;/p&gt;

&lt;p&gt;Without that, AI only makes work faster without enough control.&lt;/p&gt;

&lt;p&gt;50 Shades of grAI is an attempt to describe that space through 50 short statements from real software delivery.&lt;/p&gt;

&lt;p&gt;The cards are published on LinkedIn and Instagram, while the full archive is kept at:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://50shadesofgrai.com/" rel="noopener noreferrer"&gt;https://50shadesofgrai.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not as a prompt list.&lt;/p&gt;

&lt;p&gt;Not as AI hype.&lt;/p&gt;

&lt;p&gt;Just as practical notes from the work.&lt;br&gt;
Series: #50ShadesOfGrAI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I Used ChatGPT to Identify Two Songs I Heard Once — Over 30 Years Ago</title>
      <dc:creator>Dejan S. Višekruna</dc:creator>
      <pubDate>Sat, 07 Jun 2025 22:30:26 +0000</pubDate>
      <link>https://dev.to/dveb/how-i-used-chatgpt-to-identify-two-songs-i-heard-once-over-30-years-ago-28f8</link>
      <guid>https://dev.to/dveb/how-i-used-chatgpt-to-identify-two-songs-i-heard-once-over-30-years-ago-28f8</guid>
      <description>&lt;blockquote&gt;
&lt;h2&gt;
  
  
  A personal memory retrieval turned technical challenge — and how ChatGPT helped solve it.
&lt;/h2&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🎯 The Challenge
&lt;/h2&gt;

&lt;p&gt;I had been searching for two songs for decades. One was a dreamy eurobeat track, the other a dance cover with a female vocal.&lt;br&gt;&lt;br&gt;
I had no artist, no title, no recording — only a feeling, a rough memory of the beat, and the fact that I heard each one only once on the radio in Belgrade in the early ’90s.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Using ChatGPT as a Research Tool
&lt;/h2&gt;

&lt;p&gt;Instead of asking &lt;em&gt;“What song is this?”&lt;/em&gt;, I approached ChatGPT like a research assistant.&lt;/p&gt;

&lt;p&gt;Here’s what I gave it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vocal style:&lt;/strong&gt; Female
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Era clues:&lt;/strong&gt; One was from the late ’80s/early ’90s, the other from the mid-’90s
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beat style:&lt;/strong&gt; One had a groove similar to &lt;em&gt;Back to Life&lt;/em&gt; by Soul II Soul; the other leaned more toward eurobeat
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context:&lt;/strong&gt; Both songs were aired only once on Belgrade radio stations during a time of severe UN sanctions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data issue:&lt;/strong&gt; One track was misidentified as “Three Times” due to a faulty RDS display
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory anchor:&lt;/strong&gt; I remembered a single chorus line from one of them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I turned that into a structured query — and then refined it through several iterations.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ The Result
&lt;/h2&gt;

&lt;p&gt;After a series of narrowing-down steps, ChatGPT helped identify two songs I never expected to find:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;“Dreamtime” – Zee&lt;/strong&gt; &lt;em&gt;(misread on radio as “Three Times”)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Dream” – W.I.P.&lt;/strong&gt; &lt;em&gt;(a 1991 dance cover of “All I Have to Do Is Dream”)&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔍 Prompting Breakdown
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt; Structured inputs: genre, rhythm, era, vocal type, source context
&lt;span class="p"&gt;-&lt;/span&gt; Prompt chaining: refining results based on emotional match and memory fragments
&lt;span class="p"&gt;-&lt;/span&gt; Rejection criteria: wrong mood, wrong lyrics, wrong production style
&lt;span class="p"&gt;-&lt;/span&gt; AI cross-referenced musical style, RDS errors, historical distribution
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🤔 Why This Matters
&lt;/h2&gt;

&lt;p&gt;LLMs aren’t just for coding, summarizing, or rewriting emails.&lt;br&gt;&lt;br&gt;
They can act as context engines — helping us reconnect with pieces of our lives that search engines left behind.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This wasn’t just about finding songs. It was about proving how &lt;em&gt;human memory + AI reasoning&lt;/em&gt; can solve a decades-old emotional puzzle.&lt;/p&gt;

&lt;p&gt;And to write it using the very same &lt;strong&gt;ChatGPT&lt;/strong&gt; that helped me find those songs in the first place — that was part of the closure.&lt;br&gt;&lt;br&gt;
Because this isn’t just my story. It’s a reminder that &lt;strong&gt;humans + AI can bring back something deeply personal&lt;/strong&gt; — something even search engines forgot.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Ever used AI to find a lost piece of your past? Let me know in the comments.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieuxywz4ecb4269u37p1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieuxywz4ecb4269u37p1.png" alt="A nostalgic view of a car dashboard with “THREE TIMES” on the radio, and a teenager gazing out into the late afternoon light." width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI-generated by ChatGPT for illustration purposes. No memories (or animals) were harmed during the making of this post.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>promptengineering</category>
      <category>casestudy</category>
    </item>
    <item>
      <title>Restoring the Freedom of Choice: Why I Decided to Bring Back the “Disable Visual Editor” Option in WordPress</title>
      <dc:creator>Dejan S. Višekruna</dc:creator>
      <pubDate>Fri, 30 May 2025 17:28:59 +0000</pubDate>
      <link>https://dev.to/dveb/restoring-the-freedom-of-choice-why-i-decided-to-bring-back-the-disable-visual-editor-option-in-4bi3</link>
      <guid>https://dev.to/dveb/restoring-the-freedom-of-choice-why-i-decided-to-bring-back-the-disable-visual-editor-option-in-4bi3</guid>
      <description>&lt;p&gt;As a developer who writes directly in HTML, I’ve always relied on a small but important setting in WordPress:&lt;br&gt;
“&lt;strong&gt;Visual Editor: +/- Disable the visual editor when writing&lt;/strong&gt;” in the user profile.&lt;/p&gt;

&lt;p&gt;But in version 6.8, WordPress removed that option — without warning.&lt;/p&gt;

&lt;p&gt;For me, this wasn’t just a small inconvenience. It was the loss of &lt;strong&gt;freedom of choice&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So I decided to fix that and bring it back as a plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem That Affects Many
&lt;/h2&gt;

&lt;p&gt;Many developers, freelancers, and users who work with code are &lt;strong&gt;not fans of WYSIWYG editors&lt;/strong&gt;. Not everyone is a “visual type.”&lt;/p&gt;

&lt;p&gt;Additionally, there are times when you simply need to input HTML tags that aren’t well supported in a standard text editor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem with the visual editor&lt;/strong&gt; is that it can “clean up” the code. A small fix through the Edit Page/Post in the Dashboard — or, more often, accidentally opening the Visual tab — can wipe out all the HTML you worked so hard to write. And then, back to square one.&lt;/p&gt;

&lt;p&gt;I’ve gone as far as preparing HTML-based content locally, then &lt;strong&gt;copy/pasting&lt;/strong&gt; it directly into the database (&lt;code&gt;wp_posts &amp;gt; post_content&lt;/code&gt;). I no longer even add new &lt;code&gt;wp_post&lt;/code&gt; IDs through the Dashboard; I do it via SQL commands or my own upgraded &lt;em&gt;legacy&lt;/em&gt; version of a previously banned mass page creation plugin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And then I pack it all...&lt;/strong&gt; Then someone (or I) opens the WP TinyMCE Editor — the &lt;em&gt;Visual&lt;/em&gt; tab — and &lt;strong&gt;flushes the code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the old WordPress, all you needed to do was check the box “&lt;strong&gt;Disable the visual editor when writing&lt;/strong&gt;” in your profile. &lt;strong&gt;Let the worst happen — the code stays&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But since version 6.8, WordPress no longer shows this option, even if the Classic Editor plugin is active. What was once a simple solution — is now completely removed from the interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution I Made
&lt;/h2&gt;

&lt;p&gt;This is where I created &lt;strong&gt;Classic Visual Editor Options&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The plugin does just one thing: &lt;strong&gt;restores that old&lt;/strong&gt;, &lt;strong&gt;beloved option&lt;/strong&gt; in the user profile.&lt;/p&gt;

&lt;p&gt;No additional settings. No extra UI. No bloat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Just that one checkbox&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Works even if you use Block Editor&lt;/li&gt;
&lt;li&gt;✅ Works even if you use Classic Editor&lt;/li&gt;
&lt;li&gt;✅ Respects user settings (rich_editing meta)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I purposely kept it minimalist because sometimes, that’s exactly what’s needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion — It’s Not Nostalgia, It’s a Choice
&lt;/h2&gt;

&lt;p&gt;This story isn’t about the past. It’s not even about one checkbox.&lt;/p&gt;

&lt;p&gt;It’s about the fact that s*&lt;em&gt;ome users still want control over how they write&lt;/em&gt;*. They want a work environment without visual “flavor.” They want to write in peace — just as they always have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you’re one of them — this plugin is for you&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔗 Plugin Link: &lt;a href="https://wordpress.org/plugins/classic-visual-editor-options/" rel="noopener noreferrer"&gt;Classic Visual Editor Options&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to leave a comment, suggestion, or question.&lt;br&gt;
I’m open to feedback — and new solutions that respect the old things that worked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dejan S. Višekruna&lt;/strong&gt;&lt;br&gt;
WP developer and someone who still believes that — &lt;strong&gt;Code is Poetry&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
