What is Ray Tracing?

With the advent of Nvidia’s new GPUs coming out, the inevitable question was asked of me by friends: What is ray tracing?

Over the past decade or so, graphics in video-games have made enormous leaps and bounds, and it’s now trivial to simulate hundreds of thousands of physics objects all at once with a very standard graphics card. However, the huge leaps in processing power have slowed somewhat, and now small tweaks and improvements to what we already have are being made. This includes hair, water, and light.

Light is one of the hardest things to simulate correctly. There are many ways to fake it, and game developers have gotten very good at certain techniques to make you believe that the sun is over there and casting shadows here, and so on. However, ray tracing is a method that attempts to actually simulate the behavior of the photons of light. Sounds cool, right? You can imagine how intense of a calculation that would be for many light rays. Because of this, it’s not possible for a real-time rendered game or simulation to process it quickly enough to display on a normal computer. Ray tracing is currently only used in pre-rendered films or animations.

Without going into the actual physics of how light and photons work, interesting read here, ray tracing is an expensive operation (takes a lot of computational power). Nvidia is taking steps to make it more feasible and possible in the future by providing “ray tracing upgrades” to their graphics cards. We will have to wait and see how much of an actual improvement they’ve made.


It helps me if you share this post

Published 2018-09-14 14:24:12

What is blockchain?

I’ve seen a lot of people who don’t understand completely what blockchain technology is, they just know it has to do with Bitcoin. Here’s a very brief and understandable explanation.

Let’s say that you have a group of 100 people at your workplace who all have copies of a particular spreadsheet. This is a blockchain. Blockchain is secure against hackers in the idea that even if one person’s spreadsheet got hacked and changed or even lost, there are still 99 others who have the exact same spreadsheet, and they will each know that because their spreadsheet matches with 98 other people, they have the correct version. Now, let’s say that your boss sends out an email to add another row to the spreadsheet. Each one of you will add that particular row, and then check with your colleagues to make sure you’ve done it correctly. Anyone who claims that the row is wrong has to compare with 99 others.

This is a very basic idea of how blockchain works, and why it is basically impenetrable to hacking. To corrupt the spreadsheet, someone would have to hack in to 51 people’s computers and change the spreadsheet. Now imagine there are a million employees all with the same spreadsheet, and the task becomes a little harder to accomplish.

If you’re interested in learning more of the technical side of blockchain, I recommend taking a look here.


It helps me if you share this post

Published 2018-08-31 17:17:56

How to ask good Stack Overflow questions.

Many new programmers have low opinions of the community on Stack Overflow. For those of you who don’t know, Stack Overflow is a Q&A site meant specifically for coders. However, it has a reputation for… how shall I say it… being a bit of an elitist gatekeeper-esque, unfriendly place. On the flip side, Stack Overflow is the largest repository of developer answers and questions on the internet, and it’s one of the most visited websites for coding questions by developers, if not the most.

Continue reading How to ask good Stack Overflow questions.


It helps me if you share this post

Published 2018-07-28 04:26:07

Small PSA: It’s doubtful hackers are watching you watch

This morning, I received an email from a scrambled Outlook email address that claimed they had explicit recordings of me and demanded I pay them Bitcoin. Their proof? A password of mine from a few years ago. They’d probably acquired it in one of the numerous database leaks that happen all the time. Here’s the message with sensitive information removed:

I do know, [OMITTED], is your password. You do not know me and you're most likely thinking why you are getting this mail, right?

In fact, I actually setup a malware on the adult vids (sexually graphic) site and do you know what, you visited this website to experience fun (you know what I mean). While you were watching video clips, your internet browser began functioning as a RDP (Remote Desktop) with a keylogger which provided me with accessibility to your screen and cam. Immediately after that, my software gathered all of your contacts from your Messenger, Facebook, and email.

What exactly did I do?

I created a double-screen video. First part shows the video you were watching (you've got a nice taste lol . . .), and next part displays the recording of your webcam.

What should you do?

Well, in my opinion, $3900 is a fair price tag for our little secret. You will make the payment via Bitcoin (if you don't know this, search "how to buy bitcoin" in Google).

BTC Address: [OMITTED]
(It is cAsE sensitive, so copy and paste it)

Note:

You have one day in order to make the payment. (I've a special pixel within this e mail, and now I know that you have read through this email). If I don't get the BitCoins, I will, no doubt send your video to all of your contacts including close relatives, coworkers, and so on. Nonetheless, if I receive the payment, I will destroy the video immidiately. If you need evidence, reply with "Yes!" and I definitely will send out your video to your 12 friends. It is a non-negotiable offer, so please do not waste my personal time and yours by responding to this e mail.

There are a few things wrong here, which is why I immediately knew it was scam.

  1. A keylogger records keystrokes, it doesn’t provide people with the ability to look at my screen and webcam. There are methods to gain access to these, but it is not called a keylogger. Someone knowledgeable enough to pull this off would know this and use the correct terminology.
  2. I don’t have a webcam.
  3. Browsers do not have the authority to share my desktop, nor did I give any one in the last month or two.
  4. I don’t use Messenger or Facebook.
  5. I have 0 friends on my non-existent Facebook account, not 12.
  6. Numerous spelling mistakes all throughout the email.
  7. The generic mention of “adult vids”. Yeah, sorry. No.

But I do have to wonder how many others fell for, and do fall for this kind of scam. Always make sure your antivirus is up to date, use common sense, and make sure you keep your passwords updated.


It helps me if you share this post

Published 2018-07-11 14:42:21

Changing the refresh rate of your monitor or laptop screen dynamically

Frequency Switcher Source Code on Github

I recently purchased a new laptop with a 144hz screen. It looks amazing, but I don’t want to run the 144hz on battery power, because usually on battery you wouldn’t be playing a game or doing anything that demanded that high refresh rate. However, if I plug my laptop in, that’s when I would be doing activities that would benefit from the extra hertz. This is a small program to automate switching frequencies of a monitor.

(UPDATED LINK TO ARCHIVED SOURCE CODE HERE)


It helps me if you share this post

Published 2018-06-30 03:54:27

How to only run a program when your laptop is plugged in

Here’s a tricky one. How do you run a program or exe ONLY when your Windows laptop is plugged in? Additionally, you’d want it to automatically exit when your laptop was unplugged and you were using battery power. I recently stumbled across this problem when I wanted to run Rainmeter on my laptop when it’s plugged in.

The answer is to use the Task Scheduler.

Here’s what you’ll need to do.

  1. Open Task Scheduler.
  2. Click “Create Task…” under Task Scheduler Library.
  3. Name your task and give it a description.
  4. If your application needs admin privileges, make sure to check the box at the bottom, “Run with highest privileges”
  5. Open the Triggers tab at the top. Click “New…” at the bottom.
  6. Change the Begin the task value to “On an event”.
  7. Under “Settings”, change the radio button selection from “Basic” -> “Custom”.
  8. Click “New Event Filter…”.
  9. Disregard the “Filter” tab, and instead change the tab to “XML”.
  10. Check the box at the bottom that states “Edit query manually”.
  11. Paste this XML in:
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[EventData[Data[@Name='AcOnline']='true']]</Select>
  </Query>
</QueryList>

Click “OK”, and then “OK” again.

Once back on the main page, you may now configure your “Actions” tab to launch your program of choice.

Once finished, proceed to the settings tab and make sure you have these settings:

Congratulations! You can now test it by plugging in your laptop and watching your program launch itself. Unplugging it should quit it instantly.


It helps me if you share this post

Published 2018-06-29 00:09:10