Nikola Brežnjak blog - Tackling software development with a dose of humor
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Home
Daily Thoughts
Ionic
Stack Overflow
Books
About me
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Nikola Brežnjak blog - Tackling software development with a dose of humor
Miscellaneou$

Get in the Habit of Learning Daily

TL;DR

  • In software, daily learning is the real career cheat code.
  • Use the Feynman technique to turn “I think I get it” into real understanding.
  • Read less, summarize more (processing beats re-reading).
  • Apply the 30‑second rule: summarize right after reading, in your own words.
  • Use a Mind Palace (Ramon Campayo style) for flows/lists you must recall fast (e.g., OAuth, some architecture, etc.).

As pompous as it may sound, we do need to work on ourselves, or we’re just gonna fall behind. There’s no stagnation in learning; it’s only going downhill.

And in software engineering, that’s not motivational woohoo new age stuff; it’s just a reality. The tools change, the “best practices” change, and the stuff you learned two years ago might now be a footnote in a migration guide. And don’t even get me started on all the AI tools (or let alone models)…

So if you opted for a software engineering field (and, I hope, for good reasons – $$$ not being one of them), one would expect from you that you have it clear in your mind that you’re in for the long run and for life-long learning. You’ve heard this one; it’s a marathon…

Here I’m going to share few of the techniques that I picked up along that long way, and will be updating the post once I find something new and useful.

The goal isn’t to “learn everything” (because… good luck with that 😅). The goal is to build a habit that compounds. Ten minutes a day beats a weekend binge once a month — especially if you actually retain what you learn.

Let’s get into the techniques.

The Feynman technique

This one is simple, slightly uncomfortable (in a good way), and brutally effective.

Step 1. Choose the concept you want to understand

Take a blank piece of paper and write that concept at the top of the page.

Step 2. Pretend you’re teaching the idea to someone else

Write out an explanation of the topic, as if you were trying to teach it to a new student.

When you explain the idea this way you get a better idea of what you understand and where you might have some gaps.

Step 3. If you get stuck, go back to the book

Whenever you get stuck, go back to the source material and re-learn that part of the material until you get it enough that you can explain it on paper.

Step 4. Simplify your language

The goal is to use your words, not the words of the source material.

If your explanation is wordy or confusing, that’s an indication that you might not understand the idea as well as you thought – try to simplify the language or create an analogy to better understand it.

Quick takeaway: if you can’t explain it simply, you don’t understand it well enough yet. And that’s fine — now you know exactly what to fix.

Read less, but process more

It’s better to read 10 pages and then write your own summary of it than to read 10 pages 5 times.

This is one of those things that sounds obvious, but most of us still don’t do it. We re-read because it feels productive. But writing a short summary forces your brain to do the actual work.

⚠️ No, AI sumarizing it for you just isn’t the same thing.

If you want a tiny routine that works:

  1. Read 5–10 pages (or one article).
  2. Close it.
  3. Write 5–10 bullet points in your own words.
  4. Bonus: write one “so what?” sentence (why this matters).

That’s it. Not fancy, but works like a charm.

The 30-second rule

This one is actually an addendum to the one above. Right after you read an article sum it up in 30 seconds in your own words.

I love this because it’s so small you can’t really complain you “don’t have time”.

Right after you finish reading, ask yourself:

  • What was this about?
  • What’s the main idea?
  • What will I do differently because of it?

Then say it out loud, or type it into Notes / Notion / a journal / Slack DM to yourself / add it to SOUL.md. Whatever. Just make it yours.

And voilà — your brain gets a “hey, this matters” signal.

Memory Palace

Think of it as saving knowledge into a “place” you can walk through later.

How it works:

  • Pick a place you know well (your apartment, your office, your route to the gym).
  • Choose 5–10 fixed “stations” in it (door, couch, kitchen sink, balcony…).
  • Attach each thing you want to remember to one station using a vivid, slightly ridiculous image.
  • To recall: mentally walk through the place and “see” each station again.

