Fasting

In Fasting, Desai uses point of view, diction, and dialogue to show that Arun is scared of the unknown; that his indian background leads him to not be familiar with nature, as as a result he is frightened by it.

Arun’s point of view is explored, with his thoughts telling us what he thinks of a beautiful summer day. “But how passionately he prefers its post office, its shops, its dry-cleaning stores” shows us how much Arun wants to be indoors. He loves the small buildings in this isolated small town. Phrases such as “back of his neck begin to prickle, as if in warning” show how opposed he is to the outdoors. He takes what is a beautiful summer day, the kind of day most people would enjoy, and he manages to make it seem negative in his head. Even at the very start of the piece, he “stands despondent” and is unable to make any excuses for staying at home, or in the town. He doesn’t want to go to the beach, and even when he does go, he dislikes it. Since Arun is indian, we can assume that he is from a city, and not from a small village. His had probably spent his entire life in a small area, not really exploring outside of the city. After all, there was no need to.  All of these details reinforce that Arun doesn’t want to try new things; he is quite literally afraid of the unknown.

The diction that is used throughout the piece tells the reader how Arun is frightened. Phrases like “he starts wildly” show that he is almost amazed by the fact that he may have to go out in nature. “ugly, jarring note” gives the reader the impression that the sounds are discordant. Arun takes the sounds of nature, and the author uses diction to almost twist it. Instead of feeling at ease, the words convey a sense of nervousness; something is not alright. Finally, diction is used to make it seem like the woods want to actively stifle human life, with “creeping curtain of insidious green, these grasses stirring with insidious life, and bushes with poisonous berries”. This phrase is used to say that the active, lively woods are unnatural, and that even the innocent seeming bushes are poisonous to Arun. The use of diction to twist a summer day into a scary forest implies that he is panicky about going to the lake.

Finally, dialogue is used in this work to show a contrast between Arun and his family. “‘Summertime,’ he hears her singing, ‘when the living is eeh-zee—’” shows that faced with the same set of facts, the family members are drawing very different conclusions. The only reason for this to happen would be the background that each grew up in. Arun grew up in crowded India; the Pattons have been close to nature since they were born. This illustrates the difference in the two worldviews. “we’re not going to sit here waiting for them to come home—oh no.’” shows that Mrs. Patton is an independent woman. However, it also shows that Arun is willing to follow. He isn’t going outside because he wants to try something new, he is going outside because once his host family has their minds made up, they intend to follow through with something. This is important because of the lack of something: Arun never wants to go outside. Because his host family wants to, we can see that he is unhappy about the situation, but compliant.

Anita Desai masterfully uses strong diction, focused dialogue, and Arun’s point of view to show how he is scared of the unknown. These are also used to reinforce how Arun’s indian background colors his way of looking at a pure summer day. The meaning of the story is how the unknown is always frightening.

Recap

  1. Reading like a professor

This book showed me the different ways authors will convey things to their readers. I simply didn’t know about how authors will try and reference other texts, or how rain and other events tend to relate to christianity. This unit showed me the complexities that are in the reading we embark on this year.

 

  1. The Nuts and Bolts of College Writing

This book taught me how to write concisely and how to not go overboard with the words. The people who read what I write don’t want to read thousands of words that could be summarized in a few paragraphs. That is the most important takeaway I gathered from this unit. Other things that I want to explore more include: flow, endings, and paragraphs. I had never thought of paragraphs as units of thought before, which is a comparison I liked a lot. I connected this with computer science in my head, thinking of a paragraph as a nested data structure. There are infinite types, but some work better than others to do the same thing.

 

  1. Essay Writing

This presentation was mostly on how to write essays for the AP Lit exam. I found the central question that we always have to answer to be the most useful thing in that powerpoint. Knowing what the grader wants is central in writing a good answer. I plan on using this statement for the rest of the year.

 

  1. Close Reading Practice

Practicing everything that we had learned by using “A Jury of her Peers” was a great in class activity. Engaging with the class made me realize the number of different interpretations there were of the exact same story and words. Applying everything that we had learned was also lots of fun. After doing this activity, I went home and re read Ender’s Game. A bunch of religious references and other bits and pieces all jumped out at me.

 

  1. All Textbook Activities

