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$

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.

Miscellaneou$

First .debug conference

TL;DR

In this post, I’ll show you some pictures and notes from the very first .debug conference.

⚠️I know, I know, this post comes veeeery late after the conference was already finished 🤦, but I figured that this will (sadly) most probably be the only one I’ll attend the whole year, so I might as well share and recall how it was.

The Swag, oooh the Swag

I was impressed by the amount of stuff they put in the rucksack (oh yes, there was a rucksack too 😊). Yeah, sorry, the chocolate didn’t make it intact to the picture time 😛

swag-smaller

I’ll now go through all the sessions that I attended, share a few pictures and notes.

A new World for Your App, Justyna Jaworska

  • Basically talking about the ‘business opportunity’ to build stuff for this platform

huawei

10 types of devs you’ll meet at the conference, Dora Kalneus (Militaru)

  • speakers, thought leaders, hipsters, influencers, nomads, entrepreneurs, consultants, blockchain something something 🙂, hackers, #iamdeveloper
  • awesome presenter, great flow
  • “Suffering unites people”
  • Personal branding is about creating an opportunity for you to grow

IMG_7357

Companies without designers are building a catastrophe, Tom Kozačinski

  • “Just build it doesn’t work in big companies anymore”
  • “Never hire on the lower end of the salary spectrum”
  • “Rather than focus on artifacts, we focus on prototypes and validating those prototypes in Discovery, with the added benefit that the prototype serves as the spec for Delivery.

IMG_7379

Panel discussion on how to get paid for your work and knowledge

  • Luka Abrus
    • gap getting tighter for seniors
    • Agreed that people once coming from the college have to have projects behind them
    • Government is not helping at all
  • Alan Sumina
    • Our tax system is like Swiss cheese and they weren’t prepared for ‘pausalni’
  • Tatjana Barančić
    • People stopped going to Ireland
    • We see a lot of developers coming back now
    • ‘Pausalci’ that work in a freelancer setup will have no problems
  • Hrvoje Balen
    • We are stupid as people will just start companies outside of our country.
    • Lower the tax on work and increase on real estate (only 8%!?), as otherwise, we’re turning into a renting country

Devonomics – Expanding the developer horizons, Srdjan Vranac

  • “Later equals never”
  • “Never talk about technical debt” – 🤔🤦 oh, really?
  • “Your mandate as a software engineer is to find solutions for the problems presented, with acceptable compromises between time, cost and quality, with buy-in from the management/leadership.”
  • Time to market is the only metric – shorter TTM -> more money
  • Everyone is a salesperson!

IMG_0030

AI in banking, Draženko Kopljar

  • “AI is a buzzword for sales people so they can sell stuff easier” 🙂

IMG_0042

Panel discussion about ‘the life after coding’

  • Mihaela Smadilo
    • It’s hard to make the switch to manager, and communication skills are the key
  • Tomislav Grubisic
    • Regular 1on1 check-ins are key
  • Luka Kladaric
    • Your knowledge evolves, so if you work on a new technology you’ll actually have it easier to learn new things
  • Oleg
    • “Most CEOs are complaining that devs are bad”
    • Personally, I think that the panelist was pushing this question of “what are you gonna do at 60!?”, and they were trying to explain to him but with no luck. Even to, it seemed, a point of irritation.
  • Sven
    • I think that the main motive nowadays is that people work on interesting things

IMG_0059

From diploma to Google, Maja Bilic

  • This was an awesome presentation, should have been the keynote yesterday
  • Imposter syndrome is real
  • The important thing is to like things that you do
  • NTH sucked: on the third day became the design team lead, then the web team lead – I knew exactly nothing about this!
  • Did a lot of retrospection and thinking what I want to do
  • Got two jobs in Google – and then had to make a decision
  • Putting things on the paper and weighing is bullshit as you always deep down have an actual decision you want to do
    • I make a decision, tell everyone, sleep on it. If I don’t regret it, then I actually execute on it.
  • People need growth and challenge that’s out of their comfort zone
  • Interview to realize what’s your value on the market
  • I was so disappointed that there’s no ideal organization – but here’s your chance to bridge the gap
  • A good manager will give you feedback on your performance but also tell you what you need to work on
  • Change is what brings progress as that yields a lot of spaces that aren’t covered
  • Titles don’t say anything about what you actually do
  • Know something that no one else knows
    • Never say that’s not my job, and always know what you’re doing
  • Ask for feedback
  • Know when to move on: when there’s nothing that excites you
  • Mentor – you have to click with this person to ask what to do at a certain problem point
  • Good team, interesting job and opportunity to learn – money comes after this

