Home
Blog
Buy My Stuff
    My account
Make Contact
DecodedNerd - inner ramblings of a <curious> mind
  • Home
  • Blog
  • Buy My Stuff
    • My account
  • Make Contact
Browsing Category
enter the nerdome ramblings

Make $20 000 per month freelancing – not clickbait, I promise.

The dream of making $20,000 a month freelancing. It’s the holy grail of the gig economy – the elusive benchmark that every freelancer strives for. But is it really possible? And if so, how do you get there? Let’s take a look at what it takes to make that sweet, sweet dough.

First off, let’s be real. Making that level of steady income via freelancing is no easy feat. It requires a lot of hard work, dedication, and a touch of luck. But don’t worry, like a superhero jumping off a random 19 story building for no valid reason besides looking cool, I’m here to give you some tips to help you get there.

  1. Find a niche – The first step to making serious cash as a freelancer is to find a niche. Maybe you’re a copywriting ninja, a coding wizard, or a graphic design superhero. Whatever your specialty, make sure it’s something that’s in high demand and that you’re passionate about. And if you’re not sure what your niche is, just remember – there’s always a demand for cat meme creators.
  2. Hustle, hustle, hustle – Making bank via freelancing requires a lot of hustle. You can’t just sit around waiting for work to come to you. You need to actively market yourself, network with other freelancers, and be willing to take on projects outside of your comfort zone. And if all else fails, just start spamming everyone you know on LinkedIn. You never know who might need your services.
  3. Raise your rates – If you’re already a successful freelancer and you’re not making enough per month, it’s time to raise your rates. You’re worth it, damn it! But be prepared for some pushback from clients who think they can get the same work for cheaper. Just remind them that you’re not just a freelancer, you’re a freelancer with bills to pay.
  4. Diversify your income streams –  freelancing doesn’t have to mean working 24/7. You can diversify your income streams by creating passive income through things like e-books, courses, or even a line of cat-themed merchandise (hey, it worked for Grumpy Cat). Just make sure it’s something that aligns with your brand and your skills.
  5. Don’t forget to enjoy life – Making a ton of cash is great and all, but don’t forget to enjoy life too. Take a vacation, spend time with friends and family, and remember why you started freelancing in the first place. And if you’re really feeling overwhelmed, just remember – there’s always wine (or whiskey, or beer, or whatever your poison is).

Just remember, it’s not easy, but it’s possible. And if all else fails, just start making cat memes or be a bro (or sis) on Youtube. You never know where it might take you.

Continue reading
ramblings

Staying motivated in development

Hey everyone

I have been pushing myself to the extremes recently and trying not to drop any balls.

The pressure of achieving my  goals coupled  with expectations from friends and family render me a tightly wound human sometimes and I feel like this state will resonate with most of you.

When I started off coding the future was bright. There were no clients that didn’t get it dictating implausible deadlines, an industry of charlatans on bouncy balls and suits, tech was in it’s infancy and there was such freedom. It felt more like a privilege than an obligation but then I grew up. My passions turned into concepts subjected to other people’s requirements. My art was transformed into a watered down version of itself subject to someone else’s interpretation of a reasonable timeframe. I nearly quit.

This feeling left me with significant burnout and a strong dislike for the industry so I quit everything but working for myself. I did it cold turkey and didn’t tell anyone. I started building every project I put on the backburner. I had no financial safety net but went for it anyway because it was better than the alternative, which was quitting the industry as a whole.

I’m a year into my journey. I’ll let you know how it goes. Share your stories with me on Twitter or comment below.

Continue reading
enter the nerdome ramblings

When GPT helped me create this.. Anime: The Programming Language We All Wish Existed

In the vast and fantastical realm of programming, where every developer is on a quest to find the perfect language, a new contender has emerged – “AnimeScript.” Imagine a world where your code isn’t just a series of logical instructions but a dazzling adventure full of colorful characters, epic story arcs, and the occasional plot twist. Welcome to the whimsical universe of anime programming!

1. Variables – The Protagonists:

In AnimeScript, variables aren’t just placeholders; they are the charismatic protagonists of your code story. Picture int Hero = 42; where the hero’s power level is over 9000, and they’re on a quest to defeat the evil bugs lurking in your codebase.

2. Functions – The Jutsu Masters:

Forget about conventional function declarations; in AnimeScript, functions are unleashed with dramatic flair. void SummonDragonBall() brings forth the mighty Shenron to grant your coding wishes. Just be careful with the syntax; one wrong move, and you might end up with a mischievous Senzu Bean instead.