Your brain is insanely good at remembering places + visuals, so we’re basically cheating by storing information in that format.

Example: memorizing the OAuth authorization code flow

Let’s say you keep mixing up the steps. Put them into your apartment:

  1. Front door → User clicks “Sign in with Google” (imagine a giant Google logo as a doormat).
  2. Hallway mirror → Redirect to Authorization Server (mirror “redirects” you somewhere else).
  3. Couch → User consents (a big “Allow” button is sitting on the couch).
  4. Kitchen sink → Authorization code returned to your app (a “CODE” label floating in the water).
  5. Fridge → App exchanges code for tokens (fridge opens and spits out “ACCESS TOKEN” and “REFRESH TOKEN” cans).

Now when you need it, you don’t “remember text” — you just walk through your apartment and the steps pop out.

Where this shines:

  • flows (auth, payments, onboarding)
  • checklists (incident response, release steps)
  • “I always forget the order” problems

You may want to dig into this one a bit more, and here is a great book to do so: Moonwalking with Einstein.

F motivation -> make it automatic

Here’s the part most people skip: make daily learning automatic.

A simple setup:

  • Pick a daily slot: right after coffee, during lunch, before bed (IMHO, the hardest, and I don’t recommend it for anything except light reading to fall asleep easier).
  • Pick a tiny goal: 10 minutes, 1 article, 5 pages, 1 concept.
  • Pick a capture format: one note per day (title + 5 bullets).

If you want the lowest friction version: do the 30-second rule only. Every day. No excuses. Even on days when you’re tired and your brain feels like mashed potatoes.

Conclusion

You don’t need to “go hard” to get better. You need to be consistent.

Working on yourself daily is basically the job description in software engineering. The tech changes, the tools change, the expectations change — but the habit of learning daily keeps you steady. Even if AI does "take our jobs", being someone who can grasp/learn things quickly is going to be a differentiator.

Use the Feynman technique when you want real understanding, use short summaries to retain more, use the 30-second rule to make it effortless, and sprinkle in memory techniques like the mind palace when you want to remember more than your brain would normally allow.

Like I said, I’ll keep updating this post once I find something new and useful.

If you’ve got something that made a difference for you, hit me up in the comments 👍

Miscellaneou$

Be Fearful When Others Are Greedy and Greedy When Others Are Fearful

⚠️ I wrote this in 2016 (yes, 10 years ago), and never actually hit publish 🤦

I found it now while I was going through my drafts. What’s funny is that it holds true today more than ever…

So, I’m hitting publish this time:

The title is a quote by the ever-so-slightly-great Warren Buffett, and it’s worth repeating:

Be Fearful When Others Are Greedy and Greedy When Others Are Fearful

See, today (11.11.2016) I got a taste of that medicine. As you may know, yesterday my fellow Americans voted in a new president, and I thought the dollar would plummet. Quickly, after reading a few headlines, I rushed to convert all my hard-earned $ into my local currency. However, what do you know — by the end of the day, the market “welcomed” this, and if I had just waited one day to see whether it would fall further, I could’ve exchanged then. Instead, I missed out on 0.7% in just one day.

The percentage may sound funny to you; however, given the amount, I learned a valuable lesson the hard way. And, as it seems, those are the only ones that “stick”.

In hope of a better future self; I wish you well, dear Padawan.

It seems that we’ve turned into mere “headline readers,” without even reading the content — let alone reading a book on the topic, or, God forbid, spending some time researching the subject. All we do is read the headline and immediately form an opinion. That doesn’t sound too scientific to me.

So, dear people, please read and research more. Oh, and on that point of research: I’m not talking about “I hold one opinion, let’s Google that and see what I find.” I can guarantee you’ll find websites that affirm your thoughts. However, did you know there are so-called “content generators” that create content so searchers like you find it — boosting view counts and helping dumb us down as a race?

We’ve got to snap out of this Matrix.

Miscellaneou$

