<![CDATA[Hamlab]]>https://hamlab.dev/https://hamlab.dev/favicon.pngHamlabhttps://hamlab.dev/Ghost 4.48Sat, 21 May 2022 10:21:54 GMT60<![CDATA[One in a Trillion]]>https://hamlab.dev/one-in-a-trillion/5f26eab5935c6f588451cdabSat, 21 May 2022 09:50:00 GMTOne in a Trillion One in a Trillion
Over 20k installs & a vibrant Discord community!

Description

One in a Trillion

With over 180 rare eggs to catch can you become one of the top egg hunters in the game?

One in a Trillion is an odds based tapper game where you compete with friends and the community to hunt rare eggs that range in rarity of 1 in 250 taps, all the way up to the insane 1 in 1,000,000,000,000!

"2 days in and completely addicted! Loving the 2 way street on information via the social media. Collect them all from the safety of your own home!"  - Anita ⋆⋆⋆⋆⋆

Increase your odds by playing the manic Tap Blasts mini game which simulate thousands of taps per second or try our Scrambled Eggs mini game where you try to pick the rarest eggs from a set. Then there are the dirty eggs, use in-game currency to add luck sauce for a bigger change of revealing a super rare egg.

One in a Trillion

Become part of our vibrant community, a lot of eggs are named after our players so join us on our social media channels and be part of the fun. Or invite your friends and play together with out news feed and stats leaderboards.

Progress through the levels and build up your wallet by tapping and selling eggs to be able to play the mini games which give a higher chance of finding the rarest eggs!

"We love this game, it's east to follow for non gamers, both relaxing and annoyingly addictive. Safe to play with my 9 yr old son. Love it!" - Mrs Wench ⋆⋆⋆⋆⋆

One in a Trillion is an actively worked on game by a single developer who is active in the community, feel free to get in touch and offer your feedback. The game will keep improving and expanding and you can be a part of it!

Come join in the fun and become an egg hunter, are you ready to tap?

Game features:

  • No ads
  • Over 180 rare eggs to find ranging from 1/250 to 1/trillion chance
  • Play with friends and the community with our news feed and leaderboards
  • Three mini games mean you can find each egg in four different ways
  • Game improving all of the time, updates weekly

Ready… Eggy… Go!

One in a Trillion

Idea Inspiration

It's a quirky game and there are many of these simple tapper/clicking based games out there but the inspiration for this game actually comes from a Math's class back in the school days around the turn of the millennium.

Our developer used to sit in class bored and with only a calculator at hand to fiddle around with, they'd type in '1 + 1' and then when you press equals, the number on the calculator would increment by one.

The game was to see how high you could get that number before the end of the class and when the calculator was put away.

Who would have thought Math class would be the inspiration of a silly game?!

Of course, that is a very simple game, to brighten things up a bit more we added the concept of the collectible eggs, something cute and happy looking. Who doesn't love an egg, right?

Another concept of the game is to relax and pass time. Have you ever been in situations where you need a low-level activity to calm and relax your brain, empty out all of those thoughts whizzing around? We have thought about this when designing the game, we want it to be a relaxing and escaping experience. Which explains why the game's background slowly changes colors as you tap away.

And the last key component of the game is odds. We've all heard one in a million, or that winning the lottery is like a one in x million chance, but it's hard for our brains to really comprehend just how big those numbers are. Playing One in a Trillion, you'll quickly find out that just catching a 1 in a 100k egg is so unlikely that you'll have to be tapping at your phone for days.

It's quite possible that no one will ever find the golden egg which comes around roughly once every trillion clicks!

One in a Trillion

The joys of creating

Creating things, any type of thing, can be an amazing experience!

Firstly, you have those moments where an idea starts to formulate in your mind and you get the rush of excitement! You just want to stop what you are doing and get right to it.

Warning! Having ideas when you're lying in bed will stop you from falling asleep anytime soon. XD

Then comes the process where you start building and the idea becomes a real tangible thing, and it mutates as you see things that can be improved upon, or just don't work as you initially thought they would. It's a lot of fun.

The best part of the whole experience comes once you get your creation out there, it can be a nerve wracking experience but it's ultimately where all of the best rewards lie.