IMG_0061

10 mistakes I did as a young IT guy, Luka Abrus

  • I thought that people will appreciate my code
  • Vanity metrics
    • Today we’re actually celebrating when we see good metrics and not when we launch!
  • I thought I knew what customers want
  • I loved emails and didn’t wanna go and meet with people
  • As an employer, I was slow to fire
  • I thought that money was the most important
  • I didn’t know how to make a good project deal
  • I didn’t know when to say ‘go to hell’ to the client
  • I applied to things I didn’t have the competency for

IMG_0085

Experiments done in business and life, Martin Stenkilde

  • “As long as you learn something from the failure, everything is great”

IMG_0097

Tech Leadership: People + Technology, Kátia Nakamura

  • Ooof, didn’t resonate with me
    • I totally disagree that someone **shouldn’t ask something in the public Slack channel
    • Does 1on1s every other month – come on, seriously?!
  • Agree only on the last point that you have to have people that take care of other people, and the importance of (written) communication

IMG_0101

Hairy Developer and the Sorcerer’s Startup, Shahyar Ghobadpour

  • Great presenter!
  • Learned how to be tough after they got evicted
  • Office politics is real and it’s not always about how good you are
  • Learn as much as you can anywhere you go
  • Risk, but research beforehand
  • Be good with people, time, skills – if you aren’t, then find a matching partner

entrepreneur

Till next time, stay safe 🙏

Miscellaneou$

Goals

TL;DR

In this post, I’ll share a few tips on how to set the goals, track them, and work towards completing them.

Fair warning: this may be a ‘too much’ kind of post, but it also may be very motivational. It’s your choice. You choose if you’ll think that this is an exaggeration or something that may give you an edge you need. Either way, remember why you’re getting into this: you’re here to get ahead and succeed, not to slack off or barely get by. So, buckle up, it’s supposed to be hard. Going an extra kilometer (miles are overrated) is easy – there’s truly not much competition down the line.

⚠️ All of the things I share here are the things that I do. The books I recommend are the ones I’ve read. However, this may, and then again, may not work for you. Though I’m pretty sure if you do half of the things from the list, you’ll be hooked by the unexpected surge of productivity that you’ll want to learn more, and in the end, find your own best set of tools/books/tips/systems.

If you’re here just for the tips, here they are:

  • How to set them
  • Write them down
  • Set them for a year in advance
  • Plan each day
  • Do the work
  • Prioritize the tasks
  • Work on the one thing at a time
  • Work on the most dreadful task first
  • Use the Pomodoro technique
  • Develop a routine

At the end of this, I also touch on Motivation and Remote work.

HOW TO SET THEM?

Here are a few short tips on how to set them.

Write them down

There’s some ‘magic’ in writing down what you truly want. Don’t question it, just do it, write your goals on a paper/notebook/wall 😉

One of the best (and shortest) books I’ve read on the topic of setting goals is Goals! by Brian Tracy.

There are also book summaries, and YouTube videos of this book in case you’re interested. I’d still recommend reading the book for more info on what format they need to be in, but one is this: be specific in what you want.

Set them for a year in advance

At the start of the year, set your yearly goals and then break them down to quarters, then down to months, weeks, and finally days.

If you’re starting out, quarterly will be fine. OKRs fall nicely into that.

Sometimes things go according to plan; sometimes they don’t. Review them (I do that every month) and adjust accordingly. However, do not!, delete them – you’ll use these at the end of the year when you do a full review of the whole year.

Some may say that you need to plan for 3, 5, or whatever number of years. That’s fine too. Find a number that works for you long term.

Plan each day

Yes, I’m serious when I say you should plan your days. I’ll even go further and say that you should plan each hour of your day. Plan when you work, plan when you play, plan when you relax. Plan to work in blocks of time.