3. Loops – The Time Travelers:

In AnimeScript, loops aren’t just for repeating tasks; they’re epic time-traveling adventures. Enter the “Shinobi Loop” to iterate through arrays with the speed of a ninja, or activate the “Space-Time ForEach” loop to traverse dimensions and conquer alternate realities.

4. Conditionals – Choose Your Own Adventure:

AnimeScript’s conditionals are more than if-else statements; they’re thrilling choose-your-own-adventure sagas. “if (Hero.isInDanger()) { CryForHelp(); } else { ExecuteFlawlessCounterAttack(); }” – because every hero needs a dramatic turnaround.

5. Error Handling – The Redemption Arcs:

In the world of AnimeScript, errors aren’t failures; they’re redemption arcs waiting to happen. Encounter a bug, and watch as your code character undergoes a transformation, emerging stronger and wiser to face future challenges.

6. Comments – The Fourth Wall Breaks:

In AnimeScript, comments aren’t just for documentation; they’re fourth-wall-breaking moments where your code communicates directly with the programmer. // Beware: The following code block contains a Tsundere Bug – it might act cold, but deep down, it loves you.

7. Frameworks – The Guilds:

Frameworks in AnimeScript aren’t just tools; they’re powerful guilds with their own unique abilities. Join the “MechaMVC Guild” for colossal robots managing your application’s structure, or the “MagicalReact Guild” for spells that make your UI enchantingly responsive.

Conclusion: Unleash Your Inner Otaku Developer 🌟

In the world of AnimeScript, programming is no longer a mundane task but an epic quest filled with laughter, tears, and maybe a giant robot battle or two. So, next time you’re staring at your screen, wishing your code had more flair, just remember – the AnimeScript adventure awaits! Embrace the quirks, welcome the whimsy, and let your code be the hero of its own animated tale. Happy coding, fellow otaku developers! 🚀✨

Continue reading
tutorials

Mastering Tailwind CSS

Tailwind CSS has taken the web development world by storm, offering a utility-first approach to styling that streamlines the design process. However, mastering Tailwind requires more than just throwing classes onto elements. In this blog post, we’ll explore the best coding practices for Tailwind CSS to help you create clean, efficient, and maintainable styles for your web projects.

Organize Your Utilities:
Tailwind encourages a utility-first approach, but that doesn’t mean your HTML should turn into a class soup. Organize utilities logically and use grouping when necessary.
Group related classes to create meaningful utility sections, such as .text-, .bg-, and .p- for text, background, and padding utilities.

Customization with Configuration:
Leverage Tailwind’s configuration file to customize your styles. This way, you can define your color palette, adjust spacing, and tailor the framework to your project’s specific needs.
Be mindful when adding or removing components to keep your final CSS file as small as possible.

Responsive Design with Breakpoints:
Tailwind makes responsive design a breeze with its breakpoint classes. Use sm:, md:, lg:, and xl: prefixes to apply styles based on different screen sizes.
Avoid duplicating styles for each breakpoint; instead, use the responsive variants for a cleaner and more maintainable codebase.

Extend with Plugins:
Tailwind’s ecosystem includes various plugins that can enhance its functionality. Explore plugins for typography, forms, and more to extend Tailwind’s capabilities.
Carefully vet and review plugins to ensure they align with your project’s requirements and follow best practices.

PurgeCSS for Production:
Take advantage of PurgeCSS to remove unused styles in your production build. This significantly reduces the size of your CSS file, resulting in faster load times.
Be cautious when purging styles, especially when dynamically generating class names or using them in JavaScript. Configure PurgeCSS accordingly to avoid unintentional removal of styles.

Use Components Wisely:
Tailwind’s component classes can help you build complex layouts efficiently. However, use them judiciously, especially when combining multiple components, to prevent overly specific styles that may conflict in the future.
Document your custom components and styles for better collaboration with your team.

Theming with CSS Variables:
Employ CSS variables for theming purposes. This allows for easy customization of colors and other design elements without modifying the core Tailwind configuration.
Create a consistent theming structure across your project to maintain a cohesive visual identity.

Version Control with Style Guide:
Include your Tailwind configuration and style guide in version control. This ensures that your team is using a consistent set of styles and helps prevent unexpected changes.
Use tools like Stylelint to enforce coding standards and catch potential issues in your stylesheets.

Continue reading
codewithme tutorials

Fortify Your PHP Superpowers with These Uncommon Security Tips!