One in a Trillion

We showed friends and family One in a Trillion and the response was awesome, from people getting hooked on it, to friends getting their whole neighborhood playing the game! Hearing about people finding value from something you've made is a wonderful experience.

But it's not just that, opportunities can arise. Shortly after showing the app to people, we had suggestions such as the eggs having backstories, and those people are helping write those backstories at the moment.

A designer friend of ours noticed a few issues with the design of the eggs, which yeah! developers aren't often great designers, Hah! They're helping not only to improve the design but also add a lot more quirky types of design to the eggs, which in turn will give us inspiration to write even quirkier backstories and increase the quality of the game.

Who knows where these working relationships that are being built at the moment will lead to.

From a very simple idea and game. To who knows, but it'll be a fun to find out!

To anyone who has read down this far. In whatever you do and wherever your interests lie, if you have the opportunity, get creating things - you won't regret it. :)


One in a Trillion One in a Trillion ]]>
<![CDATA[Background Builder]]>https://hamlab.dev/background-image-generator/5ee5f028727f3b4090ecc89aSun, 16 Aug 2020 11:45:00 GMTbg.hamlab.devBackground Builder

After spending half an hour creating images for each of our posts, we decided to automate the process and create a background image generation tool for all of us to use! :)

Background Builder
HamLab's Background Image Generator

Create lovely gradient backgrounds of any size in seconds, overlay shapes if you like and you can also drag and drop to make the image exactly how you'd like.

This tool works well on both mobile and desktop, so give it a try from anywhere

Get Started

This is super easy, head over to bg.hamlab.dev and there'll already be an image automatically generated with a preset background gradient and semi-transparent shapes ordered randomly.

1. Image size

An important part of any image is it's size and if you intend to use the image on social media and other places online then it's likely that there's a perfect size for the job.

For example, if you're posting a story to Instagram for the best results you'll want an image that is 1080 x 1920 pixels. We have you covered, pick from preset image sizes to instantly create an image of that size and it works lots of apps such as Facebook, Twitter, Snapchat, YouTube and many more.

Background Builder

2. Background

Again, you can make use of our preset gradients that we have created but you are free to select your own colors if you are working with your brand or color scheme.

The image will automatically update as you change the gradient, helping you find the colors that work best for you.

Background Builder

3. Shapes

To really bring your background to life we have created a automatic way to generate semi-transparent shapes to your background, you could go for circles, triangles, stars and many more.

You are also in control of the quantity of shapes and the rang of sizes that will be generated.

But here's the best bit, you can drag & drop the shapes around the canvas so that you can really control how you want your background to look!

4. Export

Once you're happy with your background simply press the download button and off you go, use it as a background to post on social media, or add an overlay of text or icons. You can even use the background for your phone display. Anywhere!

It's your image :)

So get started now and have your content images create in no time at all!

Background Builder

Where we're using our Background Generator

As we said, we were creating these sort of images ourselves originally and wasting a lot of time, so just where and how do we use the background generator?

  • Mobile app logo's and store listing screenshots, check out our One in a Trillion app for an example
  • All of our Chrome extensions also need a logo and screenshots and we create colorful backgrounds to give the store listing a pop, see our Twitter Unfollow All extension
  • We use the tool extensively through the HamLab website of course, just click on any page about our tools or our How To's and you'll notice them.
  • Check us out on social media such as Twitter, Instagram and Facebook, the backgrounds are ideal for posts and stories.

If you find this tool useful - Please consider a donation <3

We accept PayPal and crypto currencies or you can simply by us a coffee!

Background Builder]]>
<![CDATA[How to check the quality of a Twitter profile]]>https://hamlab.dev/how-to-check-the-quality-of-a-twitter-profile/5ef222d7bf35235f60c45d2eTue, 23 Jun 2020 15:57:01 GMTInstall Twitter Profile Metrics extension!How to check the quality of a Twitter profileHow to check the quality of a Twitter profile

In order for your Twitter newsfeed to be as high quality as possible you need to be following not only the types of accounts that you are interested in but also the profiles that tweet high quality posts.

