High and Low Complexity

"This image illustrates part of the Mandelbrot set fractal. Simply storing the 24-bit color of each pixel in this image would require 1.62 million bits, but a small computer program can reproduce these 1.62 million bits using the definition of the Mandelbrot set and the coordinates of the corners of the image. Thus, the Kolmogorov complexity of the raw file encoding this bitmap is much less than 1.62 million bits in any pragmatic model of computation." —Wikipedia

Most programming languages are relatively easy to read, such as a C#, or Javascript. However, not all languages are designed to be this Human-Readable. Such languages (Such as Jelly, Pyth, GolfCode, etc.) at first glance look like someone generated a random string of characters, such as this Pyth code:
WtQ=Q@,/Q2h*3QQQ
(Returns all Collatz Sequence numbers starting at Q)

However, programs written with these are rarely very long. This is certainly not by chance. Instead, these languages are designed for Code Golfing, a recreational competition to see who can write a program to get the desired output with the lowest Kolmogorov complexity. (No, that's not a Scifi show alien or something; it's the length of the program.)
Let's dissect and examine this Pyth code:
FNrZhTN 
First, the F at the start. This simply says "Start a For loop". Then make a Variable N. Set this F loop's range from Z to T, zero to ten. the "h" says include the ten in the range. Then print N.
It outputs: 0 1 2 3 4 5 6 7 8 9 10

Want to play with Pyth yourself? Here's online interpreter: http://pyth.herokuapp.com/ 

Enjoyed this article? Tell me at @Cyborus.

Thank you to @Cyborus for writing this insightful article! It is out first guest-written post. If you would like to be a guest writer, please contact Stang. 

4 comments

4 comments :

Post a Comment

Please be appropriate and respectful.

Microcomputers

One of various Raspberry Pi models. 
Want to easily dabble in connecting code to hardware without dropping too much cash? Microcomputers are up to the task; they're portable, cheap and useful.
A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, memory, and minimal input/output (I/O) circuitry mounted on a single printed circuit board.
 —Wikipedia

Two popular types of microcomputers are the Raspberry Pi and Micro:bits.


As shown above, a Raspberry Pi has numerous means of connection to another device to code on or interact with. Some models, like the Raspberry Pi 3, have a small touchscreen and can run operating systems such as Linux. The cheapest version, Raspberry Pi Zero, sells for an affordable $5.

Learn more about the Raspberry Pi on their official website.


Today I got the opportunity to listen to a guest speaker from Microsoft to learn about Micro:bits and how to code them. They can be used for a variety of activities thanks to their numerous sensors including a thermometer, moisture detector, accelerometer, and compass. It also features 25 LED lights in a 5x5 grid and two buttons.
In the UK, every year seven student is given a Micro:bit from Microsoft to learn to code.
You can buy a Micro:bit in the UK for roughly £13 (excluding batteries). Micro:bits will be sold internationally soon.

Learn more about the Micro:bit on this BBC website.
Check out the Micro:bit on their official website.
Code with a Micro:bit simulator here.

Both types of microcomputers can do even more with USB plugs, USB keyboards, and other extra hardware.

What do you think about microcomputers? Share your thoughts in the comments!

—Stang
2 comments

2 comments :

Post a Comment

Please be appropriate and respectful.

PENgine


PENgine is a pen-based engine that easily creates speed draws and line art picture music videos by recording x and y coordinates as the user draws so post-drawing modifications can be created.

Check out the project here.

It featured speed draws, PMVs, a drawing editor and a section on how it works.


The speed draws can be essentially at any speed and play out the drawing order and movements.

PMVs take a drawing and make it slightly wiggly but retain the general shape, producing a fun style that many animators enjoy using in PMVs. It save them time otherwise spent on redrawing a picture numerous times.

The drawing editor can be used to sample the program in the original project or to record drawings to display in PMVs or speed draws in remixes. It includes clear and undo buttons as well as a watch button to watch the speed draw (even in an unfinished drawing).

How It Works explains how to use the program. I created it with the intent of helping artists and animators save time; instead of capturing numerous images while they draw, the program will auto-record the process, skipping unnecessary undos and clears. Instead of redrawing an image, the program will generate random but quality wiggly renderings. This section also explains how to use the code to create the final product. Remixes on my side account have further information and are examples of what the finished product should look like.

A sequel to Pengine is being planned. It'll include color, eraser, thickness, layers and shade.

Last but not least, thank you for your support! PENgine was featured in the What the Community is Loving section on the front page a few days after release.

—Stang

No comments

No comments :

Post a Comment

Please be appropriate and respectful.

Game Jolt + Hub Project



I'm on Game Jolt now!


I create games using Game Maker: Studio and share them on Game Jolt. Currently, I have one game up called Toro's Adventure. It's dev log only for the public but I plan on handing out early access keys after developing the game more.


