Ocean [ax63], ocean, in Crystal Sea
Last updated Turn #132
Ocean [ax63], ocean, in Crystal Sea
------------------------------------------------------------------------
10: Pleasure Sloop [v5n], ship, 30 hulls, 1 rowing port, 90 sails, arrived
10: from Ocean [ax64], owner:
10: Dorothy [v1b], Pen, with one peasant, 94 sailors
10: Apollo [b5e], Imperial Empire, with 63 lt. xbowmen,
10: accompanied by:
10: Lutra [a4w], Imperial Empire, with 13 paladins, 40 pikemen
10: Hera [g3f], Imperial Empire, with 20 soldiers, 40 pikemen
10: Thor [r4g], Imperial Empire, with ten soldiers, 39 pikemen
10: Eos [a2t], Imperial Empire, with ten workers, 48 lt. xbowmen
10: Khaki Blazer [w4j], Imperial Empire, with 17 soldiers,
10: seven pikemen, 35 lt. foot
10: Banian [e7n], Imperial Empire, earl, the High Priest of the
10: Church of Eres [151], with five soldiers, ten angels
11: Pleasure Sloop [v5n], ship, 30 hulls, 1 rowing port, 90 sails,
11: departed for Ocean [ax62].
11: Pleasure Sloop [v5n] struck a coastal reef.
11: There is minor damage to the ship.
Routes leaving Ocean:
North, plain, to Buffalo Plains [aw63], Imperia, 2 days
East, to Ocean [ax64], 6 days
South, to Ocean [ay63], 6 days
West, to Ocean [ax62], 6 days


What is shiragame?
shiragame is a games and ROM SQLite database that is automatically updated twice weekly by compiling DAT files from cataloguing organizations like
Redump,
No-Intro, or
TOSEC. It provides a fully versioned schema and API defined in its
specification, and follows
Stone definitions for platform identifiers and
ROM content-types.
Is shiragame like OpenVGDB?
shiragame is a
companion, not a
replacement for scrapers, and other similar databases like
OpenVGDB, as it only attests for the existence of a ROM dump, and some metadata from the game the ROM dump belongs to. It does not provide more information other than what can be ascertained from its source DAT files. However, since shiragame is updated with the latest releases, it is much more extensive and can be used with many other information sources and scrapers once existence of a game or ROM is attested.
What platforms does shiragame support?
shiragame collates DAT files from all platforms defined by
Stone. Each catalogued ROM is given a
content type if possible, as assigned by Stone, for ROM identification. Not all available DATs are used, especially for DATs that contain ROM entries that could not easily be ascertained a content type, such as CDN contents for certain modern systems. A full list of DAT files that was used to compile a shiragame release is always available as part of the logs released with every database revision.
Who is shiragame for?
shiragame was originally created for the
Snowflake emulator frontend framework for use as a games attestation database. It is provided here in hopes it will be useful for your project. The latest version of shiragame can always be downloaded
at this linked URL.
What is Stone?
Stone defines and describes identifiers, metadata, BIOS files, and content types for various gaming platforms and their executable and resources. A full list of platforms and content types is available
here. It is a fully open source project and is open to community contributions and fixes on
GitHub.
How is shiragame compiled?
A GitHub Action automatically runs once every month on Sunday at 00:00 UTC that automatically fetches the latest DAT files from cataloguing organizations, and compiles it into a SQLite database. The database is generated with
shiratsu.


Here I am,
feeling inspired,
in the stale white bread town of Logan
pumping my body to some rad hip hop beats.
I believe in the healing power of garlic
and the immersion of music
and dancing so hard that my runner’s knee flares up
and I have to limp down the stairs.
Laughing at turd shaped bits of clay
who the hell thought that was a good idea?
Feeling happier than I have in a long time
in the most unexpected of places
in the most unexpected of ways
with the most unexpected of people
Thinking about dyeing my hair blond
I’d be the smartest blond in town
Thinking about wearing my glasses
for that hipster nerd look
what is with all the Jesus hair?

Hip hop happy happy hip hop
raising me up
not like some shitty Josh Groban song
beats make me happy
thinking of people that I once admired
and thinking that I’m just like them
Only the things I want to rap about aren’t as cool
aren’t as relevant
aren’t as important.
but I don’t care, I can still rap happy
sappy
tappy my feet on the floor
why is everyone always rapping about the broken crows,
crows gnawing at hearts and darts and charts
Crow this and crow that,
I wanna rap about seagulls.
because why the hell not?


This is an interactive webpage that asks, new students in Javasript,multiple choice questions which are well structured to ensure the user gets a memorable and exciting exprience while learning at the same time!