We've built a Chrome extension that adds Twitter Profile Metrics to every profile, this gives you such stats as follow ratio, retweets per tweet and an engagement score so that you can easily see how a profile is currently performing.

Not just that, we list which applications and automated services they are using to tweet from which can show you whether a Twitter profile is using automation or is likely to be a bot.

To find out more about the tool which scored highly on Product Hunt, we've written how it works here.

The difference between a high and low quality profile

Okay, so first of all. We love both of these accounts and they've been used as they are both entertainers. One is a very successful stand up comedian and the other creates music on the fly which is streamed to his many followers on YouTube and other social media platforms.

Lower engaging profile

Like we said, we love Jimmy, so no offense! But if we look at his profile through the eyes of our Twitter Profile Metrics tool then we can make a few conclusions:

How to check the quality of a Twitter profile
Awesome comedian Jimmy C's profile

Jimmy has millions of followers and he tweets fairly infrequently, which is a good thing. Do we really want an account that tweets 100 times a day? That'll pollute our newsfeed.

The profile seems to get a good amount of replies, retweets and favorites too, it seems that all is good right? However, it's the engagement follower score which is currently rather low.

Engagement follow score is the Engagement score per tweet divided by their amount of followers, this is to help show how many of their followers interact with the average tweet (actual value is multiplied by 10,000).

This means that there's only a small amount of followers that are interacting with the profiles tweets.

There could be many reasons for this but one seems to be because the Twitter account is mainly used to broadcast upcoming shows and the comedians content elsewhere, such as Youtube clips, etc.

High engaging profile

Now let's compare that with a look at Marc Rebillet's Twitter account, or Loop Daddy as we know him! This is a musician who streams and performs completely improvised sets and built his audience online.

How to check the quality of a Twitter profile
'Damn, nice job on your buttholl' - Loop Daddy

As you can see here, this profile has a lot less followers, 38 times less, however the replies, retweets and favorites are a way higher. The engagement follower score for Marc is really high.

It could also be worth noting that he only ever tweets from his iPhone, it's unlikely that any of his tweets are automated.

So why is this account scoring so highly? I think it's because so many of his tweets are specifically made for social media. You'll often see posts of his that are portrait recorded videos where he talks directly to his followers, as well as tiny clips from his streams and shows.

You'll also catch him tweeting more personal thoughts and ideas, this is not an account that is broadcasting, this is an account that is actively trying to engage and entertain - that's why it's a quality account.

Trash and bot accounts

Okay, so the Chrome extension has made it very easy to see what type of account you are looking at but it can also be used to quickly highlight accounts that are completely trash and quite possibly a bot.

How to check the quality of a Twitter profile
A profile that replied to a Trump tweet

We quickly found this tweet by going to one of Trump's tweets and checking the replies, there are many accounts similar to this that you can click on.

It may already be obvious from the Twitter handle with the randomly generated number appended, it's relatively new created date, and other data points that this profile seems a bit iffy.

However, with our added profile metrics we can clearly see that this account is never tweeting, only ever retweeting!

Of course, we all have different use cases for Twitter. So what you deem a high/low quality profile could be very different to us. Extra metrics about a profile helps us decide whether an account is a good one for us to follow.

It doesn't only have to be fake accounts however, there are reputable accounts with really low engagement that you can see are nearly completely ran on automation:

How to check the quality of a Twitter profile

This Forbes profile seems to only post out links to articles on it's own site. It never retweets. You can also see that it Tweets from something called Forbes Botstream which may be an automated tweet service which posts about any new articles created on their site.

Such accounts are arguably low quality as they tweet often and it's using Twitter as a broadcasting tool 100% of the time. You might be better just going to the profiles website and checking out their news content.

Conclusion

In the Twitterverse all profiles are not equal.

For those that are interested in using Twitter as a way to have conversations and engage with one another then check out our Twitter Profile Metrics Chrome extension to help you concentrate on the right profiles.

If you find this tool useful - Please consider a donation <3

We accept PayPal and crypto currencies or you can simply by us a coffee!