I shared a polished "website" project on Scratch where I post major updates (though not as detailed as the dev logs) such as the posting of a dev log, new games and giving out early access keys.



To support me, follow the game and like and comment on dev logs. Supporters will receive a shoutout on the project Notes and Credits as well as in the supporter's bar inside the project. Thanks everyone!
Note: Don't worry if you don't see your name right away! I will add it in soon.



Thanks again for your support!

—Stang
3 comments

3 comments :

Post a Comment

Please be appropriate and respectful.

Mass Interview: Stories Behind a Username


More than 30 Scratchers answered the question: What does your username mean and why did you choose it?


"My username is ScratchStang. Stang is a made up word from a long time ago and sounds really cool. I wanted my username to be just Stang but it was already taken so I added Scratch to it."
@ScratchStang

"My username, -TotallyEpic-, is pretty straightforward, and means what you'd expect: Totally Epic. Woohoo for creativity. Anyway, I picked that username because it described what I wanted to do, which was make projects that would make people say, "Wow, this is totally epic." Whether or not I've succeeded at that goal yet is debatable, but I'm defiantly always trying to live up to my name."
@-TotallyEpic-

"I chose my username before I started Scratch; when I was about 9 years of age I thought of the nickname soulslayer as it sounded kinda cool and it was what my friends at the time called me, and to this day I have not grown out of that nickname and chose it as a username as it is nostalgic and symbolic of my childhood. However, these days I much rather people call me just 'soul' as slayer just kinda scares people away before they even know me. In school we had a sort of a revolution where we pretended that the teachers were dictators and needed to be overthrown thus we created a small secret society which operated under the code name of 'the uprising' where for several years we caused mischief which included everything hiding the teachers coffee/tea to causing the entire class to revolt and we had to be assigned code names as we had to remain a mystery thus my nickname. We recruited members from other classes until are organisation consisted to around 50-60 individuals from different year groups and to this day the teachers were left mystified at who were the culprits to this massive revolution and have no idea it started from just a small group of four people who had decided they had enough."
@SoulSlayer786
(Super amazing backstory!)

"The origin of my username is quite long ago... Once I really liked "Sonic The Hedgehog" and all the games from the series. My favorite character was "Silver" and so I started naming myself "Silver" everywhere. But at most sites that name was occupied and later I also deleted my old social networks and created new ones. Thinking of a new name, I got the idea "Silverdroid" because I recently got a new smartphone running Android. So Silverdroid = Silver The Hedgehog + Android"
@Silverdroid

"Well, I chose spikepie because one year ago, I was obsessed with pie. I made a bunch of mystical pies such as the narwhal pie, snake pie, spike pie, vampire pie, and so on. I called myself SpikePie because of this obsession. Anyway, at least its not jibberish and numbers! I can actually make logos for my name!!"
@SpikePie

"My username was chosen because it actually is my real name (XD) and it has a special Chinese meaning, "King of the Mountain", due to the fact that I was born in the Chinese Year of the Monkey (2004), my parents had to "protect" me by giving me the name. Most of my friends call me "Ari" though."
@Arisandra

"My username is a combination of things, and is rather complicated. One, it's what my friends call me for short. BJ. My last name is Skistad, but I also love to ski. (Which is ironic because I snowboard instead of ski.) That is just the short version of it."
@bjskistad

""Will_Wam" was first created when I was thinking of a Minecraft username. It doesn't actually mean anything, but "Will_Wham" was already taken so I went with Will_Wam. Then when I joined scratch I used the same username."
@Will_Wam

"To answer your question, my username means exactly what is sounds like, a roasted squirrel. I chose this username, never expecting to use it ever again, but as you can tell it stuck. I got it from my grandmother's cook book. I was looking through the recipes, turtle soup, quail roast, dandelion salad, ect. Roasted squirrel was one of the recipes. It does not roll off the tongue like ScratchStang does, but I have used it for so long that I can't possibly change it."
@RoastedSquirrel64

"Aerdian means nothing. I had a list of hundreds of names I both generated online and came up with on my own. Aerdian happened to be one I came up with on my own. I had a list of around 50 that I liked, but I went through, narrowed it down to around 10 and searched them to see for which ones were the .com domains available for. Aerdian happened to be the one. It means nothing and I chose it because I liked it."
@Aerdian

"My username means "Alpha Centaurii", which is a three-star collection, including A centauri, B centauri, and Proxima Centauri. I've always like stars, and used to go to planetarium shows when I was younger. When I was little, I read a book, and I thought the illustration was really cool- but the username "AlphaCentauri" was too long. I wanted a short and simple one. Centauri was taken, but I liked "Centaurii", and that's the story of my username!"
@Centaurii

"I chose it a long time of ago because of the YouTube channel Smosh. I was real fan then and had my name Smosher. I then changed it to Smosher200. No reason why though."
@Smosher200