These were fun to do. I enjoyed applying all of the skills that we were learning in class to real material, stuff that was closer to the AP Exam. I felt that the poetry section was harder than the prose. In my opinion, prose has a much easier to understand plot, whereas poetry has many more interpretations than prose. Realizing the differences between them this early is something I am thankful for.

 

  1. Peer Review

We already posted our reflections on this in Classroom, but there are a few things that I realized after doing it. This assignment helped me so much with my writing skills. Having multiple students review my writing and tell me what parts they liked and disliked is something that will help me write better.

 

  1. Terms List

I have been studying the terms in class and at home for a while now. I have gone through about 50 of them, and I like to learn them everyday. Some words are ones we covered last year in British Literature. Others are completely brand new to me. Learning these allows me to describe literature much better.

AP Lit 9/24

 

Ann Petry’s 1946 novel, The Street, shows how Lutie Johnson has a connection with the setting of an urban street. Throughout this passage, Petry establishes Lutie Johnson’s relationship to the urban setting through the use of imagery, by using phrases like “rattled the tops of garbage cans”. Petry uses personification, by saying “Fingering its way along the curb, the wind set the bits of paper to dancing high in the air, “. Petry also uses figurative language such as good diction, with “barrage of paper” and “grit stung their skins”.

 

Imagery is used very heavily throughout this passage. Petry says “rattled the tops of garbage cans” to show how strong the wind is, and to make the reader feel as if there is a rattling noise of metal on metal. She says “sucked window shades out through the top of opened windows and set them flapping back” to show that the wind was really powerful and changing; it was fluid. This gives the impression of the wind playing around with the people in the streets of this urban place. This wind later encounters Lutie, and all of these images start to make sense as it mercilessly drives her to find a warm room.

 

Personification is used to show the relationship between Lutie and the setting. By saying “Fingering its way along the curb, the wind set the bits of paper to dancing high in the air, “ Petry shows that the wind is moving across all of the people around it. It is trying to be as much of a nuisance as it can, by makes the streets dirtier, and by touching each person in a certain way. “She shivered as the cold fingers of the wind touched the back of her neck” shows that the wind is exposing everyone, and it is making people feel uncomfortable. The wind blowing through this less crowded city is unmasking everyone and making them feel like they need a safe place. This very wind that Lutie is trying to avoid quickly annoys her right before she finds a room to hide from it.

 

Petry also uses figurative language such as good diction, with “barrage of paper” and “grit stung their skins”. The barrage of paper really puts a picture in your head. You can almost see a tornado of paper being driven through the dirty streets. The grit flying into people’s faces makes them blind and hurt. “dark red stain like blood” tells you exactly the color that this rusted sign has, and it makes you feel a bit more afraid for the protagonist. “impossible angle on the rod that suspended it from the building” shows you just how precariously the sign was placed, and that the wind is so strong that it can makes even the impossible happen. This wind is so powerful that it has, in some ways, created this urban setting that Lutie is trying to navigate.

 

In conclusion, the wind is used in many different literary ways to show the connection between Lutie and the city she is in. The author uses very powerful techniques to put a picture in the readers’ heads of what this wind can do, and how it touches everyone. Petry truly  establishes Lutie Johnson’s relationship to the urban setting through the use of such literary devices as imagery, personification, and figurative language, and makes the passage a pleasure to read.

 

AP Lit Blog Post 9/10

2006 AP Lit Free Response

“The following passage is an excerpt from Lady Windermere’s Fan, a play by Oscar Wilde, produced in 1892. Read the passage carefully. Then write a well-organized essay in which you analyze how the playwright reveals the values of the characters and the nature of their society.”

First Response

Author A answers the prompt. They point out the differences in character between the women and the Lord Darlington. However, this response focuses too much on what is being revealed, rather than how. The prompt is asking for how the writer reveals details about the characters. Author A says about that is “a mundane situation to reveal character”, and then picks apart a few lines of dialogue to show how and what it means for the character. I feel that they could have included more dialogue, and started with the dialogue, rather than their impressions of the characters. The last paragraph is the most organized of them all, and it finishes out a strong argument. The author is able to back their claims with solid quotes, and I found myself agreeing with them on a few points. Overall, this response is quite good, but the author could have been more direct in answering the prompt. EDIT: After reading the other responses, I feel like I was too critical of this one. This response is the strongest one of them all, but it could use a little bit of work, like I mentioned above.

 