How to check the quality of a Twitter profile]]>
<![CDATA[Twitter Unlike All]]>https://hamlab.dev/twitter-unlike-all/5ed7fa5d3eec8d4bccf59b31Wed, 03 Jun 2020 19:30:41 GMT

Need to start afresh on Twitter? Use our chrome extension to automatically unlike every tweet in one easy go!

By the way, if you're interested in how to build your own browser extensions - check out our tutorial to get started!

Get started

Wiping the slate clean is as easy as this:

  1. Head over to the Chrome Web Store and install the extension.
  2. Go to your Profile and click in the Likes tab.
  3. Press the extension button in the top bar of your browser and then click start.
Twitter Unlike All

Now you can sit back and leave the tab running whilst the extension does its work!

If at any time you want to stop the process, just click on the big 'Stop' button and the extension will immediately cease.

You might also be interesting in our Twitter Unfollow All tool which you can install on Chrome store as well.

How it works

The extension will unfavorite a tweet every half a second or so, this is so that it behaves similarly to a human interacting with the page, and as a safeguard for you not to get in trouble with Twitter.

The page will be automatically scrolled to the bottom of the page so that the next set of tweets in the list is loaded up and can be unliked.

If you find this tool useful - Please consider a donation <3

]]>
<![CDATA[Twitter Profile Metrics]]>https://hamlab.dev/twitter-user-stats/5ecbce743eec8d4bccf59b09Mon, 25 May 2020 13:57:51 GMTTwitter Profile MetricsTwitter Profile Metrics

Have you every wondered whether or not to follow a Twitter profile? Our Chrome extension add many new metrics to Twitter profiles to give you more information on tweet activity, engagement, quality and insights into whether the account using bots and automation.

By the way, if you're interested in how to build your own browser extensions - check out our tutorial to get started!

Get started

Power up your Twitter experience by:

  1. Head over to the Chrome Web Store and install the extension.
  2. Go to any Profile to see an updated section next to the user's 'Followers' and 'Followings'.
Twitter Profile Metrics

Stats

To explain the statistics a little more.

The Follow ratio simply shows whether the user has more followers than they are following, and if so, by how much variance.

Tweets per day and Retweets per day are pretty self explanatory but they are powerful in understanding whether an account is going to fill up your newsfeed or not.

Replies per tweet, and the values on that line help show you how much interactivity the user gets on their tweets. Some accounts can have a really high number of followers but their tweets does not get much engagement.

Engagement score per tweet is a score based on how many replies, favorites and retweets the average tweet the user gets. The higher the score, the higher the quality of tweets.

Engagement follow score is the Engagement score per tweet divided by their amount of followers, this is to help show how many of their followers interact with the average tweet. We have multiplied the actual value by 10,000 so the number is easier to read, rather than showing 0.00015034149.

Tweeting from shows you which devices and apps the profile is using. This can be used to spot whether the profile is using bots or automation to power their activity.

If you find this tool useful - Please consider a donation <3

]]>
<![CDATA[My IP]]>https://hamlab.dev/my-ip/5ec6df2c3eec8d4bccf59abfThu, 21 May 2020 20:06:41 GMT

Install our chrome extension to have your IP address at hand all of the time in your browser!

By the way, if you're interested in how to build your own browser extensions - check out our tutorial to get started!

Get started

To get this handy tool, it's as easy as this:

  1. Head over to the Chrome Web Store and install the extension.
  2. Press the extension button in the top bar of your browser and your current IP address is fetched.
  3. If you need to copy the address to the clipboard, simply press the button.
My IP
My IP - Chrome extension

If you find this tool useful - Please consider a donation <3

]]>
<![CDATA[Create your first Chrome extension]]>https://hamlab.dev/create-your-first-chrome-extension/5ec559a23eec8d4bccf59a27Thu, 21 May 2020 13:19:00 GMTLet's get you excited - To build your first Chrome extension you're only going to need to create four files and an icon image!

What is a browser extension?

Create your first Chrome extension

A browser extension is a handy piece of software that sits on the top bar of your browser, you probably have plenty installed already. They can be things such as screenshot tools, ad blockers, password managers, VPN's and so on.