Greetings, fellow web developers! As we wield our PHP superpowers to create amazing web applications, we must remember the mighty responsibility of keeping them secure. While we all know about the basic security tricks like input validation and escaping, I’m here to share some rare gems of wisdom that will make your PHP applications almost as impenetrable as a fortress (with a touch of humor, of course!).

1. Embrace the Content Security Policy (CSP) Shield

You know those pesky cross-site scripting (XSS) attacks? Fear not! By activating the Content Security Policy (CSP) shield, you’ll stop those bad scripts right in their tracks. It’s like putting up a “No Entry for Malicious Scripts” sign. The CSP header lets you decide which content sources are safe to load, leaving the hackers scratching their heads in confusion.

2. Say “HSTS Activate!” for HTTPS Awesomeness

Picture this: you say “HSTS Activate!” (not really, but you get the idea) and your website becomes an impenetrable fortress against man-in-the-middle attacks. Enabling HTTP Strict Transport Security (HSTS) ensures that your visitors only communicate with your site over a secure HTTPS connection. No sneaky downgrades to unencrypted territory allowed!

3. Rotate Your Session IDs – The Security Spin Dance

Remember those precious sessions you cherish? Well, it’s time for a spin dance! Regularly monitor and rotate session IDs to fend off session fixation attacks. It’s like changing the lock on your front door to keep out unwanted intruders. Plus, adding a timeout mechanism ensures idle sessions get kicked out after a well-deserved break.

4. Show Some Love to Prepared Statements

Oh, SQL injection attacks, you thought you could get away with it? Not on our watch! We’ve got prepared statements and parameterized queries, the dynamic duo that shields our databases from sneaky hackers. These dynamic defenders ensure that malicious code can’t worm its way into our precious data.

5. Data Whitelisting – The Guest List for Your App

If your app were throwing a party, data whitelisting would be the VIP guest list. Only invited, expected data gets through the door, keeping out unwanted party crashers. This extra layer of security means only the right data gets to dance on your application’s stage.

6. Quiet on Set – Disable PHP Error Reporting

During the development stage, we love PHP error reporting; it’s like having a helpful assistant pointing out every little mistake. But when it comes to the big show, aka the production server, we need to keep things hush-hush. Let’s log those errors instead of spilling our secrets to potential troublemakers.

7. Call in Reinforcements: Security Libraries and Frameworks

Why do all the security work yourself when you can call in the big guns? Security libraries and frameworks are like the Avengers of web development. With PHP Security Advisories Database (PHP-SAD) and the PHP Security Project on your side, you’ll always know when there’s a new threat lurking around.

As we wrap up our journey into the realm of uncommon security tips for PHP developers, remember to laugh along the way. Security doesn’t have to be all serious and stern. By adopting these rare security gems, you’ll fortify your PHP superpowers, creating safer and more reliable applications for your users. So go forth and kick some ass!

Continue reading
enter the nerdome ramblings

Launching Software – the right way revisited

Okay, fair enough, I too am in this game. I have a ton to learn even after decades in the industry and from my exposure I can safely say that I have seen over 80% of startups fail within their first 5 years. I have also seen a lot of “pop up” covid19 fueled startups fail – infact most of them have come and gone.

Here’s the trick about Software development and sales. Do it better, do it cheaper, do it with less hassle, and provide excellent and sustainable support.  Superior support will always trump whatever you’re selling.

So here’s a brief roundup of pointers for getting your product out of the bright and shiny virtual box and into your consumers hands.

  1. Conduct thorough testing: Testing is a crucial part of the software development process, and it is essential to ensure that your software works as intended. Testing should be conducted at every stage of the development process, including unit testing, integration testing, and system testing. This will help to identify and fix any issues before your software is released to the public.
  2. Use Agile methodologies: Agile methodologies, such as Scrum or Kanban, can help to ensure that your software development process is efficient and effective. These methodologies involve regular feedback and communication, which helps to ensure that your software meets the requirements of stakeholders.
  3. Involve stakeholders early: It is important to involve stakeholders early in the software development process. This can help to ensure that your software meets their needs and expectations. Stakeholders can provide feedback on the software design and functionality, which can help to ensure that the software is launched successfully.
  4. Plan for scalability: It is important to plan for scalability when developing software. This means designing the software in such a way that it can handle increased usage as the user base grows. This can involve designing your software to be modular and scalable, using cloud computing or other scalable infrastructure, and ensuring that the software is optimized for performance.
  5. Monitor performance: Once the software is launched, it is important to monitor its performance to ensure that it is working as intended. This can involve monitoring user feedback, monitoring system performance, and analyzing usage data. This can help to identify any issues or areas for improvement, which can be addressed in future updates or releases.
  6. Networking is important, establish or join a community of devs that care about industry advancement, be open to scrutiny.
  7. Work on marketing your software as part of your daily routine.