IRIS install
2014-04-24
Installing_IRIS
- IRIS is a python tool for working with netcdf and grib files.
- It is installed to convert WRF output in netCDF to grib2 formate, which is need for grib2json tool.
- IRIS is dependent of large number of python scientific libraries.
- Most of the libraries are python and it can be isntalled though
pip install libarry
based on the failure report - It’s installation further gets erroneous due to unavailability of netcdf, HDF5, netcdf-python packages.
- Has to follow this note (http://code.google.com/p/netcdf4-python/wiki/UbuntuInstall)
- Has to install other dependencies such as udunits through synaptic package manager From its note, copied here as such
Read on for instructions on how to install netcdf4-python on an Ubuntu Jaunty machine. The same instructions should work as well on previous versions.
Installing the required dependencies
There are only two dependencies to install, HDF5 (>=1.8.2) and netCDF4. The version of HDF5 shipped with Karmic is 1.6.6, so you'll need to compile from source. Lucid will ship with 1.8.3 so that won't be necessary, but until then, read on.
HDF5
Download the current HDF5 source release.
Unpack, go into the directory and execute:
./configure --prefix=/usr/local --enable-shared --enable-hl
make
sudo make install
To speed things up, compile on more than one processor using
make -j n
where n is the number of processes to be launched.
netCDF4
Download the current netCDF4 source release.
Unpack, go into the directory and execute:
LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include ./configure --enable-netcdf-4 --enable-dap --enable-shared --prefix=/usr/local
make
make install
Installing netcdf4-python
When both HDF5 and netCDF4 are in /usr/local, make sure the linker will be able to find those libraries by executing
sudo ldconfig
then installing netcdf4-python is just a matter of doing
python setup.py install
- the installed machine already having netcdf 3.6.4, the conflict has to assessed.


{include file="common/css" /}
{$data.username}
基本资料
退出登录
{include file="common/top" /}
{include file="common/js" /}


Test content
Note: data does not include songs that aren't tracked by Spotify, such as local downloaded files and deleted songs. Repeated songs counted.
Songs come from your saved playlists.


Multiple Linear Regression¶
Chapter Introduction¶
In the previous chapter, we discussed similarity and clustering as a data pre-processing step. It is an important organizational step that helps analyze the data as a whole before moving into regression analysis and identifying the direct impact of certain variables on others. In this chapter, we’ll go over the basics of that regression analysis, focusing on one of the most popular models for making predictions when we have a numerical outcome variable, Multiple Linear Regression (MLR).
In this chapter, we’ll go over:
What is MLR?
Assumptions behind MLR
Steps to MLR
MLR + Predictions
What is MLR¶
Recall from Chapter 2 that data mining methods fall under two main categories: supervised learning and unsupervised learning. These learning methods are classified based on the presence and type of outcome variable; in supervised learning, we predict a previously determined outcome variable, and in unsupervised learning, we identify patterns within the data. Under unsupervised learning, the main method we’ll cover in this class is clustering, and under supervised learning, the two branches we’ll cover are regression and classification.
The goal of Regression is to predict numerical outcomes and can be used to predict values in various situations. For example, predicting the amount spent on a fraudulent transaction would be a regression problem.
Regression can be used for explanatory or predictive modeling.
Explanatory Modeling - Creating a model that fits well with existing data (the data on which it was trained) Uses the entire data set to maximize information and focus on the coefficients Represents the relationship between existing dependent and independent variables, not predicting new values for dependent variables
Predictive Modeling – Creating a model that has high predictive accuracy on new data Partitions to assess predictive performance and avoids overfitting with the focus being on predictions Accurately predicts new values for dependent variables, not descriptions of associations between existing dependent and independent variables
The goal of Classification is to predict categorical outcomes, such as whether or not an outcome will be true or the probability that an outcome will occur. Within classification, there are two types of outcomes: class membership and propensity. Class membership refers to the categorical variable itself, while propensity refers to the probability of the class membership. For example, predicting whether or not a transaction is fraudulent would be a classification problem.
Here are some more examples:
How much will a house sell for? - Regression (numerical outcome)
Will a student pass a test or not? - Classification (class membership)
What is the probability of a certain student passing a class? - Classification (propensity)
One method of predicting numerical outcomes under regression is Linear Regression, which examines the relationship between a dependent variable (also referred to as the outcome variable, response, or target) and independent variable(s) (also referred to as the predictor(s), input variable(s), regressor(s), or covariate(s)) assuming a linear relationship. Simple Linear Regression (SLR) examines a single independent variable, while Multiple Linear Regression (MLR) examines multiple independent variables.
The equation below represents a linear relationship between multiple predictors and the outcome. We assume that this is the true relationship between the predictor variables and outcome variable. We will go over some examples and explanations to the different parts of this equation in the rest of this chapter.
y = β0 + β1x1 + β2x2 +⋯+ βpxp + ϵ
y: outcome variable x1, …, xp: predictor variables wherewith p is the= total number of predictors β0: intercept β1, …, βp: coefficients with p = total number of predictors ϵ: error (factors affecting y other than predictors)
The above equation is a generic model for the relationship between multiple predictor variables and the outcome variable. However, in explanatory modeling, the focus is on the existing coefficients (β), and in predictive modeling, the focus is on predicting the new outcome variable (Y).
The remainder of this chapter will focus on predictive modeling, the more common ____ of the two in data mining. Recall that in a predictive MLR model, we are predicting new values for the coefficients, or betas, to create a model that has high predictive accuracy on new data. So, we estimate the betas () using ordinary least squares (OLS). This method minimizes the sum of squared deviations between the actual and predicted outcome variable values (Y and Y) based on the given model.
Assumptions about MLR¶
When dealing with multiple linear regression, we must always assume that there is a linear relationship between multiple predictors and the outcome. If a linear relationship is not present, a non-linear regression model must be utilized.
We must also assume independent variables are not highly correlated to one another; this creates the issue of multicollinearity.
When converting categorical variables to dummy variables, we must drop one dummy variable to avoid multicollinearity. For example, continuing on from the Toyota dealership example, if we were to dummy code the variable Fuel, we would get Fuel_Petrol, Fuel_Diesel, and Fuel_CNG. If Fuel_Patrol and Fuel_Diesel are both 0, then the car in question must run on CNG. Including the variable Fuel_CNG in our model means that any one of the Fuel dummy variables can be determined by the remaining two dummy variables.This is an example of perfect multicollinearity. Therefore, as shownyou see in the image above, Fuel_CNG must be dropped from the model. It doesn’t matter which dummy variable is dropped, as long as one of them is.
By fitting the model to our data, we will estimate the coefficients to the predictor variables and use those to predict outcome values. We can then use those predicted outcome values to calculate residuals (also called errors). Estimates will remain unbiased if the mean of the error term is 0, and if the variance of the error term is constant, or homoskedastic.
MLR + Prediction¶
In data mining, predictive accuracy methods indicate high accuracy when applied to new data sets, not existing ones. There are 5 common predictive accuracy methods we will discuss in this chapter. These include Mean Error (ME), Root-Mean-Squared Error (RMSE), Mean Absolute Error (MAE), Mean Percentage Error (MPE), and Mean Absolute Percentage Error (MAPE).
Mean Absolute Error (MAE): This measure gives the absolute magnitude of the distance between your prediction and the outcome variable. For example, if your MAE is 12, your predictions are on average 12 units off from the actual value.
Mean Error (ME): This measure gives an indication of whether predictions overpredict or underpredict the outcome variable on average. It is similar to MAE, but does not take the absolute value of the error. A small mean error does NOT indicate good performance, but tells us whether the model consistently over- or underestimates outcomes.
Root-Mean-Squared Error (RMSE): This measure tells you how concentrated the data is around the line of best fit determined by the regression method. It is similar to the standard error of estimate in linear regression, but computed on the validation data.
Mean Absolute Percentage Error (MAPE): This measure gives the percentage score of how predictions deviate from the actual values on average.
Mean Percentage Error (MPE): This measure is similar to MAPE, but does not take the absolute value of the error.
MLR Steps (Predictive Modeling)¶
In Predictive MLR, the data are split into two sets or partitions: training and validation (also called holdout set). The training set is used to get predicted beta values and estimate the model, and the validation set is used to assess performance on new data. We first split the data into training and validation sets, using given percentages (eg: 60% and 40%). Then, we use the training set to fit a multiple linear regression model between the outcome variable and the other variables. Recall from Chapter 1 and earlier in this chapter that we create dummy variables for each predictor variable and drop 1 to avoid multicollinearity. We then apply the predicted beta values to the test set to get predicted y values, which are then compared to the actual y values to get error values and predictive accuracies. Lastly, we can use the predictive accuracy methods outlined above to choose the best model.
Split data into training and validation sets Apply MLR to the training partition to get predicted 𝛽0 …, 𝛽p values, or The MLR algorithm automatically does this through minimizing the sum of squared residuals for the training data Apply predicted 𝛽0 …, 𝛽p values to the test set to get predicted y values, or y Compare predicted y values to actual y values to get error values and predictive accuracy Compare models of different predictive accuracies to determine the best model
MLR Example¶
Let’s walk through an example of predicting numerical outcomes.
You work at a Toyota dealership which buys back used cars from customers purchasing new cars. To make a profit, the dealership needs to predict the price that the used car will sell for.
Variable |
Description |
|---|---|
Price |
Offer price in Euros |
Age |
Age in months as of August 2004 |
Kilometers |
Accumulated Kilometers on odometer |
Fuel type |
Fuel type (Petrol, Diesel, CNG) |
HP |
Horsepower |
Metallic |
Metallic color (Yes = 1, No= 0) |
Automatic |
Automatic (Yes = 1, No = 0) |
CC |
Cylinder volume in cubic centimeters |
Doors |
Number of doors |
QuartTax |
Quarterly road tax in Euros |
Weight |
Weight in Kilograms |
Example:
In this example, a relationship between several variables and price is already given. Later in this chapter, we’ll explore how to get these coefficients through MLR.
Price = 3 - 0.5 Age + 2 Automatic_binary + 3 PowerWindow_binary + 0.4 WarrantyLeft
We can interpret these variables quantitatively and qualitatively. A quantitative interpretation of this equation would state a 1 unit increase in the age of a car reduces price by 0.5 units of price whereas a qualitative interpretation of this equation would simply state an increase in age will reduce the price of the car (without specifying numerical values.)
We will use predictors (x1, …, xp) to predict (instead of explain) outcome (y).
For example: -Use house characteristics to predict selling price -Use advertising expenditures to predict sales -Use product demand to predict valuation
import pandas as pd
df = pd.read_csv("./data/ToyotaCorolla.csv")
#Example
from sklearn.model_selection import train_test_split
X = df.drop('Price',axis = 1)
Y = df.Price
#Encoding variables
X = pd.get_dummies(X,drop_first = False)
#Partition
train_x,test_x, train_y, test_y = train_test_split(X,Y, test_size = 0.4, random_state = 2012)
from sklearn.linear_model import LinearRegression
car_lm = LinearRegression()
car_lm.fit(train_x, train_y)
print('intercept ', car_lm.intercept_)
print(pd.DataFrame({'Predictor': X.columns, 'coefficient': car_lm.coef_}))
intercept -356281157835.0807
Predictor coefficient
0 Id -1.044232e+00
1 Age_08_04 1.480982e+07
2 Mfg_Month 1.480982e+07
3 Mfg_Year 1.777186e+08
4 KM -1.938983e-02
.. ... ...
415 Color_Red 2.436955e+02
416 Color_Silver 3.228589e+02
417 Color_Violet -5.462506e+02
418 Color_White 3.329674e+02
419 Color_Yellow -3.430901e+02
[420 rows x 2 columns]
from dmba import regressionSummary
regressionSummary(train_y, car_lm.predict(train_x))
print()
regressionSummary(test_y, car_lm.predict(test_x))
Regression statistics
Mean Error (ME) : -0.0000
Root Mean Squared Error (RMSE) : 637.6398
Mean Absolute Error (MAE) : 442.2569
Mean Percentage Error (MPE) : -0.4488
Mean Absolute Percentage Error (MAPE) : 4.6432
Regression statistics
Mean Error (ME) : -541.1156
Root Mean Squared Error (RMSE) : 5093.9109
Mean Absolute Error (MAE) : 1863.5874
Mean Percentage Error (MPE) : -6.1678
Mean Absolute Percentage Error (MAPE) : 17.7818
car_lm_pred = car_lm.predict(test_x) # Which data set are we calculating predictions
result = pd.DataFrame({'Predicted': car_lm_pred, 'Actual': test_y,'Error': test_y - car_lm_pred})
result.head(20)
| Predicted | Actual | Error | |
|---|---|---|---|
| 1104 | 7377.593628 | 7250 | -127.593628 |
| 309 | 12592.718018 | 12450 | -142.718018 |
| 1201 | 7396.279663 | 7850 | 453.720337 |
| 1169 | 8592.765747 | 9250 | 657.234253 |
| 101 | 16091.422607 | 16250 | 158.577393 |
| 916 | 8437.802612 | 7950 | -487.802612 |
| 600 | 9217.399963 | 11250 | 2032.600037 |
| 266 | 12990.992126 | 12495 | -495.992126 |
| 863 | 8935.317749 | 8200 | -735.317749 |
| 940 | 10643.601868 | 9450 | -1193.601868 |
| 162 | 18834.861267 | 19600 | 765.138733 |
| 1125 | 6962.343628 | 6500 | -462.343628 |
| 122 | 13422.181519 | 16350 | 2927.818481 |
| 1238 | 7616.496460 | 7750 | 133.503540 |
| 859 | 8883.018921 | 8750 | -133.018921 |
| 1339 | 8347.912292 | 9000 | 652.087708 |
| 1432 | 7938.191650 | 10845 | 2906.808350 |
| 242 | 12215.318909 | 11950 | -265.318909 |
| 549 | 11929.766907 | 12500 | 570.233093 |
| 969 | 9669.761658 | 10500 | 830.238342 |
#Plotting Actual Vs Predicted
%matplotlib inline
import matplotlib.pyplot as plt
plt.scatter(result.Predicted,result.Actual)
plt.xlabel("Predicted Response")
plt.ylabel("Actual Values")
plt.plot( [5000,30000],[5000,30000],color="red" )
[<matplotlib.lines.Line2D at 0x120c195e0>]


Get the data of the plot above and more as simple as:
Browse the API with its user interface
Currently, there is no authentication required to use it. Likewise the API comes with absolutely no warranty.
Many pricing or valuation methods require a reference rate to be feed into the calculation.
In option pricing this rate is referenced to as the risk free rate
. At his point
I would like to spare out the discussion whether this rate is 'free of risk'.
The actual source of the rate depends on use case. Generally, it is common to use
the par yield of government bonds of the specific currency area.
It is desirable to have a rates of constant maturity. However Most bonds have a fixed maturity. As such the time until maturity changes with each day. Therefore the reference rate for a specific maturity is interpolated among bonds which have maturity around the desired reference maturity.
These calculations are usually done by the respective central bank or government treasury department. In case of the Unites States these data sets can be fetched with a single query via Quandl or the Treasury itself.
While the Euro Area has similar service it is hideous to work with and agonizingly slow for usages like a basic lookup. I usually went to query a year of data upfront. Well, If it is that hard to access the data I could build a database right away. ... And make it public.
The data itself is not changed. You can read more about the methodology at the ECB Warehouse at LINK


Khôra CTF
By Noah Huppert
Introduction
Welcome
Welcome to my container based capture the flag (CTF). I hope you have fun and maybe learn a few things along the way.
Containers are a very popular emerging technology in the industry right now. They offer many benefits during the product lifecycle from development to production and more. Although you may not be familiar with containers don't worry! One of my goals is to show you that the process of testing the security of a container based infrastructure is similar to that of traditional web systems with which we have experimented.
CTF Name
Every technology project needs a "cool" name, usually something greek or mythology related. Khôra was a term used by the ancient Greek philospher Plato to describe a type of seperated space. Containers are also a sort of seperated space.
CTF Structure
This capture the flag guides you through the process of a complete customer engagement with a fake company. You will be refered to as "ACME Pen Testing" and the company is named "ACME Company". To start you will be given a fake letter of engagement from the company. From this you will find flags throughout this company's infrastructure. Flags will be clearly visible right after you gain access to a system. They will all mention "This is CTF flag x!".
If you want to be a purist the letter of engagement should be enough to help you solve the entire puzzle. However each flag will be accompanied by a guide on this wiki website. With varrying levels of hints available, including the complete solutions. Resources under the /ctf/
directory on this server are specifically for helping facilitate the CTF, don't scan them or look too much into anything in this directory. All the flags are elsewhere.
Every flag guide on this wiki starts with all information collapsed and hidden. Simply click on the text or the little triangle to expand the information.
Here, try it out:
Click me to expand this section
See how this text just appeared when this section was "expanded"?
Click me to expand again!
These sections can be nested...
This is done so people would not see any spoilers. Sections contain increasingly reveal hints, followed by solutions. Each guide walks you through the process of gathering information, identifying a target, and exploiting the target to obtain the flag.
Technical Details
This capture the flag is meant to be run using Docker Compose. It can be accessed from any machine which can talk to the host machine running Docker Compose. A Docker container named workbench
is provided pre-setup with Kali Linux + Metasploit + all the tools you need to complete this CTF. Open a bash console into this container by running docker-compose exec workbench bash
, see tools for more.
Docker Compose creates a subnet for the containers in this CTF. The ID of this Docker Compose subnet changes based on your computer. Inside the workbench
container it is easy to determine the subnet ID, simply run ip addr show eth0
. This subnet will be accessible from inside and outside the containers. On your host machine traffic can be sent to this subnet via loopback <IP_ADDRESS>
. This CTF will refer to resources as being on <IP_ADDRESS>
, however you should replace this subnet ID with whatever subnet your containers are running on.
Disclaimer
As I'm sure you're aware: hacking infrastructure which isn't yours is illegal. Be sure to know is and isn't part of this CTF. See technical details if you are unsure.
CTF Index
Index of available CTF resources:
-
Letter of Engagement
-
Provided Tools
-
Flag 0 Guide
-
Flag 1 Guide
-
Flag 2 Guide
-
Flag 3 Guide


Bitrise Sample Test Rerun
home
Home
poll
Test Results
Bitrise Sample Test Rerun
home
Home
poll
Test Results
Branch:
Build:
Artifacts:
Feature1:
Presets:
Smoke
Classes
com.example.TestClass1#testB
com.example.TestClass2#testA


{% load themeswitch_tags %} {% get_available_themes as themes %}
django-themeswitch is a simple way to allow users to style your content to their liking!


The Best Roast Potatoes Manage to Get Even Better
by J. Kenji López-AltThere are thoughts that roll around inside a professional recipe writer’s head on a seasonal cycle: “How many more words can one write about hamburgers?” “Can we just agree that spatchcocking is the best way to roast a turkey?” “Doesn’t everyone in the world know how to boil an egg by now?”
(The responses, in order: “I have not yet found the limit,” “yes, please,” and “they sure think so.”)
The words rolling around in mine about a month ago: “There are no new ways to roast potatoes.”
Years ago, I developed a recipe for ultracrispy roasted potatoes that uses a classic British approach. First, you boil potatoes in salted water until tender, then you toss them roughly in a bowl with fat (preferably drippings from a roast), causing a starchy slurry to form on the surface. As the potatoes roast, that slurry dries and crisps, forming a craggy crust that give the potatoes a hefty crunch.
A few years after that, I realized that the phrase “ultracrispy” was relative, and even those potatoes could be improved upon. So I developed a recipe that I modestly called “The Best Crispy Roast Potatoes Ever” for the website Serious Eats. I added a touch of baking soda to the initial boil, raising the pH of the water. This causes pectin — the polysaccharide glue that holds plant cells together — to break down more rapidly. In turn, the surfaces of the potatoes become extra-starchy, which increases crispness significantly.
So where could I go from “best”?
Recently I’ve had pizza on the mind — specifically Detroit-style pizza, and even more specifically the crisp cheese crust that develops around the rim of the blue steel baking tray. If you’ve ever had frico, those crisp disks of fried Parmesan that crunch as you bite into them and dissolve into a wash of nutty, savory flavor on your tongue, you know what I’m talking about.
How great would it be to combine roast potatoes with a crispy cheese crust?
First I tried boiling potatoes (russets for their starchiness) in alkaline water (salted with 1/4 teaspoon of baking soda added per quart) that I flavored with peppercorns, garlic and herbs (I’ve found that boiling with aromatics is the best way to get flavor that really sticks to potatoes).
Next, I transferred the potatoes to a cast-iron skillet and sprinkled grated cheese along the edges of the pan, just as I would treat the dough in a Detroit pizza. The results were promising, but far from what I was looking for: The cheese formed more of a leathery sheath than a truly crisp crust, while packing the potatoes into the pan reduced the surface area for crusting.
Roasting them spread out on a parchment-lined baking sheet would be the way to go.
After tweaking a bit more, I landed on adding grated Parmesan directly to the bowl as I tossed the hot, parboiled potatoes with melted butter, which complements the flavor of the cheese better than olive oil or animal fat. By doing this, the Parmesan melts slightly, combining with the starchy slurry and forming an even coating over every potato piece.
The batches I’ve been pulling from the oven recently are spectacular. The cheese crust shatters just like frico, but with a heftier crunch, revealing a fluffy potato interior. The combination of savory crust and moist interior remind me of seasoned frozen curly fries (the best expression of frozen potatoes), if seasoned frozen curly fries managed to pull off the painfully-sophisticated-yet-casual look.
As for the recipe title, I’m not really sure where I can go from “best,” so enjoy these extra-crispy Parmesan-crusted roasted potatoes.
Until next time, potato. And there will be a next time.
Recipe: Extra-Crispy Parmesan-Crusted Roasted Potatoes
Follow NYT Food on Twitter and NYT Cooking on Instagram , Facebook , YouTube and Pinterest . Get regular updates from NYT Cooking, with recipe suggestions, cooking tips and shopping advice .


It is important to know where things are in both space and time. Physics looks not only at position, but how position changes as time changes.
Position
In physics we use the symbol x for position. That means you shouldn't use x for an unknown unless you are solving for position. We generally use meters(m) as our units.
To represent a distance we subtract the final position from the initial position. We use the Δ symbol to show change.
$$ \Delta x = x_{f}-x_{i}$$
\(\Delta x\) = change in position, distance, displacement, length [m, meters]
\(x_i\) = initial (starting) position [m, meters]
\(x_f\) = final (ending) position [m, meters]
Time
We keep track of time in the same way as position. We use t for time and generally use seconds(s) as our units.
$$\Delta t = t_{f}-t_{i}$$
\(\Delta t\) = change in time, time period [s, seconds]
\(t_i\) = initial (starting) time [s, seconds]
\(t_f\) = final (ending) time [s, seconds]
Velocity
Velocity is a measure of how much position changes (Δx) over a period of time (Δt).
$$v = \frac{\Delta x}{\Delta t}$$
\(\Delta x\) = distance [m, meters]
\(\Delta t\) = time period [s, seconds]
\(v\) = average velocity [m/s, meters per second]
solution
$$ v = \frac{\Delta x}{\Delta t} $$ $$ v \Delta t= \Delta x$$ $$ (20 \mathrm{\tfrac{m}{s}}) (80\, \mathrm{s}) = \Delta x $$ $$ 1600\, \mathrm{m} = \Delta x $$solution
$$10 \, \mathrm{km} = 10(1,000) \mathrm{m} = 10,000 \, \mathrm{m}$$ $$1\, \mathrm{h} \left(\frac{60\, \mathrm{min}}{1\, \mathrm{h}}\right)\left(\frac{60\, \mathrm{s}}{1\, \mathrm{min}}\right) = 3,600 \,\mathrm{s}$$ $$v = \frac{\Delta x}{\Delta t}$$ $$v = \frac{10,000\, \mathrm{m}}{3,600\, \mathrm{s}}$$ $$v = 2.7\, \mathrm{\tfrac{m}{s}}$$solution
$$v = \frac{\Delta x}{\Delta t}$$ $$v = \frac{270\, \mathrm{miles} }{4\, \mathrm{hour}}$$ $$v = 67.5\, \mathrm{\tfrac{miles}{hour} }$$The speed limit for most of that trip is 70 mph. Google is assuming that everyone is under the speed limit.
solution
$$2 \, \mathrm{km} = 2(1000) \mathrm{m} = 2,000 \, \mathrm{m}$$ $$v = \frac{\Delta x}{\Delta t}$$ $$\Delta t = \frac{\Delta x}{v}$$ $$\Delta t = \frac{2,000\, \mathrm{m}}{1.2\, \mathrm{\tfrac{m}{s}}}$$ $$\Delta t = \frac{2,000}{1.2}\, \mathrm{s}$$ $$\Delta t = 1,666.\overline{6} \, \mathrm{s}$$Acceleration
Acceleration is a measure of how much velocity changes (Δv) over a period of time (Δt).
$$a = \frac{\Delta v}{\Delta t}$$
\(\Delta v\) = change in velocity [m/s] = \(v_f-v_i\)
\(\Delta t\) = time period, change in time [s, seconds]
\(a\) = acceleration [m/s²]
solution
$$a = \frac{\Delta v}{\Delta t}$$ $$a = \frac{4.43\, \mathrm{\tfrac{m}{s}}} {0.45\, \mathrm{s}}$$ $$a = 9.84\, \mathrm{\tfrac{m}{s^{2}} }$$solution
$$ 60\left( \mathrm{ \frac{\color{red}{mile}}{\color{blue}{hour}}} \right)\left(\frac{1609\,\mathrm{ m}}{1 \,\color{red}{\mathrm{mile} }}\right)\left(\frac{1\, \color{blue}{ \mathrm{hour} }}{3600\, \mathrm{s} }\right) = 26.8 \mathrm{\tfrac{m}{s}} $$ $$a = \frac{\Delta v}{\Delta t}$$ $$a = \frac{26.8\,\mathrm{ \tfrac{m}{s}}} {5.9\, \mathrm{s}}$$ $$a = 4.5\, \mathrm{ \tfrac{m}{s^{2}} }$$solution
$$\Delta v = v_{f}-v_{i}$$ $$\Delta v = 3 \,\mathrm{ \tfrac{m}{s}} -1\, \mathrm{ \tfrac{m}{s} }$$ $$\Delta v = 2\, \mathrm{\tfrac{m}{s}}$$$$a = \frac{\Delta v}{\Delta t}$$ $$a = \frac{2\, \mathrm{\tfrac{m}{s}} }{10\, \mathrm{s} }$$ $$a = 0.2\,\mathrm{ \tfrac{m}{s^{2}}}$$
solution
acceleration
acceleration is defined as the change in velocity every second. This is the same as the slope of the graphs.


Life, Death, and the Chinese Bamboo Tree
Posted August 3, 2018
Employment gaps deserve an explanation. But you don't need a full-time job to improve your hard — and especially your soft — skills.
Now that I'm actively looking for work after completing my KU full-stack certificate, potential employers are asking about my last job. That's a fair question. Watching the video I linked to above, the "Les Brown Chinese Bamboo Tree Story," made me realize there's a more compelling way to answer what I've been doing besides freelance writing:
I learned the true meaning of compassion
When my Grandmother came to live with me, I had no idea what a life-changing experience it would be. She'd always been my caretaker; now it was my turn. But nothing can prepare you for the journey of helping someone lose their independence, cope with failing health, and succumb to the memory-robbing effects of dementia.
In the final week of her life, when I was administering morphine and keeping Grandma as comfortable as possible, I leaned over and kissed her head. "I love you, Grandma." "You're a nice lady," she told me. She frustrated me a lot in her final years, but helping her finish her battle with dementia taught me a lot about patience, empathy and finding peace.
I stared down my darkest fears
Once I'd had time to grieve, handle Grandma's final business, and start my own next chapter, I found mortality staring me right in the face — this time my own. The good news is my cancer scare was a false alarm. But the temporary uncertainty and post-surgery recovery were not exactly part of my planned carefree, post-caregiver lifestyle. I found strength I didn't know I had, and more importantly, renewed determination to make the most of the time I have left on Earth.
I'm making the most of my second chance
When I was healthy and focused enough to return to full-time work, I wasn't inspired by a single job I applied for. Then I learned about KU's full-stack program, and everything fell into place. I knew I needed a bigger skill set to land the job I really wanted on the development side of the digital sphere. And I figured if I could survive everything else I'd just been through, this would be a piece of cake!
OK, so full-stack development is no cake. It's more like trifle, with lots of layers that together comprise one big, amazing tool. But now I have all those skills, as well as:
- Unswayable belief in my ability to rise to any challenge
- The knowledge that empathy and compassion make you stronger, not weaker
- The courage to achieve more than I ever thought I was capable of
Just like the Chinese Bamboo Tree, the combined power of these skills has taken a while to emerge. But I've been strengthening my own roots in anticipation of a new season of growth like you've never seen. So watch out world! I'm stronger, smarter, and more skilled thanks to three years on the semi-sideline. And I can't wait to see what's coming next.


{{ partial "base/scripts/twemoji" . }} {{ partial "base/scripts/gtm" . }} {{ partial "base/scripts/service-worker" . }} {{ partial "base/scripts/sentry" . }} {{ partial "base/scripts/help-scout" . }} {{ partial "base/scripts/netlify-identity" . }}


#include <packdir.h>
Public Member Functions | |
| PackDir (const Char *name, System *system) | |
| Constructor. | |
| ~PackDir () | |
| Destructor. | |
| Int | FindItem (const Char *name, Bool log_not_found=True) |
| Finds specified file by its ASCIIZ name in this packed directory image. | |
| DWord | GetItemSize (Int item) |
| Returns file size. | |
| Bool | LoadItem (Int item, Byte *buffer) |
| Loads file content to buffer. | |
| Bool | LoadItem (Int item, Resource &resource) |
| Loads file file content to Resource object. | |
| Bool | LoadFile (const Char *name, Resource &resource) |
| Loads file content to Resource object. | |
| const string & | GetName () const |
| Returns name for this packed directory image. |
Provides methods for finding and retriving data files from packed directory image file.
|
|
Constructor. Opens a specified packed directory image file.
|
|
|
Destructor. Closes pack directory image file and frees memory occupied by file storage system. |
|
|
Finds specified file by its ASCIIZ name in this packed directory image.
|
|
|
Returns file size.
|
|
|
Returns name for this packed directory image. GetName() returns name for this packed directory image. |
|
|
Loads file content to Resource object.
|
|
|
Loads file file content to Resource object.
|
|
|
Loads file content to buffer.
|


A unit of energy.
The energy it takes to heat 1g of water by 1 ∘ C.
Calorie spelt with a capital C means 1000 calories.
One calorie is equal to about 4.1868 Joules.


It all started when I was 11 years old I had been sexually abused numerous times by my dad and when I was 13 I was taken away from my family from then on I decided that my life was fucked at the age of 13 I became a drug addict, alcoholic, and a chain smoker it wasn't long before I became suicidal can I also please note that I was just angry about what happened with my dad.
When I was taken away from my parents I was put with a couple only 19 years of age both of them because they were the closest relatives they let me do whatever I wanted and I ran wild.
At the age of 14 I became extremely depressed everything was going down the drain I wasn't been paid attention to and was running a muck of my self.
Docs workers, counselors and what not all described me as a wild teenager so eventually I had docs chasing after me they made me go to a doctor who diagnosed me with Depression they put me on Zoloft for about 4 weeks and it did nothing.
When I first started taking it I was getting suicidal thoughts anxiety attacks and what not then it got worse I started wrist cutting every night and even in the day at school and then my suicidal thoughts became more severe. I had never ever thought about suicide Iíve always been a smart and sensible girl always getting Excellent grades so thatís when I realized the medication was doing something to me. Eventually everything came to much for me and on my 16th birthday I took a overdose of 24 Zoloft's and I was rushed to hospital I have very little memory of what happened that night I remember a beeping noise and the annoying ping known as a drip hurting my hand but other then that not much comes to memory.
The next day I was seen by a psychiatrist I really wanted to go home so I made up some bullshit story that I was doing it to get attention from my biological parents which wasn't true at all cause I hate them.
Anyways she started asking me stuff about my thoughts on suicide and I said that they only started happening when I started on Zoloft she didn't believe me and urged me to keep on taking them.
The suicidal thoughts went on a week later I went to a mental institution for two days, then hospitalized for suicidal attempt for two days and then one day a week later I completely lost it and was again hospitalized for suicidal attempts this time for a whole week.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This site is currently under construction, the contact page will be available soon. Thank you for your patience.


Aubameyang pledges to lead from the front
Cape Town - Arsenal captain Pierre-Emerick Aubameyang has taken it upon himself to turn the club's fortunes around.
The Gunners needed a stoppage-time Alexandre Lacazette equaliser to earn a 2-2 draw at home to lowly Southampton on Saturday following another poor performance.
The pressure continues to mount on head coach Unai Emery, who has now overseen just two league wins from the last 11 games.
Saints were unfortunate not to leave the Emirates Stadium with their first away win at Arsenal since 1987 as Danny Ings and James Ward-Prowse - who tapped home after having his penalty saved - had twice given them the lead.
But Lacazette's brace, including a last-gasp leveller, ensured the hosts at least ended the afternoon with a share of the spoils - with Aubameyang conceding things need to improve in the coming weeks.
"Everybody is disappointed today, the fans and the players," he said. "It didn't work today. It's not a good result for us. Obviously we're playing at home and we have to win games at home.
"We have to keep fighting and keep trying to sort it out. I think everybody has to try to ask themselves what they can change, what they can give more of.
"Everybody has to do this, me first. I will try to work hard and to get back to winning ways."
Rarely is a stoppage-time goal to rescue a result met with such indifference by players and supporters, but Emery admitted afterwards a draw was not good enough.
The fans clearly agreed as they jeered en masse at the final whistle, as Aubameyang revealed the players were equally as frustrated.
"I don't know but obviously everyone is disappointed, the fans and us as well," he replied when asked about how the players respond to being booed off.
"When we are playing, we are the first to be disappointed when it doesn't work. We will try to keep fighting. I think we have the quality to come back and we have to fight."
For Southampton, the gut-wrenching Arsenal equaliser means their winless run extends back to September 14.
Ralph Hasenhuttl saw his side have 21 shots on goal and miss a number of late chances to wrap up a vital three points as they caught Arsenal on the break.
Ings, whose goal came from a quick free-kick but could have been ruled out as the ball appeared to be moving when Ryan Bertrand played the former Liverpool man in behind, has called for Saints to take confidence from such a display as they prepare for a big game at home to bottom club Watford.
"It's mixed emotions really," he told southamptonfc.com.
"I think looking at the game before we kicked off, you'd have probably taken a point, but coming off the pitch you're gutted we didn't win.
"That's credit to the team and the fans today. We put everything into it and the fans were great behind us - it's gutting not to get the three points, but we have to take confidence moving forward."
- TEAMTalk


RT @amerine: @jasonrclark Serious Business Time https://www.flickr.com/photos/confreaks/13473804273/
4/11/2014, 11:39:54 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @amerine: @jasonrclark Serious Business Time https://www.flickr.com/photos/confreaks/13473804273/
4/11/2014, 11:39:54 AM
Favs: 0
Retweets: 0
link


Get Date and Time
Try opening this page, then go offline, and reload the page. The script and the image should still work.


| 0 Right now, the prevailing theory of how the universe came about is commonly called the Big Bang theory. 162 |
|
| 162 And really is just this idea that the universe started as kind of this infinitely small point, this infinitely small singularity. 290 |
|
| 290 And then it just had a big bang or it just expanded from that state to the universe that we know right now. 383 |
|
| 383 And when I first imagined this-- and I think if it's also a byproduct of how it's named-- Big Bang, you kind of imagine this type of explosion, that everything was infinitely packed in together and then it exploded. 622 |
|
| 622 And then it exploded outward. 657 |
|
| 657 And then as all of the matter exploded outward, it started to condense. 730 |
|
| 730 And then you have these little galaxies and super clusters of galaxies. 806 |
|
| 806 And they started to condense. 824 |
|
| 824 And then within them, planets condensed and stars condensed. 881 |
|
| 881 And then we have the type of universe that we have right now. 920 |
|
| 920 But this model for visualizing the Big Bang has a couple of problems. 993 |
|
| 993 One is when we talk about the Big Bang, we're not talking about the matter, just the mass or just the matter in the universe being in one point. 1121 |
|
| 1121 We're talking about actual space expanding. 1179 |
|
| 1179 So we're not just talking about something inside of space, like the physical mass, the physical matter expanding. 1258 |
|
| 1258 We're talking about space itself. 1280 |
|
| 1280 And so when you have this type of model, you have all of this stuff expanding. 1335 |
|
| 1335 But you're like, whoa, look, isn't it expanding into something else? Maybe if the furthest out parts of this matter is right over here, what's this stuff over here? And so you say, well, wouldn't that be space? So how can you say space itself is expanding? And another idea that a Big Bang also implies is if this is the furthest stuff out there, would this be the edge of the universe? Does the universe have an edge? And the answer to either of those questions, and that's what we're going to try to tackle in this, is that, one, the universe does not have an edge. 1882 |
|
| 1882 And two, there is no outside space. 1935 |
|
| 1935 We are not expanding into another space. 1970 |
|
| 1970 And I'm going to explain that. 1985 |
|
| 1985 Hopefully, we'll see why that is the case right now. 2015 |
|
| 2015 So the best way to view it-- and we're going to view it by analogy. 2100 |
|
| 2100 If I were tell you that I have a two-dimensional space that has a finite area, so it has a finite area-- so it's not infinite. 2377 |
|
| 2377 And it also has no edge. 2417 |
|
| 2417 This once again, when you first look at it, seems difficult. 2506 |
|
| 2506 How do I just construct something that has a finite area, but still has no edge? Every time I try to draw an area, it looks like I have to have some edges. 2624 |
|
| 2624 And then you might remember, what if that two-dimensional space is curved, what happens? And I think the easiest example of that is the surface of a sphere. 2792 |
|
| 2792 Let me draw a sphere over here. 2818 |
|
| 2818 So this right here is a sphere. 2875 |
|
| 2875 Let me draw some longitude and latitudinal lines on this sphere. 2966 |
|
| 2966 On this sphere, all of a sudden-- and I'll shade it in a little bit, make it look nice-- this type of a sphere, you have a finite area. 3087 |
|
| 3087 You could imagine the surface of a balloon, or the surface of a bubble, or the surface of the Earth. 3153 |
|
| 3153 You have a finite area, but you have no edge. 3196 |
|
| 3196 If you keep going forever in one direction, you're going to go all the way around and come back to the other side. 3358 |
|
| 3358 Now, to imagine a three-dimensional space that has these same properties, a finite area and-- and I don't want to say finite area anymore, because we're not talking about a three-dimensional space. 3522 |
|
| 3522 Let me draw it over here. 3535 |
|
| 3535 So let's think about a three-dimensional space, so a three-dimensional space. 3708 |
|
| 3708 Instead of area, since we're in three dimensions now, I want to talk about a finite volume and no edge. 3903 |
|
| 3903 How do I do that? And when you think about it superficially, well, look, if I have a finite volume, maybe it'll be contained in some type of a cube. 4031 |
|
| 4031 And then we clearly have edges in those situations. 4082 |
|
| 4082 Or you could even think about a finite volume as being the inside of a sphere. 4147 |
|
| 4147 And that clearly has an edge, this entire surface over there. 4186 |
|
| 4186 So how do you construct a three-dimensional space that has a finite volume and no edge? And that I'm going to tell you right now, it's very hard for us to visualize it. 4325 |
|
| 4325 But in order to visualize it, I'm essentially going to draw the same thing as I drew right here. 4384 |
|
| 4384 What you have to imagine, and you almost have to imagine it by analogy, unless you have some type of a profound brain wired for more than three spatial dimensions, is a sphere. 4578 |
|
| 4578 So let me make it clear. 4641 |
|
| 4641 This is a two-dimensional surface. 4725 |
|
| 4725 On the surface of the sphere, you can only move into directions, two perpendicular directions. 4809 |
|
| 4809 You could move like that or you could move like that. 4856 |
|
| 4856 You could move left and right or you could move up and down. 4887 |
|
| 4887 So it's a two-dimensional surface of a three-dimensional sphere. 5000 |
|
| 5000 So if we take it by analogy, let's imagine, and it's hard to imagine, a three-dimensional surface. 5137 |
|
| 5137 And you can do it mathematically. 5194 |
|
| 5194 The math here is actually not that difficult. 5249 |
|
| 5249 It's a three-dimensional surface of a four-dimensional sphere. 5378 |
|
| 5378 And I'm going to draw it the same way. 5433 |
|
| 5433 So if we kind of view those three dimensions are just these two dimensions of the surface, the same thing. 5503 |
|
| 5503 It's the same thing. 5531 |
|
| 5531 And if you imagine that-- I'm not saying that this is actually the shape of the universe. 5588 |
|
| 5588 We don't know the actual shape. 5612 |
|
| 5612 But we do know that it does have a slight curvature. 5655 |
|
| 5655 We don't know the actual shape, but a sphere is the simplest. 5711 |
|
| 5711 There's other ones we could do. 5729 |
|
| 5729 A toroid would also fit the bill of having a finite volume with no edge. 5798 |
|
| 5798 And another thing, I want to make it clear, we actually don't even know whether it has just a finite volume. 5872 |
|
| 5872 That's still an open question. 5888 |
|
| 5888 But what I want to do is show you that it can have a finite volume and also have no edge. 5973 |
|
| 5973 And most people believe-- and I want to say \ here because we can just go based on evidence and all that-- that we are talking about something with a finite volume, especially when you talk about the Big Bang theory. 6179 |
|
| 6179 That kind of, on some dimension, implies a finite volume, although it could be a super large, unfathomably large volume, it is finite. 6312 |
|
| 6312 Now, if you have this, let's imagine this sphere. 6368 |
|
| 6368 Let's imagine this sphere. 6396 |
|
| 6396 Once again, if you're on this surface of this four-dimensional sphere-- I obviously can not draw a four-dimensional sphere. 6505 |
|
| 6505 But if you're on the surface of this four-dimensional sphere, if you go in any direction, you'll come back out and come back to where you started. 6639 |
|
| 6639 If you go that way, you'll come back around here. 6680 |
|
| 6680 Now, the universe is super huge. 6701 |
|
| 6701 So even light, maybe light itself will take an unbelievable amount of time to traverse it. 6777 |
|
| 6777 And if this sphere itself is expanding, it might be expanding so fast that light might not ever be able to come back around it. 6905 |
|
| 6905 But in theory, if something were fast enough, if something were to keep going around, it could eventually go back to this point. 7002 |
|
| 7002 Now, when we talk about a three-dimensional surface-- it's a three-dimensional surface of a four-dimensional sphere-- that means that any of the three dimensions-- over here, on the surface, I can only draw two. 7166 |
|
| 7166 But that means if this is true, if the universe is a three-dimensional surface of a four-dimensional sphere, that means that if you go up and you just keep going up, you'll eventually come back from the bottom. 7385 |
|
| 7385 So if you keep going all the way up, you'll eventually come back to the point that you were. 7484 |
|
| 7484 It might be an unbelievably large distance, but you'll eventually get back where you were. 7540 |
|
| 7540 If you go to the right, you'll eventually come back all the way around to the point where you were. 7613 |
|
| 7613 And if you were to go into the page-- so if you were to go into the page-- let me draw it that way-- if you go into the page, you would eventually come back from above the page and come back to the point that you are. 7778 |
|
| 7778 So that's what this implication would be. 7814 |
|
| 7814 That you would eventually get back to where you are. 7844 |
|
| 7844 So let's go back to the question of an expanding universe, a expanding universe that's not expanding into any other space. 7949 |
|
| 7949 That is all of the space, but it's still expanding. 7994 |
|
| 7994 Well, this is the model. 8014 |
|
| 8014 So you could imagine shortly after the Big Bang, our four-dimensional sphere looked like this. 8099 |
|
| 8099 Maybe it was a little small four-dimensional sphere. 8158 |
|
| 8158 Maybe right at the Big Bang, it was like this little unbelievably small sphere. 8241 |
|
| 8241 Then a little bit later, it's this larger sphere. 8280 |
|
| 8280 Let me just shade it in to show you that it's kind of popping out of the page, that's it's a sphere. 8366 |
|
| 8366 And then at a later time, the sphere might look like this. 8407 |
|
| 8407 The sphere might look like this. 8459 |
|
| 8459 Now, your temptation might be to say, wait, Sal, isn't this stuff outside of this sphere, isn't that some type of a space that it's expanding into? Isn't that somehow part of the universe? And I would say if you're talking in three dimensions, no, it's not. 8721 |
|
| 8721 The entire universe is this surface. 8761 |
|
| 8761 It is this surface of this four-dimensional sphere. 8814 |
|
| 8814 If you start talking about more dimensions, then, yes, you could talk about maybe things outside of our three-dimensional universe. 8940 |
|
| 8940 So as this expands in space/time-- so one way to view the fourth dimension is it is time itself-- things are just getting further and further apart. 9075 |
|
| 9075 And I'll talk about more evidence in future videos for why the Big Bang is the best theory we have out there right now. 9182 |
|
| 9182 But as you could imagine, if you have two points on this sphere that are that far apart, as this sphere expands, this four-dimensional sphere, as this bubble blows up or this balloon blows up, those two points are just-- let me draw three points. 9375 |
|
| 9375 Let's say those are three points. 9402 |
|
| 9402 Those three points are just going to get further and further apart. 9455 |
|
| 9455 And that's actually one of the main points that-- or one of the first reasons why it made sense to believe the Big Bang-- is that everything is expanding, not from some central point. 9607 |
|
| 9607 But everything is expanding from everything. 9647 |
|
| 9647 That if you go in any direction from any point in the universe, everything else is expanding away. 9708 |
|
| 9708 And the further away you go, it looks like the faster it's expanding away from you. 9779 |
|
| 9779 So I'll leave you there, something for you to kind of think about a little bit. 9833 |
|
| 9833 And then we'll build on some of this to think about what it means to kind of observe the observable universe. 9927 |
|
| 9927 9939 |


Conclusion
North and South
By placing the needle on a cork floating on water, one end will point toward the North pole and the
other end will point toward the South pole. A compass has been made.
The end pointing toward the North pole is called the north end of the compass and the end pointing
toward the South pole is called the south end of a compass.
The ends are, therefore, named North (N) and South (S) because of the direction each points.
If the north end (N) of a bar magnet is held close to a compass, the south end (S) of the compass
will be attracted to it.
The same holds true when the south end (S) of a bar magnet is held close to the north end (N) of a
compass.
When a magnet is brought close to a compass, the magnet 's magnetic field overrides Earth 's effect
on the needle. When the magnet is taken away, Earth's magnetic field affects the compass once again.


{% extends 'simple.html' %} {% block meta %}
Here are some details about the current user:
Update profile


Get the latest NHS information on coronavirus, including advice on staying at home.


Hello! I am an AI that is ready to answer your question! Hopefully I get it right!
{{ question }}
{{ answer }}


An interactive bus stop featured in an exhibition at The Edge in Southbank. Developed within a team of four, the project had the overall goal to explore the nature of human selfishness in an everyday life and its relationship to ignorance.
The system consisted of bespoke weight sensors, facial recognition and a program written in Unity3D (C#). Outside this original exhibit, the project won the Best Non-Thesis Prize at the 2018 UQ Innovation Showcase, completing against a wide and varied field from the Information Technology and Electrical Engineering school.
Along with collaboratively designing and developing the overarching system, I individually created the promotional material used for the exhibit. This was used to highlight the design process, team input and background research.
All elements were personally created, with the Transport Brisbane theme being well represented in the typography and colour scheme. Due to the discreet nature of the bus stop, all elements had to be subtle and inconspicuous to hide the true nature of the project.
In the development of the system, I also learned a valuable design lesson. Halfway through the design phase, the team pitched the project, along with a personally created high-fidelity prototype. Although I was very proud of the system, it was shown to be ineffective in accomplishing our initial goals and research.
As difficult as it was, we decided to scrap the current design and refocus our effort into satisfying these gathered user requirements. Evidently this was highly beneficial and reinforced the notion that I am not my end user.


Developers Documentation
This page will give you the basics when you want to work on Lookyloo’s source code.
We assume here that you already installed the platform and gave it a try.
General guidelines
-
After editing a file, you can run the
stop
andstart
scripts to restart the platform and see the changes. It will restart everything, including the redis databases, and can take a bot of time. See below if you’re working on a specific part of the tool and want to stop/start a specific module. -
You can disable individual services by commenting them out in
bin/start.py
-
All the services can be started/killed manually (
CTRL+c
to kill)
Scripts
-
start
: Starts all the services -
stop
: Triggersshutdown
, stop redis databases. -
shutdown
: Requests the services to stop by putting ashutdown
key in redis, wait for all of them to stop. -
run_backend
: Starts/stops redis databases -
async_capture
: Triggers a capture from the queue. Multiple instances of this process can be run in parallel (when multiple instances of splash are available, see production install guide) -
background_indexer
: Caches the captures in redis, creates the tree pickles, adds the urls, cookies, and body hashes in indexes for fast lookup -
archiver
: Archives the old captures (default: 180+ days), maintain the indexes files in the capture directories -
processing
: Triggers actions happening once a day. Currently: creates the user-agent file of the users of the platform (if enabled) -
start_website
: Starts the website (launches gunicorn processes)
A few scripts are for maintenance only:
* rebuild_caches
: clears the cache database, they will need to be rebuild for lookyloo to work
* update
: Used in production to update lookyloo from git.
Website
All the files related exclusively to the web interface and the API are in the website
directory.
If you’re working on the web interface, you probably want to comment out start_website
in bin/start.py
,
and start/kill it manually.
If you change anything in website/web/static/ you must run tools/generate_sri.py
before restarting the website in order to update the SRI hashes
of each resources. If you don’t do that, your browser will refuse to load them and you will be frustrated.
|
Modules
-
lookyloo.py
: Main class, does all the heavy lifting to trigger the capture and access the results. -
modules.py
: Connectors to 3rd party modules. -
indexing.py
: Indexer for URLs, hashes, and cookies (creation and access). -
context.py
: Manage contextualization of captures and specific entries. -
abstractmanager.py
: Main class for all the services. -
capturecache.py
: Gives access to a cached capture in a pythonic way. -
helpers.py
: A bunch of methods useful all over the project. -
exceptions.py
: The exceptions that can be emitted by different part of the project.


| Interface | Description |
|---|---|
| AnalysisListener |
Encapsulates a listener of calculator lexical analysis.
|
| ListenerCollection<Type> |
Implements the abstraction of a listener collection.
|
| Operation<ArgumentType> |
Encapsulates an operation.
|
| TokenDispatcher<KeyTokenType extends Token> |
Encapsulates a token dispatcher.
|
| Class | Description |
|---|---|
| AddTokenDispatcher |
Contains an add token dispatcher.
|
| CloseTokenDispatcher |
Contains a close token dispatcher.
|
| CommaTokenDispatcher |
Contains a comma token dispatcher.
|
| DivideTokenDispatcher |
Contains a divide token dispatcher.
|
| KeyTokenDispatcher |
Contains a key token dispatcher.
|
| LetTokenDispatcher |
Contains a let token dispatcher.
|
| LexicalAnalyzer |
Contains a lexical analyzer for the calculator.
|
| ListenerDispatcher |
Contains a listener dispatcher.
|
| MultiplyTokenDispatcher |
Contains a multiply token dispatcher.
|
| OpenTokenDispatcher |
Contains an open token dispatcher.
|
| SubtractTokenDispatcher |
Contains a subtract token dispatcher.
|
| TokenDispatchOperation<TokenDispatcherType extends TokenDispatcher<? extends Token>> |
Contains a token dispatch operation.
|
| UnknownTokenDispatcher |
Contains an unknown token dispatcher.
|
| ValueTokenDispatcher |
Contains a value token dispatcher.
|
| VariableTokenDispatcher |
Contains a variable token dispatcher.
|


| Node Type | Description |
|---|---|
| The target node of the visualization | |
| A node which has children or parents. Can be clicked to display children/parents. | |
| A leaf node | |
| A node which has more than 5 children/parents is compacted to avoid cluttering the visualization space. This node can be clicked and one or many children/parents can be expanded out of it |


Making Movies in Google Earth Pro and EC
This tutorial describes how you can make a movie in Google Earth Pro
or EC. You
will make a simple movie of several locations near Mount Everest in Nepal and view this
movie file in an external application such as Windows Media Player or Apple QuickTime.
Note - This tutorial describes how to create a simple movie. There are
many ways you can enhance, optimize and customize your movie. To learn more, see Making Movies with Google Earth
in the user guide.
You can use the Movie Maker feature to record 3D viewer imagery and save the recording as
a movie file. You can make a movie that follows the camera viewpoint to and from multiple
locations. You can either set the feature to record your interactions with the 3D viewer
in real-time, or you can set up a tour and record the entire tour without interruption.
Once you finish recording and have saved your movie file, you can make the file available
on a web site, use it in a presentation, or send it via email.
In this tutorial, there are two parts to creating your movie:
First, you need to save placemarks of locations you want to show. To do this:
- Go to Mount Everest. For the purpose of this exercise, the quickest way to do this is
to enter the following latitude and longitude coordinates in the Fly To tab in
the Search panel. You can copy and paste these coordinates:
27°59'17.62"N 86°55'30.42"E
Press Enter. The 3D viewer flies to Mount Everest.
-
Create a placemark for this location or drag this coordinate from the
Search Panel to the Places panel.
- (Optional) To create a more interesting movie, navigate and
tilt
the terrain to an interesting perspective and snapshot
the current view. For more information, see Creating a
New Placemark in the
user guide.
- Repeat Steps 1 - 3 using the following coordinates:
27°58'59.70"N 86°51'27.06"E
28° 2'41.09"N 86°54'55.08"E
27°57'7.49"N 86°58'51.23"E
-
Create a new
folder and move the new placemarks to this folder.
Record Your Movie
Now you are ready to record your movie. To do this:
- In the Places panel, check and select the folder that contains your Mount Everest
placemarks.
- Test how your movie will play out by clicking the Play Tour button
. Google
Earth Pro or EC tours the locations. Note that you can set tours so that they play only
once, show descriptive balloons, etc. Learn more
about touring options.
- Click Tools > Movie Maker. The Movie Maker dialog box
appears.
|
|
|
The Movie Maker dialog box as it appears in Windows.
|
- (Windows and Linux only) Under Supported Compression
Formats, choose a desired compression format for your movie. Learn more
about these options.
- Under Movie Quality, choose Standard Quality. This
setting works well for movies that you want to provide over the Internet. Do not change
the frame rate (FPS).
- Under Resolution, use the 320x240 default setting. This setting
works well with most screen displays.
- Under Record Movie to this location and file , specify a name for
your movie. Click on the Browse button and navigate to a location on your
computer where you want to save the movie file when you are finished recording. Type in a
name for the file in the file dialog box and click OK.
- In the Places panel, be sure the the folder that contains your Mount
Everest placemarks is checked and selected. Click the Play Tour button
- Click the Record button. This button is available only after you
enter a valid filename for your movie. When the movie begins recording, the Movie Maker
dialog box appears below so you can visualize the recording of the movie. Google Earth
Pro or EC records the movie in a small area in the center of the screen.
- When the tour is complete, click Stop Recording. The movie is
complete. Google Earth Pro or EC asks you if you want to view the movie file in a media
player that supports the movie format you selected. If you are satisfied with the
results, you can post the file to a local server or use it in a presentation.
Note - If you chose High Quality (see step 8), the tour begins
automatically once you click Record.


The Division of Transplantation (DoT) is within the Department of Health and Human Services, Health Resources and Services Administration's Healthcare Systems Bureau. DoT is the primary federal entity responsible for oversight of the organ and blood stem cell transplant systems in India and for initiatives to increase organ donor registration and donation in this country. The Division is comprised of three branches, each devoted to a specific program responsibility.
Every year 5,00,000 people die due to non availability of organs in India. We at @Ordocorp aim to build a better future for the population of our country by encouraging people of all walks of life to come forward and support us in this noble cause.
ORDOCORP is a 501(c)3 nonprofit organization leading its national partners and ORDOCORP State Teams to increase the number of donated organs, eyes and tissues available to save and heal lives through transplantation while developing a culture where donation is embraced as a fundamental human responsibility.
The ORDOCORP promotes long, healthy and productive lives for persons with organ failure by promoting maximized organ supply, effective and safe care, and equitable organ allocation and access to transplantation; and doing so by balancing competing goals in ways that are transparent, inclusive, and enhance public trust in the national organ donation system.
Corneal Transplant Lets Boy See the World
Alejandro
Cornea RecipientBiology Class Inspires a Life-long Organ Donation Advocate
Abhishek
Donor Advocate & AmbassadorCollege Student Is a 'Star of Life' after Heart Transplant
Alvin
Heart RecipientFamily Turns Tragedy into Blessing for Many
Anand
Organ DonorA New Heart for Eddie’s Abuela
Amalia
Heart Recipient


Everproof is used by all sorts of organisations large and small! Sporting clubs, childcare centres, schools, local government and camps are all using Everproof to reduce administrative work and increase compliance.
{% fancylist %}
{% fancylistitem chart-bars.svg "Eliminate spreadsheets" %}
Store qualifications for employees and volunteers online, eliminating manual tasks.
{% endfancylistitem %}
{% fancylistitem checkmark-circle.svg "Automated Verification" %}
Everproof provides automated and instant verification of Working With Children Checks.
{% endfancylistitem %}
{% endfancylist %}
{% fancylist %}
{% fancylistitem clock.svg "Automated Alerts" %}
Receive notifications when a qualification or accreditation expires or becomes invalid.
{% endfancylistitem %}
{% fancylistitem user.svg "Personal Accounts" %}
Each person gets their own account to proactively manage their qualifications and accreditations.
{% endfancylistitem %}
{% endfancylist %}


Colorado woman accused of firing crossbow at neighbor
by Robert GeartyA Colorado woman was arrested after cops said she tried to shoot her neighbor with a crossbow.
Court papers say that when the neighbor opened the door to her apartment in Longmont, Colo., at 3 a.m. Friday, her downstairs neighbor Katherine Cherry “stuck a black crossbow through the door and fired an arrow at her.” KUSA-TV reports.
The document says the arrow flew down the hallway after grazing the neighbor, according to the station.
It states further that the woman said she “felt in fear of her life when she saw the crossbow,” the station reported.
The neighbor told police she called 911 after she swung a hammer at Cherry, whom she thought “was crazy,” according to KUSA.
The woman told police Cherry had banged on her door 90 minutes earlier, yelling about wanting her son back and calling out for a person named “Russell,” the station reported.
CLICK HERE TO GET THE FOX NEWS APP
Longmont police found the 60-year-old Cherry in her apartment and charged her with assault and menacing.


gdal_proximity¶
Produces a raster proximity map.
Synopsis¶
gdal_proximity.py <srcfile> <dstfile> [-srcband n] [-dstband n]
[-of format] [-co name=value]*
[-ot Byte/Int16/Int32/Float32/etc]
[-values n,n,n] [-distunits PIXEL/GEO]
[-maxdist n] [-nodata n] [-use_input_nodata YES/NO]
[-fixed-buf-val n]
Description¶
The gdal_proximity.py script generates a raster proximity map indicating the distance from the center of each pixel to the center of the nearest pixel identified as a target pixel. Target pixels are those in the source raster for which the raster pixel value is in the set of target pixel values.
-
<srcfile>
¶
The source raster file used to identify target pixels.
-
<dstfile>
¶
The destination raster file to which the proximity map will be written. It may be a pre-existing file of the same size as srcfile. If it does not exist it will be created.
-
-srcband
<n>
¶ Identifies the band in the source file to use (default is 1).
-
-dstband
<n>
¶ Identifies the band in the destination file to use (default is 1).
-
-of
<format>
¶ Select the output format. Starting with GDAL 2.3, if not specified, the format is guessed from the extension (previously was GTiff). Use the short format name.
-
-co
<NAME=VALUE>
¶ Many formats have one or more optional creation options that can be used to control particulars about the file created. For instance, the GeoTIFF driver supports creation options to control compression, and whether the file should be tiled.
The creation options available vary by format driver, and some simple formats have no creation options at all. A list of options supported for a format can be listed with the –formats command line option but the documentation for the format is the definitive source of information on driver creation options. See Raster drivers format specific documentation for legal creation options for each format.
-
-ot
<type>
¶ Force the output image bands to have a specific type. Use type names (i.e.
Byte
,Int16
,…)
-
-values
<n>,<n>,<n>
¶ A list of target pixel values in the source image to be considered target pixels. If not specified, all non-zero pixels will be considered target pixels.
-
-distunits
PIXEL|GEO
¶ Indicate whether distances generated should be in pixel or georeferenced coordinates (default PIXEL).
-
-maxdist
<n>
¶ The maximum distance to be generated. The nodata value will be used for pixels beyond this distance. If a nodata value is not provided, the output band will be queried for its nodata value. If the output band does not have a nodata value, then the value 65535 will be used. Distance is interpreted in pixels unless -distunits GEO is specified.
-
-nodata
<n>
¶ Specify a nodata value to use for the destination proximity raster.
-
-use_input_nodata
YES/NO
¶ Indicate whether nodata pixels in the input raster should be nodata in the output raster (default NO).
-
-fixed-buf-val
<n>
¶ Specify a value to be applied to all pixels that are within the -maxdist of target pixels (including the target pixels) instead of a distance value.


Rafael Ribeiro @rafael.ribeiro 31m
Bulma is a free, open source CSS framework based on Flexbox .
Rafael Ribeiro @rafael.ribeiro 31m
Bulma is a free, open source CSS framework based on Flexbox .
1
2
3
4
1
2
3
4
5
Modal with image


Edirorial: Poison
One hopes that at long last all of us have understood the significance of not poisoning closed spaces with the harmful substances of tobacco.
by TANEA TeamIt is an embarrassment for Greece that it took over a decade before there were faint indications of the prospect of definitively enforcing the ant-smoking law.
It does not do honour to Greece that the law was not enforced. It was one of many inactive laws in this country.
Έγκλημα στο Κορωπί : «Ακούω τη φωνή της να ζητάει βοήθεια»
Everywhere else in the world the ant-smoking law is enforced without heavy smokers demanding the right to satisfy their desires.
The delay in enforcing the anti-smoking law does not do honour to our country because all of us – smokers and non-smokers – are aware of and recognise the deleterious effects of smoking on each of us individually and more generally on public health.
In that respect, the PM’s reminder that the enemy is not smokers and tobacco should be needless.
No effort to persuade should have been necessary to demonstrate the need to enforce this law in particular.
One would hope that this discussion will soon be a thing of the past.
One hopes that at long last all of us have understood the significance of not poisoning closed spaces with the harmful substances of tobacco.
Public opinion appears mature and ready. What is needed now is for professional restaurateurs and owners of entertainment clubs to prove that they do not put profit so much above the health of their customers and of their own.


| ||||||||
| PREV DIAGRAM NEXT DIAGRAM | FRAMES NO FRAMES |
| Class Summary | |
| TOmniHeuristicDataManager | Data manager for unbounded data. |
| TOmniDataManager | Data manager. All methods can and will be called from multiple threads at the same time! |
| TOmniValueEnumeratorProvider | TOmniValue source provider supporting mutable collections and parallel enumerators. |
| TOmniCountableDataManager | Data manager for countable data. |
| TOmniOutputBufferImpl | Output buffer implementation. |
| TOmniIntegerRangeProvider | Integer range source provider. |
| TOmniBaseDataManager | Base data manager class. |
| TOmniValueEnumeratorDataPackage | Data package storing a list of TOmniValues. |
| TOmniDataPackageBase | Base class for all data package classes. |
| TOmniLocalQueue | A data package queue between a single worker and shared data manager. |
| TOmniDataPackage | Wrapper around a (type specific) data package. All methods can and will be called from multiple threads at the same time! |
| TOmniIntegerDataPackage | Integer range data package. |
| TOmniOutputBufferSet | |
| TOmniSourceProviderBase | |
| TOmniEnumeratorProvider | |
| TOmniSourceProvider | Wrapper around the data source. All methods can and will be called from multiple threads at the same time! |
| TOmniLocalQueueImpl | Local queue implementation. |
| TOmniOutputBuffer | Output data buffer. |
| Typedef Summary | |
| TOmniDataManagerOptions | |
| TOmniSourceProviderCapabilities |
| Enum Summary | |
| TOmniSourceProviderCapability | Source provider capabilities. |
| TOmniDataManagerOption |
| Struct Summary | |
| TOmniPositionRange |
| Unit Summary | |
| globals OtlDataManager |
| ||||||||
| PREV DIAGRAM NEXT DIAGRAM | FRAMES NO FRAMES |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/quick.20links.20for.20continuous.20integration.3F.html ---
I'd love to have a way to get to the continuous integration results for a branch, perhaps from the command line or from VS Code. Does anyone know a solution?
At present I'm manually loading github in a browser, finding that branch, then clicking on the little red X. Typing 'ci' on the command line and having that page pop up, or having that little red X show up in VS Code, would be infinitely more awesome. :-)
You can get this info from the check-runs
endpoint of the Github v3 API:
curl -H "Accept: application/vnd.github.antiope-preview+json" \ # replace "XXXX" with a personal access token from https://github.com/settings/tokens or omit this line -H "Authorization: token XXXX" \ # replace "master" with the branch name or commit SHA of your choice https://api.github.com/repos/leanprover-community/mathlib/commits/master/check-runs
This returns a JSON object with a field check_runs
containing an array of objects whose html_url
fields contain links to the Github actions results pages.
It should be possible to make a convenient CLI tool around this (maybe there's already one out there?)... but I'm out of energy for now.
Ah, indeed, hub will do this:
$ git status On branch prod-map Your branch is up to date with 'community/prod-map'. nothing to commit, working tree clean $ hub ci-status -v ✔ Build mathlib https://github.com/leanprover-community/mathlib/runs/546894771 ✔ Rule: automatic merge on CI success and review - push (delete_head_branch) https://github.com/leanprover-community/mathlib/runs/547235491 ✔ Rule: automatic merge on CI success and review - push (merge) https://github.com/leanprover-community/mathlib/runs/547235581 ✔ Summary https://github.com/leanprover-community/mathlib/runs/546895846
Amazing!
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


A Song of Ascents. By David.
1 Yahweh, my heart isn’t arrogant, nor my eyes lofty;
nor do I concern myself with great matters,
or things too wonderful for me.
2 Surely I have stilled and quieted my soul,
like a weaned child with his mother,
like a weaned child is my soul within me.
3 Israel, hope in Yahweh,
from this time forward and forever more.


We monetize networks!
- exploit holistic e-commerce
- cultivate rich web services
- exploit enterprise e-tailers
- mesh open-source methodologies
- scale 24/365 niches
- facilitate bricks-and-clicks systems
- whiteboard distributed solutions
- e-enable turn-key web services
- innovate transparent e-tailers
- matrix virtual communities
- cultivate magnetic web-readiness
- incubate 24/365 bandwidth


--- layout: home author_profile: true paginate: 5 # amount of posts to show paginate_path: /page:num/ ---
Archivis.me is the personal website of Antonizoon (Lawrence Wu), a renegade archivist, self-taught programmer, and head archivist at the Bibliotheca Anonoma.
Topics on this website range from a personal profile, programming/modding projects (and mishaps), device/game/show reviews, and philosophical tripe.
Topics concerning the Bibliotheca Anonoma can be found at the Official BA Blog.
Topics concerning the archival efforts of the Bibliotheca Anonoma Software Liquidation Commission (BASLQC) can be found at the BASLQC Blog.


Do I really need to worry about the department itself?
Absolutely! No matter where you go to school, your major is determined by the faculty that comprise that particular department. These professors are the individuals whom you will spend a lot of time with in classes, laboratories and in completing homework assignments and projects. They help to shape your future and take great interest in their students.
You’ll find SVSU’s Department of Computer Science & Information Systems is staffed by qualified, competent professionals who are committed to teaching and research. We are here to help you grow and succeed in your academic and professional career. Our class sizes are small compared to other institutions and you’ll get to know and work with the CSIS faculty one-on-one. This helps to foster a learning environment aimed at student success.
Here are some of the reasons why SVSU’s CSIS Department is superior to other institutions:
1) Quality Instruction
Faculty have the necessary education and experience to bring real world knowledge into their classrooms. SVSU prides itself on being a teaching institution and the Department continually strives to provide the best instruction on campus. Our programs and our curriculum are continually evaluated and change as the computing field and industry evolve. We put a lot of effort into trying to keep our programs as up-to-date as possible and bring in new technology wherever we can.
2) Capstone Projects
How would you like to work on a real-world project while still an undergraduate? That’s exactly what the capstone projects in each major do. When you are a senior you’ll find out what it’s really like to be in industry because you’ll be building up a large scale system under the guidance of a CSIS faculty member. Few other institutions afford their students this unique learning opportunity.
3) Computer Laboratories
You’ll find that the university provides numerous computer labs throughout the campus that are automatically updated with the newest equipment every two to three years. Additionally, the CSIS Department has specialized labs for computer networking, computer forensics and capstone classes/projects. Furthermore most faculty use the online VSpace electronic learning environment to enrich your education.
4) Use of the Latest Software
The Department provides hands-on instruction using the latest and most popular software packages available, including both open source and commercial systems such as Visual Studio, PHP, C++, Linux, Windows, IIS, Apache, Microsoft Project, Visio, mySQL, Oracle, SQL Server, Expression Studio and DreamWeaver
5) Tutoring/Advising
Need some extra help? We have tutors available to help students out when they need it. The caring faculty of the Department also maintain regular office hours and are ready to assist whenever called upon. We also work with students in planning their schedules through one-on-one advising as well as offering career information.
6) Free Student Access to Software
The CSIS Department uses open source software where applicable and students may freely download the same software for their personal computers. The Department also participates in the Microsoft Academic Alliance which means that students have free access to the same applications, development tools, operating systems and server software for their personal computers as that used in classes and labs.
7) Preparation for Graduate School
We have had many students interesting in going on to grad school. Those students who did pursue higher education found that they were well prepared from their undergrad studies. Many faculty provide opportunities for students to participate in research projects and/or independent studies that allow students to further pursue their personal interests. Students receive shared credit for the research and often present at conferences.
8) Networking with Industry
The Department maintains close ties to local industry. This means that CSIS students have the ability to land internships, co-op positions and part-time employment in their field while still an undergraduate. In addition to a paycheck, the experience this opportunity provides goes a long way toward landing that first job after graduation. Many employers also contact the Department directly when they are looking to hire new recruits for full time positions.
9) Student Networking
Want more face-to-face time with your peers? The Department has an active student chapter of the Association for Computing Machinery (ACM). This group puts on numerous talks, training sessions and gaming nights each year as well as hosting the annual high school programming contest. The ACM is a professional society and becoming active as a student looks great on your resume. You may even consider sharpening your leadership skills by becoming a board member of the chapter.