How to find a branch parent in Git

You know that moment when you’re staring at a branch named feature/whatever and thinking:

"Cool… but what was this branched off from?"

Maybe you’re cleaning up old branches, reviewing a PR, or trying to figure out why feature/foo contains commits from three different universes. Either way: Git doesn’t explicitly store "parent branch" metadata (because branches are just pointers to commits). But we can usually infer it.

In this post, we’ll use a practical one-liner that prints the most likely parent branch of your current branch.

What we’re building

A small command that you can run on any branch to get a best-guess "parent branch" name.

Here’s the solution:

git show-branch | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"

If you like, you can wrap it in a function later so it’s easier to run. But first, let’s understand what’s going on.

The command (run it on the branch you’re investigating)

Step 1: checkout the branch:

git checkout feature/my-branch

Step 2: run the one-liner:

git show-branch | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"

What you’ll get back

Something like:

main

Meaning: "Given what I see in the commit graph, main looks like the most likely branch this one came from."

And voilà, your repo just got a little less mysterious.

How it works (without turning this into a PhD)

This is a pipeline. Each part trims the output until we’re left with a single branch name.

1) git show-branch

This command prints a compact view of commits and the branches they belong to. It’s useful when you want to compare branches and see where they intersect.

The raw output is noisy, but it includes bracketed branch names like:

* [main] ...
 ! [feature/my-branch] ...

2) sed "s/].*//"

This removes everything after the ], leaving just:

* [main
 ! [feature/my-branch

We’re basically stripping commit messages and keeping only the branch label portion.

3) grep "\*"

This keeps only lines containing *.

In git show-branch output, * is used to highlight a particular row of interest across branches (in practice, it helps narrow candidates to "closest" related branches).

4) grep -v "$(git rev-parse --abbrev-ref HEAD)"

Now we remove the current branch name from the list.

Because if Git returns your branch as its own parent, that’s not helpful (and slightly insulting).

git rev-parse --abbrev-ref HEAD prints the current branch name, so this part is a clean "exclude me".

5) head -n1

We take the first remaining match—basically the best candidate from the top.

This is one reason I call the output a "best guess". It’s a very useful guess, but it’s still based on how git show-branch orders things.

6) sed "s/^.*\[//"