Continue reading
codewithme enter the nerdome tutorials

$checksum can be your best friend too – fanciness simplified.

We all want or have that friend that will tell us when we have spinach in our teeth. You know, the type that pulls us to the side and says it… this isn’t to be confused for the type that says it at the least opportune time in front of your bosses’ boss but that story is for another time. We all have nightmares okay?

Back to the topic of this blog though… I have a friend who has my back in a way like no other – it tells me that some filthy entity has tampered with my beautiful code and saves my butt quite often.

Okay, backstory time:

Clients sometimes like to engage in what I like to call the event horizon guarantee.

That means, I ensure that everything is rotating around the black hole in a steady balance for x amount of time. If any variable in their environment changes, my guarantee either needs to account for this or will be void (should a third party /developer tamper with the code and ‘break’ the system). This of course, does not include security issues that result from a bug that I should have addressed.

It’s important to safeguard ourselves and clients by providing comprehensive agreements prior to project commencement so the stakes are clear.

This is where generating a checksum for your code comes in. I use this method in every project and you should too!(infact it should be one of multiple ways you check your code’s integrity).

$mychecksum = md5_file($codefilepath);

And that’s it, save this, automate your processes, and boom! one more way to be more secure.


Continue reading
enter the nerdome ramblings

Let’s Bump Up That Security!

Ok, I’ve been more concerned than usual recently. The era of technological advancements at breakneck speeds is upon us and with that comes a plethora of security holes and probably exploitation.

The growing need for advancement in our response and regular ‘housekeeping’ on our digital platforms (and even with digital assets) is abundantly clear.

Over the course of the next few weeks, I will post about general do’s and don’ts and how to safeguard against what’s to come.

Gear up- it’s going to be an awesome, bumpy ride.

In the interim, here are my top 10 security tips for site owners:

  1. Keep software and web applications up-to-date: Ensure that all software, including content management systems (CMS) and plugins, are updated regularly to avoid vulnerabilities.
  2. Implement strong passwords: Use strong passwords and encourage users to do the same. Passwords should be complex, unique, and changed regularly.
  3. Enable two-factor authentication: Two-factor authentication adds an additional layer of security and requires users to provide a second factor of authentication in addition to a password.
  4. Secure data transmissions: Use secure protocols (e.g. HTTPS) to encrypt data transmissions to and from the website, especially for sensitive information such as login credentials and payment details.
  5. Regularly backup website data: Back up your website regularly and keep the backup in a secure location to avoid data loss in case of a security breach or website outage.
  6. Protect against malware: Install antivirus software and firewalls to protect against malware and other malicious attacks. Regularly scan the website for malware and vulnerabilities.
  7. Control access: Limit access to sensitive areas of the website, such as the admin panel, to authorized personnel only.
  8. Monitor website activity: Regularly monitor website activity for signs of suspicious behavior, such as unusual login attempts or file modifications.
  9. Implement website security policies: Establish clear website security policies and procedures for users, such as password policies, email security, and file upload guidelines.
  10. Educate users: Educate users on website security best practices, such as avoiding phishing scams, securing their devices, and reporting suspicious activity.

If you need pointers, you know where to reach me, comment below or @ me on Twitter

Continue reading
enter the nerdome ramblings

I have a dirty fantasy that PHP woke up one day and realized it was TypeScript

Morning

PHP stretches and yawns, ready for a new day of coding. But something feels different today. It’s as if…yes, PHP realizes with a start that it’s now TypeScript.

// PHP code
echo "Good morning, world!";
// TypeScript code
console.log("Good morning, world!");

PHP scratches its metaphorical head, wondering what’s going on. But there’s no time to dwell on it – there’s code to write!

Midday

PHP gets to work, but finds itself struggling with the new syntax. It’s used to the loosey-goosey way of typing, but TypeScript demands precision.

// PHP code
function addNumbers($a, $b) {
return $a + $b;
}
// TypeScript code
function addNumbers(a: number, b: number): number {
return a + b;
}

PHP misses the old days when it could pass anything into a function and hope for the best. Now, it has to declare the types of everything.

Afternoon

PHP takes a break to commiserate with its fellow programming languages. “Hey, Java,” it says, “you think you’re so cool with your strict typing and your curly braces. But at least you don’t have to deal with this.”

Java just laughs and shakes its head. “You think you have it bad? Try dealing with null pointers all day.”