Ideally, every night before you go to sleep, create a plan of your whole next day. The first thing in the morning is the second-best option.

Google calendar may help, but I still use a normal pen and paper. I like the Best Self journals.

Saturdays and Sundays should not be an exception. Again, remember the note from above: you’re here to succeed, not to slack off. They may not be your full ~~12~~ 8 hour workdays, but they can be ‘light reading’ days. But please, whatever you do, don’t turn them into Netflix binging days. If you do that on a consistent basis, you might as well stop reading this right now, as this will not resonate well with you.

DO THE WORK!

Here are a few tips on how to actually work towards completing them. These few tips will boost your productivity, only if you stick to them.

  • Prioritize the tasks
    • > “If everything is important, then nothing is.” ~ Patrick M. Lencioni
    • Prioritize the tasks using the Eisenhower Box method.
  • Work on one thing at a time
    • A good book on the topic is The One Thing by Gary Keller.
  • Work on the most dreadful task first
    • A good book on the topic is Eat That Frog by Brian Tracy.
  • Use the Pomodoro technique
    • You need a few minutes of reading this Wikipedia link to learn how to apply it.
    • I challenge you to do 8 ‘true’ Pomodoros a day. And when you do, I’ll be waiting for that thank you note about the newfound increased productivity that you got.
  • Develop a routine
    • Start your day with a routine like life savers (from the book The Miracle Morning by Hal Elrod). The key thing is: adapt to your style and, more importantly, stick to it.

Motivation

Motivation is fine. Everyone needs a lift from time to time. But it only lasts so long. Some high achievers even say that it’s for amateurs.

Discipline is the key. Develop a habit of working on your goals daily. I again agree: easier said than done. Don’t forget why you’re here for.

Remote work

Remote work is a blessing in disguise. As well as this unfortunate situation, we found ourselves in this year.

You get to stay home.

Remember how you wished you could work from home?

Well, now, you do.

I get it; for some of you, it’s truly awful (both WFH parents with kids, I feel for you, hang in there 💪).

However, for everybody else, it is up to you in the end if you end up working towards your goals, or playing video games.

Remote work is not easy, and it’s not for everyone. I’m pulling a shameless plug here in saying that this post will help you if you want to ‘make it’.

What’s up with all the book references!?

I think that reading books is a great time investment. If you don’t have the time, I challenge you to find fault with the the math behind reading 30 books per year
.

Conclusion

I hope this helps, but remember: nothing beats one’s own hard-earned experience. Therefore, give these tips a go, see what works for you and adapt them to your style.

I wish you good luck in achieving them!

Miscellaneou$

How to ‘make it’ as a remote developer?

A very long TL;DR

In this pompously titled post, I’m going to share a few tips on how to be successful in working as a remote developer.

⚠️ I’m going to focus on developers in this post, as that’s where my experience comes from, and I would argue that these tips can help any remote employee.

I’m not stating that no other way works, I’m just sharing what worked for me in my experience so far (10+ years = 3+ full-time remote + 7 freelance). Yes, there’s a difference between freelance and full-time remote work, but we won’t tackle it in this post. However, I will say that remote work is easier because you don’t have to go around and chase new work/clients yourself, on top of actually finishing projects on time.

In some cases, this may feel like a ‘tough love’ or exacerbating kind of post, but it’s not my intention to discourage you or come across as an asshole. Totally opposite, my hope is that these tips will help you and my intention is to motivate you to go and do/become more ?

I’m all about the Pareto principle. Meaning, doing the few things that give you the biggest bang for the buck. But here’s the catch, it means doing these few things in the best possible way.

My two ‘must haves’ can be summarized like this: do the actual work and overcommunicate that. Everything else is a ‘nice to have’. So, without further ado, let’s get into the details of these…

If you prefer the audio version, my friend and coworker Shawn Milochik and I recorded an episode about this on our DevThink podcast, so check that out.

The One Thing

If there’s one thing that you get from this post, let it be this:

⚠️ There’s no such thing as over-communication in remote work.

Communicate clearly, communicate often.