Second Response

This author barely answers the prompt. There are very few direct quotations, and they only talk about their impressions about the characters. The introduction is okay. The author simply rephrases part of the prompt and then provides what they thought of each character. The second paragraph deals with what they thought of Lord Darlington, which happens to agree with the first author. In this paragraph, the author mostly talks about how the lord is funny and doesn’t judge people based on their “scandals”. While I agree with the author, this does not answer the prompt. There is very little analysis on how the author reveals the character. The piece reads more as an argument for what each character is like. In the second to last paragraph, author B references the text a lot more, trying to answer the prompt better. In the last paragraph, they conclude by mentioning that dialogue is shows the personalities of each person, but they don’t mention how or why.

 

Third Response

This response is the weakest of them all. It only covers one character, artificially limiting the author to a set amount of content. The response also spends a lot of time directly “translating” the dialogue that is said, rather than analyzing it. This author also does not really answer the prompt. In their conclusion statement, they talk about how our society and the society mentioned in the play are not that different. Their central claim is based on comparing our world to the world described in the text. This response makes it feel like they’re answering a completely different prompt than the one that is mentioned. They talk far too much about the world, and they end with a call to action, on making the world a better place. This read like an essay that was based on a similar prompt. It does all the right things, but it doesn’t even remotely answer the prompt, and it doesn’t have the content that was in the other two responses.

Programming Languages Explained

You might hear someone call themselves a programmer, but what does that really mean?
It means that they know one or more programming languages. Now what is a programming language?
A programming language is the way a programmer can tell the computer what to do. There are many programming languages out there, but I will touch on the ones that I have used and liked for this post.
First off, we have C. C is one of the oldest languages (1972) that is still in heavy use today. Operating systems are written in it; most other languages are based on it. C is one of the highest performing languages as well, however it can be a pain to code in for beginners. Here is an example “Hello World” program.
/* Hello World program */

#include<stdio.h>

main()
{
    printf("Hello World");
}

File:The C Programming Language logo.svg
Photo Credit: https://commons.wikimedia.org/wiki/File:The_C_Programming_Language_logo.svg
What this program will do is, if run in a terminal/cmd, it will print out the text “Hello World”. Most of this is easy to understand, however things like manual memory management and pointers make C harder to work with for beginners.
A successor to C, C++ was created to add object orientation to C. It aims to keep the same performance, and since it is object oriented, many games are written in it. Object oriented means that you can write classes, which make it easier to have a lot of something appear on a screen.
// my first program in C++
#include <iostream>

int main()
{
  std::cout << "Hello World!";
}
File:C plus plus.svg
Photo Credit: https://commons.wikimedia.org/wiki/File:C_plus_plus.svg

As you can see, the two languages are quite similar, and you can sometimes use C libraries in C++. Next up we have Golang, a language backed by google. Golang is quite fast, as it compiles into C code. Golang was created by google in order to reduce their server processing time by rewriting some of their application in Golang. It also has a nicer syntax than C or C++ for some people, so one could use it as a beginning language.

package main
import "fmt"
func main() { 
    fmt.Println("hello world") 
}
File:Gogophercolor.png
Photo Credit: https://commons.wikimedia.org/wiki/File:Gogophercolor.png
Still is pretty simple. Next up, we have the king of beginning languages, Python. Python is an interpreted language, which means that each line is read by the compiler as you run it, then each line is evaluated. This makes it a much, much slower language then all of the ones I have covered so far.
print("Hello, World!")
That’s it. Very, very simple and easy to read. My favorite out of all of these, however, would have to be C++. You can do almost anything in it, and it is high performance. It might have a bit of an ugly syntax, but it clicks for me in my head, and I love using it for simple stuff. However, if I was asked to write a GUI application, I would probably switch to a different language, like D. D was designed as the successor to C++, and it is also quite fast. It hasn’t really caught on in the rest of the world however, because no one wants to move away from C++ and rewrite everything.
import std.stdio;
void main()
{
    writeln("Hello, world without explicit compilations!");
}

As you can see, the syntax is close to C and C++, but quite easier to work with due to the lack of header files, which I can get into quite later.

That’s all for this post!

Spell Dev Log: 0.1.6

Link: http://ajusa.github.io/Spell

