Blog Post 2: Boardgame Lab

During our lab in class we played 2 games. The first was called “Liar’s Dice” (found here: http://boardgamegeek.com/boardgame/45/liars-dice) which I fondly remember from a Pirates of the Caribbean movie. This game is a lot like poker in which you try to bluff the other players in what you have in your “hand”. It’s quite enjoyable, fast, and simple to play.

20160907_184412
One of my hands in Liar’s Dice

The second game that we played and the one that I will be writing my session report on is called “Monopoly Deal” (found here:  https://boardgamegeek.com/boardgame/40398/monopoly-deal-card-game). It is basically Monopoly without the board, dice, little game pieces, and going to jail. It was quite fun and leaves the same hate for your friends after they steal a win from you (I’m looking at you Alex).

 

20160907_183539
My hand right before I thought I was going to win

 

 

“Monopoly Deal” Session Report: The game started out slowly as none of us save for Max knew how to play. He did his best to describe the game but it is hard to understand without actually seeing the cards and getting a feel for the rhythm of a turn. To start we all got five cards. I tried to read them but I had no idea what any did at this point, just that I had 2 cards worth 500 dollars and 3 others which I now know are properties.

The turn order went: Thomas, Alex, myself and Max. The first turns were nothing special as we were grasping to understand what a good move was. Each  turn you draw 2 cards and can place up to 3. Usually we first laid out any cash we had then started to set out our properties. Why cash first? Well if you don’t have any cash out on the table and someone charges you rent (a special card you can play) then they can take your properties as payment. The turns went on as we laid out cash then properties and Max offered us advice on what is a good strategy.

After a slow start I started to get the hang of the game and had 2 full sets of properties out and close to finishing my third (You need 3 full sets of properties to win the game). If everything played right I would most likely win on my next turn. However, the other players were not about to let that happen. Max played a card to take some property from Thomas and finished his turn. Come Thomas’s turn and I knew full well I wasn’t going to win. He laid out a few rent cards which depleted my cash flow. He finished up his turn and I was left exposed for Alex to finish me off. Now I do not remember how much she ended up taking from me cash wise but it was enough to kill off 2 whole property sets and half of my other cards. Without cash on the table to back me up I had nothing to stop her from bringing me back to where I was when I started.

Now the funny thing is when she did this she didn’t know that not only did she kill me off from wining but she had actually won herself. No matter what cards I would give her to pay I would have to give her a winning hand. None of us knew that she won actually except for Max. We looked over the cards, saw that she had 3 full sets and called it. Monopoly Deal is definitely a game you need to play once or twice to get a feel for it but once you do it can be real fun.

 

20160907_180900
A friendship breaking card: steal a complete set of properties form another player.

Favorite Restaurants of San Jose area

Japanese

  • Izakayahttps://www.yelp.com/biz/izakaya-restaurant-san-jose
    • The Sushi is really good and very fresh tasting.
      • I think they have the beast Salmon nigiri that I have had.
    • If not into Sushi their other items are also very good.
      • Chicken Katsu
      • Chicken Curry Katsu – Same as the above but it’s in a curry sauce
      • Pork Fried Kimchi – an appetizer
      • Soy Sauce Rice Ball – I don’t know the Japanese name but these are really good if you like a burnt grilled taste.
    • Downside – The place is really small so it can get a bit cramped.
  • Hanahttps://www.yelp.com/biz/hana-san-jose
    • Hand Made dumplings – think Gyoza or potstickers
    • This is an interesting place, nothing is mind blowing but if you want a traditional taste of Asia it’s a good stop.
    • They make a fried pancake and I don’t know what’s in it but I always have to get it because it’s so good. I eat it with a mix of garlic and vinegars they give you.

Korean

  • Chungdam https://www.yelp.com/biz/chungdam-santa-clara
    • This place has a variety of Korean food. We normally get a meat plate and a vegetable. They bring it to your table and the waitress will cook it, it’s very good and they are really nice if you have any questions.

Italian

Brazilian

Desert

Blog Post 1: Internet Arcade

 

Screen Shot 2016-08-28 at 5.04.05 PM

Altered Beast

Altered Beast is a special favorite of mine. I don’t remember the story or anything too well just that it is two players and that you collect powerups to turn your character into a super strong beast like thing (hence the title). What I do remember fondly is me and my brother playing this arcade game at a grocery store named “Pack in Save” while our mothered shopped for groceries. Nostalgia is a powerful thing and because of that I choose “Altered Beast” as my game to play today.

The first thing you have to do when playing an old game in a emulator format is find out what the controls are and if possible try to change them. The first issue I ran into was that the control key is used for punch. When playing this on a mac this is a huge problem because when pressing control and hitting an arrow key the screen would jump to another window. As far as I could tell I can not change the controls. Enter frustration and lame deaths.

The coolest mechanic about Altered Beast is that you collect powerups and grow stronger eventually turning into a beast like thing. As a beast you can take more hits and your attacks do more damage. That’s about it for the game. The combat is 80’s arcade side scroller beat em up, you can Punch, kick, jump and duck. The game is also short with only 5 levels.

Emulator play can be vastly superior to playing a game on its original hardware. They only downside is when you are playing a game that requires a lot in the graphics department. Those games tend to be a mess on emulators as they slow down and have FPS problems. For older games though, emulators can be much better especially when you can change the controls and settings of the game. My favorite example of this is playing classic SNES RPGS on an emulator. On its original system you are stuck using their save system and game speed. On an emulator you can do such things as “save state” which basically allows you to save and load a game from anywhere you want. You can also speed up the game making a RPG grind much faster. Games also usually play much better on a emulator, as long as they are older. Load times can be much faster than when the game is being played on its original hardware.

The End

Screen Shot 2016-08-28 at 4.48.22 PM

 

Creating a HTML5 Desktop App with NW.js

If you haven’t heard of Slack, a app for team communication, then I highly suggest you check it out. I use it to communicate with my developers at SlickScript, with the managers at Lunardi’s and have used it for some projects in class. Its simple, clean, speedy, and in short I really really like it. What I like most about it, besides the three reasons above, is that it has the same look and feel no matter the format in which it is used. That is Browser, phone, and desktop app all have the same look and work in the same way.

I have been thinking of creating a schedule app of sorts for Lunardis since their way is very inefficient. First they write their schedule, a rough draft of it. They take this rough draft and re copy it over while at the same time looking for any mistakes they may have made. After this, they again re copy the schedule to make it clean and readable. The schedule is then posted for everyone to see throughout the week and come Friday the managers take it down and fill out payroll based off of it. However, payroll has a different format. The managers must add up all the hours that someone works and place what they get in the appropriate columns. These columns include; reg hours, Sunday hours, overtime hours, and something called prime hours which is the hours between 10pm and 6am where clerks make 50 cents more an hour.

As you can see it takes a lot of effort to write a schedule and deal will payroll. The idea for my app is to cut this waisted time down by about 75%. All the manager has to do is plug into the app the time that the person is working and it will fill out the payroll portion for them. They will only have to write one schedule since it is digital and will be clean and neat the first time. The way they enter the shifts would be the way the are printed (10:30-7:30 OR 1030-730) and the app will take care of the rest. I can even keep track of the amount of people that are working a day and other important tracking aspects (how high payroll will be at the very beginning for example).

For now thats the general idea. I have never used NW.JS before nor have I done much with HTML5 and javascript. I will be learning as I go and keep track of everything here.

AWS: Cloud Formation

Diving into AWS head first with no real knowledge about well anything can be a real daunting task. Yet, here I find myself lost but not alone thanks to Youtube. I quickly watched a few videos and read a few blogs about the basics of AWS and was tasked with first launching a CloudFormation template that created a instance and allowed SSH with a key pair.

PS 6: Last problem set for CS149 @SJSU

Our instructions: 

  • The purpose of this assignment is to practice making multiple concurrent Linux I/O system calls in C, with a server process listening to multiple sockets and multiple clients communicating with the server process over the sockets.

    Server

    Create three sockets (local communication sockets), named as “CS149-Socket1”, “CS149-Socket2”, and “CS149-Socket3”. It must use the select() system call to determine whether any of the sockets has received connection request and/or any input data. The select() call is necessary so that request/data on any socket(s) can unblock the server. Once data is received from a socket, it first writes back to the client “received from socket ID:” , following by the content received. The “socket ID” should be replaced with the actual socket name (server socket name) from which the data is received. Then it should print out the same content on screen as well as to an output file “server-output.txt”. The server repeats the process of listening/reading/printing/writing with an infinite loop until terminated by user (via Control-C).

    Clients

    Create three client programs (namely Client 1, Client 2, and Client 3). Each client can start/terminate independently and should connect with the server via one of the three sockets created by the server respectively, i.e., Client 1 connects to socket “CS149-Socket1”, Client 2 connects to socket “CS149-Socket2”, and Client 3 connects to socket “CS149-Socket3”. Each client will ask user to type in a string and then write the string, appended by the client ID, to the corresponding socket. For example, if user input string to Client 1 is “CS149 class is great!”,

    then Client 1 should write the string “Client 1 user message: CS149 class is great!” to the socket “CS149-Socket1”. The client should also write the same string to a file “client1.txt”. Then the client should wait for the response from the server. Once the response is received, it should print out “Server response received:”, following by the content received. It also should write this to the output file “client1.txt” and repeat the process (waiting for user to input the next string, etc) until terminated by user (via Control-C).

    ————————————————————————————————————————————————

    Let the fun begin.

    Ok so first off this has to be coded in C. I haven’t coded in C for quite a while so time to do some reading.

    The professor added a number of src files that show which each individual thing does. That is he has the Client, Socket, and Server src files. I am guessing I am going to see how each portion works and build a program that has all 3 components….. In Java this would be easy since I know the language pretty well. Doing this in C though is going to take some time.