Finally, remove everything up to the [, so we’re left with just:

main

Quick recap ✅

At this point, you have a one-liner that prints the most likely parent branch, a quick way to sanity-check where a feature branch probably started, and a decent understanding of the pipe magic so it doesn’t feel like copy-paste sorcery.

Make it easier to use (optional but recommended)

If you find yourself using this often, add a helper function to your shell config (~/.zshrc or ~/.bashrc):

git-parent() {
  git show-branch \
    | sed "s/].*//" \
    | grep "\*" \
    | grep -v "$(git rev-parse --abbrev-ref HEAD)" \
    | head -n1 \
    | sed "s/^.*\[//"
}

Now you can just run:

git-parent

Much nicer.

Caveats (because Git is Git)

This works best when your repo follows a normal branching model (feature branches off main/master/develop), when you have the relevant branches locally (run git fetch --all if needed), and when your history hasn’t been heavily rewritten in weird ways.

Things that can confuse "parent branch" inference: rebasing after branching, lots of cherry-picks from multiple branches, branching off a feature branch and then merging from other places, or when the real parent branch was deleted.

So treat the output as: "most likely parent branch", not a guaranteed truth.

Want to read more?

If you want to go beyond "best guess" and explore exact branch points, merge-bases, fork-points, and different strategies, these two Stack Overflow threads are gold:

http://stackoverflow.com/questions/1527234/finding-a-branch-point-with-git

http://stackoverflow.com/questions/3161204/find-the-parent-branch-of-a-git-branch

Final thoughts

Git doesn’t store a "parent branch", but with the commit graph and a bit of filtering, you can usually infer it quickly:

git show-branch | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"

Next time someone asks "where did this branch come from?", you’ll have an answer—and you won’t even need to blame your coworker. 😉

Miscellaneou$

SendGrid Phishing Scam Attempts

TL;DR

Over the past few days I started getting a bunch of weird error emails in my inbox from, what seemed to be, SendGrid. The subjects all looked technical; things like “API Endpoint Failure” or “messages are not processing via /v1/send”. Enough to make any developer raise an eyebrow 🤨

What’s going on is simple: some mail servers seem to have been compromised over the holidays and a bunch of not-so-nice people are sending phishing emails posing as SendGrid.

Now, if you’re not using SendGrid, you’d probably ignore them right away.

However, the goal is to get you to click a link that leads to a page that looks exactly like the real SendGrid login — and if you’re not careful, enter your real credentials (which they’ll happily store for future use 😅).

What makes this unusual is that Google hasn’t flagged these as spam yet, so be wary.

What You Should Do

  • Don’t click any links in the message.
  • Mark the message as spam or phishing in your email client.
  • If you do use the service, open your dashboard manually and check logs rather than clicking through the email.

Examples

Here are just some examples, so you can get an idea of what to look for. One common sign is that the email claims to be from SendGrid, but the domain in the “signed-by” field is something you’ve never heard of.





Conclusion

Remember, always, always, always check the actual From in an email if it looks remotely shady.

Stay safe!

Miscellaneou$

Retrospective Questions

TL;DR

Here’s a very long list of retrospective questions which, if used wisely and seldomly (at least twice per year; at most monthly), can help you spot patterns and behaviors you may want to address.

As a pro tip, get a notebook where you’ll be answering all these questions. Yeah, I know, probably a better idea nowadays would be to store it digitally and then feed it into ChatGPT for some conclusions, but there’s still something with actually writing stuff down by hand (you can still OCR it if your writing is readable 🙂).

Anyways, hope this proves to be useful on your improvement path 💪

Disclaimer: I’m not the author of these questions. But, for the life of me, I can’t remember where I got these from (yes, I Googled and ChatGPT-ed). If you do, please ping me an I’ll update the post.

The Questions™

  1. Who am I?
  2. Am I living the life I want? Why yes or why no?
  3. If I had 1 year to live, what would I do?
  4. If I had 1 month to live, what would I do?
  5. If I had 1 week to live, what would I do?
  6. If I had 1 day to live, what would I do?
  7. If I had 1 hour to live, what would I do?
  8. If I had 1 minute to live, what would I do?
  9. What would I regret the most if I died right now?
  10. What advice would I give to myself 3 years ago?
  11. What advice would I give to myself 1 year ago?
  12. What advice would I give to myself 1 month ago?
  13. What advice would I give to myself 1 week ago?
  14. What had to be done yesterday, and I didn’t do it?
  15. What do I want to achieve until the end of my life?
  16. What do I want to achieve in 5 years?
  17. What do I want to achieve in 3 years?
  18. What do I want to achieve in 1 year?
  19. What do I want to stay remembered for?
  20. Why are these things important to me?
  21. What is stopping me and how can I achieve them?
  22. Do I know people that achieved similar goals?
  23. What opportunities am I seeing in my environment, and how can I use them?
  24. Have my recent activities brought me closer to my goals?
  25. What do I need to do in the next week to get closer to completing my goals?
  26. What’s my biggest priority for next week?
  27. What will I do about it?
  28. What can I do so that the following week will be less stressful?
  29. What was I avoiding to do, and it had to be done?
  30. What prevented me from doing that?
  31. What were my wins in the last week?
  32. What did I learn in the last week?
  33. What moment was unforgettable in the last week and why?
  34. What am I grateful for?
  35. Do I love my self, and why?
  36. What is the one thing I could do for free till the rest of my life?
  37. Do I like what I do, or am I at least trying to make it work?
  38. What’s my biggest fear? How can I overcome it?
  39. Who are the 5 people that I spend the most time with?
  40. Do these people motivate or limit me?
  41. Who inspires/motivates me the most currently? Why?
  42. Who’s the most important person in my life, and have I dedicated her/him enough of my time?
  43. Who am I going to dedicate the time in the next week?
  44. Who deserves my gratitude this week?
  45. How, whom and why can I help?
  46. Have I dedicated enough time to myself?
  47. Which habits should I keep on enforcing?
  48. Which habits should I get rid of?
  49. What was the time sink last week?
  50. Is this what I do today be important in 1 year?
  51. Is this what I do today be important in 3 years?
  52. Is this what I do today be important in 5 years?
  53. What can I simplify in my life?
  54. What can I delegate in the next week and to whom?
  55. If life is so short, why do we do so many things we don’t like and like so many things we’re not doing?
  56. When all’s said and done, will you have the feeling that you said more than did?
  57. If the average human life span would be 40 years – how would you live your life?
  58. How much of your life’s path are you controlling?
  59. If you could offer one advice to the newborn (presuming it could understand you I guess), what would it be?
  60. Who would you like to have as a mentor in your life? How can you get to this person?
  61. Is there something you didn’t do, and you really want to do it? What’s stopping you?
  62. What would I do if I had no limits in terms of money, time and resources?
  63. If you had to move to a different country, what would it be?
  64. Would you rather be a worried genius or a happy fool?
  65. Are you the sort of friend you’d like to have?
  66. Has your greatest fear ever come true?
  67. Do you remember a time 5 years ago when you were really stressed about something – is this important today?
  68. If you win a lottery would you quit your job and why?
  69. Do you feel like you’ve lived today’s day 100 times?
  70. If I had a million $, what would I do and why?
  71. If everyone you know would die tomorrow, who would you visit today?
  72. Would you be willing to lower your life expectancy for 10 years in an exchange for being extremely pretty and famous?
  73. Where did you live primarily in the past week? In the past, present or future?
  74. If I had more guts, willing to take any risk, what would I do?
  75. Decisions are made here and now. Are you making your decisions or are they being made for you?
  76. What’s the purpose of my life?
  77. What will I do right now so that I would live a life with purpose?
  78. Is the current work I do meaningful for me?
  79. Is this job going to give me a chance to develop?
  80. Am I going to learn new things?
  81. Will I have the opportunity for recognition and achievement?
  82. Am I going to be given responsibility?

Dude, this is too much

If these feel too much, it’s because they should. Improvement doesn’t come from thinking about your life for 2 minutes. Nor 20 (although a great step up from 2, or worse yet: 0). It usually takes me about an hour and a half to go through these and write them down. YMMV.

However, since you won’t be going through the whole list weekly, here are a few to ask yourself on a weekly basis (ideally when you prep your next weeks’ agenda):

  1. What’s my biggest priority for next week?
  2. What will I do about it?
  3. What can I do so that the following week will be less stressful?

Protip: work on that biggest thing (as Brian Tracy says: eat that frog!) first thing in the morning!

Conclusion

Really, there’s not much to say here other than to challenge you to do it and see if it moves the needle for you in your life. Good luck!

Miscellaneou$

2024 Top Author on dev.to

…was pleasantly surprised to receive this in the mail today. Yes, snail mail 🙂

Thanks to dev.to for being thoughtful.

The post that got me the top author award was: Getting started with React by building a Pokemon search application

Happy Saturday!

Miscellaneou$

Fireblocks Cryptocurrency Scams: A Real-Life Example

TL;DR

Beware of the crypto scams. Here I’m just sharing one that I just got from a site I never even heard of. Still not clear what could they do with my IBAN – assuming it’s just the first step in them trying to extract more info…

Anyways, stay careful 🤗

!TL;DR

The Email

Just so that this hopefully gets picked up by Google and people see it before it hits their email, I’m sharing the text of the email in full:

Dobar dan, I sam Monika Verbic, i predstavljam tvrtku Firebocks. Želim vas obavijestiti da imate neaktivan račun u našem sustavu koji je automatski otvoren 2019. godine.

https://blockchair.com/bitcoin/address/bc1q4cyj5ucd9xenehxyjjm24ycv84c44c4eyf50r8

Na taj račun je uplaćen bonus u iznosu od 250 eura koji ste dobili prilikom registracije. Nakon toga ste aktivirali sesiju automatskog trgovanja, a naš robot je obavljao trgovinske operacije na vašem računu tijekom 5 godina. Zahvaljujući rastu vrijednosti kriptovaluta u tom razdoblju, saldo vašeg računa trenutno iznosi 4670 eura.

Sesija trgovanja je završena, a prema pravilima naše tvrtke, registraciju je potrebno zatvoriti. Međutim, zatvaranje nije moguće dok na računu postoji pozitivan saldo. Zbog toga je potrebno prebaciti sredstva s ovog računa na vaš bankovni račun kako bi se registracija mogla uspješno zaključiti i izbjegli dodatni troškovi provizije.

Molimo vas da nam dostavite IBAN legalnog hrvatskog računa na koji želite primiti sredstva kako bismo mogli izvršiti prijenos. Ako imate bilo kakvih pitanja ili trebate dodatne informacije, slobodno mi se obratite u bilo kojem trenutku.

Hvala vam na suradnji!

—
Monika Verbic
Manager Fireblocks
https://www.fireblocks.com/

The crazy part? Someone who claimed to be Monika called me just before this email was sent (I hung up the phone as soon as the person started saying "you have a trading account with us…").

As crypto is becommoing more lucrative and even a household name, it’s not surprising that the scams are picking up in volume and also becoming increasingly sophisticated. Malicious actors continually find new ways to deceive unsuspecting victims. Recently, I received an email that’s a textbook example of a scam, and I want to share this experience to help you avoid falling for similar traps.

Too Good to Be True

The email, which claimed to be from a company called "Fireblocks," stated that I had an inactive account with a balance of 4,670 euros, earned through a supposed cryptocurrency trading bot. The message seemed professional and convincing at first glance, complete with links to a Bitcoin wallet and a seemingly legitimate website.

The twist? To "retrieve" the funds, they requested my IBAN (bank account information). This is a classic phishing technique—luring you in with promises of a large payout while stealing sensitive financial details.

Red Flags in the Email

  • I never signed up for such a service or company
  • Legitimate companies won’t ask for sensitive details like your IBAN over email.
  • Promises of free money are almost always scams
  • While the email included a link to a Bitcoin address and the company website, these are likely designed to create a false sense of legitimacy
  • Use of the letter "I" instead of "ja" in Croatian language
  • Misspelled name of the actual company
  • Use of a private Gmail account, instead of one coming from a company domain

How to Protect Yourself

  • Verify the Sender: Check the email address carefully. In this case, the address was from a generic domain, not an official company domain
  • Don’t Click on Links: Hover over links to see their true destination before clicking. Avoid clicking links in unsolicited emails altogether
  • Contact the Company Directly: If you suspect the email might be legitimate, visit the company’s official website and contact them through their verified channels
  • Enable Multi-Factor Authentication (MFA): Secure your accounts with MFA to make them harder to breach
  • Educate Yourself: Learn about common scam tactics to recognize them quickly

What to Do If You Receive a Scam Email

  • Do Not Respond: Never reply or provide personal information.
  • Mark as Spam: Flag the email to help your email provider filter similar scams.
  • Report It: Notify your local cybersecurity authority or anti-fraud organization.
  • Spread Awareness: Share your experience with friends and family to protect them.

Final Thoughts

Scammers rely on a lack of awareness to succeed. By staying informed and vigilant, you can avoid falling victim to their tactics. Remember, if something sounds too good to be true, it probably is.

If you’ve encountered similar scams or want to share tips for staying safe online, feel free to comment below!

Miscellaneou$

Five Year Club at dev.to

TL;DR

Today marks 5 years of me being on dev.to. In general, I gotta say that I like the community (I just got this nice badge, so what’s not to like 🙂), and wish to be on the platform 5 years from now too.

Stats

I like stats (and working towards improving them), so I’ll share my stats from these 5 years:

  • Posts: 92
  • Total post reactions: 847
  • Total post views: 273,102
  • Followers: 2895
  • Following users: 36

Top 5 most viewed blog posts

  • Making AJAX calls in pure JavaScript, the old way – 93k views
  • How to make a native Android app that can block phone calls – 24k views
  • Git branching done right with Gitflow & improving code quality with code reviews – 19k views
  • JWT authentication in an Angular application with a Go backend – 16k views
  • How to get started with Ionic framework 3 on Mac and Windows – 12k views

Personal favorites that, IMHO, could use a bit more view-love

  • Learn Git fast as if your job depends on it – 12k views
  • How to ‘make it’ as a remote developer? – 273 views
  • Too many books, not enough time – 237 views

Daily-Thought Series

Recently, I started a new daily-thought series where I post a tweet-like tiny blog post entry every day. The post that got the most exposure in that series was Knowing != Doing. Please feel free to check out the rest and chime in on the discussion.

Learnings

I shared a bunch of learnings from when I published my 300th blog post on my blog.

One thing that still holds to this day is the consistency. What you’re consistent with, you will improve.

Miscellaneou$

Critical Aspects of Coding for Online Casinos

The gaming industry is changing rapidly, with more users than ever before turning to online games.

Some play games with friends on a console, playing titles such as Call of Duty or Fortnite. Others use gaming to meet new people, whilst some replace activities they used to do at a physical location with a virtual experience, such as going to a casino.

The iGaming market, which incorporates online slots and casinos, saw a significant rise in 2020, courtesy of the pandemic. In Croatia, the iGaming market has increased by more than 300% since the start of the century, with European Gaming estimating it is worth more than €360m (HRK 2.6bn). With GiG moving into the country recently, that means lots of opportunity for online gaming providers, and therefore for those involved in coding and developing such games.

If you are interested in coding for an online provider, there are three fundamental rules to remember. Hopefully, these will give you a good starting point when deciding whether iGaming coding and development is for you.

Regulations

The first thing to remember is that iGaming is heavily regulated worldwide, and you need to understand the country you are coding for, not the one you are coding in. Much of this is around Random Number Generators, RNGs, which operate at the heart of every online casino. Techopedia explains that an RNG is a mathematical construct that generates a number without a discernable pattern, hence being called random. Some countries are strict on how the RNGs work, what information must be displayed on-screen and other requirements. In the United States, a growing market for the iGaming industry, those regulations can vary from state to state.

Design is Key

When online casinos first appeared, they were rather basic designs, focusing on gameplay rather than the user experience. Much of that has changed, especially with such a wide variation of online slots and different games available. The user experience must be smooth and facilitate access to a wide range of games. It must not be chaotic, cluttered or unappealing. In terms of basic design, Gala Bingo displays top titles such as Fiery Wilds and Big Banker on their homepage, with options for users to drill down further into each section for even more titles. Those sections contain many more titles, but if they were displayed on the main screen, it might become too busy to navigate. Also, the design of games has changed over the years, with users expecting a solid visual experience from their gameplay and dynamic sound. All of this is worth considering if you begin to code for a provider – are your skills up to the task?

Bugs

Generally, games released on a console can have a few bugs at launch. Cyberpunk might have bombed because of several problems, but titles such as Fallout 76 survived despite being buggy when they first dropped. In the world of iGaming, those bugs need tracking and dealing with very swiftly. You only need to spend a few minutes perusing online casino review sites to discover that bugs or crashes can destroy a brand quickly. Also, if the bug can be exposed by a cheat or someone looking to make some quick money, rest assured they will find a way. Your code needs to be solid, but those bugs need tracking and dealing with immediately.

For more coding advice, tips and news, be sure to pay regular visits to this blog.

Miscellaneou$

Examining the Technology Behind Online Slots

The online slot machine market is rapidly expanding, with iGaming spreading across the world.

2020 was not a great year for many things, but for the world of online casinos, it presented a wonderful opportunity. More people were forced to sit at home looking for alternative pastimes, often turning to their mobile devices to find solace and escapism. That brought a huge number of new customers to the industry, with revenue expected to grow to $114.2bn (kn713.3bn).

That presents an opportunity for developers and coders because each of the games that feature on these sites needs somebody to create them. The world of online slot machines is a competitive one, and not only do they tend to function on similar technology, but they also need to boast impressive graphics and sound to appeal to a generation of gamers used to bright colours and immersive experiences. Often, these providers use bold imagery to help their product stand out from the crowd, and that dictates that behind the spinning wheels there must be skilled individuals building and designing experiences. Leading European slot provider Foxy Bingo have lots of titles that use strong branding and imagery to set a scene for the player to enjoy, such as The Perfect Heist and Neon Pyramid games. These games have clear design aesthetics that make them stand out, as well as being more about the overall experience, rather than a simple slot machine. When you consider this must then function on both Android and iOS, the world is your oyster if you have the right skills.

What technology lies behind these games, and what may permeate into the industry in the future? These are the core principles, mechanics and growth fields to consider.

RNG

Almost all casino games, online slots included, use a random number generator to determine whether a player wins or loses. Assuming each reel of a slot has ten possible outcomes, a random number generator will create a random outcome for each, either wheel by wheel or a single number that determines the outcome. All online slots use this function, and it does mean the outcomes are completely random.

3D Modelling

When many people think of a slot machine, they might picture the old one-armed bandit’, with cherries and melons spinning around. Online slots are nothing like that and the very modern ones use 3D modelling and illustration to create the user experience. Creating a slot is not a one-person job, and an illustrator and designer can be drafted in to work exclusively on the design and characters without ever having to worry about RNGs.

Mobile Conversion

Online slots originated on the internet, programmed for PC using something like JavaScript or Flash Player. Increasingly, players now want the experience on a mobile device, be it Android or iOS. Therefore, anyone with the skills to make the port happen, or even create an identical game from scratch on a mobile device, will be in high demand. Gamers want consistency, so if they find a slot they like at home on their computer, they will want the same experience from that game on their tablet, or whilst commuting on the bus using their phone. With devices running at 1080p just as they do on PC and capable of handling 3D graphics, mobile conversion is a whole new aspect to online slots that grows daily.

VR and AR

Virtual reality and augmented reality are not common within the online slot sector right now, but they will be. Both areas of design and tech have scope for creating even more immersive and enjoyable experiences for the player, keeping them coming back. Customer retention is key and with so many providers on the market, innovation is likely to be a key strength of a successful provider going forward. AR could allow you to build your surroundings into a game, so the player spun the slots using their kitchen fridge as a backdrop, whilst VR could recreate a whole casino experience without ever having to leave the house. That is exciting for players but mouth-watering from a developer’s point of view.

Page 1 of 91234»...Last »

Recent posts

  • StackOverflow – Was It Worth It?
  • Get in the Habit of Learning Daily
  • Be Fearful When Others Are Greedy and Greedy When Others Are Fearful
  • How to find a branch parent in Git
  • Caffeinate your Mac to prevent it from sleeping

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (36)
  • Daily Thoughts (78)
  • Go (3)
  • iOS (5)
  • JavaScript (128)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (3)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (83)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (42)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (82)
  • Unity3D (9)
  • VibeCoding (2)
  • Windows (8)
    • C# (2)
    • WPF (3)
  • Wordpress (2)

"There's no short-term solution for a long-term result." ~ Greg Plitt

"Everything around you that you call life was made up by people that were no smarter than you." ~ S. Jobs

"Hard work beats talent when talent doesn't work hard." ~ Tim Notke

© since 2016 - Nikola Brežnjak