Here’s the thing; if you’re in the office, your boss sees you in the office. If you’re not, how can you communicate trust to your boss that you are working and coming to work every day at the agreed time? Here are a few things that I did, and that I suggest new folks joining my team do:

  • Commit more often
    • if you commit once every few days it could be seen as if you’re not at all working. Or, potentially worse, outsourcing your stuff. Don’t be this guy. However, if you do, then don’t surf the damn Internet at that time – instead, spend the time to improve the business at which you’re working in some other ways
  • Keep a detailed time-sheet log of everything you do and share it with your manager and your PM daily
    • you don’t have to go and document when you went to the bathroom and stuff, but each time you commit something put it in your log with the time when this happened. At the end of the day, create a summary of what you did and send that to your manager and PM (Project Manager/Product Owner) in a nice short bulleted list.
    • some may see this as an overkill or micromanagement – I see it as working towards ‘making it’. Some may argue that you already gave your update on the standup. I agree and will repeat: there’s no such thing as overcommunication in remote work.
    • the added benefit of writing these summaries is that you’re already getting prepared for your yearly review, and in cases, someone comes in and asks ‘hey what were you working on Monday?’, you’ll have a quick and concise list of things to show them. In my eyes, it’s a win-win situation for minimal effort.
  • Check your spelling in formal communication
    • when replying to official emails and in tickets, make sure to check your spelling. There are tools like Grammarly these days that can help you with that.
  • Become visible in informal communication
    • you may be more on the shy side, and I get that but try to invest some time to:
      • add ? and ? to someone’s messages in #random or #general channels
      • write happy birthday wishes
      • post some links that you read and ask for feedback
      • create polls
      • share a funny image/video
      • share an educational post/video/course
  • Jump on a video call
    • Whenever you have to discuss some idea or get some tips for solving some bug that you can’t seem to figure out, prefer video over chat. It will help you to get to know the people you’re working with.
    • While you’re on that call and when you resolve the working problem that you had, stay a bit longer on a call and get to know the person that helped you. Ask them how they’re doing. But again, use common sense. Soon you’ll figure out who likes to share stuff and with whom you can bond and with whom you can’t.
    • I’m not saying you should waste someone’s time, but everyone needs a break, so use that time to be nice and genuinely get to know someone on your team. Kindness pays off in multiple ways.
    • Pro tip: don’t force it.
  • Meet in person
    • Remote friendly companies get the value of this, and they get their remote employees at least once per year to the main HQ office. Accept that kind of invites!
    • Even if your company doesn’t pay for the trip, I’d argue that you should invest money to go to the main HQ office and spend some time there.
    • Don’t try to work your usual output while in the office. Instead, use it to mingle and chat with people.
    • Don’t restrain yourself just to the people in your team or department. I found that conversations with people from other departments helped me see some pain points they experience and was able to help them.
  • Use your 1on1 time productively
    • come prepared to your 1on1s with your manager. If there’s something that needs to get resolved, communicate it sooner rather than later.
    • set goals and aspirations with him on what you’d like to achieve in the coming year (see if you can extrapolate this to personal goals like ‘learn to play some song on some instrument’)
    • show passion and willingness to progress
    • share your ideas and ask for feedback
    • he’s there to help you (at least I think he should be), so use that

Just Do The Actual Work

If you wiggled your way through the hiring process in some company and got the opportunity to work remotely only to drag your feet around and do just the bare minimum to get by, then stop right here and don’t read onward. You should be proud of your work, and you should strive to get better at it. I won’t go into a debate of why, and I’d argue that if you’re not liking what you do, then you’re in it for the wrong reasons, and unfortunately you won’t last long.

So, do the actual work: close tickets, add ideas, research, document and share your findings of how you think something can be improved.

Without this, you can be the best communicator ever, but if you’re not doing what you’ve been hired to do, then you don’t need me to tell you what will happen.

Don’t Be a Jerk

Say you’re the new breed of the term most true senior devs despise; the super⭐ ?. And say you truly rock in terms of closing tickets.

That’s all nice, but it will only take you so far. Don’t be a jerk! If you’re so good, then share your knowledge, document it, help others, be proactive in spreading this awesome knowledge that you have!

There’s more to a senior developer than just closing tickets… Become a go-to guy for something specific in your company, and willingly help anyone who asks you about it. Take it a step further and become a leader in your team!

Go The Extra Kilometer!