Welcome back to another Spell Dev Log. In this log, I will be discussing what the current state of Spell is, and why I have decided to change all of the gameplay. This is a pretty short one, since all of the changes can be described succinctly.

spellnewverison
Photo from me

First off, a ridiculous amount of changes have happened since I last posted one of these. We have working multiplayer, and better graphics than before. We had an actually playable, not too bad game. However, after discussing it with some of my friends, we realized that the way the gameplay worked was kind of limiting.

We had a 2d platformer type of game, where you can shoot only in two directions and move in only two. This makes it somewhat easy to “camp” in a corner and spam long range spells. If done right, you could kill everyone on the map. For games such as Mario, it works because you are trying to solve a puzzle. However, for a game like Spell, where all you need to do is shoot and move, this becomes very boring.

After thinking about it for a while, we decided a top down tile based game would be better for the feeling we were trying to achieve. A top down game is more like Pokemon, and it adds on two new directions the player can travel and fire in: up and down. If you have ever played games like Realm of the Mad God, Agar.io, or Binding of Issac, you know what I am talking about.

newspell
Photo from me

We decided to leave most of the controls the same, but to implement aiming with the mouse, so that the game would require more skill. Right now, you face the mouse, but the spell don’t actually fire in the right direction, rendering it useless. However, this will be fixed within a few days. Some of the math requires trig and basic calculus, so that is why we are looking for a better way to do things.

Another gameplay change is the way the controls are mapped. Since we are planning on using a mouse to aim, that means that one hand will always be on the mouse. This means that you have to move with your left hand and choose your combo with your left hand. While this could get a bit cramped, we can’t really think of a better way to do it. If you have any suggestions as to how we should go about implementing the controls, feel free to leave a comment!

One change that has happened to our Dev Team is that it has grown substantially. We now have two developers, two graphics artists, and one game designer. EpicMittMitt, Ajusa(me), AlphaBetaR, Dark_P1ant, and FunnyWabbit are part of our current team. The game master, Dark_P1ant, has already started to balance Spell and make it more fun to play. He has also been suggesting good ideas for us to implement. Other people that I bounce ideas off of are my friends at school. They have helped a bit in the brainstorming process.

github
Photo taken by me, from http://www.github.com

What is coming in the near future? Right now, basic aiming and 4 base spells are our goal. By sometime in May we will probably have some spell combos implemented for you guys to test out. We will be designing a map so that you can move around and shoot people with spells strategically. Lastly, we will be adding a chat bar of sorts, so that you can run commands and talk with other players.

In short, Spell development has not halted. It is accelerating much faster than I had thought it would, and I hope it manages to become popular, like agar.io. See you all in the next spell update!

Reusing an Old Laptop

 

Hello everyone! Today I will be talking about an operating system named Solus. Solus is based on Linux. When most people think of Linux, they immediately think of hackers and programmers. However, this is flawed. Linux can be used for many purposes, including a normal alternative to OSX or Windows. In fact, if you use a Chromebook, or even visit websites, you are most likely interacting with Linux, though you may not realize it.
So, why should one install Solus? Well, if you are like me, you probably have an old laptop. I have one from 2009. These laptops are usually pretty bad nowadays, and even selling it won’t get you that much money. Since electronics age quickly, you might think it is practically worthless. However, many of the issues you may be having with the laptop can be fixed by using a lightweight Linux Operating System. In this case, I chose to install Solus on my laptop.
My laptop is an Acer Extensa. It is 7 years old now, and it only has 2 GB of ram, along with a 2.0 GHz processor. In other words, my phone had better specs than it does. It takes about a minute to boot into Windows, crashes a lot, takes ages to open up a word processor or chrome, and tends to lag out when on YouTube. For this reason, it had been lying under my bed for a while.
I installed Solus on it about two weeks ago. Now it is actually usable, and faster at booting than my other laptop, which has an i3 processor with 6 GB of ram. Both laptops have a normal HDD, which is much slower than an SSD, but even then, the old laptop manages to perform quite well. I can watch YouTube, do homework, browse the internet, and play music. I can technically play Minecraft, but it runs at about 20 fps, which is borderline unplayable.
Here is some more info about Solus. First off, it is a 64-bit operating system. That means that some very old computers will not be able to run it. The OS is designed for desktops, however it runs just fine on laptops. Some wifi cards are not supported, but I recommend you try it out before assuming it will not work. The minimum specs on their website is 1 GB of ram, which most older laptops will have. They recently released a new version, 1.1, which has many updated packages. Here is a link to their website if you want more info. https://solus-project.com/
Now on to the exciting part. Benchmarks. Boot time is quite fast for an older laptop. I have attached a video at the bottom of this post showcasing the laptop booting, but the actual time was about 20 seconds on my stopwatch.
That’s it for this post. If you think this is useful for reducing e-waste, tell me in the comments so I can write more posts like it. Robotic Arm Part 4
post will be next!

