I finished my general store project! I added order history in both admin and user page. Users can view their own history, while the admins can view all order history. They can also search history by id or product name. Also, I added a dummy admin page so that those who want to see the admin page an access it. They are not capable to modify anything though.
I worked on the user page today. Users can now view the products. When they press the buy button, they get to decide the quantity of their purchase. The PHP shows the calculated total to the users. If the user buys the product, the remaining stock are updated automatically.
I returned to my general store website. I redesigned my admin page so that the table disappears when admins are in the process of modifying the databases so that they have to scroll down repeatadly. I modified the css file so that it is more visually pleasing and consistent with the rest of the projects in my portfolio.
I finished my website! I added alternate style and fixed a lot of bugs. I used PHP and a session variable that the style change sustains through the website until the user closes the browser. Picking a new color schemes were the hardest part, but I managed to do it.
I'm almost finished my website! My blogs, portfolio, and links consist of little boxes that expands when I click on it and retract when I reclick. That way, my website is more organized and visual - they no longer have to scroll forever to see the wanted post. I also finished making my navigation bar. I think it is self explanatory as it is right above you :D
I kept working on resigning my website. First, I finished my intro page. I assigned home to box 1, portfolio to box 3, blog to box 7, and links to box 9. When a users hovers over one of the squares, the 9 boxes and the background change color using jQuery and the title changes to indicate what the box links them to.
I kept working on resigning my website. First, I finished my intro page. I assigned home to box 1, portfolio to box 3, blog to box 7, and links to box 9. When a users hovers over one of the squares, the 9 boxes and the background change color using jQuery and the title changes to indicate what the box links them to. Second, I brainstormed designs for my home page - I'm going to have a horizontal menu and textbox under them.
This is the first day of block 4! Although I had handful number of projects to do at hand, I decided to redesign my website. I worked on my intro page today - I made 9 squares on the middle of the screen. Making them responsive were the hard part: the divs often collided with each other or did not line break as intended. However, I fixed the issue by using both padding and margin respective to the website width size.
Ron and Caroline taught circuits today. After we experimented many circuits designs in the applet, Ron gave each of us a breadboard. The first one we built was a basic LED lighter, and the second one was a timer LED lighter. Breadboard shocked me because it kept the circuits really simple and organized. I worked on my general store this afternoon.
In the morning, Brendan, Rohin and I built a marble roller coaster. We measured the distance 3 times for each y values, and fit a LSRL line to see the relationship between the height and the distance. I really liked this lesson because computational approach to kinematics was very interesting. In the afternoon, Miguel gave a lesson on using ajax. Although I'm not yet comfortable with ajax, I think that this will be very helpful when I make php files.
This is the second day of civil engineering! After we devided into (almost) equal groups, we held a mini-competition. Caroline asked us to build the structure that is both high and stable. Unfortunately, I was called to work on the reception, so I did not see the result of the competition. On the afternoon, Ishaan taught us jQuery. JQuery is very interesting, and definitely applicable to my website. I plan to change my website as soon as possible.
We started the engineering lessons led by Ron. Caroline gave us a set of lego patterns, and asked us whether they fall or not. Afterwards, we hypothesized what would be the factor that causes the legos to stand or fall. She gave us the links to an applet that simulates our experience, and we compared our hypothesis to its results. In the afternoon, the interns taught us how to write recursions in javascript. We made a function that calculates a number's factorial by utilizing recursions.
Now that the login and register page are complete, I decided to build the user page and a products table. The table itself is actually simpler than the customer table because it consists of only 4 columns: id, name, price, and amount. What was not simpler, however, was modifying the columns in admin page. Unlike the customer table, in which I only had to change yes to no or vice versa, I had to modify a string or number. I approached this problem by making a two step process:
1) admin decide which action to take using a radio button, 2) an additional html form appears to write the new value.
Time to work on my general store website! I built a functional login page today. This is how it works: when a user enters a id/password combination, the php checks through the customer table and checks whether the combination matches. Next, it checks whether if the user is an admin or not. If he/she is an admin, he is redirected to the admin page while others are redirected to the user page.
My group continued to finished the javascript model. The fire spreads through the project (initial point is random!) successfully, and the step, play, and stop buttons are fully functional. Thanks to this project, I now have much better skill at making objects in a javascript, drawing them in a canvas, and setting an interval to start/stop/step simulation.
Anup, Menefese, and I wrote a codeplan for the fire spread model. We described what variables, functions, and loops we would use in order to build the model. I really love the idea that Aaron didn’t want us to start our model before we have a detailed plan; I think organization and planning ahead is a mandatory skill in professional settings. We had a head start on the javascript model; we made a canvas consisting of trees placed randomly (thanks to Ishaan for his help!).
Aaron gave us a little break from php and assigned us a group javascript project! We have to remodel an already written agentsheets model in javascript. My group -- Anup, Menefese, and I - were given a fire-spread model. We finished writing the general description of the model, and will write a detailed code plan tomorrow.
I made my register page today! It inserts the entered data to the mysql database using $_POST. Moreover, it checks the entered data for duplicate id, name longer than 20 letters, id and password longer than 10 letters, and age that is not a number between 0-130.
I finished the ‘manage users’ part of the admin page! Admins can now suspend user, change admin status, or even delete an user. This is all done in one page; each attributes of an selected user is carried around in PHP using forms/$_POST. Auto increment primary key really helped me out because there are no duplicate ids in the database and therefore use it to identify a single user.
Today, I started to make my admin page that displays the customer database. The process was challenging to me because I did not comfortable at all with PHP mysqli syntaxes. Fortunately, after all the debugging I had to go through today, I have a better understanding of how mysqli works. I plan to make users’ data modifiable in PHP tomorrow.
After I finished organizing the PHP projects, I brainstormed the layout of my store website:
login page: it will redirect users depending on their status
register page: new users can register in this page.
admin page: admins can edit the customer and product database.
user page: non-admins can buy products from here.
config page: not accessible by users, has mysqli login info.
Afterwards, I made a customer table in terminal mysql which consists of auto-increment id, first name, last name, gender, age, admin status and suspension status.
We were assigned our general store project! Because I had more php projects to finish/improve, I decided to devote today to finishing my projects prior to starting the general store project. First, I finished my bg selector -- it uses cookie so that the browser can remember a certain color that user likes. Next, I started my dice project, which was harder than I expected because I needed a method to derive when the first day of the month starts. I solved it by equation (date('w') - ( ( date('j') - 1) % 7 )+ 35 ) % 7;.
After i finished designing the dice project, I moved to my background selector. After I implemented all the requirements, I added more options to selecting the background color in addition to simply selecting from a drop-down menu: 1) generating 4 random colors and choosing one among the four, 2) entering specific hexcode the user wants. I used a isset() algorithm to only show the necessary html the user needs depending on what option he or she chooses (so that the background colors do not overlap) In the afternoon, Joel taught us how to use php to play with mysql.
AM: Joel gave us time to finish our php projects. I finally finished my dice project; I implemented a lot of user interactions (number of dice, number of rolls, and number of sides), and fully functional pi graph depicting the roll distribution. I'm really happy with my loops in the model which is resistant to possible extreme values -- well, unless some guy rolls 1 million die that has 1 million sides 1 million times, but he or she will regret doing it. PM: We were introduced to mysql and basic commands.
AM: I worked on my dice statistics project. I'm really trying to make the project much more versatile, so that it can create a data table that formats automatically depending on the user-input values. I'm also creating a frequency table, but I did not finish it. Counting was actually more complicated than I thought it would be; I would have to loop a lot and make many variables. Problem is that the number of sides varies; so the counting method has to be much more flexible. I'll figure it out tomorrow. PM: we learned about cookies and how to apply it to our projects.
We learned about php today. I really like the concept of the php in that writing in php protects its content more securely than just putting everything in html. I do find it pretty similar to javascript, but its syntax is still a little bit confusing to me. Nevertheless, I really find php very interesting, useful, and fun to play with it! My goal right now is to finish the projects given as best as I can.
Today was the first day of block 2! We learned regular expressions in the morning and javascript canvas. Canvas was very interesting to me because I really enjoy making patterns out of basic geometry shapes :D I hope to learn how to draw more complex functions on the canvas.
Today was the make-up day for my presentation. I first started working on my website for about half an hour. However, I made a mistake in the links in the Portfolio because I misdirected them to portfolio (see the difference?) I’m a little embarrassed about this mistake I made, but I learned single mistake can take the whole section of my website down; I’m definitely going to take more attentions to minor details of my codes than I previously did.
Today, we wrote a parallel model using C. I'm very happy with the pi approximation that I had built: It uses simpson's rule and little bit of calculus which approximates pi to 10^6th place with only little use of calculation. Although its my first experience with C, I really liked writing programs with it.
This is the first day of parallel computing (make up day)! I'm not really familiar with the concept of parallel computing and I think that this is a great introduction to it! Answer to Mobine's questions are:
1) The Bluewater is not listed on the top list because Bill Kramder to drop it from the list.
2) the top super computers (supercomputer/location/# cores):Tianhe-2/Guangzhou/3,120,000, Titan/U.S./299,008, RIKEN K computer / Japan / 640,000
Today was the last day to work on the project. We checked that every behavior of the agents were working by adding console.log tests to the features (such as age checks, hunger checks, sound checks, and so on). I’m a fast but very clumsy programmer: I tend to make a lot of mistakes when I code. That is why I think partner coding work great for me: Woo catches my mistakes and correct them. If I did it alone, I would have gone back and forth trying to find out the mistakes I had made in the model.
This is our second day of the project. we worked on putting some more features on the model and helped other groups with their project, especially with sound. It is not that sound is very difficult, but it is syntax-heavy which messed up some of the projects. I'm looking forward to see the presentations!
Wooseok and I started on our new javascript project: Seals and Fish. I like that we are making a model with a concept we are already familiar with because we can extend our skills in connection to what have been already established. We finished all the necessary components, and we will be working on 1) improving our model and 2) my website.
Happy birthday to myself :D. It was the third day on the javascript. We went over for and while loops, but focused mainly on the arrays. Honestly, I did not even know such thing as arrays even existed before this class. However, I learned that arrays are extremely useful because it can give unique and many characteristics to every objects in a very systemized way.
Happy birthday to myself :D. It was the third day on the javascript. We went over for and while loops, but focused mainly on the arrays. Honestly, I did not even know such thing as arrays even existed before this class. However, I learned that arrays are extremely useful because it can give unique and many characteristics to every objects in a very systemized way.
We finally started javascript. I feel like javascript is the most fun programming language to play with, and thus found today's class very, very interesting. We were given a javascript model with error in it and told to fix it. Also, we were taught some basic operations and how they could be mixed up.
Aidan and I started working on our Seals and Fish Project. Aidan will be working on his vensim model and I will be working on agentsheet. We actually finished all the necessary part of the project, and we will be working on improving our model and go beyond requirements! I really like the concept of this model, and I'll try to do my best to make it very realistic as possible.
AGENTSHEET!
AGEEENNNNNNNNTTTTTTTSHHHHHEEEEEEEEETTTTTTTTT!!!! If you know me, you know that I love agentsheets. I especially love doing what I'm not supposed to do, such as making algorithm of function that as a whole new function. We made a sickness spread model, and learned how I could make the codes the simpler to do the same task (efficiency!).
We went over vensim today. I love vensim because it tellls a lot about the model; it can be a great model to explain interactions between populations, but it can also be a great supplement to support another model, such as agent-based models. I'm definitely going to try out making more vensim models myself.
First day in November! I learned about Unix codes today. Today's lesson was very helpful to me because I wasn't comfortable with unix when I learned it in SSP, but I feel much better with it now that we took this slowly but cohesively. I was able to make a file/folder tree and moved/copied them without mouse. Amazing, right?
First day in November! I learned about Unix codes today. Today's lesson was very helpful to me because I wasn't comfortable with unix when I learned it in SSP, but I feel much better with it now that we took this slowly but cohesively. I was able to make a file/folder tree and moved/copied them without mouse. Amazing, right?
I learned a lot about, basically, how to think. The sudoku activity was very entertaining and I definitely gained a different perspective on how to solve and 'see' sudoku. Dr. D also introduced us to scientific method: expectation, observation, and reflection. I find myself often skipping the expectation part and right into experimenting - I should really try changing that habit throughout the Shodor year :D I also had the first meeting with Ron, and talked about what his and my job as mentor and mentee.
Today was the first day day in shodor as an apprentice! We were informed how the rest of the year would be, and Ron gave a lesson on work ethics. Not only it was informing, but it was also very entertaining and interactive; yes, I did listen to his lesson in SSP, but I still learned a lot of new things that I did not notice back then. I'm happy to have Ron as my mentor, and I'm looking forward to have a great time in Shodor!