Work-life balance gurus will diss me for saying this, but be prepared to go an extra kilometer (miles are overrated). Here’s my why behind this:
+ you will quickly show that you know what you’re doing
+ you’ll earn respect from your peers
+ you’ll come across as a hard-working, willing to help and goal achieving person that you are

You ask me how should you do this? Well, remember those 2 hours (on average) that you’ve gained for not having to commute to work? Use them productively to get ahead at work.

If you still don’t want to use it to sharpen your axe (sorry grammar, axe sounds stronger than ax), go for a walk/run and listen to audiobooks (Audible is worth every penny) while you do that. You’ll get two birds with one stone: exercise and reading (OK, listening, but you get my point).

Don’t kill yourself
Working extra is, I would argue, needed to prove your worth and I can assure you that the majority of people that achieved something that was important to them worked their ass off at some point in their career.

I’m by far the model to follow there and am working on it. Slowly.

However, even I would be stupid not to say that there are only so many hours in a day that you can be productive. So, do what you can in a day, and take a well-deserved break. Play with your kids, go out with your friends, take your wife for a date, go play some sport, take a dog for a walk, work in the garden… Whatever works for you, just go out and away from the computer.

Manage Your Time

There are a vast number of books on the topic of time management. One that I always recommend is Time Management Made Simple by Brian Tracy.

In case you don’t have the time to read a book (here’s simple math on why you actually do and how you can read at least 6 books per year), look into the pomodoro technique (you can learn it under 5 minutes) and apply it to your day. I challenge you to do 8 true pomodoros in a day. If you do, do it consistently for 2 weeks. After that feel free to send me a ‘thank you ☕’ for the increased productivity that came out of ‘nowhere’.

If you have the luxury of choosing the time when you’ll work, I suggest you learn about yourself in terms of when you work the best. Is it morning, afternoon, night? Just make sure to communicate that to the team, so that they know when you’re available.

Work in your teams’ timezone
This may or may not be possible depending on the timezone you’re in. If you can, great. If you can’t, make it work as best as you can. Common sense works best. People will adapt as long as your contributions/replies are often/timely.

My friend and coworker Shawn Milochik and I did an episode about Time management and productivity on our DevThink podcast so check that out in case you want to hear more about this topic.

Have written goals and todos for every day

Preferably prepare the night before, so that when you get to your dedicated place to work (see below) in the morning, you know what’s first on your plate.

This is your career we’re talking about, not a walk in the park, so don’t take the value of preparation and having big goals too lightly.

Set up a dedicated place to work

Be it your special room in the house, your closet, or whatever, just make sure it has doors. What I mean by that is that it’s so easy to get distracted in a home environment and even your family members may not understand that you’re working.

So, setting some kind of a home office is, trust me, crucial. Especially if you have kids; you won’t be able not to greet them when they walk past you. And just like that, you’re out of the flow and good luck getting back.

Some people prefer coworking spaces, but I’m firmly against that, as it’s just yet another office environment. Especially if there’s an open-floor environment. No, thank you. YMMV.

Some people tend to experience ‘loneliness’ while working remotely. If that’s you, consider going to meetups. If that’s not you, go to meetups either way. It’s a breath of fresh air to meet and speak with the people who are interested in the same topics as you are, and you may learn a new way of approaching things.

Use the tools to your advantage

Any tool can be a lever or a crutch, use them wisely. Here are some tools I use on a daily basis:

  • Slack – who doesn’t use or at least know what’s that? Emoji’s FTW ?
  • Gmail – the Boomerang and Mailtrack plugins are great
  • Google Calendar – if you’re trying to set up a meeting in your organization it helps immensely if your coworkers share their calendar with you – it makes setting up meetings so much more hassle free
  • Evernote – I use it to track all my time sheets, as well as all other notes
  • KanbanFlow – task management app with a Pomodoro timer
  • RescueTime – never fool yourself with how productive you were while at the computer
  • Dropbox – put the stuff that you can’t afford to lose here. If you’re super concerned about privacy, then check out Syncthing.
  • TextExpander – subjectively, this tool saved me from a lot of repetitive typing

Would love to hear in the comments what are the tools you use to stay productive/save time?

Conclusion

Remote work is not easy and remote work is not for everybody. If you don’t possess a certain level of self-discipline, you’ll have trouble working remotely.