"Aurona doesn't necessarily mean anything, but I guess it could relate to Aurora or Aura. Sort of like a feeling in the air. Something you can sense, but isn't there. I chose it because I just wanted it to begin with an A for easier logo creation, and it sounds pretty good too."
@Aurona

"My username is a combination of my first fandom and my favorite animal."
@TurboKitten

"So to me, when I chose my username I wanted something unique, unlike my old one (AgentAI). I decided that I would have to go with something that's not a word. I really liked the uniqueness of @Haulea's and @Aurona's, so it took me a while to really consider what I wanted my username to be. The first part of my username is "Alt". Like altitude I guess? It basically symbolizes me reaching new levels and advancing through my design and coding skills. The second part" tion" doesn't really have a meaning. I know that I used the letter "t" twice, but Alttion would sound really bad. I don't really know how I came up with that part."
@Altion

"My username comes from the name of a cat who passed away a few years ago... and he was crazy! I made this account to honor him."
@CrazyNimbus

"The first part of my username, Aqua, represents my favorite color - blue. 'Lite' just sounded cool, and the two words sounded great together so I came up with @Aqualite."
@Aqualite

"My username -Royale- was chosen since:
-Has and Even amount of letters (6)
-It sounds cool -It is like 'Royal' but cooler because the letter e can do that
-Makes me feel awesome
-I wont feel embarrased about it 2 years to the future
-Fancay
-Fancay
-Fancay
-Styleish
-Fancay
-More Fancay"
@-Royale-

"My username, HazelLeaf21, comes from the name of my OC, Hazel. Her original name was Leaf, and so I decided to make that my name."
@HazelLeaf21

"I chose this username was because it sounded like a mix between scratch and machine."
@Scrachine

"My name is Anderal (AND-ER-AL) Idk what it means and I choose it because It was one of the First A words i thought of and i liked it the best."
@Anderal

"I'm a bookworm and my lucky number is 42 XD. I tried to do bookworm42 but it was already taken, so I just put the 42 at the front instead."
@42Bookworm

"I like sheep and I make projects/design/code. My previous account was Sheep_tester, and I liked it, but it was filled with old artifacts and it was a test account, which are looked down upon in our Scratch society. And so I made a new account called Sheep_maker and boom I exist now."
@Sheep_Maker

"I chose my username because I absolutely <3 medical science. I was reading a book about Influenza one day, and I thought, what if I took out the "a" and added an "i"? Then I tried it and I thought it sounded like a cool username, so I used it."
@Influenzi

"My username is an inside joke. But I can explain it. Me and my friends were playing around this old shed, and a wasp flew out. Someone mispoke and called it a Wahsp. We couldn't stop calling it that and saying look out it's the Wahsp! I took it so far as to create a new account."
@Wahsp

 "Someone used to call me Little Bit because I am reaaally short. I like games, especially retro ones, so I chose 8 Bit. And I really like penguins, so I chose penguin. I put them together and got this. :p Kind of a weird reason but... *shrugs*."
@8BITPENGUIN

"Yayme=Actually proud that I have strived myself to code 1=Independent, 2=2 Brothers, 3=3 sisters, 55=5 kids in my family, and I double love them, 2=2 parents. That's all Yayme123552" 
@Yayme123552

"My username means (dictionary definition): 'the most awesome scratcher ever' i got it from a YouTube video where someone said Melodic and I switched the L with a R."
@Merodic

"My username represents me as a person. My main personality trait is my inteligence, and I gain lots of knowledge from daily experience. I aspire to inspire those with my wisdom, and an important part of this is through self confidence (which I either exude or lack). I am trying to claim this inner wisdom that I know exists within me, and channel it to my daily life."
@Sydney_The_Wise

"I thought that it would be cool to have a username that sounded cute and sort of like an uncommon name. So I was awake in bed in the middle of the night contemplating my existence and then boom! I came up with Mibli!"
@Mibli

"Hello! My username is Makethebrainhappy. I chose this username because my website was called letsmakethebrainhappy! I picked that website name because it had never been used before, and I thought it was a good name!"
@Makethebrainhappy

"My username is awsomecatbooks. I had to spell it wrong because there is already someone who has the username spelled wright (lol) I love to read so I included books and I also love cats. I don't actually think I'm awesome, but It's a really cool name!"
@awsomecatbooks

"I chose my username because I have always loved trains. I just like everything about them. My favorite trains are Japanese bullet trains, which are called "Shinkansen", which you can tell is my username."
@Shinkansen

So when I was still @-Connection-, I wanted to make an OC. After about an hour I made NEC. Nec was a pulled from conNECtion and was meant to sound like Nick. I had gone on for whie on other things outside of Scratch with the alias of xNecx. I ended up making a pun with NextGen and NecxGen was born.
@NecxGen