Building a Robotic Arm for Cheap: Part 3

This post covers the base of the arm, and putting it together. I have built the base with my partner, along with a rudimentary claw. We are almost done, we just need to attach the two. It has been lots of fun, and I hope that we will do well in regionals for Science Olympiad.

So, to start off I will go over the parts. We ended up buying 4 servos: one for the base to rotate left and right, one for base up/down, on for up/down, and one for the claw opening and closing. We bought one servo driver board, and one Arduino. We were able to make the body out of duct tape, paint stirring sticks, and a some screws. It is surprisingly stable for the price of all of those items put together.

The total cost of the arm so far is pretty low. I’ll post some numbers once the competition is over.

TO build the base, you need a box of some sort. We went to hobby lobby and bought a generic wooden crate, but you can experiment with any box. Next, we drilled a hole in the top of the box, to allow the servo to rotate side to side. We have one servo under the box, for side to side, and one over, for up and down. Currently, the one on the top is unstable, but it is working.

If you were to build the arm, and put it on top of that base, you would notice that there isn’t anything to stop it fro tipping over. I recommend trying to use your power supply as you counter weight, but if it is too light, you can use 2 pound dumbbells like we did. They are heavy enough to cover the weight of the arm flailing around and stop the entire contraption from tipping over.

That is the base. Here is a quick photo of the arm itself, shaking hands. Pretty cool, eh?
IMG_20160221_183609.jpg

Now, on to the code and technology. We are using Arduino code to drive the servos, but all of the values that change come from the computer. The computer is connected to joysticks. The joysticks are able to move the arm, and rather smoothly. There is some code to stop it from jerking around.

The data that is being sent is formatted like this:
rightxrightyleftxlefty,rightxrightyleftxlefty,rightxrightyleftxlefty,
You get the idea. For each one of those, we are sending forward, neutral, or backward. All of these are being sent over the Serial protocol, which is hooked up over USB.

The code to do all of this is located on the computer and written in Javascript. It is using a Javascript run-time called Nodejs, and I have mentioned Node before on this blog. The code check the joysticks, and spams the Arduino with the values every 20 milliseconds. This way, there is no easily identifiable delay between the two.

Finally, here is some video of the entire thing in action.

See you all next post! In part four, I’ll include how we did, what I learned, and what I would change.

Spell Dev Log: 0.1.3

Here is another… SPELL UPDATE!
The reason Spell development has slowed was due to finals week at my school. Finally (sorry, that was bad) I can go back to working on Spell.

spellupdate.PNG

However, several things have changed since the last update. The largest change is that a new person has joined our team. AlphaBetaR is the new official graphics designer of Spell. He has created artwork for the character sprite (no more rectangles!) and he has created art for each of the elements of the game. He plans on creating the graphics for each spell as well.

spellupdate2.PNG

Another, huge update is that the hardware for the server has arrived! It only cost $9, and should allow up to 10 players on at a time, maybe more. I would need testers to test that. Also, there is experimental server code that has been written by me. It will be running on the new server sometime on Thursday. Right now, it is somewhat glitched as people don't ever disconnect, so a 'ghost' version of them is left on the screen which requires a server restart to fix. I will hopefully fix this by Friday.

So far, the server support the joining of players, and the movement. Spells cannot be implemented until we have an image file to render. Still, it is pretty good progress, considering how much time making games usually takes.

Spells and spell bias also were implemented by EpicMittMitt. He had been pushing lots of code recently, since I haven't had much time. Spell bias shows which element the player prefers more. If you use mostly fire based moves, your fire bar goes up and other bars go down. This is a good step towards completion of the game, and now very few aspects need to be worked on!