They are special in that they can control and action things on pages that you're browsing, this can be really handy for automating long and boring tasks such as unfollowing everyone on Twitter.

If you've new to coding and looking for something that will inspire you to start your journey then this could be ideal. Shortly, you'll have your own piece of software running in your browser - Cool eh!

Get started

What we're going to build today is super simple and a really basic introduction into browser extensions. We'll build an extension that once pressed will fetch and display your IP address.

Knowing your IP address can sometimes be useful, certain servers and systems will only give access to IP's that they have white listed.

Create your first Chrome extension
How it's going to look when we're done!

To do this, all we're going to need is a bit of basic knowledge in HTML, CSS and JavaScript. And it's a good idea to checkout Google's documentation too.

Right, lets get to it!

Code editor - If you haven't coded anything before, you might be wondering what software to use to write code in. You could use something simple as Notepad if you're crazy enough, but most people use IDE's (program to write code in). Visual Studio Code is a free, light and simple to use IDE.
  1. Create a folder on your computer for your extension, something like /MyIpAddress.
  2. Start your IDE and open the folder.
  3. Now in there, we're going to create four empty files in our folder: manifest.json , popup.html, popup.css  & popup.js
  4. Create another folder inside MyIpAddress called images which is where we'll store the icons for the extension.
  5. In the images folder, we'll create four image files. This will be the same icon but different sizes, we'll have logo128.png sized at 128x128 pixels. logo48.png sized at 48x48 pixels and so on.

Once you're done with these steps, your folder structure should look like this:

Create your first Chrome extension
MyIpAddress folder structure

Icons

Okay, let's get to a fun part. Each extension needs an icon or a logo. We want it to be unique and identifiable, it's where we can get really creative.

I'm sure you could use Paint or any standard software that comes with your laptop, but there are lots of free tools out there which have more functionality such as GIMP, KRITA or you could use an online tool such as PIXLR.

6. In the software of your choice, load up logo128.png, set the size to make sure it's square and 128 by 128 pixels and then design away!

Once you're happy, save it and then resize and save a 48x48, 32x32 and 16x16 version.

Alternatively, you can just save the image below and resize that if you don't have any creative juices flowing right now :)

Create your first Chrome extension
Example icon - 128x128px

Manifest

The manifest file is where you can configure your extension, setting it's name, description, version, etc. It's also where you can setup permissions and actions, you can learn more about this in the official documentation.

7. Update your manifest.json file to the following, of course you can change the name and description if you like!

You can see that we set the default_popup to our empty HTML file popup.html. We also set the location for the extension icons.

{
  "name": "My IP Address",
  "version": "1.0",
  "description": "Check & copy your IP Address anytime",
  "browser_action": {
      "default_popup": "popup.html",
      "default_icon": {
          "16": "images/logo16.png",
          "32": "images/logo32.png",
          "48": "images/logo48.png",
          "128": "images/logo128.png"
      }
  },
  "icons": {
      "16": "images/logo16.png",
      "32": "images/logo32.png",
      "48": "images/logo48.png",
      "128": "images/logo128.png"
  },
  "manifest_version": 2
}
manifest.json

HTML

When a browser extension icon is clicked it normally opens a popup box, this area is a HTML document, which can be styled with CSS and controlled via JavaScript.

Our popup is going to look very simple, all we want to have to display is the user's IP Address and a button so that they can copy the address.

8. Update your popup.html file to the following:

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="popup.css">
  </head>
  <body> 
    <div class="container">
      <div id="ip">Fetching</div>
      <button id="btnCopy" class="btnPrimary">Copy</button>
    </div>
    <script src="popup.js"></script>
  </body>
</html>
popup.html

You'll see that we have a <div> element with Fetching inside. This is because we first have to make a request to an API in order to get the IP address, once we have the address we can change the 'Fetching' text. We handle this in the JavaScript file.

We also reference our popup.css  & popup.js files here which we'll look at next.

CSS

Now it's time to style our popup, we're wanting to make sure that we have a nice looking button to copy the IP address and both elements align next to each other.

You could play around with the design a bit, make your extension unique.

9. Update your popup.css file to the following:

html {
    width: 280px;
    padding: 0 10px;
}