Thank you everyone who participated! Everyone's stories are very intriguing. 

—Stang
7 comments

7 comments :

Post a Comment

Please be appropriate and respectful.

How to Get Featured


How do projects get featured on the front page?

You can suggest projects to be featured in this studio: https://scratch.mit.edu/studios/4228481/

On the past iTopic Propose forum page for proposing features, Paddle2See, a Scratch Team member, wrote:
The Scratch Team wants to feature new projects that have not gotten enough attention. We are looking for your help. At this point we only want proposals from people who have full Scratcher accounts (not New Scratcher). Also, please no proposals from family members. Thanks :)
There are also some rules:
Please note that proposing a project does not mean we will feature it, we are only looking for suggestions. These are the kind of things we're looking for:
1. simple projects
2. complex projects
3. projects that show an innovative use of Scratch
4. project that promote collaboration and remixing
5. projects that show the diversity in our community (gender, age, culture, country, interests, etc)
6. project that different kinds of people would find enjoyable
7. projects that inspire
A project CANNOT be submitted if it…
1. was created by you. This means that you CANNOT submit your project.
2. was created by someone whose project(s) have been on the front page already in the last two months (excluding Newest projects or Design Studio)
3. has received more than 100 love its already.
4. has violence including weapons, hurting animals or people
5. contains language inappropriate for all ages
6. is a copy of a commercial game or story, it's OK if it is inspired by though
7. has been on the front page already (excluding Newest projects or Design Studio) 8. doesn't work well online 
One of the most important rules is that you can not request yourself to be featured. However, some people have put a little blurb on their projects saying "If you liked this game feel free to request it to be featured at https://scratch.mit.edu/discuss/topic/198735/". It is allowed and some project have even gotten featured that way.

In addition to projects, you can also request studios to be featured there too. You can even suggest your own!

I hope that helped. If you have any questions, feel free to comment below.

—Stang
7 comments

7 comments :

Post a Comment

Please be appropriate and respectful.

Computer Science Careers


Are you interested in a job related to programming? If so, you're in luck because computer science is a top paying college degree and the amount of computing jobs are growing extremely fast.

According to percentage estimates of computer science related jobs in STEM career groups from Computer Science Online, the main career categories in this field are:
  1. Software Development (32%) — programming, testing and bug fixing applications and framework for a software product. 
  2. Security (3%) 
  3. Systems Analysis (15%) — study an activity through mathematical means (for example, observing data) to define its goal and purpose to discover methods to efficiently accomplish them. 
  4. Database Administration (2%) — store and organize data. 
  5. Support Specialist (14%) — provide help and advice related to technology. 
  6. Network and Systems Administration (7%) — organize, install and support an organization's computer systems. 
  7. Other (1%)
Note: the percentages add up to 74% because 74% of STEM related careers are in computing. 

That same website also contains a detailed list of computer science jobs, salary ranges, descriptions and job growth rates. I highly recommend you check it out (scroll about a quarter down to see this chart). Here's a small preview:


Although that website contains most of the necessary basic info about computer science jobs, I know there's one job most of you are interested in: video game design. After all, most of you found this blog from Scratch.


According to Creative Skillset, the jobs field can be split into 17 categories. Click on the link to read descriptions, discover requirements and learn more.
  1. Animator
  2. Assistant Producer
  3. Audio Engineer
  4. Creative Director
  5. DevOps Engineer
  6. External Producer
  7. Game Designer
  8. Game Programmer
  9. Games Artist
  10. Lead Artist
  11. Lead Programmer
  12. Level editor
  13. Narrative Copywriter
  14. Product Manager
  15. Project Manager/Producer
  16. QA Tester
  17. Technical Artist
The website also contains info about ways to get into the industry, real life stories, other useful links and.the games industry (however, the infographic data is not international).

Thanks for reading! I hope you found this article helpful.

—Stang
No comments

No comments :

Post a Comment

Please be appropriate and respectful.

Redesign


This blog has undergone some major redesign, starting with a new template and format. The standard Blogger template has been switched out for a special template from online by pasting in the new source code and tweaking it a bit. Credits for the template designer can be found at the bottom of the page. (Many thanks to the creator!)

I've also unpublished all 108 posts and started anew. However, I'll be republishing old posts again.
I'll have to do some minor editing, unfortunately, since the new template staggers the posts strangely if the images aren't the same size.

Old pages are being replaced as well. Sadly the text adventure, The Forest, is no longer around, but the new pages will be a ton more useful; they'll showcase my projects, contacts on other websites and an about section. The Tutorials page was merely links back then so it'll be converted to a post for now and might be uploaded again later, after the addition of pictures and GIFs.

I'd love to hear everyone's thoughts on the redesign and fresh new start!

—Stang
4 comments

4 comments :

Post a Comment

Please be appropriate and respectful.