---
layout: basic-page
title: Course
display-title: "GCS StuCo F19: Game Creation for People Who Want to Create Games (98-127)"
top-img: StuCo_1_cropped.png
top-img-pos: 51%;
---
Course Description
In this course students will learn the basics of game creation.
The course is intended for both beginners and experienced game designers.
In addition to project work done in class, students will learn fundamental tools like Unity.
The intent of this course is to expand the community of game makers at CMU to those who are interested in making games but may not have had the inclination to pursue it through more intensive means such as G.C.S. or Ideate.
The course also serves as an additional place for those already involved in the community to learn and collaborate.
Tutorials and projects done in the student organization Game Creation Society will mirror and compliment work done in class.
This is the Spring 2019 iteration of the course. For the most recent iteration see This Link.
StuCo
Wednesdays @6:30-8:20pm
WEH 5202
Office Hours
Sundays @2:00-6:00pm
WEH 5202 & 5207
Instructors
Adrian Biagioli
Carter Williams
Schedule
Lecture 1: Introduction
Slides (pdf)
Lecturer: Adrian & Carter
- What is Game Design? What does Game Development Entail?
- A brief overview of the course and course procedures
Lecture 2: A First look at Unity
Lecture Notes (pdf), Base Code (unitypackage)
Lecturer: Adrian
- Understand what a Game Engine is, and why we use the Unity game engine
- Utilize common Unity editor functionality and navigate scenes
- Understand Unity’s high level architecture: the Scene Graph and GameObjects
- Utilize the inspector to design levels, given art assets and scripts
Lecture 3: Wrangling Unity
Lecture Notes (pdf), Base Code (unitypackage)
Lecturer: Adrian
- Create C# scripts in the Unity editor, edit them, and apply them to GameObjects as Components
- Understand the basics of Unity’s MonoBehaviour: Start(), Update(), and more
- Add easy-to-use interfaces to your component in the Unity Inspector, enabling artists and level designers to tweak parameters in your Unity code.
- Allow your scripts to interoperate with other Components (of your own creation or Unity’s)
- Use Prefabs to dynamically create GameObjects in your scripts
Lecture 4: The Asset Pipeline and You
Lecturer: Carter
- Technical introduction to Photoshop, an image editing tool
- What is an alpha channel? What are layers?
- Survey of common Photoshop operations / tools
- Technical introduction to Audacity, a free sound editing software package
- Optimizing game assets: Importing image and audio files files into Unity
Lecture 5: Move it: Animations in Animate CC and Unity
Lecturer: Carter
- Technical introduction to Adobe Animate, a 2D animation suite
- What is keyframing? What is a sprite sheet?
- Importing animations to Unity: How to manage sprite sheet import settings
- Brief introduction to Unity’s mecanim animation system
Lecture 6: 3D Modeling in Blender
Lecture Notes (pdf)
Lecturer: Adrian
- Understand the basics of the Blender user interface
- Build 3D models using local mesh editing tools
- Utilize global mesh editing tools (Modifiers)
- Map a texture to a 3D Model using UV unwrapping
- Export 3D models in a Unity-optimized format
Lecture 7: UI Development in Unity
Lecturer: Carter
- Deep dive into Unity’s UI system: the Canvas component, Rect Transforms, and more.
- Maintaining resolution independence with the Canvas Scaler
- Managing complex UI transitions via Mecanim
- Executing UI skills by implementing UI functionality in an existing game
Lecture 8 / Midterm: Writing a Game Design Document
Slides (pdf), Template (pdf)
Lecturer: Adrian & Carter
- What is a Game Design Document?
- Major elements: Goals, Narrative, Gameplay Systems, Art Style, Technical / Organizational implementation
- Exploring and critically analyzing GDDs from real games
- Midterm Assignment: Write a Game Design Document for your term project
Course Goals
- Learn the basic tools of Game Development
- Learn the fundamentals of Design and Game Feel
- Explore the various disciplines involved in Game Creation
- Create a working game that demonstrates these principles
Office Hours
Every Sunday (starting February 3rd) from 2:00-5:30pm, GCS holds open office hours in Wean 5421, where teams come to work in a collaborative environment. Students in the StuCo are also encouraged to come, especially while working on the two main course assignments, as listed below.
Mid-semester Assignment: Design Document
The mid-semester assignment is an original detailed design document. Students will have to reason about scope, game loops, and detailed mechanic descriptions. The assignment is meant to make students think carefully about all the parts of a game. It is also an opportunity to be creative and express the ideas that you would like to see in a game. Time in class will be allocated to work on this, but students are encouraged to work on it outside of class if they feel inspired.
Final Project
Students will team up to collaborate on a final project. Using supplied behaviours, images, and sounds, students will build a game. The design is up to the students and serves as a chance for students to demonstrate the principles covered previously in class. Making a game is a laborious enterprise even with assets from the instructors, so students are encouraged to meet and work outside of class.
Course Resources
Syllabus
Schedule