bias.PNG

When I say spells were implemented, I mean they were implemented except for actually seeing them. As in, in the code they are rendering, but we have no image to render it to. This means that nothing appears on screen, but stuff is happening behind the scenes. You can see your input on screen.

Our plans for now include:

  1. Adding better graphics
    For this, all we need are 4 backgrounds for each of the maps we plan on releasing in March. After that, we need one for each Spell, which is a lot of art.
  2. Adding XP Orbs
    These XP orbs are so that if there is nobody else on to fight, you can still level up and grind your character for levels.
  3. Working up the multiplayer.
    We need spell support, and player deaths. This one will take a bit of time, but it should be completed by the due date.
  4. Gamepad Support
    Gamepad support would be cool for all of the people who play super smash bros. After all, this game borrows some of the 2d platformer aspect from it, and some people prefer a gamepad to a mouse.

All of these need to be finished by version 0.2 Alpha. After that, we will have an official release. However, we need your help! If you have any suggestions, email them to me, or make a Github Account. Then, on our repository, create an issue.
Here is a link: Click Here

I have one question for anyone who is reading this: What platforms would you like Spell to be supported?
That's about it for this Spell Update! The game will be out soon!

Spell Dev Log: 0.1.1

Hello everyone! This post is about a game called Spell, which I am currently developing with some friends. The game is currently in Alpha 0.1.1, hence the title being a version number. Right now, the team consists of two developers, so the graphics are virtually non existent. All of the code is located on Github. This is NOT a tutorial on how to write a game, just a write up on how I made a game.

spelltitle.png

Here is a brief summary of the history of this project. The code is based on a game I wrote called Zdefense 2, which in turn is loosely based on ZDefense. ZDefense was a game I wrote in the summer of 2014, right before I had started high school. If anyone wants to play it, click here. As you can see, it seems like a final product, but the gameplay was really lacking. You couldn't move around. All you could do was spam one button, and your score was determined by your upgrades. That is why I wrote ZDefense 2. It, however, never really got off the ground. I felt limited with the original game getting in my way. I didn't want Zombies anymore.

zdef.png

Then, on Jul 26, 2015, Spell was created. The idea itself was based off of a google doc my friend and I had made back in 2012, with magic and the different elements. At the time, none of us had been developers, so it had been forgotten for the next three years. One day, I was going through my Google Drive, and I saw that document at the very bottom. I realized that I now knew how to develop games. I contacted my friend, he ended up writing the input code, while I worked on the multiplayer support for the game. The game server ran in my house, and development was going great. Then, I noticed that the game was running rather slowly. It would log out my laptop, and drive the CPU up to 100%. So, I decided to rewrite the game using a framework called Pixi.js. This JavaScript framework was created for speed, and used webgl. Unfortunately, school had started, so my friend and I had scant time to devote to the game.

spell.png

Over winter break, we both met up, and got the webgl rendering working. That was about two weeks ago. Now, the game is under development, and will be released sometime before this summer. We are currently implementing a large amount of the game play. Adding things like levels, and skill points are our current focus. Want to know what technologies we used while making it? Keep reading.

Here are the stacks of technology we are using. First, we are using Javascript. Being a web game, we had to use JS. However, we had to decide between the plethora of rendering options. There was canvas, webgl, css, and a few others. We decided on WebGl, the fastest, after our canvas version started to lag heavily.

javascript-736400_960_720.png

For the multiplayer, I originally used Golang, a language created by google. It is ridiculously fast. However, I noticed that the language wasn't as great as I had initially thought. I wasn't able to use many of the libraries I was depending on. So, I switched to Node.js. Node.js takes Javascript code, and lets you run in on a server, instead of a browser. You lose a little bit of speed, but the language is a lot easier to work with. The multiplayer is now written in Node.js.

Node.js_logo.svg

Finally, we are using a few different libraries. Riot.js, for rendering out html, Martmotta, for executing ajax calls, and Pixi.js, for the rendering of the game. These libraries greatly simplify game development, as you can focus on coding the game instead of spending large amounts of time on drawing a box. We have already written roughly 800 lines of code, and that number is going up.

That is all for this post. I will be posting more updates as more and more of the game gets done. Within a month or so, the game will be released for official alpha testing. Keep an eye out for that post if you want to see it in action.