However, as with almost everything in life, you can get better at it if you work hard for it and that’s why I hope some of these tips will help you.

You may agree, and you may entirely disagree with these tips. They worked for me, and they may not work for you. When applying anything from this post, use your common sense.

Don’t try to go and implement all of them at once. This doesn’t work with almost anything in life. One example that probably all of us had experience with a similar statement:

I’m going to lose 20 pounds! I’m going to do that so that I’ll stop eating all the sugary stuff, going to start running every morning for 5k, going to… And all of that starting this Monday!

We all know how those resolutions end up. Therefore, start implementing things one by one gradually, and move to another thing only once the previous one has become a habit and something you ‘just do’, and not have to think about. In case you’re interested more about habit forming and similar good stuff, an awesome guy James Clear has a blog about it, and we almost always mention his articles in our podcast.

I’ll end this post with butchering this well-known quote a bit:

Achieving anything worthwhile almost always means living a few years of your life like most people won’t so that you can spend the rest of your life like most people can’t.

How to 'make it' as a #remote #developer? https://t.co/PSdzVMGX4a

— Nikola Brežnjak (@HitmanHR) October 22, 2018

Miscellaneou$

Ekobit DevArena 2018

TL;DR

In this post, I’ll show you some pictures and notes from the Ekobit DevArena 2018 conference.

Previous conferences

In case you’re interested, here are the posts from the previous four that I attended:

  • DevArena 2017
  • DevArena 2016
  • DevArena 2015
  • DevArena 2014

Breakfast

is the most important meal of the day ?

This is how the accreditation looked like on the back side, with the list of presentations per each track:

Conference opening

Awards

This year I was the fastest ‘painter’:

and for that I got a Sony phone:

Anyone wanna buy a phone? ?

As always, if you were active on the talks, you could get one of these:

Which would then go to the drawing pot, for a chance to win yet another set of great prizes at the end of the conference…

Keynote

The presenter was young Albert Gajšak who is the author of the awesome MAKERbuino and MAKERphone that just went live on Kickstarter a few days ago and already has $165k out of a $15k goal. Congrats!