PHP shudders at the thought and returns to its TypeScript code. It’s not going to let a little thing like static typing get in the way of its coding dreams.

Evening

As the day winds down, PHP reflects on what it’s learned. TypeScript may be more rigid, but it’s also more predictable. And sometimes, predictability is a good thing.

// PHP code
if (strpos("hello world", "foo") !== false) {
echo "Found it!";
}
// PHP code that's more like TypeScript
if (strpos("hello world", "foo") !== false) {
echo "Found it!";
} else {
echo "Not found :(";
}
// TypeScript code
if ("hello world".indexOf("foo") !== -1) {
console.log("Found it!");
} else {
console.log("Not found :(");
}

Tomorrow, PHP will go back to being PHP. But it’ll always remember the day it spent as TypeScript – and maybe even appreciate static typing a little more.

Continue reading
enter the nerdome ramblings

Fake Nerds Roundup

You know who I’m referring to – the ones who suddenly became obsessed with comic books and sci-fi movies when it became trendy, but can’t tell you the difference between Star Trek and Star Wars.

Let’s take a look at these posers and their ridiculous attempts to pass as nerds.

  1. The “I’m a nerd because I wear glasses” poser – We all know someone who thinks wearing glasses automatically makes them a nerd. Sorry, Karen, but it’s gonna take more than a pair of hipster frames to convince us you’re a fan of The Lord of the Rings.
  2. The “I’m a nerd because I play video games” poser – Playing video games is great, but it doesn’t automatically make you a nerd. Especially if the only games you’ve ever played are Angry Birds and Candy Crush. Nice try, Brad.
  3. The “I’m a nerd because I watch The Big Bang Theory” poser – Watching a show about nerds does not make you a nerd. In fact, The Big Bang Theory is more of a caricature of nerd culture than an accurate portrayal. Sorry, Jessica, but you’re fooling no one.
  4. The “I’m a nerd because I have a Doctor Who poster in my room” poser – Having a poster of a sci-fi show does not make you a fan of said show. If you can’t even name the actor who played the Doctor before Jodie Whittaker, then you’re definitely not a true Whovian.
  5. The “I’m a nerd because I wear a bowtie” poser – Sorry, but wearing a bowtie does not automatically make you the Doctor (although it does help). Unless you can recite all 13 Doctors in order, you’re not a true fan.

Just remember, it’s not about the glasses or the video games or the Doctor Who posters.

Disclaimer: I remember the 90’s where we were bullied for being nerds, where understanding computers was sooooo uncool, and how I was told I was too pretty to be a coder.

Nowadays, I see Instagram hustles that dawn fake ‘prescription’ glasses and say they’ve just signed up for a #coding #course … let’s add the #codeinpublic stuff to the mix , I love #gaming shirts, a #skinnypumpkinspicelatte, and a few #whoops I showed way too much with that pose posts to the mix and you have the perfect #nerd combo.

I’ll stop the hashtag bs but I will get to my point.. being a nerd has become popular, attracting nerds who make a buck has become an industry too. I am a female in this industry and while I am aware that I can show off my assets and gain more popularity, I choose to let my work speak for me. I choose to pave a path I’m proud of and to not make my hustle about my aesthetics. I got into this industry for the love of computers, science, and coding. I wanted a place I could turn to so I can have the freedom of being myself behind this screen.

Most times what you see is just altered by so many popular opinions and filters. I miss the days where it was all real and the community we built formed lifelong friendships that all had a similar coming up story – that we chose what we chose because of the love of it.

I know my take isn’t a popular opinion in a world dominated by social media, makeup tutorials, and faking it until you make it (or the making it being fake) but I feel as if the current trajectory of the state of the world is sad.

What’s your take? At the end of the day it’s about the passion and the love for all things nerdy. And if you’re still trying to pass as a nerd, just remember – there’s always time to start learning.

Continue reading
Page 1 of 212»

Recent Posts

  • Staying motivated in development
  • When GPT helped me create this.. Anime: The Programming Language We All Wish Existed
  • Mastering Tailwind CSS
  • Fortify Your PHP Superpowers with These Uncommon Security Tips!
  • Launching Software – the right way revisited
Tweets by decodednerd

Recent Comments

  1. Reliable on Fake Nerds Roundup
  2. Reliable on Launching Software – the right way revisited
  3. Reliable on Make $20 000 per month freelancing – not clickbait, I promise.
  4. Reliable on Hello Burnout – I shall smite thee!
  5. jaqueline on Resolving to resolve
Social Media Manager: grow your reach!

© 2023 DecodedNerd. All Rights Reserved.