button {
    text-transform: uppercase;
    color: white;
    background-color: blue;
    transition: all .2s ease-in-out;
    height: 1.9125rem;    
    padding: 0 1rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    user-select: none;
    letter-spacing: .03em;
}

button:hover, .btn:hover {
    background-color: green;
}

.container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#ip {
    font-weight: 500;
    font-size: 28px;
    color: #444;
    text-align: center;
}
popup.css

JavaScript

Right, to the juicy stuff, JS is where we can control what happens when our extension is accessed.

We're going to need our popup to go and fetch the IP address from a server somewhere, we can use the awesome free API service Ipify. The other thing we'd like is a button so that the user can copy the address to their clipboard.

What's an API? Think of it as a service that can return data when it's called. For example, you could ask a weather API to return you information on your city 'New York'.

10. Update your popup.js file to the following:

If you're new to software development, any line starting with // is a comment to help you understand what the code is for.
// Select the <div> and <button> from popup.html 
// as we want to change/action these.
let divIp = document.querySelector('#ip');
let btnCopy = document.querySelector('#btnCopy');

// Assign a 'onclick' event to the button
// which copies to the clipboard the text in the <div>
btnCopy.onclick = () => {
  const el = document.createElement('textarea');
  el.value = divIp.innerHTML;
  document.body.appendChild(el);
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
};

const getIp = async () => {  
  let ip = 'No internet';

  // Send a request to the Ipify API to return the user's
  // IP address, example: '123.4.5.67'
  let response = await fetch('https://api.ipify.org/');
	
  if (response.ok) {
    ip = await response.text();
  }
	
  // Set our <div> to the retrieved IP address
  divIp.innerHTML = ip;
}

// Run the 'getIp' function once the popup is loaded
getIp();
popup.js

Job done - add to Chrome!

Boom boom, we're ready to test out what we've built, following the next few steps and we're there.

11. In Chrome navigate to: Settings > Extensions

12. Turn on Developer mode  which can be found in the top right hand corner.

13. Then click on Load unpacked and select the folder we've been working in /MyIpAddress.

Create your first Chrome extension

Congrats! You can now see your first Chrome extension loaded into your browser.

Create your first Chrome extension

What next?

The possibilities are endless, maybe you have an idea of something you'd like to build, now that you've seen how easy it is to get started.

If you're really new to software development, you could read up some more on HTML, CSS and JavaScript or even uses online tools such as Codecademy to learn to code.

Here's a few more suggestions:

  • Change the design and add information about the IP Address, such as it's geographical location. Ipify can help with that!
  • Use a different API, such as Coindesk to show the latest Bitcoin price or something like that
  • Read through the official documentation to learn a lot more about the power of browser extensions. It includes information about publishing to the store and monetization, etc.
  • Check out more of our tutorials!
]]>
<![CDATA[Twitter Unfollow All]]>https://hamlab.dev/twitter-unfollow-all/5ec40454ceaad85a684e197fTue, 19 May 2020 16:08:33 GMT

Need to start afresh on Twitter? Use our chrome extension to automatically unfollow everybody in one easy go!

By the way, if you're interested in how to build your own browser extensions - check out our tutorial to get started!

Get started

Wiping the slate clean is as easy as this:

  1. Head over to the Chrome Web Store and install the extension.
  2. Go to your Profile and click in the Following tab, or click here.
  3. Press the extension button in the top bar of your browser and then click start.
Twitter Unfollow All

Now you can sit back and leave the tab running whilst the extension does its work!

If at any time you want to stop the process, just click on the big 'Stop' button and the extension will immediately cease.

How it works

The extension will unfollow a user every half a second or so, this is so that it behaves similarly to a human interacting with the page, and as a safeguard for you not to get in trouble with Twitter.

The page will be automatically scrolled to the bottom of the page so that the next set of profiles in the list is loaded up and can be unfollowed.

Note: You are allowed to unfollow a lot of people in one go but you do have to be aware of Twitter's rules and guidelines. Constantly following people and unfollowing more than 100 people can get your account suspended.

If you find this tool useful - Please consider a donation <3

]]>