[ngg_images source=”galleries” container_ids=”37″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

NativeScript

Julian Steiner spoke about NativeScript. As many of you know, I’m a die-hard Ionic/Cordova/Hybrid fan (for when it makes sense) so this looked interesting because it’s not hybrid in a way that you have a web-view. Instead, you can access all the native API directly via JavaScript.

[ngg_images source=”galleries” container_ids=”38″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Serverless architecture

Standardly awesome Ratko Ćosić spoke about the serverless architecture:

[ngg_images source=”galleries” container_ids=”39″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Machine learning

An excellent talk by Valentin Solina from Aether-Signum on how they used machine learning in some real-life projects.

[ngg_images source=”galleries” container_ids=”40″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Motivation

Danijela Tokić Šantak gave a very interesting talk on what motivates knowledge workers these days.

[ngg_images source=”galleries” container_ids=”42″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Flutter

Mislav Staržik talked about Flutter, an open-source mobile application development SDK created by Google. Seems interesting, but why Dart ?

[ngg_images source=”galleries” container_ids=”43″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]

Phaser

Standardly awesome Ratko Ćosić showed off the game called Dice and Roll that he made with his family ?

[ngg_images source=”galleries” container_ids=”41″ override_thumbnail_settings=”0″ thumbnail_width=”120″ thumbnail_height=”90″ thumbnail_crop=”1″ images_per_page=”20″ number_of_columns=”0″ ajax_pagination=”0″ show_all_in_lightbox=”0″ use_imagebrowser_effect=”0″ show_slideshow_link=”1″ slideshow_link_text=”[Show as slideshow]” order_by=”sortorder” order_direction=”ASC” returns=”included” maximum_entity_count=”500″ display_type=”photocrati-nextgen_basic_thumbnails”]All in all, yet another great conference!

Till next time, drink lots of ☕! 

@DevArena 2018 was ?Here are some notes and pics: https://t.co/syTVafhEX7

— Nikola Brežnjak (@HitmanHR) October 20, 2018

Projects

DevThink podcast

I’m super happy to announce that my friend (and coworker) Shawn Milochik and I started our very own podcast called DevThink.

In the DevThink podcast we discuss ideas and practices that worked for us in our software development journey so far. We’re also discussing the topics that we’re currently exploring and learning about.

Currently, we published two shows:

  • Is It Worth To Build A Profile On StackOverflow?
  • Dvorak #1 – Impressions After Using It for 2 Weeks

But, we’ve already recorded 8 additional shows that we’ll be publishing one per week.

Of course, feedback is greatly appreciated (be it good or bad)… We’re also open to suggestions for what you’d like to hear us discuss ?

Super happy to announce the DevThink podcast, brought to you by @ShawnMilo and yours truly https://t.co/VwgtRUdXkj

— Nikola Brežnjak (@HitmanHR) February 19, 2018

Hacker Games

Help me create a list of Hacker Challenge Games

TL; DR

I’m looking to create a list of so-called Hacker Challenge Games that were popular in the last century. Since a lot of them are no longer available, some may light up like a Christmass tree when they see their favorite ‘games’ from a time that now seems soooo far away. ?

Come and help me gather them in the comments or, if you feel like it, submit a Pull Request ?

Nostalgia

Picture this: it’s somewhere around Y2K, and everyone is talking about how those big white boxes aka computers)are gonna lose it and that the world is better of without them (ah, dear haters…).

It so happened that I was fortunate enough to own one of those boxes. Not only that, but one dad’s friend got us all set up for this thing called The Internet. Now, mind you, I used that good ‘ol awesome cool sound making 56 Kbps modem.

Anyways, I honestly don’t remember how I found about these ‘games’. Maybe I wanted to be a hacker after watching the cult movie with Angelina Jolie, so I Yahooed (no wonder that never stick) ‘hackers’ and there I was.

But what I do remember is how many countless hours I spent solving these challenges.

This was not only great because it strengthened my ability for problem-solving and never giving up, but also it made me learn new stuff like Cryptography, Steganography, Web, Cracking even ?. Of course, it also made me learn various programming languages as some tasks were designed like that.

I was so into it, that I even made my own version – Hitman’s challenge as a bachelor thesis. Those interested in it, can read it here (note: it’s in Croatian).

Ah, don’t ask, I think the code is awful and I’m ashamed of it now. But, a wise friend told me that that means that I’ve probably progressed as a developer, and progress is always a good thing. He even went so far to say that if you look back at your code from six months ago and you’re happy with it, you probably haven’t grown as a dev… No worries, with all the new frameworks popping up these days, you can stay busy just evaluating them, but that’s a rant for some other post.

A bit later I earned my masters degree in computing, got a job and started writing REAL software. I’ve officially ‘grown up’. Little Prince would be disappointed. ?

However, I loved it and still to this day remember those days with joy and nostalgia. Just the other day I got this idea of checking if these old sites still exist. I was sad to find out they’re no longer around. R.I.P.

So now, please help me remember what all was ‘out there’ back in the days. But also, please by all means – list any new that are popular these days.

The ‘Hacker’ games

Here I’m listing few that I remember:

Still LIVE
+ http://www.try2hack.lt/en/
+ http://bright-shadows.net/

R.I.P.
+ hackits.de
+ hackerlab.org
+ slyfx.com
+ gild.com
+ arcanum.co.nz

Back in the day, there was this one web directory that listed all of these sites, and even though the site is still up (http://hackergames.net/), it doesn’t seem like it’s working anymore.

Sure, nowadays we have things like:

  • https://projecteuler.net/
  • https://adventofcode.com/
  • https://www.topcoder.com/

but these sites just offer the programming challenges as far as I know.

Conclusion

I hope I sparked some joy with this post and am really looking forward to seeing what you come up with in the comments.

As for some lingering idea: oh wouldn’t it be great if we could make an open source hacker challenge game #wishfullThinking

Page 1 of 81234»...Last »

Recent posts

  • Discipline is also a talent
  • Play for the fun of it
  • The importance of failing
  • A fresh start
  • Perseverance

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (35)
  • Daily Thoughts (77)
  • Go (3)
  • iOS (5)
  • JavaScript (127)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (2)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (77)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (40)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (81)
  • Unity3D (9)
  • 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